Polimorfik Kötü Amaçlı Yazılım

Polimorfik (Polymorphic) kelime anlamıyla “çeşitlilik” üzerine türemiş bir kavram olup, sanal ortamda varlığını sürdürebilen, mutasyona uğruyor diyebileceğimiz, zararlı bir kodlama bütünüdür. Şimdi neden zararlı inceleyelim.


Kullanıcıları bilgisayarlarını runtime/scantime arama yaparak zararlı dosyaları tespit edebilen Antivirüsler, birçok teknik geliştirdiler. İlk zamanlarda en önemli olan  imza tabanlı tespit tekniklerini uyguladılar. İmza tabanlı tespit zamanla gelişti ve gittikçe daha performanslı hale geldi, ancak yine de profesyonel virüs yazarları tarafından bypass edilerek görünmez hale geldi.

Antivirüs imza veritabanları, sistem taraması için bir destek olarak çalışır ve bir tehdidi tanımlayan belirli bir uygulamanın (veya uygulamaların bir kısmının) imzasını sağlar. Dünyanın dört bir yanında birçok laboratuvar ve mühendis belirli tehditleri analiz eder, yazılımın önemli parçalarını çıkarır ve bunları daha sonra kişisel dizüstü bilgisayarlar, sunucu ve akıllı telefonlardaki tüm antivirüs örneklerinde güncellenen bu tür veritabanlarına ekler.

Profesyonel virüs yazanlar Crypter adını verdiğimiz küçük araçlarla hedef bir dosyayı şifreler ve anti-virüslere görünmez hale getirir. Ancak imza tabanlı çalışan sistemlerde, bu dosyalar her ne kadar görünmez olsalar da, dosyanın çalışma esnasındaki adımlarını izler ve tahmini olarak ne tür işlemler yaptığını inceler. İnceleme sonucunda zararlı olabileceğini düşündüğü işlemleri kısıtlayarak çalışmasını önler.

Kodlanmış örnek crypter

Bu tarz virüsler çok sayıda işlemi gerçekleştirmek için yazılır. İşlemler genellikle bir Komuta ve Kontrol  sunucusuyla iletişim kurmaktan yerel ağa bağlı diğer ana bilgisayarlara bulaşmaya kadar gider. Verilen her görev, kötü amaçlı yazılımlara tek ve kişisel bir “tat” vermeyi sağlar ve verilen görevler ne kadar fazlaysa, uygulama o kadar benzersiz olur. Bu özelliği genellikle uygulamanın “yüzeyi” olarak adlandırırım. “Yüzey” ne kadar büyükse, kullanılan enjeksiyon ve enfeksiyon teknikleri için o kadar benzersiz hale gelir.

Başka bir yerde benzer bir uygulama bulunursa, bu bir tehdit olarak algılanır ve virüsten koruma, virüslü sistemi temizlemek için ne yapılacağına karar verir (eğer temizlemeye karar verirse; bazı antivirüsler yalnızca bilgisayarın tehlikeye girdiğini bildirir). Bu metodoloji genellikle gerçekten güvenilirdir, ancak virüsün antivirüs laboratuvarı bilgisayarına indirilmesi, mühendisler tarafından parçalara ayrılması ve veritabanına eklenmesi gerekir. Tüm bu adımların uygulanması zaman alır ve bu süre zarfında virüs, vahşi doğada görevlerini kesintisiz olarak yerine getirmekte özgürdür. Elbette antivirüslerin imzaya değil, buluşsal yöntemlere dayalı algılama teknikleri gibi bazı başka yollar vardır. Bu nedenle, bu tekniklerin işlenmesi zordur ve yanlış pozitiflere ve hatalara eğilimlidir (yasal bir uygulamayı virüs olarak tanımlayabilir. Bu yüzden kendi geliştirdiğimiz programcıklar virüs olarak algılanabilir).

