Выбрать главу

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

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

Эти пакеты посылаются через сеть по маршрутам. Есть разные протоколы – Ethernet, TCP и другие, – но базовые принципы их работы одинаковы. Маршрутизаторы перенаправляют пакеты по указанным в них адресам. Они могут не знать точно местонахождения адресата, но имеют некоторые представления о том, в каком направлении следует отправить пакет. Это несколько напоминает почтовую систему. Почтальон приходит в ваш дом, забирает всю исходящую корреспонденцию и доставляет ее в местное почтовое отделение. Там могут вовсе не знать, где находится дом 173 по Питтерпат Лэйн, Фингербон, Айдахо, в котором проживает мистер X, но располагают сведениями, что конверт вместе со всей остальной корреспонденцией нужно погрузить в автомобиль, который едет в аэропорт. Служащие почты аэропорта также не осведомлены, где живет мистер X, но знают, что должны отправить письмо самолетом в Чикаго. В почтовом отделении аэропорта Чикаго знают, что должны переложить письмо в самолет, вылетающий в Бойсе. В почтовом отделении города Бойсе знают, что письмо нужно доставить к поезду, который идет в Фингербон. И наконец, на почте Фингербона имеют точную информацию, где находится указанный адрес, и почтальон доставит письмо.

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

Нетрудно видеть, что любая сеть, построенная по этой модели, совершенно ненадежна. Рассмотрим Интернет. Так как пакеты проходят сначала по одному маршруту, затем по второму, третьему и т. д., их данные, иногда называемые полезной нагрузкой, открыты для каждого, кто захочет их прочесть. Предполагается, что маршрутизаторы считывают только адрес получателя в заголовке пакета, но ничто не может помешать им просматривать и содержимое. Большая часть трафика (с использованием межсетевого протокола IP) проходит по немногочисленным высокоскоростным соединениям, составляющим скелет Интернета. Между отдаленными пунктами, находящимися, например, в США и Японии, пакеты проходят только по нескольким определенным маршрутам.

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

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