Malware Analiz Süreci ve Lab Ortamının Hazırlanması

Merhaba Arkadaşlar,

Bu makalemizde Malware Analizine Giriş ve bazı uygulamalardan bahsediyor olacağım.

Malware dediğimiz içerisinde zarar vericek bazı araç ve fonksiyonları barındıran sistemin genel adıdır diyebilirim.İngilizce Malicious software (kötü amaçlı yazılım) ifadesinin kısaltmasıdır. Esas hedefleri özelden genele doğru sıralamak gerekir ise normal işlerde kullanılan bilgisayarlardaki kullanıcıların bilgilerini çalmaktan tutun, parola, kullanıcı adı gibi size özel sistemsel ve bireysel verileri ele geçirmeyi hedefleyen, bilgisayarınızı başkalarının kontrolüne açmak ile kalmayıp eğer bir etki alanı içerisinde bir makina ise etki alanı içerisinde yayılarak bir çok yönetimsel sisteme girme faliyeti ile ciddi zafiyetleri beraberinde getiren uygulamalar bütünüdür.

Malware grubu içerisinde nelerin olduğunu tespit etmek gerekir ise (virüs, trojan,Backdoor,Worm)gibi kötü amaçlı programlar bütünüdür diyebilirim.

Güvenlik alanında her ne kadar gelişmiş sistemler olsada Malware tehlikesi özellikle son kullanıcı alanında hala etkin bir tehtit olduğunu söylemeliyim.Malware dünyasında iki şekilde bu zararlıların yaşam alanları vardır bunlar;

*İnternet üzerindeki hazır script ve yazılım kullanarak geliştirme yöntemi ile;

*Yazılım kullanmadan, programlama dili bilip kendisine özel malware geliştirme yöntemleri mevcuttur.

Tabi günümüzde Malware yakalanma oranı yüksekte olsa yakalama noktası esasında orjin signature kısmındaki algoritmanın uyumlu olup olmadığına bakarak karşılaştırırlar.Bu yöntem çoğu zaman başarılı olarak görülebilir fakat günümüzdeki gelişmiş kötücül yazılımlar bu yöntemle maalesef tespit edilemez. Bunun nedeni:

1-Bir malware in sürekli olarak evrim geçirmiş farklı versiyonları çıkması ve bununda bir sonucu olarak imzanın sürekli değişmesine neden olması.

2-Farklı yöntemlerle (encryption, encoding, kod bulanıklaştırma-obfuscation) yöntemleri ile imzanın değiştirilebiliyor oluşudur.

Malware analizi teknikleri genelde bir kaç şekilde yapılmaktadır.Bunlardan en önemlisi  Dinamik Analiz diğeri ise Statik Analizdir.Bunların özelliklerinden bahsetmek gerekir ise ;

Memory Analiz: Bir bellek dökümü (ayrıca bir çekirdek dökümü veya sistem dökümü olarak da bilinir), bilgisayar bellek verilerinin belirli bir andan anlık görüntüsüdür. Bir bellek dökümü, kaza veya güvenlik tehlikesi gibi bir olaydan önce sistemin durumu hakkında değerli adli veriler içerebilir. Bellek yığınları, bir olayın nedenini ve olanlarla ilgili diğer önemli ayrıntıları tanımlamak için kullanılabilecek RAM verilerini içerir.Ortamda zararlı bir yazılımın etkilediği ilk alanlardan bir tanesidir.Anlık alan kaplaması ile beraber fiziksel değişimleri oluşturan bu türün analizi makinanın davranışsal değişimlerinin gözlemlenmesi ile ve bu değişiklikleri hangi işlemin yaptığının tespiti ile ilgilidir.

