Sponsorlu Bağlantılar
Toplam 1 adet sonuctan sayfa basi 1 ile 1 arasi kadar sonuc gösteriliyor
  1. #1
    mxpc Misafir

    AntiVirusler Hakkında Bilmedikleriniz

    AntiVirusler Hakkında Bilmedikleriniz

    Merhaba;

    Bu yazımda antivirüs programlarının virüs & trojan vs…’ ları nasıl yakaladığından bahsetmek istiyorum. Buna neden de bazı site ve forumlarda insanların başkalarına yanlış bilgiler vermeleridir. Genellikle bu konu hakkındaki yanlış bilgiler de en çok “Hangi AntiVirus (Anti Virüs Programı) en iyisi?” tarzındaki forum başlıklarında dolaşıyor.

    Bazı kimseler diyor ki şu AntiVirus daha iyi. Bak bu şu şu virüsü-trojanı hemen yakaladı diğer AntiVirus yakalayamıyor. Aslında burada pek de yanlış bir durum yok gibi görünse de, en iyisi AntiVirus’lerin virüsleri nasıl yakaladığını öğrendikten sonra yorum yapmak. Yoksa ağzı olan konuşuyor gibi bir durum çıkıyor ortaya.

    Peki AntiVirus’ler Virüsleri Nasıl Yakalıyor?

    Şimdi öncelikle hiçbir AntiVirus sizin yeni yazmış olduğunuz bir virüsü, trojanı vs… yakalayamaz (tespit edemez). Çünkü AntiVirus’ler bir programın ne yaptığına, yapısına bakarak onun virüs olduğuna karar vermez (ascii formatında kodlanan bazı zararlı scriptler dışında)! Peki nasıl tanırlar? Öncelikle bir AntiVirus firması şüpheli dosya hakkında en az iki rapor almalıdır. Daha sonra ise bu dosyanın analizi yapılır ve bir virüs & trojan vs… olduğuna karar verilince, dosyadan hex imza alınır ve virüs veritabanlarına işlenir. AntiVirus programınız da tarama sırasında makinanızdaki programlarda bu veritabanına işlenen hex imzayı arar ve eşitlik sağlandığında dosyanın infecte bir dosya olduğuna karar verilir.

    Yani program ister bilgisayara zarar veren bir virüs olsun, ister bilgisayarınızda arka kapılar (backdoor) açarak dışarıya veri sızdıran bir trojan & worm olsun, bunlar bir AntiVirus firmasına rapor edilip, firma tarafından analiz edilip veritabanlarına dahil edilene kadar asla bir AntiVirus tarafından tanınamaz. Fakat yukarıda da bahsettiğim gibi bazı zararlı scriptler ascii formatında (düz yazı – derlenmemiş) olduğundan AntiVirus bu dosyaya bakarak bazı belli rutinlere göre dosyanın şüpheli bir dosya olduğuna karar verebilir.

    Bunun doğruluğuna inanmak için bilgisayara format atan bir program yazın ya da trojan serverı tarzı makinada port açan (sayısı önemli değil; ister 1 olsun ister 100 olsun) ve dinlenen komutlara göre dışarıya bilgi sızdıran & makinada zararlı komutlar işleten bir program yazın. Bu programı herhangi bir AntiVirus’ye tarattığınızda göreceksiniz ki AntiVirus bu programı bir virüs vs… olarak tanıyamayacaktır.

    Hadi şimdi biz de bir virüsden hex imza alalım :-))

    Ben örnek olarak Lorez virüsünden bir hex imza aldım:

    58 FF E0 8B 85 57 17 40 00
    50 B9 78 56 34 12 FF 95 E6
    16 40 00 89 85 53 17 40 00
    83 F8 FF 75 01 C3 6A 20 8B

    Şimdi örneğin C’de bir program yazdığımızı varsayalım ve Lorez virüsünden aldığımız bu hex imzayı da programda kullandığımızı düşünelim. Yine örnek vermek gerekirse BYTE tipinde bir diziye kodumuzu yerleştirelim:

    BYTE lorez_virusu_imzasi[] = {0×58,0xFF,0xE0,0×8B,0×85,0×57 ,0×17,0×40,0×00,
    0×50,0xB9,0×78,0×56,0×34,0×12, 0xFF,0×95,0xE6,
    0×16,0×40,0×00,0×89,0×85,0×53, 0×17,0×40,0×00,
    0×83,0xF8,0xFF,0×75,0×01,0xC3, 0×6A,0×20,0×8B};

    Bu kodu yazdığınız bir programa dahil edip windows altında derleyip kozan.exe diye bir dosya oluşturduğunuzu varsayalım. Büyük ihtimalle AntiVirus programınız kozan.exe dosyasına Win95.Lorez (ya da kendi veritabanlarına nasıl bir isimle kaydetmişlerse) virüsü bulaşmış diye bir uyarı verecektir. Ama siz bunun zararsız bir kod olduğunu anlamışsınızdır sanırım :-))

    İşte AntiVirus yazılımları da aynı bu şekilde kendilerine rapor edilen dosyaları incelerler ve hex imza veritabanlar oluştururlar. Daha sonra da tarama işlemlerinde dosyalarda bu veritabanındaki imzaları ararlar ve dosyanın infecte olup olmadığına karar vererek disinfecte, silme, karantina vs işlemleri gerçekleştirirler.

    Şimdi genel olarak bir AntiVirus’nin nasıl çalıştığını öğrenmiş olduk. Peki hangi AntiVirus’nin daha iyi olduğuna nasıl karar vereceğiz? Aslında her AntiVirus bu kısımda aynı işlemleri yaptığından fark burda yok aslında. Genel olarak AntiVirus’lerde sistemi aşırı yAntiVirusaşlatmaması (Norton yüklü makinanın sürünmesi gibi) ve e-posta denetleme vs gibi ek özellikler ve en az sistem harcayarak en çok fonksiyonu en iyi şekilde başaran bir AntiVirus’yi iyi olarak nitelemek mümkün.

    Ek olarak kendimce iyi bir AntiVirus’ye örnek vermem gerekirse Kaspersky AntiVirus’yi rahatlıkla söyleyebilirim. Bu yazılımın diğer AntiVirus’lere göre bir artısı daha var ki; o da bu virüslerden vs… alınıp veritabanına işlenen hex imzalara ek olarak, dosyayı birçok exe packer ile ayrı ayrı packlenmiş hallerinden de hex imza alarak veritabanına işlemeleri. Böylece örneğin tanınan bir trojanı (eğer packlenmişse unpack ederek başka bir packerla) packleyerek diğer AntiVirus’lere karşı tanınmaz hale getirseniz bile KAntiVirus bunu daha önceden kendisi de deneyip vertabanına eklemiş olabileceğinden, diğer AntiVirus’ler tanımazken KAntiVirus bu infecte dosyayı yine tanıyabilir.

    Umarım artık bu konuda insanlara yanlış bilgiler verilmez. Belki önümüzdeki yazılarda bir infecte dosyanın AntiVirus’lere karşı manuel olarak nasıl tanınmaz hale getirileceği hakkında bir makale de yazabilirim.

    Görüşmek üzere…

    Author: Kozan

    Yayınlanma : 2004-08-03

    Kozan ‘ı sevgiyle saygıyla anıyorum. Allah yattığı yerde huzur versin, mekanını cennet eylesin.

    Osman Atabey & TcpSecurity.com | Unix Linux Windows Server Güvenlik Sistem Yönetimi
    .

Bu Konu için Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •