Tato služba může obsahovat Google překlady. Společnost Google odmítá veškerou odpovědnost za překlad, doslovný i předpokládaný, včetně veškerých záruk aktuálnosti, spolehlivosti a veškerých záruk předpokládané zobchodovatelnosti, vhodnosti pro daný účel a neporušení práv.

Web Kaspersky Lab byl přeložen překládacím softwarem založeným na Google Translate. Bylo vynaloženo přiměřené úsilí, aby byl zajištěn přesný překlad, avšak žádný automatický překlad není dokonalý a není určen k nahrazení lidských překladatelů. Překlady jsou poskytovány jako služba uživatelům webových stránek a jsou poskytovány „tak jak jsou“. Neexistuje žádná záruka jakéhokoliv druhu, na vyjádřený nebo předpokládaný překlad, na přesnost nebo správnost překladů. Některý obsah (například obrázky, videa, Flash atd.) Nemusí být přesně přeložen z důvodu omezení překladového softwaru.

Virus.Win9x.Sk

Detekováno 01/11/2002
Třída Virus
Platfoma Win9x
Popis

Technické údaje

Jedná se o parazitický virus Windows. Rozšiřuje se pod operačním systémem Windows95 / 98, instaluje jeho kopii do paměti systému Windows, háčí přístup k souborovým funkcím a infikuje soubory PE (Windows Portable Executable). Virus také ovlivňuje soubory nápovědy Windows (.HLP) – modifikuje je tak, že když jsou aktivovány, virusový kód je spuštěn na disk a spuštěn. Virus také přidává své droppery do čtyř typů archivů: RAR, ZIP, ARJ a HA. Klapky virů v souborech a archivech HLP mají formát souboru DOS COM a jsou spuštěny v DOSu, ale jsou schopni nainstalovat virusový kód do paměti systému Windows i infikované spustitelné soubory systému Windows (viz níže).

Virový kód je zašifrován pomocí polymorfních rutin v podavačích DOS a Windows PE. V případě souborů systému Windows používá virus také technologii "Entry Point Obscuring": virusový kód se nedostane okamžitě po spuštění infikovaného souboru. Instrukce JMP_Virus ve většině případů je umístěna někde v infikovaném souboru, nikoliv v hlavičce souboru a nikoli u spouštěcí adresy souboru, a je spuštěna pouze tehdy, když převzala kontrolu příslušné větve programu.

Virus je "pomalý infektor": před jeho infikováním kontroluje mnoho podmínek a v důsledku toho ovlivňuje velmi málo souborů v počítači – jen asi deset EXE souborů v standardní instalaci Windows95 / 98. Totéž platí pro soubory a archivy HLP – velmi málo z nich může být infikováno. Virus také zpožďuje rutinní infekci jednu minutu před první infekcí a infikuje soubory a archivy HLP pouze v případě, že během dvou minut nedojde k přístupu k těmto souborům.

Virus je velmi nebezpečný. Při přístupu k diskovým souborům kontroluje jejich jména av případě několika antivirových programů (ADINF, AVPI, AVP, VBA, DRWEB) virus odstraní všechny soubory ze všech adresářů na všech discích od C: do Z: že virus je schopen odstranit a zastaví systém voláním Fatal_Error_Handler VMM.

Existuje ještě jeden soubor obětí, který je odstraněn viry vždy, když se sám nainstaluje do systému. Jedná se o soubor COMMAND.PIF v adresáři systému Windows.

Virus obsahuje chyby, které jsou smrtící v některých konfiguracích systému Windows95 / 98 – na infikování viru dochází ke "modré obrazovce" se standardním hlášením "Obecná porucha ochrany".

Během instalace do systému se virus v závislosti na jeho náhodném počítači (v jednom případě od 48) zobrazí zpráva:


1997 VBA sro E-mail: support@vba.minsk.by

Instalace paměti

Kopie virové "rezidentní" pracuje na úrovni VxD (Ring0 – Windows kernel). Aplikace DOS a aplikace systému Windows nemohou přistupovat k této oblasti standardními metodami, takže virus používá několik triků k instalaci kódu tam.

