İçeriğe atla
0 XP 0
13 dkderinleşmeyle 14 dk50 XP6 etkinlik

Güvenli analiz ortamı ve izolasyon

Bu derste
  • Dinamik analiz örneği gerçekten çalıştırdığı için önce yalıtılmış ağlı, anlık görüntülü ve taklit servisli bir laboratuvar kurarsın.
  • Yalıtılmış sanal makine, anlık görüntü ve taklit ağ servisi üç temel parçadır.
  • Bu derste laboratuvarı kurma sırasını ve kırmızı çizgileri öğrenirsin.

Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +50 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.

Altay Kargo'nun güvenlik ekibi fatura.pdf.exe dosyasını statik analizde hiç çalıştırmadan okudu. Dizelerden bir dış adres, bir Run anahtarı ve çağrı adını çalışma anında çözen bir desen çıktı. Bu bulgular bir yön verdi ama kesin cevap vermedi.

Dosya o adrese gerçekten bağlanıyor mu, kendini nereye kopyalıyor, dışarı hangi veriyi yolluyor? Bu soruların cevabı örneği çalıştırıp izlemekten geçer.

Dinamik analiz tam olarak budur: örneği kontrollü bir ortamda koşturur ve davranışını kaydedersin. Ama çalışan zararlı yazılım gerçek zarar verir. Bu derste o zararı laboratuvarın içinde tutan ortamı kurarsın: yalıtılmış sanal makine, temiz anlık görüntü, kapalı ağ ve taklit servisler.

Neden yalıtılmış laboratuvar

Dinamik analizin tek kuralı vardır ve pazarlıksızdır: örnek yalnız yalıtılmış laboratuvarda çalışır. Kişisel bilgisayar, iş bilgisayarı ve şirket ağına bağlı herhangi bir makine bu iş için kullanılmaz.

Neden bu kadar katı? Çünkü çalışan örnek seni beklemez. Fidye yazılımı ilk saniyelerde erişebildiği her dosyayı şifrelemeye başlar. Solucan aynı ağdaki makineleri tarar.

Bilgi çalan bir örnek tarayıcıdaki kayıtlı parolaları toplar ve dışarı yollar. Bu olayların hiçbiri geri alınamaz. Laboratuvar, bu davranışları gerçekten yaşatıp gözlemlediğin ama etkisini sınırladığın bir kafestir. Kafesin üç parçası vardır: anlık görüntüsü alınmış sanal makine, taklit servislere bağlı yalıtılmış ağ ve makineyle ana sistem arasındaki sınır.

Sanal makine ilk parçadır. Örnek gerçek donanım yerine sanallaştırma yazılımının sunduğu bir bilgisayarda koşar. Kurulumu bitirip araçları yerleştirdikten sonra temiz durumun anlık görüntüsünü alırsın. Anlık görüntü, diskin ve makine durumunun o anki kaydıdır.

Her analizden sonra o görüntüye dönersin. Örnek çalışırken bıraktığı her dosya, her kayıt anahtarı ve her süreç böylece tek hamlede silinir. Her ölçüm aynı temiz zeminde başlar ve iki analizin sonuçları birbirine karışmaz. Windows örnekleri için analiz araçlarını tek betikle kuran FLARE VM, Linux tarafında ise hazır araç dağıtımı REMnux yaygın başlangıç noktalarıdır.

Kurulum sırası en az parçalar kadar önemlidir. Sanal makineyi oluşturur oluşturmaz onu ana sistemden ve kurum ağından ayrı bir sanal ağa alırsın. Araç kurulumu internetten paket indirebilir; bunu yalnız bu ayrı ağ bölümünden yaparsın. Araçlar yerleşince bağlantıyı tamamen iç ağa çevirir, ardından temiz durumun anlık görüntüsünü alırsın.

Örnek ancak bundan sonra makineye kopyalanır. Görüntüyü örnekten sonra alırsan kirli durumu kaydedersin ve laboratuvar bir daha temiz olmaz. Analiz bitince de aynı görüntüye dönersin. Bu sıra her yeni laboratuvarda aynıdır.

Etkinlik 1 / 6

Analiz laboratuvarını kurma adımlarını sıraya koy.

Sürükleyip doğru sıraya koy.

Bir öğeye odaklan, yukarı ve aşağı ok tuşlarıyla taşı. Home tuşu en üste, End tuşu en alta alır.

  • 1Analiz bitince anlık görüntüye geri dön
  • 2Örneği yalıtılmış makineye kopyala
  • 3Temiz durumun anlık görüntüsünü al
  • 4Sanal makineyi ana makineden ayrı bir ağa al
  • 5Analiz araçlarını kur ve yapılandır

