Bilginin Adresi Ana Sayfa
Forum Anasayfası Forum Anasayfası > Bilgisayar Güvenliği / Computer Security > Güvenlik / Security Makaleleri
  Aktif Konular Aktif Konular RSS - Penetrasyon Testlerinin Eksiklikleri
  SSS SSS  Forumu Ara   Events   Kayıt Ol Kayıt Ol  GiriÅŸ GiriÅŸ

Penetrasyon Testlerinin Eksiklikleri

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
megabros Açılır Kutu Gör
Security Professional
Security Professional
Simge

Kayıt Tarihi: 08-06-2009
Konum: Turkey
Status: Aktif DeÄŸil
Points: 752
Mesaj Seçenekleri Mesaj Seçenekleri   Thanks (0) Thanks(0)   Alıntı megabros Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Penetrasyon Testlerinin Eksiklikleri
    Gönderim Zamanı: 23-08-2009 Saat 14:05

Penetrasyon Testlerinin Eksiklikleri

Günümüzde bilgi güvenliği konusunda hassasiyeti olan ve gerekli bütçeyi ayırabilen kurumlar bilgi güvenliği danışmanlığı yapan firmalarla çalışmalar yapmaktadırlar. Bu çalışmalar, penetrasyon testleri (penetration test), bilgi sistemlerinin güvenlik denetimi (security audit), geliştirilen programların kaynak kodlarının güvenlik açısından incelenmesi ve bilgi güvenliği yönetim standardlarının (ISO27001, COBIT vs) kurumda uygulanması gibi konuları içermektedir. Ülkemizde ise bu çalışmaların çoğunluğunu penetrasyon testleri oluşturmaktadır. Diğer taraftan son zamanlarda bilgi güvenliği yönetim sistemi standardlarının kurumda uygulanması konusunda da geliştirilen projelerin sayısı artmaktadır.


Bu yazıda ele almak istenilen konu bilgi sistemlerinin güvenlik açıklıklarının tespit edilmesine yönelik projelerde tercih edilen yöntem olan penetrasyon testlerinin eksiklikleri ve bu testleri de içerisinde barındıran “detaylı güvenlik denetim”lerinin (security audit) tercih edilmesi gerekliliğidir.

Bir çok penetrasyon testi çoğu kişinin bildiği gibi değerlendiricilere sadece IP bilgisi verilerek (ki bazen bu bilgi de verilmeyebiliyor) İnternet?e açık bilgi sistemlerindeki açıklıkların İnternet üzerinden sınırlı bir zaman aralığında test edilmesi şeklinde gerçekleştirilmektedir. Bu çalışmalarda temel mantık ?Acaba İnternet üzerinden bir saldırgan veya saldırganlar sistemlerimize neler yapabilir?? sorusuna cevap aramaktır.

Bazen iç tehditlerin de tespit edilmesi amacıyla kurum içerisinde herhangi bir hakkı olmayan, sadece değerlendiricilere bağlanabilecekleri bir IP numarasının verildiği penetrasyon testleri de gerçekleştirilmektedir. Yukarıda ifade edilen “detaylı güvenlik denetimi”nden kasıt ise değerlendiricilerin hem sistemleri uzaktan test etme yetkisine sahip olarak çalışabilmesi (mesela, gerekli kullanıcı profillerinin sağlanması), hem de sistemlerin konfigürasyonlarını inceleyebilecekleri bir ortamın oluşturulmasıdır.

Kurumlarca penetrasyon testlerinin tercih edilmesinin bir kaç sebebi vardır. İlk sebep, kurumların öğrenmek istedikleri noktanın “Acaba İnternet üzerinden bir saldırgan veya saldırganlar bizim sistemimize ne yapabilir?” sorusuna cevap aramakla sınırlı olmasıdır. Bu soru bilgi güvenliği ile ilgili duyarlılığın ilk seviyesini oluşturmaktadır. Bu seviyede iç tehditler, ki değişik çalışmalar iç tehditlerden dolayı ortaya çıkan güvenlik olaylarının önemli bir yer tuttuğunu göstermektedir [1, 2], göz ardı edilmektedir. İç tehditler kapsamında, sistem üzerinde değişik seviyede yetkisi olan kişilerin bilinçli ya da bilinçsiz olarak gerçekleştirebilecekleri davranışların etkileri incelenir.

 
Özellikle bilinçsiz davranışların etkilerinin gerçekten çok fazla olduğu gözlenmekte ama bu etkilerin kayıt altına alınmaması ve bilinçli davranışlar kadar çok yankı uyandırmaması nedeniyle çoğunlukla göz ardı edilmektedir. Penetrasyon testleri, ifade edilen kapsamdaki iç tehditleri tespit etmezler. Değerlendiricilere kurum içinden bağlanma hakları verilmesi durumunda bile penetrasyon testleri yetersiz kalmaktadır. Aslında yapılan penetrasyon testleri sonuçları “Acaba İnternet üzerinden bir saldırgan veya saldırganlar bizim sistemimize ne yapabilir?” sorusuna da tam cevap veremeyebilirler.
 
