По всей видимости, взломанному малому шифру RC4, от использования которого отказались большинство компаний и веб-браузеров, скоро составят компанию шифры 3DES и Blowfish.

Исследователи собираются представить информацию о новом типе атаки на 64-битные шифры, позволяющей извлекать из  HTTPS-трафика, защищенного при помощи 3DES, куки-файлы, используемые в процессе аутентификации. В случае же с OpenVPN-трафиком, по умолчанию защищенным при помощи Blowfish, возможно извлечение юзернеймов и паролей.

Совсем скоро состоится релиз OpenSSL версии 1.1.0, в которой 3DES более не будет поддерживаться. Помимо этого будет обновлен исходный код на репозитории Git — в версиях 1.0.2 и 1.0.1 шифр 3DES будет понижен в статусе, с высокого до среднего. Включить поддержку 3DES в версии 1.1.0 можно будет во время компоновки модулей. Выход OpenVPN версии 2.3.12 также должен произойти совсем скоро. Она будет содержать предупреждение о ненадежности шифра Blowfish и ряд советов по безопасной настройке.

Исследователи Гатан Лёран (Gaetan Leurent) и Картикиян Баргаван (Karthikeyan Bhargavan) из INRIA, национального французского института, должны представить свой труд под названием «О практической (не)безопасности 64-битных шифров» («On the Practical (In-)Security of 64-Bit Ciphers») на конференции ACM CCS, которая пройдет в Австрии в октябре этого года.

Атака, получившая название SWEET32, представляет собой коллизионную атаку, направленную против шифров, находящихся в режиме сцепления блоков шифротекста (CBC). Некоторые 64-битные шифры вроде Blowfish и 3DES до сих пор поддерживаются TLS, IPsec, SSH и рядом других протоколов. Как заявляют исследователи, общий объем трафика, проходящего через HTTPS-серверы наиболее посещаемых, согласно данным Alexa, веб-сайтов, поддерживающих 3DES, колеблется между 1 и 2% от общего объема трафика, создаваемого пользователями Firefox, Internet Explorer, Chrome и встроенного браузера Android 5.0.

«Разработчики браузеров не отключают поддержку 3DES; они ждут, пока он не станет использоваться в еще меньших объемах. На данный момент даже 1 или 2% — это огромный объем трафика, и подобное решение они не могут принять поспешно», — заявил Лёран в комментарии Threatpost.

Как он отметил, хотя масштаб этой проблемы и не охватил всю Сеть, разработчикам и компаниям следует относиться к ней так же, как к проблеме с RC4.

«Этот шифр является угрозой безопасности, и от его использования надо отказаться, — заявил эксперт. — 3DES попросту не обеспечивает надежного уровня безопасности».

В июле прошлого кода бельгийские ИБ-исследователи опубликовали научную работу, описывающую новый тип атаки на шифр RC4, что только ускорило процесс отказа от него. Были обнаружены новые смещения в шифре, которые позволили крайне быстро (в пределах 72 часов) извлекать и расшифровывать куки веб-сайтов, использующих TLS-соединения, защищенные шифром RC4, а также WPA-TKIP. На тот момент RC4 использовался весьма широко, что после обнародования труда бельгийских экспертов потребовало незамедлительных действий. У их атаки была предшественница — атака, разработанная в 2013 году Дэниелом Бернштейном (Daniel Bernstein) из Иллинойсского университета, Чикаго, целями которой также были сайты, использующие TLS и RC4.

Атака Лёрана использует широко известные методы, позволяющие извлекать куки и учетные данные из трафика, защищенного при помощи этих малых шифров.

«Когда для шифрования множества блоков сообщения вы используете один и тот же ключ, в какой-то момент стоит ожидать появления коллизии входных данных, но также будет наблюдаться и коллизия выходных данных. Таким образом, если мы видим, что на выходе имеется коллизия, то она есть и на входе, — разъясняет Лёран. — С учетом механики работы режима сцепления блоков шифротекста, когда происходит коллизия на входе, то на выходе мы получаем XOR двух блоков сообщения. Это известный метод атаки на CBC-режим, суть которого в использовании коллизий, возникающих при шифровании большого числа блоков. Как результат, мы имеем XOR двух различных блоков сообщения».

Зная это, атакующий может вынудить жертву пройти на контролируемый им вредоносный сайт, который внедрит в ее браузер JS-код. Данный скрипт будет посылать повторяющиеся HTTP-запросы на какой-либо из сайтов, на котором залогинена жертва. Каждый подобный запрос будет содержат куки аутентификации, и если атакующий сможет послать как минимум 2^32 запросов и перехватить все ответы, то он сможет обнаружить коллизию и извлечь куки сессии.

«Практичность этой атаки в том, что 2^32 — это весьма небольшое число, — заявил Лёран, при этом отметив, что AES и новые шифры являются 128-битными, то есть, по сути, они в два раза надежнее, чем 3DES и Blowfish. — Первая коллизия должна произойти примерно после шифрования и передачи 32 ГБ данных (однако для того, чтобы извлечь куки, атакующему понадобиться создать несколько коллизий). Проблемы начнутся уже после 32 ГБ, а это совсем небольшой объем трафика. Специалистам по криптографии это хорошо известно, но это, видимо, не так хорошо понимают ИБ-специалисты, занимающиеся более практическими задачами».

По словам Лёрана, лучшим способом защиты будет отказ от использования малых шифров и переход на использование, например, шифра AES. Использование коротких сессий, между которыми происходит смена ключа, также будет надежным методом защиты, поскольку в таком случае атака станет более ресурсоемкой. Однако и смена ключей тоже требует определенных ресурсов, так что придется искать некий баланс.

«Идея тут проста — от старых шифров надо избавляться, — заявил эксперт. — Даже если атака не очень практична, лучше избавиться от них заранее».

Категории: Уязвимости