Ağı yalıt, servisleri taklit et

Ağ ikinci parçadır. Analiz sırasında örnek gerçek komuta sunucusuna bağlanmaz ve bunun üç nedeni var. Birincisi saldırgana varlığını haber verirsin: tanımadığı bir adresten gelen bağlantı, örneğin incelendiğini gösterir ve altyapı taşınabilir.

İkincisi laboratuvarın gerçek çıkış adresini açığa çıkarırsın. Üçüncüsü örnek ikinci aşamayı indirip gerçekten zarar verebilir ya da başka sistemlere saldırı trafiği üretebilir.

Öte yandan ağı tamamen kesmek de sorun yaratır. Pek çok örnek bir adresi çözemezse ya da sunucudan yanıt alamazsa sessizce kapanır. O zaman sen de hiçbir davranış göremezsin.

Çözüm taklit servislerdir. INetSim ile FakeNet-NG istekleri karşılar ve sahte yanıt döner. Örnek adres çözer, bağlantı kurar, yanıt alır ve çalışmaya devam eder. Sen tüm trafiği kaydedersin, dışarı tek paket çıkmaz.

INetSim bir Linux makinesinde çalışır ve DNS, HTTP, HTTPS, SMTP, FTP gibi yaygın servisleri taklit eder. Her DNS sorgusuna yapılandırdığın tek bir adresle yanıt verir. HTTP isteklerinde istenen uzantıya göre hazır bir sahte dosya döner: program isteyen örneğe zararsız bir program, sayfa isteyene basit bir sayfa gider. Oturum kapanınca bütün bağlantıların özetini bir rapor dosyasına yazar.

FakeNet-NG ise analiz makinesinin kendisinde çalışır. Trafiği o makinede yakalar ve kendi dinleyicilerine yönlendirir, bu yüzden tek makineli kurulum için pratiktir. İki makineli düzen çoğu zaman daha iyidir. Windows analiz makinesi örneği koşturur.

Yanındaki Linux makinesi hem varsayılan ağ geçidi hem DNS sunucusu olur, INetSim ile servisleri taklit eder ve trafiği kaydeder. İki makine yalnız birbirini gören bir iç ağda durur. İzleme aracı örnekle aynı makinede durmadığı için örneğin onu görüp davranışını değiştirmesi de zorlaşır.

# /etc/inetsim/inetsim.conf (ilgili satirlar)
start_service dns
start_service http
start_service https
service_bind_address  10.0.0.1
dns_default_ip        10.0.0.1
Linux makinesi iç ağda 10.0.0.1 adresinde dinler ve her ada kendi adresiyle yanıt verir.

Satırları sırayla oku. start_service satırları hangi servislerin açılacağını seçer. service_bind_address, servislerin hangi adreste dinleyeceğini belirler; buraya iç ağdaki adresi yazarsın, dış arayüzü asla yazmazsın. dns_default_ip ise her DNS sorgusuna dönülecek adrestir.

Örnek hangi adı sorarsa sorsun 10.0.0.1 cevabını alır ve bağlantıyı yine bu makineye kurar. Windows analiz makinesinde de varsayılan ağ geçidini ve DNS sunucusunu 10.0.0.1 yaparsın. Böylece örneğin her paketi önce taklit servise ulaşır.

Etkinlik 2 / 6

Analiz sanal makinesinin ağı neden taklit servise bağlanır?

Makine ile ana sistem arasındaki sınır

Üçüncü parça analiz makinesi ile ana sistem arasındaki sınırdır. Sanallaştırma yazılımları kolaylık için bu sınırda kapılar açar: paylaşılan klasör, ortak pano, sürükle bırak ve USB aygıtı aktarımı. Her biri örneğe dışarıya uzanan bir yol verir. Paylaşılan klasörü yazılabilir bırakmak en sık görülen büyük hatadır.

Fidye yazılımı bağlı her sürücüyü tarar ve paylaşılan klasör üzerinden ana makinedeki dosyalara uzanır. Ortak pano da bir yoldur. Örnek panoya bir komut bırakabilir ve sen onu farkında olmadan ana sistemde yapıştırabilirsin.

Örneği laboratuvara taşırken de dikkatli olursun. Dosyayı parola korumalı bir arşivde tutarsın; böylece taşıma sırasında ne sen ne de koruma yazılımı onu yanlışlıkla açar. Analistler arasında bu arşivler için yaygın parola infected kelimesidir.

