HTTP компрессия, используемая на большинстве сайтов для уменьшения размера передаваемых данных, может стать серьезной угрозой безопасности, если сайт использует HTTPS. Об этом заявили эксперты по безопасности Димитрис Каракостас (Dimitris Karakostas) и Дионисис Зиндрос (Dionysis Zindros). Исследователям удалось усовершенствовать эксплуатацию давно известной бреши, позволяющей ускорить расшифровку HTTPS трафика, и применить атаку против блочных шифров в SSL/TLS соединении.
Атака, получившая название BREACH (Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext), использует недочеты алгоритма сжатия gzip/DEFLATE. Впервые об атаке стало известно еще в 2013 г. На конференции Black Hat USA исследователи Ангело Прадо (Angelo Prado), Нил Херрис (Neal Harris) и Йоел Глюк (Yoel Gluck) рассказали об атаках на SSL/TLS потоковые шифры, например RC4. Демонстрация нового подхода к эксплуатации реализована в фреймворке с открытым исходным кодом Rupture, представленном на конференции Black Hat Asia на прошлой неделе. Во время доклада эксперты продемонстрировали две успешные атаки на Gmail и чат Facebook.
Для осуществления BREACH атаки злоумышленник должен иметь возможность перехвата сетевого трафика жертвы. Это может быть осуществлено посредством Wi-Fi сети, или через доступ к оборудованию Интернет-провайдера. Атакующему также потребуется обнаружить уязвимую часть приложения, принимающую входные данные посредством URL параметров, и возвращающую эти данные в зашифрованном ответе.
В случае с Gmail таким приложением оказался поиск на сайте для мобильных устройств. Если поисковый запрос осуществляется от имени авторизованного пользователя, к ответу также присоединяется аутентификационный токен. Этот токен будет зашифрован внутри ответа. Однако каждый раз, когда искомая строка будет совпадать с частью токена, размер ответа клиенту будет меньше, поскольку одинаковые строки в ответе будут сжиматься.
Злоумышленник может заставит клиентское приложение отправить большое количество запросов и, таким образом, угадать все символы аутентификационного токена.
Фреймворк Rupture позволяет внедрить специальный код в каждый незашифрованный HTTP запрос, открытый браузером жертвы. Внедренный код заставляет браузер клиента осуществлять подключения к уязвимому HTTPS приложению в фоновом режиме. Это требуется для проведения успешной атаки на блочные шифры, создающие много “шума” при шифровании данных. Для устранения мусора исследователи отправляли одни и те же запросы несколько раз подряд и анализировали разницу в размерах полученных ответов. Экспертам также удалось использовать параллелизацию на стороне браузера, что значительно ускорило атаку против блочных шифров в TLS подключениях. (Новости/NovostIT)