Showing posts with label SCADA. Show all posts
Showing posts with label SCADA. Show all posts

Thursday, August 13, 2015

Kurumsal Kaynak Planlama Yazılımı (ERP) güvenliği

İş hayatına ilk başladığım yıllarda ERP çok moda bir kelimeydi. Şirketler kurumsal kaynak planlama yazılımlarına yatırım yapıyor, fabrikalardaki süreçler bunlara aktarılıyor ve patronlar oturdukları yerden üretimi, satışları ve finansal durumu “anında” görüyorlardı. “Anında” diyorum çünkü bu şimdiki haliyle “anında” kavramından ziyade Müdürlerden birinin “kimse işlem yapmasın rapor çalıştıracağım” diye yaptığı bir uyarının ardından geçen 1-2 saatlik zaman dilimiydi.



Bugün geldiğimiz noktada “patron” durumu gerçekten anında görebiliyor. ERP yazılımlarının güvenliği ise, o yıllarda kimsenin umurunda olmayan bir konuyken, bugün güvenlik alanında çalışanların ciddi kafa yormasına neden olmaktadır.
ERP güvenliği neden zor?
Bütün yazılımlarda bulunan güvenlik zafiyetlerine ek olarak ERP yazılımlarının güvenlik açısından daha da zor bir konu haline gelmesine neden olan birkaç önemli nokta vardır;
  1. ERP yazılımların karmaşık yapıları vardır
  2. ERP yazılımları dış dünyadan yalıtılmıştır
  3. Ağ katmanından uygulama katmanına kadar pek çok zafiyetten etkilenirler
  4. Ya hiç ya da çok seyrek güncellenirler
KDBA 12 cilt tekmili birden 
Buna karşılık KDBA (Kulaktan Dolma Bilgiler Ansiklopedisi) kaynaklı bazı argümanlar ağ/sistem yöneticilerinin bir kısmının bu güvenlik sorunlarını görmezden gelmelerine neden olmaktadır.
  1. Dış dünyayla bağlantısı olmadığı için ERP internet kaynaklı saldırılardan etkilenmez
  2. ERP üreticisi firma güvenliği zaten sağlar
  3. Kimse bize özel yazılmış bir modülde zafiyet aramakla uğraşmaz
  4. Her kullanıcın yapabilecekleri zaten sınırlı
KDBA Cilt 1: Dış dünyayla bağlantısı yok
Kötü haberi hemen vereyim, aslında var. ERP yazılımınız doğrudan internete veya VPN ile başka bir ofise/fabrikaya bağlı olmayabilir, ama yazılımı kullandığınız ağ internete bağlı. 2015 yılında “o internete bağlı” değil demek, son derece özel bir kullanım şekliniz yoksa (örn: bütün sistem hiç bir yere bağlı olmayan tek bir bilgisayar üzerinde çalışmıyorsa) büyük ihtimalle ucundan/kıyısından internete bağlısınız. Bu durumda saldırganların ERP yazılımınıza giden bir yol bulması ve bunu kullanarak bu yazılımınızı hedef almaları pekala mümkün olacaktır.
Gelişen iş yapış biçimleri nedeniyle bazı durumlarda uygulamanın doğrudan internete açılması da gerekebilir. Bu durumda ERP yazılımı, internet uygulamalarına karşı gördüğümüz saldırıların tamamından etkilenecektir. İnternet üzerinden erişilebilir durumda olan bir ERP yazılımının kullanıcılarının sosyal mühendislik saldırılarının hedefi olacağını da burada belirtmekte fayda var.
KDBA Cilt 2: ERP Üreticisi firma güvenliği zaten sağlar
Kötü haber var, daha kötü haber var. Kötü haber; hayır ERP üreticisi güvenliği sağlamıyor. Daha kötü haber; çoğu lisans anlaşmasında ERP üreticisi firmanın böyle bir sorumluluğu da yok. Peki bu ERP yazılımı üreten firmanın bize istediğini satabileceği anlamına mı geliyor?
Tabii ki hayır. Yazılım üreticileri teknik aksaklıklar, yazılım ve mimari hataları düzeltmek ve bunlara karşı tedbir almak için çok sıkı çalışıyorlar zaten.
Ancak bunların dışında kalan aşağıdaki konular büyük ölçüde ERP yazılımını kullananların sorumluluğundadır:
  • Kurulum sırasında yapılan mimari hatalar
  • Fabrika ayarlarında bırakılan konfigürasyonlar / konfigürasyon hataları
  • Kullanıcı hataları
  • Yama ve güncellemelerin yapılması
  • Eksik/yanlış politika ve süreçler