Arşivi aktarırken paylaşılan klasörü yalnız o an ve salt okunur açar, aktarım bitince kapatırsın. Daha temiz bir yol, örneği bir ISO kalıbına koyup sanal sürücü olarak bağlamaktır. Kalıp salt okunurdur ve örnek o yoldan geri yazamaz.

Bir uç risk daha vardır: sanal makine kaçışı. Sanallaştırma yazılımındaki bir zafiyet, kodun misafir makineden ana sisteme geçmesine yol açabilir. Bu tür zafiyetler nadirdir ama gerçektir ve üreticiler zaman zaman bu sınıftan açıkları yamalar.

Savunman basittir. Sanallaştırma yazılımını güncel tutarsın, misafir eklentilerinde gerekmeyen özellikleri kapatırsın ve laboratuvarın ana makinesini başka hiçbir iş için kullanmazsın. Çok hassas işler için kurum ağına hiç bağlanmayan ayrı bir fiziksel makine en güvenli seçenektir.

Etkinlik 3 / 6

Her seçimi güvenli ya da riskli laboratuvar davranışı olarak ayır.

Önce bir seçeneğe, sonra aşağıdaki uygun kutuya bas. İstersen seçeneği kutuya sürükleyip bırak. Yerini değiştirmek için aynı işlemi tekrarla.

0/5 seçenek yerleşti.

Gerçekçi ortam: örnek izlendiğini anlamasın

Bazı örnekler laboratuvarda olduklarını anlamaya çalışır ve anlarlarsa zararsız davranır. MITRE ATT&CK bu davranışı sanal makine ve kum havuzu atlatma adıyla T1497 koduyla izler. Örnek önce donanıma bakar. VirtualBox ağ kartlarının fiziksel adresi 08:00:27 önekiyle başlar, VMware kartları çoğunlukla 00:0C:29 ya da 00:50:56 ile.

Süreç listesinde vmtoolsd.exe ya da VBoxService.exe görmek de aynı sonuca götürür. Tek işlemcili, 2 GB bellekli ve küçük diskli bir makine de şüphe uyandırır, çünkü gerçek kullanıcı bilgisayarları bugün bundan güçlüdür. Örnek bu izlerden birini bulunca uyur, sahte bir hata gösterir ya da hiçbir şey yapmadan çıkar.

Bomboş bir makine de kendini ele verir. Belgeler klasörü boş, tarayıcı geçmişi sıfır, son açılan dosya listesi temiz bir bilgisayar gerçek kullanıcıya benzemez. Birkaç belge, biraz tarayıcı geçmişi ve makul bir kullanıcı adı bu kontrolleri aşmana yardım eder. Analiz araçlarının süreç adları ve pencere başlıkları da kolayca sorgulanır.

Bazı örnekler bilinen analiz aracı adlarını arar ve bulunca durur; araçları yeniden adlandırmak basit bir karşı hamledir. Makine adı, kullanıcı adı ve etki alanı bilgisi örneğin ilk topladığı verilerdendir. Bu alanlara kurumunu çağrıştıran bir ad yazmazsın.

Zaman da bir koşuldur. Bazı örnekler uzun süre uyuyarak otomatik kum havuzlarının analiz süresini aşmaya çalışır. Bazıları belirli bir tarihten sonra ya da yalnız belirli bir dil ayarında çalışır. Bu koşulları statik analizde yakalarsan laboratuvarı ona göre ayarlarsın.

Saati ileri alırsın, dil ayarını değiştirirsin ya da uyku çağrısını hata ayıklayıcıda kısaltırsın. Hangi kontrolün örneği durdurduğunu bulmak ayrı bir iştir ve hata ayıklayıcı dersinde bu kontrolleri adım adım aşarsın.

Etkinlik 4 / 6

Hangi izler örneğe sanal makinede çalıştığını düşündürür? Uygun olanların hepsini seç.

Birden fazla doğru var.

İlk koşudan önce: kontrol, kayıt ve geri dönüş

Her koşudan önce aynı kısa kontrolü yaparsın. Linux makinesinde INetSim'i başlatırsın. Windows makinesinde ağ ayarını, ad çözümlemeyi ve dışarı çıkışın kapalı olduğunu doğrularsın. Bu kontrol iki dakika sürer ve en pahalı hatayı, yani örneği yanlışlıkla gerçek internete salmayı önler.

Bir önceki koşunun sorunsuz geçmesi kontrolü gereksiz kılmaz; Linux makinesi yeniden başlamış ve INetSim kapanmış olabilir. Aşağıdaki oturumda üst kısım Linux makinesinde, alt kısım Windows analiz makinesinde geçer.