Çoğunlukla değerlendiriciler, sınırlı zamanda bir çok IP numarasını kara kutu (black box) mantığıyla ele alarak test ederler. Oysa bir saldırganın (çoğunlukla) zamanı sınırlı değildir ve hedefinde bir çok IP numarası olmayabilir. Hedefini tam belirlemek için bir çok IP arasından seçme işlemi yapabilir ama nitelikli bir saldırganın bu işlemin sonunda odaklandığı bir ya da bir kaç IP olacaktır. Dolayısıyla penetrasyon testleri söz konusu kısıtlar altında beklentilerin ancak belli bir bölümünü karşılayabilirler.

Penetrasyon testlerinin tercih edilmesindeki sebeplerden birisi test eden firmaya tam olarak güvenememektir. Kurumlar arası güvenin az olduğu ülkemizde kurumlar karşı tarafa mümkün olan en az bilgiyi (sadece IP bilgileri ki zaten bu bilgiler de rahatlıkla bulunabilir) vererek bir güvenlik testi yaptırmak istemektedirler ki bu amaç için penetrasyon testleri uygundur. Ama gerçekten kurumlar kendi güvenlik eksikliklerini tam tespit ettirmek istiyorlarsa güvenebilecekleri bir kuruma sistemlerin konfigürasyonlarının da inceletebilecekleri bir güvenlik denetimi yaptırmalıdırlar. Söz konusu denetimde bazı kurallar konarak ek tedbirler alınabilir. Örneğin değerlendiricilere sistem yöneticisi hakkıyla değil sadece okuma hakkıyla sistemlere bağlanma hakkı verilebilir.
 
Bazı kritik konfigürasyon bilgileri anonim hale getirilerek değerlendiricilere farklı ortamlarda (kağıt ortamında, konfigürasyonların enstantane resimleri (snapshot) halinde vs..) verilebilir. Hatta söz konusu kayıtların incelenmesinin sadece kurum ortamında yapılması ve incelemeden sonra değerlendiricilere herhangi bir bulgunun verilmemesi sağlanabilir.

Penetrasyon testlerinin tercih edilmesindeki başka bir sebep kurumun kendi sistemlerine tam güvenememesidir. Eğer söz konusu güvenlik test projesi üst yöneticilerin zorlaması ile yapılıyorsa bilgi sistemini yöneten kişiler ya da bilgi sistemlerin güvenliğinden sorumlu kişiler güvenlik projesinin kapsamını mümkün olduğunca daraltmaya çalışabilmektedirler. Penetrasyon testi de bu durumda tercih sebebi olabilmektedir.

Güvenlik test projesi fikrinin üst yönetimden gelmediği bizzat bilgi güvenliğinden sorumlu kişilerin teklifi ile oluştuğu durumlarda da ilgili kişiler kendi sistemlerine güvenmeme ama aynı zamanda eksikliklerini de tespit ettirme ikileminde kalarak nispeten dar kapsamlı olan penetrasyon testlerini tercih etmektedirler. Aslında bu durum bilgi sistem organizasyon yapısından kaynaklanan bir problemdir. Ülkemizde kurumlardaki bilgi güvenliği departmanları çoğu zaman operasyonel hizmetler de (güvenlik duvarları, IPS yönetimi, kayıt alma mekanizmalarının kurulması) görebilmektedirler.
 