Polimorfik kötü amaçlı yazılım eski bir fikirdir ve temelde, imza tabanlı taramaları veya benzer teknikleri kandırmak için kötü amaçlı yazılımı bir tür “pelerin” ile kaplayarak gizlemeye dayanır. Gizleme sayısız şekilde yapılabilir ve bu nedenle bu tür mekanizmalarla korunan kötü amaçlı yazılımlar tehlikelidir ve bunların üstesinden gelinmesi zor kabul edilir. Çok biçimli kötü amaçlı yazılım yazmak da kolay bir iş değildir, çünkü küçük hatalar çok büyük sorunlara yol açabilir (yazılımı kullanılamaz hale getirir).

İmza doğrulama

Bu tür bir uygulama, herhangi bir ikili dosyayı tarayarak onun kriptografik sağlam karmalarını (imzalarını) oluşturur. Bu imzaların temel yükümüzü nasıl belirleyeceğini ve polimorfizmin bir sisteme izinsiz giriş sırasında virüsün izini kaybettirmesine nasıl yardımcı olacağını göreceğiz.

Yalnızca uygulamaya tüm dosyanın imzasını hesaplama talimatı verilmez, aynı zamanda aynı dosyanın daha küçük alanları için imzalar da oluşturulur. Çığ etkisi nedeniyle, bir bayt değiştirmek tüm imzayı değiştirdiğinden, SHA256’nın tüm dosya üzerinde kullanılması, kullanılabilir bir bilgiye sahip olmak için yeterli değildir. Eh, tüm dosya hash bilgisinin güvenilirliği kesinlikle  %100’e yakındır, çünkü kötü amaçlı yazılımın tam bir kopyası sistemde şüphesiz tespit edilecek, ancak aynı kötü amaçlı yazılımın gelecek nesilleri (değiştirilmiş ve yeniden derlenmiş) geçecektir.

Dosya imzalarını çıkarmak için karma işlevlerin kullanılmasına gerek olmadığını da unutmayın! Kötü amaçlı yazılımın benzersiz bir özelliği olması muhtemel olan kodun anlamlı bir bölümünü seçmek ve izole etmek yeterlidir. Mesela şöyle bir kod düşünelim,

1 % 5 % 8

1 ile 5 arasına gelecek sayılar rasgele olsun. 5 ile 8 arasına gelecek sayılarda rasgele olsun. Bizim için önemli olan 1,5 ve 8 sayıları ise geriye kalan alanların ne olduğu hiç önemli değildir. işte polimorfik sistemde ana işlemler aynı kalarak sadece özel bölümler için ayrılan alanları sabit tutar. Yine de, bu koruma mekanizmasının olmamasına rağmen, virüsler antivirüs şirketleri tarafından tespit edilip imzalanana kadar hala zararlı olabilir. Sistemde, anti-viruslerin dikkatini çekmeyecek kadar sessiz olduğu için herkes tarafından görmezden gelinen, hiç koruması olmayan uzun ömürlü kötü amaçlı yazılımlara dair pek çok örnek var.

Örnek Polimorfik Virüsler

Aşağıda listelenen bazı polimorfik virüs örnekleri vardır:

  • Fırtına Solucanı E-postası

2007’de gönderilen “fırtına Avrupa’yı vururken 230 ölü” temasıyla gönderilen kötü şöhretli spam e-posta, dünya çapında kötü amaçlı yazılım bulaşmalarının %8’ine neden oldu. E-postanın ekini açtıktan sonra kötü amaçlı yazılım, wincom32 hizmetini ve Truva atını alıcının bilgisayarına yükleyerek onu bir bota dönüştürür. Geleneksel antivirüs yazılımlarını kullanarak fırtına solucanlarını tespit etmenin zor olmasının nedenlerinden biri, yaklaşık olarak her 30 dakikada bir kullanılan kötü amaçlı kod kombinasyonunu değiştirecek.

  • CryptoWall Ransomware

CryptoWall, polimorfik fidye yazılımı olarak kurbanın bilgisayarındaki dosyaları şifreler ve şifresini çözmek için fidye ister. Cryptowall’da kullanılan polimorfik kod sistemi, her potansiyel kurban için esasen yeni varyantlar geliştirerek kendisini anti-virüslerden gizlemeye devam eder.

  • VirLock

Virlock, sıradan fidye yazılımı gibi bilgisayar ekranını kilitler ve dosyalara bulaşabilir, kendisini çoğaltabilir ve formatı değiştirebilir.

