Penetrasyon testi - Penetration test

Halk arasında kalem testi veya etik bilgisayar korsanlığı olarak bilinen bir sızma testi , bir bilgisayar sisteminde, sistemin güvenliğini değerlendirmek için gerçekleştirilen yetkili bir simüle edilmiş siber saldırıdır ; bu, bir güvenlik açığı değerlendirmesiyle karıştırılmamalıdır . Test, yetkisiz tarafların sistemin özelliklerine ve verilerine erişim sağlama potansiyeli de dahil olmak üzere zayıf yönleri (güvenlik açıkları olarak da adlandırılır) belirlemek ve güçlü yönlerin yanı sıra tam bir risk değerlendirmesinin tamamlanmasını sağlamak için gerçekleştirilir.

Süreç tipik olarak hedef sistemleri ve belirli bir hedefi tanımlar, ardından mevcut bilgileri gözden geçirir ve bu hedefe ulaşmak için çeşitli yollar üstlenir. Bir sızma testi hedefi, beyaz bir kutu (testçiye önceden hangi arka plan ve sistem bilgisinin sağlandığı hakkında) veya bir kara kutu (şirket adı dışında yalnızca temel bilgilerin (eğer varsa) sağlandığı) olabilir. Gri kutu sızma testi, ikisinin birleşimidir (hedefle ilgili sınırlı bilginin denetçiyle paylaşıldığı durumlarda). Sızma testi, bir sistemin saldırıya açık güvenlik açıklarını belirlemeye ve ne kadar savunmasız olduğunu tahmin etmeye yardımcı olabilir.

Sızma testinin ortaya çıkardığı güvenlik sorunları sistem sahibine bildirilmelidir. Sızma testi raporları ayrıca kuruluş üzerindeki olası etkileri değerlendirebilir ve riski azaltmak için karşı önlemler önerebilir.

Birleşik Krallık Ulusal Siber Güvenlik Merkezi , sızma testini şu şekilde tanımlamaktadır: "Bir BT sisteminin güvenliğinin bir kısmını veya tamamını ihlal etmeye çalışarak, bir rakibin kullanabileceği aynı araçları ve teknikleri kullanarak, bu sistemin güvenliği konusunda güvence elde etmek için bir yöntem."

Bir sızma testinin hedefleri, herhangi bir angajman için onaylanmış etkinliğin türüne bağlı olarak değişir; birincil hedef, kötü niyetli bir aktör tarafından kullanılabilecek güvenlik açıklarını bulmaya ve müşteriyi bu güvenlik açıkları hakkında önerilen azaltma stratejileriyle birlikte bilgilendirmeye odaklanmıştır.

Sızma testleri, tam güvenlik denetiminin bir bileşenidir . Örneğin, Ödeme Kartı Sektörü Veri Güvenliği Standardı , düzenli bir programda ve sistem değişikliklerinden sonra sızma testi yapılmasını gerektirir.

Sızma testleri yapmak için çeşitli standart çerçeveler ve metodolojiler mevcuttur. Bunlara Açık Kaynak Güvenlik Testi Metodolojisi El Kitabı (OSSTMM), Sızma Testi Yürütme Standardı (PTES), NIST Özel Yayını 800-115, Bilgi Sistemi Güvenlik Değerlendirme Çerçevesi (ISSAF) ve OWASP Test Kılavuzu dahildir.

Kusur hipotez metodolojisi olan sistem analizi hipotez listesi ve penetrasyon tahmin tekniği kusurları bir de yazılım sisteminin analizi yoluyla derlenmektedir şartname sistemi ve dokümantasyon. Varsayımlanan kusurların listesi daha sonra, bir kusurun gerçekten var olduğuna dair tahmin edilen olasılık temelinde ve kontrol veya uzlaşma derecesinde ondan yararlanma kolaylığı temelinde önceliklendirilir. Öncelikli liste, sistemin gerçek testini yönlendirmek için kullanılır.

Tarih

1960'ların ortalarında, kaynakları iletişim hatları üzerinden erişilebilir kılan zaman paylaşımlı bilgisayar sistemlerinin artan popülaritesi, yeni güvenlik endişeleri yarattı. Bilim adamları Deborah Russell ve GT Gangemi Sr.'nin açıkladığı gibi, "1960'lar bilgisayar güvenliği çağının gerçek başlangıcı oldu."

Örneğin Haziran 1965'te, ABD'nin önde gelen bilgisayar güvenliği uzmanlarından birkaçı, sistem güvenliği üzerine ilk büyük konferanslardan birini düzenledi ve bu konferansta hükümet yüklenicisi System Development Corporation (SDC) ev sahipliği yaptı . Konferans sırasında birisi, bir SDC çalışanının SDC'nin AN/FSQ-32 zaman paylaşımlı bilgisayar sistemine eklenen çeşitli sistem güvenlik önlemlerini kolayca zayıflatabildiğini kaydetti . Daha fazla sistem güvenliği çalışmasının faydalı olması umuduyla katılımcılar, "...zaman paylaşımlı sistemde güvenlik korumasının kırılması gibi alanlarda çalışmalar yapılması" talebinde bulundular. Başka bir deyişle, konferans katılımcıları, sistem güvenliğini incelemek için bir araç olarak bilgisayar penetrasyonunu kullanmak için ilk resmi taleplerden birini başlattılar.

Bahar 1967 Ortak Bilgisayar Konferansı'nda, birçok önde gelen bilgisayar uzmanı sistem güvenliği endişelerini tartışmak için tekrar bir araya geldi. Bu konferans sırasında, bilgisayar güvenlik uzmanları Willis Ware , Harold Petersen ve Rein Turn, tümü RAND Corporation ve Ulusal Güvenlik Ajansı'ndan (NSA) Bernard Peters, bir bilgisayara karşı bir saldırıyı tanımlamak için "sızma" ifadesini kullandılar. sistem. Ware, bir makalede ordunun uzaktan erişilebilen zaman paylaşımlı sistemlerine atıfta bulunarak, "Bu tür bilgisayar sistemlerine kasıtlı olarak sızma girişimlerinin beklenmesi gerektiği" uyarısında bulundu. Meslektaşları Petersen ve Turn, çevrimiçi iletişim sistemlerinin "kasıtlı sızma" da dahil olmak üzere "gizliliğe yönelik tehditlere karşı savunmasız" olduğunu gözlemleyerek aynı endişeleri paylaştılar. NSA'dan Bernard Peters da aynı noktaya değindi ve bilgisayar girdi ve çıktısının "... nüfuz eden bir programa büyük miktarda bilgi sağlayabileceğini" vurguladı. Konferans sırasında, bilgisayar sızması resmi olarak çevrimiçi bilgisayar sistemlerine yönelik büyük bir tehdit olarak tanımlanacaktı.

Bilgisayar sızmasının yarattığı tehdit, 1967 sonlarında Amerika Birleşik Devletleri Savunma Bakanlığı (DoD) tarafından düzenlenen büyük bir raporda özetlendi . Esasen, Savunma Bakanlığı yetkilileri, NSA, CIA , Savunma Bakanlığı, akademi ve endüstri, zaman paylaşımlı bilgisayar sistemlerinin güvenliğini resmi olarak değerlendirmek için. Görev gücü, 1967 Baharı Ortak Bilgisayar Konferansı sırasında sunulan birçok makaleye dayanarak, bilgisayar sızmasının sistem güvenliğine yönelik tehdidini büyük ölçüde doğruladı. Ware'in raporu başlangıçta sınıflandırıldı, ancak ülkenin önde gelen bilgisayar uzmanlarının çoğu, çalışmayı bilgisayar güvenliği konusunda kesin belge olarak hızla belirledi. Charles Babbage Enstitüsü'nden Jeffrey R. Yost , daha yakın bir zamanda Ware raporunu "...kendi döneminin güvenli bilgi işlem sistemlerine ilişkin teknik ve operasyonel konularda açık ara en önemli ve kapsamlı çalışma" olarak tanımladı. Aslında, Ware raporu, yeni çevrimiçi zaman paylaşımlı bilgisayar sistemlerine bilgisayar sızmasının yarattığı büyük tehdidi yeniden doğruladı.

