Управление рисками обзор употребительных подходов

  35790931      

Вредоносное программное обеспечение


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

Мы выделим следующие грани вредоносного ПО:

  • вредоносная функция;
  • способ распространения;
  • внешнее представление.

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

  • внедрения другого вредоносного ПО;
  • получения контроля над атакуемой системой;
  • агрессивного потребления ресурсов;
  • изменения или разрушения программ и/или данных.

По механизму распространения различают:

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

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

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

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

Отметим, что данные нами определения и приведенная классификация вредоносного ПО отличаются от общепринятых. Например, в ГОСТ Р 51275-99 "Защита информации. Объект информатизации. Факторы, воздействующие на информацию. Общие положения" содержится следующее определение:

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

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

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

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

В марте 1999 года, с появлением вируса Melissa, ситуация кардинальным образом изменилась. Melissa — это макровирус для файлов MS-Word, распространяющийся посредством электронной почты в присоединенных файлах. Когда такой (зараженный) присоединенный файл открывают, он рассылает свои копии по первым 50 адресам из адресной книги Microsoft Outlook. В результате почтовые серверы подвергаются атаке на доступность.

В данном случае отметим два момента.




  • Пассивные объекты уходят в прошлое; так называемое активное содержимое становится нормой. Файлы, которые по всем признакам должны были бы относиться к данным (например, документы в форматах MS-Word или Postscript, тексты почтовых сообщений), способны содержать интерпретируемые компоненты, которые могут запускаться неявным образом, при открытии файла. Как и всякое в целом прогрессивное явление, такое "повышение активности данных" имеет свои оборотные стороны (в рассматриваемом случае — отставание в разработке механизмов безопасности и ошибки в их реализации). Еще не скоро рядовые пользователи научатся применять интерпретируемые компоненты "в мирных целях" (или хотя бы узнают об их существовании), а перед злоумышленниками открылось по существу неограниченное поле деятельности. Как ни банально это звучит, но если для стрельбы по воробьям устанавливают пушку, то пострадает стреляющий.
  • Интеграция разных сервисов, наличие среди них сетевых, всеобщая связность многократно увеличивают потенциал для атак на доступность, облегчают распространение вредоносного ПО (вирус Melissa — классический тому пример). Образно говоря, многие информационные системы, если не принять защитных мер, оказываются "в одной лодке" (точнее — в одном корабле без переборок), так что достаточно одной небольшой казалось бы "пробоины", чтобы "лодка" стала стремительно тонуть, заливаемая бурным, все усиливающимся потоком.


Как это часто бывает, Melissa дала толчок к быстрому появлению на свет целой серии вирусов, "червей" и их комбинаций: Explorer.zip (июнь 1999), Bubble Boy (ноябрь 1999), ILOVEYOU (май 2000) и т.д. и т.п. Не то чтобы от них был особенно большой ущерб, но общественный резонанс, как это свойственно вирусам, они вызвали немалый.

Активное содержимое, помимо интерпретируемых компонентов документов и других файлов данных, имеет еще одно популярное обличье — так называемые мобильные агенты. Это программы, которые загружаются на другие компьютеры и там выполняются. Наиболее известные примеры мобильных агентов — Java-аплеты, загружаемые на пользовательский компьютер и интерпретируемые Интернет-навигаторами. Оказалось, что разработать для них модель безопасности, оставляющую достаточное количество возможностей для полезных действий, не так-то просто; еще сложнее безошибочно реализовать такую модель. В августе 1999 года стали известны недочеты в реализации технологий ActiveX и Java в рамках Microsoft Internet Explorer, которые давали возможность размещать на Web-серверах вредоносные аплеты, позволяющие получать полный контроль над системой-визитером.

Для внедрения "бомб" часто используются ошибки типа "переполнения буфера", когда программа, работая с областью памяти, выходит за допустимые границы и записывает в нужные злоумышленнику места нужное ему содержимое. Так действовал еще в 1988 году знаменитый "червь Морриса"; в июне 1999 года нашли способ использовать аналогичный метод по отношению к Microsoft Internet Information Server (IIS), чтобы получить контроль над Web-сервером. Окно опасности охватило сразу около полутора миллионов серверных систем...

Не забыты современными злоумышленниками и "старые, но недобрые" троянские программы. Например, "троянцы" Back Orifice и Netbus позволяют получить контроль над пользовательскими системами с различными вариантами MS-Windows. Актуальной и весьма опасной угрозой является внедрение руткитов (набор файлов, устанавливаемых в системе с целью изменения ее стандартной функциональности вредоносным и скрытным образом), ботов (программа, автоматически выполняющая некоторую миссию; группа компьютеров, на которой функционируют однотипные боты, называется ботсетью), потайных ходов (вредоносная программа, слушающая команды на определенных TCP-или UDP-портах) и шпионского программного обеспечения (вредоносное ПО, нацеленное на компрометацию конфиденциальных данных пользователя.

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


Содержание раздела