Když je spuštěn DOS, virus kontroluje, že je nainstalován systém Windows a vrátí se do DOSu, pokud tomu tak není. V opačném případě virus pomocí volání DMPI získá přístup k tabulkám místních popisů (tabule pro přidělení paměti pro režim chránící procesory), opraví je a přepne 16bitový kód DOS na ochranu 32bitového režimu. Virový kód pak pracuje jako součást jádra systému Windows a má přístup ke všem potřebným funkcím systému Windows.

Když je infikovaný soubor PE spuštěn, virus také zaplní alokační tabulky systémové paměti a přepne kód z aplikační úrovně (Ring3) na úroveň jádra (Ring0). Virus pak přechází kontrolu na stejnou instalační rutinu jako infikované droppery DOSu.

Rutina instalace, když přebírá kontrolu, přiděluje blok systémové paměti, zkopíruje virus tam, háčí funkce systému Windows a uvolňuje kontrolu. Původní kopie virů se pak vrátí do DOSu (v případě DOSu) nebo obnoví data souboru hostitele a kód a vrátí se.

Virové želvy

Virus zavírá tři funkce systému Windows. První je procedura zpětného volání pro zachytávání portů I / O. Virus zavírá port 534Bh a používá ho ve svém "Jste tady?" volání. Čtení z tohoto portu za infikovaných podmínek systému vrací 21h ("!" Znak) v AL registru. Obě rutiny instalace v systému DOS a Windows se o to pokuste před instalací rezidentní paměti. Číslo tohoto portu bylo použito k pojmenování viru – 534Bh je "SK" v ASCII.

Druhý hák je "standardní" pro rezidentní Windows infektory – to je File System API hák. Zachytává funkce pro otevření souboru, přejmenování a přiřazení atributů souborů. Na těchto voláních virus spouští rutiny infekce.

Třetí hák zachycuje samotnou funkci "Install FileSystemApiHook" (ten, který se používá k instalaci předchozího háčku). Toto volání používá virus pro skrytí jeho háku: při instalaci nového háčku volá systém Windows tuto funkci. V tomto okamžiku virus zachycuje, odstraní svůj vlastní háček IFS API, nainstaluje nový (který je požadován) a znovu nainstaluje svůj virusový hák. Výsledkem je, že hacker virů je vždy v horní části seznamu háčků a je první, kdo získá kontrolu při přístupu k diskovým souborům.

Tam je další trik v viru IFS API hooker: pro přístup k ovladačům systému souborů (cíl volání FileSystem) virus používá adresu "nativní" systémový psovoda. Virus získává tuto adresu z čistě zdokumentovaného pole v zásobníku volajícího a pomocí této adresy provádí přímé volání na potřebné funkce souborů.

Infikování souborů

Když háček IFS API dostane kontrolu a rutina infekce je aktivována poprvé, infikuje aplikaci shell systému Windows (obvykle – EXPLORER.EXE). Chcete-li jej najít, otevře soubor System.ini v adresáři systému Windows, prohledá instrukci "shell =" a infikuje ji.

Tento soubor je vždy spuštěn, takže virus ho nemůže změnit. K odstranění tohoto problému používá virus "upgrading" trik. Virus zkopíruje tento soubor jiným názvem (přidá jeden k poslednímu písmenu v názvu souboru: EXPLORER.EXE -> EXPLORER.EXF), infikuje nový soubor a nutí systém Windows "upgradovat" původní soubor infikovaným. Chcete-li, že virus používá standardní způsob: vytvoří soubor WININIT.INI v adresáři Windows a zapisovat potřebné instrukce "Přejmenovat" tam.

Pokud je prostředí Windows již infikováno, virus infikuje soubor, ke kterému je přístup. Nejprve zkontroluje příponu názvu souboru. V případě souborů .EXE, .SCR a .DLL virus skočí na rutinní infekční soubor PE; v případě souboru .HLP virus nahradí jeho kódem; v případě .RAR, .ZIP, .ARJ a .HA archivuje viry vložené do jejich obsahu vlastní spustitelný kapátko.

