Илья Медведовский - Атака на Internet
Использование криптостойких алгоритмов шифрования пакетов обмена между объектами РВС на канальном (что обычно выполняется аппаратно и на сегодняшний день редко встречается в обычных сетях) и прикладном уровнях OSI делает сетевой анализ практически бессмысленным. Если в сети используются алгоритмы шифрования пакетов на сетевом – прикладном уровнях, то шифрование применяется только к полям данных пакетов соответствующих уровней, но не к их заголовкам; таким образом, атакующий, перехватив пакет, может подвергнуть анализу полученную служебную информацию.
Причины успеха удаленных атак в сети Internet
Internet представляет собой распределенную вычислительную систему, инфраструктура которой общеизвестна и хорошо описана. Поэтому рассмотренные в предыдущем разделе причины успеха удаленных атак на РВС можно спроецировать на Internet и сделать вывод о существовании в данной Сети серьезных пробелов в обеспечении безопасности. Внимательный читатель, изучая предыдущие разделы, уже, наверное, мысленно осуществил подобную проекцию и обратил внимание на то, как недостатки, присущие абстрактной распределенной ВС, легко обнаруживаются в реальной РВС – Internet.
Отсутствие выделенного канала связи между объектами сети Internet
Глобальная сеть не может быть построена по принципу прямой связи между объектами, поскольку для каждого объекта невозможно обеспечить выделенный канал связи с любым другим объектом. Поэтому в Internet связь осуществляется через цепочку маршрутизаторов, а следовательно, сообщение, проходя через большое количество промежуточных подсетей, может быть перехвачено. Также к Internet подключено большое число локальных Ethernet-сетей, использующих топологию «общая шина»; в сетях с такой топологией несложно программно осуществлять перехват сообщений. Однако данный недостаток присущ скорее не Internet, а Ethernet.
Недостаточные идентификация и аутентификация
В базовых протоколах обмена идентификация и аутентификация объектов практически отсутствуют. Так, например, в прикладных протоколах FTP, TELNET, POP3 имена и пароли пользователей передаются по сетив виде открытых незашифрованных сообщений (см. главу 4). В существующем стандарте IPv4 протокол сетевого уровня IP не предусматривает никакой идентификации и аутентификации объектов (за исключением IP-адреса отправителя, подлинность которого, в свою очередь, невозможно подтвердить). Все проблемы с идентификацией разработчики переложили на следующий, транспортный, уровень, за который отвечают протоколы UDP и TCP. Так как протокол UDP не содержит в себе никакой дополнительной идентифицирующей информации, единственным протоколом, призванным обеспечить безопасность в Internet, является TCP, создающий виртуальный канал.
Взаимодействие в сети Internet объектов без установления виртуального канала
Одной из особенностей Internet является взаимодействие объектов без создания виртуального канала. Очевидно, что разработчики планировали подобное взаимодействие в том случае, если обеспечения его безопасности не требуется. Однако и для управляющих ICMP-сообщений, и для DNS-запросов используется связь без ВК, что приводит к возможности осуществления атак, рассмотренных в главе 4.
Использование нестойких алгоритмов идентификации объектов при создании виртуального TCP-соединения
Как уже подчеркивалось, протокол TCP является единственным базовым протоколом транспортного уровня, в функции которого заложена защита соединения. Однако использование простейшего алгоритма идентификации объектов при создании виртуального TCP-канала (см. раздел «Подмена одного из субъектов TCP-соединения в сети Internet» в главе 4), особенно при условии применения в сетевых ОС простейших времязависимых законов генерации TCP-идентификаторов (ISN), сводит на нет все попытки обеспечения идентификации канала и объектов при их взаимодействии по протоколу TCP.
Невозможность контроля за виртуальными каналами связи
В существующем стандарте сети Internet нельзя обеспечить контроль за сетевыми соединениями, так как у одного субъекта сетевого взаимодействия существует возможность занять неограниченное число каналов связи с удаленным объектом и при этом остаться анонимным (см. главу 5). Из-за этого любой хост в сети Internet может быть полностью парализован (см. главу 4).
Отсутствие возможности контроля за маршрутом сообщений
Невозможность контроля в Internet за виртуальными каналами обусловлено отсутствием в Сети контроля за маршрутом сообщений, а именно: в существующем стандарте IPv4 нельзя по пришедшему на хост сообщению определить путь, через который оно прошло, а следовательно, невозможно проверить подлинность адреса отправителя (см. главу 4).
Отсутствие полной информации об объектах Internet
Очевидно, что в глобальной сети невозможно обеспечить на каждом ее объекте наличие информации о любом другом объекте. Поэтому, как говорилось ранее, необходимо использовать потенциально опасные алгоритмы удаленного поиска. В сети Internet используются, по меньшей мере, два алгоритма удаленного поиска: ARP и DNS. Удаленные атаки, направленные на эти протоколы, рассмотрены в главе 4.
Отсутствие криптозащиты сообщений
В существующих базовых протоколах семейства TCP/IP, обеспечивающих взаимодействие на сетевом и транспортном уровнях, не предусмотрена возможность шифрования сообщений, хотя очевидно, что добавить ее в протокол TCP не составляло труда. Разработчики решили переложить задачу криптозащиты на протоколы более высоких уровней, например прикладного уровня. При этом базовые протоколы прикладного уровня (FTP, TELNET, HTTP и др.) также не предусматривали никакого шифрования сообщений. Только не так давно появился общедоступный прикладной протокол SSL, встроенный в Netscape Navigator, позволяющий как надежно зашифровать сообщение, так и подтвердить его подлинность.
В заключение хотелось бы заметить, что все описанные выше причины, по которым возможна успешная реализация угроз безопасности РВС, делают сеть Internet небезопасной (см. рис. 6.1). А следовательно, все пользователи Сети могут быть атакованы в любой момент.
Рис. 6.1. Причины успеха удаленных атак
Глава 7 Безопасные распределенные вычислительные системы
План, что и говорить, был превосходный: простой и ясный, лучше не придумаешь. Недостаток у него был только один: было совершенно неизвестно, как привести его в исполнение.
Л. Кэрролл. Алиса в стране чудес
Описанные в предыдущих главах причины успеха удаленных атак на распределенные системы наглядно продемонстрировали, что несоблюдение требований безопасности к защищенным системам связи удаленных объектов РВС приводит к нарушению безопасности системы в целом. Поэтому данная глава посвящена выработке требований для защищенного взаимодействия объектов в распределенной ВС. Чтобы определить, из каких принципов нужно исходить при построении защищенной системы связи удаленных объектов в РВС, расскажем о технологии создания таких систем.
Очевидно, что при построении защищенных систем следует бороться не с угрозами, основанными на недостатках системы, а с причинами возможного их успеха. Поэтому для ликвидации угроз, осуществление которых возможно по каналам связи, необходимо устранить причины, их порождающие. Это основной принцип, руководствуясь которым, мы и сформулируем требования к защищенным системам взаимодействия объектов в распределенных ВС.
Выделенный канал связи
Все объекты распределенной ВС взаимодействуют между собой по каналам связи. Ранее рассматривалась причина успеха удаленных атак, состоящая в использовании в РВС для связи между хостами широковещательной среды передачи, что означает подключение всех объектов РВС к одной общей шине (сетевая топология «общая шина», рис. 7.1). Это приводит к тому, что сообщение, адресованное только одному объекту системы, будет получено всеми ее объектами. Однако только тот объект, адрес которого указан в заголовке сообщения, будет считаться получателем. Очевидно, что в РВС с топологией «общая шина» на уровнях, начиная с сетевого и выше, необходимо использовать специальные методы идентификации объектов (см. далее раздел «Виртуальный канал связи»), так как идентификация на канальном уровне возможна только в случае использования сетевых криптокарт (что на сегодняшний день является экзотикой).
Рис. 7.1. Сетевая топология «общая шина»
Очевидно, что идеальным с точки зрения безопасности будет взаимодействие объектов РВС по выделенным каналам. Существуют два возможных способа организации топологии распределенной ВС с выделенными каналами. В первом случае каждый объект связывается физическими линиями связи со всеми объектами системы (рис. 7.2). Во втором случае в системе может использоваться сетевой коммутатор (switch), через который осуществляется связь между объектами (топология «звезда», рис. 7.3).