Statik Analiz:Bu analiz türünde gerçek kodu veya talimatları görüntülemeden kötü amaçlı yazılımı inceler. Bir dosyanın kötü amaçlı olup olmadığını hızlı bir şekilde belirlemek, işlevselliği hakkında bilgi sağlamak ve basit imzalar üretmek için teknik göstergeler toplamak için farklı araçlar ve teknikler kullanır. Temel statik analizle toplanan teknik göstergeler arasında dosya adı, MD5 sağlama toplamları veya karmalar, dosya türü, dosya boyutu ve antivirüs algılama araçları tarafından tanınması yer alabilir.

Dinamik Analiz: aslında davranışlarını gözlemlemek, işlevselliğini anlamak ve algılama imzalarında kullanılabilecek teknik göstergeleri tanımlamak için kötü amaçlı yazılımlar çalıştırır. Temel dinamik analizlerle ortaya çıkan teknik göstergeler, alan adlarını, IP adreslerini, dosya yolu konumlarını, kayıt defteri anahtarlarını, sistemde veya ağda bulunan ek dosyaları içerebilir.

Ek olarak, komut ve kontrol amacıyla veya ek kötü amaçlı yazılım dosyaları indirmek için saldırgan tarafından kontrol edilen bir harici sunucu ile iletişimi tanımlayacaktır.Temel analiz, çoğu otomatik sanal alan veya dinamik kötü amaçlı yazılım analizi motorunun bugün yaptığı şey olarak düşünülebilir.

Pek çok kötü amaçlı yazılım analizcisinin temel analiz için çeşitli araçlarla manuel olarak yaptığı şey, ticari sanal alanlar, açık kaynaklı projeler veya çeşitli zaman ve kaynak nedenleriyle özel çözümler aracılığıyla otomatik analizle değiştirilebilmektedir.

Temel statik analiz yaparken, kötü amaçlı yazılım hakkında mümkün olduğunca fazla bilgi toplamak için farklı araçlar ve teknikler kullanılır. Genellikle, ilk adım, bir virüsten koruma motorunun kötü amaçlı olarak algılayıp algılamayacağını belirlemek için kötü amaçlı yazılımı taramaktır. Bu, çoklu tarama motorlarının özel kurulumu veya VirusTotal gibi çevrimiçi bir tarayıcıya gönderilmesiyle yapılabilir.

Çevrimiçi araçları kullanmanın, birinin kötü amaçlı yazılımını analiz ettiği kötü niyetli oyuncuya ipucu verebileceğini unutmamak gerekir.

Bu nedenle ben genel olarak analiz tekniklerini uygular iken genelde dosyayı karma alarak başlarım. Karma, kötü amaçlı yazılımın parmak izi işlevi görür ve hangi bilgilerin mevcut olduğunu görmek için arama yapmak için bunu kullanırım. Kullanılan en popüler karma algoritması MD5’tir. Bununla birlikte, çeşitli SHA algoritmalarını ve hatta SSdeep’i kullanmak da bu analizde ek bilgiler sağlayabilir.

Daha sonra, dosyanın başlıkları, işlevleri, dizeleri vb. Hakkında mümkün olduğunca fazla bilgi edinmelisiniz. Bu ayrıntılar, ortamınıza ek enfeksiyon belirtileri aramaya başlamak için kullanabileceğiniz bazı basit göstergeler sağlayacaktır. Bu, göstergelerle veya bu bilgiyi kullanarak, yara kuralı gibi özel bir tarama imzası oluşturmak için yapılabilir.

Dinamik analiz, temel malware analizinin dosya sistemi ve ağ tespiti için en faydalı göstergeleri sağlayabilen kısmıdır. Bu aşamada, analistin zararlı yazılımları çalıştırabileceği ve davranışlarını gözlemleyebileceği güvenli bir ortamın olması önemlidir.

Analistin sistem süreçlerini, dosya sistemini ve kayıt defteri değişikliklerini ve ağ etkinliğini izlemek için çeşitli araçlara ihtiyacı olacaktır. Kısacası, kullanılabilecek tüm açıklamaları ve araçları incelemem. Önemli olan, analistin araçlardan veya kişisel tercihlerden bağımsız olarak kötü amaçlı yazılımı izleyebilmesidir. Ayrıca, araç seçimindeki eksiklikleri ve kötü amaçlı yazılımın kullanımını nasıl tespit edebileceğini ve izlemeden kaçınabileceğini anlamak da önemlidir.

