Kötü amaçlı yazılım analizi, güvenlik araştırmacısının çalışmasının önemli bir parçasıdır. Ancak kötü amaçlı örneklerle çalışmak tehlikeli olabilir — etkinliklerini kaydetmek için özel araçlar ve istenmeyen hasarları önlemek için güvenli bir ortam gerektirir.
Ancak, manuel laboratuvar kurulumu ve yapılandırması zahmetli ve zaman alan bir süreç olabilir.
Bu makalede, bir tersine mühendislik laboratuvarı oluşturmanın 4 yoluna bakacağız, bir bulut hizmeti kullanarak zamandan nasıl tasarruf edileceğini ve potansiyel olarak algılama oranını nasıl iyileştireceğimizi tartışacağız ve kapsamlı bir kurulum için önerilen araçlar listesini ele alacağız.
Kötü amaçlı yazılım analiz laboratuvarı nedir?
Temelde, bir kötü amaçlı yazılım analiz laboratuvarı, kötü amaçlı yazılımları incelemek için güvenli ve yalıtılmış bir alan sağlar.
Kurulum, VirtualBox kullanan basit bir sanal makineden birbirine bağlı makinelerden oluşan daha karmaşık bir ağa ve gerçek ağ donanımına kadar değişebilir.
Ancak bu makalede, statik analiz için uyarlanmış bir laboratuvar oluşturmaya bakacağız, bu nedenle ihtiyacımız olan şey, ayrıştırıcıları çalıştırabileceğimiz, ikili dosyaları düzenleyebileceğimiz ve hata ayıklayabileceğimiz güvenli bir ortam.
Oluşturmak için izleyebileceğimiz birkaç yol var:
1 — Sanallaştırma
Güvenli ve yalıtılmış bir ortam yaratmanın belki de en basit yolu sanal makine kullanmaktır.
Popüler bir seçenek, Oracle’ın açık kaynaklı yazılımı olan Virtual Box’tır. Linux kullanıyorsanız, yüklemek için sadece komutu kullanın. sudo apt sanal kutuyu kur. VMWare başka bir popüler seçimdir – ticari bir programdır, ancak ücretsiz bir katman vardır.
Kurulumu kolaydır — yazılımı indirip yükleyin, sanal bir makine oluşturun, ana bilgisayarla ağ erişimi veya paylaşılan klasörlere sahip olmadığından emin olmak için ayarları yapılandırın ve ardından seçtiğiniz işletim sisteminin bir .ISO dosyasıyla önyükleyin .
Ancak bu yaklaşımın bazı dezavantajları vardır: Şüpheli veya kötü niyetli varlıkları belirlemek için özel algılama kuralları oluşturmanız, yeni ortaya çıkan teknikleri bağımsız olarak araştırmanız, yapılandırmaları sürdürmeniz ve mevcut araçları kullanarak günlüğe kaydetme ilkelerini belirlemeniz gerekecektir. Bakım ve yapılandırmaya bu artan odaklanma, analiz için harcanan zamanı azaltır.
Artıları
- Ücretsiz veya düşük bir maliyetle mevcut
- kurulum kolaydır
- Doğru yapılandırılırsa yalıtılmış bir ortam sağlar
Eksileri
- Performans bir darbe alır
- CPU’nuz tarafından engellenen sınırlı ölçeklenebilirlik
- Kötü amaçlı yazılım ana bilgisayara kaçabilir
- Algılama kurallarını manuel olarak yapılandırmayı gerektirir
2 — Özel donanım
Ortalıkta eski bir dizüstü bilgisayarınız varsa veya bir tane alma veya bir PC kurma imkanınız varsa, bu kesinlikle bir seçenektir. Ayrıca bütçenizi zorlamanıza da gerek yok — 11-13. nesil Intel işlemciler bütçe makinelerini bile geçerli bir seçenek olmaktan çıkarır.
Fiziksel bir bilgisayar seçmenin ana avantajı, makinenin tüm aygıtlardan ve ağlardan gerçekten izole edildiğinden emin olabileceğiniz için daha iyi performans ve daha yüksek güvenliktir.
Artıları:
- En performanslı seçenek
- Tamamen izole ortam
- Sonsuz şekilde özelleştirilebilir
Eksileri:
- Üst düzey donanım pahalıdır
- Yazılım ve donanım bakımı gerektirir
- Çalışması için yapılandırılması gerekiyor
3 — Bir bulut laboratuvarı
Bulutta kötü amaçlı yazılım laboratuvarı oluşturmak aslında göründüğü kadar zor değil. Ayrıca – ücretsizdir! İhtiyacınız olan tek şey AWS’de veya benzer herhangi bir bulut hizmeti sağlayıcısında bir hesap ve ona bağlanmak için bir makine. Kurulum, yerel bir sanal makineden biraz daha karmaşık olabilir, ancak kılavuz olarak kullanabileceğiniz çok sayıda öğretici vardır.
AWS’lerle çalışmayı seçerseniz bir Kali Linux Sanal Makinesi kurmak için pazarda Kali’yi arayın. GUI’yi kullanmak için bir VNC sunucusu oluşturabilir ve VNC Viewer gibi bir araçla laboratuvarınıza bağlanabilirsiniz.
Bu yaklaşımın dezavantajlarından biri, ücretsiz olana kadar ücretsiz olmasıdır. Ücretsiz katmanın sınırlarını aşarsanız bulut faturanız hızla kabarabilir.
Zaman zaman, bulut sağlayıcıları kötü amaçlı yazılım yürütmeyi de kısıtlayarak yasal riskler oluşturabilir. Ek olarak, bulut makineleri destek talep ederek BT operasyonlarını zorlar. Acemi bağımsız araştırmacılar için uygun olsa da, bu yaklaşım kurumsal ortamlarda dezavantajlar sunar. Daha da önemlisi, kötü amaçlı yazılımın sanal makine algılamasına karşı koyma ve kaçırmayı önleme taktiklerini atlama yeteneğinden yoksundur.
Artıları:
- ölçeklenebilirlik
- Donanım bakımı yok
- Daha iyi güvenlik için ağınızdan yalıtılmış
Eksileri:
- Potansiyel yasal riskler.
- zor kurulum
- Çalışması için yapılandırılması gerekiyor
- Gecikme iş kalitesini düşürür
- Gelişmiş kurulumlar pahalıdır
- Anti-avastin tekniklerine duyarlı
4 — Hizmet Olarak Korumalı Alan
Bulut tabanlı korumalı alan hizmetlerinin önemli bir avantajı, VM algılamaya karşı yerleşik dayanıklılıklarıdır. Bu, bir kötü amaçlı yazılım örneğinin sanal bir makinede olduğunu fark edip yürütmesini durdurma olasılığını azaltır; bu, diğer sanal alanlarda manuel yapılandırma gerektiren bir özelliktir.
Ayrıca, bunun gibi bir hizmette tespit kuralları, geniş kötü amaçlı yazılım ve tehdit istihbarat veritabanlarından yararlanan uzmanlar tarafından yazılır. Sonuç olarak yazılım, analiz sonuçlarını teknikler ve IOC’lerle zenginleştirerek buluttan veya şirket içi sanal makinelerden alınan ham verilere kıyasla daha kapsamlı çıktılar sağlayabilir.
Ayrıca bulut tabanlı sanal alan hizmetleri, ortam yapılandırmalarını kolaylaştırır. Örneğin, bir sanal makinede ayrı anlık görüntüler oluşturmak yerine, ANY.RUN’un bulut hizmeti bir laboratuvar her başlatıldığında kullanıcı dostu bir menü aracılığıyla kolay ortam kurulumu sağlar.
Artıları
- zaman kazandırır
- Kullanım kolaylığı
- Ağınızdan güvenli ve tamamen yalıtılmış
- VM algılamaya karşı güçlendirilmiş
- Yürütme ortamının basit yapılandırması
Eksileri
- Araç setinizle çalışacak şekilde optimize edilmedi
- Piyasadaki bazı çözümler gecikmeli olabilir
- Sanal makine örneklerinde zaman kısıtlaması vardır
Laboratuvar yerine ANY.RUN gibi çevrimiçi, etkileşimli bir sanal alan kullanmak kolaylık ve hız sunar. Kötü amaçlı yazılım yapılandırmalarını ayıklamak gibi statik analizin bazı kısımlarını otomatikleştirmeye yardımcı olabilir.
ANY.RUN’u kendiniz denemek isterseniz, şu anda Hacker News okuyucuları için özel bir promosyon yürütüyorlar:
Tersine mühendislik için yazılım türleri
Kötü amaçlı yazılımlara tersine mühendislik uygulamanıza yardımcı olacak bazı temel araçlar şunlardır:
- sökücüler. Demontaj cihazları, tersine mühendislik için olmazsa olmazlardandır. Makine dilini, insanların kolayca anlayabileceği birleştirme koduna dönüştürmenize olanak tanırlar, böylece kötü amaçlı yazılımın nasıl çalıştığına dair fikir edinebilirsiniz. IDA Pro, Ghidra ve Binary Ninja popüler ayrıştırıcılardır. Ghidra’yı Linux üzerinde çalıştırmak için öncelikle JDK’yı kurun ve Ghidra’nın kendisini makinenize indirin. Kurulum gerekmez, sadece Ghidra dizini içinde şu komutları yürütün: chmod +x ghirdÇalıştır Ve ./ghirdaÇalıştır.
- Derleyiciler. Derleyiciler, makine kodunu kaynak koduna dönüştürebilmeleri açısından ayrıştırıcılara benzer. Kötü amaçlı yazılımın mimarisini anlamak ve belirli işlevleri veya modülleri bulmak için yararlı olabilir. Popüler kod çözücüler arasında IDA Pro, Ghidra ve Hex-Rays bulunur.
- Hata ayıklayıcılar. Hata ayıklayıcılar, programcıların kodları satır satır incelemelerine, kesme noktaları belirlemelerine ve kötü amaçlı yazılımın çalışma şeklini gözlemlemelerine izin vererek hataları bulmalarına ve sorunları gidermelerine yardımcı olur. En sık kullanılan hata ayıklayıcılardan bazıları OllyDbg, x64dbg ve WinDbg’dir. x64dbg şu anda en popüler seçeneklerden biridir: ücretsizdir ve x64dbg.com adresinden indirilebilir.
- HEX editörleri. Hex editörleri, ikili dosyalara daha yakından bakmak, bunların nasıl düzenlendiğini anlamak, belirli değerleri tespit etmek ve virüsün nasıl tepki verdiğini görmenin bir yolu olarak dosyayı değiştirmek için kullanışlıdır. Yaygın hex editörleri arasında HxD ve Hex Workshop bulunur.
- Ağ analiz araçları. Bazı kötü amaçlı yazılımların çalışması için çevrimiçi bağlantı gerekir. Wireshark gibi ağ analizi programları, bu kötü amaçlı yazılım tarafından gönderilen ve alınan trafiği belirlemenize ve incelemenize yardımcı olabilir.
Temel kötü amaçlı yazılım analiz araçları
Hangi yazılımın kurulacağına analist karar verir, ancak bizce temel araçların listesi şu şekildedir:
- Kolay Algıla. Dosya türlerini belirlemek için
- İşlem Hacker’ı. Sistem kaynaklarını izlemenize, yazılım hatalarını ayıklamanıza ve kötü amaçlı yazılımları tespit etmenize yardımcı olur
- Süreç İzleme. Windows için gerçek zamanlı dosya sistemini, Kayıt Defterini ve işlem/iş parçacığı etkinliğini gösteren bir İzleme aracı
- Tel Köpekbalığı. Ağ etkinliğini analiz etmek için
- x64dbg Ve Rehber. Hem statik hem de dinamik analiz için gereklidir.
Oh, ve önceden yapılandırılmış bir laboratuvar almak istiyorsanız, bu programların çoğu zaten kurulu olarak gelen Remnux gibi özel bir dağıtım kitini kullanabilirsiniz.
Ayrıca, bir sanal makinede tersine mühendislik ortamını kolayca kurmanıza ve sürdürmenize olanak tanıyan, Windows tabanlı sistemler için bir yazılım yükleme betikleri koleksiyonu olan FLARE VM de vardır.
Sarma
Bir analiz laboratuvarı oluşturmak için dört farklı yöntemi ele aldık: sanallaştırmayı kullanma, özel bir makine oluşturma, bir bulut laboratuvarı dağıtma veya bir hizmet olarak korumalı alan.
Bu yaklaşımların her birinin kendi avantajları ve dezavantajları vardır ve doğru seçim, neyi başarmaya çalıştığınıza ve kullanabileceğiniz kaynaklara bağlıdır.
Neyse ki, bu seçeneklerin çoğu tamamen ücretsizdir, bu yüzden hepsini deneyin ve hangisinin en iyi sonucu verdiğini görün!