Bu durumda güvenlik testi projesini yaptıran birimler aynı zamanda kendi eksikliklerinin de bulunmasını talep etmiş bulunmaktadırlar. Her birimin kendi eksikliklerinin bulunmasını talep etme özgüvenine sahip olması beklenmemelidir. “Görevler ayrılığı” ilkesi bu durumları ortadan kaldırmak için vardır. Söz konusu operasyonel hizmetler diğer operasyonel birimlerinin işi olmalı ve bilgi güvenliği departmanları sadece izleme ve denetleme fonksiyonunu icra etmelidir. Danışmanlık firmalarından alınan güvenlik testi projesini de yöneten söz konusu bilgi güvenliği departmanları olmalıdır. Ayrıca bilgi güvenliği departmanlarının “denetleme” konusunda bağımsızlığı sağlanmış olmalıdır.
 
Böyle bir ortamda bilgi güvenliği departmanı bilgi güvenliği testini mümkün olan en geniş kapsamda ele almaya çalışacaktır.

Yukarıda penetrasyon testlerinin tercih sebeplerine ve bu sebeplere kaynaklık eden problemlerin nasıl çözümlenebileceğine değinmeye çalıştım. Şimdi de penetrasyon testlerinin genel eksikliklerine değinmek istiyorum.

Güvenlik testlerinde hedeflenen temel üç nokta sistemde herhangi bir açıklığın tespit edilmesi, bu açıklığın tam olarak var olduğunun belirlenmesi ve söz konusu açıklığın sisteme etkisinin gözlenmesidir. Güvenlik testlerinin temel çıktıları ise açıklıklar ve açıklıkların kritiklik dereceleridir. Yapılan çalışmanın bir açıklık değerlendirilmesi (vulnerability analysis) olduğu varsayılırsa bu çalışmalarda kritiklik derecesi, açıklığın sisteme olan etkisine göre belirlenir.

 
Güvenlik testlerinin başarısı, gerçekte açıklık olmadığı halde açıklık olarak tespit edilen bulguların azlığı (hatalı pozitif – false positive) ve gerçekte var olan ama değerlendirici tarafından tespit edilemeyen açıklıkların azlığı (hatalı negatif-false negative) ile ölçülebilir. Ayrıca bulunan açıklıkların kritiklik derecesini sağlıklı olarak tahmin edebilmek de testlerin başarısındaki diğer önemli etkendir.

Penetrasyon testlerinin açıklık tespit edilmesi aşamasında baştan tam kapsayamadığı ana açıklık grubu lokal açıklıklardır. Değerlendiriciler, test ettikleri servislerin ya da işletim sistemlerinin ne olduklarını ve versiyonlarını tespit ettiler ise bazı lokal açıklıkların olabileceğini tahmin edebilirler. Fakat bu açıklıkların tam olarak var olduğunu ve sisteme olan etkisini tespit edemezler. Ancak uzaktan sistemde kısıtlı bir hak elde etmişler ise söz konusu lokal açıklıkları teyit etme ve etkilerini inceleme imkanına sahiptirler. Bu imkana ulaşamadılarsa ki ulaşamama ihtimali yüksektir, olabileceğini düşündükleri lokal açıklıklar sadece tahmin aşamasında kalmaktadır. Tahmin edilen bir bulgunun da test raporuna yazılması konusunda değerlendiriciler ikileme düşerler.

 
Eğer söz konusu bulgu rapora yazılırsa karşı tarafa hatalı pozitif (false positive) bir bulgu verme olasılığı çok yüksektir. Eğer yazmazlar ise test çalışmasının hatalı negatif (false negative) oranının artma ihtimali söz konusudur. Gerçekten söz konusu açıklık sistemde varsa ve değerlendiriciler bu açıklığı rapora yazacaklar ise bu sefer açıklığın etkisini tam ölçemediklerinden açıklığa yanlış kritiklik derecesi verme olasılıkları çok yüksektir.

Yukarıda bahsettiğim lokal açıklıklar için geçerli olan açıklığın tam olarak varolduğunun onaylanamaması ve etkisinin belirlenememesi aslında çoğu uzaktan kullanılan açıklıklar için de geçerlidir. Dolayısıyla penetrasyon testi yapan kişiler ne kadar uğraşırlarsa uğraşsınlar, çalışmalarındaki hatalı pozitif bulgu bulma, hatalı negatifleri tespit edememe ve hatalı kritiklik seviyesi belirleme problemlerini aşamayacaklardır. Bu problemler de çalışmanın kalitesini düşürecektir. Oysa sistemlere ve sistem bilgilerine erişilerek yapılan güvenlik denetimlerinde ifade edilen problemlerin minimum hale getirilebilme şansı vardır.

