Информационные технологииStfw.Ru 🔍

Компьютерные вирусы

🕛 10.02.2009, 13:10
Формально компьютерным вирусом называется программа, которая может заражать другие программы путем включения в них своей, возможно модифицированной, копии, причем последняя сохраняет способность к дальнейшему размножению [Cohen88a]. Программа, зараженная вирусом, может рассматриваться как автоматически созданная троянская программа. В данном случае скрытым модулем является тело вируса, а одним из несанкционированных действий - заражение других программ. Помимо заражения, вирус, подобно любой другой троянской программе, может выполнять и другие несанкционированные действия, от вполне безобидных до крайне разрушительных. Последние, в частности, могут включать уничтожение данных на зараженном диске. В этом случае вирус может рассматриваться как логическая мина. Выполняемые вирусом несанкционированные действия могут быть обусловлены наступлением определенной даты (такие троянские программы в какой-то степени аналогичны минам с часовым механизмом) или определенного количества размножений, или сочетанием определенных условий, например записи зараженной программы на винчестер (последние аналогичны различного рода бесконтактным минам). При этом комбинация этих условий может быть достаточно сложной, чтобы затруднить ее определение (как, например, в вирусе Пинг-понг).

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

Упрощенно процесс заражения вирусом программных файлов можно представить следующим образом. Код зараженной программы обычно изменен таким образом, чтобы вирус получил управление первым, до начала работы программы-вирусоносителя (рис.2). При передаче управления вирусу он каким-то способом находит новую программу и выполняет вставку собственной копии в начало (рис.2б) или добавление ее в конец этой, обычно еще не зараженной, программы (рис.2а). Если вирус дописывается в конец программы, то он корректирует код программы, чтобы получить управление первым. Для этого первые несколько байтов запоминаются в теле вируса, а на их место вставляется команда перехода на начало вируса. Этот способ является наиболее распространенным. Получив управление, вирус восстанавливает "спрятанные" первые байты, а после отработки своего тела передает управление программе-вирусоносителю, и та нормально выполняет свои функции. Возможны случаи, когда вирус включает себя куда-то в середину программы, например, в область стека (рис.2в). Последние случаи встречаются редко.

+-+ +-+ +-+
|++++++++++++++++| |+++++++++++++| |++++++++++++++++|
|Команда перехода|+ |+++++++++++++| |Команда перехода|+
|++++++++++++++++|| |+Тело вируса+| |++++++++++++++++||
|-|| |+++++++++++++| |-||
|++++++++++++++++|| |+++++++++++++| |++++++++++++++++||
|+ ЗАРАЖЕННАЯ +|| |+++++++++++++| |+ НАЧАЛО +||
|++++++++++++++++|| |+++++++++++++| |++++++++++++++++||
|+ ПРОГРАММА +|| |+++++++++++++| |+ ЗАРАЖЕННОЙ +||
|++++++++++++++++|| |+++++++++++++| |++++++++++++++++||
|+ (COM - ФАЙЛ) +|| |+++++++++++++| |+ ПРОГРАММЫ +||
|++++++++++++++++|| |+ЗАРАЖЕННАЯ +| |++++++++++++++++||
|++++++++++++++++|| |+++++++++++++| |++++++++++++++++||
|++++++++++++++++|+ |+ПРОГРАММА +| |++++++++++++++++|+
|+++Тело вируса++| |+++++++++++++| |++++++++++++++++|
|++++++++++++++++| |+COM - ФАЙЛ)+| |+++Тело вируса++|
|++++++++++++++++| |+++++++++++++| |++++++++++++++++|
|++++++++++++++++| |+++++++++++++| |++++++++++++++++|
|Спрятанные байты| |+++++++++++++| |Спрятанные байты|
|++++++++++++++++| |+++++++++++++| |++++++++++++++++|
|++++++++++++++++| |+++++++++++++| |++++++++++++++++|
+-+ +-+ |-| а б |++++++++++++++++| |+ КОНЕЦ +| Рис. 2. Схема заражения |++++++++++++++++| вирусом COM-файлов: |+ ЗАРАЖЕННОЙ +| а - в конец программы; |++++++++++++++++| б - в начало программы; |+ ПРОГРАММЫ +| в - в середину программы. |++++++++++++++++| +-+ в

Вирусы   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