0

В чем состоит принцип работы вируса

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

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

В обиходе «вирусами» называют всё вредоносное ПО [1] , хотя на самом деле это лишь один его вид.

Содержание

История [ править | править код ]

Основы теории самовоспроизводящихся механизмов заложил американец венгерского происхождения Джон фон Нейман, который в 1951 году предложил метод создания таких механизмов. С 1961 года известны рабочие примеры таких программ [2] .

Первыми известными вирусами являются Virus 1,2,3 и Elk Cloner для ПК Apple II, появившиеся в 1981 году. Зимой 1984 года появились первые антивирусные утилиты — CHK4BOMB и BOMBSQAD авторства Энди Хопкинса (англ. Andy Hopkins ). В начале 1985 года Ги Вонг (англ. Gee Wong ) написал программу DPROTECT — первый резидентный антивирус.

Первые вирусные эпидемии относятся к 1986-1989 годам: Brain (распространялся в загрузочных секторах дискет, вызвал крупнейшую эпидемию), Jerusalem [en] (проявился в пятницу 13 мая 1988 года, уничтожая программы при их запуске [3] ), червь Морриса (свыше 6200 компьютеров, большинство сетей вышло из строя на срок до пяти суток), DATACRIME (около 100 тысяч заражённых ПЭВМ только в Нидерландах).

Тогда же оформились основные классы двоичных вирусов: сетевые черви (червь Морриса, 1987), «троянские кони» (A >[4] ), полиморфные вирусы (Chameleon, 1990), стелс-вирусы (Frodo, Whale, 2-я половина 1990).

Параллельно оформляются организованные движения как про-, так и антивирусной направленности: в 1990 году появляются специализированная BBS Virus Exchange, «Маленькая чёрная книжка о компьютерных вирусах» Марка Людвига, первый коммерческий антивирус Symantec Norton AntiVirus.

В 1992 году появились первый конструктор вирусов для PC — VCL (для Amiga конструкторы существовали и ранее), а также готовые полиморфные модули (MtE, DAME и TPE) и модули шифрования для встраивания в новые вирусы.

В несколько последующих лет были окончательно отточены стелс- и полиморфные технологии (SMEG.Pathogen, SMEG.Queeg, OneHalf, 1994; NightFall, Nostradamus, Nutcracker, 1995), а также испробованы самые необычные способы проникновения в систему и заражения файлов (Dir II — 1991, PMBS, Shadowgard, Cruncher — 1993). Кроме того, появились вирусы, заражающие объектные файлы (Shifter, 1994) и исходные тексты программ (SrcVir, 1994). С распространением пакета Microsoft Office получили распространение макровирусы (Concept, 1995).

В 1996 году появился первый вирус для Windows 95 — Win95.Boza, а в декабре того же года — первый резидентный вирус для неё — Win95.Punch.

С распространением сетей и Интернета файловые вирусы всё больше ориентируются на них как на основной канал работы (ShareFun, 1997 — макровирус MS Word, использующий MS-Mail для распространения; Win32.HLLP.DeTroie, 1998 — семейство вирусов-шпионов; Melissa, 1999 — макровирус и сетевой червь, побивший все рекорды по скорости распространения). Эру расцвета «троянских коней» открывает утилита скрытого удалённого администрирования BackOrifice (1998) и последовавшие за ней аналоги (NetBus, Phase).

Вирус Win95.CIH достиг апогея в применении необычных методов, перезаписывая FlashBIOS заражённых машин (эпидемия в июне 1998 считается самой разрушительной за предшествующие годы).

В конце 1990-x — начале 2000-x годов с усложнением ПО и системного окружения, массовым переходом на сравнительно защищённые Windows семейства NT, закреплением сетей как основного канала обмена данными, а также успехами антивирусных технологий в обнаружении вирусов, построенных по сложным алгоритмам, последние стали всё больше заменять внедрение в файлы на внедрение в операционную систему (необычный автозапуск, руткиты) и подменять полиморфизм огромным количеством видов (число известных вирусов растет экспоненциально).

Вместе с тем обнаружение в Windows и другом распространённом ПО многочисленных уязвимостей открыло дорогу червям-эксплоитам. В 2004 году беспрецедентные по масштабам эпидемии вызывают MsBlast (по данным Microsoft, более 16 млн систем [5] ), Sasser и Mydoom (оценочные ущербы 500 млн и 4 млрд долл. соответственно [6] ).

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

В начале на основе троянских программ, а с развитием технологий p2p-сетей — и самостоятельно — набирает обороты самый современный вид вирусов — черви-ботнеты (Rustock, 2006, ок. 150 тыс. ботов; Conficker, 2008—2009, более 7 млн ботов; Kraken, 2009, ок. 500 тыс. ботов). Вирусы в числе прочего вредоносного ПО окончательно оформляются как средство киберпреступности.

Этимология названия [ править | править код ]

Компьютерный вирус был назван по аналогии с биологическими вирусами за сходный механизм распространения. По-видимому, впервые слово «вирус» по отношению к программе было употреблено Грегори Бенфордом (Gregory Benford) в фантастическом рассказе «Человек в шрамах» [7] , опубликованном в журнале Venture в мае 1970 года.

Термин «компьютерный вирус» впоследствии не раз «открывался» и переоткрывался. Так, переменная в подпрограмме PERVADE (1975), от значения которой зависело, будет ли программа ANIMAL распространяться по диску, называлась VIRUS. Также вирусом назвал свои программы Джо Деллинджер, и, вероятно, это и было то, что впервые было правильно обозначено как вирус.

Формальное определение [ править | править код ]

Нет общепринятого определения вируса. В академической среде термин был употреблён Фредом Коэном в его работе «Эксперименты с компьютерными вирусами» [8] [9] , где он сам приписывает авторство термина Леонарду Адлеману [10] [11] .

Формально вирус определён Фредом Коэном со ссылкой на машину Тьюринга следующим образом [12] :

с заданным множеством состояний SM, множеством входных символов IM и отображений (OM, NM, DM), которая на основе своего текущего состояния s ∈ SM и входного символа i ∈ IM, считанного с полубесконечной ленты, определяет: выходной символ o ∈ IM для записи на ленту, следующее состояние машины s’ ∈ SM и движения по ленте d ∈ .

Для данной машины M последовательность символов v : vi ∈ IM может быть сочтена вирусом тогда и только тогда, когда обработка последовательности v в момент времени t влечёт за собой то, что в один из следующих моментов времени t последовательность v′ (не пересекающаяся с v) существует на ленте, и эта последовательность v′ была записана M в точке t′, лежащей между t и t″:

  • t ∈ N число базовых операций «перемещения», осуществлённых машиной
  • PMN номер позиции на ленте машины в момент времени t
  • SM начальное состояние машины
  • CM(t, c) содержимое ячейки c в момент времени t

Данное определение было дано в контексте вирусного множества VS = (M, V) — пары, состоящей из машины Тьюринга M и множества последовательностей символов V: v, v’ ∈ V. Из данного определения следует, что понятие вируса неразрывно связано с его интерпретацией в заданном контексте, или окружении.

Фредом Коэном было показано [12] , что «любая самовоспроизводящаяся последовательность символов: одноэлементный VS, согласно которой существует бесконечное количество VS, и не-VS, для которых существуют машины, по отношению к которым все последовательности символов является вирусом, и машин, для которых ни одна из последовательностей символов не является вирусом, даёт возможность понять, когда любая конечная последовательность символов является вирусом для какой-либо машины». Он также приводит доказательство того, что в общем виде вопрос о том, является ли данная пара (M, X) : Xi ∈ IM вирусом, неразрешим (то есть не существует алгоритма, который мог бы достоверно определить все вирусы) теми же средствами, которыми доказывается неразрешимость проблемы остановки [13] .

Другие исследователи доказали, что существуют такие типы вирусов (вирусы, содержащие копию программы, улавливающей вирусы), которые не могут быть безошибочно определены ни одним алгоритмом.

Классификация [ править | править код ]

Ныне существует немало разновидностей вирусов, различающихся по основному способу распространения и функциональности. Если изначально вирусы распространялись на дискетах и других носителях, то сейчас доминируют вирусы, распространяющиеся через локальные и глобальные (Интернет) сети. Растёт и функциональность вирусов, которую они перенимают от других видов программ.

