Обнаружение вирусов ранее неизвестных возможно при использовании
Методы и технологии борьбы с компьютерными вирусами
Массовое распространение вирусов, серьезность последствий их воздействия на ресурсы КС вызвали необходимость разработки и использования специальных антивирусных средств и методов их применения. Антивирусные средства применяются для решения следующих задач:
* обнаружение вирусов в КС;
* блокирование работы программ-вирусов;
* устранение последствий воздействия вирусов.
Обнаружение вирусов желательно осуществлять на стадии их внедрения или, по крайней мере, до начала осуществления деструктивных функций вирусов. Не существует антивирусных средств, гарантирующих обнаружение всех возможных вирусов.
При обнаружении вируса необходимо сразу же прекратить работу программы-вируса, чтобы минимизировать ущерб от его воздействия на систему.
Устранение последствий воздействия вирусов ведется в двух направлениях:
* восстановление (при необходимости) файлов, областей памяти.
Технология восстановления системы зависит от типа вируса, а также от момента времени обнаружения вируса по отношению к началу вредительских действий. Восстановление информации без использования дублирующей информации может быть невыполнимым, если вирусы при внедрении не сохраняют информацию, на место которой они помещаются в память, а также, если деструктивные действия уже начались, и они предусматривают изменения информации.
Для борьбы с вирусами используются программные и аппаратно-программные средства, которые применяются в определенной последовательности и комбинации, образуя методы борьбы с вирусами: методы обнаружения вирусов и методы удаления вирусов.
Известны следующие методы обнаружения вирусов:
1. Сканирование - один из самых простых методов обнаружения вирусов. Сканирование осуществляется программой-сканером, которая просматривает файлы в поисках опознавательной части вируса - сигнатуры. Программа фиксирует наличие уже известных вирусов, за исключением полиморфных вирусов, которые применяют шифрование тела вируса, изменяя при этом каждый раз и сигнатуру. Программы-сканеры могут хранить не сигнатуры известных вирусов, а их контрольные суммы. Программы-сканеры часто могут удалять обнаруженные вирусы. Такие программы называются полифагами.
Метод сканирования применим для обнаружения вирусов, сигнатуры которых уже выделены и являются постоянными. Для эффективного использования метода необходимо регулярное обновление сведений о новых вирусах.
Метод обнаружения изменений базируется на использовании программ-ревизоров. Эти программы определяют и запоминают характеристики всех областей на дисках, в которых обычно размещаются вирусы. При периодическом выполнении программ-ревизоров сравниваются хранящиеся характеристики и характеристики, получаемые при контроле областей дисков. По результатам ревизии программа выдает сведения о предположительном наличии вирусов.
Обычно программы-ревизоры запоминают в специальных файлах образы главной загрузочной записи, загрузочных секторов логических дисков, характеристики всех контролируемых файлов, каталогов и номера дефектных кластеров. Могут контролироваться также объем установленной оперативной памяти, количество подключенных к компьютеру дисков и их параметры.
Имеются у этого метода и недостатки. С помощью программ-ревизоров невозможно определить вирус в файлах, которые поступают в систему уже зараженными. Вирусы будут обнаружены только после размножения в системе. Программы-ревизоры непригодны для обнаружения заражения макровирусами, так как документы и таблицы очень часто изменяются.
2. Эвристический анализ сравнительно недавно начал использоваться для обнаружения вирусов. Как и метод обнаружения изменений, данный метод позволяет определять неизвестные вирусы, но не требует предварительного сбора, обработки и хранения информации о файловой системе.
3. Метод использования резидентных сторожей основан на применении программ, которые постоянно находятся в ОП ЭВМ и отслеживают все действия остальных программ.
Существенным недостатком данного метода является значительный процент ложных тревог, что мешает работе пользователя, вызывает раздражение и желание отказаться от использования резидентных сторожей.
5. Самым надежным методом защиты от вирусов является использование аппаратно-программных антивирусных средств. В настоящее время для защиты ПЭВМ используются специальные контроллеры и их программное обеспечение. Контроллер устанавливается в разъем расширения и имеет доступ к общей шине. Это позволяет ему контролировать все обращения к дисковой системе.
В программном обеспечении контроллера запоминаются области на дисках, изменение которых в обычных режимах работы не допускается. Таким образом, можно установить защиту на изменение главной загрузочной записи, загрузочных секторов, файлов конфигурации, исполняемых файлов и др.
При выполнении запретных действий любой программой контроллер выдает соответствующее сообщение пользователю и блокирует работу ПЭВМ.
Аппаратно-программные антивирусные средства обладают рядом достоинств перед программными:
* обнаруживают все вирусы, независимо от механизма их действия;
* блокируют неразрешенные действия, являющиеся результатом работы вируса или неквалифицированного пользователя.
Недостаток у этих средств один - зависимость от аппаратных средств ПЭВМ. Изменение последних ведет к необходимости замены контроллера.
Не надо ждать, пока вирусы заразят ваш компьютер и успеют испортить хранимые в нем данные. Чем раньше начнется подготовка к нападению вирусов - тем лучше. Правильно организованная защита позволит сразу обнаружить появившийся вирус и он не сможет нанести программному обеспечению и вашим данным большого урона.
Основным средством борьбы с вирусами остаются антивирусные программы. В этой главе мы приведем основные сведения об антивирусных программах, приведем несколько примеров их использования.
Однако даже без применения антивирусных программ можно постараться предотвратить проникновение вирусов в компьютер и постараться уменьшить вред, который они нанесут в случае заражения.
Для тех, кто не смог уберечь свой компьютер от вирусов, мы дадим советы, как предотвратить дальнейшее распространение вируса и удалить его, максимально сохранив свои данные.
Методы обнаружения вирусов
Вы можете пользоваться антивирусным программным обеспечением, не имея представления о том, как оно устроено. Однако, в настоящее время существует очень много антивирусных программ, так что вам так или иначе придется на чем-то остановить свой выбор. Чтобы этот выбор был по возможности обоснован и установленные программы обеспечивали максимальную степень защиты от вирусов, необходимо изучить методики, применяемые этими программами.
Существует несколько основопологающих методик обнаружения и защиты от вирусов. Антивирусные программы могут реализовывать только некоторые методики или их комбинации.
· Аппаратная защита от вирусов
Кроме того, большинство антивирусных программ обеспечивают автоматическое восстановление зараженных программ и загрузочных секторов.
В первой главе мы уже рассказали о различных типах вирусов и о способах их распространения. Перед тем как приступить к рассмотрению антивирусных средств, перечислим области файловой системы компьютера, которые подвергаются заражению вирусами и которые необходимо проверять:
· Выполнимые файлы программ, драйверов
· Главная загрузочная запись и загрузочные секторы
· Файлы конфигурации AUTOEXEC.BAT и CONFIG.SYS
· Документы в формате текстового процессора Microsoft Word for Windows
Когда резидентный вирус становится активным, он помещает свой постоянно работающий модуль в оперативной памяти компьютера. Поэтому антивирусные программы должны выполнять проверку оперативной памяти. Так как вирусы могут использовать не только стандартную память, то желательно выполнять проверку верхней памяти. Например, антивирус Doctor Web проверяет первые 1088 Кбайт оперативной памяти.
Самая простая методика поиска вирусов, заключается в том, что антивирусная программа последовательно просматривает проверяемые файлы в поиске сигнатур известных вирусов. Под сигнатурой понимается уникальная последовательность байт, принадлежащая вирусу, и не встречающаяся в других программах.
Определение сигнатуры вируса довольно сложная задача. Сигнатура не должна содержаться в нормальных программах, не зараженных данным вирусом. В противном случае возможны ложные срабатывания, когда вирус обнаруживается в совершенно нормальной, не зараженной программе.
Конечно, программам-сканерам не обязательно хранить в себе сигнатуры всех известных вирусов. Они могут, например, хранить только контрольные суммы сигнатур.
Антивирусные программы-сканеры, которые могут удалить обнаруженные вирусы, обычно называются полифагами. Самой известной программой-сканером является Aidstest Дмитрия Лозинского. Aidstest выполняет поиск вирусов по их сигнатурам. Поэтому он обнаруживает только простейшие полиморфные вирусы.
В первой главе мы рассказывали о так называемых шифрующихся и полиморфных вирусах. Полиморфные вирусы полностью изменяют свой код при заражении новой программы или загрузочного сектора. Если вы выделите два экземпляра одного и того же полиморфного вириуса, то они могут не совпадать ни в одном байте. Как следствие, для таких вирусов невозможно определить синатуру. Поэтому простые антивирусные программы-сканеры не могут обнаружить полиморфные вирусы.
Антивирусные программы-сканеры могут обнаружить только уже известные вирусы, которые были предварительно изучены и для которых была определена сигнатура. Таким образом, использование программ-сканеров не защищает ваш компьютер от проникновения новых вирусов.
Для эффективного использования антивирусных программ, реализующих метод сканирования, необходимо постоянно обновлять их, получая самые последние версии.
Эвристический анализ является относительно новым методом в обнаружении вирусов. Он позволяет обнаруживать ранее неизвестные вирусы, причем для этого не надо предварительно собирать данные о файловой системе, как этого требует метод обнаружения изменений.
Антивирусные программы, реализующие метод эвристического анализа, проверяют программы и загрузочные секторы дисков и дискет, пытаясь обнаружить в них код, характерный для вирусов. Так например, эвристический анализатор может обнаружить, что в проверяемой программе присутствует код, устанавливающий резидентный модуль в памяти.
Антивирусная программа Doctor Web, входящая в состав комплекта AO “ДиалогНаука”, имеет мощный эвристический анализатор, позволяющий обнаружить большое количество новых вирусов.
Если эвристический анализатор сообщает, что файл или загрузочный сектор возможно заражен вирусом, вы должны отнестись к этому с большим вниманием. Желательно исследовать такие файлы с помощью самых последних версий антивирусных программ или направить их для детального изучения в АО “ДиалогНаука”.
В комплект IBM AntiVirus входит специальный модуль, ориентированный на обнаружение вирусов в загрузочных секторах. Этот модуль использует запатентованную технологию (patent-pending neural network technology from IBM) эвристического анализа и позволяет определить, заражен ли загрузочный сектор вирусом.
Когда вирус заражает компьютер, он обязательно делает изменения на жестком диске, например, дописывает свой код в выполнимый файл, добавляет вызов программы-вируса в файл AUTOEXEC.BAT, изменяет загрузочный сектор, создает файл-спутник.
Антивирусные программы могут предварительно запомнить характеристики всех областей диска, которые подвергаются нападению вируса, а затем периодически проверять их (отсюда происходит их название программы-ревизоры). Если будет обнаружено изменение, тогда возможно что на компьютер напал вирус.
Обычно программы-ревизоры запоминают в специальных файлах образы главной загрузочной записи, загрузочных секторов логических дисков, параметры всех контролируемых файлов, а также информацию о структуре каталогов и номера плохих кластеров диска. Могут проверяться и другие характеристики компьютера - объем установленной оперативной памяти, количество подключенных к компьютеру дисков и их параметры.
Программы-ревизоры могут обнаружить большинство вирусов, деже тех, которые ранее не были известны. Вирусы, заражающие файлы программ только при их копировании, ревизоры как правило обнаружить не могут, так как они не знают параметров файла, которые были до копирования.
Однако следует учитывать, что не все изменения вызваны вторжением вирусов. Так, загрузочная запись может изменится при обновлении версии операционной системы, а некоторые программы записывают внутри своего выполнимого файла данные. Командные файлы изменяются еще чаще, например, файл AUTOEXEC.BAT обычно изменяется во время установки нового программного обеспечения.
Программы-ревизоры не помогут и в том случае, когда вы записали в компьютер новый файл, зараженный вирусом. Правда, если вирус заразит другие программы, уже учтенные ревизором, он будет обнаружен.
Простейшая программа-ревизор Microsoft Anti-Virus (MSAV) входит в состав операционной системы MS-DOS. Основным, и возможно единственным ее достоинством является то, что на нее не нужно дополнительно тратить деньги.
Значительно более развитые средства контроля предоставляет программа-ревизор Advanced Diskinfoscope (ADinf), входящая в состав антивирусного комплекта АО “ДиалогНаука”. Более подробно мы рассмотрим эти средства в следующем разделе, а сейчас только заметим, что вместе с ADinf вы можете использовать лечащий модуль ADinf Cure Module (ADinfExt). ADinf Cure Module использует собранную ранее информацию о файлах для восстановления их после поражения неизвестными вирусами.
Конечно, не все вирусы могут быть удалены ADinf Cure Module и другими программными средствами, основанными на контроле и периодической проверке компьютера. Например, если новый вирус шифрует диск, как это делает вирус OneHalf, тогда его удаление без расшифровки диска скорее всего приведет к потере информации. Вирусы такого типа могут быть удалены только после внимательного изучения специалистами и включения модулей для борьбы с ними в обычные полифаги - Aidstest или Doctor Web.
Известные нам на момент написания книги антивирусные программы-ревизоры непригодны для обнаружения вирусов в файлах документов, так как они по своей сути постоянно изменяются. Ряд программ после внедрения в них кода вакцины перестают работать. Поэтому для контроля за ними следует использовать программы-сканеры или эвристический анализ.
Существует еще целый класс антивирусных программ, которые постоянно находятся в оперативной памяти компьютера, и отслеживают все подозрительные действия, выполняемые другими программами. Такие программы носят название резидентных мониторов или сторожей.
Резидентный монитор сообщит пользователю, если какая-либо программа попытается изменить загрузочный сектор жесткого диска или дискеты, выполнимый файл. Резидентный монитор сообщит вам, что программа пытается оставить в оперативной памяти резидентный модуль и т. д.
Большинство резидентных мониторов позволяют автоматически проверять все запускаемые программы на заражение известными вирусами, тоесть выполняют функции сканера. Такая проверка будет занимать некторое время и процесс загрузки программы замедлится, но зато вы будете уверены, что известные вирусы не смогут активизироваться на вашем компьютере.
К сожалению, резидентные мониторы имеют очень много недостатков, которые делают этот класс программ малопригодными для использования.
Многие программы, даже не содержащие вирусов, могут выполнять действия, на которые реагируют резидентные мониторы. Например, обычная команда LABEL изменяет данные в загрузочном секторе и вызывает срабатывание монитора.
Поэтому работа пользователя будет постоянно прерываться раздражающими сообщениями антивируса. Кроме того, пользователь должен будет каждый раз решать, вызвано ли это срабатывание вирусом или нет. Как показывает практика, рано или поздно пользователь отключает резидентный монитор.
И наконец, самый маленький недостаток резидентных мониторов заключается в том, что они должны быть постоянно загружены в оперативную память и, следовательно, уменьшают объем памяти, доступной другим программам.
В составе операционной системы MS-DOS уже есть резидентный антивирусный монитор VSafe.
Для того, чтобы человек смог избежать некоторых заболеваний, ему делают прививку. Существует способ защиты программ от вирусов, при котором к защищаемой программе присоединяется специальный модуль контроля, следящий за ее целостностью. При этом может проверяться контрольная сумма программы или какие-либо другие характеристики. Когда вирус заражает вакцинированный файл, модуль контроля обнаруживает изменение контрольной суммы файла и сообщает об этом пользователю.
Увы, в отличие от прививок человеку, вакцинирование программ во многих случаях не спасает их от заражения. Стелс-вирусы легко обманывают вакцину. Зараженные файлы работают также как обычно, вакцина не обнаруживает заражения. Поэтому мы не станем останавливаться на вакцинах и продолжим рассмотрение других средств защиты.
На сегодняшний день одним из самых надежных спсобов защиты компьютеров от нападений вирусов являются аппаратно-программные средства. Обычно они представляют собой специальный контроллер, вставляемый в один из разъемов расширения компьютера и программное обеспечение, управляющее работой этого контроллера.
Благодаря тому, что контроллер аппаратной защиты подключен к системной шине компьютера, он получает полный контроль над всеми обращениями к дисковой подсистеме компьютера. Программное обеспечение аппаратной защиты позволяет указать области файловой системы, которые нельзя изменять. Вы можете защитить главную загрузочную запись, загрузочные сектора, выполнимые файлы, файлы конфигурации и т. д.
Если аппаратно-программный комплекс обнаружит, что какая-либо программа пытается нарушить установленную защиту, он может сообщить об этом пользователю и заблокировать дальнейшею работу компьютера.
Аппаратный уровень контроля за дисковой подсистемой компьютера не позволяет вирусам замаскировать себя. Как только вирус проявит себя, он сразу будет обнаружен. При этом совершенно безразлично, как работает вирус и какие средства он использует для доступа к дискам и дискетам.
Аппаратно-программные средства защиты позволяют не только защитить компьютер от вирусов, но также вовремя пресечь работу троянских программ, нацеленных на разрушение файловой системы компьютера. Кроме того аппаратно-программные средства позволяют защитить компьютер от неквалифицированного пользователя и злоумышленника, они не дадут ему удалить важную информацию, отформативать диск, изменить файлы конфигурации.
В настоящее время в России серийно производится только аппаратно-программный комплекс Sheriff. Он надежно предотвратит заражение компьютера, позволит пользователю тратить значительно меньше времени на антивирусный контроль компьютера обычными программными средствами.
За рубежом производится намного больше средств аппаратно-программной защиты, но их цена занчительно выше, чем у Sheriff и составляет несколько сотен американских долларов. Вот несколько названий таких комплексов:
Антивирусная программа предназначена для обнаружения и обезвреживания угроз безопасности. Интересно, что в процессе эволюции антивирусы совершенствовали методы обнаружения: от определения вредоносов по сигнатурам до эвристического анализа и выявления подозрительного поведения.
Антивирусы делятся на сканеры и резидентные модули. Сканеры находят файлы на дисках, читают их и делают вывод об инфицировании вирусом. Резидентные антивирусы постоянно работают в оперативной памяти и проверяют каждый новый файл и программу на заражение вирусом. При таком подходе расходуются ресурсы компьютера: процессор и оперативная память. Именно из-за этого некоторые пользователи не любят антивирусы, не хотят собственноручно замедлять работу компьютера. Но работать без антивируса сегодня небезопасно, так можно делать только в случае полной уверенности в своих действиях и посещаемых ресурсах в интернете.
Методы обнаружения вредоносного ПО
В самом простом случае используется определение по сигнатурам. Сигнатура – это кусок кода вируса, который не изменяется. Базы данных антивирусов содержат именно сигнатуры известных вирусов. Простое сравнение программного кода по базе сигнатур 100% позволяет определить есть вирус или нет. Но и вирусы не стоят на месте, они используют полиморфные алгоритмы, с помощью которых сигнатура меняется. Также создаются новые вирусы, которые невозможно определить по имеющимся базам.
Следующим методом стал эвристический анализ, который более интеллектуально подходит к обнаружению угроз. Эвристический анализатор выявляет паттерны, т.е. закономерности поведения вирусов и таким образом может определить угрозу ещё до того, как станет известна её сигнатура. Так, например, под особым контролем программы, которые создают резидентные модули в памяти, напрямую обращаются к файловой системе или к загрузочным секторам, перехватывают программные и аппаратные прерывания, изменяют исполняемые (.exe) файлы.
Какие угрозы обнаруживаются антивирусами
Стоит отметить, что на самом деле вирус и вредоносная программа, это немного разные определения. Вредоносное ПО – это любой программный код, цель которого нанести вред или ущерб компьютеру, операционной системе или лично человеку, похитив конфиденциальные данные (пароли, данные кредитных карт, деньги с электронных кошельков). Вирус же способен самореплицироваться, т.е. самостоятельно распространяться, заражая другие программы и компьютеры. Пользователю нужно запустить вирус или инфицированную программу, чтобы он начал вредить.
Червь, в отличии от вируса, существует самостоятельно, не заражая другие файлы. Для заражения червём не требуется запуск заражённой программы или посещение инфицированного сайта. Червь использует сетевые уязвимости и эксплоиты операционки Windows. Эксплоит (exploit) – это код, последовательность команд, которая использует обнаруженную хакером брешь в системе безопасности, например ошибку при переполнении буфера, которая позволяет выполнить любой код.
Поэтому червь пролазит в компьютер сам, и затем дальше ищет другие уязвимости в сетях, к которым подключён компьютер. Червь может выполнять любые злонамеренные действия: кража паролей, шифрование файлов, нарушение работы ОС, перезагружать компьютер и т.д.
- Получают доступ к ядру ОС
- Изменяют системные файлы
- Маскируются под системные процессы
- Загружаются до запуска операционной системы
- Работают в теневом режиме
Всё это осложняет обнаружение и удаление руткитов.
Spyware – шпионские программы, которые следят за активностью пользователя в сети, запоминают нажатия клавиш, находят данные карт, кошельков, документы и передают их хакеру.
Adware – рекламное ПО, показывает рекламу в всплывающих окнах. Adware (ad, реклама) может долго оставаться незамеченным, внедряя рекламные баннеры на посещаемые сайты или заменяя имеющуюся рекламу на свою. Переход по рекламным ссылкам может повлечь заражение трояном или руткитом.
Ransomware – это вымогатели, которые шифруют личные и рабочие документы на дисках. Вымогатель требует выкуп за получение ключа расшифровки. Как правило, выкуп просят в биткоинах, но никакого ключа расшифровки не существует. Лечения от вымогателя не существует, данные теряются навсегда.
Следуйте правилам безопасности, работая за компьютером и в интернете, используйте антивирусное ПО, например Total AV.
Как следует из определения, основными задачами антивируса является:
- Препятствование проникновению вирусов в компьютерную систему
- Обнаружение наличия вирусов в компьютерной системе
- Устранение вирусов из компьютерной системы без нанесения повреждений другим объектам системы
- Минимизация ущерба от действий вирусов
Технологии, применяемые в антивирусах, можно разбить на две группы -
- Технологии сигнатурного анализа
- Технологии вероятностного анализа
Сигнатурный анализ является наиболее известным методом обнаружения вирусов и используется практически во всех современных антивирусах. Для проведения проверки антивирусу необходим набор вирусных сигнатур, который хранится в антивирусной базе.
Ввиду того, что сигнатурный анализ предполагает проверку файлов на наличие сигнатур вирусов, антивирусная база нуждается в периодическом обновлении для поддержания актуальности антивируса. Сам принцип работы сигнатурного анализа также определяет границы его функциональности - возможность обнаруживать лишь уже известные вирусы - против новых вирусов сигнатурный сканер бессилен.
С другой стороны, наличие сигнатур вирусов предполагает возможность лечения инфицированных файлов, обнаруженных при помощи сигнатурного анализа . Однако, лечение допустимо не для всех вирусов - трояны и большинство червей не поддаются лечению по своим конструктивным особенностям, поскольку являются цельными модулями, созданными для нанесения ущерба.
Грамотная реализация вирусной сигнатуры позволяет обнаруживать известные вирусы со стопроцентной вероятностью.
Технологии вероятностного анализа в свою очередь подразделяются на три категории:
- Эвристический анализ
- Поведенческий анализ
- Анализ контрольных сумм
В процессе эвристического анализа проверяется структура файла, его соответствие вирусным шаблонам. Наиболее популярной эвристической технологией является проверка содержимого файла на предмет наличия модификаций уже известных сигнатур вирусов и их комбинаций. Это помогает определять гибриды и новые версии ранее известных вирусов без дополнительного обновления антивирусной базы.
Эвристический анализ применяется для обнаружения неизвестных вирусов, и, как следствие, не предполагает лечения.
Данная технология не способна на 100% определить вирус перед ней или нет, и как любой вероятностный алгоритм грешит ложными срабатываниями.
Поведенческий анализ весьма узко применим на практике, так как большинство действий, характерных для вирусов, могут выполняться и обычными приложениями. Наибольшую известность получили поведенческие анализаторы скриптов и макросов, поскольку соответствующие вирусы практически всегда выполняют ряд однотипных действий. Например, для внедрения в систему, почти каждый макровирус использует один и тот же алгоритм : в какой-нибудь стандартный макрос , автоматически запускаемый средой Microsoft Office при выполнении стандартных команд (например, " Save ", " Save As ", " Open ", и т.д.), записывается код, заражающий основной файл шаблонов normal. dot и каждый вновь открываемый документ.
Средства защиты, вшиваемые в BIOS , также можно отнести к поведенческим анализаторам. При попытке внести изменения в MBR компьютера, анализатор блокирует действие и выводит соответствующее уведомление пользователю.
Помимо этого поведенческие анализаторы могут отслеживать попытки прямого доступа к файлам, внесение изменений в загрузочную запись дискет, форматирование жестких дисков и т. д.
Поведенческие анализаторы не используют для работы дополнительных объектов, подобных вирусным базам и, как следствие, неспособны различать известные и неизвестные вирусы - все подозрительные программы априори считаются неизвестными вирусами. Аналогично, особенности работы средств, реализующих технологии поведенческого анализа, не предполагают лечения.
Как и в предыдущем случае, возможно выделение действий, однозначно трактующихся как неправомерные - форматирование жестких дисков без запроса, удаление всех данных с логического диска, изменение загрузочной записи дискеты без соответствующих уведомлений и пр. Тем не менее, наличие действий неоднозначных - например, макрокоманда создания каталога на жестком диске, заставляет также задумываться о ложных срабатываниях и, зачастую, о тонкой ручной настройке поведенческого блокиратора.
Анализаторы контрольных сумм (также используется название "ревизоры изменений") как и поведенческие анализаторы не используют в работе дополнительные объекты и выдают вердикт о наличии вируса в системе исключительно методом экспертной оценки. Большая популярность анализа контрольных сумм связана с воспоминаниями об однозадачных операционных системах, когда количество вирусов было относительно небольшим, файлов было немного и менялись они редко. Сегодня ревизоры изменений утратили свои позиции и используются в антивирусах достаточно редко. Чаще подобные технологии применяются в сканерах при доступе - при первой проверке с файла снимается контрольная сумма и помещается в кэше, перед следующей проверкой того же файла сумма снимается еще раз, сравнивается, и в случае отсутствия изменений файл считается незараженным.
Подводя итоги обзора технологий, применяемых в антивирусах, отметим, что сегодня практически каждый антивирус использует несколько из перечисленных выше технологий, при этом использование сигнатурного и эвристического анализа для проверки файлов и именно в этом порядке является повсеместным. В дальнейшем средства, реализующие комбинацию сигнатурного и эвристического анализа, мы будем называть антивирусными сканерами.
Вторая группа технологий более разнородна, поскольку ни один из применяемых подходов не дает гарантии обнаружения неизвестных вирусов. Очевидно, что и совместное использование всех этих технологий не дает такой гарантии. На сегодняшний день лучшим способом борьбы с новыми угрозами является максимально быстрое реагирование разработчиков на появление новых экземпляров вирусов выпуском соответствующих сигнатур. Также, учитывая наличие активных вредоносных программ, необходимо не менее быстро реагировать на обнаружение новых уязвимостей в операционных системах и устанавливать соответствующие заплаты безопасности.
Как работают современные антивирусные программы и какие методы используют злоумышленники для борьбы с ними? Об этом — сегодняшняя статья.
Как антивирусные компании пополняют базы?
Как образцы вредоносов попадают в вирусные лаборатории? Каналов поступления новых семплов у антивирусных компаний традиционно несколько. Прежде всего, это онлайн-сервисы вроде VirusTotal, то есть серверы, на которых любой анонимный пользователь может проверить детектирование произвольного файла сразу десятком самых популярных антивирусных движков. Каждый загруженный образец вне зависимости от результатов проверки автоматически отправляется вендорам для более детального исследования.
Очевидно, что с подобных ресурсов в вирусные лаборатории прилетает огромный поток мусора, включая совершенно безобидные текстовые файлы и картинки, поэтому на входе он фильтруется специально обученными роботами и только после этого передается по конвейеру дальше. Этими же сервисами успешно пользуются небольшие компании, желающие сэкономить на содержании собственных вирусных лабораторий. Они тупо копируют в свои базы чужие детекты, из-за чего регулярно испытывают эпические фейлы, когда какой-нибудь вендор в шутку или по недоразумению поставит вердикт infected на тот или иной компонент такого антивируса, после чего тот радостно переносит в карантин собственную библиотеку и с грохотом валится, вызывая баттхерт у пользователей и истерический хохот у конкурентов.
После того как семпл попадает в вирусную лабораторию, он сортируется по типу файла и исследуется автоматическими средствами аналитики, которые могут установить вердикт по формальным или техническим признакам — например, по упаковщику. И только если роботам раскусить вредоноса не удалось, он передается вирусным аналитикам для проведения инструментального или ручного анализа.
Анатомия антивируса
Антивирусные программы различных производителей включают в себя разное число компонентов, и даже более того, одна и та же компания может выпускать несколько версий антивируса, включающих определенный набор модулей и ориентированных на различные сегменты рынка. Например, некоторые антивирусы располагают компонентом родительского контроля, позволяющего ограничивать доступ несовершеннолетних пользователей компьютера к сайтам определенных категорий или регулировать время их работы в системе, а некоторые — нет. Так или иначе, обычно современные антивирусные приложения обладают следующим набором функциональных модулей:
- антивирусный сканер — утилита, выполняющая поиск вредоносных программ на дисках и в памяти устройства по запросу пользователя или по расписанию;
- резидентный монитор — компонент, выполняющий отслеживание состояния системы в режиме реального времени и блокирующий попытки загрузки или запуска вредоносных программ на защищаемом компьютере;
- брандмауэр (файрвол) — компонент, выполняющий мониторинг текущего соединения, включая анализ входящего и исходящего трафика, а также проверяющий исходный адрес и адрес назначения в каждом передаваемом с компьютера и поступающем на компьютер пакете информации — данные, поступающие из внешней среды на защищенный брандмауэром компьютер без предварительного запроса, отслеживаются и фильтруются. С функциональной точки зрения брандмауэр выступает в роли своеобразного фильтра, контролирующего поток передаваемой между локальным компьютером и интернетом информации, защитного барьера между компьютером и всем остальным информационным пространством;
- веб-антивирус — компонент, предотвращающий доступ пользователя к опасным ресурсам, распространяющим вредоносное ПО, фишинговым и мошенническим сайтам с использованием специальной базы данных адресов или системы рейтингов;
- почтовый антивирус — приложение, выполняющее проверку на безопасность вложений в сообщения электронной почты и (или) пересылаемых по электронной почте ссылок;
- модуль антируткит — модуль, предназначенный для борьбы с руткитами (вредоносными программами, обладающими способностью скрывать свое присутствие в инфицированной системе);
- модуль превентивной защиты — компонент, обеспечивающий целостность жизненно важных для работоспособности системы данных и предотвращающий опасные действия программ;
- модуль обновления — компонент, обеспечивающий своевременное обновление других модулей антивируса и вирусных баз;
- карантин — централизованное защищенное хранилище, в которое помещаются подозрительные (в некоторых случаях — определенно инфицированные) файлы и приложения до того, как по ним будет вынесен окончательный вердикт.
В зависимости от версии и назначения антивирусной программы, она может включать в себя и другие функциональные модули, например компоненты для централизованного администрирования, удаленного управления.
Современные антивирусные программы используют несколько методик обнаружения вредоносных программ в различных их сочетаниях. Основная из них — это сигнатурное детектирование угроз.
Сигнатуры собираются в блок данных, называемый вирусными базами. Вирусные базы антивирусных программ периодически обновляются, чтобы добавить в них сигнатуры новых угроз, исследованных за истекшее с момента последнего обновления время.
Антивирусная программа исследует хранящиеся на дисках (или загружаемые из интернета) файлы и сравнивает результаты исследования с сигнатурами, записанными в антивирусной базе. В случае совпадения такой файл считается вредоносным. Данная методика сама по себе имеет значительный изъян: злоумышленнику достаточно изменить структуру файла на несколько байтов, и его сигнатура изменится. До тех пор пока новый образец вредоноса не попадет в вирусную лабораторию и его сигнатура не будет добавлена в базы, антивирус не сможет распознать и ликвидировать данную угрозу.
Читайте также: