Русский / Russian English / Английский

Сейчас на форуме: rmn, KDA (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Вопросы новичков —› Доступ из драйвера к общему ресурсу
Посл.ответ Сообщение

Ранг: 3.6 (гость)
Статус: Участник

Создано: 13 декабря 2019 07:51 New!
Цитата · Личное сообщение · #1

Добрый день ! У многих защитных программ, как правило, есть свой драйвер режима ядра. Этот драйвер нацелен на управление определёнными ресурсами системы, но что если к этому ресурсу обратиться другой драйвер и изменит параметры каких либо полей( скажем структуры eeprocess в ядре )? Как происходила бы работа двух драйверов за общий системный ресурс?спасибо

Ранг: 589.6 (!)
Статус: Модератор

Создано: 13 декабря 2019 08:40 New!
Цитата · Личное сообщение · #2

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

Ранг: 3.6 (гость)
Статус: Участник

Создано: 13 декабря 2019 08:59 New!
Цитата · Личное сообщение · #3

Получается какой нибудь руткит может взять и заблокировать драйвер Касперского?


Ранг: 2012.6 (!!!!)
Статус: Модератор
retired

Создано: 13 декабря 2019 09:31 New!
Цитата · Личное сообщение · #4

На одном поле нормально никогда не выиграть. Либо ты выше, типа ринг0-ринг3. Либо смирись, что в пролёте.

| Сообщение посчитали полезным: BlackCode


Ранг: 3.6 (гость)
Статус: Участник

Создано: 13 декабря 2019 09:40 New!
Цитата · Личное сообщение · #5

Можете посоветовать какие то исходники или литературу как одним драйвером блокировать работу другого? Хочется понять принципы «борьбы за ресурс» в режиме ядра

Ранг: 38.7 (посетитель)
Статус: Участник

Создано: 13 декабря 2019 12:10 New!
Цитата · Личное сообщение · #6

Задача Касперского (и подобных программ) состоит в том числе, чтобы никакую гадость не пустить в кернел-режим.


Ранг: 607.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 13 декабря 2019 12:26 · Поправил: plutos New!
Цитата · Личное сообщение · #7

AlexsandrS пишет:
Можете посоветовать какие то исходники или литературу


Есть куча разных драйверов, миллион типов ресурсов.
берите и читайте:
"Developing Drivers with the Windows Driver Foundation (Developer Reference)" by Penny Orwick
или
"Programming the Microsoft Windows Driver Model (2nd Edition) (Developer Reference)" by Walter Oney.
В сети легко найти.


Ранг: 69.5 (постоянный)
Статус: Участник

Создано: 13 декабря 2019 12:29 New!
Цитата · Личное сообщение · #8

AlexsandrS
Касперский, для грамотного криптованого файла, по сей день представляет решето.
Допущу, возможно глупую, мысль. Но, что мешает остановить, деинсталлировать драйвер.
Тогда никакого конфликта, по сути, не будет. Думаю, что в механизме препятствия удаления или остановки драйвера, ничего сверхъестественного нет.
Возможно ошибаюсь, т.к. не было нужды ковыряться в потрохах каспера

Ранг: 257.4 (наставник)
Статус: Участник

Создано: 13 декабря 2019 13:17 New!
Цитата · Личное сообщение · #9

exel@b - VX форум


Ранг: 69.5 (постоянный)
Статус: Участник

Создано: 13 декабря 2019 13:46 New!
Цитата · Личное сообщение · #10

TryAga1n пишет:
exel@b - VX форум

Да ладно, все чисто гипотетически

Ранг: 3.6 (гость)
Статус: Участник

Создано: 13 декабря 2019 15:09 New!
Цитата · Личное сообщение · #11

Если драйвера обмениваются с окружающей средой через irp, каким образом они ставят хуки в таблицы ядра? Даже, говорят, в другие драйвера...?


Ранг: 1042.1 (!!!!)
Статус: Участник

Создано: 13 декабря 2019 15:11 New!
Цитата · Личное сообщение · #12

почитайте какую нибудь книгу по внутреннем устройстве виндовс


Ранг: 324.3 (мудрец)
Статус: Участник

Создано: 13 декабря 2019 15:54 New!
Цитата · Личное сообщение · #13

AlexsandrS + WinDbg в помощь


Ранг: 677.5 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 14 декабря 2019 02:03 New!
Цитата · Личное сообщение · #14

BlackCode
Чисто гипотетически мешает то, что ваш драйвер не подписан, и на продакшене не загрузится вовсе. Но, если предположить, что проблема решена, дальше Касперский хукнет NtLoadDriver, и может не разрешить вашему драйверу загрузиться. После загрузки, если удалось всё же, нужно понимать, что никто не отменял многопоточность. В частности, добавляются потоки ядра, Work Items, целый набор колбэков, и много всего, где Касперский перехватит код и будет мешать работать другому драйверу. Да и проверять свои хуки тоже будет. Так что придётся напрячь булки, чтобы прям вот отключить


Ранг: 69.5 (постоянный)
Статус: Участник

Создано: 14 декабря 2019 09:34 · Поправил: BlackCode New!
Цитата · Личное сообщение · #15

ARCHANGEL
На счет подписи, это очевидно и для х64 обязательно.
Я писал об выгрузки драйвера перед загрузкой своего.
Выгрузить можно из юзермода, остановкой сервиса с последующим удалением.
Права админа только нужны.
А вообще, не зная полного ТЗ, невозможно четко выстроить алго решения задачи.
Не удивлюсь, что для решения поставленного ТЗ, а именно получения конечного результата, вообще не нужно лезть в ядро.
Я вообще, рассматриваю драйвера как крайнюю меру. И если она оправданна.


Ранг: 329.0 (мудрец)
Статус: Участник

Создано: 14 декабря 2019 21:17 New!
Цитата · Личное сообщение · #16

> Как происходила бы работа двух драйверов за общий системный ресурс?

В отличие от юзер режима, где есть эксклюзивная среда для каждого процесса, в кернел иначе. Модуля работают совместно и синхронно разделяя ресурсы. У них к примеру общее адресное пространство, ну в общем говоря.

А авера нельзя отключить, их фильтры не имеют функционала для выгрузки, потому что это не нужно.
 eXeL@B —› Вопросы новичков —› Доступ из драйвера к общему ресурсу

Видеокурс ВЗЛОМ