Персональный брандмауэр, или Как защитить себя в Сети

Максим Бабенков

Как работает межсетевая защита

Так ли нужен персональный брандмауэр?

 

В настоящее время остро стоит проблема защиты информации в сети Internet. Организации тратят огромные деньги на различные системы защиты, но, увы, это не всегда спасает. А что же делать обычным пользователям, у которых нет таких средств на защиту, но которым не хочется, чтобы кто-то получил доступ к личной информации? Выход есть. Защитить свой компьютер можно доступными бесплатными программными средствами — как правило, этого бывает достаточно.

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

Итак, что же такое персональный брандмауэр, или firewall, или персональный межсетевой экран? Это категория программного обеспечения, предназначенная для блокирования определенного вида сетевого трафика. Делается это с целью уменьшения возможностей проникновения из одной части сети (внешней) в другую (внутреннюю), защищаемую брандмауэром. В качестве внутренней части сети может выступать отдельно взятый компьютер. В данном случае — это программы, работающие (как правило) под управлением Windows 95, 98, NT, 2000, XP. Их задачей является защита единственного компьютера, подключенного к Internet. Задача реализуется путем фильтрации входящего и исходящего сетевого трафика, контроля текущих соединений, выявления подозрительных действий. Весьма часто такие программы попутно обеспечивают блокировку рекламы, ускорение работы с Сетью, блокировку активного содержимого Web-страниц. Кроме того, программные брандмауэры применяются в виде программного обеспечения, устанавливаемого на маршрутизаторы, proxy-серверы и т.п. в больших корпоративных сетях, но, как правило, это очень дорогие продукты, недоступные простому пользователю.

Подключение компьютера к сети Internet, наряду со значительным расширением возможностей получения пользователем самой разнообразной информации, создает и ряд неудобств, которые при определенных обстоятельствах могут обернуться большими проблемами. Главная их причина в том, что, получая доступ к практически беспредельным ресурсам огромного количества компьютеров в Internet, волей-неволей приходится открывать доступ к ресурсам своего компьютера со стороны других обитателей Сети. На любом компьютере, подключенном к Internet, могут запускаться посторонние программы (например, при отображении Web-страниц, содержащих активные элементы ActiveX или Java-аплеты), способные выполнять без уведомления практически любые действия, в том числе и деструктивные. С других компьютеров в Сети можно получить или попытаться получить доступ к дискам и файлам локального компьютера, разместить информацию (например, файлы cookie), используя которую можно получить сведения о пользователе, его предпочтениях и посещениях различных сетевых ресурсов, а также разместить троянских коней, то есть программы, которые отсылают важную конфиденциальную информацию (например, пароли доступа в Internet или номера кредитных карточек) с зараженного компьютера на определенные сетевые адреса. Широко распространенным вариантом вторжения является негласная установка различных программ для удаленного управления компьютером жертвы. Более безобидной разновидностью троянских коней являются обычные программы, для которых даже придуман отдельный термин — spyware. Это, как правило, бесплатные программы со встроенной системой отображения рекламных баннеров, «нелегальная» деятельность которых заключается в основном в сборе и отправке на сайт разработчика статистики о предпочтениях пользователя (о наиболее часто посещаемых Web-узлах, вызвавших интерес баннерах и т.п.); вместе с запрашиваемой, в компьютер загружается и ненужная информация, например рекламные баннеры, что может существенно увеличить время загрузки страницы, особенно при использовании достаточно медленного модемного соединения. Применение персональных брандмауэров поможет решить и эти проблемы и защитит информацию на локальных компьютерах, имеющих доступ в Internet.

Как работает межсетевая защита

Вся связь в Internet реализована посредством обмена индивидуальными пакетами данных. Каждый пакет передается машине адресата от исходной машины. Пакет — фундаментальная единица информационного потока в Internet. По существу, ПК «соглашаются», что они связаны, и каждая машина посылает назад пакеты подтверждения, с тем чтобы позволить посылающей их машине знать, что данные были получены. Чтобы достичь адресата, каждый пакет Internet должен содержать адрес адресата и номер порта, определяющий, какой программе следует обрабатывать данный пакет. Итак, чтобы компьютер-получатель знал, кто послал конкретный пакет, каждый пакет должен содержать IP-адрес и номер порта принимающей машины. Другими словами, любой пакет, путешествующий в Сети, прежде всего должен содержать адреса отправителя и получателя.

