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

Как защитить такую сеть?

Oна эффективна, но небезопасна. И, вероятно, в скором времени вам придется иметь с ней дело.

Речь идет о технологии организации одноранговых сетей (Peer-to-Peer, P2P). Возможно, она уже применяется в вашей корпоративной сети, подвергая ее угрозе различных атак, взломов, краж, слежки и прочих злонамеренных действий. Однако традиционные системы защиты периметра сети, такие, как межсетевые экраны и устройства транляции сетевых адресов (Network Address Translation, NAT), не так уж много способны предложить для обеспечения безопасности в такой ситуации.

Что поможет в этом случае? Корпоративные информационные службы могут установить и настроить программное обеспечение для одноранговых сетей и обеспечить централизованный контроль, если таковой предусматривается. Поставщики продуктов P2P могут предложить решения по обеспечению безопасности на базе серверов для укрепления своих систем. Продукты сторонних компаний пригодятся, например, для публикации документов. Кроме того, клиентские системы можно блокировать, чтобы пользователи не могли установить собственное программное обеспечение P2P. Нелишним будет и соответствующее обучение пользователей. Наконец, ключевым фактором станет планирование и создание целостной инфраструктуры — от корпоративных каталогов до инфраструктуры с открытыми ключами (Public Key Infrastructure, PKI).

УГРОЗА P2P

Начнем с угроз, которыми чревато применение технологий P2P. Вообще говоря, сами по себе они не несут каких-либо новых угроз, речь идет о хорошо известных «червях», вирусах и атаках по типу «отказ в обслуживании» (Denial of Service, DoS), «наводняющих» сети данными и делающих компьютеры неработоспособными (см. Рисунок 1). Кроме этого, нередки кража паролей и данных, нарушение законов об интеллектуальной собственности, использование корпоративных сетей в личных целях или выполнение противозаконных действий, а также нарушение корпоративной политики безопасности.

Получившие широкую огласку происшествия в сетях P2P заставляют быть бдительными. Например, «червь» Gnuman, нанесший ущерб пользователям сети обмена файлами Gnutella в 2001 г., продемонстрировал, что могут натворить создатели будущих вирусов. Сам «червь» представлял собой исполняемый файл .exe с именем, соответствующим ключевым словам поиска, из-за чего многие считали, что он содержит искомые данные. После загрузки и запуска «червь» пытался разослать себя другим пользователям Gnutella. К счастью, Gnuman оказался всего лишь «проверкой теории».

В том же году похожее случилось и с клиентами службы мгновенного обмена сообщениями MSN Messenger. Запуск файла Hello.exe приводил к активизации «червя» W32/Hello, также рассылавшего себя по адресам из списков контактов. Хотя внимательные пользователи не попались на эту удочку, W32/Hello проиллюстрировал, какая потенциальная опасность кроется в сетях P2P.

Ошибки в программах P2P тоже могут представлять опасность. Например, в августе 1999 г. ошибка в клиентской части AOL Instant Messenger помогла злоумышленнику осуществить переполнение внутренних буферов с помощью пересылки специально сконструированных адресов URL. Ему удалось нарушить работу клиентской части, получить контроль над программой AIM, выполнить произвольный код и добавить случайных пользователей в список контактов через страницу Web или электронную почту.

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

ПЕРЕСЕКАЯ ГРАНИЦУ

К сожалению, применение технологии P2P в корпоративных сетях подрывает систему безопасности. Оно предусматривает децентрализованное администрирование безопасности и хранение общих данных, а также создает условия для преодоления таких средств защиты, как межсетевые экраны и устройства NAT, на критически важном участке сети — ее периметре.

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

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

Большинство программ P2P обходит вышеуказанные устройства за счет использования протокола HTTP через порт 80 либо по умолчанию, либо в качестве туннелирующего протокола. Продукт Groove компании Groove Networks может туннелировать свои собственные протоколы внутри http, а ПО корпоративного уровня NXT 3 компании NextPage, в котором роль узлов в одноранговой сети играют серверы отделов, основано на применении расширяемого языка разметки (Extensible Markup Language, XML) поверх HTTP.

В программе Windows Messenger (WM) протокол HTTP нужен для того, чтобы сообщения Presence и Instant Messaging (IM) могли проходить через межсетевые экраны и устройства NAT. (Сообщения о присутствии применяются для отслеживания статуса пользователя — активен, неактивен, занят — и указывают, какие устройства следует об этом предупредить.) Данный способ не работает в случае голосовой и видеосвязи, поскольку в таком случае требуется широкий диапазон динамически назначаемых портов межсетевого экрана или такое же количество постоянно открытых портов, что обычно неосуществимо.

