BU SERVİS, GOOGLE TARAFINDAN SAĞLANAN ÇEVİRİLER İÇEREBİLİR. GOOGLE, HERHANGİ BİR GARANTİ, GÜVENİLİRLİK VE TİCARİ ELVERİŞLİLİK, BELİRLİ BİR AMACA UYGUNLUK VE İHLAL ETMEME GARANTİLERİ DAHİL OLMAK ÜZERE AÇIK VEYA ZIMNİ GARANTİLER DE DAHİL OLMAK ÜZERE, AÇIK VEYA ZIMNİ TÜM GARANTİLERİ REDDEDER.

Kaspersky Lab web sitesi, Google Çeviri tarafından desteklenen çeviri yazılımı kullanılarak size kolaylık sağlamak amacıyla tercüme edilmiştir. Doğru bir çeviri sağlamak için makul çabalar sarf edilmiştir, ancak otomatik çeviri mükemmel değildir ve insan çevirmenlerinin yerini alması amaçlanmamıştır. Çeviriler, Kaspersky Lab web sitesinin kullanıcılarına bir hizmet olarak sunulur ve "olduğu gibi" sağlanır. İngilizce'den başka bir dile çevrilmiş herhangi bir çevirinin doğruluğu, güvenilirliği veya doğruluğu konusunda açık ya da zımni hiçbir garanti verilmemektedir. Çeviri yazılımı sınırlamaları nedeniyle bazı içerikler (görüntüler, videolar, Flash vb. Gibi) doğru bir şekilde çevrilemeyebilir.

Virus.DOS.DarkParanoid

Sınıf Virus
Platform DOS
Açıklama

Teknik detaylar

Bu bir hafıza ikamet parazit polimorfik virüsüdür. INT 1, 21h kancalar ve kendini EXE'in sonuna ve COM dosyalarının başına yazar.

Bu virüs, herhangi bir anda virüs kodu yürütüldüğünde, şifrelenmemiş bir biçimde sunulan tek bir şifreden oluşan şifreli bir şifreleme yöntemi kullanır – diğer tüm virüs kodları şifrelenir. Virüs, INT 1 izleme modu ile hileler kullanarak yapar. Virüs kodu kontrolü aldığında, INT 1'i kancalar ve herhangi bir virüsün talimatını uyguladıktan sonra (birkaç özel opcodes hariç – bkz. "Intel 80×86 Kullanım Kılavuzu") INT 1 çağrılır. Virüs bu çağrıyı kancalar, mevcut komutun altındaki kodu çözer ve yukarıdaki kodu şifreler.


prev talimatı – şifreli
mevcut talimat – temiz
sonraki talimat – şifreli
"Mevcut komut" uygulandıktan sonra virüs INT 1 kancayla kontrol altına alır, "mevcut komut" u şifreler ve "sonraki komut" un şifresini çözer. Sonuç olarak, herhangi bir anda ya tüm virüs kodları şifrelenir ya da sadece bir talimat temiz olarak sunulur. Dahası, virüs önceki / sonraki komutun kodunu tam olarak değil şifresini çözer / çözer, ancak mevcut komutun adresinden birkaç ofsette bazı bayt / sözcükleri şifreler. Sonuç olarak, virüsün talimat akışı, spotun ortasında "temiz" bir talimatla, hareketli bir noktaya benziyor, kısmen geri kalan kısımda kısmen şifrelenmiş kod ve tamamen şifrelenmiş kodun, spotun dışında.

Bu şekilde şifrelenemeyen üç kod bloğu vardır – bunlar INT 1 işleyicisi (en / decryptor), virüslü dosyalarda kod başlatma ve virüs TSR kopyasındaki INT 21h işleyicisi. Her ikisi de kodları dosyaları ve INT 21h işleyici kanca INT 1 kontrolünü alırken, izleme moduna geçer ve kontrolü ana rutine geçirir – dosyalardaki yükleme rutini ve virüs TSR kopyasındaki ana INT 21h satıcının kodu.