Sistem zayıflıklarını daha iyi anlamak için, federal hükümet ve müteahhitleri , sistem güvenliğini test etmek için bilgisayar sızmasını kullanmak üzere kaplan ekipleri olarak bilinen sızma ekipleri oluşturmaya başladı . Deborah Russell ve GT Gangemi Sr., 1970'lerde "...'kaplan takımları'nın bilgisayar sahnesinde ilk kez ortaya çıktığını belirttiler. Kaplan takımları, bilgisayar sistemlerinin savunmasını bir anda yıkmaya çalışan hükümet ve endüstri destekli kraker takımlarıydı. güvenlik açıklarını ortaya çıkarma ve sonunda düzeltme çabası."

Bilgisayar güvenliği tarihi konusunda önde gelen bir akademisyen olan Donald MacKenzie, benzer şekilde, "RAND, hükümet adına erken zaman paylaşımlı sistemlerin bazı sızma çalışmaları (bilgisayar güvenlik kontrollerini atlatmaya yönelik deneyler) yapmıştır." Charles Babbage Enstitüsü'nden Jeffrey R. Yost, bilgisayar güvenliği tarihi üzerine kendi çalışmasında, aynı zamanda hem RAND Corporation'ın hem de SDC'nin "ilk sözde 'sızma çalışmaları' ile sızmayı denemek için uğraştığını kabul ediyor. güvenlik açıklarını test etmek için zaman paylaşımlı sistemler." Neredeyse tüm bu erken çalışmalarda, kaplan ekipleri, ülkenin zaman paylaşımlı sistemleri zayıf savunmaya sahip olduğundan, hedeflenen tüm bilgisayar sistemlerine başarılı bir şekilde girdi.

İlk kaplan ekibi eylemleri arasında, RAND Corporation'daki çabalar, sistem güvenliğini değerlendirmek için bir araç olarak penetrasyonun yararlılığını göstermiştir. O sırada, bir RAND analisti, testlerin "...uygulanan veri güvenliği önlemlerinin etkinliğini ve yeterliliğini değerlendirmek için bir araç olarak sisteme sızmanın pratikliğini gösterdiğini" belirtti. Ek olarak, bazı RAND analistleri, penetrasyon testi uygulamalarının hepsinin, sürekli kullanımını haklı çıkaran çeşitli faydalar sunduğunda ısrar etti. Bir makalede belirttikleri gibi, "Bir nüfuz eden, işletim sistemi zayıflıkları ve eksikliklerini ararken, taklit edilmesi zor olan şeytani bir zihin çerçevesi geliştiriyor gibi görünüyor." Bu ve diğer nedenlerden dolayı, RAND'daki birçok analist, sistem güvenliğini değerlendirmedeki yararları için penetrasyon tekniklerinin sürekli olarak araştırılmasını tavsiye etti.

Muhtemelen bu oluşum yıllarında önde gelen bilgisayar sızma uzmanı, sistem güvenliğini incelemek için NSA, RAND ve diğer devlet kurumlarıyla birlikte çalışan James P. Anderson'dı. 1971'in başlarında, ABD Hava Kuvvetleri, Anderson'ın özel şirketiyle Pentagon'daki zaman paylaşım sisteminin güvenliğini incelemesi için anlaştı. Anderson, çalışmasında, bilgisayar penetrasyonunda rol oynayan bir dizi önemli faktörü özetledi. Anderson, genel bir saldırı dizisini adım adım tanımladı:

  1. Kullanılabilir bir güvenlik açığı bulun.
  2. Etrafında bir saldırı tasarlayın.
  3. Saldırıyı test edin.
  4. Kullanımda bir hattı ele geçirin.
  5. Saldırıya girin.
  6. Bilgi kurtarma için girişten yararlanın.

