ZARARLI YAZILIM ANALİZ EĞİTİMİ | Write-Up




    Bu yazımda 16.11.2020 – 20.11.2020 tarihleri arasında Bilişim Vadisi & Isparta Uygulamalı Bilimler Üniversitesi iş birliğinde gerçekleştirilen ve Dr. Ahmet Ali SÜZEN tarafından verilen “Zararlı Yazılım Analizi Eğitimi” ile elde ettiğim bilgileri paylaşacağım.

Bana birçok yeni bilgiler öğreten eğitimin sizlere de fayda sağlaması amacıyla bu konuda yazmaya karar verdim. Keyifli okumalar dilerim.

Öncelikle belirtmek isterim ki; farklı ve geniş kitlelere hitap eden eğitim teorik bilgiler ve uygulama kısmı olmak üzere iki kısımda gerçekleşti. Bu sebeple bende sizlere zararlı yazılım analizi ile ilgili ilk olarak teorik bilgileri aktaracağım. Sonrasında eğitim ve araştırmalarımla yaptığım birkaç uygulamayı göstereceğim.

Zararlı yazılım analizi gerçekleştirebilmek için öncelikle zararlı yazılımın ne demek olduğunu ve türlerini bilmememiz gerekir. Zararlı yazılımı kısaca tanımlamak gerekirse; kullanıcının bilgisi ve kontrolü dışında hareket eden her türlü yazılımlardır.

Zararlı yazılımlar; e-posta ekleri, web sitelerindeki zararlı reklamlar, sahte yazılım yüklemeleri, virüslü USB veya harici sürücüler, virüslü uygulamalar ve metin mesajları gibi birçok zararlı içeriklerden bilgisayarlara bulaşabilmektedir.

Sık karşılaşılan zararlı yazılım türlerine aşağıdaki tabloda yer verdim.

En Çok Görülen ve Karşılaşılabilen Zararlı Yazılım Çeşitleri

Virüs

Kendi başına faal olmayan, çalıştırılabilen programlara kendini ekleyen, eklendiği programların yapısını değiştiren ve kendi kendini çoğaltabilen kötü amaçlı programlardır.

Solucan(Worm)

 

Kendi kendine kopyalanarak çoğalan kötü amaçlı yazılım türüdür. Sistemin yapısını bozma ya da yavaşlatmaya yönelik çalışırlar. Her bir cihazın güvenlik açıklarından faydalanarak ağlar üzerinden yayılabilirler.

Reklam Yazılımı(Adware)

 

Bilgisayarlara bazı yazılımlarla yerleşen ve istenmeyen reklam göstererek kullanıcıları farklı sitelere yönlendiren zararlı yazılımlardır.

Casus Yazılım(Spyware)

 

Genellikle web siteleri üzerinden açık portlardan sisteme girerek kullanıcının onayı ve bilgisi olmadan bir bilgisayardan veri toplayarak bu verileri üçüncü şahıslara iletmek için tasarlanan yazılımlardır.

Dosyasız Zararlı Yazılım (Fileless)

 

Dosyasız zararlı yazılımlar dosya sistemini doğrudan kullanmazlar. Dosyaları ve dosya sistemini kullanmak yerine sadece belleği istismar etmek/bellekte yayılmak ya da registry anahtarları gibi çeşitli işletim sistemi objelerini kullanarak sisteme zarar verirler. Sıfır ayak izi saldırısı da denilebilir.

Scareware

 

Gerçek olmayan senaryolarla korkutan ve yazılımı satın almaya teşvik eden yazılımların genel adıdır. Genellikle web sitelerinde yönlendirme reklamları olarak karşımıza çıkar.

Botnet

Robot ve Network kelimelerinin birleşiminden oluşur. Birçok bilgisayarın kontrolünün ele geçirildiği ve tüm virüslü makinelerin uzaktan yönetebildiği zararlılardır. Botnet yazılımları bulaştığı bilgisayardan verileri sızdırma yeteneğine de sahiptir.

Phishing

 

Kullanıcının özel bilgileri, şifreleri, banka hesabı bilgileri veya herhangi bir sistemdeki oturum bilgilerini ele geçirmek amaçlı hazırlanan yazılımlardır.

 

Yukarıda zararlı yazılım türlerinden bahsettim. Şimdi zararlı yazılım analizini ele alalım. Zararlı yazılım analizi temel olarak 5 adımda gerçekleşir. Bu adımları aşağıdaki gibi sıralayabiliriz.

        1. Giriş Noktası: Zararlı yazılımın sisteme hangi yolla bulaştığıdır. Herhangi bir zararlı yazılım                 web sitesi, phishing, usb cihazı vs.

        2. Dağıtım: Zararlı yazılımın trafiği, java, flash player vb. uygulamaları kontrol eden sunucudan             gelen bir işlemle başlar.

        3. Exploit: Sistemde çalıştırılmak için ve ayrıcalığını yükseltmek için hazırlanan kod                                 parçacıklarıdır.

        4. Enfeksiyon: Başarıyla çalışan bir exploitin, erişimini sağlamlaştırmak ve uzaktan erişim ile                 dosya yükleme, indirme gibi işlemleri gerçekleştirmek için sisteme bir payload yüklemek.

        5. Saldırı: Uygulama aşamasıdır.

ZARARLI YAZILIM ANALİZİ YAPABİLECEĞİMİZ ALANLAR

1. Windows Registry Analizi:

    Windows Registry, işletim sisteminin veya kurulu uygulamaların konfigürasyon bilgilerini ve seçeneklerini saklayan bölümdür. Zararlı kodlar registry kayıtlarını kendi amaçları doğrultusunda kullanırlar. Windows Registry kayıtlarını inceleyerek sistemimizde kontrolümüz dışında işlem gerçekleşip gerçekleşmediğini tespit edebiliriz.

Windows Registry kayıtları arasında 5 adet rootkey bulunur. Sistemimizde şüphelendiğimiz bir durum oluştuğunda bu “rootkey” leri inceleyebiliriz.

Başlat menüsüne “regedit” yazarak, kayıt defterine ulaşabiliriz.

Resim1: Registry(Kayıt Defteri)

1.       2.Msconfing Analizi:

    Sistem açılışı esnasında hangi yazılımların otomatik olarak başlayacağı bilgilerini gösteren programdır. Aynı zamanda başlatılan servisler, üretici bilgileri ve servislerin durumu hakkında bilgi edinebilmemizi sağlar.

Bilgisayarımız açıldığında ilk çalışan programları burada görebilir ve işlemlerimiz doğrultusunda yönetebiliriz.  Sistemimizin açılışında zararlı bir yazılımın çalışıp çalışmadığını burada görebiliriz.

Başlat menüsüne “msconfing” yazarak, Görev Yöneticisine ulaşabiliriz.

Resim2: Görev Yöneticisi

3.Hosts Dosyası Analizi:

    Linux, Windows gibi işletim sistemleri üzerinde “hostname” verilerini “IP” adrese göre düzenleyen dosyadır. İçeriği tamamen düz metindir ve burada yapılacak değişiklikler ile mevcut sistem farklı adreslere yönlendirebilir.

C:\Windows\System32\drivers\etc  yolu ile “hosts” dosyasına ulaşabiliriz.

Host doyasını not defteri ile açtığımızda ikinci resimdeki gibi çıktı elde ediyoruz. Burada # ile başlayan kısımlar açıklama kısımlarıdır. Eğer burada # ile başlamayan bir veri varsa bu verilerin botnet olabileceği düşünülerek farklı IP adreslerine yönlendirme yapıp yapmadığına bakılmalıdır.



Resim3,4: Host dizini

1.      4.Dosya Sistemi Analizi:

    Dosya sisteminde gerçekleşen değişikliklerin tespit edilmesi önemlidir.  var olan değişikliklerin tespit edilmesi önemlidir. Özellikle belirli dizinler altına eklenen yeni dosyalar incelenmelidir.

C sürücüsünde yer alan klasörleri açıp “Görünüm” sekmesinden “Dosya adı uzantıları ve Gizli dosyalar” seçeneklerini işaretleyerek gizli dosyaların ve uzantısı değiştirilmiş dosyaların var olup olmadığını tespit edebiliriz.

2.      5.Kullanıcı Hesapları Analizi:

    Zararlı yazılımların sisteme yeni bir kullanıcı oluşturabilir. Bundan dolayı sistemde olan kullanıcı hesaplarını kontrol edilmesi gerekir.

Komut satırına “net localgroup” yazarak kullanıcı hesaplarına ulaşabiliriz.

Resim5: "net localgroup"

6.Olay Kayıtları(Event Log) Analizi: 

    Windows tarafından sunulan yazılımlardan biridir. Sistem üzerinde yapılan değişiklikler 3 kategoride kaydedilir/loglanır. Bunlar sırasıyla uygulama günlüğü, güvenlik günlüğü ve sistem günlüğü olarak incelenir. Bu loğları kontrol ederek sistemimizde kontrolümüz dışında gerçekleşen bir işlem olup olmadığını bulabiliriz.

Resim6: Güvenlik Kayıtları

Sizlere, bu bilgileri verdikten sonra şimdi zararlı yazılım analizinin gerçekleştirilmesi aşamalarından bahsedeceğim.

ZARARLI YAZILIM ANALİZİ TÜRLERİ

Zararlı yazılım analizi “statik analiz” ve “dinamik analiz” olmak üzere 2 şekilde gerçekleştirilebilir.

Bu kısımda sizlere “statik” ve “dinamik” analizin ne olduğunu anlatacağım.

Statik analizi zararlı yazılımın (Malware) sitem üzerinde çalıştırılmadan kodlarına bakarak incelenmesi olarak tanımlayabiliriz.

Dinamik analizi ise zararlı yazılımın Sandbox gibi ortamlar üzerinde çalıştırılarak davranışlarının çeşitli araçlarla analiz edilmesi olarak tanımlayabiliriz.

Dinamik analiz sırasında zararlı yazılım aktif olarak çalıştırılacağı için önlem alınsa bile risklidir. Sistem üzerinde çalıştırıldığında sitemi bozabilir, verileri silebilir. Dinamik analiz gerçekleştirirken Sandbox, WM gibi yalıtımlı ortamlarda çalıştırılmalıdır. 

        Sandbox demişken açıklamak gerekir.

Sandbox, kötü amaçlı yazılımların(virüs, trojan, rootkit, bootkit vs.) çalıştırılarak(dinamik analiz), davranışlarının otomatik olarak analiz edildiği ortamlardır. Bu ortamlar; verilen örnekleri çalıştırarak arka planda dosya sisteminde, registry kayıtlarında, bellekte ne değişiklik yapıyor, ağ üzerinden hangi adresler ve protokollerle konuşuyor, hangi süreçleri ve API leri çağırıyor gibi başlıklar halinde toplayarak rapor halinde sunarlar.

        Zararlı yazılım analizinde bizler için önemli noktalardan bir tanesi de hash değerleridir. Peki bu hash değeri(özet fonksiyonu) nedir?

Hash(özet) değeri, her girdi için sabit uzunlukta çıktı oluşturan tek yönlü bir fonksiyondur. Yani özet fonksiyonundan veri elde edilemez. Verinin bütünlüğünün bozulup bozulmadığının tespiti aşamasında çok önemlidir. Burada bir not eklemek istiyorum. Bir dosyanın ismi değişse bile içeriği değişmediği sürece hash değeri değişmez. Zararlı yazılım analizinde karışımıza çıkacak genel bilgileri verdikten sonra uygulama aşamasına geçelim.

 ZARARLI YAZILIM ANALİZİ UYGULAMALARI

    Zararlı yazılımların büyük oranı Windows sistemler üzerinde etkili olduğu için analiz yaparken zararlı yazılımın etkili olduğu alanları daha iyi tanıyabilmek adına sanal bir sunucuya Windows 10 işletim sistemi kurdum. Bu sebeple tüm işlemlerimi sanal sunucudaki Windows 10 işletim sistemi üzerinde gerçekleştirdim.

Zararlı yazılım analizi için tasarlanmış ücretsiz ve açık kaynaklı, Windows tabanlı bir güvenlik dağıtımı olan “Flare WM” aracını sanal makinemize indiriyoruz ve gerekli işlemleri yaparak kurulumunu yapıyoruz.  Flare WM aracı içerisinde kategorilere ayrılmış olarak 200 ün üzerinde tool vardır. Statik ve dinamik analizlerde, network analizlerinde ve güvenlik açığı incelemelerinde kullanılacak birçok uygulama içerisinde mevcuttur.

Flare Vm aracını https://github.com/fireeye/flare-vm sitesinden zip dosyası olarak indirebilirsiniz.

Programın kurulumunu şu linkteki videoyu izleyerek yapabilirsiniz. https://www.youtube.com/watch?v=Om9lX6QYAvE

Kurulumu tamamladıktan sonra FLARE klasörü içerinde zararlı yazılım analizinde kullanabileceğimiz birçok tool kategorize şekilde hazır oluyor. Her bir kategoride birden çok uygulama bulunmaktadır.


Resim7: FLARE dizini

Zararlı bir kod içerdiğini düşündüğümüz dosyalarımızı veya uygulamalarımızı buradaki ilgili toollar ile statik olarak analiz edebiliriz.

Şimdi sizlere birkaç uygulama göstereceğim.

1.      1.Uygulama  

Sanal makinemde bulunan bir .exe dosyanın zararlı yazılım içerip içermediğini analiz etmek için Flare WM aracında bulunan “pestduio” toolu ile açtım.  Bu exe dosyanın kaynak kodlarını, başlıklarını(header), hash değerini ve VirusTotal analizi sonuçlarını inceleyerek dosyanın zararlı yazılım içerip içermediğini tespit ettim.

Resim8: petstudio

Zararlı Yazılım Analizinde ilk akla gelen VirusTotal’dir. Peki bu VirusTotal nedir?

VirusTotal, ücretsiz olarak dosya taramasına izin veren bir web sitesidir. Çok sayıda anti-virüs yazılımlarındaki şartlara bağlı olarak dosyanın içerisindeki zararlı olabilecek yazılımlar hakkında rapor verir.

1.      2.Uygulama  

Günümüzde birçok saldırı e-postalar üzerinden gerçekleşmektedir. E-posta ile bizlere gelen eklerde zararlı yazılım içerebilmektedir. Bu zararlı yazılımların var olup olmadığını tespit etmek için birkaç adımı uygulayabiliriz.

Burada şunu bilmek gerekir: Office dosyaları içerinde “exe dosyası”, “kaynak dosyası” ya da “javascript kodu” yoksa kendi başlarına bir zararlı faaliyet gerçekleştiremezler. Örneğin Word, pdf, excel veya powerpoint dosyalarının zararlı olabilmesi için içerisine zararlı yazılım eklenmiş olması gerekir.



Office dosyaları aslında birer sıkıştırılmış dosyadır. Analiz yapmak istediğimiz Office dosyaları açıp incelemeye çalıştığımızda içerisinde zararlı yazılım varsa aktif olacaktır ve amacı doğrultusunda zarar verecektir. Dosyayı açmadan ve içerisindeki zararlı yazılımı aktif etmeden incelemek mümkündür.

Office dosyalarının uzantısını değiştirerek sıkıştırılmış dosya elde edebiliriz. Daha sonra bu sıkıştırılmış formattaki dosyaları WinRar gibi programlarla ayrıştırarak içerisindeki tüm verilere ulaşabiliriz. Böylece zararlı yazılımı aktif etmeden inceleme yapabiliriz.

Örnek olarak; kk.doc dosyasını uzantısını .zip olarak değiştirdim. Zip dosyasını ayrıştırınca ilk resimdeki gibi dosyanın yapısını elde ettim. Daha sonra dosyanın içerik bilgisinin yer aldığı “Content_Types.xml” dosyasını not defteri ile açtım. Burada dosyanın içeriğine dair kodları analiz ederek zararlı bir kod içerip içermediğinin tespitini yaptım. Böylece bir dosyayı hiç açmadan varsa içerisindeki zararlı yazılımı aktif etmeden statik analiz gerçekleştirdim.

Resim9: Content_Types.xml

1.      3.Uygulama 

    E-posta ile bir Word dosyasının tarafımıza geldiğini varsayalım.

Word dosyasını bilgisayarımıza indirebiliriz. Ancak burada kesinlikle ve kesinlikle çift tıklayıp dosyayı açamamalıyız. Eğer bu dosya da bir zararlı yazılım varsa çift tıklayıp açtığımız an aktif olur ve zarar vermeye başlar.

Aşağıdaki adımları takip ederek bu dosyanın zararlı bir yazılım içerip içermediğini tespit edebiliriz.

        1. Dosyayı VirusTotal’ e yükleyip, zararlı yazılım içerip içermediğine bakabiliriz.
        
        2. Dosyayı hiç indirmeden hash fonksiyonunu oluşturup, bu hash fonksiyonunu VirusTotal de                 aratarak zararlı yazılım içerip içermediğine bakabiliriz.
        
        3. Dosyayı metin editörü(not defteri, notepad) ile açıp içeriğine bakabiliriz.
        
        4. Uzantısını değiştirerek sıkıştırılmış formatta görüntüleyip sonra ayrıştırarak analiz yapabiliriz.
        
        5. https://app.any.run gibi çevrimiçi Sandbox içerisine dosyayı yükleyip analiz edebiliriz.
        
        6. Zararlı yazılım analizi yapan yazılımlarla inceleyebiliriz.(Örneğin Flare WM toolları)

Küçük bir not eklemek isterim. Zararlı yazılımları çevrimiçi olarak analiz eden ortamlar(sandbox) vardır. Zararlı olduğundan şüphe ettiğiniz dosyalarınızın otomatik analizini yapabilmek için https://app.any.run ve https://sandbox.anlyz.io/ sitelerinde yer alan çevrimiçi Sandbox’ları kullanabilirsiniz.

Zararlı Yazılım Analizi Eğitimi için Sn. Dr. Ahmet Ali Süzen hocama ve Bilişim Vadisi’ne teşekkürlerimi sunuyorum. Benim birçok yeni bilgi elde ettiğim eğitimin sizlere de fayda sağlamasını amaçladım. Umarım faydalı olur.

Heyecan ve merakla öğrendiğim bilgilerle derlediğim yazım sizlerle, kendinizi geliştirmek istediğiniz yolda ışık olmasını dilerim. Sağlıkla kalın.

  

Kaynaklar:

> Bilişim Vadisi- Zararlı Yazılım Analizi Eğitimi

> https://github.com/fireeye/flare-vm

> https://www.youtube.com/watch?v=Om9lX6QYAvE

> https://www.virustotal.com/gui/

Bir sonra ki eğitimden görüşmek dileğiyle, Güvenli ve Sağlıklı günler dileriz.



Yorum Gönder

0 Yorumlar