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.

No comments:

Post a Comment