16 Nisan 2015 Perşembe

APT vs ATD - Bypass ve Ürün İnceleme


Uzun bir aradan sonra yeniden merhabalar.  Bir yıldır bir şeyler yazıp karalamıyorum . [Buraya bahaneler sıralanacak] :))

Giriş


Malumunuz değerli verilerimizin başı bir türlü bitten kurtulmuyor. Virüs,worm, trojan, sniffer, logger, hooker filan derken bir de gelişmiş akıllı hedef güdümlü APT zararlıları icat oldu. İyiden iyiye bir zenginlik aracı olmaya başlayan zararlı yazılım alanı zevk, hırs ve ego için zararlı geliştirmenin ötesinde bol kazançlı bir iş alanı haline geldi. Geçmişte sadece boy göstermek için yazılan bu kodlar günümüzde ulus devletlerin veya kurumsal ölçekli şirketlerin emellerine yataklık edecek şekilde geliştiriliyor. Bugünlerde artık tek kişilik çaba ve emeklerin eseri zararlılardan öte, dev geliştirici kadrosu olan ciddi ve planlı ekiplerin elinde çıkmış ve gerçekten kötü niyetli ürünler ile muhatap olmaya başladık. Bu tehditler artık geleneksel güvenlik çözümlerini bir çırpıda aşabiliyor ve sistemlerimizde amaçladıkları aksiyonları zorlanmadan gerçekleştirebiliyorlar. Zararlıların bazıları hedeflerini gerçekleştirdikten sonra, bazıları ise güzel güzel çalışırken yıllar sonra kafasına taş düşen bir güvenlik uzmanın merakı neticesinde tesadüf eseri tespit edilebilir hale gelmiş durumdalar.

Gelişme


IPS, Next-Gen Firewall, DLP, Web Proxy, Anti Virüs, Hips, katı güvenlik politikaları ve son açıklara karşı güncellediğimiz işletim sistemleri... Nasıl ama? Uçtan uca güzel bir güvenlik mimarisi gibi görünüyor değil mi? Bilinen bir tehdidin bu zincire takılmadan hedefine ulaşması pek olası görünmüyor. Açıkçası bilinen tehditlere karşı geleneksel imza tabanlı koruma sistemlerinin biraz daha evrilmiş hallerinden oluşan bu ürünler, bilinmeyen tehditlere karşı sezgisel olarak hiçbir zaman vaat edileni sunamadılar. Bu nedenledir ki artık bizler günümüzün gelişmiş ve akıllı zararlılarına karşı en az onlar kadar hızlı tepki verebilen, karşılaştığı riski uç noktada hareket ediyormuşcasına yorumlayıp doğru analiz sonuçlarını üretebilen sistemlerle çalışmak istiyoruz. Konuyu güncel bir örnekle açıklamamız gerekirse; popüler ebanking virüsleri ve fatura virüsünün onlarca varyantı ve sürekli güncellenen sample’ları yukarıda sayılan hiçbir sistem tarafından tanınamıyorken ATD sistemlerinin Payload Analysis fazında başarılı bir şekilde tespit edilebiliyorlar!!! Peki ya çözüm?

Bu sorunun cevabı da en az sorunun kendisi kadar bol çeşitli ve karmaşık. Verilen cevaplar ve sunulan çözümler ya yetersiz kalıyor ya da uygulanmak istenildiğinde farklı süreçleri etkilediğinden ölü doğuyor.

Çözüm ATD, mi?;

Advance Thread Defense (ATD). En az Advance Persistent Thread kadar havalı bir isim değil mi? Çözüm sağlayıcılar APT tehditlerine karşı katmanlı bir yaklaşım senaryosu sunmaktalar. Tehditlerin, ağ katmanında gösterdiği trafik hareketlerinden veya yine ağ katmanında yakalanan tehlike arz edebilecek dosyanın sandbox analiz sonuçlarına yada doğrudan endpoint üzerinde ki katılaştırma ve beyaz liste yolu ile engelleme yoluna gidilmekte. Bu yazımda sizlere, bu çözümlerden Payload analiz tekniklerini kullanan Sandbox çözümleri üzerinde edindiğim tecrübelerden bahsedeceğim.

Challange!