Nahrazení systému Windows PE

Během infikování souborů PE virus šifruje a zapisuje kód do oddílu Přemístění (Fixování) a jako výsledek přepíše tato data. Vzhledem k tomu, že systém Windows používá k načtení aplikací do paměti, ve většině případů nevěnuje pozornost přemístění – všechny aplikace jsou načteny na stejné adresy a nepoužívají se žádné přemísťování. V několika případech, když je aplikace načtena jinou hostitelskou aplikací do paměti hostitele, zavaděč systému Windows zpracovává tabulku přemístění a provede nezbytné změny v kódu aplikace. Chcete-li tento problém vyřešit, modifikuje pole hlaviček PE: vymaže příznaky přemístění v poli Popis (to znamená, že v souboru není žádné přemístění) a nastaví nulovou adresu oddílu Přenesení. Výsledná aplikace proto nemůže být načtena jinou adresou (pro adresní prostor jiné aplikace), ale funguje dokonale jako samostatná.

Virus pak provede potřebné změny v hlavičce oddílu Relocation: nastavuje jeho vlastnosti jako Readable and Initialized, v závislosti na jeho náhodném čítači (v 1 případě od 8) změní název oddílu na náhodný, zašifruje své tělo a zapíše tam. Virus také zkontroluje velikost oddílu Relocation – je dostatečně velký pro kód viru a infikuje soubory pouze v případě, že kód viru vyplní tělo oddílu. V důsledku toho virus nezvyšuje velikost souborů PE během jejich infikování.

Chcete-li získat kontrolu nad infikovanými programy, virus neupravuje vstupní adresu v hlavičce PE. Využívá jiný složitější způsob – náplasti náhodně vybraného kódu v těle programu oběti a zapisuje rutinu JMP_Virus tam. V důsledku toho se virusový kód neprovede okamžitě, když je aktivován infikovaný program. Provádí se pouze v případě, že patch větev získá kontrolu. V některých případech, kdy je tato větev provedena velmi zřídka (pokud se jedná například o rutinní zpracování chyb), může virus v programu spát dlouho a pak vyskočit v nějaké zvláštní situaci.

Chcete-li najít místo v programu k opravě, virus čte bloky souboru oběti a prohlédne je pro podprogramy C / Pascal. Tyto rutiny mají standardní záhlaví a zápatí a virus je potřebuje najít a zjistit, že je dostatek místa pro kód JMP_Virus mezi instrukcemi pro zadání podprogramu a ukončením.

Rutina programu JMP_Virus, která přechází z podprogramu patche na hlavní kód viru, není pouze jednou instrukcí JMP. Je to mnohem sofistikovanější: je to polymorfní smyčka, která dešifruje hlavní kód viru před tím, než předá kontrolu – má až 168 bajtů kódu.

Shrnutí, infikované programy běží vypadá takto: Windows načte a spustí program a jeho rutiny začnou dělat nějakou práci. Virus "spí" v tuto chvíli, protože patched podprogram nebyl ještě proveden. Když tento kód získá kontrolu, aktivuje se rutina virus JMP_Virus. Dešifruje hlavní kód viru (který je umístěn v části Relocation) a přeskočí na dešifrovaný kód. Rutina instalace virů dostane kontrolu, zkopíruje virus do paměti systému Windows, nainstaluje háčky pro virus, obnoví podprogram patched host a vrátí do něj kontrolu.

Je třeba si uvědomit, že v některých případech (když je shell systému Windows infikován nebo není nalezen žádný rutinní program C / Pascal), virus napíše svou opravu JMP_Virus přímo do adresy Entry programu. V tomto případě se virusový kód dostane okamžitě po spuštění infikovaného souboru.

Infikování archivů

Virus postihuje čtyři typy archivů: RAR, ZIP, ARJ a HA. Zatímco je infikuje, virus analyzuje interní formáty archivů, přidává do konce archivu jako poslední položku DOSovku a pečlivě upravuje strukturu archivu včetně polí CRC. Jediné archivy jsou infikovány: nemají méně než deset souborů a mají alespoň jeden soubor COM nebo EXE. Soubor virů do archivů je soubor DOS COM, který má náhodně generovaný název a rozšíření COM nebo EXE.