Kötü amaçlı yazılım yazarları otomatik analize bağlılığı anladıkları için, bugün oluşturulan Malware paketlerinde bunu anladığı anda veya böyle bir durum tespit ettiğinde farklı davranmaya başlayabilir. Bu temel statik analizi pek etkilemez, ancak temel dinamik analizin sonuçlarını büyük ölçüde değiştirebilir.

Bu, temel dinamik analizin manuel işlemine geri dönmenin ve kötü amaçlı yazılımlar hakkında genellikle temel analizlerle açıklanmayan ek ayrıntılar sağlamak için gelişmiş tekniklerin kullanılmasının önemini ortaya koymaktadır.

Kötü amaçlı yazılımın nasıl çalıştığını ve onunla ilişkili teknik göstergelerin anlaşılması, kötü amaçlı yazılımın tespit edilmesi ve ağ ortamının korunması için son derece önemlidir. Temel analizden toplanan göstergeler bile ağ boyunca dağıtılan ek kötü amaçlı yazılımları belirleme konusunda bir oyun değiştirici olabilir.

Malware Analizinde 2 tip analiz sahası vardır

1.cisi Online Analiz araçlarını kullanarak analizi gerçekleştirmek;

2.cisi ise kendi Malware Lab ortamını oluşturmak;

Malware Analizinde kullanılan teknikleri kısaca tanımladıktan sonra sıra geldi Malware analizinin yapılacağı LAB ortamının hazırlanmasına.Tabiki direk analiz sürecinden başlamıyoruz.Öncelik ile bu analiz ortamının hazırlanması gerekiyor.Peki bizim bu tarz analizler için neden bir Malware Analiz Lab ortamına ihtiyacımız mevcut bunu irdelemek gerekir ise;

*Enfeksiyon riskini azaltmamıza yardımcı olur

*Ağınıza nelerin girdiğini kontrol etme şansına sahip olursunuz.

*Malware Analiz hızınızı arttırır.

*Bir çerçeve oluşturmanıza yardımcı olur

*TTP’yi ve IOC’yi tanımlamanıza yardımcı olur (CTF’ler, CrackMe, Test Etme, Kullanma ve daha fazlası…)

Öncelikle kendi Malware Analiz Lab.ımızı kurmak için bize 3 aşamalı bir alan gereklidir.Bunları listelemek gerekir ise;

1.Sanal Ortam

2.Network Ortamı

3.Uygulama Analiz Programları

Sanal lab ortamı oluşturmak için kullanacağınız sistemler bu noktada önemlidir. Birkaç yedek makineniz, lisansınız ve bunun için özel bir fiziksel alanınız yoksa veya belirli noktalarda Laboratuarınızı yanınızda taşımak istiyorsanız, bazı Sanallaştırma Yazılımları kullanmanız gerekecektir. Bu alanda birkaç seçenek var ancak bunların çoğu ücretli olduğundan ötürü maliyet etkinliği söz konusu olabiliyor.Benim bu noktada lab ortamı için kullandığım VMWare veya VirtualBox ile devam etmenizi öneririm.Bunu önermemin sebebine gelirsek ikiside belirli noktalarda free ürünler olduklarından ötürü bu tarz bir lab ortamı oluşturmak için maliyet sorunu yaşamazsınız. Sanallaştırma yazılımı, tüm laboratuarınızı tek veya birden fazla makinede barındırmanıza izin ve son derece kullanışlı bir başka özellik de enstantanedir. Bu, makinelerinizin durumunu temiz bir duruma döndürmenize olanak tanır; böylece uzun süre çalışmanızın izini sürmek için oldukça yararlı, tekrar tekrar bir analiz başlatabilirsiniz.