APT tehditlerinin popülaritesi hız kesmeden devam ediyor. Pazardaki bu açığı gören zeki girişimciler de aslında hep var olan davranışsal analiz ve sanallaştırma teknolojisinin güçlerini bir ürün haline getirerek bizlere sunmakta gecikmedi. Pazarlama aşamasında oldukça cüretkar vaatler sunan ürünlerin iş PoC’ler’e gelince topu taca atma girişimlerinin yorumlanması ise bu yazının bir başka konusu. Şu bir gerçek ki gelişmiş hedef odaklı zararlılara karşı koruma vaat eden ürünlerin kesinlikle olgunlaşması gerekiyor ve bir başka gerçekte şu ki bu ürünlere ait mekanizmaların bir şekilde etkisiz hale getirilebiliyor olması onları asla gereksiz kılmıyor. Tam aksine sundukları yetenekleri ile farkındalık seviyesinin artmasına  ve mevcut güvenlik ürünleri ile tespit edilmesi mümkün olmayan potansiyel veya bilinen tehditlerin tespitine yardımcı oldukları kabul edilmesi gereken bir gerçek.

2014 yılı içerisinde birkaç Payload Analizi yapan ATD ürünü ile test yapabilme fırsatım oldu. Çalıştığım kuruma ait güvenlik alt yapısının iyileştirilmesi kapsamında çözüm sağlayıcılar ile yapılan görüşmeler neticesinde ülkemizde bu alanda faaliyet gösteren üç üretici ile çalıştık. Bunlar; FireEye, Trend Micro ve McAfee oldu. PaloAlto ve SourceFire ise PoC takviminin darlığı sebebi ile testlere yetişemedi. Fidelis ve Damballa ise test etmek istediğim ancak ülkemiz pazarında muhatap bulamadığım için testini gerçekleştiremediğim Breach Detection ürünleri arasında yer aldı.

Hazırlık


Testler iki aşamadan oluşuyor;

  1. İlk olarak ATD sisteminin vaat ettiği yeteneklerinin gerçek ortamda ne kadar etkin çalıştığının testlerini gerçekleştirdim. Bu testlerde;
  • Yüksek traffic througput’larında ürün tarafından analiz edilmesi beklenen sample’ların yakalanma oranı,
  • Sample analizlerinin süresi,
  • Waiting Queue’ların uzunluğu,
  • False-Positive oranı,
  • Bilinen bir zararlının farklı formlarda tanınması(Bulk Zip, Encapsulate Binary vb..)
  •  Diğer güvenlik çözümleri ile entegrasyon,
  •  Raporların açıklayıcı ve detaylı olması
gibi kriterler ürün seçimi aşamasında ki ana noktaları oluşturuyordu.

    2.  İkinci aşama tamamı ile benim eğlence dünyama hitap ettiğinden, dileyen okuyucular bu kısmı atlayabilir;

El Yapımı APT

Geçmişten gelen low-level merakı ve kendi zararlılarımı yazabilmenin verdiği öz güven ile birlikte bende APT tehditleri konusunda iddialı olan bu ürünler üzerinde hazır fırsatını bulmuşken biraz oynamak istedim. Amacım gelişmiş zararlılar karşısında iddialı bir güvenlik çözümü olma vaadinde bulunan bu ürünlerin kendi güvenliklerinin durumunu test etmek ve sundukları Sandbox analiz yeteneklerinin etkisiz hale getirilip getirilemeyeceğini görmekti. Hali hazırda sahada keşfedilmiş bir çok sandbox bypass tekniği mevcut ancak üreticilerin de bunlardan haberdar olduğu denediğim her bilinen bypass yönteminin sandbox analiz raporunda gözüme sokulması ile kendini belli ediyordu. Lafı uzatmadan doğrudan sonuca gelecek olursam. Tüm ürünleri sample malware’im ile bypass edebildim. Hatta her hangi bilinen bir zararlıyı da dilenirse bu sample ile merge edip hedefe sorunsuzca ulaştırmak mümkün. Ben testlerimde kolay erişilebilirlik ve hız açısından EICAR ve Fatura sample’larını tercih ettim. 

Testler esnasında bir ürünün üzerinde ki tespit ettiğim web tabanlı açıkları yenilir yutulur cinsten değildi. Gerek bypass yöntemlerini gerekse de ürünlere ait kritik zafiyetleri ilgili firmalar ile paylaştım. Şu aşamada iki firma ile etik çerçevede yeni sürüm çıkana dek bu zafiyetleri public etmeme konusunda anlaştık. 

Yazdığım test zararlısını aslında bloğumu takip edenler hatırlayacaktır. Malware Analizlerinde Anti-Analysis ve Anti-Debugging Teknikleriadlı yazımda Malware analizine meraklı arkadaşlar için tüm detaylı açıklamaları da içinde yer alan kaynak kodu ile birlikte bir sample paylaşmıştım. İşte bu testler için de bu çalışmamı biraz daha geliştirip aşağıda ki özelliklere sahip bir test zararlısına dönüştürdüm.