V případě archivů RAR má virus v porovnání s ostatními rutinami infikujícími archivy další pobočku. Tato větev vyhledává "uložené" soubory v archivu RAR a v případě, že soubor obsahuje specifickou datovou a časovou značku, viry přečte uložená data. Tento trik umožňuje virům spouštět jiné programy bez jakékoli akce uživatele – lze je použít k "upgradu" viru, ke spywaru či jinému druhu programů. Tato funkce virů vypadá jako "backdoor", kterou může autor víru použít k získání kontroly na ostatních počítačích.

Infikovaná nápověda

Možnost infikovat soubory nápovědy Windows je založena na skutečnosti, že tyto soubory mají vlastní podprogramy skriptu (makra). Tyto skripty se automaticky spouštějí, když WinHelp aktivuje soubory nápovědy a jazyk skriptů je dostatečně silný pro přístup k diskovým souborům, jejich vytváření a spouštění.

Virus používá tuto funkci k infikování souborů nápovědy systému Windows. Napíše DOS dropper na konec souboru HLP jako "overlay" (hlavička souboru HLP má v hlavičce pole "délka souboru" a kazeta viru je mimo tato data), modifikuje vnitřní strukturu HLP a přidá vlastní skript tam. Tento skript obsahuje deset instrukcí, které jsou zapsány do sekce [CONFIG] ("| SYSTEM" z hlediska vnitřních součástí HLP), který je automaticky zpracován, když je aktivován infikovaný soubor nápovědy. Tyto deset instrukcí o viru extrahuje a spustí malý (asi 380 bytů) virus loader. Virový skript vytvoří tento načíst jako soubor DOS (s náhodným názvem) na jednotce C: zapíše tam kód a provede jej – a virus loader převezme kontrolu.

Kód zavaděče virů v skriptu HLP je převeden na formu ASCII 7bit – každý byte je převeden na dvě abecední písmena. Když tento kód převezme kontrolu, převede se zpět na binární kód, získá jméno hostitelského souboru HLP (který skripty virů předává jako argument), přečte hlavičku souboru HLP, vymaže kód "overlay", přečte, přepsá jeho vlastní soubor COM a znovu jej provede. Dropper virus DOS dostane kontrolu, a virus se sám nainstaluje do paměti, atd

V této rutině existuje jedna výjimka, která způsobuje problémy. Kód zavaděče virů je převeden na ASCII 7bit, ale smyčka, která obnovuje tento kód, má opcody, které jsou mimo limit 80h. Když jsou tyto řetězce uloženy ze souboru Windows HLP do souboru DOS, systém Windows je zpracovává jako textové řetězce a převádí znaky typu High-ASCII podle nainstalované kódové stránky. Netřeba říkat, že pod různými kódovými stránkami je výsledek konverze odlišný. Jediná kódová stránka přináší správný kód – jedná se o ruskou kódovou stránku (což znamená, že autor virů měl na svém počítači nainstalovanou podporu ruského jazyka). Není-li v systému nainstalována žádná ruská podpora, kód virového načítání je poškozen, při spuštění nemůže pracovat a zastavit.

Kromě toho je třeba si uvědomit, že když klesne jeho soubor COM, virový skript zkontroluje přítomnost specifického souboru NT C: NTLDR a vrátí se, pokud je tento soubor nalezen.

Win95.SK.8699

Toto je vylepšená verze virů. Je velmi uzavřená pro původní, ale používá více metod ve svém šifrování a silnější polymorfní motor. Používá také trik k vypnutí antivirových monitorů: detekuje antivirovou komponentu GK95.VXD (AVP a F-SECURE), která je načtena do paměti systému Windows a zakáže je opravou. Rutina infekcí HLP souborů je opravena v této verzi viru – funguje s libovolnou kódovou stránkou, nikoliv pouze ruskou.


Odkaz na originál