Обман 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 это можно осуществить,
Рис. 16.4. Проверка сертификата SSL в броузере Internet Explorer. Убедитесь в том, что эта информация совпадает с той, которую вы ожидали увидеть
щелкнув на маленькой пиктограмме с изображением замочка, расположенной в нижней части окна броузера. Эту же информацию можно получить, щелкнув на кнопке Security панели инструментов Netscape. В Internet Explorer для просмотра анапогичной информации следует сделать щелчок на пиктограмме с набольшим замочком или выбрать команду File=>Properties во время посещения страницы, защищенной протоколом SSL. На рис. 16.4 показан сертификат одного из популярных Web-узлов.
В IE существует два параметра, которые позволяют автоматически проверять, не отменен ли сертификат SSL. К ним относятся Check For Server Certificate Revocation и Check For Publisher Certificate Revocation. Для того чтобы получить доступ к этим правилам обеспечения безопасности, выберите команду Tools>lnternet Options, перейдите во вкладку Advanced и просмотрите группу параметров Security.