Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #102, ИЮНЬ 2007 г.

Руткитам – бой!

Крис Касперски

Хакер, номер #102, стр. 102-032-1

Поиск вирусов своими руками

Как антивирусы детектят заразу, всем хорошо известно. Ни фига они ее не детектят! Даже когда последнему ламеру ясно, что с компьютером что-то не то, живность резвится и размножается, а разные там KAV'ы и NOD'ы молчат и только успокаивают: все хорошо. Короче, отправляем антивирусы в топку и включаем свой мозг, зарываясь в недра операционной системы и проверяя на стерильность все злачные места обитания малвари.

Развели тут зоопарк, понимаешь. Это же непорядок конкретный! А непорядок надо разгребать.

Конечно, наивно надеяться, что в интеллектуальном состязании с зловредной малварью можно справиться по готовым рецептам. Существует тысяча и один способ внедрения в систему, и с каждым днем появляются все новые и новые, учитывающие ошибки своих предшественников и умело маскирующиеся так, что хрен их найдешь. Но крутой малвари очень немного. Она стоит нехилых денег (от десяти килобаксов) и пишется строго под заказ для целенаправленных атак на конкретные организации. Выпускать ее в живую природу никто не собирается, и 99% заразы, с которой нам приходится иметь дело, - это примитивные пионерские вирусы, написанные в процессе изучения Delphi или Visual Basic’а и органически неспособные к маскировке. Обнаружить их присутствие в системе — все равно что два байта переслать.

Главное — это научиться основам анализа, освоить пару-тройку простых, но эффективных приемов, после чего технику боя можно шлифовать и самостоятельно, уже без помощи автора.

Хронология вирусного внедрения, или машина времени

Операционные системы семейства Windows, помимо атрибута времени последней модификации файла, также поддерживают атрибуты времени создания и времени последнего обращения. Как это можно использовать на практике? А вот как: после установки системы все файлы в каталогах Windows и System32 имеют идентичные (ну или практические идентичные) атрибуты времени создания, позволяя отслеживать файлы, установленные позднее.

Допустим, мы установили систему со всеми необходимыми программами и больше ничего не ставили. Тогда все исполняемые файлы и динамические библиотеки из каталогов Windows и System32, созданные позднее этого срока, с высокой степенью вероятности являются троянскими программами. Естественно, дату создания файла легко изменить, и умной малвари ничего не стоит замаскироваться. Но, как показывает практика, очень редкая малварь заботится об этом и на времени создания вредоносные программы палятся косяками.

А как быть, если мы беспорядочно устанавливали новые программы и удаляли старые? В этом случае в каталогах Windows и System32 появляется множество файлов с различными датами создания, принадлежащих честным программам, и малвари ничего не стоит затеряться среди них. На самом деле, практически каждому честному файлу из каталогов Windows и System32 соответствует своя программа из каталога Program Files, представленная одним или несколькими файлами и ярлыками на рабочем столе или в меню «Пуск».

Проглядывая файлы в каталогах Windows и System32, смотрим на время их создания и пытаемся найти файлы с близким временем создания в каталоге Program Files. И если этот поиск завершается успешно, считаем, что с файлом все ОК. В противном случае устраиваем суровые разборки на предмет того, откуда он взялся и кто его установил.

Содержание  Вперед на стр. 102-032-2