analist@remnux:~$ sudo inetsim --config /etc/inetsim/inetsim.conf
INetSim 1.3.2 (2020-05-19) by Matthias Eckert & Thomas Hungenberg
Listening on:   10.0.0.1
  * dns_53_tcp_udp - started (PID 2211)
  * http_80_tcp - started (PID 2212)
  * https_443_tcp - started (PID 2213)
Simulation running.

C:\analiz> nslookup guncelleme-servis.example
Server:  UnKnown
Address:  10.0.0.1

Name:    guncelleme-servis.example
Address:  10.0.0.1

C:\analiz> ping -n 1 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
Request timed out.
Çıktı kısaltıldı. Taklit DNS yanıt veriyor, dışarı çıkış kapalı.

Çıktıyı satır satır oku. İlk komut INetSim'i yapılandırma dosyasıyla başlatır. Listening on satırı servislerin iç ağ adresinde dinlediğini gösterir; burada dış arayüzün adresini görürsen durur ve yapılandırmayı düzeltirsin. started satırları DNS, HTTP ve HTTPS servislerinin ayağa kalktığını söyler.

Windows tarafındaki nslookup komutu, var olmayan bir adı sorduğunda bile 10.0.0.1 yanıtını alır: taklit DNS çalışıyor. Server: UnKnown satırı yalnız çözücünün ters kaydı olmadığını söyler, sorun değildir. Son komut genel bir adrese tek paket yollar ve yanıt alamaz, dışarı çıkış kapalıdır. Üç sonuç da beklendiği gibiyse örneği çalıştırabilirsin.

Etkinlik 5 / 6

INetSim'i yapılandırma dosyasıyla başlat.

ogrenci@lab

Kayıt düzeni de örnek çalışmadan önce kurulur. Linux makinesinde ağ kaydını, Windows makinesinde süreç ve dosya izleme aracını başlatırsın. Sonradan başlatılan kayıt ilk saniyelerin davranışını kaçırır. O saniyeler çoğu zaman en önemlileridir: ilk bağlantı, ilk kopyalama, ilk kalıcılık adımı.

Bir de not tutarsın. Hangi anlık görüntüde, hangi araçlarla, hangi saatte ne yaptığını yazarsın. Analiz raporunun tekrarlanabilirliği bu kayda dayanır. Başka bir analist aynı görüntüden başlayıp aynı adımları izlediğinde aynı sonucu görmelidir.

Analiz bitince toplanan kayıtları önce laboratuvardan çıkarırsın, sonra makineyi temiz görüntüye döndürürsün. Kayıtlar da kirli sayılır, çünkü içlerinde örneğin bıraktığı dosyalar ya da kodlanmış yükler bulunabilir. Onları da parola korumalı arşivle taşırsın.

Laboratuvar kurmak bir kez yapılan iştir ve sonrasında her analizde işe yarar. Kurulumu aceleye getirmek ise her analizde bedel ödetir. Bir gün ayırıp düzgün kurduğun bir ortam, aylarca güvenle çalışmanı mümkün kılar.

Derinleş:Otomatik kum havuzu ve elle laboratuvar

Kurumların çoğu şüpheli dosyayı önce otomatik bir kum havuzuna gönderir. Kum havuzu örneği birkaç dakika koşturur, dosya, kayıt defteri ve ağ olaylarını toplar, sonra bir puanla rapor üretir. Açık kaynak tarafta CAPE gibi projeler bu işi kurum içinde yapmana yarar. Otomatik analiz hızlıdır ama sınırlıdır.

Süre kısadır, ortam tektir ve örnek bir kontrolü geçemezse rapor boş kalır. Elle laboratuvar ise yavaştır ama esnektir. Saati ileri alır, eksik dosyayı ekler, hata ayıklayıcıyla bir kontrolü atlatır ve ikinci aşamanın gelmesini beklersin. İyi bir iş akışı ikisini birlikte kullanır.

Kum havuzu raporu hangi davranışın görüldüğünü ve hangisinin eksik kaldığını gösterir, elle analiz o eksik parçaya odaklanır. Kamuya açık kum havuzlarına dosya yüklerken dikkatli olursun. Yüklenen örnekler çoğu zaman başka kullanıcılara da açılır ve kuruma özgü bir belge bu yoldan sızabilir.

Etkinlik 6 / 6

Doğru mu, yanlış mı?

Analiz laboratuvarı ana makineyle aynı ağ arayüzünü paylaşabilir.

Bu derste bir hata mı gördün? Bildir