Zamanla, Anderson'ın genel bilgisayar sızma adımlarına ilişkin açıklaması, zaman paylaşımlı bilgisayar sistemi güvenliğini değerlendirmek için bu tekniğe güvenen diğer birçok güvenlik uzmanına rehberlik etti.

Sonraki yıllarda, güvenlik değerlendirmesi için bir araç olarak bilgisayar penetrasyonu daha rafine ve karmaşık hale geldi. 1980'lerin başında, gazeteci William Broad , kaplan ekiplerinin sistem güvenliğini değerlendirmek için devam eden çabalarını kısaca özetledi. Broad'in bildirdiği gibi, Willis Ware'in Savunma Bakanlığı sponsorluğundaki rapor "...casusların aktif olarak bilgisayarlara nasıl sızabildiğini, elektronik dosyaları çalabildiğini veya kopyalayabildiğini ve normalde çok gizli bilgileri koruyan cihazları bozabildiğini gösterdi. Çalışma on yıldan fazla bir süreye dokundu. Hükümet için çalışan ve hassas bilgisayarlara girmeye çalışan seçkin bilgisayar bilimci gruplarının sessiz faaliyetleri. Her girişimde başarılı oldular."

Bu çeşitli çalışmalar ABD'de bilgisayar güvenliğinin büyük bir sorun olmaya devam ettiğini öne sürmüş olsa da, bilim adamı Edward Hunt son zamanlarda bir güvenlik aracı olarak bilgisayar penetrasyonunun kapsamlı çalışması hakkında daha geniş bir noktaya değindi. Hunt, sızma testi tarihi üzerine yakın tarihli bir makalesinde, bilgisayar sızıcılarının hedeflenen sistemlere girebilecekleri birçok yolu dikkatlice tanımladığı ve araştırdığı için, savunma teşkilatının nihayetinde "... .

Aletler

Sızma testine yardımcı olmak için ücretsiz, ücretsiz yazılım ve ticari yazılım dahil olmak üzere çok çeşitli güvenlik değerlendirme araçları mevcuttur .

Uzmanlaşmış işletim sistemi dağıtımları

Birkaç işletim sistemi dağıtımı, penetrasyon testine yöneliktir. Bu tür dağıtımlar tipik olarak önceden paketlenmiş ve önceden yapılandırılmış bir dizi araç içerir. Sızma test cihazının, derleme hataları, bağımlılık sorunları ve yapılandırma hataları gibi risk komplikasyonlarını artırabilecek her bir aracı ayrı ayrı araması gerekmez. Ayrıca, ek araçlar edinmek, test eden kişinin bağlamında pratik olmayabilir.

Önemli penetrasyon testi işletim sistemi örnekleri şunları içerir:

Diğer birçok özel işletim sistemi, sızma testini kolaylaştırır - her biri aşağı yukarı belirli bir sızma testi alanına adanmıştır.

Bir dizi Linux dağıtımı, bilinen işletim sistemi ve uygulama güvenlik açıklarını içerir ve bunlara karşı pratik yapmak için hedefler olarak dağıtılabilir . Bu tür sistemler, yeni güvenlik profesyonellerinin laboratuvar ortamında en son güvenlik araçlarını denemelerine yardımcı olur. Örnekler arasında Damn Vulnerable Linux (DVL), OWASP Web Testing Environment (WTW) ve Metasploitable sayılabilir.

Yazılım çerçeveleri

Penetrasyon testi aşamaları

