Описание и классификация вредоносного программного обеспечения. Основные методы защиты, используемые антивирусными программами | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 5 февраля, печатный экземпляр отправим 9 февраля.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №2 (397) январь 2022 г.

Дата публикации: 13.01.2022

Статья просмотрена: 12 раз

Библиографическое описание:

Алёшин, С. Ю. Описание и классификация вредоносного программного обеспечения. Основные методы защиты, используемые антивирусными программами / С. Ю. Алёшин. — Текст : непосредственный // Молодой ученый. — 2022. — № 2 (397). — С. 5-10. — URL: https://moluch.ru/archive/397/87777/ (дата обращения: 28.01.2022).



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

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

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

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

Одним из таких способов, обладающим минимальной точностью, является классификация по типу операционной системы, устройства под управлением которой заражает вирус. Большая часть существующих в мире вредоносных программ рассчитана на ОС семейства Windows. Второе место занимает ОС Android, в которой число заражений ежегодно увеличивается экспоненциально (смартфоны позволяют злоумышленникам рассылать платные СМС-сообщения, совершать звонки на различные коммерческие номера, покупать подписки на те или иные виртуальные услуги, а, если владелец использует системы мобильного банкинга, — просто снимать деньги с его счёта). Третью позицию по количеству известных угроз занимают операционные системы семейства Linux (это связано с активным использованием данных систем на различных «умных» устройствах). Четвёртое место по распространённости занимает вредоносное ПО для операционной системы Apple macOS. Другие системные платформы обладают намного меньшим в абсолютных значениях числом известных угроз. Например, по данным на 2020 год, число вредоносных программ, разработанных под Apple iOS, не превышает десяти [3].

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

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

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

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

Макровирусы — разновидность вирусов, создающихся с помощью макроязыков, встроенных в различные приложения пакета Microsoft Office, и изменяющих или замещающих макросы, представляющие собой последовательности команд [4].

Резидентные вирусы — вирусы, осуществляющие свою деятельность в памяти заражённого устройства параллельно с другими активными приложениями. После запуска эти вирусы либо удаляли исходный файл, либо перемещали его в места, недоступные операционной системе и пользователю. С момента появления операционных систем, обладающих многозадачностью, понятие «резидентного вируса» устарело, а вредоносное ПО, действующее в оперативной памяти компьютера, стали называть общим термином «бесфайловые вредоносные программы» [5].

Компьютерные черви разновидность вредоносных программ, обладающих способностью к саморепликации без возможности заражения файловых объектов (из данного правила имеются некоторые исключения). В наши дни широко распространены так называемые почтовые черви, рассылающие свои копии по всем почтовым адресам, имеющимся в списке контактов на инфицированном компьютере. Многие черви распространяются с помощью съёмных носителей информации. Они могут размещать в корневой папке накопителя файл, часто носящий название autorun.inf, обеспечивающий автоматический запуск червя при каждом обращении к накопителю, или перемещать всё содержимое съёмного носителя в скрытую папку, замещая её собственной копией с такими же названиями директорий и файлов, при нажатии на которые запустится вредоносная программа [3].

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

Бэкдоры — это вредоносные программы, которые открывают злоумышленникам полный доступ к инфицированному устройству. К ним относят некоторые виды вирусов и троянцев [2].

Буткиты — это вирусы или троянские программы, способные путём заражения загрузочной записи на диске компьютера запускаться раньше антивирусного программного обеспечения, одновременно с запуском ОС или даже перед ним. Это даёт им возможность перехватывать управление операционной системой, тем самым парализуя запуск и нормальную работу антивирусов и блокируя возможность удалить буткит с компьютера. Неудачная попытка удаления такой программы может привести к повреждению логической структуры диска, что повлечёт за собой полную неработоспособность устройства. Особая опасность буткитов заключается ещё и в их возможности получить в системе максимальные привилегии, дающие доступ к файловой системе, компонентам ОС, памяти и драйверам [3].

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

