Секреты и ложь. Безопасность данных в цифровом мире (Шнайер) - страница 157

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

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

Фактически в Интернете уже реализуется шифрование пакетов. Программы типа SSH шифруют и аутентифицируют внешние связи пользователя с другими компьютерами через сеть. Протоколы типа SSL могут шифровать и подтверждать подлинность веб-трафика в Интернете. Протоколы типа IPsec, возможно, будут способны шифровать все и аутентифицировать всех.

Безопасность DNS

Domain Name Service[37] (DNS) – система доменных имен (механизм, используемый в Интернете и устанавливающий соответствие между числовыми IP-адресами и текстовыми именами), – по существу, огромная распределенная база данных. Большинство компьютеров в Интернете – узлы, маршрутизаторы и серверы – имеют доменные имена, вроде brokenmouse com или anon penet fi. Эти имена созданы для удобства запоминания и использования, например, в указателях информационного ресурса (URL) или адресах электронной почты. Компьютеры не понимают доменных имен; они понимают IP-адреса, наподобие 208.25.68.64. IP-адреса используются при отправке пакетов по сети.

DNS преобразует доменные имена в IP-адреса. Когда компьютер получает имя домена, он запрашивает сервер службы доменных имен для перевода этого имени в IP-адрес. Тогда он знает, куда послать пакет.

Проблема в том, что система службы доменных имен не имеет никакой защиты. Таким образом, когда компьютер посылает запрос серверу DNS и получает ответ, он воспринимает ответ как верный и сервер DNS как подлинный. Фактически при этом нет никакой гарантии, что сервер DNS не взломан. И ответ, который компьютер получает от сервера службы доменных имен, мог прибыть вовсе не с этого узла – он может быть сфальсифицирован. Если нападающий произведет изменения в таблицах DNS (фактических данных, которые переводят домены в IP-адреса и наоборот), компьютер будет всецело доверять измененным таблицам.

Несложно представить себе виды нападений, которые могут быть осуществлены при таком состоянии дел. Нападающий способен убедить компьютер, что ему можно доверять (изменив таблицы службы доменных имен так, чтобы компьютер нападающего выглядел как заслуживающий доверия IP-адрес). Нападающий в состоянии завладеть сетевым подключением (изменив таблицы таким образом, что кто-нибудь, желающий подключиться к legitimate company com, в действительности получит соединение с evil hacker com). Нападающий может сделать все что угодно. У серверов DNS есть процедура обновления информации: если один сервер службы доменных имен изменит запись, он сообщит об этом другим серверам DNS, и они поверят ему. Таким образом, если нападающий сделает изменения в нескольких точках, есть вероятность распространения этих поправок по всему Интернету.