Diger

Antivirüs Programlari Nasil Calisir

30 Temmuz 2013

Konuya başlamadan önce birkaç isme bildiklerini benimle paylaştıkları için teşekkür etmek istiyorum. Umut Gümeli ve Oğuzhan Akkaya’ya sonsuz teşekkürlerimi iletiyorum.

 

Öncelikle şunu belirtelim ki yeni çıkmış bir virüsü veya türevini hiçbir anti virüs programı belirleyemez. Çünkü anti virüs programları uygulamaların davranışlarını, yapısını gözlemleyerek zararlı yazılım olup olmadığına karar veremezler. (Bazıları hariç bkz: Heuristic Analysis)

 

Virüsleri Nasıl Tespit Ediyorlar?

Öncelikle bir virüs programı zararlı yazılım hakkında en az iki bildirim almalıdır. En az iki bildirim aldıktan sonra bu dosya hakkında analizi yapar ve dosyanın zararlı yazılım olup olmadığına karar verir. Dosyanın zararlı yazılım olduğuna karar veren anti virüs dosyadan Hex, Md5, Registry veya her üçünün birden girdisini alır. Girdi Md5 + Sha 1 kriptosunda yer alır. Buradan da anlaşılabileceği gibi anti virüs programları zararlı yazılım kanısını getirdiği her uygulama için farklı bir hash yazar. İmzası alınan zararlı yazılım veri tabanına işlenir. Daha sonra bilgisayarda kurulu olan programlardan bu girdiyi arar ve bir eşleşme bulursa dosyanın infecte edilmiş zararlı yazılım olduğuna tam bir kanaat getirmiş olur. Daha sonrada haliyle size dosyanın zararlı olduğunu haber verir. İşte bu yüzden yeni çıkmış bir virüsü anti virüs programları tespit edemiyorlar. Çünkü virüsün girdisi anti virüs programının veritabanında bulunmuyor.

 

Heuristic Analysis

Konuya başlarken “anti virüs programları uygulamaların davranışlarını, yapısını gözlemleyerek zararlı yazılım olup olmadığına karar veremezler” diye bir cümle kullanmıştım. Heuristic Analysis, dosyaların davranışlarını gözlemleyerek eriştiği yerleri tarayarak dosyaların zararlı yazılım olup olamayacağına karar verir. Sanırım anti virüs programlarının olduk olmadık herşeyi zararlı yazılım bazında görmesinin sebebi de budur.

 

Bir Örnek Yapalım

Şimdi konunun iyice kafanıza yerleşmesi için Oğuzhan Akkaya’nın konu için vermiş olduğu örneği derleyip anlatalım. ABC isminde bir virüs kodlamış olalım ve bu virüs önceden anti virüs programının veri tabanına işlenmiş olsun. ABC virüsünden bir Hex alalım : 00 56 34 12 6A 8B 20 40 FF F8 C3 A2 23 42 DD . Şimdi herhangi bir programlama diliyle bir program yazdığımızı ve virüsün Hexini programa eklediğimizi düşünelim. Hex’i byte türünden bir diziye atalım: ABCvirussignature[]={0x00,0x56,0x34,0x12,0x6A,0x8B,0x20,0x40,0xFF,0xF8,0xC3,0xA2,0x23,0x42}; bu kodu programa dahil edip Windows’ta derleyip çalışacak hale getirip ABC.exe oluşturduğumuzda muhtamelen anti virüs programı exe’yi veri tabanında nasıl kayıtlı ise o şekilde bir uyarı verecektir. Bu şekilde anti virüs programları kendilerine rapor edilen dosyaları inceleyip hex dosyası oluştururlar. (Md5 veya Registry de oluşturabilirler) Daha sonra bir bilgisayarda bu dosyaları bulduğunda size zararlı yazılım bulunduğunu söylerler.

 

Hangi Antivirüs Daha İyi?

Hepsi hemen hemen aynı mantıkla çalıştığına göre hangi anti virüs programı daha iyi? Genel anlamda hepsi aynı işi gerçekleştirdiklerinden daha az dinamik hafıza alanı kullanan, E-Posta koruması gibi ek özellikleri olan, en çok güncelleştirme yapan anti virüs programlarını tercih etmekte fayda var.

 

Heuristis Analysis Hakkında Detaylı Bilgi 

Heuristic Analysis Hakkında Kaspersky’ın Makalesi

Eicar Anti Virüs Test Dosyası

 

Faydalı olması dileğiyle..

You Might Also Like

Henüz Yorum Yok

Bir Yorum Bırak

16 − four =