Программа Windows Messenger обновляет кодеки звука и видео, объединяет их с ключевыми функциями MSN Messenger (наиболее важная среди них Presence), размещает их поверх протокола инициирования сеансов (Session Initiation Protocol, SIP) и интегрирует NetMeeting в качестве стандартной функции операционной системы Windows XP Professional. Хотя протокол SIP похож на HTTP, он является его альтернативой и имеет свои узкие с точки зрения безопасности места. Согласно отчету компании O?Reilly & Associates, консультанта в области программных технологий, Windows XP вместе с ее клиентом P2P WM IM «должны стать первым испытательным полигоном для служб Web, в центре которых находится пользователь».

Но одного лишь протокола HTTP недостаточно для преодоления корпоративных межсетевых экранов, когда те настроены на отказ от установления соединений даже по разрешенным протоколам, если они инициированы внешними узлами. Программы P2P могут справиться с таким «односторонним» поведением. Один подход основан на использовании узла с общим адресом, так называемого «сервера свиданий», или стыкового сервера, с которыми узлы за межсетевыми экранами могли бы беспрепятственно общаться. Данный узел работает в роли посредника, позволяя внутреннему узлу за межсетевым экраном инициировать взаимодействие с внешним узлом (см. Рисунок 2). Стыковой сервер должен находиться в демилитаризованной зоне компании или у провайдера услуг приложений (Application Service Provider, ASP), который при этом может быть поставщиком программного обеспечения P2P. К примеру, служба .NET Messenger Service, часть сетевой стратегии Internet-вычислений .NET компании Microsoft, выступает в роли стыкового сервера, например для сообщений IM и Presence для программы WM.

Рисунок 2. Стыковой сервер (B) получает запрос от клиента P2P с внешней стороны межсетевого экрана (C) на установку соединения с клиентом P2P за межсетевым экраном (A). A инициирует взаимодействие, открывающее межсетевой экран для прямого трафика от C.

Кроме того, одноранговые узлы сами могут служить стыковыми серверами. В случае такой «наложенной сети» потоки пакетов, захватывающие посредников, помещаются поверх прямых потоков P2P. Такой подход применен в NXT 3. Платформа разработки P2P, JXTA компании Sun Microsystems, выпущенная в апреле 2001 г., поддерживает работающие подобным образом стыковые серверы или «посредники Web».

Сервер-транслятор не только помогает другим узлам начать взаимодействие — в качестве посредника он осуществляет маршрутизацию данных между одноранговыми узлами. Наряду с Groove этот прием использует компания Endeavors Technology в своей платформе Magi для одноранговых сетей на базе Web с поддержкой обмена сообщениями и совместного доступа к файлам. Платформа Magi предлагает два типа серверов-трансляторов: один из них маршрутизирует, но не расшифровывает трафик протокола защищенных сокетов (Secure Sockets Layer, SSL); другой обеспечивает расшифровку трафика и фильтрует данные, анализируя контент.

Межсетевые экраны можно настроить для блокирования адресов серверов-трансляторов или стыковых серверов, а также для предоставления права определенным клиентам обмениваться с этими серверами трафиком HTTP.

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

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

ДАННЫЕ ОПРЕДЕЛЯЮТ ПУТЬ

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

Однако данные могут быть украдены с клиентских машин, где они расшифровываются и кэшируются или записываются на локальные диски. Операционные системы таких машин содержат некоторые средства защиты. Например, система шифрования файлов Windows 2000/XP (Encrypting File System, EFS) обеспечивает зашифрованное хранение. И только авторизованный пользователь или программа восстановления сможет их расшифровать.

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

Труднее всего предотвратить такой вид нарушений, как незаконное или небрежное обращение с данными со стороны авторизованных пользователей. Хотя это проблема не только технологий P2P, в одноранговых сетях она стоит еще острее, вследствие возможности обойти контроль со стороны серверов.

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

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

PageRecall можно использовать в режиме «только публикация», что позволит защитить документы и не допустить их изменения. Файл можно также вставить на страницу PageRecall. Такие файлы могут открываться, редактироваться и распространяться авторизованными пользователями. После закрытия страницы PageRecall документ будет сохранен в зашифрованном виде, и открывать его придется лишь под управлением сервера Authentica.

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

Компании NextPage, Endeavors и Authentica в своей деятельности делают акцент на публикацию документов.

