Помощь в написании студенческих работ
Антистрессовый сервис

Как работает вирус?

РефератПомощь в написанииУзнать стоимостьмоей работы

Была рассмотрена схема функционирования простого бутового вируса, живущего в загрузочных секторах дискет. Как правило, вирусы способны заражать не только загрузочные секторы дискет, но и загрузочные секторы жестких дисков — винчестеров. При этом в отличие от дискет на винчестере имеются два типа загрузочных секторов, содержащих программы начальной загрузки, которые получают управление. При… Читать ещё >

Как работает вирус? (реферат, курсовая, диплом, контрольная)

Рассмотрим схему функционирования простейшего загрузочного вируса, заражающего дискеты. При включении компьютера управление передается программе начальной загрузки, которая хранится в постоянно запоминающем устройстве (ПЗУ).

Эта программа тестирует оборудование и при успешном завершении проверок пытается найти дискету в дисководе А:

Всякая дискета размечена на секторы и дорожки, секторы объединяются в кластеры.

Среди секторов есть несколько служебных, используемых операционной системой для собственных нужд (в этих секторах не могут размещаться данные пользователя). Среди служебных секторов представляет интерес один — т. н. сектор начальной загрузки (boot-sector).

В секторе начальной загрузки хранится информация о дискете — количество поверхностей, количество дорожек, количество секторов и пр. Но интересна не эта информация, а небольшая программа начальной загрузки (ПНЗ), которая должна загрузить саму операционную систему и передать ей управление. Таким образом, нормальная схема начальной загрузки следующая: ПНЗ (ПЗУ) — ПНЗ (диск) — СИСТЕМА.

Теперь рассмотрим вирус. В загрузочных вирусах выделяют две части — т. н. голову и т. н. хвост. Хвост, вообще говоря, может быть пустым.

Пусть имеются чистая дискета и зараженный компьютер, под которым понимается компьютер с активным резидентным вирусом. Как только этот вирус обнаружит, что в дисководе появилась подходящая среда — в рассматриваемом случае не защищенная от записи и еще не зараженная дискета, он приступает к заражению. Заражая дискету, вирус производит следующие действия:

  • * выделяет некоторую область диска и помечает ее как недоступную операционной системе, это можно сделать по-разному, в простейшем и традиционном случае занятые вирусом секторы помечаются как сбойные (bad);
  • * копирует в выделенную область диска свой хвост и оригинальный (здоровый) загрузочный сектор;
  • * замещает программу начальной загрузки в загрузочном секторе (настоящем) своей головой;
  • * организует цепочку передачи управления согласно схеме. Таким образом, голова вируса теперь первой получает управление, вирус устанавливается в память и передает управление оригинальному загрузочному сектору. В цепочке:

ПНЗ (ПЗУ) — ПНЗ (диск) — СИСТЕМА.

появляется новое звено:

ПНЗ (ПЗУ) — ВИРУС — ПНЗ (диск) — СИСТЕМА.

Была рассмотрена схема функционирования простого бутового вируса, живущего в загрузочных секторах дискет. Как правило, вирусы способны заражать не только загрузочные секторы дискет, но и загрузочные секторы жестких дисков — винчестеров. При этом в отличие от дискет на винчестере имеются два типа загрузочных секторов, содержащих программы начальной загрузки, которые получают управление. При загрузке компьютера с винчестера первой берет на себя управление программа начальной загрузки в MBR (Master Boot Record — главная загрузочная запись). Если жесткий диск разбит на несколько разделов, то лишь один из них помечен как загрузочный (boot). Программа начальной загрузки в MBR находит загрузочный раздел винчестера и передает управление на программу начальной загрузки этого раздела. Код последней совпадает с кодом программы начальной загрузки, содержащейся на обычных дискетах, а соответствующие загрузочные секторы отличаются только таблицами параметров.

Таким образом, на винчестере имеются два объекта атаки загрузочных вирусов — программа начальной загрузки в MBR и программа начальной загрузки в boot-секторе загрузочного диска.

Приведем обобщенный пример структуры программы-вируса. Она состоит из псевдокоманд DOS и подпрограмм — маленьких внутренних программ (составляющие их инструкции хранятся отдельно от главной программы), выполняющих некоторые специальные функции всякий раз, когда к ним обращаются.

this:= findfile.

LOAD (this).

loc:= search (this).

insert (loc).

STORE (this).

Подпрограмма под названием findfile обращается к каталогу выполняемых файлов или программ на диске, берет произвольное имя файла и присваивает имя этого файла переменной this (этот). В следующей строке программы используется псевдокоманда DOS LOAD (загрузить), с помощью которой файл помещается в оперативную память компьютера.

Другая подпрограмма под названием search (поиск) просматривает только что загруженную программу в поисках инструкции, которая могла бы послужить подходящим местом, куда можно занести вирус. Когда процедура search находит такую инструкцию, она определяет соответствующий номер строки и присваивает его в качестве значения переменной loc. Теперь все готово для того, чтобы подпрограмма-вирус могла проникнуть в произвольно выбранную из каталога программу.

Подпрограмма insert (вставить) заменяет выбранную инструкцию другой (например, такой, как вызов подпрограммы). Замененная инструкция передает управление блоку команд, составляющих главное тело подпрограммы-вируса, которая присоединяется к концу программы.

Затем к концу добавленной подпрограммы присоединяется инструкция, возвращающая управление «зараженной» программе на инструкцию, следующую за вставленной. Таким образом, когда выполняется подпрограмма-вирус, выполняется также и подмененная инструкция зараженной программы. Исходная программа работает так, будто ничего особенного не произошло. Однако на самом деле подпрограмма-вирус воспользовалась каким-то мгновением, чтобы захватить власть над средствами операционной системы и прицепить свою копию к еще одной программе, хранящейся на диске. Приведенный пример демонстрирует лишь один из приемов, используемых авторами вирусов. В настоящее время специалисты выделили и другие приемы, отличающиеся друг от друга идеями и изощренностью выполнения.

Показать весь текст
Заполнить форму текущей работой