Sanal makinamızı hangi aşamalar ile kurmamız gerektiğini öğrendikten sonra sıra  lab ortamınızı oluşturmanın en önemli adımlarından biri olan Network ağını tanımlamaktır. Bu adım, birçok insanın düşündüğünden daha önemlidir ve işte bunun nedenlerinden bazılarını anlatmak gerekir ise;

*Lab ortamınızda kurduğunuz sistemde trafik bazında neyin çıkıp neyin gireceğini kontrol etmemiz gerekir.

*Alışılmadık kalıpları veya bağlantı girişimlerini anlamdırabilmemiz için yalıtım önemlidir.

*Analiz sistemleriniz ve Ağ arasındaki trafiği herhangi bir bulaşma riskine karşı kesmemiz gerekir.

*Analiz sistemlerini diğer bilgisayarlardan izole edilmesi ortam güvenliği açısından önemlidir.

Buradaki diğer önemli adım, ağ trafiğinizi kontrol etmek ve laboratuvarınız için bir ağ geçidi görevi görmek için özel bir makineye ihtiyacınız olacağını aklınızda bulundurmanızdır.

Sanallaştırma yazılımını kullanıyorsanız, sanal ağınızı nasıl kurduğunuz daha önemli. Oluşturduğunuz lab ortamındaki sanal makinalarınızın network konfigürasyonu için 3 seçeneğimiz mevcut.

*Köprü Bağlantı Tipi(kullanmayın)

*NAT Bağlantı Tipi

* Server Read Tipi

Lab ortamında hiçbir zaman Bridged modunu kullanmayın, bu kişisel ve ortamda kurumsal ağınızı tehditlere maruz bırakabilir ve diğer sistemlere virüs bulaşmasını tektikleyebilir.Bu da tabiki kurumunuzun dünyanın en büyük lab sahasına dönmesine sebep verebilir.Kuracağınız network ağında Yalnızca Ana Makine üzerindeki  sanal sisteminizi Nat ağına dahil ederek çalışmanızdır.Bunun yanında

DHCP’yi devre dışı bırakmanızı tavsiye ederim, böylece ideal lab ortam tasarımınıza bağlı kalabilirsiniz.

Kötü amaçlı yazılımları analiz edecekseniz, örneklerinizi çalıştıracağınız ve araçları çalıştıracağınız farklı sistemlere ihtiyacınız olacak. Ayrıca Statik ve Dinamik Analiz yapılacak yerleri de dikkate almanız gerekebilir.Seçtiğiniz sistemlerin her biri için, onları ayarlamak için bazı basit adımları izlemeniz gerekmekte bunlardan bahsetmek gerekir ise;

*Operative System ve Security güncellemelerini yükleyin

*Analiz için gerekli olucak yazılımı yükleyin (Chrome veya Firefox, Office Araçları, E-posta istemcileri vb. Tarayıcılar)

*Malware Analiz araçlarını yükleyin. Windows için, bir kısmını otomatikleştirmek için Flare VM’yi kontrol edebilirsiniz.

*Ağ yapılandırmasını ayarlayın.

*Snapshot tarafında makinanızın konfigürasyonu tamamlandığında temiz durumda kaydedin.

Bu basitleştirilmiş 5 adım, analizinizde ilerlemeniz gereken makineleri ayarlamanıza yardımcı olacaktır.Bunun yanında İşletim sistemi bazında ise kullanmanız için önerebileceğim bazı seçenekler;

*Windows 10

*Windows 7

*Linux (Ubuntu Sunucusu 16.04)

*Metasploitable 2, başka bir seçenek de Metasploitable 3 kullanmak olacaktır.

*REMnux

*Kali Linux

Listeye ekleyebileceğiniz bir şey, OSX veya Android içeren bir Sanal Makine olabilir, ancak yukarıdaki sistemler üzerinde kontrollü bir ortamda çok çeşitli tehditleri analiz edebilme imkanınız mevcut durumdadır.