Not: İlgili linkte yer alan streamer.exe sample'i bu yazıda incelenen ürünlere ait evasion tekniklerini ve diğer zararlı özelliklerini içermemektedir. 

Test zararlısının kullandığı bazı bilinen tekniklerin içeriği aşağıda ki gibi:
  • Anti-Debugging
  • Anti-Disassembly
  • Anti-Analysis
  • Anti-Emulation
  • Anti-VM
  • C&C Communication
  • Shell Code Injection
  • Web ve Local Malware Drop
  • x86 Asm tricks 
  • ve daha bir çok irili ufaklı zararlı yapıları..
Test zararlısını kodlarken en eğlendiğim kısım APT analiz süreçlerini atlatmaya çalıştığım kısımlardı. Bir çok bypass denememi başarı ile tespit edip, bu girişimleri Evasion Techniques veya Suspicious Activities olarak kategorilendiren ürünler, hiç ummadığım yerlerden gol yediklerinde beni oldukça şaşırttılar.

Bu özelliklerin kurban sistem üzerinde ki aktivitesini gösteren ekran alıntılarını da aşağıda yer alıyor:

Zararlımız çalışmadan önce...
Çalıştırıldıktan sonra.


Yukarıda ki resimlerden de anlaşılacağı üzere zararlımız herhangi bir sandbox veya analiz ortamında çalışmadığına emin olduğunda aşağıdaki görevlerini gerçekleştiriyor;

  1. Başka bir zararlıyı (eicar veya ptt.exe) HTTPS kanalı ile download edip çalıştığı dizine yazma,
  2. Zararlının kendi code bloğunda encrypt durumda olan EICAR test dosyasını doğrudan diske yazma,
  3. Şayet ortamda PuTTY çalışıyorsa, ona shellcodunu inject ederek sistemde yönetici haklarına sahip kullanıcı oluşturma,
işlemlerini gerçekleştiriyor. Bu basit aktiviteleri streamer.exe'nin ilave kod yapısı gereği de tam olarak bir zararlı görünümüne sahip olması için yaptım. Download yöntemi olarak https kanalı kullanmamanın nedeni de ortamda ki IPS,Firewall ve Proxy Gateway'lerin görevlerini yapıp yapmadığını test etmek içindi. Testler sonucunda da anlaşıldı ki doğru ve etkili müdahaleler için SSL Inspection cihazları ile sadece Algılama ve Engelleme yapan cihazların bulunacağı bir Decrypt Zone oluşturmak mantıklı bir seçenek olarak karşımıza çıkıyor. Local bir admin accountu eklemek için ise zararlımızın hali ile SeDebugPrivilege tokeni ile çalışıyor olması gerektiğinden ya ilk açılışta UAC'den icazet almamız ya da onu bypass etmemiz gerekiyor. Bu arada belirtmeliyim ki tüm testlerimi son güncellemeleri yapılmış Windows 8.1 ve Windows 7 işletim sistemleri üzerinde yaptım. Ben test ortamımda Avecto Privilege Guard uygulamasının yeni keşfettiğim bir açığından yararlanarak local admin hesabını ekleyebildim. Normal şartlarda Avecto size tüm admin haklarını verse dahi Administrators grubuna ekleme/çıkarma yapmanıza izin vermiyor!  Avecto olmayan bir ortamda ise tüm özellikleri ile test etmek istediğimizde Yönetici olarak çalıştır seçeneğini seçmemiz gerekiyor. 

Aşağıda test edilen her ürün için streamer.exe zararlısına ait analiz sonuçlarını görebilirsiniz:

FireEye analizi esnasında, streamer.exe bilinen bir detection yöntemi ile analiz edildiğini algılıyor ve zararlı aktivitelerini gerçekleştirmeden kendini sonlandırıyor. Bilinmeyen diğer bypass yöntemlerini firma ile etik bir çerçevede paylaştığımdan burada yer veremiyorum.

McAfee ATD ürünü streamer.exe analiz sonucu için bir skorlama dahi yapma gereği duymuyor.


Trend Micro Deep Discovery Analyzer'in streamer.exe analizine ait bir ekran görüntüsü. Test sample'imiz kendisinin analiz edildiğini anlıyor ve sürecini sonlandırıp analiz aşamasını bypass ediyor.





Ürün Testleri



