О классификации вредоносных программ
В.В. Платонов
СПбГТУ
В настоящее время существует множество публикаций, в той или иной мере
рассматривающих вопросы компьютерных вирусов, червей и иных, опасных для
безопасности информации, программ. Такие программы называют: компьютерные
вирусы, троянские кони, сетевые вирусы, черви, сетевые черви, почтовые вирусы и черви, программные закладки, логические бомбы, временные бомбы, атаки, удаленные атаки и т.п.
В ряде работ для их обозначения используются свои термины. Например, в [1] рассматривается «разрушающее воздействие на программные компоненты вычислительной сети с помощью программных средств. Логично назвать такие средства разрушающими программными средствами (РПС). К ним относятся компьютерные вирусы, троянские кони (иногда их называют «закладками»), средства проникновения в удаленные системы с использованием локальных и глобальных сетей». В [2] к «вредным программам помимо вирусов относятся также «троянские кони» (логические бомбы), intended-вирусы, конструкторы вирусов и полиморфикгенераторы».
В статьях уголовного кодекса Российской Федерации используется термин «вредоносные программы», поэтому целесообразно использовать эту терминологию.
Далее будет использоваться термин «вредоносные программы» (ВП). Как отмечается в [3], с точки зрения законодателя «любая программа, специально разработанная или модифицированная для не санкционированного собственником информационной системы уничтожения, блокирования, модификации или копирования информации, нарушения обычной работы ЭВМ, является вредоносной». Данное толкование совпадает с общепринятым выделением трех основных угроз безопасности информации:
1) угроза конфиденциальности;
2) угроза целостности;
3) угроза отказа в обслуживании.
Для выделения основных классов ВП рассмотрим основные функции, которые содержат различные экземпляры этих программ. Сначала рассмотрим функции, которые выполняются ВП в автономном режиме, т. е. без участия автора ВП. Основные функции и их назначение приведены в таблице.
Таблица. Основные функции ВП.
Функция Краткое описание Саморепродукции Получение в одном компьютере из одного экземпляра ВП двух и (размножения) более экземпляров без участия автора ВП Нанесения ущерба Выполнение несанкционированного удаления, модификации, (деструктивная) блокирования или копирования данных Анализа Получение информации о составе компонент компьютера (или местоположения группе компьютеров) Маскировки Наличие необъявленной в спецификации (описании) функции функциональности Перемещения Наличие специального механизма для перемещения кода ВП на новый компьютер Преодоления Наличие механизма преодоления средства защиты средств защиты Объявления о Выдача визуальных или звуковых эффектов, текстовых присутствии сообщений и других с целью объявить о своем наличии (может выполнять функцию устрашения) Условий Наличие логических условий выполнения других функций срабатывания Выбора новой цели Наличие механизма, с помощью которого выбирается очередная цель (программа, файл, компьютер и т.д.) Защиты от Наличие механизма скрытия факта своего присутствия в обнаружения компьютере Передачи данных Наличие механизма передачи собранных (накопленных) данных автору автору ВП Анализ описаний и различных экземпляров ВП позволяет выделить основные функции, которые являются основными для построения классов ВП. К таким функциям относятся следующие: саморепродукция, перемещение и маскировка функциональности.
Выбор данных функций в качестве основных позволяет выделить три основных класса ВП:
1) компьютерные вирусы;
2) троянские кони;
3) черви.
Для класса компьютерных вирусов (вирусов) характерным является то, что при запуске ВП их количество увеличивается. Компьютерный вирус можно определить как вредоносную программу, которая присоединяет (внедряет) в заражаемый объект (файл) программный код, содержащий функцию репродукции. Отметим, что компьютерные вирусы могут содержать и другие функции, которые не являются обязательными, например, нанесение ущерба, объявление о присутствии, поиск новой цели, защита от обнаружения. Выполнение отдельных или всех, присутствующих в компьютерном вирусе функций, может определяться различными условиями срабатывания. При таком подходе метод передачи компьютерного вируса с машины на машину не рассматривается, передача может быть осуществлена, например, переносом зараженного файла на дискете или посылкой по почте.
Для класса троянских коней характерным является наличие необъявленной функции и отсутствие функций саморепродукции и перемещения. Вспомогательными функциями для этого класса ВП могут быть функции нанесения ущерба, анализа местоположения, передачи данных автору ВП и защиты от обнаружения. Причем, если в первые годы появления ВП троянские кони распространялись, в основном, через электронные доски объявлений (BBS), то в настоящее время они могут устанавливаться на компьютеры-жертвы в результате реализации удаленных атак. Поэтому современные троянские кони могут и не содержать “полезных функций”, а только содержать необъявленные функции и функцию защиты от обнаружения. Выполнение функций может также определяться различными условиями срабатывания. В этом случае широко используемое понятие “программной закладки” попадает в класс троянских коней. Их отличие состоит в том, что автор троянского коня использует существующую программу (комплекс программ) для присоединения к ней своей вредоносной части, а программная закладка разрабатывается автором программы (программного комплекса). Это совпадает с определением: «программные закладки – преднамеренно внесенные в ПО функциональные объекты, которые при определенных условиях (входных данных) инициируют выполнение не описанных в документации функций ПО, приводящих к нарушению конфиденциальности, доступности или целостности обрабатываемой информации» [4]. Отметим, что программная закладка может выполнять и положительные функции, например, подтверждать авторство на программное средство. Характерной чертой для класса червей (сетевых червей) является функция перемещения, которая тесно связана с функцией выбора новой цели.
Данная функция позволяет червю самостоятельно перемещаться от компьютера к компьютеру. Вспомогательными функциями для этого класса ВП являются следующие функции: нанесение ущерба, анализ местоположения, преодоление средств защиты, защита от обнаружения и передача данных автору. Естественно, что выполнение функций может определяться условиями срабатывания.
Данная классификация допускает существование ВП, содержащих две основные функции, например, функции перемещения и саморепродукции.
Приведенная классификация рассматривает только автоматические аспекты функционирования ВП, т. е. происходящие без участия автора ВП. Поэтому в нее не включены такие вредоносные программы, как генераторы вирусов, генераторы троянский коней и средства удаленного воздействия на компьютерные системы (средства атак). Эти виды ВП будут рассмотрены в следующих статьях.
1. Теория и практика обеспечения информационной безопасности. -М.: Изд-во Агентства «Яхтсмен»,1996. –192 с.
2. Касперский Е.В. Компьютерные вирусы: что это такое и как с ними бороться. –М.:
СК Пресс, 1998. –288с.
3. Крылов В.В. Информационные компьютерные преступления. –М.: Издательская группа ИНФРА.М-НОРМА, 1997. –285 с.
4. РД ГТК. Защита от несанкционированного доступа к информации. Часть 1.
Программное обеспечение средств защиты информации. 1999 г.