Başkalaşım kodu

Mart 19th, 2008

Öykünücüler (emulatorler) vasıtasıyla tespit edilmekten kurtulabilmek için her yeni yürütülebilir dosyaya bulaÅŸmadan önce kendilerini tamamiyle yeniden yazan virüslerdir. BaÅŸkalaşım geçirebilmeleri için bu viruslerin baÅŸkalaşım motoru kullanmaları gerekir. Bir baÅŸkalaşım motoru genelde çok büyüktür ve karmaşıktır. ÖrneÄŸin W32/Simile 14000 satır çevirici dili içerir ve %90′ı baÅŸkalaşım motoruna aittir.

Çokşekilli kod

Mart 19th, 2008

Çokşekilli kodlar, virüs tarayıcılara yönelik ciddi tehdit arz eden ilk teknikti. Şifrelenmiş virüslere benzer şekilde çokşekilli virüsler de dosyalara şifrelenmiş kopyaları ile bulaşmakta idi. Bununla birlikte şifre çözücü modülde her dosya bulaşmasında değişmekteydi. Dolayısıyla iyi yazılmış çokşekilli bir virüs her bulaşmada sabit kalacak hiçbir parçaya sahip değildi ve bu da virüs imzalarını kullanarak virüsü tespit etmeyi imkansız hale getiriyordu. Antivirüs yazılımları virüsü , öykünücü (emulator) vasıtasıyla çözerek ya da şifrelenmiş virüs gövdesinin istatistiki model analizini yaparak tespit edebiliyorlardı. Çokşekilli koda sahip olabilmek için virüs, şifrelenmiş gövdesi içerisinde çokşekilli motora (değiştirme motoru ya da değişim motoru) sahip olmalıdır. Bazı virüsler çokşekilli kodları virüsün değişim hızını arttırmakta kullanmaktalar. Örneğin bir virüs zaman içinde yavaş biçimde değişim gösterecek şekilde programlanabilir ya da başka virüs kopyaları bulaşmış dosyalara tutunmaktan kendini alıkoyabilir. Bu türden yavaş çokşekilli viruslerin üstünlüğü, antivirüs uzmanlarının bu türden virüslere ait temsil numulerini elde etmekte zorlanmalarıdır. Çünkü belirli bir zaman sürecinde olta dosyalarına sadece benzer ya da aynı tip virüs versiyonları bulaşacaktır. Bu durum açıkça gösteriyor ki bu türden viruslerin virüs tarayıcıları ile tespiti güvenilir değildir ve sonuç olarak virüsün bazı örneklerinin tespit edilmekten kaçabildiği açıkça belli olmaktadır.

DeÄŸiÅŸken anahtarlar ile ÅŸifreleme

Mart 19th, 2008

Daha geliÅŸkin bir yöntem ise virüsü basit ÅŸifreleme yöntemleri ile saklamaktı. Bu durumda virüs, ufak bir ÅŸifre çözücü modül ile virüs kodunun ÅŸifrelenmiÅŸ bir kopyasından oluÅŸmaktaydı. Her dosya bulaÅŸmasında virüs faklı bir anahtar ile ÅŸifreleniyor olsa da virüsün sürekli sabit kalacak tek bölümü, virüsün son bölümüne iliÅŸtirilen çözücü modül olacaktır. Bu durumda virüs tarayıcı virüs imzalarını kullanarak virüsü tespit edemeyecektir, ama sabit olan çözücü bölüm tespit edilerek virüsü dolaylı yollar ile bulmanın imkanı vardır. Genel olarak virüslerin uyguladıkları çözücü teknikleri basitti ve büyük çoÄŸunlukla her byte’ı ana virüs dosyasında saklanan rastgele hale getirilmiÅŸ anahtar ve Xor takısı ile birleÅŸtirmek suretiyle elde ediliyordu. Åžifreleme ve çözme düzenlerinin aynı olmasından ötürü Xor uygulmalarının
kullanılması virüse ek avantaj sağlıyordu. (a XOR b = c, c XOR b = a.)

Basit ÅŸekil deÄŸiÅŸtirmeler

Mart 19th, 2008

Geçmişte virüsler kendilerini basit şekillerde değiştirebiliyorlardı. Örneğin virüsler, kaynak kodlarında yer alan ve görevleri benzer altprogram ünitelerini değiş tokuş etmekteydi. 2+2 yapısındaki bir virüs takas sonunda 1+3 forumuna dönerken işlevinde herhangi bir değişiklik olmuyordu. Günümüzde bu durum gelişkin virüs tarayıcılar için bir problem oluşturmuyor.

Åžekil deÄŸiÅŸtirmeler

Mart 19th, 2008

Birçok antivirüs yazılımı, sıradan programların dosyalarını virüs imzalarını kontrol ederek taramakta ve muhtemel virüsleri bulmaya çalışmaktadır. Bir virüs imzası belirli tip virüsü ya da virüs ailesini belirten özel byte numunesidir. Eğer virüs tarayıcısı incelenen dosyalar içinde böyle bir numune ile karşılaşır ise kulanıcıyı virüs hakkında bilgilendirir. Kullanıcı bu durumda dosyayı silebilir ya da virüsten arındırabilir. Bazı virüsler, virüs imzaları ile tespit edilmeyi
güçleştirecek ya da imkansız hale getirecek teknikler kullanır. Bu türden virüsler her bulaşım esnasında kodlarını değiştirmektedir.Dolayısıyla her konak virüsün farklı bir versiyonunu bünyesinde bulundurmaktadır.

Bilgisayar ve Internet