Malware  Analizi için başlangıç olarak 3 Sanal Makina(VM) ile başlamak için ideal bir başlangıç olabilir düşünsesindeyim.Bunun dışında  Özel bir şey denemek istemeniz durumunda, zafiyete açık bir makineye sahip olmanızı tavsiye ederim.Daha önce önerilen işletim sistemlerinden REMnux ve Kali’den bahsettim ve kuracağınız ortamda bunlardan birinin Gateway’iniz olması gerekiyor. Her ikisi de güvenlik için son derece kullanışlıdır, REMnux, Malware Reverse Engineering için özel bir sistemdir ve bu amaç için bir dizi kullanışlı araçla birlikte gelir. Kali, Penetrasyon Testi ve Etik Hacking tarafı için özel bir Linux dağıtımıdır, çok sayıda araçla ve saldırgan eylemler için analiz sırasında ihtiyaç duyulan belirli eylemlerde daha kullanışlı olabilir.

Kötü Amaçlı Yazılım Analiz faaliyetleri sırasında REMnux sizin ağ geçidiniz olmalıdır. Bu seçenek, ağ trafiğini analiz makinelerinizden dışına çekmenize ve kontrol etmenize olanak sağlar.Her iki seçeneğin de (REMnux ve Kali) olmasına karar verirseniz, bunlar yalnızca İnternet erişimi olan makineler olabilirsiniz. Bu Sanal Makinelere birden fazla Ağ Kartı ekleyerek bunu başarabilirsiniz:

1.Adımda tanımlanan NAT Ağı.

2.Adımda İnternet erişimine sahip NAT Ağı

Bu daha sonra ağ kartı, gerektiğinde analiz makinelerinize İnternet erişimi sağlamanıza izin verir ve analiz ettiğiniz kötü amaçlı yazılım örnekleriyle yapılan aktiviteleri (kendinizin oluşturduğu) daha az görme fırsatına sahip olursunuz

Kötü amaçlı yazılım örnekleri analizinize girmeden önce, tüm kurulumlarınızın doğru olduğunu kontrol etmek için birkaç dakikanızı ayırmanız gerekicektir.Çünkü eksik bir yapılandırma hem güvenlik açığını hemde sistemler üzerinde ciddi etkilere maruz bırakabilicek sıkıntılara yol açabilir.O yüzden öncelikle oluşturulan Lab ortamındaki Nat bağlantısına sahip makinaların hiçbirinde kuruluş içerisinde Intranet ve Extranet erişimi olmamalıdır. Ağ Geçidi üzerinden çeşitli monitoring programları ile bunu kontrol etmeniz gerekicektir.Lab ortamında oluşturduğunuz tüm makinelerin Anlık Görüntü durumunun açık durumda olduğundan emin olun. Güvenlik yamalarını, yeni yazılım sürümlerini ve diğer uyarıları yüklemek için bunları ne sıklıkla güncelleyeceğinizi planlamanızda gerekicektir Tüm makinelerinizi açın ve her şeyin düzgün çalışıp çalışmadığını test etmek için bir ağ taraması yapmanızıda tavsiye edebilirim.

Bu aşamaya kadar ideal bir lab ortamı ile alakalı temel bilgileri sizin ile paylaştım.Malware testlerine başlamak için herhangi bir case durumunu seçebilir, makinelerinizi açabilir ve kendinizi araçlar, sistemler ve güvenli bir ortamda testlere başlayarak analiz süreçlerine girebilirsiniz.Eğer ben lab ortamını hazırladım ama Malware örneklerine nereden temin edebilirim diyorsanız internet üzerinden  Zoo’ya, Github deposuna bir göz atmanızı tavsiye ederim.Tabi bu noktada oldukça dikkatli olun.İndirdiğiniz programlar birer canlı Malware türü olduğunu unutmayın.

Bir makamizin daha sonuna geldik bu konu ile alakalı diğer makalemizde uygulamalı örnekler ile durumu pekiştirmeye çalışacağım….

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

error: Content is protected !!