Биоскиты — это тип вредоносного ПО, обладающего способностью изменять содержимое микросхем BIOS. В настоящее время они практически не встречаются — последнее обнаружение подобной программы, получившей название «Trojan.Bioskit.1», произошло в 2011 году, — поэтому серьёзной угрозы не несут [3].

Боты — вредоносное программы, особенностью которых является возможность объединения в ботнеты. Ботнеты представляют собой удалённо управляемые с использованием командных серверов сети, состоящие из инфицированных устройств, предназначением которых является осуществление централизованных атак на серверы различных сайтов сети Интернет. Например, несколько сотен тысяч компьютеров посылают запросы с интервалом в несколько микросекунд, загружая сервер до отказа. Данный вид атак носит название «атака на отказ в обслуживании» — «Distributed Denial of Service» (DDoS-атака). Другой пример — массовая рассылка спама миллионами компьютеров, входящих в спамерскую бот-сеть. Некоторые боты в случае необходимости способны динамически настраивать свою принадлежность к тому или иному командному серверу, а другие — вовсе обходиться без такового, формируя децентрализованные P2P-сети, тем самым многократно усложняя задачу обнаружения и ликвидации таких сетей [3].

Шпионы — данный тип вредоносного ПО предназначен для слежки за пользователем и передачи информации, получаемой с его устройства. Шпионское программное обеспечение широко распространено в настоящее время, а значительная его часть реализована в виде классических троянцев. Наиболее распространёнными видами программ-шпионов являются кейлоггеры (приложения, регистрирующие и запоминающие коды клавиш, нажимаемых пользователем), грабберы (фиксирующие не все нажатия клавиш, а только интересующие злоумышленника, например, пароли от различных аккаунтов), троянцы-шпионы, отправляющие скриншоты с заражённого компьютера, и программы-шпионы, ориентированные на ОС Android, которые могут отслеживать местоположение инфицированного устройства, просматривать журнал звонков, личные данные, а также вести фото- и видеосъёмку [3].

Пример классификации по вредоносным функциям приведён на рисунке 1.

Классификация по вредоносным функциям

Рис. 1. Классификация по вредоносным функциям

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

Иерархия вредоносного ПО по степени опасности

Рис. 2. Иерархия вредоносного ПО по степени опасности

Этот способ классификации наиболее широко распространён из-за того, что большая часть появляющихся вредоносных программ сочетает в себе функционал, относящийся одновременно к нескольким классам угроз. В таком случае специалист, руководствуясь описанной ранее иерархией, отделяет второстепенные по уровню опасности признаки от первостепенных и относит образец к классу, степень опасности которого наиболее высока, не забывая при этом дополнить описание вредоносной программы признаками других классов [3].

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

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

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

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

Резидентный монитор — модуль, в реальном времени осуществляющий анализ состояния системы с целью предотвращения деятельности вредоносных программ на устройстве.

Анти-руткит — компонент, предназначенный для борьбы с руткитами.

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

Карантин — некоторая защищённая область памяти, использующаяся антивирусом для проверки всех подозрительных файлов путём помещения их в данную область и наблюдения за их дальнейшими действиями.

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

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

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

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

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

Обнаружение вредоносных программ современными антивирусными приложениями производится путём комбинирования нескольких различных методик, главной из которых является сигнатурное детектирование угроз. Данный метод основывается на создании сигнатур вредоносных программ — уникальных цифровых идентификаторов файла, получаемых на основе содержимого исследуемого файла и представляющих собой специальный набор байтов. Сигнатуру можно сравнить с «отпечатком пальцев», присущим только одному конкретному файлу, что позволяет безошибочно опознавать ту или иную вредоносную программу. Сигнатуры собираются в набор, называемый вирусной базой, из которого в процессе проверки защищаемого устройства берутся образцы для сравнения с файлами, хранящимися на этом устройстве. В случае совпадения такой файл считается вредоносным. Данная методика имеет значительный недостаток: при малейшем изменении структуры вредоносной программы её сигнатура меняется, что делает её необнаружимой для антивирусной программы до тех пор, пока её сигнатура не попадёт в вирусную базу [1].

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

