Обнаружена серьезная уязвимость в антивирусе AVG

Обнаружена серьезная уязвимость в антивирусе AVG

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

По неофициальным данным стало известно о наличии ошибки в приложении AVG LinkScanner, которая может привести к засорению трафика веб-сайтов (флуд), в результате многократных HTTP запросов, а так же ограничению нормальной работы браузера.

Приложение AVG LinkScanner имеет две функции. Первая - Search-Shield, которая отображает рейтинг безопасности для всех результатов поиска, возвращаемых самыми популярными поисковыми службами. И вторая - Surf-Shield, осуществляет проверку веб-страниц в реальном времени на наличие вредоносов, как при переходе по ссылке, так и при введении адреса страницы в адресную строку браузера. Как оказалось, именно при такой проверке возникает проблема.

Дело в том, что при проверке, в самое начало исходного HTML кода страницы добавляется скриптовый элемент, который затем загружает локальный JavaScript файл - avg_ls_dom.js. Таким образом, антивирус подключается между браузером и веб-сайтом, для возможности проверки страницы до того, как будет запущен какой-либо потенциально опасный код.

Загружаемый JavaScript код, как предполагается, создает буфер с контентом загружаемой страницы и перенаправляет его через POST на другой относительный адрес URL - /CC0227228D62/CheckData.

Запрос выглядит следующим образом:
httpRequest.open("POST", "/CC0227228D62/CheckData", false);
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpRequest.send(params);

Далее, этот запрос прерывается антивирусом, который проверяет код на наличие вредоносных внедрений, а затем, либо позволяет отобразить страницу, либо выдает ошибку загрузки. Однако, оказалось, что уязвимость, подобно прокси компоненту, пропускает запросы и отправляет их на сервер, откуда была загружена страница, в результате чего генерируются многократные HTTP запросы.

В результате запрос будет выглядеть так: <source_ip> - - [12/Oct/2010:00:06:32 -0400] "POST /CC0227228D62/CheckData HTTP/1.1" 404 5486 "http://<url>" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100722 YFF35 Firefox/3.6.8" (27)

Причем плотность таких запросов будет зависеть от количества пользователей с антивирусом AVG, пытающихся посетить конкретную страницу. И самое неприятное в этом то, что у пользователя, в это время в браузере будет открываться огромное количество соединений, которые не будут загружаться.

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

Вышла утилита RKN Block Checker для диагностики блокировок

Разработчик Дмитрий Виноградов представил утилиту RKN Block Checker с открытым исходным кодом. Она помогает понять, почему конкретный сайт не открывается: это обычная сетевая проблема или блокировка на стороне провайдера / регуляторной инфраструктуры.

Проект написан на Python и опубликован под лицензией MIT. Утилита работает из командной строки и проверяет соединение по цепочке DNS → TCP → TLS → HTTP.

Идея простая: не просто выдать вердикт, что сайт недоступен, а показать, на каком именно уровне всё сломалось. Например, если системный DNS не даёт нормальный ответ, а Cloudflare DoH возвращает корректный адрес, это может указывать на DNS-подмену. Если TCP-соединение на 443-й порт сбрасывается, речь может идти о блокировке на уровне IP.

Если TCP проходит, но соединение рвётся на TLS-рукопожатии с SNI, это уже похоже на работу DPI / ТСПУ. А если сайт открывается, но вместо страницы приходит заглушка провайдера или код 451, утилита фиксирует и такой сценарий.

 

Автор отдельно подчёркивает, что смысл RKN Block Checker не в том, чтобы заменить браузер. Браузер и так сообщает, что сайт не открылся. Здесь задача другая — разложить проблему по слоям и дать пользователю более понятную картину, где именно произошёл сбой и на что это похоже.

Утилита сравнивает ответы системного DNS и DNS over HTTPS через Cloudflare, проверяет обычное TCP-подключение, запускает TLS-handshake с SNI целевого домена и затем делает HTTP-запрос. Вердикт выставляется по первому уровню, на котором возникла ошибка.

 

У проекта есть и ограничения. Пока поддерживается только IPv4. Списки целей жёстко заданы в коде и включают около 20 сайтов на категорию, поэтому инструмент не поймает все частные случаи. Кроме того, это разовая проверка без повторов и долгосрочного мониторинга, хотя JSON-вывод можно использовать в cron для регулярных запусков.

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