Сейчас на форуме: tyns777, bezumchik (+4 невидимых)

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

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

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

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



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

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

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

-----
старый пень




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

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

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




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

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

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

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

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

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

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



Ранг: 43.1 (посетитель), 20thx
Активность: 0.160.29
Статус: Участник

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

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




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 13 декабря 2019 12:26 · Поправил: plutos
· Личное сообщение · #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.
В сети легко найти.

-----
Give me a HANDLE and I will move the Earth.





Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

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

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



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

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

exel@b - VX форум




Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

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

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

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



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

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

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




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

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




Ранг: 324.3 (мудрец), 222thx
Активность: 0.480.37
Статус: Участник

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

AlexsandrS + WinDbg в помощь

-----
IZ.RU





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

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

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

А авера нельзя отключить, их фильтры не имеют функционала для выгрузки, потому что это не нужно.

-----
vx



 eXeL@B —› Вопросы новичков —› Доступ из драйвера к общему ресурсу
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати