Перейти к содержанию
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 было удалено с пометкой "флейм" одним ярым поклонником антивируса Касперского =))

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

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


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

  • Сообщения

    • JoshuaBut
      tantric Manhattan
      We greet you! Our employees firms those who make your privacy daily life easier. Specialized company that operates more than 12 years.

      Relaxing NY
      Characteristic characteristic feature our Hot Stone salon is not an enforced setting. We create sites to develop.
      Reiki Manhattan
      Recommended all of you try very different type massage techniques now. Employees of our company waiting you in our SPA.
      Endermological Manhattan
    • PR55.RP55
      В Инфо. указывать не только время создания\изменения файла но и время создания... Пример:  Система Установлена 2018  > Каталог создан в 2020, а файл в каталоге  2021  
    • santy
      как только заработает функция "выполнить запрос по критерию" - все отфильтрованные объекты будут на виду у оператора, и скорее всего, помещены в отдельную категорию. Кстати, всех участников данного форума (помимо проходящих мимо спамеров) поздравляю с Новым 2021 годом!
    • PR55.RP55
      1) Добавить в settings.ini  настройку: "Выделять все неизвестные ЭЦП" Таким образом все ЭЦП которых нет в базе:  wdsl будут на виду. Это  позволит пополнять базу wdsl и сразу акцентировать внимание оператора. 2) Добавить в settings.ini  настройку: Все файлы с неизвестной ЭЦП  помечать, как подозрительные. Или создать отдельную категорию: "Неизвестные ЭЦП" 3) В Инфо. файла помещать информацию типа: Действительна, подписано CAVANAGH NETS LIMITED Найдено файлов: 1 wdsl   [ - ] --------------- Действительна, подписано Mozilla Corporation Найдено файлов: 80 wdsl   [ + ]  
    • PR55.RP55
      1) При срабатывании критерия выделять не всю строку, а только вхождение\результат. Пример: C:\USERS\HOME\APPDATA\ROAMING\MICROSOFT\ADMODNETW4B8\ADNEKMOD8B4.DLL C:\USERS\HOME\APPDATA\ROAMING\MICROSOFT\ADMODNETW4B8\ADNEKMOD8B4.DLL 2) Команду: Архивировать Zoo  добавить и  в меню файла. Если оператор работает с одним файлом - ему не нужно будет метаться по всей программе. Когда группа файлов - тогда, да удобно применить одну команду. Но когда файл один... 3) В Инфо. файла прописывать единственный это файл каталога, или нет. Примерно так: FC:  1 > ADNEKMOD8B4.DLL FC:  5 > Uninstall.exe;  Menu.exe;  MenuDLL.dll;  9z.dll;  Com.bat ; 4) При совпадении пути до файла: PROGRAM FILES ; PROGRAM FILES (X86) с одной из установленных программ. Писать в Инфо.:  C:\PROGRAM FILES (X86)\AIMP3\AIMP3.EXE Программа найдена: C:\Program Files (x86)\AIMP3\Uninstall.exe
×