Атака с внедрением OpenSSL MITM CCS За последние несколько лет в различных криптографических библиотеках было обнаружено несколько серьезных уязвимостей.
Хотя лишь некоторые из них можно было использовать массово до того, как их подробности стали общедоступными и были выпущены исправления, серьезные уязвимости, такие как Heartbleed, побудили разработчиков, исследователей и обычных пользователей более тщательно проверять надежность этих продуктов.
Среди недавних ошибок, исправленных в OpenSSL версии 1.0.1h, основная — возможность MITM-атаки (CVE-2014-0224) на протоколы OpenSSL и TLS.
Что такое CVE-2014-0224 и стоит ли мне об этом беспокоиться?
Короткий ответ: неоднозначно, но, как и в случае с любой другой уязвимостью безопасности, всегда лучше ее исправить, чем тянуть время и беспокоиться.Примечание переводчика : Мне кажется, нужно просто запустить и обновиться.
Эта уязвимость сводит на нет всю цель SSL. Для использования этой уязвимости должны быть выполнены следующие условия:
- И клиент, и сервер должны быть уязвимы.
На стороне клиента уязвимы все версии OpenSSL. На стороне сервера на данный момент уязвимой считается только версия 1.0.1. Если клиент или сервер исправлены, эксплуатация уязвимости становится невозможной.
- Нападающий должен быть человеком посередине.
Злоумышленник должен иметь возможность перехватывать и изменять ваши пакеты.
Десять лет назад такой вектор атаки показался бы практически невозможным никому, кроме интернет-провайдеров, поскольку они имеют доступ ко всем сетевым устройствам, через которые проходит интернет-трафик.
(Примечание переводчика: десять лет назад даже при неразумных провайдерах сейчас можно прослушивать соседний трафик активными снифферами, используя, например, arp-отравление)
Кроме того, существует множество программного обеспечения, позволяющего создавать фейковые точки доступа.
Как только клиент подключается к такой точке доступа, злоумышленник может стать «посредником» в отношении трафика от клиента.
Успешная атака «человек посередине» может раскрыть ваши учетные данные, конфиденциальную информацию или позволить злоумышленнику подделать личность жертвы.
Как работает эта атака?
Сеанс SSL/TLS инициализируется путем согласования посредством сообщений ClientHello и ServerHello с соответствующей стороны.Эта часть протокола отвечает за настройку атрибутов сеанса, таких как версия используемого протокола, протокол шифрования, ключи шифрования, код аутентификации сообщения (MAC), векторы инициализации и используемые расширения.
По разным причинам и клиент, и сервер могут принять решение изменить свои стратегии выбора криптографических алгоритмов на этапе переговоров (не путать с протоколом переговоров).
Это достигается с помощью запроса ChangeCipherSpec (CCS).
CCS состоит из одного пакета, отправляемого со стороны клиента и сервера для уведомления о том, что следующие данные будут защищены новым криптографическим алгоритмом и ключами.
Согласно стандартам (RFC 2246, RFC 5246) «CCS отправляется во время установления связи после согласования параметров безопасности, но до проверки отправки сообщения «Завершено».
Однако в случае OpenSSL это не так, и он принимает CCS даже до согласования параметров безопасности.
Ожидается, что если ChangeCipherSpec будет принят в неправильном порядке, произойдет десинхронизация состояний между обеими сторонами.
Обычно это приводит к тому, что обеим сторонам приходится закрывать соединение, если только у вас нет других уязвимостей.
Чтобы воспользоваться этой уязвимостью, «человеку посередине» необходимо: Подождите, пока будет установлено новое соединение, после чего появятся сообщения ClientHello/ServerHello. Отправьте пакет CCS в обоих направлениях, что заставит OpenSSL использовать главный ключ нулевой длины.
Сессионные ключи будут созданы на основе этого «нулевого» ключа, и будущие сеансовые ключи будут столь же уязвимы.
Повторно инициализируйте параметры переговоров.
Злоумышленник способен расшифровать и даже изменить передаваемые пакеты.
OpenSSL устраняет эту уязвимость следующим образом: пакеты CCS не могут быть получены до установки главного ключа, а главные ключи нулевой длины не допускаются.
Как защитить себя?
Обновите пакет OpenSSL до последней версии, предоставленной вашим дистрибутивом.
Примечание переводчика:
Об этой уязвимости в OpenSSL сообщил КИКУЧИ Масаси (Lepidum Co. Ltd.) 1 мая 2014 года.На основе его патча Стивен Хенсон из команды OpenSSL разработал исправление для OpenSSL. Исправленные версии выпущены для OpenSSL 0.9.8 - 0.9.8за OpenSSL 1.0.0 - 1.0.0м OpenSSL 1.0.1 — 1.0.1h Ошибка в Генте (исправленная версия (openssl-1.0.1h) уже есть в портах) Исправлено в Ubuntu (верно) (openssl (1.0.1f-1ubuntu2.2) надежная безопасность; срочность = средняя) В Доступно исправление Debian Wheezy (1.0.1e-2+deb7u10).
Остальные дебианы (squeeze, jessie, sid) на данный момент уязвимы.
Спасибо Амарао И Валдикс за помощь с переводом.
Теги: #SSL #tls #уязвимость #CVE-2014-0224 #информационная безопасность #криптография #открытый исходный код
-
Цвет Интернет-Маркетинга
19 Oct, 24 -
Резервное Правило 3-2-1. Часть 1
19 Oct, 24 -
Asp.net Mvc. Урок 0. Введение
19 Oct, 24