Memory Forensics – Part II

  1. Ram Adli Kopya Alınması

Çalışan bir sistem üzerinde ilk olarak çalışan sistemin türü belirlenmelidir. Her işletim sistemi kendi mimarisinden kaynaklı farklı araç setleri ile RAM imajını alabilir. Bunun yanı sıra bir diğer önemli nokta sistem üzerinde oturum açmış kullanıcının yetkisi önemlidir. Yetkili bir kullanıcı ile oturum açık ise yazılımsal araçlar ile kolay şekilde RAM imajı alınabilir fakat yetkili bir kullanıcı değil ise kolay bir şekilde yazılımsal olarak imaj alınamayabilir bunun için donanımsal araçlara başvurulmalıdır. Donanımsal olarak Firewire veya PCI portlarına bağlanarak harici kartlar yardımıyla RAM imajı alınabilir. Yazılımsal imaj almak için ise birden fazla araç bulunmaktadır. Her işletim sistemi mimarisine ayrı araç kullanılması gerekmektedir. Yazılımsal imaj almak için adli bilişim camiası tarafından doğruluğu kabul edilmiş araçlar kullanılmalıdır. Bu araçlar ücretli veya ücretsiz olabilir. Her aracın kendine özgü farklı yetenekleri olabilmektedir. İmaj aracı seçerken en dikkat edilmesi gereken özellik ise Ram üzerinde en az yer kaplaması olmalıdır. Bu sayede RAM üzerinde bulunan verilere daha az zarar verilebilir. [12]

  • Windows sistemde RAM imajı almak için; “FTK Imager, BelkaSoft Ram Capture, Magnet Forensics IEF, X-Ways Capture, MoonSolsDumpIT, Encase, MemProcFS, Rekall, WinPMEM” araçları kullanılabilir.
  • Linux Sistem RAM imajı almak için; `dd, dc3dd, lime, fmem, foriana, memdump, avml` gibi araçlar kullanılabilir.
  • MacOS sistemlerde RAM imajı almak için; “OSXPMem, Mac Memory Reader, goldfish“ araçlarını kullanarak RAM imajı alınabilir.
  1. Windows Sistemlerde RAM imaj Alma

Windows işletim sisteminde RAM imajı belirtilen araçlarla alınabilir. Detaylı RAM analiz yapılması istenilen bir sistemde ek olarak Windows sistemlerde bulunan pagefile.sys, hiberfil.sys dosyaları analiz alanı içine katılmalıdır. [13]

pagefile.sys dosyası; Windows işletim sistemi özelliğinden dolayı bilgisayarın fiziksel bellek alanın yetersiz olduğu durumlarda sabit diskin bir bölümünü sanal bellek olarak kullanılabilir. Bu alan Windows sistemlerde varsayılan olarak pagefile.sys dosyasıdır. Bu dosyanın boyutu ihtiyaca göre değişebilmektedir. Bu dosya içerisinde tıpkı RAM imajında olduğu gibi verilere ulaşabilmek mümkündür. Bundan dolayı incelenmesi mühim bir meseledir. [9]

Windows’un geliştirmiş olduğu bir diğer özellikten kaynaklı verileri kaydeden hiberfil.sys dosyası hibernation (hazırda bekleme) moduna alındığın bilgisayar RAM’indeki verilerin tamamını bu dosyaya kaydetmektedir. [9]

RAM analizinde pagefile.sys ve hiberfil.sys dosyalarını ayrıca alıp incelemek analiz kapsamını genişletmektedir. Bu dosyalar haricinde Shimcache dosyası da analizi sağlanabilir. Shimcache, Windows uygulama uyumluluk önbelliği olarak bilinen AppCompatCache’in bir bileşenidir. Microsoft, eskimiş uygulamaların yeni Windows sürümleri ile herhangi bir problem oluşmaması için shim mekanizmasını kullanmaktadır yani Shim mekanizması Windows yeni sürümlerindeki uyumluluğunu sağlamak için uygulamanın uygulanması gerekip gerekmediğini belirlemek için kullanılır. Shim, Windows registry dosyasında depolanan çalıştırılabilir programların metadatasını tutar. Sistem kapatılana kadar kayıt defterindeki veriler güncellenmediğinden, birçok analizde shimcache kalıntılarının tespiti sınırlanmaktadır. Bundan dolayı sistem kapatılmadan shimcache analizide sağlanmalıdır.