Именно эта информация и нуждается в защите. Программное обеспечение межсетевой защиты «осматривает» каждый ПК (все его порты) и каждый пакет данных, прежде чем тот достигнет вашего компьютера и будут запущены другие приложения, которым адресованы эти пакеты. До завершения сеанса связи все последующие входящие пакеты проверяются лишь на соответствие порта и адреса получателя, а также адреса отправителя. В силу этого существующие способы хакерских атак зачастую основаны на подмене адреса исходящего пакета на адрес, уже участвующий в сеансе связи. Поскольку при установке сеанса связи соединение между двумя ПК является двунаправленным, а по причине ограничений, накладываемых протоколами связи, длина передаваемых пакетов является конечной, то для гарантированно качественного соединения пакеты во встречных потоках маркируются особым образом. В их состав входят АСК-биты (acknowledgement), подтверждающие безошибочный прием предыдущего пакета. По отсутствию этих битов брандмауэр определяет, что устанавливается новый сеанс связи. Таким образом, пакеты, являющиеся частью установленного соединения, проходят сквозь брандмауэр, а предназначенные для попытки соединения и имеющие те же адреса получателя — блокируются.

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

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

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

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

Не стоит забывать и о уязвимости самого стека протоколов TCP/IP (Transmission Control Protocol/Internet Protocol). По своей природе стек протоколов TCP/IP не отвечает современным требованиям безопасности, в чем нельзя винить его разработчиков. Изначально целью данного протокола является создание гибкой и надежной системы передачи данных, способной выдержать ядерный удар. Изменение сферы применения протокола превратило его сильные стороны в слабые. Вот некоторые из документированных «точек наименьшего сопротивления»:

  • передача пароля в явном виде. Во многих приложениях TCP/IP, таких как telnet (удаленный доступ к хосту), File Transfer Protocol (FTP), Post Office Protocol (POP), пароль передается по локальной сети и Internet незашифрованным, что создает потенциальную возможность его перехвата;
  • переполнение буфера (buffer overflows). Это наиболее уязвимое место в области безопасности программного обеспечения. Некоторые приложения (протокол HTTP) не следят за объемом данных пользователя, помещаемых в выделенный ими буфер. При определенной ситуации можно послать приложению данных больше, чем способен вместить буфер. Если избыточные данные представляют собой код, то он записывается в рабочую область памяти, предоставляя атакующему возможность получить контроль над хостом. Эта форма атаки послужила основой для сетевого вируса типа червяк (worm). В настоящее время можно говорить, что уязвимость, связанная с переполнением буфера, является доминирующей при удаленных атаках, где обычный пользователь сети получает частичный или полный контроль над атакуемым хостом;
  • использование ложного адреса. Каждый пакет IP содержит в своем заголовке адреса отправителя и предполагаемого получателя. Некоторые приложения принимают пакеты только от заранее определенных хостов, проверяя адрес отправителя. К сожалению, большинство приложений TCP/IP позволяют поместить в поле Source Address любой адрес. Конечно, для связи по протоколу TCP/IP недостаточно просто заменить адрес. Атакующий должен также установить виртуальный канал с получателем, поскольку двум хостам необходимо согласовать некоторые детали предстоящего обмена, например синхронизировать друг с другом так называемые первоначальные номера очередей (Initial Sequence Number, ISN). Однако благодаря особенностям реализации TCP-протокола ISN может быть предугадан. Комбинируя подмену IP-адреса с предполагаемым ISN, атакующий может получить привилегированный доступ к серверу, даже не имея ответных пакетов синхронизации;
  • использование коротких фрагментов. Как известно, протокол TCP разбивает длинное сообщение на фрагменты. Многие маршрутизаторы и фильтры анализируют корректность только первого из них, не рассматривая оставшиеся. Поэтому если первый фрагмент принят, то и остальные также принимаются, а если отвергнут, то отвергается все сообщение. Если атакующий пошлет короткую дейтаграмму, не содержащую информацию более высоких уровней, то существует вероятность, что она будет принята как часть некоторого длинного сообщения.

Это, конечно, далеко не полный перечень. Описанные уязвимости являются хорошо известными недоработками в протоколе и могут быть исправлены, а в некоторых случаях они уже исправлены. Отметим, однако, что существуют проблемы безопасности, связанные уже не с конкретной реализацией, а скорее с самой философией TCP/IP-коммуникаций, которые исправить невозможно.

В начало В начало

