Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Защита от программ - антивирусов




Алгоритм работы резидентного EXE - вируса

Для начала рассмотрим алгоритм работы резидентного вируса, заражающего EXE-файлы. Он очень похож на соответствующий алгоритм для COM-вируса, поэтому подробно рассматриваться не будет:

Секция инициализации выполняет следующие действия:

  1. Получает управление при запуске зараженной программы.
  2. Проверяет, установлена ли в память резидентная часть вируса.
  3. Если резидентная часть не установлена, выполняются следующие действия:
    1. Отыскивается свободный блок памяти достаточного для размещения вируса размера.
    2. Код вируса копируется в найденный блок памяти.
    3. В таблице векторов прерываний соответствующие вектора заменяются точками входа в вирусные обработчики.
    4. Определяются значения CS, IP, SS и SP, необходимые для правильной работы программы, из которой стартовал вирус.
    5. Управление передается зараженной программе. Для этого вирус использует команду безусловного дальнего перехода или возврата из дальней процедуры. Адрес перехода задается вычисленными CS и IP. После этого начинается обычное выполнение программы.

В том случае, если резидентная часть вируса уже находится в памяти, он просто выполняет действия перечисленные в п.п. "d" и "e".

Резидентная часть работает по такому "сценарию":

  1. Анализирует все вызовы системного прерывания INT 21h с целью выявить переход оператора в новый каталог или смену текущего диска.
  2. Если обнаружится смена текущего диска или каталога, резидентная часть должна:
    1. Сохранить исходное состояние вычислительной системы.
    2. Найти на диске подходящий EXE-файл.
    3. Записать вирусный код в конец этого файла.
    4. Скорректировать заголовок файла (см. п.1.4 гл. 1 ч. 2).
    5. Восстановить исходное состояние вычислительной системы и передать ей управление.

Как и в случае с COM - вирусом, заражение файлов выполняет только резидентная часть. Вредные действия можно " возложить " как на резидентную, так и на транзитную часть (на транзитную - проще, а на резидентную - обычно сложнее.).

Честно говоря, эта глава просто является обобщением всех предыдущих. Поэтому все основное уже рассказано. Но есть несколько весьма интересных и заслуживающих вашего внимания вопросов, о которых почти не упоминается в литературе. Речь идет о построении вирусов, " невидимых " для антивирусных программ. В самом деле,один - единственный "обыск" с помощью программы DOCTOR WEB на диске или в памяти может свести все наши усилия к нулю. Поэтому самое время поговорить о способах скрытия вирусом своего наличия в вычислительной системе. Технику защиты вирусной программы от обнаружения мы рассмотрим на примере всем известного антивируса DOCTOR WEB.Именно эта программа является наиболее удачной и используемой. Как вы знаете, для обнаружения неизвестных вирусов DOCTOR WEB использует так называемый эвристический анализатор, моделирующий действия человека, желающего обнаружить новый вирус. Все изложенное ниже базируется на следующем предположении: эвристический анализатор, по существу, представляет собой комбинацию пошагового отладчика и программы, анализирующей результаты его работы. Перейдем к делу. Если вы " заразите " ваш компьютер написанным ранее резидентным COM - вирусом, а потом запустите DOCTOR WEB (режим тестирования памяти должен быть включен), то вирус будет обнаружен как неизвестный резидентный. Кроме того, антивирусная программа определит адрес в памяти, по которому находится вирусный код. Если вы просмотрите содержимое памяти по этому адресу,то увидите, что DOCTOR WEB "ошибся". А именно - по указанному адресу расположен собственно не сам вирус, а только его обработчик прерывания INT 21h.На остальные вирусные обработчики антивирус не обратил внимания. Исходя из этого можно сделать такие выводы:

  1. Эвристический анализатор определяет, на какой адрес указывает вектор прерывания INT 21h в таблице векторов.
  2. Далее вступают в действие следующие соображения: Обработчик прерывания INT 21h почти никогда не может находиться в самых младших (например, в области данных BIOS) или в самых старших (например, в последнем сегменте) адресах основной памяти. Поэтому при обнаружении такой ситуации эвристический анализатор считает, что система заражена неизвестным вирусом, и в качестве адреса, по которому расположен его код, выдает адрес обработчика INT 21h.

Как видим, все не так уже и сложно. Далее пользователь должен решать сам, действительно ли вирус присутствует в его компьютере. Отметим, что для решения этого вопроса нужно иметь довольно высокую квалификацию, поэтому для подавляющего большинства пользователей задача представляется неразрешимой.




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 375; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.