Daxa-комп'ютерні віруси

VirusHunter попереджає всіх користувачів ПК про поширення файлового вірусу Win32.HLLP.HiDrag (aka Win32.Hidrag.a. Jeefo.A), що вражає Win32-програми та заставок.


Детальний опис вірусу Win32.HLLP.HiDrag.
1. Джерела потрапляння в машину.
Основним джерелом поширення цього вірусу є, як зазвичай, файло-обмінні мережі. Вірус може потрапляти в каталоги встановлених на машинах програм файло-обміну як під виглядом "корисних" програм, так і просто в заражених дистрибутивах програмного софта, переданих Вам друзями або знайомими. На жаль, більшість користувачів наполегливо ігнорують антивірусні програми або просто не оновлюють антивірусні бази, в результаті чого "просипають" потрапляння вірусу в свої машини. Як результат, інфіковані комп'ютери стають розсадниками вірусів для десятків або навіть сотень інших комп'ютерів. Потенційну небезпеку також можуть представляти CD / DVD-диски, записані на таких "чистих" машинах, тому що очевидно, що серед записаних на них (дисках) файлів виявляться і інфіковані. Не виключається також і можливість підхопити даний вірус в тому випадку, якщо Ви користуєтеся для перенесення / зберігання інформації флешками (USB Flash Memory Storage) або дискетами.


2. Інсталяція в систему.
Win32.HLLP.HiDrag є резидентную Windows-програму (т.зв. PE EXE-файл, який містить у своєму заголовку мітку "PE"; до таких належать програми з 32-бітовим кодом, написані на мовах високого рівня, таких як, наприклад , C ++ Builder, Borland Turbo Pascal (Delphi) і ін. створювані для роботи в середовищі Windows). Дієздатний під усіма існуючими на сьогоднішній день ОС Windows.
Код програми Win32.HLLP.HiDrag захищений крипт-кодом, який розшифровується при запуску вірусу за допомогою спеціально вбудованої процедури розшифровки прямо в пам'ять машини без створення будь-яких тимчасових файлів.
Схематично будову коду вірусу виглядає наступним чином:


Як видно зі схеми, тіло Win32.HLLP.HiDrag складається з двох частин - основного коду і додаткової секції, в якій вірус може зберігати службову інформацію. Розмір додаткової секції становить приблизно 3% від загального розміру вірусного тіла.
Win32.HLLP.HiDrag може інсталювати себе в систему двома способами, в залежності від того, з якого файлу здійснюється його 1-й запуск на чистій машині - з того, в якому міститься тільки оригінальна вірусна програма, або з зараженого.
При запуску заражено файлу вірус визначає через функцію% windir% ім'я каталогу, в який встановлена ​​ОС Windows (зазвичай таким є C: \ WINDOWS, тому далі по тексту я буду посилатися саме на цей каталог), і копіює себе в нього під назвою

Даний файл має наступні характерні риси:

Файл svchost.exe залишається резидентно в пам'яті комп'ютера аж до завершення роботи Windows. Для можливості активізації цього файлу при кожному старті системи вірус створює ключ під назвою "PowerManager" в регістрах автозапуску системного реєстру:


Якщо на чистій машині 1-й запуск вірусу проводиться з файлу, що містить тільки код вірусу (тобто з ідентичного файлу svchost.exe. Але, наприклад, під назвою zastavka.scr або яким-небудь ін.), То інсталяція Win32. HLLP.HiDrag здійснюється наступним чином: вірус зчитує ім'я запущеного вірусного файлу і створює в регістрах автозапуску системного реєстру ключ під назвою "PowerManager" такого вигляду:

де% path% - місце розташування запущеного вірусного файлу, а name.ext - його назва. Таким чином, роль компонента svchost.exe виконує запущений користувачем файл з оригінальною вірусної програмою. При цьому в системному каталозі файл svchost.exe не створюється. Якщо в подальшому буде запущений будь-якої із заражених файлів, то svchost.exe буде створений в системному каталозі, проте вірус не буде дописувати до реєстру додатковий ключ і активним, як і раніше залишиться вищеописаний файл.


3. Зараження файлів.
Після інсталяції в систему вірус чекає кілька хвилин, не роблячи ніяких дій, щоб приховати свою присутність в системі і будь-яку видиму активність. Потім починає пошук і зараження PE EXE- (програм) і SCR- (екранних заставок) файлів. Цей процес протікає за наступною схемою: спершу вірус шукає 6 файлів зазначених форматів в кореневому системному каталозі, тобто

