Иллюстрированный самоучитель по защите в Интернет

Обман SSL

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

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

Но перед этим хотелось бы дать один небольшой совет: следует применять наиболее надежные алгоритмы шифрования SSL, доступные для Web-браузеров, т.е. со 128-разрядным ключом. Благодаря послаблению экспортных законов США теперь 128-разрядные версии программ Netscape и Internet Explorer доступны каждому. Исключение составляют лишь страны, внесенные в список эмбарго. В IE выберите команду About и посмотрите, как получить 128-разрядную версию.

Обход проверки сертификата SSL в Web-браузере

В этом разделе вы узнаете о том, как можно ввести в заблуждение службу проверки подлинности сертификата SSL Web-узла, который был бы признан недействительным при обычной перекрестной проверке подлинности сертификата на основе сопоставления имени DNS и IP-адреса сервера на другом конце соединения. Такая проверка должна проводиться в соответствии со спецификацией SSL. Однако группа из Словении ACROS Security Team обнаружила изъян в Netscape Communicator до версии 4.73. После того как сеанс связи SSL уже установлен, Communicator этих версий сравнивает в сертификате SSL последующих сеансов только IP-адреса, но не имена DNS. Браузер можно обмануть, открыв сначала сеанс связи SSL с каким-нибудь специально настроенным сервером, маскирующимся под легальный. При этом все последующие соединения SSL с легальными Web-серверами будут замыкаться на "жульническом" сервере, а пользователь не получит об этом ни одного стандартного предупреждения.

Конечно же, авторы осознают, что подобное изложение похоже, скорее, на головоломку. Более последовательное объяснение можно найти в первоначальном сообщении команды ACROS, опубликованном в мае 2000 года в информационном бюллетене CERT (Computer Emergency Response Team). Несмотря на то что IP-адреса, используемые в приведенном примере, уже устарели, стоит попытаться понять суть этого изъяна. Для большинства пользователей само собой разумеется, что как только маленькая пиктограмма в виде замочка появилась в окне браузера, можно ни о чем не беспокоиться. Как продемонстрировала группа ACROS, пока разработкой программного обеспечения занимаются простые смертные, расслабляться нельзя ни в коем случае.

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

Контрмеры против обхода проверки сертификатов SSL

Как упоминалось выше, обновление программы Communicator до версии 4.73 или выше позволит устранить описанную проблему. Тем, кто занимается разработкой различных дополнений к предыдущим версиям, компания Netscape предоставляет диспетчер PSM (Personal Security Manager). Эта программа выполняет шифрование по открытому ключу (подобно тому, которое используется в протоколе SSL) вместо Netscape Communicator 4.7 или других приложений.

Конечно, подлинность сертификата безопасности узла можно проверить только одним способом. Для этого нужно самостоятельно просмотреть его в окне браузера. И в Netscape, и в Internet Explorer это можно осуществить, щелкнув на маленькой пиктограмме с изображением замочка, расположенной в нижней части окна браузера. Эту же информацию можно получить, щелкнув на кнопке Security панели инструментов Netscape. В Internet Explorer для просмотра аналогичной информации следует сделать щелчок на пиктограмме с небольшим замочком или выбрать команду File › Properties во время посещения страницы, защищенной протоколом SSL. На рис. 16.4 показан сертификат одного из популярных Web-узлов.

Иллюстрированный самоучитель по защите в Интернет › Атаки на пользователей INTERNET › Обман SSL
Рис. 16.4. Проверка сертификата SSL в браузере Internet Explorer. Убедитесь в том, что эта информация совпадает с той, которую вы ожидали увидеть

В IE существует два параметра, которые позволяют автоматически проверять, не отменен ли сертификат SSL. К ним относятся Check For Server Certificate Revocation и Check For Publisher Certificate Revocation. Для того чтобы получить доступ к этим правилам обеспечения безопасности, выберите команду Tools › lnternet Options, перейдите во вкладку Advanced и просмотрите группу параметров Security.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.