Testlere geçmeden önce konu hakkında ki bazı hayati bilgileri aktarmam gerektiğini düşünüyorum. Mevcut durumda APT tehditlerine karşı oluşturulmuş genel bir konsept bulunmuyor. Breach Detection, Advanced Thread Detection/Protection, ZeroDay Protection vs.. vs.. ATD ürünlerinden en büyük beklentimiz analizleri esnasında zararlı olarak tespit ettiği sample'ları blocklaması. Ancak bunu vaad eden ürünler ne yazık ki Sandbox Analysis aşamasında ilk kez karşılaştığı sample'ı zararlı olarak tespit etse dahi bunu engellemeyi başaramıyor. Bunun hız, kullanıcı isteklerinin bekletilme süreleri gibi bir çok nedeni var. Özetle, bloklama işlemini bu zararlı analiz sonrası tanınır hale geldikten sonra kullanabiliyorsunuz.

FireEye

Ticari Analiz

İlk testini gerçekleştirdiğim ürün FireEye oldu. FireEye, Web ve Email trafiği için iki ayrı kutu sunuyor ve Network Utilization’ınıza göre ölçekleyebildiğiniz geniş bir ürün yelpazesine sahip. Ben testlerimi Web trafiği üzerinde analiz yapan 7400 serisi cihaz ile gerçekleştirdim.  Her ne kadar protokol tipine göre ayrı çözümler sunuyor olsa da bu özelliği uçtan uca çözüm isteyen kurumlar için FireEye’ı rakiplerine göre biraz pahalı bir tercih haline getiriyor. Çözümler Inline olarak çalışabildiğinden bilinen zararlıları tespit edildiği anda bloklama imkanınız da bulunuyor.
Ticari boyutunda eleştirebileceğim en olumsuz bulduğum yanı ise manuel analiz yolu ile incelemek istediğiniz sample'lar için yine ayrı bir kutu alma zorunluluğun olması. Diğer incelediğim ürünlerde manuel sample analiz olanağı ücretsiz bir servis olarak sunulmakta.

Teknik Analiz

Bildiğim kadarı ile FireEye kendi patentli sandbox analiz teknolojisini kullanıyor. Satın aldığınız kutu üzerinde ki belirtilen ağ yükleri altında analiz süreleri kimi zaman uzun sürüyor olsa da bu sürenin kabul edilebilir bir aralıkta olduğunu belirtmek isterim. Sandbox analiz sonuçlarını raporlarken, kendi arayüzü üzerinde çok detaylı diyemeyeceğim bir şekilde trace sonucunu paylaşıyor. Zararlının yaptığı ağ trafiği ile alakalı forensic ihtiyacınızı ise export edebildiğiniz pcap dosyası ile sağlayabiliyor. PoC esnasında kurum bünyesinde kullanılan bir activex nesnesine ait ocx’in olması gerektiğinden çok daha über fonksiyonlara sahip olmasından rahatsız olan FireEye’ın bunu raporlaması hoş bir andı. FireEye'ı ayrıca bu yazıyı yazdığım sırada A10 firmasının SSL Inspection çözümü ile birlikte HTTPS trafiği içinde test edebilme fırsatı buldum. FireEye bilinen HTTPS zararlılarını da başarı ile algılayıp bloklayabildi. 

McAfee ATD (Advanced Thread Detection)


Ticari Analiz

Öncelikle ATD tek başına çalışan (standalone) bir ürün değil. Vazifesini yapabilmesi için onu besleyecek McAfee etiketli IPS, Web Gateway,Mail Gateway veya McAfee TIE Endpoint ürünlerinden birine sahip olmalısınız. Bu da hali ile ilk satın alma maliyetlerini arttıran bir etken. Tabi bu dezavantajı eğer bu McAfee ürünlerinden en az birini kullanıyorsanız avantaja çevirebilirsiniz.  MATD-3000 ve MATD-6000 adlı 2 farklı modele sahip. Bu modeller arasında ki fark eş zamanlı açılabilecek sandbox ve taranabilecek dosya sayısını belirliyor. Testleri gerçekleştirdiğim 6000 serisinde bu sayı 60 Vm Sandbox'tı. Sandbox image'ları için sizin oluşturduğunuz vm image'larına ihtiyaç duyuyor. Bu özelliğin artıları olsa da bazı handikapları olduğu ortada.    

Teknik Analiz

