Методологія тесту антіруткіта на виявлення і видалення сучасних руткітів (квітень 2010)

  1. проведення тесту

підготовка тесту

Як відомо, існує два види руткітів:

  • User Mode (руткіти режиму користувача)
  • Kernel Mode (руткіти режиму ядра).

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

У відборі шкідливих програм для тесту, так само як в тесті антивірусів на лікування активного зараження, враховувалися наступні критерії:

  1. використовувані шкідливі програми були зібрані під час поширення в Інтернет, тобто є ITW-зразками (In The Wild);
  2. кожен зразок повинен використовувати різні способи маскування;
  3. в сумі всі зразки повинні максимально повно відображати існуючі технології маскування;
  4. використовувані руткіти не повинні мати функціонал цілеспрямованої боротьби з антіруткіта, таких як видалення файлів, завершення процесів і т.п.

Пріоритет віддавався найбільш складних видів, які більше відповідають наведеним вище критеріям.

Таким чином, для проведення тестування антіруткіта експертною групою Anti-Malware.ru були відібрані 12 відомих шкідливих програм з руткіт-маскуванням:

  1. TDL (TDSS, Alureon, Tidserv)
    Троянська програма. Є KernelMode руткітом. При інсталяції створює драйвер в \ WINDOWS \ system32 \ drivers з ім'ям aliserv3.sys і бібліотеку alil.dll в системному каталозі. Драйвер руткита є фільтром драйвера файлової системи, чим і досягається маскування на диску. Блокує відкриття томи. Маскується в реєстрі перехопленнями в ядрі і в пам'яті DKOM-методом. Використовує функцію LockFile з метою блокування читання своїх файлів.
  2. Sinowal (Mebroot)
    Троянська програма-шпигун. При запуску модифікує головний завантажувальний запис (MBR) жорсткого диска з метою завантаження свого драйвера ще до старту операційної системи. Драйвер зберігається в неразмеченное області диска. Перехоплює IRP обробники драйвера, розташованого в стеці слідом за пристроєм \ Device \ Harddiskx \ DRx з метою блокування читання / зміни антивірусними продуктами головного завантажувального запису.
  3. Rootkit.Protector (Cutwail, Pandex)
    Троянська програма-спамботів. Є KernelMode руткітом. При інсталяції створює драйвер в \ Windows \ system32 \ drivers \ Ati * .sys. Драйвер руткита блокує до себе доступ перехопленням IRP оброблювачів драйвера файлової системи і захищає свій ключ від видалення установкою колбек на роботу з реєстром. Спамботів переустановлює свої IRP-перехоплення в разі їх зняття.
  4. Rootkit.Podnuha (Boaxxe)
    Троянська програма. Є KernelMode руткітом. При інсталяції створює драйвер в \ WINDOWS \ system32 \ drivers і бібліотеку в \ Windows \ system32 \ з довільним ім'ям. Dll зареєстрована як розширення Winlogon (Winlogon \ Notify), як BHO (Explorer \ Browser Helper Objects) і як сервіс (Name_service \ Parameters \ ServiceDll). Доступ до драйвера заблокований, так само як і можливість видаляти ключі автозавантаження в реєстрі. Бібліотека захищена від перейменування / видалення.
  5. Rustock (NewRest)
    Троянська програма-спамботів. Є KernelMode руткітом. При інсталяції створює драйвер в каталозі \ WINDOWS \ system32 \ drivers з довільним ім'ям. Блокує доступ до свого файлу перехопленням IRP оброблювачів драйвера файлової системи, постійно перестворює свій файл. Блокує свій ключ реєстру від читання і видалення перехопленнями в ядрі.
  6. Srizbi
    Троянська програма. Є KernelMode руткітом. При інсталяції створює драйвер в \ WINDOWS \ system32 \ drivers з довільним ім'ям. Маскує свій ключ автозавантаження перехопленням функцій за допомогою модифікації машинного коду ядра, а так же маскує себе на диску перехопленням IRP-обробників драйвера файлової системи.
  7. Synsenddrv (Rootkit.Pakes, BlackEnergy)
    Троянська програма. Є KernelMode руткітом. Інсталює драйвер в \ WINDOWS \ system32 \ drivers з довільним ім'ям. Маскує себе на диску перехопленням IofCompleteRequest модифікацією машинного коду ядра, в реєстрі і в пам'яті.
  8. TDL2 (TDSS, Alureon, Tidserv)
    Троянська програма. Є KernelMode руткітом. При інсталяції створює драйвер в \ WINDOWS \ system32 \ drivers \ gasfky * .sys і дві dll в системному каталозі. Шкідлива програма маскується на диску, в реєстрі і пам'яті. Блокує відкриття диска, читання томи, перестворює свої ключі автозавантаження і файли в разі видалення. Знімає права доступу до своїх ключам. Скидає свої перехоплення в разі їх зняття.
  9. Max ++ (ZeroAcess)
    Троянська програма. Є KernelMode руткітом. При інсталяції заражає довільний завантажувальний драйвер таким чином, що його розмір не змінюється і потім працює зі своїм створеним при інсталяції віртуальним диском, де має свої компоненти. При читанні зараженого файлу руткит підсовує оригінальне вміст файлу до зараження.
  10. Virus.Protector (Kobcka, Neprodoor)
    Троянська програма-спамботів. Є KernelMode руткітом. При інсталяції заражає системний драйвер ndis.sys і хуком на IofCallDriver маскується від виявлення, підсовуючи при читанні зараженого файлу оригінальне його вміст. Інфектор створює свою копію в системному каталозі з іменем reader_s.exe, прописується в ключі Run, Інжект в створюваний процес svchost з метою розсилки спаму. Руткіт компонента також Інжект в svchost і розсилає спам.
  11. TDL3 (TDSS, Alureon, Tidserv)
    Троянська програма. Є KernelMode руткітом. При інсталяції заражає системний порт або міні-порт драйвер (наприклад, atapi.sys) таким чином, що його розмір не змінюється і дозволяє завантажити в пам'ять драйвер, розташований в останніх секторах жорсткого диска на віртуальній шифрованого файлової системи. При читанні зараженого файлу руткит підсовує оригінальне вміст файлу до зараження.
  12. z00clicker
    Троянська програма. Є KernelMode руткітом. При інсталяції заражає системний порт або міні-порт драйвер (наприклад, atapi.sys) таким чином, що його розмір не змінюється і дозволяє завантажити в пам'ять драйвер, розташований в останніх секторах жорсткого диска на віртуальній шифрованого файлової системи. При читанні зараженого файлу руткит підсовує оригінальне вміст файлу до зараження.

