Миф: Антивирусы и фаерволы – 100% защита

Суть мифа: достаточно поставить антивирус и фаервол и можно не беспокоиться о безопасности – вирусы не страшны, трояны и черви сделать ничего не смогут и т.п.

Давно уже хотелось написать эту статью, но вот негде было. Теперь есть и вот пишу.

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

А теперь конкретнее…

Доступность современных компьютеров и соответсвенно повсеместная компьютеризация привели к тому, что уровень знаний среднестатистичесного пользователя резко упал. Это давно известный факт, наверное, сейчас даже не я сформулировал предыдущее предложение, а моя память выдала кусок какого-то текста. Но это не важно…

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

Каждая компания уверяет, что ее продукт лучше, потому что быстрее, умнее, ест меньше ресурсов и т.д.

Но вот после того, как антивирусы раз за разом не могут помочь в борьбе с вирусами и прочими “прелестями”, в мозгу все отчетливее проявляется мысль, что тебя обманывают. Даже больше – что полезность антивирусов совсем не такая, как она представляется СМИ и самими компаниями-разработчиками.

Обосную свою точку зрения.

Антивирус – это программа, целью которой является найти и убить существующие вирусы и другую гадость, плюс не дать заразиться новыми. Первую задачу решают сканеры (проверка, ручная или по расписанию); вторую резиденты (или мониторы, находятся в памяти и следят за другими процессами).

Недостатки сканеров – требуют много времени, плюс нужно следить и запускать периодически сканирование. Последний недостаток решают резиденты – они сами проверяют все “на лету”, но и у них есть свои минусы.

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

Возвращаясь к резидентам: теперь представим в общих чертах, как они работают. Это программа, которая запускается с системой и постоянно работает. Открываете вы что-то с диска (файл или программу) или другой процесс в памяти что-то читает\пишет на диск или обращается к устройству – за всем этим смотрит резидент.

Получается, что немало времени и ресурсов вашего компьютера занято постоянной проверкой резидентом всего и вся на зловредность.

Более того, резиденты делают это постоянно – если вы запускали Проводник в 10-00, закрыли в 10-01, а потом через 3 минуты снова открыли его, то резидент снова проверит ранее проверенную программу.

Вспомните, что проверка основана на все тех же сигнатурах и поймете, что резидент большую часть времени “молотит вхолостую”.

Кроме сравнения с сигнатурами, антивирусы применяют другой механизм – проактивную защиту. Суть ее состоит в том, что отслеживаются действия всех программ. Если эти действия носят подозрительный характер, программа информирует пользователя, и решение принимает он сам. Яркий пример применения – Kaspersky Antivirus, Outpost Firewall Pro.

Недостаток состоит в том, что эти постоянные вопросы о том, что делать, надоедают и пользователь может перестать на них реагировать.

Есть еще эмуляция, когда программу как бы запускают в изолированной “песочнице” и смотрят, не будет ли она себя плохо вести :)

Наверное, вы уже давно спрашиваете про себя: “А как же эвристический анализ, которым так хвалятся антивирусные компании?”

Для тех, кто еще не знает, приведу цитату из Вики:

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

Пример технологии эвристического сканирования — Bloodhound — применяется компанией Symantec в продукте Norton Antivirus. Эвристика призвана сделать сигнатуры более гибкими, полное совпадение не обязательно. В качестве одной из многочисленных возможных «подсказок» могут рассматриваться даже такие простые признаки, как наличие в подозрительном файле слова virus. [1]

Но все эти методы не помогают, когда к тебе попадает новый вирус… Или если на комрьютере уже есть какой-то достаточно продвинутый экземпляр.

Я встречал вирусы, которые не давали просматривать список процессов и скрытые файлы =) И который упорно не умирал, хотя антивирус говорил, что в памяти все чисто…

Таким образом еще 1 вывод: в противоборстве антивируса против вируса выигрывает тот, кто запускается раньше. Это очевидно.

Но и это еще ничего. Допустим, антивирус уже стоит. Но и тут вирус может его обойти.

Дальше пересказ слов препода, за что ему спасибо =) Называть не буду, думаю, он не обидится.

Ахилесова пята современных средств персональной защиты – антивирусов и фаерволов – это то, что они запускаются и работают вне ядра операционной системы. Это такие же программы, как и другие. Точно такие же права имеют и программы, запускаемые от имени пользователя. А т.к. большинство из них работает под учетной записью администратора, то вирус или другой зловред может делать тоже, что и пользователь. Отключить антивирус \ фаервол, например.

А что? Простое применение WinAPI – найти окошко фаервола, эмулировать вызов меню, с помошью простых математических вычислений найти, где будет пункт “Выключить” и эмулировать нажатие.

Причем сделать это можно так хитро, что пользователь ничего не замутит, даже если он прямо в это самое время делал что-то за комьютером. Хитрость состоит в том, что экран – это не только то, что видно на мониторе. Например новички в Delphi вместо правильного скрытия формы через Hide, делают скрытие за счет выставления координат, которые находятся вне видимой части экрана =)

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

