Серьёзные веб-уязвимости встречаются всё реже

Серьёзные веб-уязвимости встречаются всё реже

Крупные компании, которые занимаются ИБ, периодически публикуют отчёты о состоянии дел с безопасностью в интернете. Почти всегда в этих отчётах много негатива: растёт количество вирусов, количество уязвимостей и так далее. Редкий случай, когда выходит исследование с прямо противоположными выводами: такое исследование несколько дней назад опубликовала компания WhiteHat Security, которая занимается обеспечением безопасности веб-приложений.

По данным WhiteHat Security, количество серьёзных уязвимостей в вебе значительно уменьшилось в последнее время. Они собирают статистику ежегодно, сканируя содержимое нескольких тысяч сайтов в течение всего года. Так, в 2011 году по результатам сканирования более 7000 сайтов (сотни терабайт контента) им удалось обнаружить в среднем 79 серьёзных уязвимостей на каждом сайте. Для сравнения, в 2010 году таковых было 230, в 2009 году — 480, в 2008 году — 795, в 2007 году — 1111, передает xakep.ru.

Серьёзные уязвимости стали гораздо быстрее устранять: в 2011 году среднее время закрытия уязвимости составило 38 дней, тогда как в 2010 голу было 110 дней.

Процент закрываемых уязвимостей в прошлом году тоже вырос с 53% до 63%.

Если рассматривать уязвимости по типам, то на первом месте по популярности остаётся межсайтовый скриптинг (XSS), который встречается на 55% сайтов. Далее следуют утечки информации (53% сайтов), контент-спуфинг (36%), недостаточная авторизация (21%) и межсайтовая подмена запроса (CSRF, 19%). Только на восьмом месте в списке оказались SQL-инъекции: их обнаружили всего на 11% сайтов.

 

 

Рейтинг по абсолютному количеству уязвимостей выглядит несколько иначе: здесь у XSS абсолютное преимущество. Это связано с тем, что на некоторых сайтах могут быть сотни XSS.

По отраслям самыми безопасными признаны банковские сайты: на каждом из них обнаружено всего лишь по 17 уязвимостей. Хуже всего ситуация у интернет-магазинов (121).

Новая атака на кеш 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