3492


, Текст: Роман Георгиев



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

Неверным путем

В бесплатных антивирусах Avast, AVG и Avira выявлены серьезные уязвимости, позволяющие
злоумышленнику посредством загрузки вредоносного DLL-файла повышать свои привилегии в системе.

Эксперты компании SafeBreach Labs обнаружили, что во всех
версиях Avast Antivirus и
AVG Antivirus присутствует одна и
та же уязвимость, благодаря которой потенциальный злоумышленник может обходить
всю защиту системы, правда, при условии, что у атакующего уже есть
административные права.

По данным экспертов SafeBreach, уязвимость
позволяет загружать произвольную, неподписанную библиотеку DLL в процессы, запускаемые
как NTAuthoritySystem, то есть с высшими
возможными привилегиями. Даже те из процессов, которые используют Protected Process Light, оказываются уязвимы.

В частности, процесс
самого антивируса — AVGSvc.exe,
максимально защищенный и обладающий высшими (системными) привилегиями, пытается
при запуске загружать библиотеку wbemcomn.dll с путем C:WindowsSystem32wbemwbemcomn.dll, хотя в реальности этот файл находится в самом
каталоге System32,
а не в субкаталоге wbem.

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

haker600.jpg

В антивирусах Avast, AVG и Avira выявлены серьезные уязвимости

Эксперт SafeBreach скомпилировали
неподписанный DLL из оригинального wbemcomn.dll и записали новый файл в C:ProgramFilesSystem32. Антивирус загрузил его с привилегиями уровня System.

Уязвимость затрагивает
все варианты Avast Antivirus и
AVG Antivirus до версии 19.8. AVG является дочерним
предприятием Avast, и оба антивируса как минимум частично используют один и тот же программный
код.

Уязвимость, получившая
индекс CVE-2019-17093,
была устранена 26 сентября 2019 г.

Недостатки валидации

Еще один баг был выявлен
в Avira Antivirus 2019. Он также
позволяет обходить защиту антивируса, заодно обеспечивая вредоносному коду
злоумышленников постоянное присутствие в системе и повышение привилегий:
неподписанный DLL можно загрузить сразу в несколько процессов, запущенных от NTAuthoritySystem. Но, как и в первом
случае, потребуются административные права.

Как выяснили эксперты,
служба Avira ServiceHost пытается загрузить DLL-библиотеку из неправильного источника (точнее, не из того каталога,
который следует). Для эксплуатации уязвимости достаточно будет «подсунуть» в
этот каталог нужную DLL.

Та же проблема затрагивает процессы Avira
System Speedup, Avira Software Updater и Avira Optimizer Host.

По мнению экспертов,
источником проблемы является отсутствие надлежащей проверки цифровых
сертификатов (подписей) для некоторых DLL, в частности, библиотеки Wintrust.dll. Валидация не происходит потому, что за нее
должна отвечать функция WinVerifyTrust, но она-то как раз в этой библиотеке и находится,
а следовательно, еще не может быть запущена. Таким образом, появляется
возможность загрузки произвольной DLL вместо нужного файла.

Кроме того, у антивируса
нет (точнее, ввиду внесенных исправлений) не предусматривалось адекватной
защиты для основного каталога, в котором располагаются исполняемые файлы
антивируса.

Проблема была устранена
18 сентября 2019 г.

«Пользователи ожидают от
антивирусов защиты, а не проблем, даже от бесплатных, — говорит Михаил Зайцев , эксперт по
информационной безопасности компании SEC Consult Services. — С другой стороны,
антивирусы пишут отнюдь не боги, и ошибки случаются у всех. Вопрос в том,
насколько адекватно производится тестирование разработки перед ее выпуском. В
данном случае, похоже, необходимое тестирование произвели postfactum сторонние исследователи».