|
1 / 1 / 1
Регистрация: 12.12.2013
Сообщений: 95
|
|
.NET 4.x Защита процесса от внедрения29.05.2014, 22:44. Показов 3990. Ответов 15
Метки нет (Все метки)
Здравствуйте! Не подскажет ли кто мне как защитить процесс [NameProc] от внедрения в него каких dll и тому подобное.. Т.е. защитить процесс от взаимодействия с другими программами. Если кто то затронул процесс [NameProc], то он завершается
Заранее спасибо!
0
|
|
| 29.05.2014, 22:44 | |
|
Ответы с готовыми решениями:
15
Защита процесса от закрытия(убийства) Защита процесса от вмешательства пользователя (взлома) Управление правилами и информацией запущеного процесса а также его защита |
|
Ушел с форума
|
|
| 29.05.2014, 22:59 | |
|
А от кого защищаемся ? От администраторов защищаться бесполезно,
они и так полноправные хозяева системы, могут творить все, что угодно. От обычных пользователей (т.н. "standard users") лучше всего защищаться повышением своего процесса до уровня администратора. Правда, такая защита стала полноценно работать только начиная с Vista. Другие защиты сложны и требуют всяких драйверов и т.п.
1
|
|
|
1 / 1 / 1
Регистрация: 12.12.2013
Сообщений: 95
|
|
| 29.05.2014, 23:20 [ТС] | |
|
Должна защищаться не моя программа.. а стороняя.. т.е. моя программа "А" защищает программу "Б" от внедрений и изменений другими программами
0
|
|
|
Ушел с форума
|
|
| 30.05.2014, 09:41 | |
|
Сути написанного выше это не меняет.
0
|
|
|
1 / 1 / 1
Регистрация: 12.12.2013
Сообщений: 95
|
|
| 30.05.2014, 09:43 [ТС] | |
|
Ну а наблюдать за процессом как??
0
|
|
|
Ушел с форума
|
||
| 30.05.2014, 09:54 | ||
|
процесс с правами на запись, уничтожение или создание удаленных потоков, вы не сможете. По крайней мере, из режима пользователя. Ну если только не похукать соответствующие функции во всех процессах, но это ставит под угрозу стабильность работы системы. А если в процесс устанавливают оконный хук, дело еще хуже, т.к. процесс "сам" загружает нужную dll-ку, в которой находится код перехватчика. В ядре Windows есть функции-перехватчики, но даже они вызываются пост-фактум, т.е. когда dll уже загружена.
1
|
||
|
1 / 1 / 1
Регистрация: 12.12.2013
Сообщений: 95
|
|
| 30.05.2014, 09:56 [ТС] | |
|
0
|
|
|
Ушел с форума
|
||
| 30.05.2014, 10:01 | ||
|
Для всяких проактивных защит есть специальный API, доступный начиная с Windows Vista SP1 и Windows Server 2008, называется ObRegisterCallbacks. Вот там можно контролировать доступ к процессам и потокам. Но это ядро. На более старых системах есть хуки системных вызовов, типа NtOpenProcess, но это тоже ядро. В режиме пользователя никакой защиты от открытия процессов нет, за исключением защиты на уровне DACL, т.е. списков контроля доступа, когда, к примеру, процесс админа защищен от процессов пользователя.
4
|
||
|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
||
| 30.05.2014, 10:08 | ||
|
0
|
||
|
1 / 1 / 1
Регистрация: 12.12.2013
Сообщений: 95
|
|
| 30.05.2014, 10:22 [ТС] | |
|
0
|
|
|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
||||||
| 30.05.2014, 10:37 | ||||||
|
Именно как написано.
В программу Б (защищаемую) делаете проверки: 1) чтобы программа А лежала с ней в одной директории; 2) чтобы она была запущена; 3) чтобы ее размер или хешсумма совпадали с заданными. Также делаете проверки по таймеру: 1) чтобы программа А была запущена; 2) чтобы она лежала в одной директории с программой Б. 3) чтобы ее размер или хешсумма совпадали с заданными. Если программ А выключена, то программа Б завершает работу. Если программа А запущена, но ее хешсумма неправильная (взломали защитника), то удаляем ее или подменяем, или портим саму программу Б с просьбой обратиться к разработчику. В программе А (пускач) делаете проверки: 1) чтобы программа Б лежала с ней в одной директории; 2) чтобы ее хешсумма совпадала с заданной. Если программа Б взломана (хешсумма не совпадает), то программу Б удаляем или подменяем на файл "пустышку", который будет при любом запуске писать ошибки и советовать обратиться к разработчику. После проверок через программу А запускаете программу Б. Также в программе А периодически (по timer.tick) делаете проверки: 1) чтобы с программой Б (защищаемой) все было в порядке (лежит в одной директории, хешсумма совпадает); 2) если программа Б выключена, то программа А должна также завершить свою работу. Процессы получаем через
1
|
||||||
|
1 / 1 / 1
Регистрация: 12.12.2013
Сообщений: 95
|
|
| 30.05.2014, 11:32 [ТС] | |
|
А пример можно?? Как эт будет выглядить я понял, а вот как реализовать...
0
|
|
|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
|||||||||||
| 30.05.2014, 11:55 | |||||||||||
|
ivleb,
1) чтобы программа А лежала с ней в одной директории с программой Б;
http://stackoverflow.com/quest... -text-file 3) чтобы найти программу в процессах:
http://msdn.microsoft.com/ru-r... .110).aspx
0
|
|||||||||||
|
1 / 1 / 1
Регистрация: 12.12.2013
Сообщений: 95
|
||
| 30.05.2014, 13:31 [ТС] | ||
|
Спасибо буду пробовать
Добавлено через 31 минуту
0
|
||
|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
||||||
| 30.05.2014, 14:19 | ||||||
|
в скобки возьмите:
Таймер лучше поставить на 5 - 10 секунд, чтобы программа каждую секунду в процессах не искала (будет тормозить).
0
|
||||||
|
Ушел с форума
|
||
| 30.05.2014, 14:53 | ||
|
От, например, записи в память процесса или внедрения в него dll это не поможет.
0
|
||
| 30.05.2014, 14:53 | |
|
Помогаю со студенческими работами здесь
16
Проекты внедрения ERP систем с открытым кодом - есть ли внедрения в России? Защита памяти процесса Защита процесса от завершения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|