Потім зупиняє процес пошуку і зараження файлів, чекає 5-10 хвилин і заражає ще 6 файлів, після чого знову чекає вказаний проміжок часу і відновлює цю процедуру.
Відразу слід сказати, що вірус вибирає для зараження тільки ті файли, розмір яких перевищує приблизно 110 кб, а решта не чіпає. Перед зараженням кожного файлу, щоб приховати свою присутність в системі, вірус зчитує його (файлу) атрибути, дату і час модифікації, заражає файл, а потім привласнює йому ці вихідні дані назад. В результаті цього, система не фіксує дані заражені файли, як змінені, що істотно ускладнює візуальний пошук останніх.
Коли в кореневому каталозі C: ​​\ WINDOWS всі відповідні файли заражені, вірус переходить до зараження за вищевказаною схемою в наступних підкаталогах системної директорії:

для Windows 9X / ME:
C: \ WINDOWS \ SYSTEM \

для Windows 2K / XP:
C: \ WINDOWS \ SYSTEM32 \

включаючи файли і у всіх піддиректоріях даних каталогів. Пізніше вірус переходить до зараження файлів у всіх підкаталогах системної директорії

Що стосується зараження інших файлів, распололоженних в інших папках системного диска, а також на ін. Логічних дисках машини, включаючи і мережеві, відкриті для повного або часткового доступу, то воно відбувається в залежності від якихось внутрішніх лічильників вірусу. З цієї причини файли на таких дисках досить довгий час можуть залишатися чистими.
При пошуку нових файлів для зараження вірус перевіряє їх на наявність свого коду: порівнює свій основний код з встановленого в систему файлу з початковим вмістом файлу-"жертви", завдяки чому кожен заражений файл містить тільки 1 копію вірусу. При запуску вже зараженого файлу вірус спершу лікує його, а потім запускає на виконання (про це детально буде розповісти далі по тексту).


4. Принцип зараження файлів.
При зараженні файлів вірус обходить атрибут "тільки для читання" ( "read only") і використовує досить складний алгоритм запису свого коду в файли. При цьому застосовує метод, який використовується в свій час в старих файлових вірусах HLLP-сімейства (High Level Language Program): перезаписує виявлений EXE- або SCR-файл своїм кодом, до якого дописує в кінець код оригінальної програми. Однак вірус не просто записує своє тіло перед кодом оригінальної програми, а реконструює останню, змінюючи в ній порядок розташування логічних секцій і шифруючи її заголовок, першу і одну з центральних секцій. Схематично це виглядає так:


У свою додаткову секцію, замість підробленої цифрового підпису Microsoft, вірус записує службові дані, що містять інформацію про вихідний розташуванні перетусованних секцій оригінальної програми, а також покажчик тих секцій останньої, які були зашифровані. Дані, що розміщуються в додатковій секції, вірус також шифрує.
Слід зазначити, що процедура реконструкції оригінального файлу з подальшим шифруванням його секцій виконана на високому професійному рівні, в результаті чого розмір оригінальної програми після її зараження не змінюється, а загальний розмір файлу збільшується рівно на 36352 байта (тобто тільки на величину вірусного тіла ).
При запуску зараженого файлу вірусна копія, що зберігається в ньому, перевіряє інстальований чи вірус в систему, після чого здійснюються наступні речі:

- управління отримує знаходиться в нашому файлі копія вірусу, яка звертається до файлу WINDOWS \ svchost.exe і викликає в ньому спеціальну подпроцедуру, після чого робота зараженого файлу завершується;

- отримавши виклик від своєї копії з зараженого файлу, вірусний svchost.exe (далі просто "вірус") зчитує його (зараженого файлу) розташування і зберігає цю інформацію в системній пам'яті як змінну А;

- за даними з змінної А вірус знаходить наш заражений файл, розшифровує і зчитує з нього ту частину коду, яка містить схему реконструкції оригінальної програми після зараження, а також зберігати дані в системній пам'яті як змінну В;

- далі вірус зчитує характеристики зараженого файлу (його атрибути, дату і час модифікації) і зберігає ці дані в системній пам'яті як змінну С;

- потім вірус видаляє свою копію з нашого зараженого файлу, а також блок зі схемою його (файлу) реконструювання, після чого, керуючись даними з змінної У, розшифровує закріптованние блоки зараженого файлу, а потім переставляє все блоки файлу до початкового стану, який він (файл ) мав до зараження;

- і останнє, що робить вірус, - це присвоює файлу відповідні характеристики, які зчитує з змінної С, видаляє з пам'яті змінні А, В, С і пересохранять файл, після чого запускає його на виконання.

