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

 

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

На мой взгляд, наиболее удобным для хранения и анализа вируса объектом является файл, содержащий его (вируса) тело. Как показывает практика, для анализа файлового вируса удобнее иметь несколько зараженных файлов различной, но не очень большой, длины. При этом желательно иметь зараженные файлы всех типов (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.




   Еще работы:


Программирование и планирование в ситуациях коллективного взаимодействия
СОДЕРЖАНИЕ. 1. Введение. 3 2. Лидерство. 4 3. Коллективное взаимодействие. 7 4. Заключение. 9 5. Список литературы по теме. 10 ВВЕДЕНИЕ. Данный реферат посвящен теме программирования и планирования в ситуациях коллективного взаимодействия....

Использование CGI при создании интерактивных интерфейсов
Использование CGI при создании интерактивных интерфейсов 4.1 WWW (World Wide Web) и средства интерактивного взаимодействия 4.2Спецификация CGI 4.2.1Переменные окружения 4.2.2Стандартный вывод 4.2.3Стандартный входной поток 4.2.4Аргументы командной строки ...

Процес розробки Web-сайту
1 Курсова робота на тему: «Процес розробки Web-сайту» План: 1. Планування...

Разработать программу на алгоритмическом языке программирования С++ , реализующую учебную систему управления базой данных
Разработать программу на алгоритмическом языке программирования С++ , реализующую учебную систему управления базой данных (СУБД). Отчёт к работе по курсу "Системное программирование" Разработал: Чепасов И.А. Пензенский Государственный Технический Университет, ...

Строим сеть для видео
Строим сеть для видео Даррин Вудс Наделив вашу IP-сеть возможностями передачи видео, вы избавитесь от проблем, связанных с эксплуатацией специализированной сети видеосвязи. Но непродуманная реализация новых возможностей может стать причиной проблем другого рода. ...

Рынок информационных услуг
3 СОДЕРЖАНИЕ Введение 1. Сущность информации и информационных услуг и продуктов 2. Характеристика основных секторов рынка информационных...

Как разогнать Windows
Как разогнать Windows Семен Казанков Этап 0. Небольшое предисловие. Я пишу статью в первый раз и надеюсь, что она Вам понравится. Итак, вечная проблема: все тормозит, тарахтит, а на апгрейд нет денег. Что же мы можем сделать в этой ситуации? Оказывается, довольно...

Антивірусна програма "Kaspersky Аntivirus Personal 5.0"
13 Волинський державний університет ім. Лесі Українки ...

Топологии сетей ПД, функционирующих в составе систем управления (СУ)
К наиболее важным требованиям, предъявляемым к СПД, функционирующим в СУ рассредоточенными объектами (СУРО), относятся: · обеспечение работы СУ в реальном масштабе времени; · осуществление информационного обмена с высокой верностью; · надежное функционирование. ...

Язык обработки графов на базе JAVA
УДК 681.3 М.Ю. КРУКОВСКИЙ Язык обработки графов на базе JAVA. Abstract: This paper describes a language for definition of...

Коммутирующие концентраторы и их сравнение
Сравнение коммутирующих концентраторов В этом реферате проводится сравнение концентраторов по их функциональным возможностям, степени совместимости с различным сетевым оборудованием, гибкости и простоте управления. Разнообразие существующих продуктов можно разделить на две...

Защита информации при помощи антивирусной программы Panda
3 Содержание Лист Введение 3 1. Классификация компьютерных вирусов 5 ...

Изучение принципов организации арифметико-логическиз устройств. Структура алу для умнлжения чисел с фиксированной запятой
Ц е л ь р а б о т ы: Изучение принципов построения и функционирования АЛУ для умножения чисел с фиксированной запятой. В в е д е н и е В ЭВМ операция умножения чисел с фиксированной запятой с помощью соответствующих алгоритмов сводится к операциям сложения ...

Вирусы
Вирусы Вирусы, мельчайшие возбудители инфекционных болезней. В переводе с латинского virus означает «яд, ядовитое начало». До конца 19 в. термин «вирус» использовался в медицине для обозначения любого инфекционного агента, вызывающего заболевание. Современное значение это слово ...

Языки программирования, их классификация и развитие
Реферат на тему: Языки программирования, их классификация и развитие СОДЕРЖАНИЕ. 1.Введение 1.1. Интерпретаторы 1.2. Компиляторы 2. Классификация языков программирования 2.1. Машинно – ориентированные языки 2.1.1. Машинные языки 2.1.2....

Изучение программ MS Office
Содержание 1. Аннотация ….………………………………………………………………… 2 2. Пример набора и редактирования текста (Лабораторная работа) ……….. 3 3. Примеры использования электронных таблиц для математических расчетов и графических преобразований (Лабораторная работа) …….…….13 4....

Тригери на логічних елементах
Полтавський Військовий Інститут Зв'язку Кафедра схемотехніки радіоелектронних систем ОБЧИСЛЮВАЛЬНА ТЕХНІКА ТА МІКРОПРОЦЕСОРИ напрям підготовки 0924 «Телекомунікації» Тригери на логічних...

Текстовые редакторы и электронные таблицы
Министерство высшего и профессионального образования РФ Московский Институт Коммунального Хозяйства и Строительства Кафедра: ХТСМ Факультет: технологический Реферат на тему: Текстовые редакторы и электронные таблицы Выполнила: Успенская...

Автоматизация рабочего места менеджера МСП
Содержание Введение I. Техническое задание на проектирование 1. Постановка задачи 2. Требования к системе 3. Пользователи системы 4. Этапы разработки II. Инфологическое проектирование 1. Обследование предметной области 2....

Web-серверы, базы данных в Интернет, Поиск информации в Интернет, Основные системы и средства
Вопрос №1. Web - серверы, базы данных в Интернет. Сегодня Internet становится общедоступным и зачастую кратчайшим путем в мир информации. Начало же этой в полном смысле революции было положено в 1993г., когда в недрах Internet "соткалась" своего рода электронная паутина -...

Языки программирования
Языки программирования Предисловие.    Как известно, в настоящее время наиболее распространенными алгоритмическими языками являются Паскаль и Си. Именно эти языки используются практически на всех действующих вычислительных системах- от супер-ЭВМ до персональных...