Sızma testi süreci, aşağıdaki beş aşamada basitleştirilebilir:

  1. Keşif: Bir hedef sistem hakkında önemli bilgi toplama eylemi. Bu bilgi hedefe daha iyi saldırmak için kullanılabilir. Örneğin, bir sosyal mühendislik saldırısında kullanılabilecek verileri bulmak için açık kaynak arama motorları kullanılabilir .
  2. Tarama: Saldırganın sistem hakkındaki bilgisini ilerletmek için teknik araçları kullanır. Örneğin, açık portları taramak için Nmap kullanılabilir.
  3. Erişim kazanma: Saldırgan, keşif ve tarama aşamalarında toplanan verileri kullanarak hedeflenen sistemden yararlanmak için bir yük kullanabilir. Örneğin, Metasploit bilinen güvenlik açıklarına yönelik saldırıları otomatikleştirmek için kullanılabilir.
  4. Erişimi sürdürmek: Erişimi sürdürmek, mümkün olduğunca fazla veri toplamak için hedef ortamda kalıcı olarak bulunmaya yönelik adımları atmayı gerektirir.
  5. İzleri gizleme: Saldırgan, anonim kalmak için kurban sistemini, toplanan her türlü veriyi, günlük olaylarını tehlikeye atmaya dair her türlü izi temizlemelidir.

Saldırgan bir güvenlik açığından yararlandığında, diğer makinelere erişim kazanabilir, böylece süreç tekrarlanır, yani yeni güvenlik açıkları arar ve bunlardan yararlanmaya çalışır. Bu işleme döndürme denir.

Güvenlik açıkları

Test cihazının geçersiz bir işlem yürütmesine izin veren yasal işlemler, çıkış yapılmayan SQL komutlarını, kaynakta görülebilen projelerde değişmeyen karma parolaları, insan ilişkilerini ve eski karma veya şifreleme işlevlerini içerir. Tek bir kusur, kritik derecede ciddi bir istismarı etkinleştirmek için yeterli olmayabilir. Bilinen birden fazla kusurdan yararlanmak ve yükü geçerli bir işlem gibi görünecek şekilde şekillendirmek neredeyse her zaman gereklidir. Metasploit, ortak görevler için bir Ruby kitaplığı sağlar ve bilinen açıklardan yararlanan bir veritabanını tutar.

Bütçe ve zaman kısıtlamaları altında çalışırken, fuzzing , güvenlik açıklarını keşfeden yaygın bir tekniktir. Rastgele girdi yoluyla işlenmeyen bir hata almayı amaçlar. Test cihazı, daha az kullanılan kod yollarına erişmek için rastgele girdi kullanır. İyi bilinen kod yolları genellikle hatasızdır. Hatalar, tam bilgi geri izlemeleriyle HTTP sunucusu çökmeleri gibi daha fazla bilgiyi açığa çıkardıkları veya arabellek taşmaları gibi doğrudan kullanılabilir oldukları için yararlıdır .

Bir web sitesinin 100 metin giriş kutusu olduğunu hayal edin. Birkaçı, belirli dizelerdeki SQL enjeksiyonlarına karşı savunmasızdır . Bir süreliğine bu kutulara rastgele dizeler göndermek, umarım hatalı kod yoluna ulaşır. Hata, kendisini bir SQL hatası nedeniyle yarı işlenmiş bozuk bir HTML sayfası olarak gösteriyor. Bu durumda, yalnızca metin kutuları giriş akışları olarak değerlendirilir. Ancak, yazılım sistemleri, tanımlama bilgisi ve oturum verileri, yüklenen dosya akışı, RPC kanalları veya bellek gibi birçok olası girdi akışına sahiptir. Bu giriş akışlarının herhangi birinde hatalar olabilir. Testin amacı, önce işlenmemiş bir hata elde etmek ve ardından başarısız test senaryosuna dayalı olarak kusuru anlamaktır. Testçiler, doğru olana kadar kusuru anlayıp anlamadıklarını test etmek için otomatik bir araç yazar. Bundan sonra, hedef sistemin yürütmesini tetiklemesi için yükün nasıl paketleneceği açık hale gelebilir. Bu uygulanabilir değilse, fuzzer tarafından üretilen başka bir hatanın daha fazla meyve vermesi umulabilir. Fuzzer kullanımı, istismarların olası olmadığı durumlarda yeterli kod yollarını kontrol etmeyerek zaman kazandırır.