Kısaca ERP yazılımını üreten firma size güvenli bir yazılım teslim etse bile kurulum, konfigürasyon ve kullanım sırasında yapılabilecek hatalar güvenlik zafiyetlerine neden olabilir.
KDBA Cilt 3: Kimse bize özel yazılmış bir modülde zafiyet aramakla uğraşmaz
Öyle ya Windows işletim sisteminde bir zafiyet bulup şan, şöhret ve para kazanmak dururken kim bizim ABAP’ta haftalarca uğraşıp zar zor yazdığımız bu modülle uğraşsın? İşin gerçeği bir saldırganın kendi kullanımınız için geliştirdiğiniz bir modülde zafiyet bulması Windows gibi bir sistemde zafiyet bulmasından çok daha kolaydır. ERP yazılımlarının da kurumsal bütçeye yakın uygulamalar olmaları (dolayısıyla para çalmak isteyen bir saldırgan için cazip bir hedef) bu uğraşı haklı çıkartacaktır. Önceki iki varsayımın sonucu olarak çoğu ERP yazılımı ve modülü günümüz saldırganları tarafından kullanılan tekniklere karşı oldukça savunmasızdır. Windows, MAC OS, Linux, iOS gibi yaygın işletim sistemleri üzerinde binlerce kişi her gün zafiyetler ararken bu taramadan hiç geçmemiş, dolayısıyla hiç bir açığı tespit edilip kapatılmamış modülünüz büyük ihtimalle saldırgan karşısında fazla dayanamayacaktır.
KDBA Cilt 4: Her kullanıcın yapabilecekleri zaten sınırlı
Görevler ayrılığı ilkesi gereği her kullanıcının yetkilerini özel olarak ayarlamış olabilirsiniz. Bu zaten yapılması gereken birşey ve, ne yazık ki, tek başına bir güvenlik tedbiri sayılamaz. OWASP tarafından yayınlanan Kurumsal uygulama güvenlik zafiyetleri Top 10 listesi (OWASP Enterprise Application Security Project) tarafından ortaya konulan en yaygın olarak görülen güvenlik zafiyetleri listesinde kullanıcı hakları yönetiminden kaynaklı zafiyetler ancak üçüncü sırada yer almaktadır. Yama ve güncellemelerin yapılmaması ve fabrika çıkışı (default) parola kullanımı çok daha büyük sorunlardır.
ERP güvenliğinin zorlukları
Başta söylediğim gibi ERP yazılımları karmaşık yapılar üzerine kuruludur ve karmaşık olan herşeyin güvenliğinin sağlanması zordur. ERP güvenliği için yapılabilecek 5 basit şey sıralamak gerekirse aşağıdaki liste bize bir ölçüde yol gösterecektir.
1. Güvenli bir ERP yazılımı bulmak: Çoğu üreticinin yazılımları nispeten güvenlidir. Size özel gelişitirilen veya sizden başka çok az kullanıcısı olan yazılımlarının güvenliği konusunda endişeleriniz varsa yazılımı almadan önce tarafsız bir şirketten yazılım güvenliğine ve performansına ilişkin testlerin yapılmasını ve bulunan zafiyetlerin giderilmesini talep edebilirsiniz.
2. Güvenli bir kurulum yapmak
Yazılımın kurulacak ağ mimarisinin güvenli olması, yazılımın çalışacağı sunucuların işletim sistemlerinin güvenliği, fabrika çıkışı kullanıcı adları ve parolaların değiştirilmesi, üretici tarafından sunulan ek güvenlik seçenekleri/modülleri varsa bunların devreye alınması gibi konular titizlikle ele alınmalıdır.
3. Yazılımı yönetenlerin eğitimini sağlamak
ERP yazılımı üzerinde hangi değişikliklerin nasıl yapılacağının belirlenmesi, hangi kullanıcıların hangi yetkilerle bu yazılıma erişebileceği, uzaktan erişim şartlarının ne olduğu, kullanıcı davranışlarının ve veri tabanı hareketlerinin nasıl izleneceği gibi konular ele alınmalıdır.
4. Kullanıcı farkındalığının artırılması
Kullanıcıların oltalama saldırıları gibi sosyal mühendislik saldırılarına karşı bilinçlendirilmesi bu saldırılara karşı alınabilecek en etkili tedbirdir. Kullanıcı eğitimlerine güvenlik konusu mutlaka dahil edilmelidir.
5. Süreçlerin sürekli denetlenmesi
ERP yazılımının, kullanıcılarının ve veritabanının sürekli izlenmesi ve saldırgan veya alışılmışın dışında gözlemlenen hareketlerin hızlıca tespit edilip gerekli müdahalelerin yapılması hayati önem taşımaktadır.

Sunday, June 15, 2014

NSA, TEMPEST, COMSEC ve İsrail'li Profesör

İngilizcesi "air-gap" olarak bilinen ve özünde korumaya çalıştığımız ağ veya sistem ile internet arasında bir "hava boşluğu" oluşturmak üzerine kurulu olan yaklaşımın son zamanlarda çeşitli şekillerde atlatılabildiği ortaya çıkmaktadır. Son olarak İsrail'de Ben-Gurion Üniversitesi Profesörlerinden Yuval Elovici bu konuda yeni bir yöntem ortaya koydu. 

Hava boşluğu yaklaşımı günümüzde aşağıdaki gibi önemli ağ ve sistemleri korumak için kullanılmaktadır:

  • Askeri/Hükümet sistemlerin güvenliği
  • Finansal/Bankacılık sistemlerin güvenliği
  • SCADA sistemleri gibi altyapı kontrolü için kullanılan sistemlerin güvenliği
  • Nükleer tesis bilgisayar sistemleri
  • Uçuş ve uçuş kontrol sistemleri
  • Bilgisayar destekli tıbbi cihazların güvenliği