Windows sistemlerde RAM imajını almak için “winpmem” aracı kullanılarak adli kopyalama işlemi sağlanmıştır. Bu araç açık kaynaklı bir araçtır. Güncel Windows sistemlerinde çalışmaktadır. Sadece raw formatında imaj almayı sağlar [14]. Bu araç resmi github adresi olan https://github.com/Velocidex/WinPmem url adresinden temin edilebilir. Winpmem aracı CLI olarak kullanılmaktadır yani herhangi bir ara yüzü sahip değildir. Bundan dolayı cmd veya powershell yardımıyla kullanılabilir. Bu aracı kullanmak için cmd’yi yönetici olarak çalıştırılır ve aracın ismini yazdıktan sonra enter tuşuna basarak çalışmaktadır.

Resim 7.2.1. Winpmem aracının çalıştırılması

Araç çalıştıktan sonra bizlere aracın çalışma parametrelerini belirtmekte. Basit bir komut satırı kullanılarak ram imajı alınabilir. Ram imajını almak için “winpmem_x64.exe ramimaj.raw” komutunu kullanarak imaj alma işlemini başlatabiliriz. Bu araç herhangi bir kurulum gerektirmez kolayca kullanılabilir bunun avantajı disk üzerinde kalıntılar bırakmadan minimum sistemi kullanarak RAM imajını alabilme imkanı sağlamasıdır.

Resim 7.2.2. Winpmem ile ram imajı alma.

40 gb bir ram kapasitesine sahip bir Windows 10 sistemde 16 saniyeden az bir sürede imaj alma işlemini gerçekleştirdi. Oluşan imaj dosyasının boyutu 42 GB kapasiteye yakın bir dosya boyutu oluşturdu.

Resim 7.2.3 İmaj dosyası

Alınan bu imaj imaj inceleme yazılımları ile analiz edilmeye hazır bir adli kopyadır.

  1. Linux Sistemlerde RAM imaj Alma

Linux işletim sisteminde RAM imajı belirtilen araçlarla alınabilir. Detaylı RAM analiz yapılması istenilen bir sistemde ek olarak SWAP alanı analize dahil edilmelidir. Linux sistemlerde belleğin yetersiz olduğu durumlarda kullanılan bir alandır. Burada Windows sistemlerinden farklı olarak bir disk üzerinde dosya şeklinde değil bir partition olarak muhafaza edilmesini sağlamaktır.

Bu çalışma kapsamında Linux sistemlerde RAM adli kopyasını almak için AVML aracı kullanılmıştır. AVML (Acquire Volatile Memory for Linux), adli bilişim toplulukları tarafından hızlı ve doğruluğunun yüksek orana sahip olmasından ötürü en çok tercih edilmektedir. [15] AVML, Linux sistemlerinden RAM adli kopyalamayı sağlamak için tasarlanmış bir açık kaynaklı araçtır. AVML, Rust programlama dili kullanılarak geliştirilmiştir. Github adresinden https://github.com/microsoft/avml araç indirilebilir. Bu aracın bir diğer avantajı ise Debian CentOS, Ubuntu, RedHat, Fedora gibi çok farklı linux sistemlerde çalışabilme imkanı sağlamaktadır

Resim 5.2.1. avml aracının kullanılması

Avml aracı kullanılırken kullanılan komutlar

  1.  wget https://github.com/microsoft/avml/releases/download/v0.11.2/avml : wget komutu ile avml dosyası indirilir.
  2. chmod +x avml  : chmod ile avml aracının çalıştırılma imkanı tahsis edilir.
  3. ./avml –help  : avml aracının çalışma parametreleri listelenir.

Avml aracı kullanımı basit ve hızlıdır. Araç RAM imajının alınması için herhangi bir komut verilmesine gerek yoktur sadece imaj dosyasının isminin verilmesi kafidir.

Resim 5.2.2. avml ile Linux Ram imajı alma

Tek bir komut satırı ile imaj alma işlemini sağladı. Avml aracının bir diğer yeteneği ise ram imajının boyutunu küçültme imkanı sağlayabilmesidir.

Resim 5.2.3. avml ile Ram imaj dosyasının boyutunu küçültme