Руткитам – бой! Крис Касперски Хакер, номер #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. И если этот поиск завершается успешно, считаем, что с файлом все ОК. В противном случае устраиваем суровые разборки на предмет того, откуда он взялся и кто его установил. |