Стилер паролей в антивирусном ПО Avira Free Antivirus

hippi

Селебрити
Старожил
♛ ЗВЕЗДА в ШОКЕ ♛
Регистрация
8/4/18
Сообщения
556
Репутация
1.477
Реакции
3.488
RUB
0
Что если я Вам скажу, что единственной функцией одного из компонентов антивирусного ПО, имеющего доверенную цифровую подпись, является сбор всех Ваших учетных данных сохраненных в популярных Интернет-браузерах? А если я скажу что ему без разницы в чьих интересах их собирать? Наверное подумаете что я брежу. А давайте посмотрим как на самом деле?

Разбираемся

Живет себе и здравствует такая антивирусная компания как . Выпускает различные продукты связанные с информационной безопасностью. В ассортименте даже есть бесплатные продукты для домашнего использования.
Установим себе интереса ради бесплатную версию, посмотреть что умеет продукт немецких коллег. Пробегаем взглядом по интерфейсу – ничего необычного. Не находим никакого упоминания еще одного из продуктов компании – Avira Password Manager.
А давайте заглянем в компонент с ничем не привлекающим внимание именем «Avira.PWM.NativeMessaging.exe»? Он скомпилирован для платформы .NET и никак не обфусцирован, поэтому загружаем его в dnSpy и свободно изучаем код программы.

Программа консольная и она ожидает команд в стандартном потоке ввода. Главная функция при помощи «Read» считывает данные с потока, проверяет формат и передает команду в функцию «ProcessMessage». Та же, в свою очередь, проверяет что переданная команда является "fetchChromePasswords" или "fetchCredentials" (хотя какая разница если дальнейшее поведение одинаковое?) и тогда начинается самое интересное – вызов функции «RetrieveBrowserCredentials». Интересно даже… что может делать функция с таким именем?
Листинг кода функции ProcessMessage

Да ничего необычного, просто собирает в один список все учетные записи пользователя, сохраненные им при работе с Интернет-браузерами «Chrome», «Opera» (на базе Chromium), «Firefox» и «Edge» (на базе Chromium) и возвращает данные в виде JSON-объекта.
Листинг кода функции RetrieveBrowserCredentials

Ну а затем выводит собранные данные в консоль:
Снимок экрана командной строки с полученными данными

Суть проблемы

  • Компонент собирает пользовательские учетные данные;
  • Компонент не верифицирует вызывающую программу (например, по наличию у неё цифровой подписи самого производителя);
  • Компонент имеет «доверенную» цифровую подпись и не вызывает подозрение у других производителей антивирусного ПО;
  • Компонент работает как отдельное приложение.
IoC

SHA1: 13c95241e671b98342dba51741fd02621768ecd5.
По данной проблеме был заведен CVE-2020-12680.
Об этой проблеме мною 07.04.2020 было направлено письмо в адрес [email protected] и [email protected] с полным описанием. Ответных писем, включая от автоматических систем не поступало. Спустя месяц описываемый компонент всё так же распространяется в дистрибутиве Avira Free Antivirus.


 
Сверху Снизу