logo search
Информатика_ЗФ / 2013_Информатика УМО_легпром

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

Особую опасность в настоящее время представляет проблема компьютерных вирусов, так как с учетом большого быстрорастущего числа разновидностей вирусов (в сентябре 2008 г. – около полумиллиона, а в сентябре 2012 г. – уже более трёх миллионов) надежной защиты против них разработать не удается. Все остальные пути несанкционированного доступа поддаются надежной блокировке при правильно разработанной и реализуемой на практике системе обеспечения безопасности.

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

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

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

Файловые вирусы различными способами внедряются в выполняемые файлы (первоначально – наиболее распространенный тип вирусов).

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

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

Макровирусы являются программами на макроязыках, встроенных в некоторые системы обработки данных (текстовые редакторы, электронные таблицы и т.д.). Наибольшее распространение получили макровирусы для Microsoft Word, Excel и остальных программ MS Office. Существуют также макровирусы, заражающие документы текстового редактора AmiPro, графического редактора CorelDRAW и системы автоматического проектирования AutoCAD.

Сетевые вирусы, их также называют сетевыми червями (worms), используют для своего распространения протоколы или команды компьютерных сетей и электронной почты. Основным принципом работы сетевого вируса является возможность самостоятельно (не заражая других файлов) передать свой код на удаленный сервер или рабочую станцию. Первый массовый сетевой вирус был создан Робертом Морриса в 1988 г. Червь Морриса поразил за которкое время тысячи компьютеров. В результате вирусной атаки большинство сетей вышло из строя на срок до пяти суток.

Заражаемая операционная система(ОС или платформа, объекты которой подвержены заражению) является вторым уровнем деления вирусов на классы. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких ОС (DOS, OS/2, Windows, Unix, Linux и т.д.). Макровирусы заражают файлы форматов Word, Excel, MS Office. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.

По особенностям алгоритма работывирусов выделяются следующие разновидности:

Использование стелс-алгоритмов позволяет вирусам полностью или частично скрыть себя в заражённой системе. Наиболее распространенным стелс-алгоритмом является перехват запросов OC на чтение/запись зараженных объектов (загрузочных секторов, элементов файловой системы, памяти и т. д.). Стелс-вирусы при этом временно лечат их, либо «подставляют» вместо себя незараженные участки информации. Часто вирусы ограничивают возможности их обнаружения путём изменения системных настроек. Например, запрещая запуск диспетчера задач. В случае макровирусов наиболее популярный способ – запрет вызовов меню просмотра макросов.

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

Различные нестандартные приемы часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре OC, защитить от обнаружения свою резидентную копию, затруднить лечение от вируса (например, поместив свою копию в Flash-BIOS) и т.д. Многие вирусы используют имеющиеся в программном обеспечении ошибки и уязвимости. Такие вирусы и аналогичные программы называют эксплойтами (англ. exploit– эксплуатировать).

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

По деструктивным возможностямвирусы делятся на следующие типы:

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

К вредоносным и нежелательным, помимо вирусов, примыкают следующие программы: конструкторы вирусов, полиморфик-генераторы; «троянские кони», к которым относятся всевозможные кейлоггеры, «ворующие» пароли и прочую конфиденциальную информацию; сканеры, снифферы (прослушиватели сети); люки – утилиты скрытого администрирования удаленных компьютеров (backdoor); логические бомбы; руткиты (англ. rootkit– набор инструментов root'а, то есть суперпользователя, учётная запись которого в UNIX по умолчанию именуется root – корень), предназначенные для «заметания следов» вторжения злоумышленника, маскировки вредоносной программы, а также самого присутствия руткита в системе путём сокрытия файлов и процессов; программы взлома (crack) защитных функций лицензионного ПО и другие.