Özel geliştirilmiş zararlı yazılımların megastar'ı olan Stuxnet'in hava boşluğunu USB bellek gibi taşınabilir depolama aygıtları sayesinde aştığını biliyoruz. Bu sefer ortaya konulan araştırma sonuçları ise hava boşuluğu ile sağlanan güvenliğin sistemlerin yaydığı elektromanyetik dalgalar kullanılarak atlatılabildiğini göstermektedir. 


Şekil 1: Stuxnet (temsili)

NSA'in COMSEC (Communication Security - iletişim güvenliği) altında ve "TEMPEST" kod adıyla bilinen bir program kapsamında sistemlerin yaydığı elektro-manyetik sinyallerin yakalanarak işlenmesi ve düşmanın da kendi elektro-manyetik sinyallerini yakalamasını engellemek üzerine çalıştığını biliyoruz. 

Geçtiğimiz se
nenin sonlarında Almanya'da bir araştırma biriminin iki adet Lenovo T400 laptop arasında, sadece fabrika çıkışı mikrofon ve hoparlörleri kullanarak veri alışverişi yapabilmiş olması IP dışında yöntemlerin veri sızdırılması için kullanılmasını gündeme getirmişti. Bağlantı hızı saniyede 20 bit ve uzaklık 19 metre idi ama pek çok kişinin aklında soru işaretleri oluşturmaya yetecek kadar önemli bir gelişmeydi. Bu gelişme üzerine TEMPEST'in önemi bir kez daha anlaşılmıştı. 

TEMPEST standartlarının gizli olarak sınıflandırılmış olması sebebiyle bu konuda çok detaylı bilgiye sahip değiliz, ancak NATO'nun kendi TEMPEST standartları 3 temel koruma düzeyi belirlemektedir. Bunlar; NATO SDIP-27 seviye A, B ve C (NATO SDIP-27 Level A, B and C) olarak bilinmektedir. C seviyesi düşmanın korunmassı gereken sisteme 100 metreden fazla yaklaşamadığı senaryolara göre hazırlanmıştır ve A ve B seviyelerine göre biraz daha rahattır. B seviyesi ise düşman ile en az 20 metre mesafe olan durumlara göre düzenlenmiştir. NATO SDIP-27 seviye A ise düşmanın korunması gereken sistemlere 1 metre kadar yaklaşabileceği durumlara göre hazırlanmıştır. 

Geçtiğimiz hafta ise Profesör Elovici hava boşluğu ile korunan sistemler için cep telefonlarının bir tehdit oluşturduğunu ortaya koydu. 

Oltalama (phishing) saldırısı ile akıllı telefona bulaştırılan bir zararlı yazılım bulaştığı telefonun bulunduğu ortamlarda havadaki elektro-manyetik sinyalleri taramaya başlıyor. 
Zararlı yazılım havada tespit ettiği sinyallere müdahale ederek hedef sisteme bir zararlı yazılım yüklenmesini sağlıyor. Yüklediği zararlı yazılım ile telefon arasında radyo sinyalleri kullanan bir ağ oluşturan zararlı hedef sistemden elde ettiği bilgileri cep telefonunun bağlantılarını kullanarak dışarıya aktarmakta ve aynı şekilde talimatları telefon üzerinden almaktadır. Bu saldırının teknik detaylarına tümüyle hakim olmamamıza karşılık hedef sistemin ekran kartının ve monitörünün kullanıldığını biliyoruz. 


Şekil 2: Prof. Elovici ve Ben-Gurion ÜniversitesiAraştırmacıları saldırı hakkında İsrail Cumhurbaşkanı Şimon Peres'e saldırı hakkında bilgi veriyor. (photo credit: BGU)

Profesör Elovici bu saldırılara karşı şu anda tek etkin yöntemin telefonları kapatmak olduğunu belirtiyor ancak günümüzde bunun ne kadar uygulanabilir bir çözüm olduğu tartışılır. 


Ülkemizde de Aselsan tarafından üretilen SAHAB (2180 Sanal Hava Boşluğu Sistemi) benzeri sistemler aklınıza gelebilir ancak buradaki saldırının kurumsal ağa bağlı olmayan (telefon) bir sistem ve IP protokolleri kullanılmadan (elektro-manyetik sinyaller) yapıldığı için bu çözümler yetersiz kalmaktadır. 


Kurum içerisinde cep telefonu kullanımının sınırlandırılması ve hava boşluğu ile korunan sistemlerin duvarlara, pencerelere ve internete bağlı diğer sistemlere olan uzaklığının denetlenmesi bu tür saldırıların engellenmesi için geçerli önlemlerin başında gelmektedir. 

MITRE ATT&CK Gerçek Hayatta Ne İşimize Yarar?

  Rusya kaynaklı siber saldırılar webinarı sırasında üzerinde durduğum önemli bir çalışma vardı. MITRE ATT&CK matrisini ele alıp hangi...