Методи за търсене на kernel-mode руткитове

В тази версия са реализирани следните методи за търсене на kernel-mode руткитове:

 

  • търсене на прихващания SYSENTER;
  • търсене на прихващания по метода на замяна на адреси в таблица SSDT;
  • търсене на прихващания по метода на замяна на адреси в таблица Shadow SSDT;
  • търсене на прихващания чрез замяна на адреси в таблица IDT;
  • търсене на модификации на таблици за експорт на основни модули на ядрото, ядра (ndis.sys, hal.dll, ntoskrnl.exe);
  • търсене на прихващания чрез модификации на машинния код функция (сплайсинг);
  • търсене на прихващания чрез замяна на адреси във функции-обработчици на IRP пакети;
  • търсене на прихващания чрез замяна на адреси във функции-обработчици на FastIO заявки;
  • търсене на скрити в паметта модули на ядрото. Ако обекта е намерен като скрит, му се присвоява статус Hidden in memory;
  • търсене на скрити в паметта процеси. Ако обекта е намерен като скрит, му се присвоява статус Hidden in memory;
  • търсене на модули на ядрото, чиито образ на диска не съответства на образа в паметта. На такъв обект се присвоява статус Modified image;
  • търсене на инсталирани нотификатори на режими на ядрото.

В качеството на спомагателни методи са реализирани:  

  • проверка на автоматичното стартиране;
  • проверка на драйвери и сървиси, записани в регистъра;
  • проверка с антивирусното ядро на всички открити обекти (файлове процеси, елементи на автоматично стартиране, зареждани драйвери/сървиси и модули на ядрото);
  • проверка на цифрови подписи във всички открити обекти (файлове процеси, елементи на автоматично стартиране, зареждани драйвери/сървиси и модули на ядрото);
  • извеждане на допълнителна информация от ресурсите на файловете.

За неутрализиране на руткитовете в системата са разработени следните функции

  • възстановяване на прихващания в таблица SSDT;
  • възстановяване на прихващания в таблица Shadow SSDT;
  • възстановяване на прихващания в таблица IDT;
  • възстановяване на прихващания в таблици за експорт на основни модули на ядрото ядра (ndis.sys, hal.dll, ntoskrnl.exe);
  • възстановяване на прихващания чрез модификации на машинния код на функции;
  • възстановяване на прихващания SYSENTER;
  • изключване на указани обекти от списъка на автоматично стартиране;
  • активиране/деактивиране на указани драйвери/сървиси от регистъра;
  • копиране на указани файлове в карантината на ранни етапи на стартиране на системата;
  • изтриване на указани файлове на ранни етапи на стартиране на системата;
  • проверка и изтриване на файлове autorun.inf;
  • изтриване на инсталирани нотификатори на режими на ядрото.

За осигуряване на обратна връзка с потребителя е реализирана функция за събиране на информация за състоянието на системата.

Забележка: Търсене на user-mode руткитове не се извършва.

 

Методи за търсене на kernel-mode руткитове