Так ли нужен персональный брандмауэр?

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

С выходом новой операционной системы от Microsoft — Windows XP — перед обычным пользователем встала проблема совместимости программного обеспечения с данной операционной системой. Эта проблема реально существует, и с ней уже столкнулись большинство пользователей. Но время идет вперед, и уважающие себя разработчики поспешили выпустить различные патчи (дополнения) к своему программному обеспечению, которые в большинстве случаев представляют собой скорее новые версии. Актуальна и проблема выбора: какой же из массы предлагаемых продуктов выбрать пользователю? Тем более что сама новая операционная система предлагает свой встроенный брандмауэр. Так для чего же нужен независимый брандмауэр, если он уже реализован в операционной системе? Дело в том, что межсетевой экран Windows XP контролирует исключительно входящий трафик и не предоставляет каких-либо (кроме элементарных настроек) дополнительных функций. Когда брандмауэр включен, он блокирует все несанкционированные подключения, поступающие через сетевой интерфейс. Для этой цели в брандмауэре ICF (Internet Connection Firewall) применена NAT-таблица потоков (Network Address Translation — преобразование сетевых адресов) с проверкой любого входящего потока на соответствие записям в этой таблице. Входящие потоки данных пропускаются только в том случае, если в NAT-таблице потоков имеется соответствующее указание, исходящее из системы брандмауэра или из внутренней части защищенной сети. Иными словами, если обмен информацией не санкционирован из защищенной сети, входящие данные игнорируются.

Одними из самых мощных по функциональным возможностям (и бесплатных!) среди персональных брандмауэров обладают описанные ниже продукты, которые служат барьером между ПК и Internet, обеспечивая защиту от взлома, злонамеренных почтовых вложений разных типов и от попыток некоторых программ скрытно переслать личную информацию в Сеть.

Система Outpost Firewall относится к разряду персональных брандмауэров. В тестировании, проводимом нашей тестовой лабораторией, данный программный продукт занял первое место. Поэтому мы снова обратили внимание на этот продукт, тем более что разработчик предоставил для свободного «скачивания» новую версию продукта, которая, конечно же, совместима с операционной системой Windows XP (чем не обладала предыдущая версия). Из достоинств стоит подчеркнуть наличие русскоязычного интерфейса, что облегчает настройку. Основными свойствами данного брандмауэра являются:

  • возможность использования сразу же после установки без необходимости предварительной настройки;
  • возможность легко и быстро создать безопасную конфигурацию при работе в сети, используя приглашающие сообщения системы и настройки по умолчанию;
  • простой пользовательский интерфейс, позволяющий даже сложные настройки формировать одним или несколькими нажатиями кнопок;
  • возможность использования большого количества настроек для ограничения доступа из сети и выхода в сеть работающих приложений и возможность работы служебных протоколов (для опытных, продвинутых пользователей или при наличии особых требований к безопасности);
  • возможность создания «невидимого» режима работы, при котором остальные компьютеры в сети не в состоянии обнаружить ваш компьютер;
  • модульная организация системы, позволяющей встраивать в систему новые защитные модули (даже созданные сторонними разработчиками);
  • совместимость со всеми версиями системы Windows 95/98/2000/Me/NT и низкие системные требования.

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

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

Таким образом, при использовании системы Outpost Firewall вы можете:

  • ограничить список приложений, получающих доступ в сеть, при этом для каждого из этих приложений указать список допустимых протоколов, портов, направлений обращения;
  • запретить или ограничить поступление на локальный компьютер незатребованной информации, в частности:
    • баннерной рекламы,
    • всплывающих окон в Web-страницах,
    • данных с определенных Web-страниц;
  • ограничить или запретить использование программных компонентов, встроенных в Web-страницы, таких как Java-аплеты и программы на языке JavaScript, ActiveX и др;
  • ограничить или запретить использование cookie;
  • определить зону дружественных IP-адресов (например, адресов локальной сети, в которой установлен данный компьютер); в этой зоне Outpost Firewall не осуществляет контроль и не ограничивает сетевой обмен;
  • осуществлять проверку поступающих по электронной почте присоединенных файлов;
  • выдавать предупреждение при попытке атаковать ваш компьютер из сети и предотвращать такие попытки.

Компания Aladdin выпускает целый спектр продуктов (как программных, так и аппаратных) для защиты информации и обеспечения безопасности на разных уровнях — от индивидуального до корпоративного. В данном контексте нас интересует программа eSafe Desktop. Данный продукт обладает множеством особенностей и потому обращает на себя внимание.