INT 1 çektirme rutini ve elbette, INT 1 işleyicinin kendisi şifreli değildir, bunlar sadece polimorfiktir – virüs, INT 1 fahişesinin enfekte olmuş dosyalarda giriş noktasında ve aynı zamanda INT kodunun oluşturulması için oldukça güçlü bir polimorfik motor kullanır. 1 ve 21 saat işleyicileri.

Virüslü dosyada virüs kodu:


Giriş: + ————- +
INT 1 fahişe | – polimorfik
| – – – – – – – |
| INT 1 işleyici | – polimorfik
| – – – – – – – |
| Ana virüs | – INT tarafından şifrelenmiş 1
| kodu: TSR |
yükleyici, |
| vs |
+ ————- +
Bellekte virüs kodu:

INT 21h + ————- +
giriş: | INT 1 fahişe | – polimorfik
| – – – – – – – |
| INT 1 işleyici | – polimorfik
| – – – – – – – |
| Ana virüs | – INT tarafından şifrelenmiş 1
| kodu: INT 21h |
| işleyici, |
| vs |
+ ————- +
Sonuç olarak, virüs koduna ait tüm "girdiler" (virüs bulaşmış dosyalarda başlangıç ​​adresi, INT 1 işleyicisi ve INT 21h işleyicinin başlatma kodu) polimorfiktir ve ana virüs kodu şifrelenmiştir – bu, anti-virüs araştırmacılarının algılama işlemini ayrıntılandırmak için oldukça güçlü bir görevdir. Böyle bir virüs için prosedürler.

Polimorfik Motor

Sıradan polimorfik motorlar ve "DarkParanoid" 'in motoru arasındaki fark, bu virüsde polimorfik kodda şifre çözme döngüsünün olmamasıdır – sadece INT 1'i kancalar ve ana kodu izlemeyi başlatır. Bu kod farklı virüslü dosyalarda farklı biçimlerde görünebilir – bu kod oluşturulurken virüs rastgele kayıtlar, komutlar, veri erişim modları ve benzerlerini seçer.

In-the-fly şifreleme / şifre çözme rutinini içeren INT 1 işleyicisine benzer. Farklı dosyalardaki bu kod da farklıdır – ondan daha fazla şifreleme fonksiyonu rastgele seçilir: ADD, SUB, XOR, NEG, NOT, ROR, ROL, ayrıca bayt ve kelime erişimi. Ayrıca rasgele kayıtlar kullanılır ve INT 1 işleyicisinin ofseti bazı sınırlar içinde rasgele seçilir.

Kurulum ve INT 21h Handler

"DarkParanoid" virüsü bellek sakindir, bu yüzden virüslü dosya yürütüldüğünde, virüs kendini sistem belleğine yükler. Bunu yapmak için, INT 1'i, anında en / şifre çözme rutini etkinleştirmek için kancalar, gerekli miktarda boş bellek (yaklaşık 7.5K) varsa, geleneksel DOS belleğinde veya Üst Bellek Bloklarında bir sistem belleği bloğu tahsis eder. Virüs daha sonra kodunu oraya kopyalar, INT 21h'yi kancalar ve ana bilgisayar programına kontrolü döndürür.

Bellek yerleşik olarak kurulurken, virüs de dosyaları enfekte ederken bunları kullanmak için şifre çözme rutinleri oluşturmak için polimorfik motorunu çalıştırır. Virüs artık bu motoru çağırmıyor ve bunun sonucu olarak virüs, bir sonraki yeniden başlatma ve yeniden yükleme işlemine kadar dosyalara aynı polimorfik kodu bırakacaktır. Bu bir kullanıcı ve virüs araştırmacılarını kandırabilir – virüs bunların sadece şifrelenmiş bir virüs olduğuna, ancak polimorfik olmadığından emin olmaya çalışmaktadır, böylece sadece tek altıgen deseni ile algılanması mümkündür.

INT 21h virüs işleyicisi, FileOpen / Create çağrılarını (AH / AX = 3Ch, 5Bh 6C00h), FileClose çağrısını (AH = 3Eh) ve Alma Ayrıştırma Stratejisini (AX = 5800h) engeller.

Son işlev (Tahsis Stratejisi Al), "Burada mısınız?" Olarak kullanılır. aramak. Bu çağrı, bellek saklayıcıyı yüklerken virüs tarafından gerçekleştirilir. Bu çağrıdan önce virüs, CX kayıt defterine mevcut yıl numarası artı geçerli ay ve gün numaralarını koyar (Güncel Tarihi, INT 21h ile AH = 2Ah, sonra CX = CX + DX, sonra INT 21h AX = 5800h ile arayın).

Hafızada yerleşik virüs kopyası onu durdurur, mevcut tarihi ve yılı alır ve eklerini CX kaydı ile karşılaştırır. Eşittirlerse, virüs TSR kopyası, denetimi etkin virüs kopyasına geri döndürmez, ancak ana programa kendi başına geçirir. Bu oldukça etkili anti-hata ayıklama hilesi gibi görünüyor – virüs zaten bellek saklı ise, GetAllocationStrategy gibi sıradan çağrı hata ayıklayıcısına geri dönmez.

Bir dosya açıldığında, virüs adı uzantısını "COM" ve "EXE" ile karşılaştırır ve bu uzantıların olması durumunda, dosya kapanırken dosya tanıtıcısını virüs bulaşmasına karşı korur. Sonuç olarak, yalnızca yürütülebilir dosyalar açıldıklarında (örneğin, bir virüsten koruma programı tarafından virüs taraması yapıldığında veya yedeklemeye kaydedildiklerinde) veya kopyalandıklarında bulaşırlar.

Bir dosyaya bulaşmadan önce virüs, dosya adını kontrol eder ve birkaç virüsten koruma programına ve yardımcı programa bulaşmaz – bu dosyalar AV, SC, CL, GU, NO, FV, TO, TB (AVP) harfleriyle başlayan isimlere bulaşmaz. , AVG, TARAMA, TEMİZ, GUARD, TBAV, vb)

Virüs kodlarını EXE dosyalarının sonuna yazar ve EXE dosya başlığında gerekli alanları değiştirir. COM dosyası durumunda virüs, kodunu dosyanın başına yazar ve orijinal dosyayı dosyanın sonuna kadar kaydeder.

Virüs bulaşırken, dosyanın büyüklüğünü değişken sayıyla artırırken, sistem belleğindeki rastgele seçilen adresin (1001 bayta kadar) rastgele seçilmiş sayısını (en fazla 1001 bayt) ve gerçek virüs kodunun (şifreli) 5297 baytına yazar. Virüs ayrıca, EXE dosyalarının uzunluğunu, bulaşmadan önce paragrafa (16 bayt) kadar hizalar ve COM dosyalarını 60 K'dan büyük bir boyuta bulaşmaz. COM ve EXE dosyalarını ayırmak için virüs, dosya üstbilgisini (MZ / ZM EXE damgası) denetler.

Virüs bulaşmış olan ve virüs bulaşmamış dosyayı ayırmak için virüs, dosyanın zaman damgası ve tarih damgasıyla birlikte standart bir numara kullanır. Virüs, virüsün kendi zaman damgasını 2 saniyeye ayarladıktan sonra bu değeri enfeksiyondan önce kontrol eder.

Tetik Rutin

Tetik rutini rastgele kontrata bağlı olarak virüs tarafından yürütülür – her dosyaya virüsün olasılıkla 1/4000 bulaşması ekranın ortasına "DaRK PARaNOiD" metnini gösterir, sonra PC hoparlörüyle sesler çıkarır ve VGA'yı kullanarak ekranı sallar kart özellikleri.

Virüs ayrıca polimorfik motorunun kodunun içindeki metni de içerir:


ETERNAL ŞİFRELEME MOTORU


Orijinaline link