Именно поэтому антивирусы и фаерволы в последнее время так часто спрашивают “Вы уверены?”, “Точно выйти?” и т.д. =) Помогает функция выброса сообщения в центр именно видимой области, которую весьма трудно обойти.

Поэтому будущие антивирусы будут встраиваться в ОС, чтобы их нельзя было так просто выключить. Кстати вспомнил любопытный и забавный пример, который привел препод: Microsoft как-то разработало свой антивирус, который встроила в свою ОС, но вроде Norton отсудила у MS “право пользователя быть не защищенным” =)

Таким образом я и препод скептически относимся к антивирусам и фаерволам. И самая лучшая защита – это свой мозг, свои руки и осторожность + внимательность.

Это не значит, что нужно сносить антивирус \ фаервол, которые сейчас стоят на вашем компьютере. Нет.

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

Т.е. только вы сами можете обезопасить себя…

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

Но грамотный человек может без опаски не использовать резидент-антивирус, ведь небольшой системы правил достаточно:

0. 100% защиты построить нельзя, поэтому нужно быть готовым к тому, что ОС и данные могут пасть под атакой вируса или другой нечисти, поэтому рекомендуется делать резервные копии ОС и данных. Как вариант, можно попробовать вылечить файлы у друга или на 2м компьютере – принести винт, но НЕ грузиться с него, а работать с ним в режиме “ведомого (раба, секондари)”.

1. В 95% случаев работает принцип замкнутой системы – если в системе нет зловредов и все, что приходит извне, проверяется свежим антивирусом, то зараза не пройдет. Это же можно отнести и к сети – если все пакеты извне фильтруются фаерволом актуальной версии. 5% (цифра условна) – что вам попадется то, чего не смогут детектировать средства защиты – тут 100% выручит пункт 0, иногда прямые ваши руки =)

2. Всегда под рукой должны быть средства, которыми можно обнаружить большинство видов заразы – это пакет утилит от Марка Руссиновича / sysinternals.com. Также нужно видеть скрытые файлы и расширения всех файлов =) Почему – объяснять не буду, не маленькие.

3. Любой исполняемый файл, пришедший “извне”, проверяется антивирусом с последними базами (это желательно, но все относительно – даже в последних базах могут отсутствовать нужные сигнатуры). Под исполняемым понимается не только exe, com, bat, cmd и т.д. Поясню – почитайте об уязвимостях в обработке jpg, wmv.

4. После запуска, а желательно и работы, нужно проверять Process Explorerom (sysinternals) и другими утилитами, не появилось ли чего лишнего в памяти \ автозагрузке и т.д.

5. Если проверка антивирусом и “руками” через спец. софт прошла успешно, то имя программы \ путь к ней запоминается, чтобы потом не останавливаться долго на ней при следующей проверке.

Эту систему я выработал за 6 лет и у меня она уже работает на уровне рефлексов – я все шаги выполняю на полуавтомате.

И в заключение, чтобы не быть голословным, приведу факты, которые послужиили предпосылкой либо подтверждением моей позиции:

0. 2004 г. – заражение одним вирусом компьютеров моего и друга, мой антивирус вылечил большинство файлов, его – удалил. Именно тогда я задумался над тем, что эффективность антивируса относительна: ведь могло повезти и не мне.

1. 2005 г. – взлом на моих глазах тогдашней версии Outpost, я бы так и не был уверен, что это удачный взлом, если б через какое-то время (вроде год, но врать не буду) ко мне не приехали следователи писать заявление, что я пострадал незначительно от действий хакера и на суд не явлюсь.

2. 2007 г. у брата, а потом и тети лечил компьютеры от вирусов. Вылечил только у тети, потому что у брата загрузочного носителя не оказалось, но промучился я тогда весь день. Полностью утвердился в своем мнении, что из борьбы вируса и антивируса победителем выйдет тот, кто запустился первее.

3. Препод рассказал о механизме заражения, перед которым антивирусы на момент написания статьи были бессильны (по его словам): файловая система флешки модифицируется специальным образом, делается маскирование под multimedia-device, славная ОС Windows видит на флешку 2 раздела – 1 служебный, в нем вирус, который маскируется под драйвер и запускается ОС автоматически, ведь это драйвер девайса, 2й раздел – ваша флешка так, как она видна в Проводнике. Вирус может воровать данные на свою закрытую часть. Обнаруживается сильным различием между номинальным и реальным пространством на флешке, либо просмотром в спец. утилитах флешки на другом уровне :)

Ссылки по теме:
- программы от Марка Руссиновича / sysinternals.com – очень рекомендую
- из Вики Антивирусная программа
- ну и virustotal.com – проверка основными антивирусами с последними базами (еще раз подтверждает принцип относительности эффективности АВ =)

Это моя позиция, а что делать вам, решайте сами. Удачи в борьбе с нечистью =)

Написать комментарий