Volatility ile Bellek (RAM) Analizi: Adli Bilişim Eğitim Rehberi
Volatility, bellek dökümlerini inceleyen ücretsiz açık kaynak çatıdır. Bellekte olup diskte olmayan deliller, uçuculuk sırası ve neden cihaz kapatılmamalı, döküm alma araçları, Volatility 2 ile 3 farkı, temel eklentiler tablosu, bir incelemenin altı adımlık mantığı, yasal alıştırma verisi ve sık yapılan altı hata.
Hızlı cevap: Volatility, bellek (RAM) dökümlerini inceleyen ücretsiz ve açık kaynak bir adli bilişim çatısıdır. Diskte hiç iz bırakmayan zararlı yazılımlar, şifreleme anahtarları, çalışan süreçler ve açık ağ bağlantıları yalnızca bellekte bulunur, bu yüzden bellek analizi modern incelemenin vazgeçilmez parçasıdır. Öğrenirken izlenecek yol şudur: bir eğitim dökümü indir, süreç listesini çıkar (
pslistvepsscan), ağ bağlantılarına bak (netscan), gizlenmiş kod ara (malfind), şüpheli süreci dosyaya dök (dumpfiles,procdump) ve zaman çizelgesine bağla. Kritik kural: bellek dökümü cihaz kapatılmadan önce alınmalıdır, kapattığınız anda bu delil yok olur.
Bir olay müdahalesinde en sık yapılan hata cihazı kapatmaktır. İyi niyetle yapılır, "yayılmasın" diye fişi çekilir ve o anda soruşturmanın en değerli delili silinir. Fidye yazılımının şifreleme anahtarı, bellekte çalışan ama diske hiç yazılmamış zararlı kod, saldırganın açık oturumu, hepsi RAM'dedir. Bu yazı, bellek analizinin neden bu kadar kritik olduğunu ve Volatility ile nasıl öğrenileceğini anlatıyor.
Bellekte ne var, diskte ne yok
Disk kalıcıdır, bellek uçucudur. Bu basit ayrım şu sonuçları doğurur:
- Dosyasız (fileless) zararlı yazılım. Modern saldırıların önemli bölümü diske dosya yazmaz, PowerShell ya da WMI üzerinden doğrudan bellekte çalışır. Disk incelemesi bunu göremez.
- Şifreleme anahtarları. BitLocker, VeraCrypt ve fidye yazılımı anahtarları çalışırken bellekte tutulur. Cihaz açıkken alınan döküm, kilitli bir diski açmanın tek yolu olabilir.
- Çalışan süreçler ve enjeksiyon. Meşru bir sürecin içine enjekte edilmiş kod yalnızca bellekte görünür.
- Ağ bağlantıları. Saldırganın komuta sunucusuna açık bağlantısı o an bellektedir.
- Panoya kopyalanan veri, çözülmüş parolalar, açık belgeler. Kullanıcının o an ekranda yaptığı iş bellekte durur.
Delil sırası: neden önce bellek
Uluslararası kılavuzlarda "uçuculuk sırası" (order of volatility) diye bir ilke vardır. En hızlı kaybolan delil önce toplanır:
- İşlemci kayıtları ve önbellek
- Bellek (RAM)
- Ağ durumu ve çalışan süreçler
- Geçici dosyalar
- Disk
- Yedekler ve arşivler
Pratikte kural şudur: cihaz açıksa ve yasal yetkiniz varsa, kapatmadan önce bellek dökümü alın. Disk imajı bekleyebilir, bellek bekleyemez. İmaj tarafı için FTK Imager ile imaj alma yazımıza bakabilirsiniz.
Bellek dökümü nasıl alınır
Volatility döküm almaz, dökümü inceler. Alma işi ayrı araçlarla yapılır:
| Ortam | Yaygın araçlar |
|---|---|
| Windows | FTK Imager (Capture Memory), WinPmem, Belkasoft RAM Capturer, DumpIt |
| Linux | LiME (Linux Memory Extractor), AVML |
| macOS | osxpmem ve sürüme bağlı çözümler |
| Sanal makine | Anlık görüntü (snapshot) ya da hipervizör bellek dosyası, en temiz yöntemdir |
Sanal makinelerde bir incelik vardır: hipervizörden alınan bellek dosyası, misafir işletim sistemine hiç dokunmadan elde edildiği için en az müdahaleli yöntemdir.
Volatility 2 mi 3 mü
İki büyük sürüm vardır ve kafa karıştırır.
Volatility 2, Python 2 tabanlıdır. Profil (profile) kavramı kullanır: dökümün hangi işletim sistemi sürümüne ait olduğunu --profile=Win7SP1x64 gibi elle belirtirsiniz. Çok sayıda eski eklenti ve eğitim materyali bu sürüme göre yazılmıştır.
Volatility 3, Python 3 tabanlıdır ve profil yerine sembol tabloları kullanır, işletim sistemini büyük ölçüde kendisi tanır. Komut isimleri de değişmiştir: windows.pslist gibi ad alanı yapısı gelmiştir.
Yeni başlıyorsanız Volatility 3 ile başlayın. Ancak internette bulacağınız birçok eğitim ve yazının Volatility 2 sözdiziminde olduğunu bilin, komutlar birebir uyuşmayabilir.
Temel eklentiler ve ne işe yararlar
Aşağıdakiler bir incelemenin omurgasını oluşturur.
| Eklenti | Ne yapar | Neden önemli |
|---|---|---|
windows.info |
Döküm ve sistem bilgisini verir | Doğru dökümle çalıştığınızı teyit eder |
windows.pslist |
Süreç listesini bağlı listeden çıkarır | Normal görünümü verir |
windows.psscan |
Bellekte süreç yapısı tarar | Gizlenmiş süreçleri bulur, pslist ile farkı şüphe işaretidir |
windows.pstree |
Süreçleri ebeveyn çocuk ağacı olarak gösterir | Word'ün PowerShell başlatması gibi anormallikler burada görünür |
windows.cmdline |
Süreçlerin komut satırını gösterir | Kodlanmış PowerShell komutları yakalanır |
windows.netscan |
Ağ bağlantılarını ve dinlenen portları çıkarır | Komuta sunucusu bağlantısı |
windows.malfind |
Şüpheli bellek bölgelerini ve enjeksiyonu arar | Dosyasız zararlıyı yakalar |
windows.dlllist |
Yüklü DLL'leri listeler | Yan yükleme (sideloading) tespiti |
windows.handles |
Açık tanıtıcıları gösterir | Hangi dosya ve anahtara erişildiği |
windows.filescan |
Bellekteki dosya nesnelerini tarar | Diskte silinmiş dosya izleri |
windows.dumpfiles |
Bellekten dosya çıkarır | Zararlı örneğini analize alma |
windows.registry.hivelist |
Bellekteki kayıt defteri kovanları | Kalıcılık mekanizmaları |
Bir incelemenin mantığı
Eklentileri ezberlemek yerine soruyu takip edin:
- Ne çalışıyordu?
pslistile bak, sonrapsscanile karşılaştır. Aradaki fark gizlenmiş süreçtir. - Kim kimi başlattı?
pstreeile bak. Ofis uygulamasının komut satırı başlatması klasik bir uyarıdır. - Ne komut çalıştı?
cmdlineile bak. Base64 kodlanmış PowerShell burada yakalanır. - Nereye bağlanıyordu?
netscanile bak. Bilinmeyen adrese giden bağlantı komuta kanalı olabilir. - Enjeksiyon var mı?
malfindile bak. Yürütülebilir işaretli anonim bellek bölgeleri şüphelidir. - Örneği çıkar.
dumpfilesile zararlıyı çıkarın ve hash'ini alıp tehdit istihbaratıyla karşılaştırın.
Alıştırma verisi ve öğrenme yolu
Bellek analizi ancak gerçek dökümlerle öğrenilir. Yasal ve ücretsiz kaynaklar:
- Volatility Foundation örnek bellek imajları listesi
- NIST CFReDS referans veri kümeleri
- DFRWS yarışma dosyaları
- Ali Hadi'nin yayınladığı senaryo tabanlı bellek dökümleri
- Kendi laboratuvarınız: bir sanal makineye zararsız bir test aracı çalıştırıp dökümünü alın, sonra bulmaya çalışın
İlk ay: info, pslist, pstree, cmdline ile normal bir sistemin nasıl göründüğünü öğrenin. Anormali tanımak için önce normali bilmek gerekir.
İkinci ay: psscan, malfind, netscan ile gizlenme tekniklerine geçin.
Üçüncü ay: Bulgularınızı disk ve ağ delilleriyle tek bir zaman çizelgesinde birleştirin.
Yapılandırılmış bir program için DSET Akademi içeriklerine bakabilirsiniz.
Sık yapılan hatalar
- Cihazı kapatmak. En pahalı hata. Uçucu delil geri gelmez.
- Dökümü şüpheli makinenin kendi diskine yazmak. Delili bozarsınız. Harici ve temiz bir ortama yazın.
- Hash almamak. Döküm de bir delildir, hash ile bütünlüğü kayda geçmelidir.
- Yanlış sürüm ve profil. Volatility 2 komutlarını 3'te denemek en sık karşılaşılan başlangıç engelidir.
- Tek eklentiye güvenmek.
pslisttemiz görünüyor diye sistem temiz demek değildir,psscanile karşılaştırın. - Bulguyu bağlamsız raporlamak. "Şu süreç vardı" tek başına bir şey söylemez, ne zaman ve neyle birlikte olduğu önemlidir.
Sık sorulan sorular
Volatility bellek dökümü alabilir mi? Hayır, yalnızca inceler. Alma için WinPmem, FTK Imager, LiME gibi araçlar kullanılır.
Kapatılmış bir bilgisayardan bellek alınabilir mi? Hayır. Ancak hazırda bekletme dosyası (hiberfil.sys) ve takas alanı diskte bellek kalıntısı barındırabilir, bunlar disk incelemesiyle çıkarılır.
Şifreli diskin anahtarını bellekten çıkarmak mümkün mü? Cihaz açıkken ve disk kilidi açılmışken alınan dökümde anahtar bulunabilir. Bu, cihazı kapatmadan döküm almanın en somut gerekçelerinden biridir.
Volatility 2 ölü mü? Ölü değil ama geliştirme ağırlığı 3'e kaydı. Eski eklentilere ihtiyacınız yoksa 3 ile ilerleyin.
Linux ve macOS destekliyor mu? Evet, ancak sembol tablosu gereksinimi nedeniyle kurulum Windows'a göre daha zahmetlidir.
Bellek analizi tek başına yeterli mi? Değil. Bellek anlık bir fotoğraftır. Disk, ağ ve kayıt verileriyle birleştirildiğinde anlam kazanır.
Kaynaklar
- Volatility Foundation ve resmi belgeler: https://www.volatilityfoundation.org
- Volatility 3 belgeleri: https://volatility3.readthedocs.io
- NIST SP 800 86, adli tekniklerin olay müdahalesine entegrasyonu: https://csrc.nist.gov
- NIST CFReDS referans veri kümeleri: https://cfreds.nist.gov
- SANS DFIR bellek adli bilişimi kaynakları: https://www.sans.org
Olay müdahalesinde ilk saatler belirleyicidir ve bellek en hızlı kaybolan delildir. Destek almak ya da ekibinize uygulamalı bellek analizi eğitimi planlamak için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan 7/24 olay müdahalesi veriyoruz.
Kimliğinizi doğrulayın
Yetkilendirilmiş erişim alanı. Tüm giriş denemeleri kayıt altına alınır.