В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы:

  • по поражаемым объектам (файловые вирусы, загрузочные вирусы, сценарные вирусы, макровирусы, вирусы, поражающие исходный код);
  • файловые вирусы делят по механизму заражения: паразитирующие добавляют себя в исполняемый файл, перезаписывающие невосстановимо портят заражённый файл, «спутники» идут отдельным файлом.
  • по поражаемым операционным системам и платформам (DOS, Windows, Unix, Linux, Andro > Распространение [ править | править код ]

Через Интернет, локальные сети и съёмные носители.

Механизм [ править | править код ]

Вирусы распространяются, копируя своё тело и обеспечивая его последующее исполнение: внедряя себя в исполняемый код других программ, заменяя собой другие программы, прописываясь в автозапуск через реестр и другое. Вирусом или его носителем могут быть не только программы, содержащие машинный код, но и любая информация, содержащая автоматически исполняемые команды, — например, пакетные файлы и документы Microsoft Word и Excel, содержащие макросы. Кроме того, для проникновения на компьютер вирус может использовать уязвимости в популярном программном обеспечении (например, Adobe Flash, Internet Explorer, Outlook), для чего распространители внедряют его в обычные данные (картинки, тексты и т. д.) вместе с эксплойтом, использующим уязвимость.

После того как вирус успешно внедрился в коды программы, файла или документа, он будет находиться в состоянии сна, пока обстоятельства не заставят компьютер или устройство выполнить его код. Чтобы вирус заразил ваш компьютер, необходимо запустить заражённую программу, которая, в свою очередь, приведёт к выполнению кода вируса. Это означает, что вирус может оставаться бездействующим на компьютере без каких-либо симптомов поражения. Однако, как только вирус начинает действовать, он может заражать другие файлы и компьютеры, находящиеся в одной сети. В зависимости от целей программиста-вирусописателя, вирусы либо причиняют незначительный вред, либо имеют разрушительный эффект, например удаление данных или кража конфиденциальной информации.

Каналы [ править | править код ]

  • Дискеты. Самый распространённый канал заражения в 1980—1990-е годы. Сейчас практически отсутствует из-за появления более распространённых и эффективных каналов и отсутствия флоппи-дисководов на многих современных компьютерах.
  • Флеш-накопители («флешки»). В настоящее время USB-накопители заменяют дискеты и повторяют их судьбу — большое количество вирусов распространяется через съёмные накопители, включая цифровые фотоаппараты, цифровые видеокамеры, портативные цифровые плееры, а с 2000-х годов всё большую роль играют мобильные телефоны, особенно смартфоны (появились мобильные вирусы). Использование этого канала ранее было преимущественно обусловлено возможностью создания на накопителе специального файла autorun.inf, в котором можно указать программу, запускаемую Проводником Windows при открытии такого накопителя. В Windows 7 возможность автозапуска файлов с переносных носителей была отключена.
  • Электронная почта. Обычно вирусы в письмах электронной почты маскируются под безобидные вложения: картинки, документы, музыку, ссылки на сайты. В некоторых письмах могут содержаться действительно только ссылки, то есть в самих письмах может и не быть вредоносного кода, но если открыть такую ссылку, то можно попасть на специально созданный веб-сайт, содержащий вирусный код. Многие почтовые вирусы, попав на компьютер пользователя, затем используют адресную книгу из установленных почтовых клиентов типа Outlook для рассылки самого себя дальше.
  • Системы обмена мгновенными сообщениями. Здесь также распространена рассылка ссылок на якобы фото, музыку либо программы, в действительности являющиеся вирусами, по ICQ и через другие программы мгновенного обмена сообщениями.
  • Веб-страницы. Возможно также заражение через страницы Интернета ввиду наличия на страницах всемирной паутины различного «активного» содержимого: скриптов, ActiveX-компонент. В этом случае используются уязвимости программного обеспечения, установленного на компьютере пользователя, либо уязвимости в ПО владельца сайта (что опаснее, так как заражению подвергаются добропорядочные сайты с большим потоком посетителей), а ничего не подозревающие пользователи, зайдя на такой сайт, рискуют заразить свой компьютер.
  • Интернет и локальные сети (черви). Черви — вид вирусов, которые проникают на компьютер-жертву без участия пользователя. Черви используют так называемые «дыры» (уязвимости) в программном обеспечении операционных систем, чтобы проникнуть на компьютер. Уязвимости — это ошибки и недоработки в программном обеспечении, которые позволяют удалённо загрузить и выполнить машинный код, в результате чего вирус-червь попадает в операционную систему и, как правило, начинает действия по заражению других компьютеров через локальную сеть или Интернет. Злоумышленники используют заражённые компьютеры пользователей для рассылки спама или для DDoS-атак.
Читайте также:  Игры про больницу на пк список

Противодействие обнаружению [ править | править код ]

Во времена MS-DOS были распространены стелс-вирусы, перехватывающие прерывания для обращения к операционной системе. Вирус таким образом мог скрывать свои файлы из дерева каталогов или подставлять вместо заражённого файла исходную копию.

С широким распространением антивирусных сканеров, проверяющих перед запуском любой код на наличие сигнатур или выполнение подозрительных действий, этой технологии стало недостаточно. Скрытие вируса из списка процессов или дерева каталогов для того, чтобы не привлекать лишнее внимание пользователя, является базовым приёмом, однако для борьбы с антивирусами требуются более изощрённые методы. Для противодействия сканированию на наличие сигнатур применяется шифрование кода и полиморфизм. Эти техники часто применяются вместе, поскольку для расшифрования зашифрованной части вируса необходимо оставлять расшифровщик незашифрованным, что позволяет обнаруживать его по сигнатуре. Поэтому для изменения расшифровщика применяют полиморфизм — модификацию последовательности команд, не изменяющую выполняемых действий. Это возможно благодаря весьма разнообразной и гибкой системе команд процессоров Intel, в которой одно и то же элементарное действие, например сложение двух чисел, может быть выполнено несколькими последовательностями команд.

Также применяется перемешивание кода, когда отдельные команды случайным образом разупорядочиваются и соединяются безусловными переходами. Передовым фронтом вирусных технологий считается метаморфизм, который часто путают с полиморфизмом. Расшифровщик полиморфного вируса относительно прост, его функция — расшифровать основное тело вируса после внедрения, то есть после того, как его код будет проверен антивирусом и запущен. Он не содержит самого полиморфного движка, который находится в зашифрованной части вируса и генерирует расшифровщик. В отличие от этого, метаморфный вирус может вообще не применять шифрование, поскольку сам при каждой репликации переписывает весь свой код [14] .

Профилактика и лечение [ править | править код ]

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

  1. Не работать под привилегированными учётными записями без крайней необходимости (учётная запись администратора в Windows).
  2. Не запускать незнакомые программы из сомнительных источников.
  3. Стараться блокировать возможность несанкционированного изменения системных файлов.
  4. Отключать потенциально опасную функциональность системы (например, autorun-носителей в MS Windows, сокрытие файлов, их расширений и пр.).
  5. Не заходить на подозрительные сайты, обращать внимание на адрес в адресной строке обозревателя.
  6. Пользоваться только доверенными дистрибутивами.
  7. Постоянно делать резервные копии важных данных, желательно на носители, которые не стираются (например, BD-R) и иметь образ системы со всеми настройками для быстрого развёртывания.
  8. Выполнять регулярные обновления часто используемых программ, особенно тех, которые обеспечивают безопасность системы.

Экономика [ править | править код ]

Некоторые производители антивирусов утверждают, что сейчас создание вирусов превратилось из одиночного хулиганского занятия в серьёзный бизнес, имеющий тесные связи с бизнесом спама и другими видами противозаконной деятельности. [15]

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

Криминализация [ править | править код ]

Создателю вируса Scores, нанесшего в 1988 ущерб пользователям компьютеров Macintosh, не было предъявлено обвинений, поскольку его действия не подпадали под имеющийся на тот момент в США закон Computer Fraud and Abuse Act либо другие законы. Этот случай привёл к разработке одного из первых законов, имеющих отношение к компьютерным вирусам: Computer Virus Eradication Act (1988) [17] . Сходным образом создатель самого разрушительного вируса ILOVEYOU в 2000 году избежал наказания из-за отсутствия на Филиппинах соответствующих ситуации законов [18] .

Создание и распространение вредоносных программ (в том числе вирусов) преследуется в некоторых странах как отдельный вид правонарушений: в России согласно Уголовному кодексу РФ (глава 28, статья 273), в США согласно Computer Fraud and Abuse Act, в Японии [19] . Во многих странах, однако, создание вирусов само по себе не является преступлением, и нанесенный ими вред подпадает под более общие законы о компьютерных правонарушениях [20] .

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

Определение компьютерного вируса — исторически проблемный вопрос, поскольку достаточно сложно дать четкое определение вируса, очертив при этом свойства, присущие только вирусам и не касающиеся других программных систем. Наоборот, давая жесткое определение вируса как программы, обладающей определенными свойствами, практически сразу же можно найти пример вируса, таковыми свойствами не обладающего.Приведу несколько формулировок определения:Хронологически наиболее раннее определение от Евгения Касперского (книга "Компьютерные вирусы"):

Определение 1: ОБЯЗАТЕЛЬНЫМ (НЕОБХОДИМЫМ) СВОЙСТВОМ КОМПЬЮТЕРНОГО ВИРУСА является возможность создавать свои дубликаты (не обязательно совпадающие с оригиналом) и внедрять их в вычислительные сети и/или файлы, системные области компьютера и прочие выполняемые объекты. При этом дубликаты сохраняют способность к дальнейшему распространению.

Определение по ГОСТ Р 51188-98:
Определение 2: Вирус — программа, способная создавать свои копии (необязательно совпадающие с оригиналом) и внедрять их в файлы, системные области компьютера, компьютерных сетей, а также осуществлять иные деструктивные действия. При этом копии сохраняют способность дальнейшего распространения. Компьютерный вирус относится к вредоносным программам. Легко заметить, что определение в ГОСТ практически полностью повторяет определение Е. Касперского.

Определения 1 и 2 в большой степени повторяют определение Ф. Коэна или уточнение, предложенное Д. Чессом и С. Вайтом, что позволяет распространить на них (определения) вывод о невозможности создать алгоритм, обнаруживающий все такие программы или даже все "инкарнации" одного из вирусов. Тем не менее, на практике оказывается, что все известные вирусы могут быть обнаружены антивирусными программами. Результат достигается в частности еще и за счет того, что поврежденные или неудачные экземпляры вирусов, неспособные к созданию и внедрению своих копий, обнаруживаются и классифицируются наравне со всеми остальными "полноценными" вирусами. Следовательно, с практической точки зрения, т. е. с точки зрения алгоритмов поиска, способность к размножению вовсе не является обязательной для причисления программы к вирусам.Другая проблема, связанная с определением компьютерного вируса кроется в том, что сегодня под вирусом чаще всего понимается не "традиционный" вирус, а практически любая вредоносная программа. Это приводит к путанице в терминологии, осложненной еще и тем, что практически все современные антивирусы способны выявлять указанные типы вредоносных программ, таким образом ассоциация "вредоносная программа-вирус" становится все более устойчивой.Исходя из этого, а также из назначения антивирусных средств, в дальнейшем, если это не будет оговорено отдельно, под вирусами будут подразумеваться именно вредоносные программы.

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

Компьютерные вирусы, трояны и черви являются основными типами вредоносных программ.
Вирусы

Классические определения компьютерного вируса приведены выше.

Поскольку отличительной особенностью вирусов в традиционном смысле является способность к размножению в рамках одного компьютера, деление вирусов на типы происходит в соответствии со способами размножения.Сам процесс размножения может быть условно разделен на несколько стадий:

1. Проникновение на компьютер 2. Активация вируса3. Поиск объектов для заражения4. Подготовка вирусных копий5. Внедрение вирусных копий

Особенности реализации каждой стадии порождают атрибуты, набор которых фактически и определяет класс вируса.

Вирусы проникают на компьютер вместе с зараженными файлами или другими объектами (загрузочными секторами дискет), никак, в отличие от червей, не влияя на процесс проникновения. Следовательно, возможности проникновения полностью определяются возможностями заражения и классифицировать вирусы по этим стадиям жизненного цикла отдельно смысла нет.

Для активации вируса необходимо, чтобы зараженный объект получил управление. На данной стадии деление вирусов происходит по типам объектов, которые могут быть заражены:

1.Загрузочные вирусы – вирусы, заражающие загрузочные сектора постоянных и сменных носителей.

2.Файловые вирусы —вирусы, заражающие файлы. Эта группа дополнительно делится на три, в зависимости от среды в которой выполняется код:

· Собственно файловые вирусы — те, которые непосредственно работают с ресурсами операционной системы.Из последних вредоносных программ, обладающих вирусной функциональностью, можно отметить Email-Worm.Win32.Bagle.p (а также его модификации .q и .r).

· Макровирусы — вирусы, написанные на языке макрокоманд и исполняемые в среде какого-либо приложения. В подавляющем большинстве случаев речь идет о макросах в документах Microsoft Office.

Макро-вирусы способны заражать не только документы Microsoft Word и Excel. Существуют вредоносные программы ориентированные и на другие типы документов: Macro.Visio.Radiant заражает файлы известной программы для построения диаграмм -Visio, Virus.Acad.Pobresito – документы AutoCAD, Macro.AmiPro.Green – документы популярного раньше текстового процессора Ami Pro.

· Скрипт-вирусы — вирусы, исполняемые в среде определенной командной оболочки: раньше – bat-файлы в командной оболочке DOS, сейчас чаще VBS и JS – скрипты в командной оболочке Windows Scripting Host (WSH).Отдельно стоит отметить тот факт, что вирусы, рассчитанные для работы в среде определенной ОС или приложения, оказываются неработоспособными в среде других ОС и приложений. Поэтому как отдельный атрибут вируса выделяется среда, в которой он способен выполняться. Для файловых вирусов это DOS, Windows, Linux, MacOS, OS/2. Для макровирусов – Word, Excel, PowerPoint, Office. Иногда вирусу требуется для корректной работы какая-то определенная версия ОС или приложения, тогда атрибут указывается более узко: Win9x, Excel97.

Читайте также:  Восстановление удаленного аккаунта яндекс

Поиск жертв На стадии поиска объектов для заражения встречается два способа поведения вирусов.1.Получив управление, вирус производит разовый поиск жертв, после чего передает управление ассоциированному с ним объекту (зараженному объекту).2.Получив управление, вирус так или иначе остается в памяти и производит поиск жертв непрерывно, до завершения работы среды, в которой он выполняетсяВирусы второго типа во времена однозадачной DOS было принято называть резидентными. С переходом на Windows проблема остаться в памяти перестала быть актуальной: практически все вирусы, исполняемые в среде Windows, равно как и в среде приложений MS Office, являются вирусами второго типа. И напротив, скрипт-вирусы являются вирусами первого типа. Соответственно, атрибут резидентный применим только к файловым DOS вирусам. Существование нерезидентных Windows вирусов возможно, но на практике они являются редким исключением.Отдельно имеет смысл рассмотреть так называемые stealth-вирусы – вирусы, которые находясь постоянно в памяти, перехватывают обращения к зараженному файлу и на ходу удаляют из него вирусный код, передавая в ответ на запрос неизмененную версию файла. Таким образом эти вирусы маскируют свое присутствие в системе. Для их обнаружения антивирусным средствам требуется возможность прямого обращения к диску в обход средств операционной системы. Наибольшее распространение Stealth-вирусы получили во времена DOS.

Подготовка вирусных копий

Определение 4: Сигнатура вируса — в широком смысле, информация, позволяющая однозначно определить наличие данного вируса в файле или ином коде. Примерами сигнатур являются: уникальная последовательность байт, присутствующая в данном вирусе и не встречающаяся в других программах; контрольная сумма такой последовательности. Процесс подготовки копий для распространения может существенно отличаться от простого копирования. Авторы наиболее сложных в технологическом плане вирусов стараются сделать разные копии максимально непохожими для усложнения их обнаружения антивирусными средствами. Как следствие, составление сигнатуры для такого вируса крайне затруднено либо вовсе невозможно.

Внедрение вирусных копий может осуществляться двумя принципиально разными методами:

· Внедрение вирусного кода непосредственно в заражаемый объект · Замена объекта на вирусную копию. Замещаемый объект, как правило, переименовывается

Для вирусов характерным является преимущественно первый метод. Второй метод намного чаще используется червями и троянами, а точнее троянскими компонентами червей, поскольку трояны сами по себе не распространяются.

Ущерб от вредоносных программ

Черви и вирусы могут осуществлять все те же действия, что и трояны. На уровне реализации это могут быть как отдельные троянские компоненты, так и встроенные функции. Кроме этого, за счет массовости, для вирусов и червей характерны также другие формы вредоносных действий:

· Перегрузка каналов связи — свойственный червям вид ущерба, связанный с тем, что во время масштабных эпидемий по Интернет-каналам передаются огромные количества запросов, зараженных писем или непосредственно копий червя. В ряде случаев, пользование услугами Интернет во время эпидемии становится затруднительным. Примеры: Net-Worm.Win32.Slammer · DDoS атаки — благодаря массовости, черви могут эффективно использоваться для реализации распределенных атак на отказ в обслуживании (DDoS атак). В разгар эпидемии, когда зараженными являются миллионы и даже десятки миллионов компьютеров, обращение всех инфицированных систем к определенному Интернет ресурсу приводит к полному блокированию этого ресурса. Так, во время атаки червя MyDoom сайт компании SCO был недоступен в течение месяца. · Потеря данных — более характерное для вирусов, чем для троянов и червей, поведение, связанное с намеренным уничтожением определенных данных на компьютере пользователя. Примеры: Virus.Win9x.CIH – удаление стартовых секторов дисков и содержимого Flash BIOS, Macro.Word97.Thus – удаление всех файлов на диске C:, Email-Worm.Win32.Mydoom.e – удаление файлов с определенными расширениями в зависимости от показателя счетчика случайных чисел· Нарушение работы ПО — также более свойственная вирусам черта. Из-за ошибок в коде вируса, зараженные приложения могут работать с ошибками или не работать вовсе. Примеры: Net-Worm.Win32.Sasser.a – перезагрузка зараженного компьютера· Загрузка ресурсов компьютера — интенсивное использование ресурсов компьютера вредоносными программами ведет к снижению производительности как системы в целом, так и отдельных приложений. Примеры: в разной степени – любые вредоносные программы

Наличие деструктивных действий вовсе не является обязательным критерием для классификации программного кода как вирусного. Следует также отметить, что одним только процессом саморазмножения вирус способен причинить колоссальный ущерб. Наиболее яркий пример – Net-Worm.Win32.Slammer.

Угрозы безопасности информации

Рассмотрим угрозы безопасности информации с точки зрения вирусов. Учитывая тот факт, что общее число вирусов по состоянию на сегодня превосходит 100000, проанализировать угрозы со стороны каждого из них является слишком трудоемкой и бесполезной задачей, поскольку ежедневно возрастает количество вирусов, а значит, необходимо ежедневно модифицировать полученный список. Будем считать, что вирус способен реализовать любую из угроз безопасности информации.Существует множество способов классификации угроз безопасности информации, которая обрабатывается в автоматизированной системе. Наиболее часто используется классификация угроз по результату их влияния на информацию, а именно – нарушение конфиденциальности, целостности и доступности.Для каждой угрозы существует несколько способов ее реализации со стороны вирусов.

Угроза нарушения конфиденциальности

· Кража информации и ее распространение с помощью штатных средств связи либо скрытых каналов передачи: Email-Worm.Win32.Sircam – рассылал вместе с вирусными копиями произвольные документы, найденные на зараженном компьютере

· Кража паролей доступа, ключей шифрования и пр.: любые трояны, крадущие пароли, Trojan-PSW.Win32.LdPinch.gen· Удаленное управление: Backdoor.Win32.NetBus, Email-Worm.Win32.Bagle (backdoor-функциональность)

Угроза нарушения целостности

· Модификация без уничтожения (изменение информации): любой паразитирующий вирус· Модификация посредством уничтожения либо шифрации (удаление некоторых типов документов): Virus.DOS.OneHalf – шифрование содержимого диска, Virus.Win32.Gpcode.f – шифрует файлы с определенными расширениями, после чего самоуничтожается, оставляя рядом с зашифрованными файлами координаты для связи по вопросам расшифровки файлов· модификация путем низкоуровневого уничтожения носителя (форматирование носителя, уничтожение таблиц распределения файлов): Virus.MSWord.Melissa.w – 25 декабря форматирует диск C:

Угроза нарушения доступности

· Загрузка каналов передачи данных большим числом пакетов: Net-Worm.Win32.Slammer – непрерывная рассылка инфицированных пакетов в бесконечном цикле

· Любая деятельность, результатом которой является невозможность доступа к информации; различные звуковые и визуальные эффекты: Email-Worm.Win32.Bagle.p – блокирование доступа к сайтам антивирусных компаний

· Вывод компьютера из строя путем уничтожения либо порчи критических составляющих (уничтожение Flash BIOS): Virus.Win9x.CIH – порча Flash BIOSКак несложно было убедиться, для каждого из приведенных выше способов реализации угроз можно привести конкретный пример вируса, реализующего один или одновременно несколько способов.

Вредоносные программы отличаются условиями существования, применяемыми технологиями на различных этапах жизненного цикла, собственно вредоносным воздействием – все эти факторы и являются основой для классификации. В результате по основному (с исторической точки зрения) признаку – размножению, вредоносные программы делятся на три типа: собственно вирусы, черви и трояны.Независимо от типа, вредоносные программы способны наносить значительный ущерб, реализуя любые угрозы информации – угрозы нарушения целостности, конфиденциальности, доступности. В связи с этим при проектировании комплексных систем антивирусной защиты, и даже в более общем случае – комплексных системы защиты информации, необходимо проводить градацию и классифицировать объекты сети по важности обрабатываемой на них информации и по вероятности заражения этих узлов вирусами.

Физическая структура компьютерного вируса достаточно проста, поскольку состоит из головы и, возможно, хвоста. Голова вируса — компонента вируса, получающая управление первой. Хвост — это часть вируса, расположенная в коде зараженной программы отдельно от головы. Вирусы, состоящие из одной головы, называют несегмен- тированными; вирусы, содержащие голову и хвост, — сегментированными.

Жизненный цикл вируса обычно включает следующие периоды:

  • • внедрение;
  • • инкубационный период;
  • • период репликации (саморазмножение);
  • • проявление.

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

Принцип работы вируса.

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

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

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

Наиболее существенные признаки компьютерных вирусов позволяют классифицировать последние по четырем критериям.

Классификация компьютерных вирусов по критерию «режим функционирования» включает:

  • резидентные вирусы — вирусы, которые после активации постоянно находятся в оперативной памяти компьютера и контролируют доступ к его ресурсам;
  • транзитные вирусы — вирусы, которые выполняются только в момент запуска зараженной программы.

Классификация компьютерных вирусов по критерию «объект внедрения» такова:

файловые вирусы — вирусы, заражающие файлы.

В свою очередь, файловые вирусы подразделяются на вирусы, заражающие:

  • — исполняемые файлы;
  • — командные файлы;
  • — файлы, составляемые на макроязыках программирования, или файлы, содержащие макросы (макровирусы);
  • — файлы с драйверами устройств;
  • — файлы с библиотеками исходных, объектных, загрузочных и оверлейных модулей, с библиотеками динамической компоновки и т.п.;
  • загрузочные (бутовые) вирусы — вирусы, заражающие код, хранящийся в системных областях дисков.

Загрузочные вирусы подразделяются на вирусы, заражающие:

  • — системный загрузчик, расположенный в загрузочном секторе логических дисков;
  • — внесистемный загрузчик, расположенный в загрузочном секторе жестких дисков.

Классификация компьютерных вирусов по критерию «способ заражения» представляет:

  • перезаписывающие вирусы (overwriting);
  • паразитические вирусы (parasitic);
  • вирусы-компаньоны (companion);
  • вирусы-ссылки (.link);
  • вирусы, заражающие объектные модули (OBJ);
  • вирусы, заражающие библиотеки компиляторов (LIB);
  • вирусы, заражающие исходные тексты программ.

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

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

Основными типами таких вирусов являются вирусы, записывающиеся в начало файлов (prepending), в конец файлов (appending) и в середину файлов (inserting).

Внедрение вируса в начало файла. Известны два способа внедрения паразитического файлового вируса в начало файла. Первый способ заключается в том, что вирус переписывает начало заражаемого файла в его конец, а сам копируется на освободившееся место.

Читайте также:  Девушка из мстителей рыжая

При заражении файла вторым способом вирус дописывает заражаемый файл к своему телу. Таким образом, при запуске зараженного файла первым управление получает код вируса. При этом вирусы, чтобы сохранить работоспособность программы, либо лечат зараженный файл, повторно запускают его, ждут окончания его работы и снова записываются в его начало (иногда для этого используется временный файл, в который записывается обезвреженный файл), либо восстанавливают код программы в памяти компьютера и настраивают необходимые адреса в ее теле (т.е. дублируют работу ОС).

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

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

Часто используется метод cavity, при котором вирус записывается в заведомо неиспользуемые области файла. Вирус может быть скопирован в незадействованные области заголовка ЕХЕ-файла, в «дыры» между секциями ЕХЕ-файла или в область текстовых сообщений популярных компиляторов.

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

Вирусы без точки входа. Отдельно следует отметить довольно незначительную группу вирусов, не имеющих точки входа (ЕРО-вирусы — Entry Point Obscuring viruses). К ним относятся вирусы, не изменяющие адрес точки старта в заголовке ЕХЕ-файлов. Такие вирусы записывают команду перехода на свой код в какое-либо место в середину файла и получают управление не непосредственно при запуске зараженного файла, а при вызове процедуры, содержащей код передачи управления на тело вируса. Причем выполняться эта процедура может крайне редко (например, при выводе сообщения о какой- либо специфической ошибке). В результате вирус может долгие годы «спать» внутри файла и «проснуться» только при некоторых ограниченных условиях. Перед тем как записать в середину файла команду перехода на свой код, вирусу необходимо выбрать «правильный» адрес в файле — иначе зараженный файл может оказаться испорченным. Известно несколько способов, с помощью которых вирусы определяют такие адреса внутри файлов, например: поиск в файле последовательности стандартного кода заголовков процедур языков программирования (C/C++), дизассемблирование кода файла или замена адресов импортируемых функций и др.

Вирусы-компаньоны — это вирусы, не изменяющие заражаемых файлов. Алгоритм работы этих вредоносных программ состоит в том, что для заражаемого файла создается файл-двойник, причем при запуске зараженного файла управление получает именно этот двойник.

К вирусам данного типа относятся вирусы, которые при заражении переименовывают файл, запоминают его (для последующего запуска файла-хозяина) и записывают свой код на диск под именем заражаемого файла. Например, файл Notepad.exe переименовывается в Notepad.exd, а вирус записывается под именем Notepad.exe. При запуске управление получает код вируса, который затем запускает оригинальный Notepad, ехе, который был переименован в Notepad.exd.

Существуют и другие типы вирусов-компаньонов, использующих иные оригинальные идеи или особенности операционных систем. Например, path-компаньоны размещают свои копии в основном каталоге Windows, используя тот факт, что этот каталог является первым в списке переменной окружения Path и файлы для запуска Windows в первую очередь будут искать именно его (этот каталог). Данным способом собственного запуска пользуются также многие программы- черви и троянские программы.

Вирусы с прочими способами заражения. Существуют вирусы, которые никоим образом не связывают свое присутствие с каким- либо исполняемым файлом. При размножении они всего лишь копируют свой код в какие-либо каталоги дисков «в надежде», что эти новые копии будут когда-либо запущены пользователем. Иногда эти вирусы дают своим копиям «специальные» имена, чтобы подтолкнуть пользователя на запуск своей копии: например, Install.exe или Winstart.bat.

Некоторые вирусы записывают свои копии в архивы (Arj, Zip, Rar), другие записывают команду запуска зараженного файла в бат-файлы (bat-файлы). Link-вирусы также не изменяют физического содержимого файлов, однако при запуске зараженного файла «заставляют» ОС выполнить свой код. Этой цели они достигают модификацией необходимых полей файловой системы.

Классификация компьютерных вирусов по критерию «степень и способ маскировки» включает:

  • вирусы, не использующие средств маскировки;
  • stealth-вирусы — вирусы, пытающиеся быть невидимыми на основе контроля доступа к зараженным элементам данных;
  • вирусы-мутанты (MtE-вирусы) — вирусы, содержащие в себе алгоритмы шифрования, обеспечивающие различие разных копий вируса.

В свою очередь, MtE-вирусы подразделяются на две группы:

  • — обычные вирусы-мутанты, в разных копиях которых различаются только зашифрованные тела, а дешифрованные тела вирусов совпадают;
  • — полиморфные вирусы, в разных копиях которых различаются не только зашифрованные, но и их дешифрованные тела.

Наиболее распространенные типы вирусов характеризуются следующими основными особенностями.

Файловый транзитный вирус целиком размещается в исполняемом файле, в связи с чем он активируется только в случае активирования вирусоносителя, а по выполнении необходимых действий возвращает управление самой программе. При этом выбор очередного файла для заражения осуществляется вирусом посредством поиска по каталогу.

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

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

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

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

Полиморфные вирусы содержат алгоритм порождения дешифрованных тел вирусов, непохожих друг на друга. При этом в алгоритмах дешифрования могут встречаться обращения практически ко всем командам процессора Intel и даже использоваться некоторые специфические особенности его реального режима функционирования.

Макровирусы распространяются под управлением прикладных программ, что делает их независимыми от операционной системы. Наибольшее число макровирусов функционируют под управлением системы ОС Windows. В то же время известны макровирусы, работающие под управлением и других операционных систем.

Вирусные «скрипты» (скрипт-вирусы) — вирусы, написанные на языках Visual Basic Script, Java Script, BAT и др. Эти вредоносные программы могут как располагаться в отдельных файлах, так и встраиваться в HTML-документ и в таком случае интерпретироваться браузером (причем не только с удаленного сервера, но и с локального диска).

  • VBS-вирусы, написанные на языке Visual Basic Script;
  • JS-вирусы, написанные на языке Java Script;
  • ВАТ-вирусы, написанные на языке командного интерпретатора MS-DOS (на ВАТ-языке);
  • PIF-eupyc в формате PIF(Program Information File);
  • WScript-черви, как правило, встроенные в HTML-файлы;
  • РНР-скрипт-вирусы, написанные на языке РНР, либо вирусы, заражающие РНР-файлы;
  • HTML-вирусы, встраиваемые в HTML-страницы;
  • Perl-вирусы, написанные на языке Perl.

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

Сетевые черви — вредоносные программы, самостоятельно распространяющиеся через локальные и глобальные компьютерные сети. Классификация программ-червей включает:

  • почтовые программы-черви (Email-Worms) — вредоносные программы, использующие для своего распространения электронную почту. При этом червь отсылает либо свою копию в виде вложения в электронное письмо, либо ссылку на свой файл, расположенный на каком-либо веб-сервере;
  • программы-черви, использующие интернет-пейджеры (IM- Worms) — вредоносные программы, использующие для своего распространения рассылку на обнаруженные контакты из контакт-листа интернет-пейджера (программы ICQ, MSN Messenger, Yahoo Messenger, Google Talk, AOL Instant Messenger, Trillian, Miranda, QIP и др.) сообщений, содержащих ссылку на свой файл;
  • программы-черви в IRC-каналах (IRC-Worms) — вредоносные программы, которые распространяются, используя среду IRC каналов СInternet Relayed Chat channels);
  • классические сетевые программы-черви (Net-Worms) — вредоносные программы, использующие для своего распространения уязвимости в операционных системах и прикладном ПО или распространяющиеся с помощью копирования себя на сетевые ресурсы;
  • программы-черви для файлообменных сетей (P2P-Worms) — вредоносные программы, использующие для своего распространения Р2Р-сети (распространяющиеся с помощью программ eMule, eDonkey, Kazzaa, DC++, BitTorrent, Gnutella, FastTrack и др.);
  • вирусные черви — вредоносные программы, которые незаметно перемещаются между узлами вычислительной сети, не нанося никакого вреда до тех пор, пока не доберутся до целевого узла. В нем программа размещается и перестает размножаться.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

