Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #70, СЕНТЯБРЬ 2006 г.

special faq

КРИС КАСПЕРСКИ АКА МЫЩЪХ

Спецвыпуск: Хакер, номер #070, стр. 070-088-3


СПЕЦ: Какие алгоритмы сокрытия файлов и процессов используешь?

X-DRAGON: Это как раз проще всего. Достаточно перехватить ряд низкоуровневых функций, например, внедрив за концом их пролога jump на свой обработчик. Почему после пролога, как поступает большинство шпионов? Да потому что уже существуют утилиты, сканирующие первые байты функций на предмет наличия jump'ов, к тому же необходимо отслеживать открытие файла NTOSKRNL.EXE, чтобы никакая защита не могла сравнить образ памяти ядра с оригиналом. Вообще же, лучший способ маскировки — не создавать никаких дополнительных потоков/процессов, внедряясь в уже существующие, и не дрыгать дисковым, держа все данные в памяти. Любую активную маскировку достаточно легко обнаружить. Защите достаточно, например, прочитать диск на секторном уровне и сравнить эти данные с данными, возвращенными операционной системой. Если обнаружатся различия — значит, кто-то маскируется.

СПЕЦ: А разве нельзя перехватить посекторное чтение диска?

X-DRAGON: Можно. Но это усложняет шпиона, да и к тому же всего не предусмотришь. С этим, кстати, связан еще один мой прокол. Я не учел существование USB-носителей и некоторых других типов дисков, вот их и не перехватывал. А следовало бы. Но всего же не учтешь. К тому же некоторые ревизоры сканируют диск еще до загрузки операционной системы, а потому в принципе не могут быть перехвачены шпионом. То есть, могут конечно, но для этого шпион должен внедряться в первичный загрузчик. Хорошо, когда он расположен на IDE-диске, а если это RAID или SCSI? Сокрытие своего присутствия (то есть стелсирование) — изначально плохая и порочная идея, поскольку она порождает проблемы, решение которых порождает новые проблемы. Впрочем, это только мое личное мнение, и если заказчик хочет получить стелсирование - он его получает. Но я сразу же предупреждаю его, чем это чревато.

СПЕЦ: В создании шпионов столько тонкостей...

X-DRAGON: Да. Но на самом деле их гораздо больше, чем ты думаешь. Хороший шпион — большая редкость, и его конструкция отрабатывается годами: просто так сесть и написать ни у кого не получится, особенно если ты ничего круче домашнего ПК с IDE-винчестером и Windows XP Professional в глаза не видел! Необходимо иметь опыт работы с различным оборудованием, исследовать сотни защитных механизмов (типа брандмауэров, систем обнаружения вторжения и т. д.). Причем знать не только теорию, но и практический расклад, и расстановку сил. То есть реальное положение дел, определяемое пресловутым человеческим фактором. И много чего еще...

СПЕЦ: А как насчет шпионажа в никсах?

X-DRAGON: Технически это весьма просто. Если только это не OpenBSD, и админ не латает систему с параноической усердностью :). У меня есть несколько готовых шпионов, но спрос на них порядка на два меньше, чем на Windows. Но, возможно, в будущем ситуация изменится, поэтому шпионы необходимо подготовить заранее. Заблаговременно :).

Назад на стр. 070-088-2  Содержание  Вперед на стр. 070-088-4