Одновременно с развитием корпоративной сети, необходимо, что бы система антивирусной защиты, в лучшем случае опережала ее развитие на шаг или же изменялась одновременно и в соответствии с расширением количества или качества сервисов, предоставляемых пользователям данной сети [20]. Чтобы подчеркнуть данное высказывание приведем небольшую классификацию вирусов, и опишем угрозы которые они несут для КИС.
2.3.2 Виды вирусных угроз
Троянские кони.
"Троянский конь" представляет собой полезную или кажущуюся полезной программу или командную процедуру, содержащую скрытый код, который после запуска программы-носителя выполняет нежелательные или разрушительные функции.
Программа этого типа может служить для опосредованного выполнения операций, которые несанкционированный пользователь не может выполнить непосредственно. Например, для получения доступа к файлам другого пользователя на компьютере, находящемся в совместном пользовании нескольких человек, злоумышленник может создать программу "троянского коня", которая в ходе выполнении изменит параметры контроля доступа к файлам соответствующего пользователя, сделав эти файлы открытыми для всех. Создав такую программу, автор может спровоцировать других пользователей запустить ее, поместив эту программу в общедоступный каталог и присвоив ей имя, которое большинству пользователей покажется именем полезной программы или утилиты. Примером может служить программа, якобы создающая список файлов пользователя в нужном формате. После того как какой-нибудь пользователь запустит такую программу, автор программы может получить доступ к информации, содержащейся в файлах этого пользователя. Примером "троянского коня", который очень трудно выявить, является компилятор, модифицированный с целью внедрения дополнительного кода в компилируемые программы определенного вида, например в программы входа в систему [21]. Этот код представляет собой лазейку в модуле регистрации, который позволяет автору программы войти в систему с помощью специального пароля. Обнаружить такого "троянского коня" по исходному коду программы входа в систему невозможно.
Вторым источником мотивации для написания "троянского коня" является разрушение данных. В этом случае программа, которая выполняет какие-то полезные функции (например, программа-калькулятор), может без каких бы то ни было внешних проявлений удалить файлы пользователя.
Вирусы.
Вирус представляет собой программу, которая может "заражать" другие программы путем их модификации. В модифицированный код включается код вируса, в результате чего код вируса может продолжать заражать другие программы.
Внесенный в компьютерную систему, типичный вирус временно захватывает управление дисковой операционной системой компьютера. Затем, при каждом контакте зараженного компьютера с незараженным программным обеспечением очередная копия вируса помещается в новую программу. Таким образом инфекция может передаваться от компьютера к компьютеру ничего не подозревающими пользователями, обменивающимися содержимым магнитных дисков или пересылающими программы по сети. Сеть, с ее возможностями доступа к приложениям и системным службам других компьютеров, является прекрасной средой для распространения вируса.
«Черви»
Сетевые программы-"черви" используют сетевые соединения для распространения от одной системы к другой. Во время работы на отдельном компьютере сетевой "червь" может вести себя как компьютерный вирус или внедрять "троянских коней", либо выполнять какие-то другие разрушительные или подрывные операции. Для размножения сетевой "червь" использует какое-нибудь из сетевых средств доставки информации. Примерами таких средств могут быть следующие службы.
· Электронная почта. "Червь" отправляет свою копию по почте в другую систему.
· Удаленный вызов программ. "Червь" запускает свою копию на выполнение в другой системе.
· Доступ к удаленной системе. "Червь" входит в удаленную систему как пользователь, а затем использует команду копирования себя из одной системы в другую.
Новая копия программы-"червя" в результате оказывается запущенной в удаленной системе, где в дополнение ко всем другим предусмотренным операциям "червь" продолжает размножаться указанным выше способом.
Сетевой "червь" во многом подобен компьютерному вирусу: у него тоже есть инкубационный период, фаза распространения, фаза активизации и фаза выполнения. В фазе распространения обычно выполняются следующие функции.
· Поиск других систем, которые можно заразить, путем проверки списков известных данному компьютеру узлов или других подобных объектов, хранящих информацию об адресах удаленных систем.
· Установление соединения с удаленной системой.
· Копирование своего кода в удаленную систему и инициирование ее запуска там.
Перед тем как копировать себя в другую систему, сетевой "червь" может также пытаться проверить, не была ли система уже инфицирована ранее. В многозадачной среде он может также скрывать свое присутствие с помощью назначения себе названия, соответствующего системному процессу, или с помощью использования какого-либо другого имени, не вызывающего подозрения у системного оператора.
Так же как и вирусам, сетевым "червям" трудно противостоять. Однако меры сетевой защиты в совокупности с мерами по защите отдельных компьютерных систем при условии их правильной разработки и применения значительно уменьшают опасность, которую представляют собой "черви".
Природа вирусов.
Вирусы могут делать все, что могут делать обычные программы. Единственное различие состоит в том, что вирус присоединяется к другой программе и выполняется скрытно в процессе работы программы-носителя. Во время своего выполнения вирус может выполнить любую операцию, например стереть файлы документов и программы.
Жизненный цикл типичного вируса состоит из четырех этапов [6].
1. Инкубационный период. Вирус никак не проявляется. В конце концов вирус будет активизирован некоторым событием, например наступлением определенной даты, присутствием другой программы или файла, появлением достаточного места на диске. Инкубационный период имеют не все вирусы.
2. Фаза распространения. Вирус помещает свою копию в другие программы или в определенные системные области на диске. Теперь все инфицированные программы будут содержать копию вируса, каждая их которых тоже должна будет когда-нибудь пройти свою фазу распространения.
3. Фаза активизации. Вирус активизируется для выполнения функции, с которой он создавался. Фаза активизации может быть инициирована самыми разными системными событиями, например наличием определенного числа копий данного вируса в системе.
4. Фаза выполнения. Выполняется содержащаяся в вирусе функция. Эта функция может быть как вполне безобидной (например, вывод сообщения на экран), так и совершенно деструктивной (например, уничтожение программ и файлов с данными).
Работа большинства вирусов построена в соответствии с архитектурными принципами конкретной операционной системы и в некоторых случаях даже конкретных аппаратных средств. Таким образом, в их основе лежит использование недостатков и нюансов тех или иных систем.
Типы вирусов
С тех пор как появились вирусы, началась и бесконечная борьба между авторами вирусов и авторами антивирусных программ. Как только вырабатывались эффективные методы противодействия уже известным вирусам, появлялись новые типы вирусов. В [22] предлагается следующая классификация наиболее важных типов вирусов.
· Паразитный вирус. Традиционная и до сих пор самая распространенная форма вируса. Паразитный вирус добавляет свой код к исполняемым файлам и размножается при каждом запуске инфицированной программы, находя другие файлы, которые можно было бы инфицировать.
· Резидентный вирус. Размещается в оперативной памяти как часть резидентной системной программы. С момента размещения в памяти инфицирует любую запускаемую программу.
· Загрузочный вирус. Инфицирует главную загрузочную запись или загрузочный сектор и распространяется, когда система загружается с зараженного диска.
· Вирус-невидимка. Разновидность вируса, имеющего специально предусмотренное свойство, защищающее вирус от обнаружения антивирусным программным обеспечением.
· Полиморфный (мимикрирующий) вирус. Вирус, код которого изменяется при каждом новом заражении, что делает практически невозможным обнаружить его по "сигнатуре".
Существуют и другие, гораздо более хитроумные решения. Например, вирус может перехватывать обращения к функциям ввода-вывода и при попытках прочитать подозрительные части диска с помощью этих функций возвращать оригинальные неинфицированные версии программ. Таким образом, применяемая в данном случае характеристика стелс (скрытный) относится не столько к вирусам, сколько к технологии, обеспечивающей вирусу защиту от обнаружения.
Полиморфный вирус создает при размножении копии, эквивалентные по функциональности, но существенно различающиеся по двоичному представлению кода [6]. Как и в случае с вирусами-невидимками, это делается с целью противостоять программам, обнаруживающим вирусы. Для таких вариаций представления кода вирус может вставлять в свой код генерируемые случайным образом избыточные команды или же изменять порядок следования не зависящих друг от друга команд. Более эффективным подходом является шифрование. Часть вируса, называемая механизмом управления мутациями (mutationengine), генерирует случайное значение ключа, с помощью которого шифрует остальной код вируса. Ключ сохраняется вместе с вирусом, а механизм управления мутациями видоизменяется. Во время запуска инфицированной программы вирус с помощью сохраненного ключа расшифровывается. При новом инфицировании генерируется новый ключ.