McAfee ATD'yi sample'lar ile besleme işlemini McAfee IPS ve Web Gateway ile yaptım. McAfee ATD henüz çok yeni bir ürün. Kağıt üstünde sunduğu özellikleri şayet ileride gerçekleştirilebilirse kendini rakiplerinden sıyırabilen bir ürün olması kuvvetle muhtemel. Ancak PoC’ler esnasında yeni bir çözüm olmasından kaynaklanan bir çok irili ufaklı sorun yüzünden bir türlü istenen verimi alamadım. Analiz sürelerinin uzunluğu,  kuyrukta bekleyen sample’ların çok kısa bir süre içinde analiz sürecini imkansız kılacak sayılara ulaşması, False Positive sonuçlar türemesi gibi problemlerle karşılaştım. Analiz aşamasında ki sıkıntılar muhtemelen IPS entegrasyonu ile ilgili bir sıkıntıydı ki aynı sorunları Web Gateway ile kurulan entegrasyonda yaşamadım. PoC sırasında çıkan yeni güncellemeyi de geçtiğimde False Positive sonuç oluşması problemi de ortadan kayboldu. Bunun gibi birçok ürün odaklı sorunu tedarikçi ve üretici firma ile paylaştım. Kendileri ATD’ye oldukça ciddi yatırımlar yaptıklarını, sürekli yaptıkları iyileştirme güncellemeleri ile ispat ediyorlar. Ancak tekrar etmek gerekirse mevcut durumu ile bir APT engelleyici çözüm olarak pazardaki rakiplerinin seviyesine erişmesi için çok daha olgunlaşması gerekliliği satın alma kararlarınızda göz önünde bulundurmanızda fayda var.


TREND MICRO Deep Discovery Inspection & Analyzer


Ticari Analiz

Trend Micro çözümünü 2 ayrı cihaz ile sunuyor. Deep Discovery Inspection (DDI) ve Deep Discovery Analyzer (DDA) olarak isimlendirilen kutular dan Inspection olanı  ağ üzerinden kendisine gönderilen trafik içerisinden web protokolü analizleri gerçekleştirirken, Analyzer adlı kutu Inspection’dan kendisine gönderilen executable’ların analizlerini gerçekleştirmekte. Email güvenliği için Trend Micro’da tıpkı FireEye gibi farklı bir kutu sunmakta. Manuel sample analizlerini ise DDA üzerinden gerçekleştirebiliyorsunuz. DDA üzerinde de ki sandbox'lar da sizin oluşturduğunuz Vm Image'lar ile çalışıyor.

Teknik Analiz

TM kutularını 1Gb throughput altında çalışabileceği bir trafik altında test ettim. Yapısı gereği sadece web protokollerine ait tanıdığı extensionlar üzerinde analizler gerçekleştirebilen DDI, ortamdan yakaladığı sample'ları DDA'ya göndererek gayet makul sürelerde analizler gerçekleştirdi. Mirror bir trafikle çalışan DDA, analiz sonucu zararlı olduğunu tespit ettiği sample için blocklama yeteneğinden mahrum. Ancak DDI inline konumlandırıldığı durumlarda bilinen C&C haberleşmelerini RST flag'i ile bloklayabiliyor. TM'nun analiz sonucu raporları ve Dashboard'u oldukça zengin ve doyurucu bir içeriğe sahip.


Sonuç


ATD çözümleri henüz uzun yıllardır pazarda olan seçenekler değil. Olgunlaşmaları ve geliştirmeleri gereken bir çok eksiklerinin olduğu ortada. Analiz ortamlarını ve yeteneklerini iyileştirdikce ve farklı katmanlarda ki Breach Detection sistemleri ile entegre oldukça çok daha iyi çözümler sunan ürünler olmaya devam edeceklerini umuyorum. Özellikle dinamik analizlerde başarılı grafikler çizen ATD teknolojisi bunu ne yazık ki static analizlerine yansıtamıyor görünüyor. Ticari veya serbest geliştirici olarak ATD ürünü geliştirenlere acizane önerim analiz aşamasının ilk fazını static analiz testlerine göre skorlamaları ve ardından dinamik analiz ve davranış analizi sonuçlarına göre ilgili sample için aksiyon almaları yönünde olacaktır. Böyle bir yaklaşımın otonom zararlı analizinin tüm katmanlarını çok daha iyi adresleyebileceğini düşünüyorum.

Özetle günümüz konjektüründe bu ürünlerden beklediğiniz "Maliyet/Güvende Hissetme" dengesi ne yazık ki tatmin edici seviyede değil. Bu nedenle güvenlik yatırımlarınızı, en az bu ürünlere ödediğiniz kadar tecrübeli insan kaynağına da yönlendirmenizi tavsiye ederim.

Not: Şayet Gartner müşterisi iseniz ATD pazarına ait güzel bir yazının linki şöyle: Five Styles of Advanced Threat Defense

Sağlıcakla kalın,

İbrahim AKGÜL - 2015