Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700148.doc
Скачиваний:
16
Добавлен:
01.05.2022
Размер:
853.69 Кб
Скачать

1.3. Многообразие вредоносного программного обеспечения вирусного характера

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

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

– на компьютере была выполнена зараженная программа;

– компьютер загружался с носителя, содержащего зараженный загрузочный сектор;

– на компьютере была установлена зараженная операционная система;

– на компьютере обрабатывались файлы, содержащие в своем теле зараженные макросы.

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

– исполнимые файлы, т.е. файлы с расширениями EXE, COM, BAT;

– загрузочный сектор и главный загрузочный сектор дисков;

– драйверы устройств и динамические библиотеки (обычно имеют расширение SYS и DLL);

– графические файлы, например, с расширением JPG;

– файлы, содержащие в себе макросы, например, файлы с расширениями XLS, DOC.

Текстовые файлы (с расширением TXT), файлы с растровыми рисунками (расширение BMP) и ряд других файлов, как правило, не являются целью компьютерных вирусов.

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

Можно выделить следующие основные группы вирусов [138-152]:

Простые вирусы

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

Файловые вирусы

Файловые вирусы, записывающие свой код в тело исполняемого (командного) файла и, соответственно, запускающиеся при запуске самой программы [138].

Объектом поражения файлового вируса могут выступать исполняемые двоичные файлы (EXE, COM), файлы динамических библиотек (DLL), драйверы (SYS), командные файлы (BAT, CMD) и другие. Заражая файл, вирус может внедриться в его начало, конец или середину. Наиболее распространенным способом является внедрение в конец файла. При этом основной код дописывается в конец файла, а в его начало записывается команда перехода к телу вируса. Чтобы скрыть свое присутствие в системе, файловый вирус может предварительно сохранить дату и время последней модификации и значения атрибутов заражаемого файла, восстановив эти данные уже после заражения [139].

После того как вирус получил управление, он выполняет следующие действия [139, 59]:

– восстанавливает в оперативной памяти компьютера исходную программу для последующего её выполнения;

– осуществляет дальнейшее заражение, инфицируя другие файлы или оперативную память компьютера;

– выполняет иные деструктивные действия.

При этом все действия вируса, как правило, незаметны для пользователя программы.

Различают резидентные и нерезидентные файловые вирусы [139]. Первые загружают в оперативную память резидентную часть, которая впоследствии может отслеживать открываемые пользователем файлы, заражая их. Нерезидентные вирусы, после того как получили управление, производят поиск файлов для заражения в текущем и (или) корневом каталогах, либо в каталогах, указанных в системной переменной среды PATH.

Наиболее распространённые в эпоху DOS файловые вирусы — так называемые «паразитирующие». Данные вирусы стараются вести себя как можно более незаметно, не портя функциональности программы, и поэтому излечимы антивирусом. Также выделяют перезаписывающие вирусы, которые при заражении необратимо портят программу, и вирусы-спутники (компаньон-вирусы), являющиеся отдельным файлом. Обратимое заражение Win32-программы не так тривиально, как в DOS, поэтому большинство файловых вирусов для этой ОС было именно спутниками [139].

К файловым вирусам также можно отнести макрокомандные вирусы, которые распространяются с документами офисных приложений, таких как Microsoft Word или Microsoft Excel. Это происходит потому, что документы офисных приложений содержат в себе макрокоманды (макросы) – программы, которые позволяют выполнять определенные действия, работая с документом. Эти макрокоманды и подвергаются атаке вирусов [138].

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

Загрузочные вирусы

Загрузочные вирусы активизируются и распространяются в момент загрузки операционной системы. Объектом атаки загрузочных вирусов обычно являются загрузочная запись на носителе или главная загрузочная запись на винчестере [140].

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

Загрузочные вирусы очень редко «уживаются» вместе на одном диске из-за того, что используют одни и те же дисковые сектора для размещения своего кода/данных. В результате код/данные первого вируса оказываются испорченными при заражении вторым вирусом, и система либо зависает, либо зацикливается при загрузке [141].

Сетевой вирус

Сетевые вирусы используют для своего распространения уязвимости в работе сетевых служб операционных систем, обеспечивающих доступ компьютера в сеть [142]. В последнее время основной сетью, через которую распространяются сетевые вирусы является Интернет.

Основные пути, которыми файлы, зараженные вирусами, попадают в корпоративную сеть [143]:

– копирование инфицированных файлов или при запуске программ и других файлов с переносимых источников (гибких дисков, оптических дисков, Zip, Jazz, Floptical, и т.д.);

– программное обеспечение, полученное через Web или FTP и сохраненное на локальных рабочих станциях;

– файлы, получаемые удаленными пользователями, которые соединяются с корпоративной сетью по модему;

– файлы, получаемые при соединении удаленного сервера с сетью для обмена с файловым сервером, сервером приложений или сервером баз данных;

– электронная почта, содержащая приложенные зараженные файлы.

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

Эксплойты

Атаки, основанные на использовании уязвимостей в ПО сетевых приложений – эксплойты (exploit) [116, 144, 1451]. Данный класс атак основан на эксплуатации различных дефектов в ПО. Эксплойты представляют собой вредоносные программы, реализующие известную уязвимость в операционной системе или прикладном ПО, для получения несанкционированного доступа к уязвимому хосту или нарушение его работоспособности.

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

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

Шифрующиеся вирусы

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

Полиморфные вирусы

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

Скрипт-вирусы

Скрипт-вирусы (Script virus) – вирусы, написанные на языках Visual Basic, Basic Script, Java Script. На компьютер пользователя такие вирусы, чаще всего, проникают в виде почтовых сообщений, содержащих во вложениях файлы-сценарии. Программы на языках Visual Basic и Java Script могут располагаться как в отдельных файлах, так и встраиваться в HTML-документ и в таком случае интерпретироваться браузером, причем не только с удаленного сервера, но и с локального диска [151].

Стелс-вирусы

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

Так называемая Стелс-технология может включать в себя [151]:

– затруднение обнаружения вируса в оперативной памяти;

– затруднение трассировки и дезассемблирования вируса;

– маскировку процесса заражения;

– затруднение обнаружения вируса в зараженной программе и загрузочном секторе.

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

Черви

Черви являются вирусами-репликаторами. Они распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии.

Черви не связывают свои копии с какими-то файлами. Они создают свои копии на дисках и в подкаталогах дисков, никаким образом не изменяя других файлов и не используя СОМ-ЕХЕ прием. Особенностью является то, что черви поражают не отдельные программы, а целую систему [152]. Часто черви передаются по сети с помощью троянских коней.

Исторически первой вирусной эпидемией можно считать распространение в конце 1960-х программ, которые получили название «кролик» (the rabbit). Эти программы клонировали себя, занимали системные ресурсы и таким образом снижали производительность системы. Первый же инцидент, который смело можно назвать эпидемией «компьютерного вируса», произошел на системе Univax 1108. Вирус, получивший название Pervading Animal, дописывал себя к выполняемым файлам — делал практически то же самое, что тысячи современных компьютерных вирусов [153].

В первой половине 70-х годов под операционной системой Тепех был создан вирус The Creeper, использовавший для своего распространения глобальные компьютерные сети. Вирус был в состоянии самостоятельно войти в сеть через модем и передать свою копию удаленной системе. Для борьбы с этим вирусом была создана программа Reeper – первая известная антивирусная программа [153].

Эпидемия 1987 года была вызвана вирусом Brain, который был разработан братьями Амджатом и Базитом Алви в 1986 и был обнаружен летом 1987. По данным McAfee, вирус заразил только в США более 18 тысяч компьютеров. Программа должна была наказать местных пиратов, ворующих программное обеспечение у их фирмы. Однако неожиданно для всех Brain вышел за границы Пакистана и заразил сотни компьютеров по всему миру. Вирус Brain являлся также и первым стелс-вирусом – при попытке чтения заражённого сектора он «подставлял» его незаражённый оригинал [153].

В декабре 1987 г. случилась первая известная повальная эпидемия сетевого вируса Cristmas Tree, написанного на языке REXX и распространявшего себя в операционной среде VM/CMS. 9 декабря вирус был запущен в сеть Bitnet в одном из университетов Западной Германии, проник через шлюз в European Academic Research Network (EARN) и затем – в сеть IBM Vnet. Через четыре дня (13 декабря) вирус парализовал сеть: она была забита его копиями. При запуске вирус выводил на экран изображение новогодней елочки и рассылал свои копии всем пользователям сети, чьи адреса присутствовали в соответствующих системных файлах NAMES и NETLOG.

Намного позднее, в 1988 году Робертом Моррисом-младшим был создан первый массовый сетевой червь. 60 000-байтная программа разрабатывалась с расчётом на поражение операционных систем UNIX Berkeley 4.3. Вирус изначально разрабатывался как безвредный и имел целью лишь скрытно проникнуть в вычислительные системы, связанные сетью ARPANET, и остаться там необнаруженным. Вирусная программа включала компоненты, позволяющие раскрывать пароли, имеющиеся в инфицированной системе, что, в свою очередь, позволяло программе маскироваться под задачу легальных пользователей системы, на самом деле занимаясь размножением и рассылкой копий [154].

Червь Морриса поразил свыше 6200 компьютеров (включая NASA Research Institute). В результате вирусной атаки большинство сетей вышло из строя на срок до пяти суток. Компьютеры, выполнявшие коммутационные функции, работавшие в качестве файл-серверов или выполнявшие другие функции обеспечения работы сети, также оказались неработоспособными.

По самым скромным оценкам инцидент с червём Морриса стоил свыше 8 миллионов часов потери доступа и свыше миллиона часов прямых потерь на восстановление работоспособности систем [155]. Ущерб был бы гораздо больше, если бы вирус изначально создавался с разрушительными целями.

В 1989 году широкое распространение получили вирусы DATACRIME, которые начиная с 13 октября по 31 декабря разрушали файловую систему, а до этой даты просто размножались. Эта серия компьютерных вирусов начала распространяться в Нидерландах, США и Японии в начале 1989 года и к сентябрю поразила около 100 тысяч ПЭВМ только в Нидерландах. Даже фирма IBM отреагировала на эту угрозу, выпустив свой детектор VIRSCAN, позволяющий искать характерные для того или иного вируса строки в файловой системе. Набор сигнатур мог дополняться и изменяться пользователем [156]. Однако тут же был создан первый вирус, противодействующий антивирусному программному обеспечению — TheDarkAvenger. Он заражал новые файлы, пока антивирусная программа проверяла жёсткий диск компьютера [156].

В 1989 году появился первый «троянский конь» AIDS [149]. Начало эпидемии было положено рассылкой 20 000 копий «трояна» на дискетах, помеченных как «AIDS Information Diskette Version 2.0». После 90 загрузок системы «троян» шифровал имена всех файлов на диске, делал их невидимыми (атрибут hidden) и оставлял на диске только один читаемый файл – счет на 189 долл., который следовало послать в РО Box 7, Panama.