Вредоносная программа[1][2] (другие термины: зловредная программа, вредоносное ПО, вредонос[3], зловред[4]; англ. malware — словослияние слов malicious и software (рус. малварь)) — любое программное обеспечение, предназначенное для получения несанкционированного доступа к вычислительным ресурсам самой ЭВМ или к информации, хранимой на ЭВМ, с целью несанкционированного использования ресурсов ЭВМ или причинения вреда (нанесения ущерба) владельцу информации, и/или владельцу ЭВМ, и/или владельцу сети ЭВМ, путём копирования, искажения, удаления или подмены информации.
Большинство антивирусов также считают крэки (кряки), кейгены и прочие программы для взлома приложений вредоносными программами, или потенциально опасными.
Компьютерным вирусом называется один из классов вредоносного ПО по методу размножения.
- badware (bad — плохое и (soft)ware — программное обеспечение) — плохое программное обеспечение.
- computer contaminant (computer — компьютер и contaminant — загрязнитель) — термин для обозначения вредоносного программного обеспечения, который используется в законодательстве некоторых штатов США, например Калифорнии и Западной Виргинии.
- crimeware (crime — преступность и software — программное обеспечение) — класс вредоносных программ, специально созданный для киберпреступлений. Это не синоним термина malware (значение термина malware шире). Не все программы, относящиеся к crimeware, являются вредоносными, поскольку понятие преступления субъективно и зависит от законодательства конкретной страны, а вред, наносимый владельцу и/или пользователю компьютера — объективен.
Основы теории самовоспроизводящихся механизмов заложил американец венгерского происхождения Джон фон Нейман, который в 1951 году предложил метод создания таких механизмов. Первой публикацией, посвящённой созданию самовоспроизводящихся систем, является статья Л. С. Пенроуз в соавторстве со своим отцом, нобелевским лауреатом по физике Р. Пенроузом, о самовоспроизводящихся механических структурах, опубликованная в 1957 году американским журналом Nature[5]. В этой статье, наряду с примерами чисто механических конструкций, была приведена некая двумерная модель подобных структур, способных к активации, захвату и освобождению. По материалам этой статьи Ф. Ж. Шталь (F. G. Stahl) запрограммировал на машинном языке ЭВМ IBM 650 биокибернетическую модель, в которой существа двигались, питаясь ненулевыми словами. При поедании некоторого числа символов существо размножалось, причём дочерние механизмы могли мутировать. Если кибернетическое существо двигалось определённое время без питания, оно погибало.
В сентябре 1984 года была опубликована статья Ф. Коэна[6], в которой автор исследовал разновидность файлового вируса. Это первое академическое исследование проблемы вирусов. Термин «вирус» был предложен научным руководителем Коэна Леном Эдлманом, однако именно Коэна принято считать автором термина «компьютерный вирус».
По основному определению, вредоносные программы предназначены для получения несанкционированного доступа к информации, в обход существующих правил разграничения доступа. Федеральная Служба по Техническому и Экспортному Контролю (ФСТЭК России) определяет данные понятия следующим образом:
- Санкционированный доступ к информации (англ. authorized access to information) — доступ к информации, не нарушающий правила разграничения доступа.
- Несанкционированный доступ к информации (англ. unauthorized access to information) — доступ к информации, нарушающий правила разграничения доступа с использованием штатных средств, предоставляемых средствами вычислительной техники или автоматизированными системами. Под штатными средствами понимается совокупность программного, микропрограммного и технического обеспечения средств вычислительной техники или автоматизированных систем.
- Правила разграничения доступа (англ. access mediation rules) — совокупность правил, регламентирующих права доступа субъектов доступа к объектам доступа
Согласно статье 273 Уголовного Кодекса Российской Федерации[7] («Создание, использование и распространение вредоносных компьютерных программ») определение вредоносных программ выглядит следующим образом: «… заведомо предназначенных для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации…»
Действующая формулировка статьи 273 трактует понятие вредоносности чрезвычайно широко. Когда обсуждалось внесение этой статьи в УК, подразумевалось, что «несанкционированными» будут считаться действия программы, не одобренные явным образом пользователем этой программы. Однако, нынешняя судебная практика относит к вредоносным также и программы, модифицирующие (с санкции пользователя) исполняемые файлы и/или базы данных других программ, если такая модификация не разрешена их правообладателями. При этом, в ряде случаев[8], при наличии принципиальной позиции защиты и грамотно проведенной экспертизе, широкая трактовка статьи 273 была признана судом незаконной.
Корпорация Microsoft трактует термин «вредоносная программа» следующим образом: «Вредоносная программа (malware) — это сокращение от „malicious software“, обычно используемое как общепринятый термин для обозначения любого программного обеспечения, специально созданного для того, чтобы причинять ущерб отдельному компьютеру, серверу, или компьютерной сети, независимо от того, является ли оно вирусом, шпионской программой и т. д.»
У компаний-разработчиков антивирусного программного обеспечения существуют собственные классификации и номенклатуры вредоносных программ.[9] Приведённая в этой статье классификация основана на номенклатуре «Лаборатории Касперского»[10], которая сталкивается с 400 тысячами вредоносных программ ежедневно (по данным на 2023 год[11]).
По вредоносной нагрузке
- Помехи в работе заражённого компьютера: начиная от постоянно повторяющегося открытия-закрытия лотка CD/DVD/Blu-Ray-дисковода, и заканчивая уничтожением данных и поломкой аппаратного обеспечения. Поломками известен, в частности, Win32.CIH, нарушавший работу BIOS.
- Блокировка антивирусных сайтов, антивирусного ПО и административных функций ОС с целью усложнить лечение.
- Саботирование промышленных процессов, управляемых компьютером (этим известен червь Stuxnet).
- Инсталляция другого вредоносного ПО.
- Загрузка из сети (downloader).
- Распаковка другой вредоносной программы, уже содержащейся внутри файла (dropper).
- Кража, мошенничество, вымогательство (ransomware) и шпионаж за пользователем (spyware). Для кражи может применяться сканирование жёсткого диска, регистрация нажатий клавиш (Keylogger) и перенаправление пользователя на поддельные сайты, в точности повторяющие исходные ресурсы, а также прямая запись голоса и видео с использованием микрофона и веб-камеры.
- Похищение данных, представляющих ценность или тайну. Вредоносное ПО, построенное под конкретное секретное место, может даже протаскивать данные[англ.] сквозь «воздушный зазор» через накопители, микрофоны, динамики, кулеры и т.д.
- Кража аккаунтов различных служб (электронной почты, мессенджеров, игровых серверов…). Аккаунты применяются для рассылки спама. Также через электронную почту зачастую можно заполучить пароли от других аккаунтов, а виртуальное имущество в MMOG — продать.
- Кража аккаунтов платёжных систем.
- Блокировка компьютера, шифрование файлов пользователя с целью шантажа и вымогательства денежных средств (см. Ransomware). В большинстве случаев после оплаты компьютер или не разблокируется, или вскоре блокируется второй раз.
- Использование телефонного модема для совершения дорогостоящих звонков, что влечёт за собой значительные суммы в телефонных счетах.
- Платное ПО, имитирующее, например, антивирус, но ничего полезного не делающее (fraudware или scareware[англ.]; см. тж лжеантивирус).
- Прочая незаконная деятельность:
- Менее опасные в зависимости от конкретной ситуации ПО или данные:
- Шуточное ПО, делающее какие-либо беспокоящие пользователя вещи.
- Adware — программное обеспечение, показывающее рекламу.
- Spyware, если оно занимается сбором малоценной информации — например, конфигурации компьютера, некоторой активности пользователя…
- «Отравленные» документы, дестабилизирующие ПО, открывающее их (например, архив размером меньше мегабайта может содержать гигабайты данных и надолго «завесить» архиватор или компьютер, и даже временно вывести из строя файловую систему или накопитель).
- Руткит нужен, чтобы скрывать другое вредоносное ПО от посторонних глаз.
- Программы, не являющиеся зловредными, но обычно детектируемые антивирусами:
- Программы, считающиеся сомнительными или запрещёнными в той или иной юрисдикции: например, Защитник Windows детектирует множество торрент-клиентов и взломщиков ПО.
- Иногда вредоносное ПО для собственного распространения или вредоносной деятельности устанавливает дополнительные утилиты: IRC-клиенты[12], программные маршрутизаторы[13], открытые библиотеки перехвата клавиатуры, программы удалённого администрирования…[14] Такое ПО вредоносным не является, но из-за того, что за его наличием часто стоит вредоносная программа, о нём могут предупреждать антивирусы. Бывает даже, что вредоносным является только скрипт из одной строчки, а остальные программы вполне легитимны.[15]
По методу размножения
- Эксплойт — теоретически безобидный набор данных (например, графический файл или сетевой пакет), некорректно воспринимаемый программой, работающей с такими данными. Здесь вред наносит не сам файл, а неадекватное поведение ПО с ошибкой, приводящее к уязвимости. Также эксплойтом называют программу для генерации подобных «отравленных» данных.
- Логическая бомба — вредоносная часть компьютерной программы (полезной или нет), срабатывающая при определённом условии.
- Троянская программа не имеет собственного механизма размножения и устанавливается «в придачу» к полезной или под видом полезной. Часто «в придачу» ставят ПО, которое не является истинно вредоносным, но нежелательное — например, adware.
- Компьютерный вирус размножается в пределах компьютера и через сменные диски. Размножение через сеть возможно, если пользователь сам выложит заражённый файл в сеть. Вирусы, в свою очередь, делятся по типу заражаемых файлов (файловые, загрузочные, макро-, автозапускающиеся); по способу прикрепления к файлам (паразитирующие, «спутники» и перезаписывающие) и т. д.
- Сетевой червь способен самостоятельно размножаться по сети. Делятся на IRC-, почтовые, размножающиеся с помощью эксплойтов и т. д.
Вредоносное ПО может образовывать цепочки: например, с помощью эксплойта (1) на компьютере жертвы развёртывается загрузчик (2), устанавливающий из интернета червя-вирус (3-4) с логическими бомбами (5).
- автоматическое открытие окон с незнакомым содержимым при запуске компьютера;
- блокировка доступа к официальным сайтам антивирусных компаний, или же к сайтам, оказывающим услуги по «лечению» компьютеров от вредоносных программ;
- появление новых неизвестных процессов в выводе диспетчера задач (например, окне «Процессы» диспетчера задач Windows);
- появление в ветках реестра, отвечающих за автозапуск, новых записей;
- запрет на изменение настроек компьютера в учётной записи администратора;
- невозможность запустить исполняемый файл (выдаётся сообщение об ошибке);
- появление всплывающих окон или системных сообщений с непривычным текстом, в том числе содержащих неизвестные веб-адреса и названия;
- перезапуск компьютера во время старта какой-либо программы;
- случайное и/или беспорядочное отключение компьютера;
- случайное аварийное завершение программ;
- снижение производительности при достаточном объёме памяти, вплоть до «зависаний» вкупе с аномальным перегреванием системного блока;
- случайное появление синего экрана смерти при запуске компьютера;
- появление неизвестных файлов и каталогов в файловой системе ОС, которые обычно выдают ошибку удаления;
- шифрование или повреждение пользовательских файлов;
- неизвестные изменения в содержимом системных файлов при открытии их в текстовом редакторе;
- быстрая утечка памяти на жёстком диске.
Однако, следует учитывать, что несмотря на отсутствие симптомов, компьютер может быть заражен вредоносными программами, возможно встраивание вредоносного кода в сборку операционной системы, при этом антивирусное ПО может не сигнализировать о заражении при проверке компьютера.
За создание, использование и распространение вредоносных программ предусмотрена различная ответственность, в том числе и уголовная, в законодательстве многих стран мира. В частности, уголовная ответственность за создание, использование и распространение вредоносных программ для ЭВМ предусмотрена в Статье 273 УК РФ[7]. Для того, чтобы программа считалась вредоносной, нужны три критерия:
- Уничтожение информации или нарушение работы. Таким образом, взломщик защиты от копирования — не вредоносная программа. Однако иногда во взломщики добавляют «троянских коней».
- Несанкционированная работа. Определяется обычно от противного: для санкционированной работы программа должна предупредить пользователя о своей опасности и не исполнять опасные функции в неожиданные моменты. Программа форматирования диска, входящая в комплект любой ОС, уничтожает данные, но не является вредоносной, так как её запуск санкционируется пользователем.
- Заведомость — явная цель несанкционированно уничтожить информацию. Программы с ошибкой могут пройти как нарушение прав потребителей или как преступная халатность — но не как вредоносные.
Более чёткие критерии, по которым программные продукты (модули) могут быть отнесены к категории вредоносных программ, до настоящего времени нигде четко не оговорены. Соответственно, для того, чтобы утверждение о вредоносности программы имело юридическую силу, необходимо проведение программно-технической экспертизы с соблюдением всех установленных действующим законодательством формальностей.
Стоит признать, что в РФ нарушение авторских прав часто квалифицируют как «создание и распространение вредоносных программ» — из-за более жёсткого наказания за последнее. Впрочем, создание вредоносных программ — преступление против оператора ЭВМ (владельца аппаратного обеспечения либо уполномоченного им человека), нарушение авторского права — против правообладателя.[16][17]
Программные продукты для защиты от вредоносных программ