0

В чем состоит принцип работы вируса

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

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

В обиходе «вирусами» называют всё вредоносное ПО [1] , хотя на самом деле это лишь один его вид.

Содержание

История [ править | править код ]

Основы теории самовоспроизводящихся механизмов заложил американец венгерского происхождения Джон фон Нейман, который в 1951 году предложил метод создания таких механизмов. С 1961 года известны рабочие примеры таких программ [2] .

Первыми известными вирусами являются Virus 1,2,3 и Elk Cloner для ПК Apple II, появившиеся в 1981 году. Зимой 1984 года появились первые антивирусные утилиты — CHK4BOMB и BOMBSQAD авторства Энди Хопкинса (англ. Andy Hopkins ). В начале 1985 года Ги Вонг (англ. Gee Wong ) написал программу DPROTECT — первый резидентный антивирус.

Первые вирусные эпидемии относятся к 1986-1989 годам: Brain (распространялся в загрузочных секторах дискет, вызвал крупнейшую эпидемию), Jerusalem [en] (проявился в пятницу 13 мая 1988 года, уничтожая программы при их запуске [3] ), червь Морриса (свыше 6200 компьютеров, большинство сетей вышло из строя на срок до пяти суток), DATACRIME (около 100 тысяч заражённых ПЭВМ только в Нидерландах).