Во-первых, программа по-прежнему распространяется бесплатно. Во-вторых, продукт eSafe Desktop обладает русскоязычным интерфейсом. Приятно, конечно, работать с меню и кнопками на знакомом языке, но гораздо важнее то, что в системе переведены все подсказки, предупреждения и справочная система (хотя недоделки предыдущей версии остались), что поможет быстрее понять многочисленные концепции программы. В-третьих, как и прежде, eSafe Desktop — комплексный продукт. В него входят полноценный антивирус, брандмауэр, системный «сторож», помещающий загруженные из Internet программы в специальную «песочницу».

Брандмауэр работает на уровне приложений, каждое из которых должно получить специальное разрешение на доступ к Internet. Программы можно помещать в различные песочницы, накладывающие свои ограничения. eSafe Desktop самостоятельно обнаруживает и распознает многие Internet-утилиты, например ICQ и GetRight, полномочия которых пользователю даже не придется настраивать. Кроме того, все загруженные из Internet программные модули по умолчанию помещаются в песочницу UnTrusted Application с максимальными ограничениями.

Второе существенное нововведение — расширение функциональности системного сторожа, который отслеживает все потенциально опасные действия (выполняемые как программами, так и самими пользователями). К ним, в частности, относятся: редактирование конфигурационных файлов, изменения в списках автоматического запуска программ и настроек безопасности в Internet Explorer и Microsoft Office. Особенно удачно то, что при возникновении таких ситуаций пользователь получит не только предупреждение, но и некоторые комментарии относительно того, в каких случаях подобные действия стоит разрешить, а в каких — блокировать.

Из всех рассматриваемых в нашем обзоре продуктов eSafe Desktop предоставляет наиболее широкие возможности по организации системы безопасности. Единственная проблема — соответствующим образом настроить программу, поскольку интерфейс ее далеко не интуитивный. Например, имеется функция фильтрации Web-страниц по ключевым словам. Но в настройках данный продукт один из наиболее сложных, так что эта программа подойдет тем пользователям, которые не поленятся хорошо разобраться в документации и многочисленных параметрах.

Tiny Personal Firewall — небольшая и удобная в обращении программа для защиты персонального компьютера против атак злоумышленников и потери информации.

Программа загружается как сервисная программа, действующая на заднем плане, и позволяет отслеживать активность приложений, работающих через Internet, а также разрешать или запрещать доступ в Internet отдельным приложениям. Программа предупреждает о попытках соединения или сканирования портов компьютера. Tiny Personal Firewall использует специальную низкоуровневую загрузку драйвера системного ядра. Этот драйвер расположен на самом низком уровне. Следовательно, брандмауэр устанавливает абсолютный контроль над всеми посылаемыми пакетами, что помогает осуществить полную защиту системы. Программа бесплатна для персонального использования и совместима со всеми операционными системами семейства Windows.

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

Продукт от Zone Labs — ZoneAlarm — предназначен для демонстрации возможностей технологии TrueVector, которая в принципе может встраиваться в любые продукты, в том числе и сторонних разработчиков.

ZoneAlarm по сравнению с предыдущей версией не получила сколько-нибудь серьезного развития. Новая версия вполне корректно работает с Windows XP, но этим достоинством обладала и предыдущая версия. ZoneAlarm на первый взгляд не слишком отличается от своей предшественницы, однако в «глубине» ее интерфейса найдется немало интересных новых возможностей. Брандмауэр по-прежнему работает на уровне приложений, однако теперь можно избирательно разрешать или запрещать доступ к конкретным портам или их группам (например, типичным для работы с Web, FTP и т.д.). Впрочем, такую настройку нужно проводить дополнительно; по умолчанию разрешаются (естественно, с согласия пользователя) все виды доступа.

ZoneAlarm позиционируется как средство защиты для небольших офисных сетей. Программа умеет корректно работать с компонентом Internet Connection Sharing, входящим в Windows 98SE/Me/2000/XP, чем не могут пока похвастать ее конкуренты. Для этого программу достаточно установить и настроить на сетевом шлюзе, хотя разработчики рекомендуют проделать это и на каждой рабочей станции. При этом предупреждения можно получать как на шлюзе, так и на клиентских ПК, а настройки программы защитить паролем.

КомпьютерПресс 3'2002