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

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

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


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

  • Сообщения

    • demkd
      такое бывает когда проблемы с BITS, но оно не вешается, а минут через 5-10 выдает ошибку и продолжает работу, лечится удалением базы bits
    • PR55.RP55
      После запуска: на: uVS v4.11.7 [http://dsrt.dyndns.org:8888]: Windows 7 Home Basic x64 (NT v6.1 SP1) build 7601 Service Pack 1 [C:\WINDOWS] Программа просто зависла. ( Анализ Автозапуска... ) После перезагрузки системы - программа запустилась нормально...      
    • demkd
      Дополнение:
      В Vista dns лог не работает и работать не будет,
      Win7, Win8 не работает, но возможно получится прикрутить в урезанном виде без фильтрации левых адресов и ответа сервера.
      Работает начиная с Win 8.1.
      Адреса можно вносить в базу проверенных.
    • demkd
      ---------------------------------------------------------
       4.11.7
      ---------------------------------------------------------
       o Твики 39 и 40 обновлены и теперь включают ведение DNS лога.
         В uVS добавлен раздел "DNS лог", в нем находятся адреса, которые запрашивали процессы с момента загрузки системы,
         в окне информации для каждого адреса указан процесс, его pid, дата обращения к DNS и результат, если он был, промежуточные адреса
         в список не включены. Например при запросе IP адреса CXCS.MICROSOFT.NET будет получен адрес CXCS.MICROSOFT.NET.EDGEKEY.NET,
         который в свою очередь будет ссылаться например на E3230.B.AKAMAIEDGE.NET, в итоге в список попадет лишь исходный адрес CXCS.MICROSOFT.NET,
         промежуточные адреса будут отфильтрованы.
         Этот раздел поможет в выявлении зловредов/майнеров и руткитов подключающихся к определенным адресам.
         (!) После включения функции требуется перезагрузить систему,
         (!) только в этом случае вы получите полную информацию с момента загрузки системы.
         (!) Только для активных и удаленных систем начиная с Vista (NT6.0).
         (!) Включение ведения DNS лога требует дополнительно 512mb на системном диске, этого объема хватает на 30-50 минут,
         (!) поэтому рекомендуется проводить анализ или создание образа сразу после перезагрузки.
    • santy
      да, уж. пишут с ошибками, а туда же - про обслуживание на высшем уровне
×