Благодаря описанию одним поведенческим шаблоном сразу группы схожих вредоносных программ данный подход способствует сокращению размера вирусных баз. Кроме того, использование поведенческого анализа позволяет обнаруживать ранее не встречавшиеся опасные программы, так как совпадение их поведения с одним из известных шаблонов сразу позволяет отнести их к категории вредоносных [3].

Ещё одним из основных методов детектирования вредоносного ПО является эвристический анализ. Его принцип работы заключается в присваивании условного рейтинга опасности каждой функции, реализованной в программе. Некоторые функции характеризуются меньшими числовыми значениями опасности, а некоторые — большими. В том случае, если сумма оценок всех функций данной программы превышает определённый «порог безопасности», программа признаётся вредоносной. Главным недостатком этого метода является большая вероятность ложного срабатывания, так как многие программы, не являющиеся вредоносными, превышают установленное значение и признаются таковыми (например, некоторые утилиты обновления браузеров, действующие в фоновом режиме и отправляющие запросы на удалённые серверы с целью загрузки с них обновлений, могут быть спутаны с троянцем-загрузчиком). Эвристический анализ используется для обнаружения и блокировки новых угроз, не занесённых в вирусные базы, поэтому очевидным становится ещё один его значительный недостаток: далеко не всегда получается устранить обнаруженную угрозу, так как её сигнатура отсутствует в вирусной базе и алгоритмов её устранения ещё не было разработано [4].

Последним рассматриваемым методом борьбы с вредоносными программами является проактивная антивирусная защита HIPS (Host-based Intrusion Prevention System, система предотвращения вторжений), представляющая собой одну из форм поведенческого анализа, то есть следящая за поведением приложений и оценивающая их воздействие на систему. Проактивная защита бывает классической, оставляющей решение о блокировке или игнорировании угрозы пользователю, или экспертной, содержащей набор настраиваемых разрешений и правил, на основе которых она самостоятельно выполняет те или иные действия с вредоносными программами [3].

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

Таким образом, возможности современных антивирусных приложений позволяют в большинстве случаев успешно обеспечивать безопасность устройства: реактивная защита, к которой относится, например, сигнатурное детектирование, позволяет бороться с большинством известных угроз, а проактивная, представленная поведенческим анализом, — блокирует ранее не встречавшиеся. Именно поэтому, согласно последним данным [6], основным методом заражения (до 83 % случаев атак на частных лиц) становится социальная инженерия, при которой злоумышленники обманным путём вынуждают пользователя самостоятельно запускать на своём устройстве вредоносные программы или делиться конфиденциальной информацией.

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

Литература:

  1. Безбогов, А. А. Безопасность операционных систем: учебное пособие / А. А. Безбогов, А. В. Яковлев, Ю. Ф. Мартемьянов. — М.: Машиностроение-1, 2007. — 220 c. — Текст: непосредственный.
  2. Масалков, А. С. Особенности киберпреступлений: инструменты нападения и защиты информации / А. С. Масалков. — М.: ДМК Пресс, 2018. — 226 c. — Текст: непосредственный.
  3. Холмогоров, В. PRO Вирусы / В. Холмогоров. — 4. — СПб.: Страта, 2020. — 224 c. — Текст: непосредственный.
  4. Козлов, Д. А. Энциклопедия компьютерных вирусов / Д. А. Козлов, А. А. Парандовский, А. К. Парандовский. — М.: СОЛОН-Р, 2001. — 464 c. — Текст: непосредственный.
  5. Гошко, С. В. Технологии борьбы с компьютерными вирусами. Практическое пособие. / С. В. Гошко. — М.: СОЛОН-ПРЕСС, 2009. — 352 c. — Текст: непосредственный.
  6. Актуальные киберугрозы: III квартал 2021 года. — Текст: электронный // Positive Technologies: [сайт]. — URL: https://www.ptsecurity.com/ru-ru/research/analytics/cybersecurity-threatscape-2021-q3/ (дата обращения: 06.01.2022).
Основные термины (генерируются автоматически): программа, вредоносное программное обеспечение, вредоносная программа, вирус, операционная система, поведенческий анализ, приложение, вирусная база, время, зараженное устройство.


Ключевые слова

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