Тогда же оформились основные классы двоичных вирусов: сетевые черви (червь Морриса, 1987), «троянские кони» (A >[4] ), полиморфные вирусы (Chameleon, 1990), стелс-вирусы (Frodo, Whale, 2-я половина 1990).

Параллельно оформляются организованные движения как про-, так и антивирусной направленности: в 1990 году появляются специализированная BBS Virus Exchange, «Маленькая чёрная книжка о компьютерных вирусах» Марка Людвига, первый коммерческий антивирус Symantec Norton AntiVirus.

В 1992 году появились первый конструктор вирусов для PC — VCL (для Amiga конструкторы существовали и ранее), а также готовые полиморфные модули (MtE, DAME и TPE) и модули шифрования для встраивания в новые вирусы.

В несколько последующих лет были окончательно отточены стелс- и полиморфные технологии (SMEG.Pathogen, SMEG.Queeg, OneHalf, 1994; NightFall, Nostradamus, Nutcracker, 1995), а также испробованы самые необычные способы проникновения в систему и заражения файлов (Dir II — 1991, PMBS, Shadowgard, Cruncher — 1993). Кроме того, появились вирусы, заражающие объектные файлы (Shifter, 1994) и исходные тексты программ (SrcVir, 1994). С распространением пакета Microsoft Office получили распространение макровирусы (Concept, 1995).