Сложно однозначно оценить, насколько, например, NextPage отвечает привычному определению P2P. Однако вне зависимости от семантики, эти компании способны предоставить требуемый контроль над критически важными документами.

КТО ИДЕТ?

Пользователей одноранговых сетей можно аутентифицировать (т. е. проверить, что они те, за кого себя выдают) двумя способами. Два одноранговых сервера идентифицируют друг друга путем индивидуального обмена специальными удостоверениями, например цифровыми сертификатами. Или третья доверенная сторона, служба выдачи цифровых сертификатов (Certificate Authority, CA), являясь частью PKI, удостоверит подлинность сертификатов и обоих одноранговых серверов.

Теоретически предпочтителен второй подход. Однако внедрение инфраструктуры с открытыми ключами — дело сложное и дорогостоящее. Многие компании хотят, чтобы продукты P2P были совместимы с PKI, но еще не готовы сделать решительный шаг в этом направлении.

Именно поэтому поставщики продуктов P2P не торопятся поддерживать корпоративные системы PKI. Так, система внутренней защиты Groove, хотя и основана на сертификатах, пока не может быть интегрирована во внешнюю независимую службу выдачи цифровых сертификатов. Реализация подобной интеграции ожидается в 2002 г., но отдельно от первого выпуска сервера Groove Enterprise Management Server (GEMS), имеющего свою собственную инфраструктуру с открытыми ключами.

PKI, которую компания Endeavors предлагает для корпоративной версии Magi, можно заменить на другую службу выдачи сертификатов. Однако ее интеграция с существующей PKI достаточно трудна: вам придется вручную скопировать сертификат в соответствующий каталог жесткого диска каждого ПК. Кроме того, в текущей версии Magi некоторые возможности, например автоматическая загрузка списка аннулированных сертификатов (Certificate Revocation List, CRL), работать не будут.

КАТАЛОГИ: ПУТЬ МИГРАЦИИ

Одним из способов реализации внешней защиты в одноранговых сетях является использование существующих служб каталогов. Такой подход применяется в приложении Magi компании Endeavors, где предусмотрена аутентификация на базе Windows NT.

NXT 3 осуществляет аутентификацию по упрощенному протоколу доступа к каталогам (Lightweight Directory Access Protocol, LDAP) и с помощью доменов Windows NT. По данным Groove, сервер GEMS, появление которого ожидается в первом квартале 2002 г., будет поддерживать LDAP и Windows Active Directory, так что администраторы создают объекты Groove прямо из существующих каталогов компании. Точно так же будет происходить и в случае с WM, когда при наличии соответствующих привилегий пользователи смогут добавлять имена из корпоративных каталогов в личные списки контактов. Хотя эта функция внесена в основном для удобства, она указывает на верно выбранное направление — связь P2P с корпоративным каталогом.

Корпоративные каталоги могут стать наилучшим путем к внедрению служб PKI, обращение к которым обычно происходит через службу корпоративных каталогов на базе LDAP, Windows Active Directory, доменов Windows NT Domains или службу каталогов NetWare Directory Services.

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

АУТЕНТИФИКАЦИЯ ОТ ФАКСОВ ДО ОТПЕЧАТКОВ ПАЛЬЦЕВ

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

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

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

ЧЕЛОВЕЧЕСКИЙ ФАКТОР

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

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

Например, при загрузке подписанного цифровым образом программного обеспечения ваш браузер отобразит информацию о сертификате, включая данные о том, кто его выдал, серийный номер и срок действия. Согласившись с информацией, вы нажмете кнопку OK. Подлинность сертификата на текущий момент несложно проверить, но это потребует загрузки списков аннулированных сертификатов или обращения к отвечающему за них серверу. В зависимости от типа сертификата файл с таким списком может занимать по объему 1, 100 или 800 Кбайт.

Большинство предприятий выполняет проверку сертификатов только в отдельных случаях. Например, в марте 2001 г. компания VeriSign выдала два сертификата некоему лицу, обманным путем выдававшему себя за представителя компании Microsoft, так что последней пришлось принимать специальные меры на случай, если кто-то попытается воспользоваться этими аннулированными сертификатами.

Как правило, когда серверы электронной коммерции используют протокол защищенных сокетов (Secure Sockei Layer, SSL) либо защиту транспортного уровня (Transport Layer Security, TLS) для собственной аутентификации при взаимодействии с браузерами, сертификаты не проверяются и могут быть подделаны, украдены или аннулированы. Проблема аутентификации в Internet относится не только к P2P, но и ко всей данной модели. Таким образом, приходится полагаться на грамотность пользователей, принимающих решения в среде P2P, поэтому их обучение очень важно.

Будущее может преподнести нам вещи получше: GEMS должен позволить администраторам задавать централизованные правила, включая аутентификацию пользователей и компонентов. Например, администратор сможет решить, стоит ли ему доверять программному обеспечению с сертификатом, выданным службой CA. Новая версия Magi предоставит централизованно управляемые списки контактов. В сочетании со строгой политикой ограничения клиентов эти возможности значительно улучшат защиту.

РЕАЛЬНАЯ ИНФРАСТРУКТУРА БЕЗОПАСНОСТИ P2P

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

Компания Microsoft лучше других готова к предоставлению подобной архитектуры. Согласно отчету O?Reilly, «если компания сможет осуществить свою идею, она займет лидирующее положение на рынке одноранговых сетей, ее успех разделят лишь поставщики специализированных решений и наиболее устойчивые компании».

Такой «идеей» является стратегия .NET, включающая три компонента, критически важные для технологии P2P: My Services (бывшее кодовое название Hailstorm), Passport и Windows XP.

My Services представляет собой семейство служб, ориентированное на пользователей Web. Некоторые службы, такие, как Wallet, для управления квитанциями, средствами платежей, талонами и другими записями о транзакциях требуют серьезного уровня безопасности. Другие, например Profile и Presence, станут ключевыми для создания приложений P2P и будут тесно связаны с обеспечением защиты. Profile управляет такой информацией, как имя пользователя, прозвище, важные даты, а также рисунки.

До сих пор аспекты .NET, связанные с P2P, были предназначены преимущественно для индивидуальных пользователей или средних компаний, нежели крупных предприятий. Но даже на этом уровне возникают проблемы безопасности. Например, Passport представляет собой систему аутентификации на базе Internet для служб Web с однократной регистрацией. Однако эксперты не уверены, что система обладает должным уровнем секретности, так как из-за своей ключевой роли в My Services она очень привлекательна для хакеров.

Кроме того, компанию вынуждают открыть этот продукт для обеспечения совместимости с конкурирующими предложениями, что может потенциально повлечь появление новых брешей в защите. В ответ на это Microsoft заявила, что Passport 3.0 будет поддерживать аутентификацию в качестве опции Kerberos.

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

Ближайшим соперником Microsoft в области инфраструктуры безопасности могла бы стать Groove. Однако Microsoft уже интегрировала технологию последней в .NET. Решение Groove 1.3 наилучшим образом работает под Windows XP. Его пользователи смогут общаться с пользователями клиента WM IM и совместно с ними работать с документами Microsoft Office.

Из других игроков остается лишь Sun Microsystems с JXTA. Но, по данным отчета O?Reilly, «обеспечению безопасности посредством системы JXTA уделяется большое внимание в документации на JXTA, но вопрос ее внедрения остается открытым».

БЕРЕГИСЬ, ОНА ПРИБЛИЖАЕТСЯ

Основной проблемой технологии P2P было преодоление ограничений защиты. Ее успех на этом поприще требует пересмотра корпоративной инфраструктуры безопасности: в частности, на периферийном участке сети, где установлены межсетевые экраны.

Между тем пользователи применяют на своих рабочих местах некоторые средства P2P, такие, как IM. В свою очередь, благодаря потенциальным возможностям служб Web для автоматизации трудоемкой деятельности и реализации новых приложений (в основном с ориентацией на P2P), администраторы начинают обращаться к новым формам организации одноранговых сетей, включая сотрудничество.

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

Майк Гурвиц — независимый журналист. С ним можно связаться по адресу: michael@hurwicz.com.


Ресурсы Internet

Консорциум поставщиков Peer-to-Peer Working Group был создан для совершенствования стандартов инфраструктуры одноранговых вычислений. Подробная информация о нем находится по адресу: http://www.p2pwg.org.

Компания O?Reilly & Associates (http:/www.openp2p.com) располагает каталогом поставщиков P2P, а также информацией по инициативам разработки стандартов и связанных с этим проектов.

Резюме книги «Одноранговые сети: укрощая мощь разрушительных технологий» («Peer-to-Peer: Harnessing the Power of Disruptive Technologies», O?Reilly & Associates, 2001, под ред. Энди Орэма) можно прочитать по адресу: http:/www.oreilly.com/catalog/peertopeer.com.

Информация о продукте JXTA компании Sun Microsystems находится по адресу: http://platform.jxta.org.