Такий спосіб лікування вірусу самим вірусом досить оригінальний і навіть на малопотужних машинах викликає затримку при запуску оригінальної програми з зараженого файлу максимум всього на пару секунд. Однак є і негативна сторона: при запуску зараженого файлу з носія, на який неможлива потокова запис (наприклад, CD-диск або флешка / дискета з джампером, переключеним в положення "блокування записи"), оригінальна програма просто не запуститься. Також вона не зможе бути запущена і в тому випадку, якщо заражений файл запускається на чистій від Win32.HLLP.HiDrag машині, але в директорії WINDOWS якої вже присутній актину програма будь-якого ін. Вірусу або троянця з назвою svchost.exe.


5. Інше.
У коді вірусу містяться такі зашифровані тексти:

Hidden Dragon virus. Born in a tropical swamp.

Manages the power save features of the computer.

Свою першу назву - "Hidrag" - вірус отримав за фрагментами першого тексту - "Hi dden Drag on"; друге - "Jeefo" - за фрагментом коду цього ж тексту в зашифрованому вигляді, який випадковим чином виглядає в тілі вірусу як "I jeefo!".


6. Детектирование вірусу і лікування машини.
На момент створення даного опису антивірусні програми виявляють вірус під наступними номенклатурними назвами:

Антивірус Kaspersky AntiVirus: Virus.Win32.Hidrag.a (лікує заражені файли)

Антивірус BitDefender Professional: Win32.Jeefo.A (лікує заражені файли)

Антивірус DrWeb: Win32.HLLP.Jeefo.36352 (лікує заражені файли)

Слід зазначити, що деяка кількість вірусних копій може бути присутнім в файлах з розширеннями "CHK" (останні є файлами, що резервуються деякими версіями ОС Windows у випадках виявлення збійних кластерів на жорсткому диску системним додатком Scandisk).
Оскільки для рядового користувача здійснити процес лікування від вірусу буде непросто, тому що в процесі лікування під активної Windows вірус може поточно заражати вже вилікувані файли (не кажучи вже про те, що сам антивірусний сканер може виявитися інфікованим), найоптимальнішим рішенням вірусної проблеми, на мій погляд, є перенесення вінчестера на ін. неінфікованих машину, його підключення до неї, як другорядного, з подальшим пролечіваніем всій знаходиться на ньому інформації. В процесі лікування файл svchost.exe вірусу необхідно видалити (так само, як і інший файл з активною копією вірусу, якщо такий має місце).


7. Про "страшному" вірус.
У нашому місті, в Чернівцях, крім масового поширення Win32.HLLP.HiDrag не менше масово стали поширюватися чутки про страшні речі, які нібито чинить даний вірус в зараженій машині. Чутки підкріплювалися тим незаперечним фактом, що на більшості "завалити" від вірусу машинах дійсно був виявлений Win32.HLLP.HiDrag.
З огляду на той факт, що процедура зараження файлів виконана на професійному рівні, тим самим виключаючи ймовірність пошкодження останніх при їх зараженні, а також відсутність будь-яких деструктивних процедур в коді вірусу, я провів додаткові дослідження декількох файлів з втраченою працездатністю, в яких були виявлені копії Win32.HLLP.HiDrag. Як з'ясувалося, файли втратили працездатність в результаті їх зараження декількома вірусами одночасно. Зокрема на заражених машинах таким виявився Win32.Parasite (aka Win32.Parite.b. Parite.2). Ситуація виглядає наступним чином: в зараженому файлі Win32.HLLP.HiDrag прописується в його початок, потім перетусовивает секції і деякі з них шифрує, зберігаючи в своєму тілі відповідну інформацію про зміни, внесені до оригінальному програмному коді. У свою чергу, Win32.Parasite дописує своє тіло в кінець заражає їм файлу і коригує заголовок останнього (який до цього моменту є вже заголовком прописався там вірусу Win32.HLLP.HiDrag). Як Ви вважаєте - чи зможе Win32.HLLP.HiDrag нормально відреставрувати і повернути до початкового стану заражений файл, якщо в його (файлу) хвостовій частині з'явився чужорідний код, про який за наявними у вірусу даними щодо всіх змін, зроблених ним в оригінальному програмному коді , нічого не сказано? Очевидно, що ні. Більш того, при запуску такого файлу Win32.HLLP.HiDrag при спробі відтворити оригінальний файл безповоротно його зіпсує (до речі, не тільки його, а й код вірусу Win32.Parasite). Антивірусні програми будуть також не в змозі вилікувати таку "кашу".
Таким чином, реальною причиною непрацездатності файлів, "вирубування" системи і втрати потрібних програм і пакетних файлів є в реальності, хоч це і парадоксально звучить, сам користувач, який по наївності або з яких-небудь інших міркувань вчасно не вилікував свій комп'ютер від електронних " тарганів ".

Схожі статті