Bilgi güvenliği sağlamada aslında iç içe geçen korunma mekanizmalarından faydalanılmaktadır. Örneğin, güvenlik duvarları sistemler üzerinde erişilebilecek portları kısıtlayarak saldırganların kullanabilecekleri saldırı yüzeyini azaltırlar. Saldırı önleme sistemleri, güvenlik duvarı tarafından izin verilen ağ trafiği içerisinde bulunabilecek saldırıları engellemeye çalışırlar.

 
Host tabanlı saldırı tespit sistemleri lokalden veya uzaktan üzerinde yüklenmiş oldukları sistemlere olan saldırıları tespit ederler. Öbür taraftan sistemlerin yamaları güncellenerek güvenlik duvarını ve saldırı önleme sistemlerini atlayabilen saldırılara karşı korunma sağlanır. Sistem konfigürasyonlarında yapılan ayarlarla saldırgan sisteme kısıtlı bir hakla erişse bile sistem üzerinde tam yetkili bir kullanıcı olması engellenir. Bu tür bir konfigürasyona örnek web sunucu servislerinin sınırlı yetkiye sahip (sadece html dosyalarını okuyan, çalıştırılabilir dosyaları sadece çalıştırma hakkına sahip olan) bir kullanıcı hesabıyla çalıştırılmasıdır. Penetrasyon testlerinde test edilen nokta, tüm bu mekanizmaların hepsinin birden çökertilip çökertilemeyeceğidir.
 
Oysa güvenlik testlerinde her bir mekanizmanın kuvvetliliği ayrı ayrı test edilebilmelidir. Bu da ancak sistem bilgilerine de erişilebilen, istenilen güvenlik mekanizmasına erişme hakkı verilen detaylı bir güvenlik denetimi ile mümkündür.

Penetrasyon testi gerçekleştirenlerin karşılaştığı problemlerden birisi de karşı sistemlere önemli zararlar verme olasılığıdır. Çoğunlukla danışman firmalar ile yapılan sözleşmelerde danışman firmalardan penetrasyon testi yapılması fakat sistemlere zarar verilmemesi istenmektedir.

Değerlendiriciler bu durumda yine büyük bir ikilemde kalmaktadırlar. Var olduğu konusunda şüphelendikleri ama sisteme zarar verme ihtimali olan saldırıları deneyip denememe konusunda karar verememekte ve çoğunlukla risk almayıp ya söz konusu açıklığı raporlarına yazmamakta ya da hatalı pozitif olma ihtimali olan bu açıklığa raporlarında yer vermektedirler. Sistem konfigürasyon bilgilerine ulaşılarak yapılan testlerde açıklıkların var olma bilgisinin garanti edilmesi daha kolay gerçekleştirilebilmekte ve etkilerinin tahmin edilebilirliği daha fazla olmaktadır.

Penetrasyon testlerinin sistem güvenliğinin kontrol edilmesinde önemli bir yeri vardır ama yukarıda ifade edilen eksiklikleri nedeniyle detaylı güvenlik denetimleri tercih edilmelidir.

Hatta son yıllarda gelişmiş ülkelerde detaylı güvenlik denetimlerinin daha da ilerisinde açıkların çoğunun geliştirilen uygulamalarda (özellikle web uygulamalarında) olduğu gerçeğine dayanılarak uygulamaların kaynak kodlarının güvenlik açısından değerlendirilmesi de önemli bir unsur haline gelmiştir.
 
 Kredi kartı bilgisi işleyen kuruluşlar için oluşturulan PCI (Payment Card Industry) standardının yeni versiyonunda (versiyon 1.1) web uygulama yazılımlarının kaynak kodunun incelenmesinin gerekliliği ile ilgili madde konmuştur. Dünyada trend kaynak kodlarının incelenmesine kayarken yapılan güvenlik testleri penetrasyon testleri ile sınırlandırılmamalıdır.
 
Saygılar..


Düzenleyen megabros - 23-08-2009 Saat 14:05
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu Gör



Bu Sayfa 0.214 Saniyede Yüklendi.