yük

Metasploit terminolojisindeki yasadışı işlem veya yük, tuş vuruşlarını günlüğe kaydetme, ekran görüntüsü alma, reklam yazılımı yükleme , kimlik bilgilerini çalma, kabuk kodu kullanarak arka kapılar oluşturma veya verileri değiştirme işlevlerini içerebilir . Bazı şirketler, bilinen istismarların büyük veritabanlarını tutar ve hedef sistemleri güvenlik açıkları için otomatik olarak test eden ürünler sağlar:

Standartlaştırılmış devlet sızma testi hizmetleri

Genel Hizmetler İdaresi (GSA) onlar ABD federal, eyalet ve yerel yönetimlere etkilemeden önce hızla olası güvenlik açıklarını ve durdurma karşıtlarını ele almak, önceden özenle seçilmiş bir destek hizmeti olarak "penetrasyon testi" hizmetini standart hale getirmiştir. Bu hizmetlere genellikle Yüksek Uyarlanabilir Siber Güvenlik Hizmetleri (HACS) adı verilir ve ABD GSA Advantage web sitesinde listelenir.

Bu çaba, bu gelişmiş penetrasyon hizmetlerini sağlamak için teknik olarak gözden geçirilmiş ve incelenmiş kilit hizmet sağlayıcıları belirlemiştir. Bu GSA hizmeti, bu hizmetlerin hızlı siparişini ve dağıtımını iyileştirmeyi, ABD hükümeti tarafından yapılan sözleşme tekrarını azaltmayı ve ABD altyapısını daha zamanında ve verimli bir şekilde korumayı ve desteklemeyi amaçlamaktadır.

132-45A Penetrasyon Testi, hizmet değerlendiricilerinin bir uygulamanın, sistemin veya ağın güvenlik özelliklerini atlatmaya yönelik yöntemleri belirlemek için gerçek dünya saldırılarını taklit ettiği güvenlik testidir. HACS Sızma Test Hizmetleri, tipik olarak, varlıkları ve verileri korumak için kullanılan kuruluşun önleyici ve tespit edici güvenlik önlemlerinin etkinliğini stratejik olarak test eder. Bu hizmetin bir parçası olarak, sertifikalı etik bilgisayar korsanları genellikle bir sisteme, sistemlere, uygulamalara veya ortamdaki başka bir hedefe simülasyonlu bir saldırı gerçekleştirerek güvenlik zayıflıklarını arar. Testten sonra, genellikle güvenlik açıklarını belgeleyecek ve hangi savunmaların etkili olduğunu ve hangilerinin yenilebileceğini veya istismar edilebileceğini ana hatlarıyla belirteceklerdir.

Birleşik Krallık'ta sızma testi hizmetleri, Ulusal Siber Güvenlik Merkezi ile işbirliği içinde çalışan profesyonel kuruluşlar aracılığıyla standartlaştırılır.

Sızma testlerinin sonuçları, kullanılan standartlara ve metodolojilere bağlı olarak değişir. Beş sızma testi standardı vardır: Açık Kaynak Güvenlik Testi Metodolojisi El Kitabı (OSSTMM), Açık Web Uygulaması Güvenlik Projesi (OWASP), Ulusal Standartlar ve Teknoloji Enstitüsü (NIST00), Bilgi Sistemi Güvenlik Değerlendirme Çerçevesi (ISSAF) ve Sızma Testi Metodolojileri ve Standartlar (PTES).

Ayrıca bakınız

Genel referanslar

  • Uzun, Johnny (2011). Penetrasyon Test Cihazları için Google Hacking , Elsevier
  • Sızma Testi için Kesin Kılavuz

Referanslar