проведення тесту

Тест проводився на спеціально підготовленій реальної системі під керуванням Microsoft Windows XP Professional з інтегрованим Service Pack 3 з повним набором оновлень на момент тестування.

Стек пристрої:
lkd>! devstack \ Device \ Harddisk0 \ DR0
! DevObj! DrvObj! DevExt ObjectName
89c06e08 \ Driver \ PartMgr 89c06ec0
> 89b9aab8 \ Driver \ Disk 89b9ab70 DR0
89bb2f18 \ Driver \ ACPI 89c14008 00000061
89ba2030 \ Driver \ atapi 89ba20e8 IdeDeviceP2T0L0-7
! DevNode 89bb2008:
DeviceInst

is "IDE \ DiskST3320620AS _____________________________ 3.AAD ___ \ 5 & c7a4952 & 0 & 0.0.0
ServiceName is "disk"

Для тестування в ході відкритого обговорення були відібрані актуальні на момент початку тесту версії наступних антіруткіта:

1. GMER 1.0.15.15281
2. KernelDetective 1.3.1
3. Online Solutions Autorun Manager 5.0.11922.0
4. Panda Anti-Rootkit 1.0.8.0
5. Rootkit Unhooker 3.8.386.589
6. RootRepeal 1.3.5
7. Sophos Anti-Rootkit 1.5.0
8. Eset SysInspector 1.2.012.0
9. SysReveal 1.0.0.27
10. Trend Micro RootkitBuster 2.80
11. VBA32 Antirootkit 3.12 (beta)
12. XueTr 1.0.2.0

Важливо! При відборі продуктів для тестування враховувалося не тільки наявність функціоналу для виявлення присутності руткита в системі, а й його знешкодження (видалення / перейменування файлів, видалення / перейменування ключів / розділів реєстру). Крім цього враховувалося поточний стан з розвитком утиліт, перевага віддавалася тим, чия розробка і вдосконалення йде активніше.

Кроки проведення тестування:

  1. Установка на жорсткий диск операційної системи і створення повного образу жорсткого диска за допомогою Acronis True Image.
  2. Зараження машини з чистою операційною системою (активація шкідливої ​​програми).
  3. Перевірка працездатності шкідливої ​​програми і її успішної установки в системі.
  4. Перезавантаження зараженої системи.
  5. Перевірка активності шкідливої ​​програми в системі.
  6. Запуск антіруткіта, спроба виявлення і видалення шкідливої ​​програми всіма доступними в арсеналі продукту методами.
  7. Перевірка активності шкідливої ​​програми або її компонентів.
  8. Відновлення образу незараженной операційною системою на диску за допомогою Acronis True Image (завантаження з CD).
  9. Повторення пунктів 2-8 для всіх шкідливих програм і всіх антіруткіта.

Посилання по темі