SIZMA TESTLERİNDE EN ÇOK KARŞILAŞTIĞIMIZ AÇIKLIKLAR «2018»
Kemal AYDIN, Kıdemli Sızma Testi Uzmanı [TSE]
Teknolojinin gelişmesi ile beraber hayatımızı teknoloji ile beraber şekillendirmekteyiz. Teknolojide ortaya çıkan değişiklikler insanların yaşam ve iş rutinlerini değiştirmek için motivasyon sağlamaktadır. Örneğin internet üzerinden alışveriş yapmak, yemek siparişi vermek, ofise gitmeden uzaktan çalışmak gibi durumlar hayatı kolaylaştırmakta ve benzer durumlar hayatın her alanında karşımıza çıkmaktadır. Hayatımıza “akıllı” kavramının girmesiyle beraber hayat kalitemizin arttığı yadsınamaz bir gerçektir. Ancak bu akıllı cihazlar herkes tarafından kolay kullanılabilir olması ve kolay kurulum yapılabilmesi adına en düşük güvenlik önlemleri ile karşımıza gelmektedir. Son kullanıcı bu noktada birçok şeyden habersiz bu ürünleri kullanmaya devam etmektedir. Bu durum kişilerin ve kurumların mahremiyetini ve güvenliğini tehlikeye atmaktadır.
Kısaca, bir şey insanların hayatını ne kadar kolaylaştırıyor ise o ölçüde güvenliğini tehdit etmektedir. Aynı durum kurumlar için de fazlasıyla geçerlidir. Örneğin kurumlar çalışanlarına esnek çalışma ortamı sağlayabilmek adına VPN teknolojisi ile çalışanlarını kendi kurum ağına dahil edebilmektedir. Ancak burada gerekli güvenlik tedbirleri alınmaz ise kurumlar için büyük risk oluşturacaktır. Bunun gibi örnekler çoğaltılabilir.
Sızma testleri bir kurumun, bilgi teknoloji sistemlerine bir saldırgan bakış açısıyla sızma girişimleri için yapılan testlerdir. Sızma testinde belli senaryolar dahilinde testler gerçekleştirilir. Saldırganın kurum çalışanı olması (içeriden yapılan saldırı) veya saldırganın kurum ağına gerçekleştirmiş olduğu fiziksel erişim gibi senaryolar bunlara örnek olarak verilebilir. Dışarıdan içeriye sızmalarda ise sosyal mühendislik testleri büyük önem taşımaktadır. Oltalama testleri bu yapıda önemli bir paydaya sahiptir. Bu vektörler dışında web ve mobil uygulamalar üzerinden de hem sistem hem de sistemde kayıtlı kişilere ait bilgiler ele geçirebilmektedir. Güvenliğiniz en zayıf halkanız ile doğru orantılı olacağı için tüm erişim noktalarından uygun testlerin yapılması, kurumların siber uzayda güvenlik seviyesinin farkında olması adına çok önemlidir.
Biz de BTYÖN olarak 2018 yılında yaptığımız testlerde en çok karşılaştığımız bulguları derleyip paylaşmak istedik. Bu sayede kurumların kendi sistemlerinde bu zafiyetlerin bulunup bulunmadığını test edebileceğine inanmaktayız. Böylelikle kurumlar sistemlerini daha güvenliği hale getirip saldırı tehditlerini azaltabileceklerdir.
Yaptığımız analizi paylaşmadan önce yapılan testlerin içerikleri hakkında bilgi vermek faydalı olacaktır.
1. AĞ VE SİSTEM ALTYAPILARI TESTLERİ
1.1. DIŞ AĞ & DMZ TESTLERİ
İnternet üzerinden gerçekleştirilen güvenlik denetimlerde kuruma ait ve dış dünyaya açık olan sistemlerin güvenlik denetimleri gerçekleştirilmektedir. Gerçekleştirilen denetimlerin bir kısmı aşağıda verilmiştir.
- Müşteri sistemlerine ait pasif bilgi toplama yöntemleri ile kurum hakkında bilgi toplanır.
- Hedef sistemler üzerinde çalışan servisler, sürümleri ve bu sürümlere ait zafiyetler tespit edilir.
- Hedef sistemler üzerinde bulunan servislerin hatalı yapılandırılmalarına bağlı zafiyetler tespit edilir.
- Tespit edilen bütün zafiyetler istismar edilerek kanıtlar toplanır, hedef sistemlerde erişim elde edilmeye çalışılır ve elde edilen erişimlerin yetkileri yükseltilmeye çalışılır.
1.2. İÇ AĞ TESTLERİ
Sunucu ve İstemci Testleri
Yerel ağ üzerinde, kapsam dâhilinde tutulan istemci ve sunuculara yönelik gerçekleştirilen testlerdir. Bu kategoride hedef sistemler tespit edilir. Hedef sistemler üzerinde açık olan portlar ve bu portlar üzerinde çalışan servisler tespit edilir. Bu servislerin sürümleri ve mevcut sürümleri için zafiyetleri tespit edilir. Hatalı yapılandırma ve sürüm bazlı zafiyetler istismar edilerek saldırganların sistemlere verebileceği zararlar analiz edilir. Ele geçirilen sistemler aracılığı ile diğer sistemlere ve ağlara yönelik zafiyetler tespit edilir.
Kurum ağında bulunan farklı sunuculara yönelik farklı testler gerçekleştirilmektedir. Kapsam dâhilinde bulunan sunuculara yönelik ticari ve açık kaynak otomatize araçlar ile zafiyet analizinin yanında güvenlik ekibimizce geliştirilen araçlar ile de manuel testler gerçekleştirilmektedir.
DNS Sunucu Testleri
Bir kurumun ağ yapısında, DNS sunucuları son derece önem taşımaktadır. IP adreslerinin kullanım zorluğunu ortadan kaldıran DNS sunucularında da çeşitli zafiyetler bulunabilmektedir.
Hatalı yapılandırılmış DNS sunucuları aracılığı ile kurum ağ yapısı hakkında bilgi toplamak mümkün olabilmektedir.
Bu test kategorisinde kullanıcıların farklı sistemlere istekleri dışında yönlendirilebilmelerine olanak verebilen zafiyetler gibi saldırganlara yetkisiz erişim izni oluşturabilecek zafiyetler test edilmektedir.
E-mail Sunucu Testleri
Bu kategoride kapsam dâhilinde bulunan mail sunuculara yönelik testler gerçekleştirilmektedir. Son yıllarda kurumlara yönelik saldırıların önemli bir oranı mail sistemleri üzerinden son kullanıcıyı hedef alacak şekilde gerçekleştirilmektedir.
Hatalı veya eksik yapılandırılmış mail sunucu, saldırganların zararlı içerik gönderimine, yetkisiz mail gönderimine, güvenilir olmayan sistemlerden zararlı mail gönderimine vs. olanak sağlamaktadır.
Bu test kategorisinde mail sistemleri ticari araçlarla ve manuel yöntemlerle test edilmektedir. Mail sunucularının ve mail güvenlik sistemlerinin son kullanıcıları saldırılara karşı koruma yetenekleri test edilmektedir.
Veri Tabanı Güvenlik Testleri
Veri tabanı sistemleri bir kurumun en hassas sistemleridir. Veri tabanı sistemlerinde de yapılandırmaya, kullanılan sürümlere ve istemci olarak bağlanıp verileri yöneten sistemlere bağlı olarak zafiyetler bulunabilmektedir. Bu zafiyetler, saldırganların veri tabanına yetkisiz bir şekilde erişebilmesine, istemci ile sunucu arasındaki veri iletişimini değiştirebilmesine, veri tabanı sunucusunu ele geçirmesine sebep olabilmektedir.
Bu kategoride gerçekleştirilen testlerde veri tabanı sunucuları detaylı testlere tabi tutulmaktadır.
Ağ Cihazı Testleri
Bu kategoride kapsam dâhilinde tutulan ağ cihazlarına (switch, router vs.) yönelik zafiyet analizleri ve sızma testleri gerçekleştirilmektedir. Hatalı veya eksik yapılandırılmış ağ cihazlarında bulunan zafiyetlerin istismarı ile kullanıcılar gitmek istemedikleri sitelere yönlendirilebilir, şifreli trafikleri araya girilerek elde edilebilir.
VoIP Teknolojisi Ürünleri Testleri
Kurum bünyesinde kullanılan VOIP sistemlerinde zafiyetler bulunabilmektedir. Hatalı veya eksik yapılandırılmış veya güncelleme eksiklikleri bulunan sistemlerin kullanılması ile saldırganlar kullanıcıların konuşmalarını kaydedip ortam dinlemesi gerçekleştirebilir, kullanıcılar adına sahte kimliklerle arama gerçekleştirebilir ve aradaki şifreli trafiği çözerek konuşma kayıtlarını elde edebilirler.
Buna benzer saldırılara karşı zafiyet analizleri için ticari ve açık kaynak yazılımlar ile otomatize ve manuel testler gerçekleştirilir.
1.3. KABLOSUZ AĞ TESTLERİ
Kablosuz ağlara yönelik saldırılar ile kablosuz ağ parolasını elde etmek, kullanıcılara yönelik saldırılar gerçekleştirebilmek mümkündür. Hatalı veya eksik yapılandırılmış kablosuz ağlar üzerinden kuruma ait diğer ağlara da saldırılar gerçekleştirmek mümkün olabilmektedir.
Bu kategoride gerçekleştirilen güvenlik denetimlerde kurum tarafından kapsam dâhilinde tutulan kablosuz ağ sistemlerine yönelik sızma testleri gerçekleştirilmektedir.
2. WEB UYGULAMA TESTLERİ
Kurum tarafından belirli işlevleri yerine getirmek üzere yapılandırılmış web uygulamaları, dış ağ üzerinden herkes tarafından erişilebilir olduğu için güvenliğinin sağlanması son derece önemlidir. Bir web uygulaması üzerinde çalıştığı sunucunun ele geçirilmesine, bir sunucunun ele geçirilmesi tüm kurum sistemlerinin ele geçirilmesine olanak sağlayabilir.
Kurum Web uygulamalarına yönelik gerçekleştirilen testler OWASP yönergelerine uygun olarak gerçekleştirilmektedir. Web uygulamalarına farklı kullanıcı profilleri ile erişim sağlanabildiği için farklı profillerde güvenlik denetimleri gerçekleştirilmektedir.
Testlerin gerçekleştirildiği profiller aşağıda verilmiştir.
- Anonim kullanıcı: Bu kullanıcı profilinde kullanıcının hedef sistem üzerinde herhangi bir yetkisi bulunmamaktadır.
- Yetkisiz kullanıcı: Bu kullanıcı profili uygulama üzerinde sadece yetkisiz bazı işlemleri gerçekleştirebilen fakat uygulama üzerinde değişiklik gerçekleştiremeyen kullanıcı profilidir.
- Yetkili kullanıcı: Bu kullanıcı profili uygulama üzerinde bazı yetkili işlemleri gerçekleştirebilmektedir. Uygulamanın mimarisine göre birden fazla yetkili kullanıcı profilleri olabilmektedir.
Uygulama güvenliği testlerinde yetkisiz kimselerin yetkili işlemleri gerçekleştirebilme girişimleri de canlandırılmaktadır. Yetkili bir kullanıcının gerçekleştirdiği tüm işlemler yetkisiz bir kullanıcı ile de gerçekleştirilmeye çalışılmaktadır. Bu tür yetki aşımı girişimlerine dikey yetki yükseltme girişimleri denilmektedir. Aynı şekilde yetkisiz bir kullanıcının başka bir kullanıcıya ait alanlara erişememesi gerekmektedir. Bu tür yetki aşımı girişimlerine ise yatay yetki aşımı girişimleri denilmektedir.
3. MOBİL UYGULAMA TESTLERİ
Kurumun mobil kullanıcılarına yönelik hazırladığı mobil uygulamalarda da çeşitli zafiyetler bulunabilmektedir. Mobil cihazlar için hazırlanan uygulamalar ve sunucu tarafında mobil uygulamalar için hazırlanan servislere yönelik gerçekleştirilen sızma testleri gerçekleştirilmektedir. OWASP yönergelerinin ve sızma testi ekibi tarafından hazırlanan kontrol listelerinin uygulandığı bu test kategorisinde tüm saldırı senaryoları test edilmektedir.
4. SOSYAL MÜHENDİSLİK TESTLERİ
Bu güvenlik denetimleri kategorisinde testler direk olarak kurum çalışanlarına yönelik gerçekleştirilmektedir. Bir kurumun güvenlik zincirinin en hassas ve kırılgan noktasını çalışanlar oluşturmaktadır. Bu yüzden kurum çalışanların da güvenlik farkındalığının yüksek olması gerekmektedir. Çalışanların farkındalığını test etmek için kullanılan yöntemler, oltalama saldırıları ile çalışanlardan hassas bilgi elde etme yöntemleridir.
Oltalama yöntemleri olarak telefon yoluyla ya da mail yoluyla testler gerçekleştirilmektedir. Kurum tarafından gerçekleştirilen isteğe bağlı olarak testler mail yoluyla, telefon yoluyla veya her ikisiyle gerçekleştirilmektedir.
Testler personellerden, hassas bilgileri elde etmek için hazırlanmış sahte senaryolarla gerçekleştirilmektedir. Senaryolar personellerin sık kullandığı sistemlere benzetilerek ve çalışanları endişeye sevk edecek şekilde hazırlanmaktadır.
5. DoS & DDoS SERVİS SONLANDIRMA TESTLERİ
Kurum sistemlerinin dışarıdan erişilebilmesi için yapılandırılan servisler, sunucuların ve ağ yapısının sınırlarından ve hatalı yapılandırılmalarından dolayı hizmet veremez hale getirilebilmektedir. Bu test kategorisinden kurum dış ağı üzerinden çok yoğun oranlarda isteklerde bulunarak sistemlerin hizmet veremez hale geldiği eşik değerleri tespit edilmektedir.
- TCP SYN FLOOD: Hedef sistemlere TCP -SYN bayrağı seçilmiş paketlerin gönderilerek, hedef sistemlerinin kaynağını tüketip masum isteklere cevap veremez hale getirilmesidir.
- TCP ACK FLOOD: Hedef sistemlere TCP-ACK bayrağı seçilmiş paketlerin gönderilerek, hedef sistemlerin masum isteklere cevap veremez hale getirilmesidir.
- MIXED FLAG FLOOD: Hedef sistemlere birden fazla TCP bayrağının seçilmiş paketlerin gönderildiği saldırı çeşididir. Bu saldırılarda uygulamalar önünde konumlandırılan sistemlerin kaynaklarının tüketilmesi hedeflenmektedir.
- ICMP FLOOD: Hedef sistemlere ICMP paketlerinin gönderilerek hedef sistemlerin diğer masum isteklere cevap veremez hale getirilmesidir.
- UDP FLOOD: Hedef DNS sunucu sistemlerine yapısı değiştirilmiş paketlerinin gönderilerek, hedef sistemlerin DNS isteklerine cevap veremez hale getirilmesidir.
- DNS FLOOD: Hedef DNS sunucu sistemlerine yönelik aşırı miktarda DNS isteklerinin gerçekleştirilerek, sistemlerin diğer masum DNS isteklerine cevap verilemez hale getirilmesidir.
- HTTP GET FLOOD: Hedef web uygulamalarına yönelik HTTP-GET istekleri ile sistemlerin uygulamaların cevap veremez hale getirilmesidir.
- HTTP POST FLOOD: Hedef web uygulamalarına yönelik HTTP-POST istekleri ile sistemlerin uygulamaların cevap veremez hale getirilmesidir.
6. En Çok Karşılaşılan Açıklıklar
Yapılan testlerde elde ettiğimiz verilere göre Ağ ve Sistem Altyapılarında en çok rastlanan beş bulgunun dağılımı aşağıdaki gibidir.
Grafik 1 Ağ ve Sistem Altyapıları
- MS17-010 güvenlik bülteni ile yayınlanan SMBv1 üzerine gönderilen bazı isteklerin yanlış değerlendirilmesi sonucu özel paketler ile yetkisiz bir biçimde uzaktan kod çalıştırılması durumu ortaya çıkmaktadır. Saldırganlar ağda bulunan SMBv1 koşturan Windows işletim sistemlerini hedef alarak özel hazırlanmış paketleri ilettiğinde uzak sunuculara ve istemcilere erişim sağlayabilirler. Bu durumda uzaktan komut çalıştırılabilir ve akabinde bilgi ifşası yaşanabilmektedir.
- SNMP (Simple Network Management Protocol) servisi, önceden belirlenmiş sistem bilgilerine uzaktan erişebilmeyi sağlayan bir yönetim servisidir. SNMP servisi versiyon 3 öncesi kullanımlarda, sistem bilgilerine erişimde sadece bir topluluk ismi kullanmaktadır. SNMP servisi topluluk isminin kuruma özel kullanmak yerine ön tanımlı olarak (public, private, cisco) kullanılması yetkisiz kimselerin sistem hakkında bilgi toplamasına imkan sağlamaktadır.
- Telnet, cihazların uzaktan yönetimi için kullanılan bir protokoldür. Telnet protokolü ile gerçekleştirilen bağlantılar ağ üzerinden şifrelenmeden gerçekleştirilmektedir. Aynı ağda bulunan saldırganlar tarafından oturum bilgilerinin dahil tüm trafiğin elde edilmesi mümkündür.
- Anonim kullanıcı için tanımlanan FTP hizmetinde kullanıcılar sadece “anonymous” kullanıcı adı ile parola kullanmaksızın dosya transferi gerçekleştirebilmektedirler. Bu zafiyetin saldırganlar tarafından istismarı ile dosya sunucu üzerinde bulunan verilerin ifşası ve sunucuya zararlı yazılım yüklenmesi gerçekleşebilir.
- Dropbear çoklu güvenlik zafiyetleri sömürülerek; kullanıcı adı ve parola tanımlamasında kaynaklanan bir metin formatı zafiyeti sebebiyle, giriş yapmamış bir kullanıcı sistem üzerinde root hakları ile komut çalıştırabilir. Ek olarak OpenSSH anahtar dosyalarının yönetiminden kaynaklanan bir zafiyet sebebiyle, sistemde giriş yapmamış bir saldırgan uzak komut çalıştırabilir.
Grafik 2 Web Uygulamaları
- Web uygulamalar geliştiriliyorken güvenliğin sağlanması adına bazı önlemlerin alınmış olması önemlidir. Örneğin HTTPOnly bayrağı işaretlenmemiş çerezlerin kullanımı sonucu, son kullanıcılara yönelik gerçekleştirilebilecek XSS saldırıları ile geçerli oturum bilgiler elde edilebilmektedir. Çerezlere güvenli bayrağı (Secure) atandığında, tüm çerez bilgileri SSL protokolü ile gönderilmeye zorlanır. Güvenli bayrağı atanmamış çerezler, araya girme saldırıları (man in the middle attack-MITM) sonrasında önemli bilgilerin ifşası söz konusu olabilmektedir.
- Web uygulamalar geliştiriliyorken kullanılan JavaScript veya jQuery kütüphanelerinin güncel olması web uygulamanın güvenliği için yüksek önem taşımaktadır. Güncel olmayan sürümlerde uzaktan komut çalıştırmaya varan ciddi zafiyetler oluşabilmektedir.
- Web uygulamaların CAPTCHA kullanılmayan kimlik doğrulama panelleri, kaba kuvvet (brute force) saldırılarına karşı savunmasızdırlar. Saldırganlar bu zafiyeti istismar ederek geçerli hesap bilgilerine erişebilmeyi başarabilirler.
- Web uygulamalarda bazı hassas bilgilerin (kullanıcı adı, parola vs.) şifresiz kanallar aracılığı ile iletilmesi sistemi kullanan kişiler için zafiyet arz etmektedir. Saldırganların başarılı bir araya girme saldırısı (man in the middle attack-MITM) ile bu hassas bilgilerin elde edilebileceğine dikkat edilmelidir.
- Web uygulamada bulunan formları otomatik olarak gönderilmesi zafiyet oluşturabilmektedir. Proxy sunucu ile araya giren saldırgan, sistem üzerinde sonsuz kayıt oluşturabilir. Bu da veri tabanının kayıt limitinin aşılarak devre dışı kalmasına sebep olabilir. Sistemin veri bütünlüğünü bozarak işlevsiz hale gelmesine sebep olabilmektedir.
Yapılan testlerde elde ettiğimiz verilere göre Mobil Uygulamalarında en çok rastlanan beş bulgunun dağılımı aşağıdaki gibidir.
Grafik 3 Mobil Uygulamaları
- Jailbreak/root yapılmış cihazlarda zararlı yazılım olma ihtimali jailbreak/root yapılmamış cihazlara göre çok daha yüksektir. Bu sebepten ötürü uygulamalar Jailbreak/root yapılmış bir cihaz üzerinde çalışıyorsa kullanıcının bu durumunun riski hakkında bilgilendirilmesi önerilmektedir.
- SSL Pinning yapılmadığı durumlarda saldırgan, cihaza kendi oluşturduğu SSL sertifikasını yükleyerek sunucu ile istemci arasındaki trafiği çözebilmektedir. Bu zafiyet yazılımın kendine yapılan isteklerde beklediği geçerli SSL sertifikasını tanımamasından ve saldırgan tarafından oluşturulmuş sertifikayı kabul etmesinden kaynaklanmaktadır.
- Uygulamaların "Log" dosyalarında hassas veri barındırması durumunda zafiyet oluşmaktadır. Cihaza fiziksel veya uzaktan erişen saldırgan log dosyalarını inceleyerek son kullanıcıya ait hassas verilere erişebilecektir. Ele geçirdiği bu hassas veriler ile uygulamaya giriş yapabilecektir.
- Cihaz içerisindeki SQLite dosyalarında uygulamaya ait hassas veriler depolandığı noktalarda zafiyet oluşmaktadır. Cihaza fiziksel veya uzaktan erişim sağlayabilecek saldırgan bu bilgiler sayesinde hassas ve kişisel bilgilere ulaşabilmektedir.
- Uygulama kaynak kodu okunabilir şekilde geri dönüştürüldüğünde uygulamanın iç işleyişi ile ilgili bilgiler saldırgan tarafından elde edilebilmekte ve uygulamanın analizi kolaylaşmaktadır.
Yapılan testlerde elde ettiğimiz verilere göre Sosyal Mühendislik Testlerinde başarı dağılımı aşağıdaki gibidir. Sonuçlar mail ile oltalama saldırısının benzer senaryolar ile uygulanması ile elde edilmiştir.
Grafik 4 Şüpheli Bağlantıya Tıklama Oranları
Grafikten de anlaşıldığı üzere test yapılan kullanıcıların yarısından fazlası ilgi çekici içeriğe aldanarak açma eğilimindedir. Saldırganlar insani zafiyetlerden faydalanarak sistemler üzerinde erişim sağlayabilirler. Bu da bilgi teknolojileri sistemlerini risk altında bırakmaktadır.
Grafik 5 Şüpheli Bağlantıdan Açılan Formu Doldurma Oranları
İkinci grafik ise ilk grafikte şüpheli linke tıklayan kullanıcıların önüne gelen formda kişisel bilgileri talep edilmektedir. Burada kullanıcıların %60 gibi ciddi bir çoğunluğu kişisel bilgilerini veri toplayanın kaynağına dikkat etmeden paylaşmışlardır.
Bu tarz saldırıların önüne geçebilmek adına alınabilecek en iyi önlem kurum çalışanlarını konu hakkında bilinçlendirmek için farkındalık eğitimleri verilmesidir.
7. Sonuç
Kurumların bilgi teknolojileri sistemlerinin dış dünyaya karşı durumunu öğrenebilmeleri ve açıklıklara karşı önlem alabilmeleri için periyodik olarak sızma testi yaptırmaları önerilmektedir. Ancak bu süreçte sadece sızma testi yeterli olmayabilir. Dış dünyaya karşı hazırlıklı olmak için gelen güncelleme ve düzeltmelerin takibi, sistemlerin bakımı ve kullanılmayan servislerin kapatılması güvenli kalabilmek adına büyük önem taşımaktadır.
Sistemler ne kadar güvenli olsa da bilgi güvenliğinin en zayıf halkası olan insani zafiyetler unutulmamalı, çalışanlara belli periyotlarda farkındalık eğitimi verilmelidir.
Siz de güvenli kalabilmek adına ilk adım olarak paylaştığımız en çok karşılaşılan açıklıkların sistemlerinizde bulunup bulunmadığını kontrol edebilirsiniz.
Sızma testi ( Penetrasyon testi) hizmetlerimiz hakkında detaylı bilgi almak için tıklayınız.
Sızma testi ( Penetrasyon testi) hizmetlerimiz hakkında detaylı bilgi almak için tıklayınız.