Обнаружена серьезная уязвимость в антивирусе 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, где компания сообщила о том, что знает о существующей проблеме и работает над ее устранением.

Разработчик запустил Doom на беспроводных наушниках без экрана

Кажется, список устройств, на которых запускали Doom, снова пополнился, на этот раз беспроводными наушниками. Разработчик Арин Саркисян (Arin-S) сумел портировать легендарный шутер на пару PineBuds Pro. Тех самых TWS-наушников, у которых вообще нет экрана.

Звучит как очередная шутка из серии «Doom запустили на тостере», но всё по-настоящему.

PineBuds Pro — редкий случай на рынке: это одни из немногих наушников с открытой прошивкой, чем Арин и воспользовался. Эти наушники выпускает Pine64 — та же компания, что стоит за RISC-V-паяльниками вроде Pinecil.

Внутри каждого наушника скрывается Arm Cortex-M4F, и именно он стал сердцем проекта DoomBuds. Ради эксперимента разработчик разогнал процессор с 100 до 300 МГц и полностью отключил энергосберегающий режим. Сегодня такой разгон для встраиваемых чипов звучит почти как экстремальный спорт.

 

Отдельной головной болью стали память и хранилище. Чтобы игра вообще влезла в наушники, Арину пришлось серьёзно перекроить код: заранее сгенерировать таблицы, сделать часть переменных константами, отключить систему кеширования и выкинуть всё лишнее. В результате сам движок Doom уложился менее чем в 1 МБ. А WAD-файл Doom 1 пришлось ужать с 4,2 до 1,7 МБ — благо в сети давно есть «облегчённые» версии ресурсов.

Ну и главный вопрос: как играть в Doom без экрана? Решение оказалось неожиданно практичным. Арин использовал UART-подключение PineBuds Pro, чтобы стримить картинку на внешнее устройство или даже в интернет. Bluetooth тоже рассматривался, но по совокупности факторов UART оказался быстрее и стабильнее.

В итоге картинка передаётся в формате MJPEG, а производительность достигает примерно 18 кадров в секунду. Теоретически можно было бы выжать около 25 fps, но процессору банально не хватает сил быстро перекодировать видеопоток.

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