Ana sınıf: VirWare
Virüsler ve solucanlar, bilgisayarlarda veya bilgisayar ağları aracılığıyla kullanıcının kendi kendine farkında olmadan kendini kopyalayan kötü amaçlı programlardır; Bu tür kötü amaçlı programların sonraki her kopyası kendi kendini kopyalayabilmektedir. Ağlar yoluyla yayılan ya da uzaktaki makinelere “sahibi” (örn. Backdoors) tarafından komut verildiğinde ya da kendi kendine çoğaltılamayan birden çok kopya oluşturan programlar Virüsten ve Solucanlar alt sınıfının parçası değildir. Bir programın Virüsler ve Solucanlar alt sınıfı içinde ayrı bir davranış olarak sınıflandırılıp sınıflandırılmadığını belirlemek için kullanılan temel özellik, programın nasıl yayıldığıdır (yani, kötü amaçlı programın kendi kopyalarını yerel veya ağ kaynakları aracılığıyla nasıl yaydığı). Bilinen pek çok solucan yayılır. e-posta eki olarak gönderilen dosyalar, bir web veya FTP kaynağına bağlantı yoluyla, bir ICQ veya IRC mesajında gönderilen bir bağlantı yoluyla, P2P dosya paylaşım ağları vb. yoluyla gönderilir. Bazı solucanlar, ağ paketleri olarak yayılır; Bunlar doğrudan bilgisayar belleğine nüfuz eder ve solucan kodu daha sonra aktif hale gelir. Solucanlar, uzaktaki bilgisayarlara girmek ve kendi kopyalarını başlatmak için aşağıdaki teknikleri kullanırlar: sosyal mühendislik (örneğin, kullanıcının ekli bir dosyayı açmasını öneren bir e-posta iletisi), ağ yapılandırma hatalarını (tam olarak erişilebilen bir diske kopyalama gibi) ve istismar etme işletim sistemindeki boşluklar ve uygulama güvenliği. Virüsler, bir bilgisayara bulaşmak için kullanılan yönteme göre bölünebilir: dosya virüsleri önyükleme sektörü virüsleri makro virüsleri komut dosyaları virüsleri Bu alt sınıftaki herhangi bir program ek Truva işlevlerine sahip olabilir. Ayrıca, birçok solucanın kopyaları ağlar üzerinden dağıtmak için birden fazla yöntem kullandığı da not edilmelidir. Algılanan nesneleri çoklu işlevlerle sınıflandırma kuralları, bu tür solucanları sınıflandırmak için kullanılmalıdır.Sınıf: Virus
Virüsler yerel makinenin kaynakları üzerinde çoğalırlar. Solucanlardan farklı olarak, virüsler diğer bilgisayarları yaymak veya bunlara nüfuz etmek için ağ hizmetlerini kullanmaz. Virüsün bir kopyası, yalnızca virüslü nesnenin, virüs işleviyle alakası olmayan bir nedenle başka bir bilgisayarda etkinleştirilmişse, uzak bilgisayarlara ulaşacaktır. Örneğin: erişilebilir disklere virüs bulaştığında, bir virüs bir ağ kaynağında bulunan bir dosyaya girer, bir virüs kendisini çıkarılabilir bir depolama aygıtına kopyalar veya bir dosyayı virüslü bir eki olan bir e-posta gönderir.Platform: Win9x
No platform descriptionAçıklama
Teknik detaylar
Bu parazitli bir Windows virüsüdür. Windows 95/98 altında yayılır, kopyasını Windows belleğine yükler, dosya erişim işlevlerini kancalar ve PE (Windows Taşınabilir Yürütülebilir) dosyalarını bozar. Virüs ayrıca Windows yardım dosyalarını da (.HLP) etkiler - onları etkinleştirir, böylece virüs kodu diske atılır ve çalıştırılır. Virüs aynı zamanda damlalıklarını dört tür arşive ekliyor: RAR, ZIP, ARJ ve HA. HLP dosyalarındaki ve arşivlerindeki virüs damlalıkları DOS COM dosya formatına sahiptir ve DOS kutusunda çalıştırılır, ancak virüs kodlarını Windows belleğinin yanı sıra virüslü Windows çalıştırılabilir dosyalarına kurabilirler (aşağıya bakınız).
Virüs kodu, DOS damlalıklarında ve Windows PE dosyalarında polimorfik rutinlerle şifrelenir. Windows dosyalarında virüs, "Giriş Noktası Gözlemleme" teknolojisini de kullanır: virüs kodu, virüs bulaşmış bir dosya yürütüldüğünde hemen denetim almaz. Çoğu durumda JMP_Virus yönergesi, virüs bulaşmış dosya gövdesinde bir yerde, dosya başlığında değil, dosya başlangıç adresinde yer alır ve yalnızca karşılık gelen programın şubesi denetimi aldığında çalıştırılır.
Virüs "yavaş enfeksiyondur": enfekte etmeden önce birçok koşulu kontrol eder ve sonuçta bilgisayarda çok az dosya etkiler - standart Windows95 / 98 kurulumunda sadece yaklaşık on EXE dosyası. HLP dosyaları ve arşivleri için aynı - çok azı bulaştırılmış olabilir. Virüs ayrıca ilk enfeksiyondan önce bir dakika süreyle enfeksiyon rutinini geciktirir ve iki dakika boyunca bu dosyalara erişim olmadığında sadece HLP dosyalarını ve arşivleri enfekte eder.
Virüs çok tehlikelidir. Disk dosyalarına erişildiğinde, adlarını kontrol eder ve birkaç virüsten koruma programı (ADINF, AVPI, AVP, VBA, DRWEB) durumunda virüs, tüm dizinlerdeki tüm dosyaları C: 'den Z ye kadar tüm disklerde siler: virüs sistemi silmek ve daha sonra Fatal_Error_Handler VMM çağrısıyla sistemi durdurur.
Kendisini sisteme her yüklediğinde virüs tarafından silinmiş bir kurban dosyası daha var. Windows dizininde COMMAND.PIF dosyasıdır.
Virüsün bazı Windows 95/98 konfigürasyonları altında ölümcül olan hatalar vardır - virüsün enfekte edilmesinde standart "Genel koruma hatası" mesajıyla "mavi ekran" oluşturur.
Sisteme yükleme yaparken virüs rastgele sayıcısına (bir vakadan 48) bağlı olarak mesajı görüntüler:
1997 VBA Ltd. E-posta: support@vba.minsk.by
Bellek Yerleşimini Kurma
Virüs "yerleşik" kopya VxD (Ring0 - Windows çekirdek) düzeyinde çalışır. DOS programları ve Windows uygulamaları bu alana standart yöntemlerle erişemez, bu nedenle bu virüsü kodlarını buraya yüklemek için birkaç numara kullanır.
DOS damlalığı çalıştırıldığında, virüs denetimleri Windows yüklenir ve değilse DOS'a döner. Aksi takdirde, DMPI çağrıları kullanılarak virüs, Yerel Açıklama Tablolarına (işlemcinin koruma modu bellek ayırma tablolarına) erişir, onları yatar ve 32 bitlik modu korumak için DOS 16 bit kodunu değiştirir. Virüs kodu daha sonra Windows çekirdeğinin bir parçası olarak çalışır ve gerekli tüm Windows işlevlerine erişebilir.
Virüs bulaşmış PE dosyası çalıştırıldığında, virüs ayrıca sistem belleği tahsis tablolarını yayar ve kodunu uygulama seviyesinden (Ring3) çekirdek seviyesine (Ring0) geçirir. Virüs, daha sonra virüs bulaşmış DOS damlalıklarının yaptığı gibi, aynı yükleme yordamına denetimini geçirir.
Kurulum rutini, kontrolü ele aldığında, bir sistem belleği bloğu tahsis eder, virüsü oraya kopyalar, Windows fonksiyonları kancalar ve kontrolü serbest bırakır. Orijinal virüs kopyası daha sonra DOS'a döner (DOS damlalığı durumunda) veya ana bilgisayar PE dosyası verilerini geri yükler ve kodu döndürür ve döndürür.
Virüs Hookers
Virüs üç Windows işlevini kancalar. Birincisi, I / O portunun yakalanması için geri arama prosedürüdür. Virüs 534Bh portu kancalar ve "burada mısın?" çağırır. Bu porttan enfekte sistem koşulları altında okuma, AL kaydında 21h ("!" Karakteri) döndürür. Hem DOS hem de Windows virüs yükleme yordamları, bellek yerleşik yüklemeden önce bunu deneyin. Bu portun numarası, virüsü adlandırmak için kullanılmıştır - 534Bh, ASCII'de "SK" dir.
İkinci kanca yerleşik Windows infektörleri için "standart" - Dosya Sistemi API kancasıdır. Dosya açma, yeniden adlandırma ve dosya özniteliği get / set işlevlerini engeller. Bu çağrılar sırasında virüs, enfeksiyon rutinlerini çalıştırır.
Üçüncü kanca, "Install FileSystemApiHook" işlevini (önceki kancayu yüklemek için kullanılan) kendisini durdurur. Bu çağrı virüs tarafından fahişesini saklamak için kullanılır: yeni bir kanca takıldığında, Windows bu işlevi çağırır. Şu anda virüs, kendi IFS API kancasını kaldırır, yeni bir tanesini (talep edilir) yükler ve ardından virüsün kancasını yeniden yükler. Sonuç olarak, virüs fahişesi her zaman kanca listesinde en üstte yer alır ve disk dosyalarına erişildiğinde kontrolü alan ilk kişidir.
Virüs IFS API fahişesinde başka bir numara daha var: dosya sistem sürücülerine (FileSystem çağrılarının hedefi) erişmek için virüs, "yerel" sistem işleyicisinin adresini kullanır. Virüs, bu adresi arayanın yığında tamamen belgelenmiş alandan alır ve bu adresi kullanarak gerekli dosya işlevlerine doğrudan çağrı yapar.
Dosyaları Infect
IFS API fahişe kontrol altına alındığında ve enfeksiyon rutin ilk kez aktive edildiğinde, Windows kabuk uygulamasına (genellikle EXPLORER.EXE) bulaşır. Bulmak için virüs Windows dizinde SYSTEM.INI dosyasını açar, "shell =" komutu için tarar ve onu enfekte eder.
Bu dosya her zaman çalışır, böylece virüs onu değiştiremez. Bu sorunu çözmek için virüs "yükseltme" hilesi kullanır. Virüs bu dosyayı başka bir adla kopyalar (dosya adındaki son harften birine ekler: EXPLORER.EXE - EXPLORER.EXF), yeni dosyaya bulaşır ve Windows'u virüslü bir dosyayla "yükseltme" ye zorlar. Bunu yapmak için virüs standart yol kullanır: Windows dizininde WININIT.INI dosyasını oluşturur ve orada gerekli "Yeniden Adlandırma" talimatlarını yazar.
Windows kabuğu zaten bulaşmışsa, virüs erişilen dosyayı bozar. Her şeyden önce dosya adı uzantısını kontrol eder. .EXE, .SCR ve .DLL dosyaları durumunda virüs, rutin bulaşan PE dosyasına atlar; .HLP dosyası durumunda virüs, damlama koduyla yamalı; .RAR, .ZIP, .ARJ ve .HA durumunda, virüs içeriklerini kendi çalıştırılabilir damlalıklarının içerisine arşivler.
Windows PE'yi Enfekte Etmek
PE dosyaları enfekte ederken virüs şifresini kodlar ve kodu Relocation (Fixup) bölümüne yazar ve sonuç olarak bu verilerin üzerine yazar. Windows'un belleğe uygulamaları yüklemek için kullandığı yol yüzünden, çoğu durumda yeniden yerleştirmelerde herhangi bir dikkati yoktur - tüm uygulamalar aynı adreslere yüklenir ve hiçbir yer değiştirme kullanılamaz. Bir uygulamanın başka bir ana bilgisayar uygulaması tarafından ana bilgisayarın belleğine yüklendiği birkaç durumda, Windows yükleyici yer değiştirme tablosunu işler ve uygulama kodunda gerekli değişiklikleri yapar. Bunu düzeltmek için virüs PE başlık alanlarını değiştirir: Karakteristik alandaki Yeniden Yerleştirme işaretlerini temizler (bu, dosyada yer değiştirme olmadığı anlamına gelir) ve Yeniden Konumlandırma bölümünün sıfır adresine ayarlanır. Sonuç olarak, etkilenen uygulama sadece başka bir adrese yüklenemez (başka bir uygulamanın alanını adreslemek için), ancak tek başına olanlar olarak mükemmel şekilde çalışır.
Virüs daha sonra Relocation bölümünün başlığında gerekli değişiklikleri yapar: Rastgele sayacına (8'den 1'inde) bağlı olarak bölümün adını değiştirir, metnini şifreler ve oraya yazar, özelliklerini Readable ve Initialized olarak ayarlar. Virüs ayrıca, Relocation bölüm boyutunu kontrol eder - virüs kodu için yeterince büyük ve dosyaları sadece virüs kodunun bölüm gövdesine girmesi durumunda virüs bulaşır. Sonuç olarak, virüs onları enfekte ederken PE dosya boyutunu artırmaz.
Virüs bulaşmış programlar çalıştırıldığında kontrolü almak için, virüs PE başlığında Giriş adresini değiştirmez. Başka bir daha karmaşık bir yol kullanır - kurban programında rastgele seçilen kodu yamalar ve JMP_Virus rutinini oraya yazar. Sonuç olarak, virüs programı, virüs bulaşmış program etkinleştirildiğinde hemen gerçekleştirilmez. Sadece yama işleminin kontrol altına alındığı durumlarda uygulanır. Bazı durumlarda, bu dal çok nadiren yürütüldüğünde (örneğin, rutin işlem yapılırken hata meydana geliyorsa), virüs uzun süre programda "uyuyabilir" ve sonra da bazı ekstra durumlarda atlar.
Programdaki pozisyonu yamaya yerleştirmek için virüs, kurban dosyasının bloklarını okur ve C / Pascal alt yordamları için tarar. Bu yordamların standart üstbilgileri ve altbilgileri vardır ve virüsün yalnızca onları bulması ve alt yordam giriş ve çıkış yönergeleri arasındaki JMP_Virus kodu için yeterli alan olduğunu görmesi gerekir.
Denetimleri, yamalar alt yordamından ana virüs koduna geçiren JMP_Virus yordamı, yalnızca tek bir JMP yönergesi değildir. Daha sofistike: kontrol etmeden önce ana virüs kodunu şifreleyen polimorfik döngüdür - 168 baytlık bir koda sahiptir.
Özetle, virüs bulaşan programların çalışması şöyle görünür: Windows programı yükler ve yürütür ve rutinleri bazı çalışmalar yapmaya başlar. Virüs şu anda “uyur”, çünkü yamalı altprogram henüz uygulanmadı. Bu kod kontrol altına alındığında, virüs JMP_Virus rutini etkinleştirilir. Ana virüs kodunu (Relocation bölümüne yerleştirilir) şifresini çözer ve şifresi çözülmüş kodlara atlar. Virüs yükleme rutin kontrolünü alır, virüsü Windows belleğine kopyalar, virüs kancalarını kurar, yamalanmış ana bilgisayarın alt rutinini geri yükler ve kontrolü ona iade eder.
Bazı durumlarda (Windows kabuğu enfekte olduğunda veya C / Pascal yordamı bulunmadığında) virüsün JMP_Virus yamasını doğrudan programın Giriş adresine yazdığını unutmamak gerekir. Bu durumda virüs kodu, virüslü dosya çalıştırıldığında hemen kontrol edilir.
Arşivleri Arşivleme
Virüs dört çeşit arşivi etkiler: RAR, ZIP, ARJ ve HA. Virüs bulaşırken virüsler dahili formatları ayrıştırır, son damla olarak DOS sonlayıcısını arşivin sonuna ekler ve CRC alanları da dahil olmak üzere arşiv yapısını dikkatlice değiştirir. Tek arşiv bulaşır: ondan az dosya içermeyen ve en az bir COM veya EXE dosyasına sahip olan. Arşivlere virüs eklenmesi, rastgele oluşturulan adı ve COM veya EXE uzantısına sahip bir DOS COM dosyasıdır.
RAR arşivlerinde virüsün diğer arşiv bulaşıcı rutinlerle karşılaştırarak bir dalı daha vardır. Bu şube, RAR arşivlerindeki "saklanan" dosyaları arar ve bir dosyada belirli bir tarih ve zaman damgası varsa, virüs yürütüldüğü depolanmış verileri okur. Bu hile, virüsün herhangi bir kullanıcının eylemi olmadan başka programları çalıştırmasına izin verir - virüsün "casus" veya başka bir tür program çalıştırması için kullanılabilir. Bu virüs özelliği, virüs yazarının diğer bilgisayarlarda kontrolünü ele geçirmek için kullanabileceği bir "arka kapı" gibi görünüyor.
Enfekte Yardım
Windows yardım dosyalarına bulaşma olasılığı, bu dosyaların kendi script alt programlarına (makrolara) sahip olması gerçeğine dayanmaktadır. WinHelp, yardım dosyalarını etkinleştirdiğinde bu komut dosyaları otomatik olarak çalıştırılır ve komut dosyası dili, disk dosyalarına erişmek, bunları oluşturmak ve yürütmek için yeterince güçlüdür.
Virüs, Windows yardım dosyalarını etkilemek için bu özelliği kullanır. DOS damlalık yazıcısını HLP dosyasının sonuna bir "yer paylaşımı" (HLP dosya başlığının "dosya uzunluğuna sahip" başlığında "dosya uzunluğu" alanına sahip olduğunu ve virüs damlalığının bu verilerin dışında olduğunu), HLP iç yapısını değiştirdiğini ve kendi komut dosyasını eklediğini yazar. oraya. Bu komut dosyası, enfekte edilmiş yardım dosyası etkinleştirildiğinde otomatik olarak işlenen [CONFIG] bölümüne (HLP internals açısından "| SYSTEM") yazılan on tanıma sahiptir. Bu on virüs talimatı, küçük (yaklaşık 380 bayt) virüs yükleyici çıkarır ve çalıştırır. Virüs betiği bu yükleyiciyi C: sürücüsünde bir DOS dosyası olarak (rastgele bir adla) oluşturur, oraya bir kod yazar ve çalıştırır - ve virüs yükleyici denetimi alır.
HLP betiğindeki virüs yükleyicinin kodu ASCII 7bit formuna dönüştürülür - her bayt iki alfabetik harfe dönüştürülür. Bu kod kontrol altına alındığında, kendini ikili kodlara dönüştürür, sonra host HLP dosyasının ismini alır (virüs betikleri argüman olarak geçer), HLP dosya üst bilgisini okur, virüsün "overlay" kodunu okur, okur, yazar kendi COM dosyası ve yeniden yürütür. Virüs DOS damlalığı kontrol altına alır ve virüs kendini hafızaya yükler, vb.
Bu rutinde sorunlara neden olan bir istisna vardır. Virüs yükleyicinin kodu ASCII 7bit'e dönüştürülür, ancak bu kodu geri yükleyen döngü 80h sınırının dışında olan opcodes içerir. Bu dizeler Windows HLP dosyasından DOS dosyasına kaydedildiğinde, Windows bunları metin dizeleri olarak işler ve yüksek ASCII karakterlerini yüklü kod sayfasına göre dönüştürür. Söylemeye gerek yok, farklı kod sayfalarının altında yakınsama sonucu farklı. Tek kod sayfası doğru kodu getirir - bu Rus kod sayfasıdır (bu, virüs yazıcısının kendi bilgisayarında Rusça dil desteğinin yüklü olduğu anlamına gelir). Sistemde hiç bir Rus desteği yoksa, virüs yükleyici kodu bozulur, çalıştırılamaz ve çalıştırıldığında durdurulur.
Buna ek olarak, COM dosyasını bırakırken virüs betiğinin NT'ye özel C: NTLDR dosyasının varlığını kontrol ettiğini ve bu dosyanın bulunup bulunmadığına bakıldığını unutmamak gerekir.
Win95.SK.8699
Bu geliştirilmiş virüs sürümüdür. Orijinaline çok kapalı, ancak şifrelemede ve daha güçlü polimorfik motorda daha fazla yöntem kullanıyor. Ayrıca anti-virüs monitörlerini devre dışı bırakmak için bir numara kullanır: Windows belleğine yüklenen GK95.VXD anti-virüs bileşenini (AVP ve F-SECURE) bulur ve bunları bir yama ile devre dışı bırakır. HLP dosyaları enfeksiyon rutin bu virüs sürümünde sabittir - herhangi bir kod sayfası ile çalışır, sadece Rusça değil.
Daha fazlasını okuyun
Bölgenizde yayılan güvenlik açıklarının istatistiklerini öğrenin statistics.securelist.com