Sizi kodu keşfetmeye, analiz etmeye ve bir kişisel bilgisayarın ne kadar savunmasız olabileceğini anlamaya davet ediyorum. Size siber tehditler hakkında daha fazla bilgi vermek istiyorum, böylece yabancı veya arkadaşlar tarafından gönderilen alışılmadık bir e-postadan gelen o garip eke tıklamayın.

Bilgisayarınıza Polimorfik Virüs Bulaşmış Olup Olmadığını Nasıl Anlarsınız?

Polimorfik virüsler hemen hemen her tür virüste görünebileceğinden, bilgisayara ve görüntülediklerine çok dikkat etmeniz gerekir. Bilgisayarınızda aşağıdaki olay belirdiğinde, bilgisayarınıza polimorfik virüs bulaşmış olabilir.

  • Bir web tarayıcısı sizi aniden hiç açmadığınız bir web sitesine götürür veya normalde bu tür reklamları kullanmayan bir web sitesinde bir pop-up reklam ekranı çıkarabilir.
  • Mavi ekran hatası verebilir.
  • Bilgisayar ihtiyacınız olan dosyalara ve belgelere erişmenize izin vermeyebilir.
  • Bilgisayar performansını yavaşlama olabilir.
  • Ekranda görünen bilinmeyen reklamlar vardır.
  • Kendi kendine çalışan programlar
  • Kendi başına çoğalan dosyalar
  • Bilgisayardaki bilinmeyen dosyalar veya programlar
  • Silinen veya bozulan dosyalar, klasörler veya programlar
  • Bir sabit sürücünün sesi

Polimorfik Virüs Nasıl Önlenir?

  1. Şüpheli Bağlantıları veya Mail Ekleri Asla Tıklamayın.
  2. Güvenlik Yazılımlarınızı Güncel Tutun.
  3. Anti-Virus Veritabanını Güncelleyin
  4. Sezgisel Taramayı Kullan
  5. Davranış Tabanlı Tespit Kullanın(ProActive)
  6. Verilerinizi Düzenli Olarak Bir Yedeğini Alın.

Polimorfik Yazılım & Metamorfik Yazılım

İnsanlar genellikle polimorfik kötü amaçlı yazılım ile metamorfik kötü amaçlı yazılımın aynı olduğunu düşünür. Çünkü iki sistemde aynı amaç uğruna kullanılabiliyor. Bunlar, bilgisayar korsanlarının sisteminize girdirmek istediği truva atı, solucan gibi zararlı yazılımların Anti-Virus programları tarafınca tespit edilmemesi için kaçınırken bilgilere sızmak ve bilgi çalmak için kullandıkları uyarlanabilir ve değiştirici yazılımlardır. Hem polimorfik hem de metamorfik kötü amaçlı yazılım, geleneksel yani imza tabanlı kontrol yöntemini atlatmayı hedefler. Ancak hedefleri aynı olsa da, her kötü amaçlı yazılım türünün onlara ulaşma şekli farklıdır.

Metamorfiği polimorfik kötü amaçlı yazılımdan ayıran şeylerden biri, kodunu tamamen yeniden yazmasıdır, böylece her yeni yayılan sürüm artık önceki yinelemesiyle eşleşmez. Örnek verecek olursak, C:\ sürücüsünden bir dosyayı kopyalayan ve masaüstüne yapıştıran bir program düşünelim. Bu program polimorfik olarak sistemde varlığını devam ettirirken, kodların sadece belirli bölümlerini kendi içinde değiştirir. Oysa metamorfik yöntem ile tüm kodlar değişerek yine aynı işi yapabilen mutasyona uğramış bir virüs ortaya çıkar. Basitçe söylemek gerekirse,

polimorfik kötü amaçlı yazılım, lekelerini değiştiren bir leopardır;

metamorfik kötü amaçlı yazılım, aslana dönüşen bir kaplandır.

Photo of author

Mert Dirilik

Eğitimli insanlar topluma borçludurlar. Bir işin nasıl yapılabileceğini biliyorken bir başkasının yapamadığını görüp susmaları kendilerini yetiştiren o topluma ihanettir.

Yorum yapın