Вирусы и средства борьбы с ними

       

Особенности архитектуры


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

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

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

Впрочем, есть и существенные недостатки. Как известно, не все вирусы распространяются в виде файлов. Ряд очень известных эпидемий был вызван вирусами, которые вообще не существуют в форме файлов: CodeRed и Slammer распространялись (а Slammer и по сей день относится к категории живых, "in the wild", вирусов) путем прямой атаки на переполнение буфера в уязвимых службах, код этих вирусов хранился в специально сформированных пакетах данных. Ко всему прочему эти пакеты не являлись HTTP, FTP или SMTP пакетами, а относились к более низким уровням иерархии протоколов.

Таким образом, против "бестелесных" червей типа Slammer антивирусы для шлюзов бессильны.
Аналогично и попытки заражения червями типа Lovesan и Sasser останутся незамеченными многими антивирусами для шлюзов, так как используют прямые атаки на службы Windows и эти атаки идут не по протоколам HTTP, FTP, SMTP. В дальнейшем, правда, для загрузки собственных файлов на атакуемый компьютеров, указанные черви и им подобные используют FTP протокол, который проверяется далеко не всеми антивирусами для шлюзов. Имеющийся архитектурный недостаток не превращается в серьезную проблему только потому, что существование шлюза само по себе ограждает рабочие станции сети от прямых вирусных атак извне - при любой мало-мальски разумной организации шлюза прямой доступ к внутренним станциям из Интернета запрещен.

Есть у "файлоцентричности" проверки и другие недостатки. В частности, чтобы проверить загружаемый пользователем файл, антивирусу потребуется дождаться окончания загрузки файла, выполнить проверку и после этого отдать (или не отдать) файл пользователю. Отдавать файл до окончания проверки, очевидно, нельзя - это полностью нивелирует факт наличия антивируса на шлюзе. Однако проверка (да и ожидание загрузки) файла происходит не мгновенно и из-за этого Интернет-агент пользователя (браузер, менеджер загрузок, почтовый клиент) может выдать ошибку превышения ожидания. Вероятность возникновения такой ошибки весьма велика, что означает заметные неудобства для пользователей при работе с Интернет. Для решения этой проблемы в антивирусах для шлюзов применяют специальные приемы.

Пример. В Антивирусе Касперского для Microsoft ISA Server и в Антивирусе Касперского для CheckPoint Firewall, с целью избежать ошибки превышения времени ожидания на клиентах, применяется технология удержания не файла целиком, а лишь его части. Таким образом, по мере ожидания полной загрузки файла на шлюз, антивирус до определенного момента передает пользователю части этого файла. После чего прекращает передачу, дожидается загрузки окончания файла, и если файл чистый, продолжает передачу, в противном случае - разрывает соединение.



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

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

Второй важный момент, связанный с работой антивирусов для шлюзов, состоит в том, что для проверки файла, он должен быть загружен на шлюз целиком, причем в рамках одного соединения. Ни брандмауэр, ни антивирус для шлюзов не производят анализ [возможно] разнесенных во времени потоков данных на предмет - не содержат ли они разные части одного и того же файла. Таким образом, для того, чтобы вирус в файле был обнаружен, передаваемая в рамках одного соединения часть этого файла должна содержать вирус целиком.

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

Пример. Зная об описанной уязвимости, в Антивирусе Касперского для CheckPoint Firewall по умолчанию отключена поддержка загрузки файлов по частям. В связи с этим у пользователей могут возникнуть неудобства, т.к. загрузка файлов в несколько потоков и даже просто дозагрузка файла в случае обрыва соединения будут невозможны. Поиск баланса между удобством и безопасностью, как и прежде, является задачей администратора

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

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

Также стоит упомянуть, что по понятным причинам защищенный трафик (HTTPS) антивирусом для шлюзов проверен быть не может. Если бы это было не так, HTTPS-трафик с трудом можно было бы считать защищенным.


Содержание раздела