В 1996 году появился первый вирус для Windows 95 — Win95.Boza, а в декабре того же года — первый резидентный вирус для неё — Win95.Punch.

С распространением сетей и Интернета файловые вирусы всё больше ориентируются на них как на основной канал работы (ShareFun, 1997 — макровирус MS Word, использующий MS-Mail для распространения; Win32.HLLP.DeTroie, 1998 — семейство вирусов-шпионов; Melissa, 1999 — макровирус и сетевой червь, побивший все рекорды по скорости распространения). Эру расцвета «троянских коней» открывает утилита скрытого удалённого администрирования BackOrifice (1998) и последовавшие за ней аналоги (NetBus, Phase).

Вирус Win95.CIH достиг апогея в применении необычных методов, перезаписывая FlashBIOS заражённых машин (эпидемия в июне 1998 считается самой разрушительной за предшествующие годы).

В конце 1990-x — начале 2000-x годов с усложнением ПО и системного окружения, массовым переходом на сравнительно защищённые Windows семейства NT, закреплением сетей как основного канала обмена данными, а также успехами антивирусных технологий в обнаружении вирусов, построенных по сложным алгоритмам, последние стали всё больше заменять внедрение в файлы на внедрение в операционную систему (необычный автозапуск, руткиты) и подменять полиморфизм огромным количеством видов (число известных вирусов растет экспоненциально).

Вместе с тем обнаружение в Windows и другом распространённом ПО многочисленных уязвимостей открыло дорогу червям-эксплоитам. В 2004 году беспрецедентные по масштабам эпидемии вызывают MsBlast (по данным Microsoft, более 16 млн систем [5] ), Sasser и Mydoom (оценочные ущербы 500 млн и 4 млрд долл. соответственно [6] ).

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

В начале на основе троянских программ, а с развитием технологий p2p-сетей — и самостоятельно — набирает обороты самый современный вид вирусов — черви-ботнеты (Rustock, 2006, ок. 150 тыс. ботов; Conficker, 2008—2009, более 7 млн ботов; Kraken, 2009, ок. 500 тыс. ботов). Вирусы в числе прочего вредоносного ПО окончательно оформляются как средство киберпреступности.

Этимология названия [ править | править код ]

Компьютерный вирус был назван по аналогии с биологическими вирусами за сходный механизм распространения. По-видимому, впервые слово «вирус» по отношению к программе было употреблено Грегори Бенфордом (Gregory Benford) в фантастическом рассказе «Человек в шрамах» [7] , опубликованном в журнале Venture в мае 1970 года.

Термин «компьютерный вирус» впоследствии не раз «открывался» и переоткрывался. Так, переменная в подпрограмме PERVADE (1975), от значения которой зависело, будет ли программа ANIMAL распространяться по диску, называлась VIRUS. Также вирусом назвал свои программы Джо Деллинджер, и, вероятно, это и было то, что впервые было правильно обозначено как вирус.

Формальное определение [ править | править код ]

Нет общепринятого определения вируса. В академической среде термин был употреблён Фредом Коэном в его работе «Эксперименты с компьютерными вирусами» [8] [9] , где он сам приписывает авторство термина Леонарду Адлеману [10] [11] .

Формально вирус определён Фредом Коэном со ссылкой на машину Тьюринга следующим образом [12] :

с заданным множеством состояний SM, множеством входных символов IM и отображений (OM, NM, DM), которая на основе своего текущего состояния s ∈ SM и входного символа i ∈ IM, считанного с полубесконечной ленты, определяет: выходной символ o ∈ IM для записи на ленту, следующее состояние машины s’ ∈ SM и движения по ленте d ∈ .

Для данной машины M последовательность символов v : vi ∈ IM может быть сочтена вирусом тогда и только тогда, когда обработка последовательности v в момент времени t влечёт за собой то, что в один из следующих моментов времени t последовательность v′ (не пересекающаяся с v) существует на ленте, и эта последовательность v′ была записана M в точке t′, лежащей между t и t″:

  • t ∈ N число базовых операций «перемещения», осуществлённых машиной
  • PMN номер позиции на ленте машины в момент времени t
  • SM начальное состояние машины
  • CM(t, c) содержимое ячейки c в момент времени t

Данное определение было дано в контексте вирусного множества VS = (M, V) — пары, состоящей из машины Тьюринга M и множества последовательностей символов V: v, v’ ∈ V. Из данного определения следует, что понятие вируса неразрывно связано с его интерпретацией в заданном контексте, или окружении.

Фредом Коэном было показано [12] , что «любая самовоспроизводящаяся последовательность символов: одноэлементный VS, согласно которой существует бесконечное количество VS, и не-VS, для которых существуют машины, по отношению к которым все последовательности символов является вирусом, и машин, для которых ни одна из последовательностей символов не является вирусом, даёт возможность понять, когда любая конечная последовательность символов является вирусом для какой-либо машины». Он также приводит доказательство того, что в общем виде вопрос о том, является ли данная пара (M, X) : Xi ∈ IM вирусом, неразрешим (то есть не существует алгоритма, который мог бы достоверно определить все вирусы) теми же средствами, которыми доказывается неразрешимость проблемы остановки [13] .

Другие исследователи доказали, что существуют такие типы вирусов (вирусы, содержащие копию программы, улавливающей вирусы), которые не могут быть безошибочно определены ни одним алгоритмом.

Классификация [ править | править код ]

Ныне существует немало разновидностей вирусов, различающихся по основному способу распространения и функциональности. Если изначально вирусы распространялись на дискетах и других носителях, то сейчас доминируют вирусы, распространяющиеся через локальные и глобальные (Интернет) сети. Растёт и функциональность вирусов, которую они перенимают от других видов программ.

