Создатели Flame использовали новый тип криптографической атаки

Создатели Flame использовали новый тип криптографической атаки

На днях на страницах Anti-Malware.ru сообщалось о том, что уже ставший популярным червь Flame был подписан действующими сертификатами Microsoft  и, таким образом, выдавал себя за вполне легитимное приложение. В результате Редмондский гигант отозвал свои сертификаты и исправил имеющуюся уязвимость в службе терминалов. Эксперты в области безопасности Microsoft сообщили новые подробности о результатах исследования.

Согласно записи в блоге, для проведения успешной атаки для операционных систем (ОС) Windows версий, ниже Vista, подделка сертификатов не была нужна, однако для Vista и более поздних версий Windows злоумышленникам пришлось подделать цифровую подпись. Причем им это удалось, прописав нужные контрольные суммы MD5 (MD5 collision attack).

Дело в том, что при первичном анализе исследователи, не заметив ничего подозрительного, решили, что сертификат являлся легитимным. Однако, изучив код более подробно, специалисты  выяснили, что, в отличие от легитимного сертификата, в данном экземпляре отсутствовало поле расширения X.509, которое обычно присутствует в сертификатах Microsoft. Кроме того, отсутствовали расширения Certificate Revocation List (CRL), Distribution Point (CDP), Authority Information Access (AIA) и "Microsoft Hydra".

Помимо этого, после того как специалисты протестировали данный сертификат с помощью специальной утилиты, они обнаружили что, обычно пустующее поле Issuer Unique Identifier содержало зашифрованное расширение X.509V3.

Эксперты считают, что выбор вирусописателями такого сложного пути и создания поддельного сертификата обусловлен тем, что в более поздних версиях ОС невозможно применить существующие подделки и выдать свой продукт за разработку Microsoft.

Специалисты по цифровым сертификатам подтвердили, что в данном случае вирусописатели применили пока еще неизвестный метод атаки, который, скорей всего, основан на так называемой "chosen-prefix collision attack".

С целью минимизации рисков Microsoft не только исправила уязвимость в службе терминалов, но также выпустила еще одно обновление, которое рекомендуется установить всем пользователям незамедлительно.

Anti-Malware.ru сообщалось о том, что уже ставший популярным червь Flame был подписан действующими сертификатами Microsoft  и, таким образом, выдавал себя за вполне легитимное приложение. В результате Редмондский гигант отозвал свои сертификаты и исправил имеющуюся уязвимость в службе терминалов. Эксперты в области безопасности Microsoft сообщили новые подробности о результатах исследования.

" />

Новая атака на кеш Nginx позволяет красть данные и ломать сайты

Исследователь YesWeHack Алекс Брумен описал вектор кибератаки Cache Key Injection. В случае её эксплуатации последствия для потенциальной жертвы опасные: обход контроля доступа, раскрытие закрытых страниц, отказ в обслуживании и при определённых условиях.

Как объясняет исследователь YesWeHack, проблема возникает не в Nginx по умолчанию, а в конфигурациях, где администраторы просто склеивают несколько значений переменной длины без разделителей. Например:

$scheme$host$request_uri$http_accept

Разных запроса два, а итоговая строка может получиться одна. Так, запрос к /h с заголовком Accept: ome*/* создаёт тот же ключ, что и обычное обращение к /home с Accept: */*.

Если атакующий успеет первым положить в кеш ответ 404, пользователи вместо главной страницы будут получать ошибку до очистки записи. Получается CPDoS — отказ в обслуживании с доставкой прямо из кеша.

 

Ещё веселее становится с закрытыми разделами. В лабораторном примере страница /admin была доступна только с localhost, но злоумышленник мог обратиться к /ad и перенести оставшуюся часть имени в соседний компонент ключа. Nginx видел разрешённый путь, однако доставал из кеша содержимое админ-панели.

При совпадении нескольких условий техника позволяет столкнуть HTTP- и HTTPS-запросы и записать в кеш страницу со ссылкой на атакующий JavaScript, превратив ошибку конфигурации в stored XSS. Даже Cloudflare не всегда спасёт: заголовок Authorization может провести запрос мимо его кеша прямо к уязвимому кешу Nginx.

 

Защита выглядит до смешного просто: не склеивать значения вслепую. Между элементами ключа нужны разделители или структурное кодирование, например:

$scheme|$host|$request_uri|$http_accept

Также следует проверять Host, перенаправлять HTTP на HTTPS и не кешировать аутентифицированные запросы.

RSS: Новости на портале Anti-Malware.ru