R E F I K S A M E T - Ö M E R A S L A N
248
Şekil 8.14’te görüleceği üzere “OllyDbg” çıktısı 4 bölümden oluş-
maktadır:
1) Disassembler penceresi: Analiz edilen program komutlarını sı-
rasıyla göstermektedir. Analizi yapan uzman tarafından herhan-
gi bir zamanda komut ve veriler değiştirilebilmektedir.
2) Yazmaçlar penceresi: Yazmaçların mevcut durumlarını göster-
mektedir. Her komuttan sonra bu değerler değişmektedir. Ay-
rıca, koda müdahale edilerek yazmaç değerleri her hangi bir za-
manda değiştirilebilmektedir.
3) Bellek dökümü penceresi: Analiz edilen program komutlarının
ve verilerinin anlık olarak bellek dökümlerini göstermektedir.
Analizi yapan uzman bellekte bulunan değişkenlere müdahale
ederek değiştirebilmektedir.
4) Yığın (stack) penceresi: Bu pencere, her iş parçacığı için bellekte
bulunan yığının mevcut durumunu göstermektedir. Yığın veri-
lerine müdahale ederek değerler değiştirilebilmektedir.
Örneğin, “PUSH EBP” komutu “EBP” yazmacında
bulunan veri-
yi yığına atmaktadır ve bu anda yığının durumu, bellek dökümü
ve yazmaçların durumu Şekil 8.14’te görülmektedir. Burada amaç
program kodlarını analiz ederek komutların çalışması sonucu olu-
şan davranışları belirlemektir. Bu davranışlar şöyle sıralanabilir:
(1) Kod bloğunun ne yapmaya çalıştığı,
(2) Hangi alan adlarının kullanıldığı,
(3) Alan adlarını gizlemek için hangi tekniklerin kullanıldığı,
(4) Yazılımın dışardan alması gereken komutların
ne olduğu,
(5) Hangi servislerin oluşturulduğu ve ne amaçla kullanıldığı,
(6) Hangi açıklardan faydalanarak saldırı başlatıldığı ve bu açıklara
çalışma zamanında nasıl
müdahale edileceği,
(7) Hangi verilerin zarar gördüğü veya çalındığı vb.
Ayrıca, ileri düzey statik analizle elde edilemeyen bilgiler de ileri
düzey dinamik analiz yöntemiyle kolayca elde edilebilmektedir.
Dinamik analizde kötü amaçlı yazılımlar çalıştırılarak (program
kodlarının) sistemdeki davranışları (dosya olayları, registry olayla-
K Ö T Ü A M A Ç L I YA Z I L I M L A R V E A N A L İ Z İ
249
rı, bilgisayar ağında olan olaylar, vb.) izlenerek analiz edilir. Prog-
ram kodları değişse de, programın göstereceği davranışlar büyük
oranda değişmeyeceğinden dolayı, dinamik analiz kullanılarak
oluşturulmuş bir imzayla birçok kötü amaçlı yazılım tespit edilebil-
mektedir. Ayrıca, daha önce bilinmeyen yeni kötü amaçlı yazılımlar
da bu yöntemle başarılı bir şekilde analiz ve tespit edilebilmektedir.
Dinamik analizin en büyük dezavantajı, kötü amaçlı yazılımın ko-
runan ortamlarda (Sanal makine, sandbox ortamında) bütün gerçek
davranışlarını göstermeme ihtimalinin bulunmasından dolayı kötü
amaçlı yazılımın normal yazılım olarak yanlış işaretlenmesidir.
Dostları ilə paylaş: