Анализ алгоритма вируса

Анализ алгоритма вируса
На мой взгляд, наиболее удобным для хранения и анализа вируса объектом является
файл, содержащий его (вируса) тело. Как показывает практика, дляанализа
файлового вируса удобнее иметь несколько зараженных файлов различной, но не
очень большой, длины. При этом желательно иметь зараженные файлы всехтипов (COM,
EXE, SYS, BAT, NewEXE), поражаемых вирусом. Если необходимо проанализировать
часть оперативной памяти, то при помощи некоторых утилит(например, AVPUTIL.COM)
довольно просто выделить участок, где расположен вирус, и скопировать его на
диск. Если же требуется анализ сектора MBR илиboot-сектора, то скопировать их в
файлы можно при помощи популярных «Нортоновских утилит» или AVPUTIL. Для
хранения загрузочного вируса наиболееудобным является файл-образ зараженного
диска. Для его получения необходимо отформатировать дискету, заразить ее
вирусом, скопировать образ дискеты (всесектора, начиная с нулевого и кончая
последним) в файл и при необходимости скомпрессировать его (эту процедуру можно
проделать при помощи «Нортоновскихутилит», программ TELEDISK или DISKDUPE).
Зараженные файлы или файл-образ зараженной дискеты лучше передать разработчикам
антивирусных программ по электронной почте или, в крайнем случае,на дискете по
обычной почте. Однако если это займет много времени, которое, как известно, не
ждет, то пользователям, достаточно уверенным в себе, можнопопробовать и
самостоятельно разобраться в вирусе и написать собственный антивирус.
При анализе алгоритма вируса предстоит выяснить:
способ(ы) размножения вируса;
характер возможных повреждений, которые вирус нанес информации, хранящейся на
дисках;
метод лечения оперативной памяти и зараженных файлов (секторов).
При решении этих задач не обойтись без дизассемблера или отладчика (например,
отладчиков AFD, AVPUTIL, SoftICE, TorboDebugger, дизассемблеровSourcer или IDA).
И отладчики, и дизассемблеры имеют и положительные и отрицательные черты —
каждый выбирает то, что он считает более удобным. Несложные короткие
вирусыбыстро «вскрываются» стандартным отладчиком DEBUG, при анализе объемных и
высокосложных полиморфик-стелс-вирусов не обойтись без дизассемблера.
Еслинеобходимо быстро обнаружить метод восстановления пораженных файлов,
достаточно пройтись отладчиком по началу вируса до того места, где он
восстанавливаетзагруженную программу перед тем, как передать ей управление
(фактически именно этот алгоритм чаще всего используется при лечении вируса).
Если же требуетсяполучить детальную картину работы вируса или хорошо
документированный листинг, то кроме дизассемблеров Sourcer или IDA с их
возможностями восстанавливатьперекрестные ссылки, здесь вряд ли что поможет. К
тому же следует учитывать, что, во-первых, некоторые вирусы достаточно успешно
блокируют попыткипротрассировать их коды, а во-вторых, при работе с отладчиком
существует ненулевая вероятность того, что вирус вырвется из-под контроля.
При анализе файлового вируса необходимо выяснить, какие файлы (COM, EXE, SYS)
поражаются вирусом, в какое место (места) в файле записывается код вируса— в
начало, конец или середину файла, в каком объеме возможно восстановление файла
(полностью или частично), в каком месте вирус хранит
восстанавливаемуюинформацию.
При анализе загрузочного вируса основной задачей является выяснение адреса
(адресов) сектора, в котором вирус сохраняет первоначальный загрузочный
сектор(если, конечно, вирус сохраняет его).
Для резидентного вируса требуется также выделить участок кода, создающий
резидентную копию вируса и вычислить возможные адреса точек входа
вперехватываемые вирусом прерывания. Необходимо также определить, каким образом
и где в оперативной памяти вирус выделяет место для своей резидентной
копии:записывается ли вирус по фиксированным адресам в системные области DOS и
BIOS, уменьшает ли размер памяти, выделенной под DOS (слово по адресу
[0000:0413]),создает ли для себя специальный MCB-блок либо использует какой-то
другой способ.
Существуют особые случаи, когда анализ вируса может оказаться очень сложной для
пользователя задачей, например при анализе полиморфик-вируса. В этом случаелучше
обратиться к специалисту по анализу кодов программ.
Для анализа макро-вирусов необходимо получить текст их макросов. Для
нешифрованных не-стелс вирусов это достигается при помощи меню Tools/Macro.Если
же вирус шифрует свои макросы или использует стелс-приемы, то необходимо
воспользоваться специальными утилитами просмотра макросов.
Такиеспециализированные утилиты есть практически у каждой фирмы-производителя
антивирусов, однако они являются утилитами «внутреннего пользования» и не
распространяютсяза пределы фирм.
На сегодняшний день известна единственная shareware-программа для просмотра
макросов — Perforin. Однако эта утилита пока не поддерживает файлы Office97.