В наш век информационных технологий компьютер просто обязан быть подключенным к глобальной или, в крайнем случае, локальной вычислительной сети. Без этого он превращается или в печатную машинку, или в калькулятор
Сети - это источник информации. А ведь вычислительная техника сегодня применяется именно для получения и переработки информации. Но, как только пользователь выходит в сеть, он сталкивается с проблемами сетевой безопасности, с хакерами, вирусами, ошибками ПО, способными повлечь утечку ценной информации. И тут уж пользователю приходится вплотную познакомиться с огромным спектром программного обеспечения, защищающего его от всяких напастей: с антивирусными продуктами, межсетевыми экранами разных классов и мощностей, а также с тонкостями настройки браузеров, почтовых клиентов, с дисциплиной в сети (этого не закачивай, того не запускай, туда не ходи и т.п.).
Firewall - не панацея. Защита должна быть комплексной!
И вот пользователь (или администратор сети) решился себя защитить. Поставил себе на рабочую станцию (сервер) межсетевой экран (firewall), научился им пользоваться (а я должен заметить, что это очень непростой класс программ, требующий от пользователей некоторых знаний), настроил его, создал все необходимые правила. Но и этого мало. Допустим, от прямых хакерских атак, DoS-атак, от backdoor- и какой-то разновидности троянских программ вы в определенной степени защищены - но ведь это далеко не все!
Защита от хакеров более актуальна для серверов, оказывающих какие-либо услуги (хранение информации и предоставление ее пользователям, доступ к глобальной сети Internet и т.п.). Конечным же пользователем межсетевой экран может применяться для разграничения доступа различных приложений к ресурсам сети.
Наиболее актуальной проблемой для такого пользователя остаются вирусы, черви и троянские программы. По статистике антивирусных компаний, более 95% всех вредоносных программ, распространяющихся в глобальной сети составляют сетевые черви, из них 99% - почтовые.
В связи с тем что почтовые черви распространяются чрез электронную почту, практически все межсетевые экраны оказываются неэффективны. Откуда firewall'у знать: пользователь ли отправляет письмо - или же это червь рассылает себя. Некоторые администраторы почтовых серверов в борьбе с вирусами применяют самые кардинальные меры - почтовый сервер не пропускает файлы, имеющие запускные расширения (EXE, COM, PIF, BAT, CMD, SCR и т.п.). Но ведь это тоже не выход. Так, сетевой червь I-Worm.Lentin отправляет свои копии в ZIP-архиве (неужели теперь и архивы резать будем?).
Кроме того, чаще всего пользователи сами находят проблемы на свою голову: открывают файлы, приходящие по электронной почте невесть откуда (и нередко таящие за двойными расширениями тела червей), посещают сомнительные веб-сайты, закачивают и запускают разнообразные "ускорители интернета" или новые хранители экрана. Не зря ведь самым узким звеном в любой системе безопасности считается человек.
Некоторые межсетевые экраны имеют возможность запоминать информацию о приложении в момент создания правила для доступа этого приложения к ресурсам сети. При каждом повторном доступе производится проверка соответствия этой информации. Таким образом, в случае изменения приложения или используемых им модулей firewall выдаст предупреждение вроде: "Приложение … было модифицировано. Разрешить ему установить соединение?". Такая возможность может оказаться очень полезной для конечного пользователя и при правильном использовании должна препятствовать доступу "троянизированных" приложений к ресурсам сети.
Все эти факторы расширяют функционал межсетевых экранов, дополняя его следующими возможностями:
защитой от DoS атак;
ограничением возможностей удаленного доступа к системным ресурсам компьютера;
разграничением доступа приложений к ресурсам сети;
детектированием почтовых и сетевых червей, создающих для распространения собственное соединение с удаленным ресурсом;
детектированием троянских программ, создающих собственное соединение для передачи данных;
детектированием backdoor-программ (приложений для удаленного доступа) использующих прямое соединение;
блокированием доступа "троянизированных" приложений к ресурсам сети.
Не антивирусом единым...
Думаю, никого не надо убеждать в необходимости использования антивирусных продуктов. Вирусы, черви, троянские программы сопровождают электронно-вычислительную технику повсюду - даже независимо от наличия или отсутствия подключения к сети. И люди уже привыкли более или менее часто пользоваться антивирусами. В конце концов, пользователь не может (да и не должен) знать особые приметы и тонкости работы десятков тысяч вредоносных программ, которые уже детектируются и нейтрализуются антивирусными продуктами. Не станем обсуждать сейчас, какие антивирусы хороши, а какие плохи,- не в этом цель данной статьи. Если человек пользуется любым более или менее качественным антивирусным продуктом, обладающим необходимым набором модулей, и регулярно его обновляет - это уже неплохо.
Существуют два принципиально разных метода детектирования вредоносных программ антивирусными продуктами:
поиск известных вирусов по присутствующим в антивирусных базах вирусным сигнатурам;
поиск неизвестных вирусов по характерным для вирусов участкам кода.
Суть первого метода (поиск по сигнатурам) - в том, что антивирусные компании анализируют каждый (!) поступивший к ним вирус и добавляют соответствующую сигнатуру, которая будет обнаруживать только этот вирус. Для похожих вирусов (их семейств) выделяются также универсальные сигнатуры, способные обнаружить также и новые модификации данных вирусов. Для каждой антивирусной записи делается свой модуль лечения, благодаря которому антивирус сможет исцелить зараженный файл.
Преимущества данного метода очевидны: он практически не дает ложных срабатываний антивируса (при условии качественного добавления антивирусной записи), определяет каждый конкретный вирус и может его обезвредить (насколько это возможно в принципе). Но отсюда же выплывают и недостатки: невозможность обнаружения новых вирусов, необходимость постоянного обновления антивирусных баз.
Кардинально отличается от сигнатурного метода метод эвристического поиска. Эвристические анализаторы различных продуктов могут работать по-разному. Фактически каждый из них - это know-how той или иной компании. Но вся работа эвристических анализаторов сводится к одному: поиск последовательностей кода (исполняемых команд), характерных для того или иного типа вирусов.
Основной сложностью при реализации алгоритмов эвристического поиска является отсеивание ложных срабатываний. Вроде бы при детектировании вирусов все просто: если программа размножается - значит, это вирус. Остается только написать модуль, который сможет проанализировать предоставляемый код и с высокой долей вероятности определить, не обладает ли код "подозрительными" функциями.
С троянскими программами все намного сложнее. Зачастую даже специалисту по информационной безопасности, бывает тяжело сказать: является данная программа троянской или нет. По какому критерию программа относится к троянской: "если программа делает что-то, о чем пользователь не знает и чего не желает выполнять" или "если программа нарушает логику работы компьютера". Согласитесь - определения весьма расплывчатые. А как же с этой проблемой справиться модулю эвристического поиска, не имеющему человеческого опыта и интеллекта?
Именно из-за описанных выше проблем эвристические анализаторы способны обнаруживать далеко не все вредоносные программы. Для некоторых типов вирусов этот показатель близок к ста процентам - для других же может колебаться в пределах 30-60% (для троянских программ этот показатель всегда ниже, чем для вирусов). Кроме того, эвристические анализаторы могут иногда ошибаться и обзывать вирусами вполне мирные и привычные нам программы - это называется ложным срабатыванием.
Антивирусные продукты, как правило, используют оба метода поиска вирусов, что несколько замедляет их работу, зато увеличивает количество детектируемых вирусов.
Описанные достоинства и недостатки определяют возможности антивирусных продуктов:
обнаружение и нейтрализация огромной базы (десятки тысяч) известных вирусов и вредоносных программ;
обнаружение средствами эвристического поиска подозрительных файлов;
нейтрализация/изолирование зараженных и подозрительных файлов;
обращение повышенного внимания пользователя на подозрительные вирусы файлы.
Давайте дружить семьями
Итак, подводим итоги. Одно средство защиты не способно перекрыть все секторы безопасности. Рядовой пользователь, не владеющий коммерческой или государственной тайной, при разумном подходе может довериться антивирусным продуктам и целиком на них положиться. Но в случае с корпоративными вычислительными сетями, берегущими свою информацию, картина совершенно иная. Вирус или вредоносная программа может быть написана специально для них. Учитывая, что злоумышленник может знать, какими антивирусами пользуется компания, он имеет возможность использовать те же программы, чтобы определить, обнаруживается написанный им вирус или нет. Если вирус обнаруживается, злоумышленник продолжает вносить в него необходимые изменения - до тех пор пока вредоносная программа не перестанет детектироваться. Таким образом, всегда остается ненулевая вероятность попадания на ваш компьютер троянской программы или вируса, не обнаруживаемого установленным у вас антивирусом.
Теперь о том, что касается межсетевых экранов. Можете ли вы, работая в глобальной сети Интернет или в вашей локальной сети и защищаясь только межсетевым экраном, быть уверенными, что от вас не уходит ценная информация? Однозначно нет. Зачастую вредоносные программы пересылают злоумышленнику похищенную информацию посредством тех же каналов и протоколов, которые вы сами обычно используете при обмене данными. То есть:
отправив письмо используемым вами почтовым клиентом;
открыв используемым вами браузером веб-страницу на специальном сайте и передав туда информацию;
отправив данные через IRC, ICQ или другие средства связи.
Какую же картину мы наблюдаем? Средства защиты обязательно должны комбинироваться. Каждый продукт должен отвечать за свой сектор комплексной системы защиты информации. Антивирусы пусть обнаруживают уже известные вирусы и обращают внимание пользователя на подозрительные файлы. Межсетевые экраны пусть разграничивают доступ приложений к локальным и глобальным сетям, а также отслеживают попытки "чужих" приложений обратиться к сети. Пользователь же, работающий с вычислительной системой, должен соблюдать основные принципы безопасной работы, придерживаться рекомендаций специалистов по информационной безопасности и помогать программам, защищающим его систему: обновлять их, следит за их работоспособностью, внимательно относится к поступающим сообщениями о подозрительных действиях. Администраторы, в свою очередь, обязаны максимально ограничивать возможность пользователя активизировать инфицированный или подозрительный файл.
Для корпоративных сетей система защиты информации еще более усложняется. В основном, это происходит из-за необходимости защиты не только и не столько рабочих станций, а еще и серверов различного назначения (почтовых, файловых, веб, внутренних баз данных и др.).
На рисунке ниже приведены основные методы проникновения вирусной угрозы и методы их пресечения. При таком подходе продукты, предназначенные для защиты информации, дополняют друг друга. Кроме того, желательно, чтобы на рабочих станциях и на серверах устанавливались антивирусные продукты различных разработчиков, поскольку чаще всего на маршруте своего следования файлы проверяются, как минимум, дважды - и, чем большим количеством различных антивирусов они будут проверенны, тем выше вероятность детектирования вируса.
Антивирусная защита локальной сети крупной организации является сложной проблемой, которая не сводится к простой установке программных средств защиты информации. Как правило, требуется создание отдельной организационно-технической системы.
В техническом плане при решении данной проблемы особое внимание следует уделить тестированию всего устанавливаемого ПО. Программные средства должны удовлетворять возложенным на них задачам, техническим возможностям защищаемых ПК, а также грамотности пользователей в вопросах антивирусной/сетевой защиты.