На главную страницу
Форум txt.version   




Статья :: Программирование систем защиты: Определение имени процесса
 

Определение имени процесса

Реализация драйвером функции получения имени обращающегося к ресурсу процесса необходима для создания системы защиты от НСД не ниже 3 класса по классификации Руководящих документов Государственной технической комиссии РФ, определяющих защищенность средств вычислительной техники (СВТ) или класса 1В по классификации защищенности автоматизированных систем (АС). При этом может быть поддержана полная модель полномочного (мандатного) доступа, определяющая возможность контроля доступа обращений к ресурсу от имени конкретного процесса.
Имя обращающегося к ресурсу процесса находится в структуре, описывающей объект-процесс. Чтобы получить смещение имени процесса в объекте-процессе, надо во время инициализации драйвера в функции DriverEntry (которая всегда исполняется в контексте процесса System) найти строку «System» в объекте-процессе, описывающем (процесс System: ULONG GetProces'sNameOffset () .

PEPROCESS int
curproc;
i; curproc = PsGetCurrentProcess () ; for( i = 0; i < 3*PAGE_SIZE; i++ ) {
if( !strncmp( "System", (PCHAR) curproc + i, strlen ("System") )) {
return i; .
//имя не найдено return 0;

После удачного завершения этой функции можно использовать возвращенное ею значение ProcessNameOffset для определения имени процесса:

VOID GetProcess ( PCHAR Name )
{
PEPROCESS curproc;
char *nameptr;
ULONG i;
if( ProcessNameOffset ) { s
curproc = PsGetCurrentProcess () ;
nameptr = (PCHAR)- curproc + ProcessNameOffset;
strncpy( Name, nameptr, 16 ); } else {
strcpy( Name, "???");

Получив имя процесса, можно определить его конкретные полномочия по доступу к объектам. Например, далее по тексту будет использоваться возможность вызова функций драйвера только процессом Winlogon, в контексте которого работает GINA. Таким образом, можно гарантировать передачу параметров и управление драйвером только со стороны модифицированной библиотеки.

 

Программирование систем защиты: Определение имени процесса

страницы в данном разделе 
 Программирование систем защиты: Глава 5. Общие вопросы обеспечения безопасности в операционной среде Windows NT/2000  Программирование систем защиты: Механизм идентификации и аутентификации в ОС Windows NT.Общее описание
 Программирование систем защиты: Основные сведения о процессе Winlogon и его состояниях  Программирование систем защиты: Протокол взаимодействия процесса Winlogon и библиотеки GINA
 Программирование систем защиты: Локальная аутентификация пользователя в Windows NT  Программирование систем защиты: Сетевая аутентификация пользователя в Windows NT
 Программирование систем защиты: Основные подходы к созданию изолированной программной среды  Программирование систем защиты: Макет системы защиты от несанкционированного доступа
 Программирование систем защиты: Перехват операций открытия, создания и удаления файлов  Программирование систем защиты: Собственный обработчик создания файла и собственный обработчик открытия файла
 Программирование систем защиты: Определение имени процесса  Программирование систем защиты: Вывод сообщений на «синий» экран
 Программирование систем защиты: Процедура распределения IRP_MJ_DEVICE_CONTROL драйвера контроля доступа  Программирование систем защиты: Модифицированная библиотека Gina


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)
Flutter
React Native
Xamarin

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
React Native
demo forum