Перейти к содержанию
vaber

Обновление ряда модулей в продуктах Dr.Web версии 5.0

Recommended Posts

vaber

Не так давно компания DrWeb выпустила фиксы, устраняющие уязвимости в компонентах их продукта.

http://news.drweb.com/show/?i=389&c=5

От себя хочу добавить информацию об исправленных уязвимостях.

Первая бага заключалась в неправильном использовании функции CreateProcess (а именно в передаваемых первых двух параметрах) в компоненте обновления антивирусного продукта.

Это ошибка, в теории, могла бы позволить запустить стороннее приложение модулем обновления антивируса с наследованием прав. При этом в MSDN в графе Security Remarks приведен пример такого опасного использования функции.

Следующая уязвимость оказалась в трех компонентах антивирусного комплекса. Она заключается в том, что компоненты антивируса пытаются загрузить в память функцией LoadLibrary несуществующую библиотеку drwipc.dll без указания полного пути к DLL. Это позволяло разместить в соответствии с search order вредоносный код, который будет загружен самим антивирусным продуктом в память и будет работать из контекста процессов антивируса. Это позволило бы вредоносному коду работать с файлами, ключами, процессами антивируса несмотря на самозащиту последнего.

При этом хочу отметить высокую скорость ответа на vulnerability notification (ответ был получен в день уведомления) и скорость исправления уязвимостей. Так первое уведомление было получено ими 17.06, второе - 30.06. 02.07 исправления стали доступны пользователям. За что им спасибо (правда мое сообщение на офф.форуме с благодарностью за адекватную и качественную реакцию на vulnerability notification было удалено с пометкой "флейм" одним ярым поклонником антивируса Касперского =))

P.S.

Порядок поиска DLL:

1. Директория, в которой расположено приложение

2. system-диретория (%systemroot%\system32)

3. 16-bit system-диреткория (%systemroot%\system)

4. windows-директория (%systemroot%)

5. Рабочая директория

6. переменная окружения %PATH%

P.S.S.

Уязвимость в модуле почтового антивируса была обнаружена нашим форумчанином K_Mikhail сразу же после vulnerability notification, где была указана уязвимость только в сканере (drweb32w.exe).

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v
Первая бага заключалась в неправильном использовании функции CreateProcess (а именно в передаваемых первых двух параметрах) в компоненте обновления антивирусного продукта.

Можно подробнее?..

Т.е нечто подобное было?:

LPTSTR szCmdline = _tcsdup(TEXT("C:\\Program Files\\MyApp -L -S"));CreateProcess(NULL, szCmdline, /* ... */);

Гм.. Ну, дают...

Порядок поиска DLL:

Не ожидал от Др.Веба такого...

Ведь это "мега-боян". К ослу давно так частенько либы пристраивались...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vaber
Можно подробнее?..

В MSDN все есть ;). Даже с примером.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v
В MSDN все есть wink.gif. Даже с примером.

Я знаю. Просто я не поверил, что у них именно такая ошибка. (все-таки про кавычки говорится везде)

Кстати, и еще:

несуществующую библиотеку drwipc.dll без указания полного пути к DLL

Даже если бы был указан полный путь, то все равно эффект был бы тот же - ведь либа не существует и ничто бы не мешало ее положить по тому адресу.

PS: а кто нашел все эти уязвимости и как?..

После долгого просмотра под отладчиком ?))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vaber
Даже если бы был указан полный путь, то все равно эффект был бы тот же - ведь либа не существует и ничто бы не мешало ее положить по тому адресу.

Не совсем так. Если путь указывал бы на директорию защищаемою драйвером самозащиты, то туда поместить свою DLL не удалось бы.

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

PS: а кто нашел все эти уязвимости и как?

А ты смекни :)))

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sww
А ты смекни :)))

Ах вы красные поросята :lol:

P.S. А баги реально ламерские и вполне юзабельны.

За что им спасибо (правда мое сообщение на офф.форуме с благодарностью за адекватную и качественную реакцию на vulnerability notification было удалено с пометкой "флейм" одним ярым поклонником антивируса Касперского =))

Так то правильный форум для правильных "пасанов с меготехнологиями".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
      Домашние антивирусы для Windows были обновлены до версии 17.1.9.
    • Ego Dekker
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • PR55.RP55
      .xml  файлы taskschd.msc Могут быть подписаны  цифровой подписью. Думаю будет нелишним, если uVS будет это фиксировать. т.е. проверять не только подпись целевого файла, но и подпись самого файла\задачи. и писать в ИНфО .  
×