Pro Вирусы - Валентин Холмогоров
Шрифт:
Интервал:
Закладка:
Спрос, как известно, рождает предложение, и первая резидентная антивирусная программа под названием DPROTECT, разработанная программистом и основателем американской софтверной компании GEE WIZ Sofware Company Ги Вонгом, появилась в начале 1985 года. Программа DPROTECT распространялась бесплатно, однако желающие могли сделать добровольное пожертвование в размере пяти долларов. Приложение не использовало в своей работе вирусные базы, содержащие сигнатуры вредоносных программ, а отслеживало активность запущенных программ, перехватывая обращения к файловой системе. Таким образом резидентный монитор DPROTECT позволял обезопасить защищаемый компьютер от деструктивных действий вирусов и троянцев, которые могли, например, отформатировать диск или испортить загрузочную запись.
Вторая половина 80-х годов ознаменовалась широкой экспансией на международном рынке персональных компьютеров семейства IBM PC и ростом популярности операционной системы MS-DOS. К этому же периоду относятся и первые масштабные вирусные эпидемии: летом 1986 года множество компьютеров оказались заражены стелс-вирусом Brain. Написанный студентом из Новой Зеландии вирус Stoned, получивший распространение в том же 1987 году, заражал загрузочную запись ПК и блокируя запуск ОС. От этой напасти пострадало несколько тысяч компьютеров по всему миру. А в пятницу, 13 мая 1988 года пользователи познакомились с вирусом Jerusalem, уничтожавшим приложения при попытке их запуска. Эта вредоносная программа вызвала настоящую пандемию, распространившись на территории не только США, но также Европы и Азии. Разумеется, отыскались толковые парни, очень быстро осознавшие, что на компьютерной безопасности можно неплохо заработать — одним из них оказался простой программист из Lockheed Corporation по имени Джон Макафи, выпустивший в 1988 году коммерческий продукт под названием McAfee VirusScan, а в 1989 году основавший компанию имени себя. Вскоре, почувствовав запах прибыли, подтянулись и другие игроки: в 1991 году состоялся релиз первой версии приложения под названием Norton AntiVirus.
Ну, а на отечественном рынке истинным первопроходцем стал Дмитрий Лозинский, разработавший в 1988 году, практически одновременно с Макафи, антивирусную программу-сканер Aidstest, использовавшую технологию сигнатурного поиска угроз. Приложение, дистрибуцией которого занималась компания «Диалог Наука», быстро завоевало заслуженную популярность у пользователей, на долгие годы став своего рода стандартом антивирусного ПО. Дмитрий Николаевич и по сей день вносит ощутимый вклад в борьбу с вирусными угрозами — в качестве одного из ведущих сотрудников компании «Доктор Веб». За минувшие годы мир изменился до неузнаваемости, появились троянцы для различных операционных систем и мобильных платформ, а разработка антивирусного ПО превратилась в целую индустрию. Однако идеи, впервые реализованные Энди Хопкинсом в далеком 1984 году, не утратили своей актуальности и по сей день.
Компоненты антивирусной программы
Антивирусные программы различных производителей включают в себя разное число компонентов, и даже более: одна и та же компания может выпускать несколько версий антивируса, включающих определенный набор модулей и ориентированных на различные сегменты рынка. Например, некоторые антивирусы располагают компонентом Родительского контроля, позволяющего ограничивать доступ несовершеннолетних пользователей компьютера к сайтам определенных категорий, или регулировать время их работы в системе, а некоторые — нет. Так или иначе, обычно современные антивирусные приложения обладают следующим набором функциональных модулей.
Антивирусный сканер — утилита, выполняющая поиск вредоносных программ на дисках и в памяти устройства по запросу пользователя или по расписанию.
Резидентный — компонент, выполняющий отслеживание состояния системы в режиме реального времени и блокирующий попытки загрузки или запуска вредоносных программ на защищаемом компьютере.
Брандмауер (фаервол) — компонент, выполняющий мониторинг текущего соединения, включая анализ входящего и исходящего трафика, а также проверяющий исходный адрес и адрес назначения в каждом передаваемом с компьютера и поступающем на компьютер пакете информации — данные, поступающие из внешней среды на защищенный брандмауэром компьютер без предварительного запроса, отслеживаются и фильтруются. С функциональной точки зрения брандмауэр выступает в роли своеобразного фильтра, контролирующего поток передаваемой между локальным компьютером и Интернетом информации, защитного барьера между компьютером и всем остальным информационным пространством.
Веб-антивирус — компонент, предотвращающий доступ пользователя к опасным ресурсам, распространяющим вредоносное ПО, фишинговым и мошенническим сайтам с использованием специальной базы данных адресов или системы рейтингов.
Почтовый антивирус — приложение, выполняющее проверку на безопасность вложений в сообщения электронной почты и (или) пересылаемых по электронной почте ссылок.
Анти-руткит — модуль, предназначенный для борьбы с руткитами (вредоносными программами, обладающими способностью скрывать свое присутствие в инфицированной системе).
Модуль превентивной защиты — компонент, обеспечивающий целостность жизненно важных для работоспособности системы данных и предотвращающий опасные действия программ.
Модуль обновления — компонент, обеспечивающий своевременное обновление других модулей антивируса и вирусных баз;
Карантин — централизованное защищенное хранилище, в которое помещаются подозрительные (в некоторых случаях — определенно инфицированные) файлы и приложения до момента вынесения в их отношении окончательного вердикта.
В зависимости от версии и назначения антивирусной программы, она может включать в себя и другие функциональные модули, например компоненты для централизованного администрирования, удаленного управления и т. д.
Сигнатурное детектирование
Современные антивирусные программы используют несколько различных методик обнаружения вредоносных программ в различных сочетаниях. Основная из них — это сигнатурное детектирование угроз.
Данный метод детектирования вредоносных программ основывается на создании так называемых сигнатур — уникальных цифровых идентификаторов файла, представляющих собой специальный набор байтов и получаемых на основе содержимого исследуемого файла. Фактически сигнатура представляет собой своего рода «отпечаток пальцев» файла — с помощью сигнатуры можно однозначно идентифицировать тот или иной файл или приложение.
Сигнатуры собираются в набор, называемый вирусными базами. Вирусные базы антивирусных программ периодически обновляются с целью добавления в них сигнатур новых угроз, исследованных за истекшее с момента последнего обновления время в лаборатории антивирусной компании.
В процессе проверки защищаемого устройства антивирусная программа исследует хранящиеся на дисках (или загружаемые из Интернета) файлы и сравнивает результаты исследования с сигнатурами, записанными в антивирусной базе. В случае совпадения такой файл считается вредоносным. Данная методика сама по себе имеет значительный недостаток: злоумышленнику достаточно изменить структуру файла на несколько байт, и его сигнатура изменится. До тех пор, пока новый образец вируса или троянца не попадет в вирусную лабораторию и его сигнатура не будет добавлена в базы, антивирус не сможет распознать и ликвидировать данную угрозу.
Поведенческий анализ
Помимо сигнатурного детектирования большинство современных антивирусных программ используют те или иные механизмы поведенческого анализа. Поведенческий анализ можно отнести к разновидности вероятностного анализа — как следует из наименования данного метода, антивирусная программа следит за поведением приложений, и если оно кажется ей «подозрительным», блокирует работу потенциально опасной программы.
Одним из методов безопасного исследования поведения приложения является его запуск в так называемой песочнице (sandbox) — защищенном изолированном виртуальном контейнере, из которого приложение не может получить доступ к компонентам ОС и файловой системе. Если поведение программы вызывает у антивируса подозрения — например, она пытается встроиться в процессы запущенных приложений (выполнить инжект), модифицировать загрузочную запись, изменить структуру исполняемого файла и т. д., она может быть признана потенциально опасной или вредоносной.
Одним из вариантов поведенческого анализа является, в частности, технология Origin TracingTM, активно применяемая компанией «Доктор Веб» в некоторых программных решениях, например в Антивирусе Dr.Web для Android. В рамках данной технологии для каждого образца вредоносной программы создается специальная запись, описывающая поведение троянца в инфицированной системе. Если приложение, запустившись на устройстве, действует в соответствии с этим шаблоном, оно признается вредоносным. Такой подход позволяет, во-первых, заметно сократить объем вирусных баз (поскольку одной записью в этом случае детектируется целое семейство вредоносных программ), а во-вторых, успешно определять еще неизвестные аналитикам угрозы: если поведение приложения укладывается в эталонную модель, оно будет обезврежено вне зависимости от того, попадал раньше этот образец в вирусную лабораторию на анализ или нет. Нужно отметить, что в мобильной операционной системе Android, где у вредоносных программ (в отличие от Windows) не так много свободы действий, этот метод работает весьма эффективно. Все угрозы с префиксом «origin», детектируемые на смартфонах и планшетах Антивирусом Dr.Web для Android, обезвреживаются при помощи технологии Origin TracingTM.