В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы:

  • по поражаемым объектам (файловые вирусы, загрузочные вирусы, сценарные вирусы, макровирусы, вирусы, поражающие исходный код);
  • файловые вирусы делят по механизму заражения: паразитирующие добавляют себя в исполняемый файл, перезаписывающие невосстановимо портят заражённый файл, «спутники» идут отдельным файлом.
  • по поражаемым операционным системам и платформам (DOS, Windows, Unix, Linux, Andro > Распространение [ править | править код ]

Через Интернет, локальные сети и съёмные носители.

Механизм [ править | править код ]

Вирусы распространяются, копируя своё тело и обеспечивая его последующее исполнение: внедряя себя в исполняемый код других программ, заменяя собой другие программы, прописываясь в автозапуск через реестр и другое. Вирусом или его носителем могут быть не только программы, содержащие машинный код, но и любая информация, содержащая автоматически исполняемые команды, — например, пакетные файлы и документы Microsoft Word и Excel, содержащие макросы. Кроме того, для проникновения на компьютер вирус может использовать уязвимости в популярном программном обеспечении (например, Adobe Flash, Internet Explorer, Outlook), для чего распространители внедряют его в обычные данные (картинки, тексты и т. д.) вместе с эксплойтом, использующим уязвимость.

После того как вирус успешно внедрился в коды программы, файла или документа, он будет находиться в состоянии сна, пока обстоятельства не заставят компьютер или устройство выполнить его код. Чтобы вирус заразил ваш компьютер, необходимо запустить заражённую программу, которая, в свою очередь, приведёт к выполнению кода вируса. Это означает, что вирус может оставаться бездействующим на компьютере без каких-либо симптомов поражения. Однако, как только вирус начинает действовать, он может заражать другие файлы и компьютеры, находящиеся в одной сети. В зависимости от целей программиста-вирусописателя, вирусы либо причиняют незначительный вред, либо имеют разрушительный эффект, например удаление данных или кража конфиденциальной информации.

Каналы [ править | править код ]

  • Дискеты. Самый распространённый канал заражения в 1980—1990-е годы. Сейчас практически отсутствует из-за появления более распространённых и эффективных каналов и отсутствия флоппи-дисководов на многих современных компьютерах.
  • Флеш-накопители («флешки»). В настоящее время USB-накопители заменяют дискеты и повторяют их судьбу — большое количество вирусов распространяется через съёмные накопители, включая цифровые фотоаппараты, цифровые видеокамеры, портативные цифровые плееры, а с 2000-х годов всё большую роль играют мобильные телефоны, особенно смартфоны (появились мобильные вирусы). Использование этого канала ранее было преимущественно обусловлено возможностью создания на накопителе специального файла autorun.inf, в котором можно указать программу, запускаемую Проводником Windows при открытии такого накопителя. В Windows 7 возможность автозапуска файлов с переносных носителей была отключена.
  • Электронная почта. Обычно вирусы в письмах электронной почты маскируются под безобидные вложения: картинки, документы, музыку, ссылки на сайты. В некоторых письмах могут содержаться действительно только ссылки, то есть в самих письмах может и не быть вредоносного кода, но если открыть такую ссылку, то можно попасть на специально созданный веб-сайт, содержащий вирусный код. Многие почтовые вирусы, попав на компьютер пользователя, затем используют адресную книгу из установленных почтовых клиентов типа Outlook для рассылки самого себя дальше.
  • Системы обмена мгновенными сообщениями. Здесь также распространена рассылка ссылок на якобы фото, музыку либо программы, в действительности являющиеся вирусами, по ICQ и через другие программы мгновенного обмена сообщениями.
  • Веб-страницы. Возможно также заражение через страницы Интернета ввиду наличия на страницах всемирной паутины различного «активного» содержимого: скриптов, ActiveX-компонент. В этом случае используются уязвимости программного обеспечения, установленного на компьютере пользователя, либо уязвимости в ПО владельца сайта (что опаснее, так как заражению подвергаются добропорядочные сайты с большим потоком посетителей), а ничего не подозревающие пользователи, зайдя на такой сайт, рискуют заразить свой компьютер.
  • Интернет и локальные сети (черви). Черви — вид вирусов, которые проникают на компьютер-жертву без участия пользователя. Черви используют так называемые «дыры» (уязвимости) в программном обеспечении операционных систем, чтобы проникнуть на компьютер. Уязвимости — это ошибки и недоработки в программном обеспечении, которые позволяют удалённо загрузить и выполнить машинный код, в результате чего вирус-червь попадает в операционную систему и, как правило, начинает действия по заражению других компьютеров через локальную сеть или Интернет. Злоумышленники используют заражённые компьютеры пользователей для рассылки спама или для DDoS-атак.
Читайте также:  Йогуртница с таймером отключения

Противодействие обнаружению [ править | править код ]

Во времена MS-DOS были распространены стелс-вирусы, перехватывающие прерывания для обращения к операционной системе. Вирус таким образом мог скрывать свои файлы из дерева каталогов или подставлять вместо заражённого файла исходную копию.

С широким распространением антивирусных сканеров, проверяющих перед запуском любой код на наличие сигнатур или выполнение подозрительных действий, этой технологии стало недостаточно. Скрытие вируса из списка процессов или дерева каталогов для того, чтобы не привлекать лишнее внимание пользователя, является базовым приёмом, однако для борьбы с антивирусами требуются более изощрённые методы. Для противодействия сканированию на наличие сигнатур применяется шифрование кода и полиморфизм. Эти техники часто применяются вместе, поскольку для расшифрования зашифрованной части вируса необходимо оставлять расшифровщик незашифрованным, что позволяет обнаруживать его по сигнатуре. Поэтому для изменения расшифровщика применяют полиморфизм — модификацию последовательности команд, не изменяющую выполняемых действий. Это возможно благодаря весьма разнообразной и гибкой системе команд процессоров Intel, в которой одно и то же элементарное действие, например сложение двух чисел, может быть выполнено несколькими последовательностями команд.

Также применяется перемешивание кода, когда отдельные команды случайным образом разупорядочиваются и соединяются безусловными переходами. Передовым фронтом вирусных технологий считается метаморфизм, который часто путают с полиморфизмом. Расшифровщик полиморфного вируса относительно прост, его функция — расшифровать основное тело вируса после внедрения, то есть после того, как его код будет проверен антивирусом и запущен. Он не содержит самого полиморфного движка, который находится в зашифрованной части вируса и генерирует расшифровщик. В отличие от этого, метаморфный вирус может вообще не применять шифрование, поскольку сам при каждой репликации переписывает весь свой код [14] .

Профилактика и лечение [ править | править код ]

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

  1. Не работать под привилегированными учётными записями без крайней необходимости (учётная запись администратора в Windows).
  2. Не запускать незнакомые программы из сомнительных источников.
  3. Стараться блокировать возможность несанкционированного изменения системных файлов.
  4. Отключать потенциально опасную функциональность системы (например, autorun-носителей в MS Windows, сокрытие файлов, их расширений и пр.).
  5. Не заходить на подозрительные сайты, обращать внимание на адрес в адресной строке обозревателя.
  6. Пользоваться только доверенными дистрибутивами.
  7. Постоянно делать резервные копии важных данных, желательно на носители, которые не стираются (например, BD-R) и иметь образ системы со всеми настройками для быстрого развёртывания.
  8. Выполнять регулярные обновления часто используемых программ, особенно тех, которые обеспечивают безопасность системы.

Экономика [ править | править код ]

Некоторые производители антивирусов утверждают, что сейчас создание вирусов превратилось из одиночного хулиганского занятия в серьёзный бизнес, имеющий тесные связи с бизнесом спама и другими видами противозаконной деятельности. [15]

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

Криминализация [ править | править код ]

Создателю вируса Scores, нанесшего в 1988 ущерб пользователям компьютеров Macintosh, не было предъявлено обвинений, поскольку его действия не подпадали под имеющийся на тот момент в США закон Computer Fraud and Abuse Act либо другие законы. Этот случай привёл к разработке одного из первых законов, имеющих отношение к компьютерным вирусам: Computer Virus Eradication Act (1988) [17] . Сходным образом создатель самого разрушительного вируса ILOVEYOU в 2000 году избежал наказания из-за отсутствия на Филиппинах соответствующих ситуации законов [18] .

Создание и распространение вредоносных программ (в том числе вирусов) преследуется в некоторых странах как отдельный вид правонарушений: в России согласно Уголовному кодексу РФ (глава 28, статья 273), в США согласно Computer Fraud and Abuse Act, в Японии [19] . Во многих странах, однако, создание вирусов само по себе не является преступлением, и нанесенный ими вред подпадает под более общие законы о компьютерных правонарушениях [20] .

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

Определение компьютерного вируса — исторически проблемный вопрос, поскольку достаточно сложно дать четкое определение вируса, очертив при этом свойства, присущие только вирусам и не касающиеся других программных систем. Наоборот, давая жесткое определение вируса как программы, обладающей определенными свойствами, практически сразу же можно найти пример вируса, таковыми свойствами не обладающего.Приведу несколько формулировок определения:Хронологически наиболее раннее определение от Евгения Касперского (книга "Компьютерные вирусы"):

Определение 1: ОБЯЗАТЕЛЬНЫМ (НЕОБХОДИМЫМ) СВОЙСТВОМ КОМПЬЮТЕРНОГО ВИРУСА является возможность создавать свои дубликаты (не обязательно совпадающие с оригиналом) и внедрять их в вычислительные сети и/или файлы, системные области компьютера и прочие выполняемые объекты. При этом дубликаты сохраняют способность к дальнейшему распространению.

Определение по ГОСТ Р 51188-98:
Определение 2: Вирус — программа, способная создавать свои копии (необязательно совпадающие с оригиналом) и внедрять их в файлы, системные области компьютера, компьютерных сетей, а также осуществлять иные деструктивные действия. При этом копии сохраняют способность дальнейшего распространения. Компьютерный вирус относится к вредоносным программам. Легко заметить, что определение в ГОСТ практически полностью повторяет определение Е. Касперского.

Определения 1 и 2 в большой степени повторяют определение Ф. Коэна или уточнение, предложенное Д. Чессом и С. Вайтом, что позволяет распространить на них (определения) вывод о невозможности создать алгоритм, обнаруживающий все такие программы или даже все "инкарнации" одного из вирусов. Тем не менее, на практике оказывается, что все известные вирусы могут быть обнаружены антивирусными программами. Результат достигается в частности еще и за счет того, что поврежденные или неудачные экземпляры вирусов, неспособные к созданию и внедрению своих копий, обнаруживаются и классифицируются наравне со всеми остальными "полноценными" вирусами. Следовательно, с практической точки зрения, т. е. с точки зрения алгоритмов поиска, способность к размножению вовсе не является обязательной для причисления программы к вирусам.Другая проблема, связанная с определением компьютерного вируса кроется в том, что сегодня под вирусом чаще всего понимается не "традиционный" вирус, а практически любая вредоносная программа. Это приводит к путанице в терминологии, осложненной еще и тем, что практически все современные антивирусы способны выявлять указанные типы вредоносных программ, таким образом ассоциация "вредоносная программа-вирус" становится все более устойчивой.Исходя из этого, а также из назначения антивирусных средств, в дальнейшем, если это не будет оговорено отдельно, под вирусами будут подразумеваться именно вредоносные программы.

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

Компьютерные вирусы, трояны и черви являются основными типами вредоносных программ.
Вирусы

Классические определения компьютерного вируса приведены выше.

Поскольку отличительной особенностью вирусов в традиционном смысле является способность к размножению в рамках одного компьютера, деление вирусов на типы происходит в соответствии со способами размножения.Сам процесс размножения может быть условно разделен на несколько стадий:

1. Проникновение на компьютер 2. Активация вируса3. Поиск объектов для заражения4. Подготовка вирусных копий5. Внедрение вирусных копий

Особенности реализации каждой стадии порождают атрибуты, набор которых фактически и определяет класс вируса.

Вирусы проникают на компьютер вместе с зараженными файлами или другими объектами (загрузочными секторами дискет), никак, в отличие от червей, не влияя на процесс проникновения. Следовательно, возможности проникновения полностью определяются возможностями заражения и классифицировать вирусы по этим стадиям жизненного цикла отдельно смысла нет.

Для активации вируса необходимо, чтобы зараженный объект получил управление. На данной стадии деление вирусов происходит по типам объектов, которые могут быть заражены:

1.Загрузочные вирусы – вирусы, заражающие загрузочные сектора постоянных и сменных носителей.

2.Файловые вирусы —вирусы, заражающие файлы. Эта группа дополнительно делится на три, в зависимости от среды в которой выполняется код:

· Собственно файловые вирусы — те, которые непосредственно работают с ресурсами операционной системы.Из последних вредоносных программ, обладающих вирусной функциональностью, можно отметить Email-Worm.Win32.Bagle.p (а также его модификации .q и .r).

· Макровирусы — вирусы, написанные на языке макрокоманд и исполняемые в среде какого-либо приложения. В подавляющем большинстве случаев речь идет о макросах в документах Microsoft Office.

Макро-вирусы способны заражать не только документы Microsoft Word и Excel. Существуют вредоносные программы ориентированные и на другие типы документов: Macro.Visio.Radiant заражает файлы известной программы для построения диаграмм -Visio, Virus.Acad.Pobresito – документы AutoCAD, Macro.AmiPro.Green – документы популярного раньше текстового процессора Ami Pro.

· Скрипт-вирусы — вирусы, исполняемые в среде определенной командной оболочки: раньше – bat-файлы в командной оболочке DOS, сейчас чаще VBS и JS – скрипты в командной оболочке Windows Scripting Host (WSH).Отдельно стоит отметить тот факт, что вирусы, рассчитанные для работы в среде определенной ОС или приложения, оказываются неработоспособными в среде других ОС и приложений. Поэтому как отдельный атрибут вируса выделяется среда, в которой он способен выполняться. Для файловых вирусов это DOS, Windows, Linux, MacOS, OS/2. Для макровирусов – Word, Excel, PowerPoint, Office. Иногда вирусу требуется для корректной работы какая-то определенная версия ОС или приложения, тогда атрибут указывается более узко: Win9x, Excel97.

Читайте также:  Игры про больницу на пк список

Поиск жертв На стадии поиска объектов для заражения встречается два способа поведения вирусов.1.Получив управление, вирус производит разовый поиск жертв, после чего передает управление ассоциированному с ним объекту (зараженному объекту).2.Получив управление, вирус так или иначе остается в памяти и производит поиск жертв непрерывно, до завершения работы среды, в которой он выполняетсяВирусы второго типа во времена однозадачной DOS было принято называть резидентными. С переходом на Windows проблема остаться в памяти перестала быть актуальной: практически все вирусы, исполняемые в среде Windows, равно как и в среде приложений MS Office, являются вирусами второго типа. И напротив, скрипт-вирусы являются вирусами первого типа. Соответственно, атрибут резидентный применим только к файловым DOS вирусам. Существование нерезидентных Windows вирусов возможно, но на практике они являются редким исключением.Отдельно имеет смысл рассмотреть так называемые stealth-вирусы – вирусы, которые находясь постоянно в памяти, перехватывают обращения к зараженному файлу и на ходу удаляют из него вирусный код, передавая в ответ на запрос неизмененную версию файла. Таким образом эти вирусы маскируют свое присутствие в системе. Для их обнаружения антивирусным средствам требуется возможность прямого обращения к диску в обход средств операционной системы. Наибольшее распространение Stealth-вирусы получили во времена DOS.

Подготовка вирусных копий

Определение 4: Сигнатура вируса — в широком смысле, информация, позволяющая однозначно определить наличие данного вируса в файле или ином коде. Примерами сигнатур являются: уникальная последовательность байт, присутствующая в данном вирусе и не встречающаяся в других программах; контрольная сумма такой последовательности. Процесс подготовки копий для распространения может существенно отличаться от простого копирования. Авторы наиболее сложных в технологическом плане вирусов стараются сделать разные копии максимально непохожими для усложнения их обнаружения антивирусными средствами. Как следствие, составление сигнатуры для такого вируса крайне затруднено либо вовсе невозможно.

Внедрение вирусных копий может осуществляться двумя принципиально разными методами:

· Внедрение вирусного кода непосредственно в заражаемый объект · Замена объекта на вирусную копию. Замещаемый объект, как правило, переименовывается

Для вирусов характерным является преимущественно первый метод. Второй метод намного чаще используется червями и троянами, а точнее троянскими компонентами червей, поскольку трояны сами по себе не распространяются.

Ущерб от вредоносных программ

Черви и вирусы могут осуществлять все те же действия, что и трояны. На уровне реализации это могут быть как отдельные троянские компоненты, так и встроенные функции. Кроме этого, за счет массовости, для вирусов и червей характерны также другие формы вредоносных действий:

· Перегрузка каналов связи — свойственный червям вид ущерба, связанный с тем, что во время масштабных эпидемий по Интернет-каналам передаются огромные количества запросов, зараженных писем или непосредственно копий червя. В ряде случаев, пользование услугами Интернет во время эпидемии становится затруднительным. Примеры: Net-Worm.Win32.Slammer · DDoS атаки — благодаря массовости, черви могут эффективно использоваться для реализации распределенных атак на отказ в обслуживании (DDoS атак). В разгар эпидемии, когда зараженными являются миллионы и даже десятки миллионов компьютеров, обращение всех инфицированных систем к определенному Интернет ресурсу приводит к полному блокированию этого ресурса. Так, во время атаки червя MyDoom сайт компании SCO был недоступен в течение месяца. · Потеря данных — более характерное для вирусов, чем для троянов и червей, поведение, связанное с намеренным уничтожением определенных данных на компьютере пользователя. Примеры: Virus.Win9x.CIH – удаление стартовых секторов дисков и содержимого Flash BIOS, Macro.Word97.Thus – удаление всех файлов на диске C:, Email-Worm.Win32.Mydoom.e – удаление файлов с определенными расширениями в зависимости от показателя счетчика случайных чисел· Нарушение работы ПО — также более свойственная вирусам черта. Из-за ошибок в коде вируса, зараженные приложения могут работать с ошибками или не работать вовсе. Примеры: Net-Worm.Win32.Sasser.a – перезагрузка зараженного компьютера· Загрузка ресурсов компьютера — интенсивное использование ресурсов компьютера вредоносными программами ведет к снижению производительности как системы в целом, так и отдельных приложений. Примеры: в разной степени – любые вредоносные программы

Наличие деструктивных действий вовсе не является обязательным критерием для классификации программного кода как вирусного. Следует также отметить, что одним только процессом саморазмножения вирус способен причинить колоссальный ущерб. Наиболее яркий пример – Net-Worm.Win32.Slammer.

Угрозы безопасности информации

Рассмотрим угрозы безопасности информации с точки зрения вирусов. Учитывая тот факт, что общее число вирусов по состоянию на сегодня превосходит 100000, проанализировать угрозы со стороны каждого из них является слишком трудоемкой и бесполезной задачей, поскольку ежедневно возрастает количество вирусов, а значит, необходимо ежедневно модифицировать полученный список. Будем считать, что вирус способен реализовать любую из угроз безопасности информации.Существует множество способов классификации угроз безопасности информации, которая обрабатывается в автоматизированной системе. Наиболее часто используется классификация угроз по результату их влияния на информацию, а именно – нарушение конфиденциальности, целостности и доступности.Для каждой угрозы существует несколько способов ее реализации со стороны вирусов.

Угроза нарушения конфиденциальности

· Кража информации и ее распространение с помощью штатных средств связи либо скрытых каналов передачи: Email-Worm.Win32.Sircam – рассылал вместе с вирусными копиями произвольные документы, найденные на зараженном компьютере

· Кража паролей доступа, ключей шифрования и пр.: любые трояны, крадущие пароли, Trojan-PSW.Win32.LdPinch.gen· Удаленное управление: Backdoor.Win32.NetBus, Email-Worm.Win32.Bagle (backdoor-функциональность)

Угроза нарушения целостности

· Модификация без уничтожения (изменение информации): любой паразитирующий вирус· Модификация посредством уничтожения либо шифрации (удаление некоторых типов документов): Virus.DOS.OneHalf – шифрование содержимого диска, Virus.Win32.Gpcode.f – шифрует файлы с определенными расширениями, после чего самоуничтожается, оставляя рядом с зашифрованными файлами координаты для связи по вопросам расшифровки файлов· модификация путем низкоуровневого уничтожения носителя (форматирование носителя, уничтожение таблиц распределения файлов): Virus.MSWord.Melissa.w – 25 декабря форматирует диск C:

Угроза нарушения доступности

· Загрузка каналов передачи данных большим числом пакетов: Net-Worm.Win32.Slammer – непрерывная рассылка инфицированных пакетов в бесконечном цикле

· Любая деятельность, результатом которой является невозможность доступа к информации; различные звуковые и визуальные эффекты: Email-Worm.Win32.Bagle.p – блокирование доступа к сайтам антивирусных компаний

· Вывод компьютера из строя путем уничтожения либо порчи критических составляющих (уничтожение Flash BIOS): Virus.Win9x.CIH – порча Flash BIOSКак несложно было убедиться, для каждого из приведенных выше способов реализации угроз можно привести конкретный пример вируса, реализующего один или одновременно несколько способов.

Вредоносные программы отличаются условиями существования, применяемыми технологиями на различных этапах жизненного цикла, собственно вредоносным воздействием – все эти факторы и являются основой для классификации. В результате по основному (с исторической точки зрения) признаку – размножению, вредоносные программы делятся на три типа: собственно вирусы, черви и трояны.Независимо от типа, вредоносные программы способны наносить значительный ущерб, реализуя любые угрозы информации – угрозы нарушения целостности, конфиденциальности, доступности. В связи с этим при проектировании комплексных систем антивирусной защиты, и даже в более общем случае – комплексных системы защиты информации, необходимо проводить градацию и классифицировать объекты сети по важности обрабатываемой на них информации и по вероятности заражения этих узлов вирусами.

Физическая структура компьютерного вируса достаточно проста, поскольку состоит из головы и, возможно, хвоста. Голова вируса — компонента вируса, получающая управление первой. Хвост — это часть вируса, расположенная в коде зараженной программы отдельно от головы. Вирусы, состоящие из одной головы, называют несегмен- тированными; вирусы, содержащие голову и хвост, — сегментированными.

Жизненный цикл вируса обычно включает следующие периоды:

  • • внедрение;
  • • инкубационный период;
  • • период репликации (саморазмножение);
  • • проявление.

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

Принцип работы вируса.

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

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

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

Наиболее существенные признаки компьютерных вирусов позволяют классифицировать последние по четырем критериям.

Классификация компьютерных вирусов по критерию «режим функционирования» включает:

  • резидентные вирусы — вирусы, которые после активации постоянно находятся в оперативной памяти компьютера и контролируют доступ к его ресурсам;
  • транзитные вирусы — вирусы, которые выполняются только в момент запуска зараженной программы.

Классификация компьютерных вирусов по критерию «объект внедрения» такова:

файловые вирусы — вирусы, заражающие файлы.

В свою очередь, файловые вирусы подразделяются на вирусы, заражающие:

  • — исполняемые файлы;
  • — командные файлы;
  • — файлы, составляемые на макроязыках программирования, или файлы, содержащие макросы (макровирусы);
  • — файлы с драйверами устройств;
  • — файлы с библиотеками исходных, объектных, загрузочных и оверлейных модулей, с библиотеками динамической компоновки и т.п.;
  • загрузочные (бутовые) вирусы — вирусы, заражающие код, хранящийся в системных областях дисков.

Загрузочные вирусы подразделяются на вирусы, заражающие:

  • — системный загрузчик, расположенный в загрузочном секторе логических дисков;
  • — внесистемный загрузчик, расположенный в загрузочном секторе жестких дисков.

Классификация компьютерных вирусов по критерию «способ заражения» представляет:

  • перезаписывающие вирусы (overwriting);
  • паразитические вирусы (parasitic);
  • вирусы-компаньоны (companion);
  • вирусы-ссылки (.link);
  • вирусы, заражающие объектные модули (OBJ);
  • вирусы, заражающие библиотеки компиляторов (LIB);
  • вирусы, заражающие исходные тексты программ.

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

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

Основными типами таких вирусов являются вирусы, записывающиеся в начало файлов (prepending), в конец файлов (appending) и в середину файлов (inserting).

Внедрение вируса в начало файла. Известны два способа внедрения паразитического файлового вируса в начало файла. Первый способ заключается в том, что вирус переписывает начало заражаемого файла в его конец, а сам копируется на освободившееся место.

Читайте также:  Биметаллические радиаторы комфорт отзывы

При заражении файла вторым способом вирус дописывает заражаемый файл к своему телу. Таким образом, при запуске зараженного файла первым управление получает код вируса. При этом вирусы, чтобы сохранить работоспособность программы, либо лечат зараженный файл, повторно запускают его, ждут окончания его работы и снова записываются в его начало (иногда для этого используется временный файл, в который записывается обезвреженный файл), либо восстанавливают код программы в памяти компьютера и настраивают необходимые адреса в ее теле (т.е. дублируют работу ОС).

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

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

Часто используется метод cavity, при котором вирус записывается в заведомо неиспользуемые области файла. Вирус может быть скопирован в незадействованные области заголовка ЕХЕ-файла, в «дыры» между секциями ЕХЕ-файла или в область текстовых сообщений популярных компиляторов.

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

Вирусы без точки входа. Отдельно следует отметить довольно незначительную группу вирусов, не имеющих точки входа (ЕРО-вирусы — Entry Point Obscuring viruses). К ним относятся вирусы, не изменяющие адрес точки старта в заголовке ЕХЕ-файлов. Такие вирусы записывают команду перехода на свой код в какое-либо место в середину файла и получают управление не непосредственно при запуске зараженного файла, а при вызове процедуры, содержащей код передачи управления на тело вируса. Причем выполняться эта процедура может крайне редко (например, при выводе сообщения о какой- либо специфической ошибке). В результате вирус может долгие годы «спать» внутри файла и «проснуться» только при некоторых ограниченных условиях. Перед тем как записать в середину файла команду перехода на свой код, вирусу необходимо выбрать «правильный» адрес в файле — иначе зараженный файл может оказаться испорченным. Известно несколько способов, с помощью которых вирусы определяют такие адреса внутри файлов, например: поиск в файле последовательности стандартного кода заголовков процедур языков программирования (C/C++), дизассемблирование кода файла или замена адресов импортируемых функций и др.

Вирусы-компаньоны — это вирусы, не изменяющие заражаемых файлов. Алгоритм работы этих вредоносных программ состоит в том, что для заражаемого файла создается файл-двойник, причем при запуске зараженного файла управление получает именно этот двойник.

К вирусам данного типа относятся вирусы, которые при заражении переименовывают файл, запоминают его (для последующего запуска файла-хозяина) и записывают свой код на диск под именем заражаемого файла. Например, файл Notepad.exe переименовывается в Notepad.exd, а вирус записывается под именем Notepad.exe. При запуске управление получает код вируса, который затем запускает оригинальный Notepad, ехе, который был переименован в Notepad.exd.

Существуют и другие типы вирусов-компаньонов, использующих иные оригинальные идеи или особенности операционных систем. Например, path-компаньоны размещают свои копии в основном каталоге Windows, используя тот факт, что этот каталог является первым в списке переменной окружения Path и файлы для запуска Windows в первую очередь будут искать именно его (этот каталог). Данным способом собственного запуска пользуются также многие программы- черви и троянские программы.

Вирусы с прочими способами заражения. Существуют вирусы, которые никоим образом не связывают свое присутствие с каким- либо исполняемым файлом. При размножении они всего лишь копируют свой код в какие-либо каталоги дисков «в надежде», что эти новые копии будут когда-либо запущены пользователем. Иногда эти вирусы дают своим копиям «специальные» имена, чтобы подтолкнуть пользователя на запуск своей копии: например, Install.exe или Winstart.bat.

Некоторые вирусы записывают свои копии в архивы (Arj, Zip, Rar), другие записывают команду запуска зараженного файла в бат-файлы (bat-файлы). Link-вирусы также не изменяют физического содержимого файлов, однако при запуске зараженного файла «заставляют» ОС выполнить свой код. Этой цели они достигают модификацией необходимых полей файловой системы.

Классификация компьютерных вирусов по критерию «степень и способ маскировки» включает:

  • вирусы, не использующие средств маскировки;
  • stealth-вирусы — вирусы, пытающиеся быть невидимыми на основе контроля доступа к зараженным элементам данных;
  • вирусы-мутанты (MtE-вирусы) — вирусы, содержащие в себе алгоритмы шифрования, обеспечивающие различие разных копий вируса.

В свою очередь, MtE-вирусы подразделяются на две группы:

  • — обычные вирусы-мутанты, в разных копиях которых различаются только зашифрованные тела, а дешифрованные тела вирусов совпадают;
  • — полиморфные вирусы, в разных копиях которых различаются не только зашифрованные, но и их дешифрованные тела.

Наиболее распространенные типы вирусов характеризуются следующими основными особенностями.

Файловый транзитный вирус целиком размещается в исполняемом файле, в связи с чем он активируется только в случае активирования вирусоносителя, а по выполнении необходимых действий возвращает управление самой программе. При этом выбор очередного файла для заражения осуществляется вирусом посредством поиска по каталогу.

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

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

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

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

Полиморфные вирусы содержат алгоритм порождения дешифрованных тел вирусов, непохожих друг на друга. При этом в алгоритмах дешифрования могут встречаться обращения практически ко всем командам процессора Intel и даже использоваться некоторые специфические особенности его реального режима функционирования.

Макровирусы распространяются под управлением прикладных программ, что делает их независимыми от операционной системы. Наибольшее число макровирусов функционируют под управлением системы ОС Windows. В то же время известны макровирусы, работающие под управлением и других операционных систем.

Вирусные «скрипты» (скрипт-вирусы) — вирусы, написанные на языках Visual Basic Script, Java Script, BAT и др. Эти вредоносные программы могут как располагаться в отдельных файлах, так и встраиваться в HTML-документ и в таком случае интерпретироваться браузером (причем не только с удаленного сервера, но и с локального диска).

  • VBS-вирусы, написанные на языке Visual Basic Script;
  • JS-вирусы, написанные на языке Java Script;
  • ВАТ-вирусы, написанные на языке командного интерпретатора MS-DOS (на ВАТ-языке);
  • PIF-eupyc в формате PIF(Program Information File);
  • WScript-черви, как правило, встроенные в HTML-файлы;
  • РНР-скрипт-вирусы, написанные на языке РНР, либо вирусы, заражающие РНР-файлы;
  • HTML-вирусы, встраиваемые в HTML-страницы;
  • Perl-вирусы, написанные на языке Perl.

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

Сетевые черви — вредоносные программы, самостоятельно распространяющиеся через локальные и глобальные компьютерные сети. Классификация программ-червей включает:

  • почтовые программы-черви (Email-Worms) — вредоносные программы, использующие для своего распространения электронную почту. При этом червь отсылает либо свою копию в виде вложения в электронное письмо, либо ссылку на свой файл, расположенный на каком-либо веб-сервере;
  • программы-черви, использующие интернет-пейджеры (IM- Worms) — вредоносные программы, использующие для своего распространения рассылку на обнаруженные контакты из контакт-листа интернет-пейджера (программы ICQ, MSN Messenger, Yahoo Messenger, Google Talk, AOL Instant Messenger, Trillian, Miranda, QIP и др.) сообщений, содержащих ссылку на свой файл;
  • программы-черви в IRC-каналах (IRC-Worms) — вредоносные программы, которые распространяются, используя среду IRC каналов СInternet Relayed Chat channels);
  • классические сетевые программы-черви (Net-Worms) — вредоносные программы, использующие для своего распространения уязвимости в операционных системах и прикладном ПО или распространяющиеся с помощью копирования себя на сетевые ресурсы;
  • программы-черви для файлообменных сетей (P2P-Worms) — вредоносные программы, использующие для своего распространения Р2Р-сети (распространяющиеся с помощью программ eMule, eDonkey, Kazzaa, DC++, BitTorrent, Gnutella, FastTrack и др.);
  • вирусные черви — вредоносные программы, которые незаметно перемещаются между узлами вычислительной сети, не нанося никакого вреда до тех пор, пока не доберутся до целевого узла. В нем программа размещается и перестает размножаться.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *