7.9. Безопасность подключения
7.9. Безопасность подключения
В разд. 14.5 мы будем рассматривать различные технологии прослушивания сетевого трафика. В основном они эффективны в локальных сетях, но хакеры больше любят интернет-соединения, потому что здесь можно найти больше интересного и есть лазейка, чтобы удаленно проводить атаку.
Как можно, находясь в Европе, перехватить трафик, который проходит между двумя городами в США? Я думаю, что пакеты будут следовать по каналам США, и в Европе им делать нечего. Но задача хакера сделать свой компьютер посредником в передаче пакетов данных, что-то наподобие прокси-сервера.
Самое сложное — организовать, чтобы клиент подключился не к реальному Web-серверу, а к вашему компьютеру. Чаще всего мы в браузерах набираем символьные имена адресов, но соединение происходит по IP-адресу. Для такого сопоставления используются DNS-серверы. Хакер может обмануть клиента с помощью ложного DNS-ответа или подставного DNS-сервера и тем самым перенаправить трафик на себя.
Затем компьютер злоумышленника будет переадресовывать пакеты реальному Web-серверу и возвращать ответы клиенту (рис. 7.3). Таким образом, весь трафик будет проходить через компьютер хакера.
Рис. 7.3. Перехват трафика
Что опасного может увидеть хакер, когда клиент просматривает страницы на Web-сервере? Мы каждый день вводим на Web-страницах какие-либо данные, пароли, номера кредитных карт, и именно это является основной целью хакера. Но этот метод был хорош несколько лет назад, когда не было HTTPS-протокола и безопасного соединения с помощью SSL-шифрования.
Давайте вспомним, что для подключения по SSL любая программа-клиент (например, браузер) и Web-сервер обмениваются ключами, с помощью которых происходит шифрование. Для HTTPS помимо открытого и закрытого ключей необходимы подтвержденные сертификаты, которые выдаются специализированными компаниями. Программа-клиент проверяет сертификат, и если он достоверен (цифровая подпись принадлежит авторизованной фирме), то подключение разрешается. Сертификаты можно сгенерировать самостоятельно, а вот подпись подделать практически невозможно.
Если компьютер хакера просто будет передавать данные между клиентом и сервером, то трафик останется зашифрованным, и его просмотреть не удастся. Единственным вариантом может быть следующая схема:
1. На компьютере хакера генерируется пара ключей и сертификат.
2. Клиент подключается к компьютеру хакера и обменивается с ним ключами.
3. При передаче информации шифрование происходит с ключом, который сгенерировал хакер, поэтому он без проблем расшифровывает все данные.
4. Компьютер хакера соединяется с Web-сервером и получает его ключ.
5. Между компьютером хакера и Web-сервером устанавливается соединение по ключу Web-сервера.
При такой схеме клиент получает ключ, который сгенерирован хакером и не имеет нужной подписи. Это значит, что у клиента появится сообщение о подключении к сайту без необходимого сертификата. И вот тут происходит самое страшное — большинство пользователей, которые давно работают с Интернетом, устали смотреть на различные предупреждения, поэтому, не читая сообщения, нажимают кнопку OK для продолжения работы.
Решить проблему подложного подключения можно только защитой DNS-сервера, чтобы хакер не смог стать посредником в соединении между клиентом и сервером. Не используйте прокси-сервер, в происхождении которого вы не уверены, ведь он может принадлежать хакеру, и тогда весь ваш Web-трафик оказывается в опасности.
Можно еще попытаться перевоспитать пользователей, чтобы они читали все сообщения, которые отображает браузер. Но это сложно. Для этого необходимо, чтобы Web-браузер графически (иконками) ранжировал информацию по степени критичности. Таким образом, увидев сообщение об опасности, пользователь обязательно его прочтет. Если оповещение о подключении к сайту с неподписанным сертификатом сделать важным, то пользователи испугаются и прервут соединение. А ведь таких сайтов достаточно, и многие из них вполне уважаемые и защищенные. Просто подпись стоит денег, а не каждый хочет вкладывать дополнительные средства. А подписанными являются только коммерческие проекты. Но даже среди таких авторитетных ресурсов бывают проблемы. Сертификат действителен только в течение указанного в нем периода, а если администратор не уследил за датой, то он устареет.
Единственное, что должен помнить пользователь, при неавторизованном соединении нельзя вводить номера кредитных карт. Вот это предупреждение должно появляться большими буквами при подключении к серверу с неподписанным сертификатом.
Данный текст является ознакомительным фрагментом.