Сергей Яремчук - Защита вашего компьютера
Значки – это отдельная тема. Большинство пользователей до сих пор думают, что запускаемую программу определяет значок. Щелкнув на значке с изображением калькулятора, они ожидают, что запустится именно калькулятор, а не какой-нибудь W32.Bagle-А. Этим пользуются злоумышленники: высылают файл с двойным расширением типа creditcard.doc.exe и значком, обычно используемым для документов Microsoft Word. Второе расширение чаще всего скрыто, и пользователь не сомневается, что по почте пришел именно текстовый документ.
В ближайшее время компьютерная грамотность вряд ли достигнет уровня, когда можно будет забыть о человеческом факторе, поэтому един ственный совет, который можно дать, – будьте бдительны и внимательны, критически относитесь к различным предложениям и не открывайте подозрительные письма.
Глава 2
Антивирусные программы
Принцип работы антивируса
Компоненты современного антивируса
Известные антивирусные программы
Программы для поиска руткитов
В первой главе вы ознакомились с опасностями, которые подстерегают компьютер во время работы. Теперь следует научиться бороться с ними.
2.1. Принцип работы антивируса
Пользователь часто может сам обнаружить присутствие вируса на компьютере. Например, о заражении системы почтовым червем Email-Worm.Win32.NetSky.b можно судить по возрастанию загрузки процессора до 90 % и активной работе жесткого диска (в результате деятельности червя в различных каталогах создается около 2,5 тыс. файлов).
Однако так бывает не всегда, поэтому лучше поручить обнаружение вирусов специализированным программам, тем более что иногда признаки, которые пользователь расценивает как результат действия вируса, могут характеризовать системные или аппаратные сбои.
Для борьбы с компьютерными вирусами применяются антивирусные программы. История развития антивирусов – это смена поколений программ, когда устаревшие методы борьбы заменяются более эффективными технологиями. Появление новых вирусов, использующих неизвестную брешь в операционной системе или новый механизм размножения, делает неэффективными старые технологии обнаружения. Это влечет за собой адекватные действия со стороны разработчиков антивирусных программ, направленные на нейтрализацию угрозы. Так было до появления первого бестелесного вируса, который не образовывал файлы. Возникла необходимость проверки архивов, электронной почты, макросов документов Microsoft Office, поэтому исчезли иммунизаторы, которые были популярны в начале истории персональных компьютеров.
Примечание
Иммунизаторы могли сообщить о заражении либо блокировать попытку заражения файла определенным вирусом, но они не получили широкого распространения и в настоящее время практически не используются.
Прежде чем приступить к рассмотрению работы конкретных антивирусных программ, следует познакомиться с некоторыми принципами их работы. Основываясь на них, вам будет легче ориентироваться при выборе нужного решения, видеть реальные возможности антивируса, его слабые и сильные стороны. Можете пропустить этот раздел и вернуться к нему позже.
Сигнатурный анализ
Одной из основных частей любого антивируса является движок, или ядро, – модуль, который отвечает за обнаружение вредоносных программ. Именно от его эффективности и используемых методов поиска зависит качество работы антивируса и возможности обнаружения вирусов и других зловредных программ.
Для детектирования вирусов в каждом движке реализовано несколько технологий. Самые известные из них – поиск по сигнатурам и эвристический анализатор.
Сигнатура представляет собой уникальную для каждого вируса строку, которая однозначно указывает на определенную вредоносную программу. При появлении нового вируса его код анализируется специалистами и сигнатура заносится в антивирусную базу. Этот способ – самый эффективный, так как позволяет почти со стопроцентной вероятностью определить наличие известного вируса.
Неизвестный вирус пройдет через такой детектор незамеченным. На анализ и выработку сигнатуры нового вируса уходит некоторое время, в течение которого любой компьютер беззащитен. Ошибка при выборе сигнатуры может привести к тому, что подозрение может пасть на незараженный файл. Такие случаи нельзя назвать редкими: однажды подозрение пало на программу Punto Switcher, которая находилась на компакт-диске, приложенном к журналу. Антивирус Avast! находил в этом файле троянца. Проверки с помощью других антивирусов показывали, что файл чист.
Совет
Антивирус может ошибаться, обнаруживая в чистом файле вирус или не замечая существующий вирус. В случае сомнения для проверки файла можно воспользоваться любым доступным онлайн-антивирусом.
Каждый разработчик антивирусной программы, как правило, имеет на своем сайте функцию онлайн-проверки; есть сервисы, проверяющие файл сразу несколькими антивирусами. Например, сервис Virustotal (http://www.virustotal.com/en/indexf.html) позволяет проверить подозрительный файл с помощью 32 различных антивирусов. Я отправил для проверки файл, зараженный не самым старым трояном. В результате вирус обнаружили только 17 из 32 антивирусов (рис. 2.1).
Рис. 2.1. Проверка файла в Virustotal
Еще одно неудобство сигнатурного метода связано с тем, что пользователь вынужден постоянно обновлять антивирусные базы, размер которых иногда велик. Если этого не делать, компьютер может оказаться незащищенным. Сначала для определения эффективности антивируса кроме других показателей руководствовались количеством записей в антивирусной базе. Однако время показало, что иногда разработчики антивирусного программного обеспечения заносят в базу приложения, не относящиеся к вирусам, в том числе безвредные. Производители часто используют для подсчета количества записей разные методики, например модификации одного вируса считают как несколько вирусов и наоборот, поэтому в последнее время критерием качества работы является скорость реакции антивирусной компании по занесению нового вируса в базу. Чем быстрее генерируется новая сигнатура, тем лучше защищен пользователь.
Разная скорость работы антивирусных лабораторий привела к тому, что сегодня стали появляться решения, имеющие два и более ядра, выполненные различными производителями. Это снижает производительность системы (проверка несколькими ядрами требует больших ресурсов), однако безопасность превыше всего.
Эвристика
Когда новые вирусы начали появляться почти ежедневно, эксперты задумались, как это остановить. В результате были созданы две технологии: эвристический анализатор и поведенческие блокираторы. В настоящее время появился термин проактивная защита, который объединяет эти понятия.
В процессе работы эвристический анализатор проверяет код приложений, макросов и сценариев и пытается найти в них подозрительные команды или действия. Если количество последних превысит некий барьер, можно сделать вывод об их вирусном происхождении.
Наиболее эффективны динамические анализаторы, запускающие приложение посредством эмуляции. Подобным образом действуют поведенческие блокираторы, только вместо эмуляции запуска программ они работают в реальной среде, анализируя последовательность операций приложения.
С помощью блокиратора можно обнаружить:
• некоторые полиморфные вирусы;
• руткиты;
• попытки внедрения одной программы в другую.
Блокиратор также контролирует целостность системных файлов и реестра
Windows и при необходимости производит откат.
При обнаружении подозрительных моментов пользователю часто выдается запрос о дальнейших действиях. Если пользователь недостаточно подготовлен, чтобы разобраться в проблеме, он может принять неправильное решение, что обесценит защиту. Идеально работающего эвристического анализатора еще не существует. Эта технология часто ошибается, пропуская вирус или, наоборот, подозревая безобидную программу. Разработчики поведенческих блокираторов и эвристических анализаторов составляют набор правил на основе изучения вредоносных программ и также могут ошибаться. У злоумышленников всегда есть возможность изучить реакцию системы защиты и выработать алгоритм заражения, при котором защита не сработает.
Внимание!
Многочисленные тесты показывают, что ни одна антивирусная программа не может обнаружить все вирусы, поэтому всегда существует вероятность, что вирус будет пропущен. Однако есть шанс, что пропущенное вредоносное приложение остановит система защиты антивируса.
Стоит также отметить, что часто разработчики связаны слабыми возможностями движка, которому приходится поддерживать антивирусные базы, поэтому эвристику и поведенческие блокираторы в антивирусах следует рассматривать не как основные, а как дополнительные средства обнаружения, часто усеченные по возможностям.