- •Государственная система защиты информации
- •Введение
- •Содержание работы администратора би по применению комплекса "аккорд".
- •Планирование применения комплекса.
- •Установка и настройка комплекса "Aккорд".
- •Эксплуатация комплекса.
- •Снятие защиты.
- •Основные механизмы реализации защитных функций в сзи "Аккорд".
- •Требование идентификации и аутентификации.
- •Требование реализации дискреционного механизма разграничения доступа.
- •Требование регистрации событий.
- •Требование целостности ксз.
- •Требование очистки памяти.
- •Некоторые особенности действия атрибутов и подготовки прд.
- •Примеры прд для типовых ситуаций разграничения доступа.
- •Пример 2. Пользователю на диске будут видны и доступны только явно описанные каталоги.
- •Пример 3. Разрешено работать только с файлами и только в выделенном каталоге.
- •Пример 4. Применение атрибутов наследования.
- •Пример 5. То же, но пользователю нельзя удалять файлы.
- •Пример 6. Пользователю предоставляется право с полными полномочиями работать в выделенной директории на диске d:.
- •Пример 7. Конфиденциальное делопроизводство.
- •Пример 8. То же, но пользователь имеет право читать файлы, размещенные в корневом каталоге на диске a:.
- •Пример 9. То же, но пользователь может читать все файлы, размещенные на a:.
- •Пример 10. Установка атрибутов файлов.
- •Пример 11. Установка атрибутов для выделенных программ.
- •Пример 12. Запрет доступа к файлам.
- •Пример 13. Анализ ресурсов.
- •Пример 14. Использование атрибута "o".
- •Пример 15. Описание сетевого ресурса.
- •Пример 16. Созданию изолированной программной среды (ипс) в ос Windows 9х.
- •Пример 17. Конфиденциальное делопроизводство в средеWindows 95/98 иMicrosoft Office.
- •Пример 18. Регистрация вывода документа на печатающее устройство.
- •Управление ас в процессе работы.
- •Правовые аспекты применения комплекса "Аккорд".
- •Приложения Приложение 1. Рекомендации по организации службы информационной безопасности.
- •Приложение 2. Операции, регистрируемые подсистемой регистрации.
Приложение 2. Операции, регистрируемые подсистемой регистрации.
Функции DOS.
N Код Операция
1 ACHE Конец контроля целостности
2 ACHS Начало контроля целостности
3 BIST Буферизованный ввод строки
4 CFAT Получить информацию о FAT текущего диска
5 CHEI Завершение проверки целостности (вход)
6 CHEO Завершение проверки целостности (выход)
7 CHKF Контроль целостности файла
8 CHSI Начало проверки целостности (вход)
9 CHSO Начало проверки целостности (выход)
10 CI Ввод с консоли без вывода
11 CINF Ввод с консоли без вывода и фильтра
12 CNIO Консольный I/O
13 CNTR Получить/установить параметры страны
14 CPSP Создать PSP
15 DFRE Получить размер свободного места на диске
16 DGET Получить текущий диск
17 DICH Перейти в каталог
18 DIMK Создать новый каталог
19 DINF Получить информацию о диске
20 DIRM Удалить каталог
21 DRES Сброс диска
22 DSET Установить текущий диск
23 DSPO Вывод на дисплей
24 EMEM Нарушение целостности ACRUN в памяти
25 EUED ACED: Конец редактирования
26 EXCD Получить код завершения программы
27 EXEC Запустить программу
28 f1ST Find1st через FCB
29 F1ST Find1st
30 FACC Запрет/разрешение файлового доступа
31 FATR Установить/получить атрибуты файла
32 fCLO Закрыть файл через FCB
33 FCLO Закрыть файл
34 fCR Создать файл через FCB
35 FCR Создать файл
36 fDEL Удалить файл через FCB
37 FDEL Удалить файл
38 fGSZ Получить размер файла через FCB
39 FNEW Создать новый файл
40 fNXT FindNext через FCB
41 FNXT FindNext
42 FO Открыть файл
43 FOC+ Открыть/создать файл 4.0+
44 fOP Открыть файл через FCB
45 fRBR Читать блок файла с произвольным доступом через FCB
46 FRD Чтение из файла
47 fREN Переименовать файл через FCB
48 FREN Переименование/перемещение файла
49 fRRD Чтение файла с произвольным доступом через FCB
50 fRSQ Чтение последовательного файла через FCB
51 fSBA Установить адрес блока файла с произвольным доступом через CB
52 FSEK Позиционирование в файле
53 FTIM Запрос/установка даты/времени файла
54 FTMP Создать уникальный временный файл
55 fWBR Писать блок файла с произвольным доступом через FCB
56 FWR Запись в файл
57 fWRD Запись файла с произвольным доступом через FCB
58 fWSQ Запись последовательного файла через FCB
59 GDIR Получить текущий каталог
60 GDTA Получить адрес DTA
61 GERR Получить информацию об ошибке
62 GETD Получить текущую дату
63 GETT Получить текущее время
64 GFAT Получить информацию о FAT
65 GPSP Получить сегмент PSP
66 GVER Получить версию ДОС
67 GVRF Получить состояние флага ДОС Verify
68 HDUP Дублировать Handle
69 HRED Перенаправить Handle
70 IAUX Ввод с AUX
71 ICHK Проверка состояния ввода
72 ICLR Ввод с очисткой
73 iDP ИА Пароль получен
74 iDTM ИА Дождались TM
75 iLOG ИА Вход в сиcтему
76 INL Начало работы пользователя
77 IOCT Функции IOCTL
78 iST ИА Начало
79 iWP ИА Ожидание пароля
80 iWTM ИА Ожидание TM
81 KBDI Ввод с клавиатуры
82 LOUT Завершение работы пользователя
83 MEMA Запросить блок памяти
84 MEMC Изменить размер блока памяти
85 MEMF Освободить блок памяти
86 NETM Сеть: разное
87 NRDR Перенаправление сетевого устройства
88 OAUX Вывод на AUX
89 OPRI Печать
90 PARS Разбор имени файла
91 PRI Печать
92 PRST Печать строки
93 SBRK Запросить/установить состояние флага Break
94 SETD Установить текущую дату
95 SETT Установить текущее время
96 SFDA Получить адрес флага реентерабельности ДОС
97 STDA Установить DTA
98 SUED ACED: Начало редактирования
99 SVRF Установка состояния флага Verify
100 SWTC Set/Query Switchar (undocumented)
101 TERM Завершение программы
102 TERM Завершение программы
103 TSR Завершить и остаться резидентом
104 UWRK Продолжение работы
105 VGET Получить адрес вектора прерывания
106 VSET Установить вектор прерывания
Функции Windows.
Реализация разграничения доступа в модуле Acrun.vxd
Модуль состоит из пяти субмодулей, каждый из которых отвечает за перехват определенных функций Windows 9X.
1. Субмодуль перехвата функций IFSMGR (ACRUN_IFS).
Операции файловой системы делятся на операции с локальными ресурсами и сетевыми. В Windows 9X за работу с файловой системой отвечает IFSMgr (Installable File System Manager), который принимает и выполняет запросы от всех объектов системы. IFSMgr нужен для унификации ресурсов, т.е. запрос на доступ к локальному или сетевому ресурсу поступает сначала к IFSMgr. IFSMgr анализирует запрос и на основании анализа вызывает соответствующий драйвер устройства (FSD – File System Driver). Таким образом, перехватив функции IFSMgr, можно контролировать все файловые запросы в системе.
Рассмотрим, от кого приходят запросы к IFSMgr.
1.1. VXD Ring0 – Запросы, приходящие от Windows Vxd на нулевом кольце привилегий.
1.2. WIN 16 PM - Запросы, приходящие от 16-битных приложений Windows.
1.3. INT21 PM/V86 - Запросы, приходящие от приложений, работающих в защищенном или виртуальном режимах.
1.4. WIN32 - Запросы, приходящие от 32-битных приложений Windows.
1.5. FSD - Запросы, приходящие от FSD, работающих в Windows (например, Network FSD).
При наличии модуля разграничения доступа Acrun.vxd, запрос сначала приходит к субмодулю перехвата функций IFSMGR, затем происходит проверка запроса на соответствие ПРД (правилам разграничения доступа) и в случае успеха, запрос передается IFSMgr. Запросы, приходящие к ACRUN_IFS, показаны в Таблице 1.
Досадным исключением является Novell Client 32, на момент написания которого, Microsoft ещё не опубликовала спецификацию FSD. Реализация перехвата функций Novell Client 32 будет рассмотрена далее.
2. Субмодуль перехвата функций INT 21h (ACRUN_INT21).
Для обеспечения перехвата файловых запросов необходимо также обрабатывать функции 21-го прерывания для PM и V86 режимов. Хотя теоретически все эти запросы попадают к IFSMGR, но на практике существуют программы, которые перехватывают функции INT 21h и далее сами выполняют запрос, т.е. запрос не проходит через IFSMGR. Одной из таких программ является Novell Client 32. В INT 21h также обрабатываются запросы на запуск задач и изменение системного времени/даты (нужно для обеспечения разграничения доступа к ПЭВМ по времени).
Рассмотрим, от кого приходят запросы к INT 21h.
2.1. INT 21h PM (включая NWClient32) - запросы, приходящие от приложений, работающих в защищенном режиме Windows.
2.2. INT 21h V86 (включая NWClient32)- запросы, приходящие от приложений, работающих в виртуальном режиме Windows.
Запросы, приходящие к ACRUN_INT21, показаны в Таблице 2.
3. Субмодуль перехвата функций работы с реестром Windows (ACRUN_REG).
В реестре Windows хранится много информации, несанкционированный доступ к которой, может повлечь за собой нарушение целостности программной среды или вообще выход системы из строя. Также возможна подмена системных модулей на сторонние, что может позволить получить доступ к запрещенным ресурсам.
Запросы, приходящие к ACRUN_REG, показаны в Таблице 3.
4. Субмодуль перехвата функций Kernel16 (ACRUN_KERNEL16).
В этот модуль попадают запросы от 16-и битных приложений Windows. Запросы, приходящие к ACRUN_KERNEL16, показаны в Таблице 4.
5. Субмодуль перехвата функций Kernel32 (ACRUN_KERNEL32).
В этот модуль попадают запросы от 32-х битных приложений Windows. Запросы, приходящие к ACRUN_KERNEL32, показаны в Таблице 5.
Таблица 1.
Запросы, приходящие к ACRUN_IFS.
Запрос к IFSMgr |
Расшифровка запроса |
Обработка |
IFSFN_READ |
Чтение файла |
+ |
IFSFN_WRITE |
Запись в файл |
+ |
IFSFN_FINDNEXT |
Поиск следующего ресурса (длинные имена) |
+ |
IFSFN_FCNNEXT |
Изменение нотификации FINDNEXT |
+ |
IFSFN_FILETIMES |
Установка/получение времени модификации файла |
+ |
IFSFN_FINDCLOSE |
Завершить поиск |
+ |
IFSFN_FCNCLOSE |
Завершить нотификацию |
+ |
IFSFN_CONNECT |
Подключить ресурс |
+ |
IFSFN_DELETE |
Удалить файл |
+ |
IFSFN_DIR |
Манипуляция с директориями |
+ |
IFSFN_FILEATTRIB |
Манипуляция с атрибутами файла под ДОС |
+ |
IFSFN_GETDISKINFO |
Получить объем свободного пространства для диска |
+ |
IFSFN_OPEN |
Открыть файл |
+ |
IFSFN_RENAME |
Переименовать путь |
+ |
IFSFN_SEARCH |
Поиск имен (короткие имена) |
+ |
IFSFN_QUERY |
Получить информацию о ресурсе (только сеть) |
+ |
IFSFN_DISCONNECT |
Отключить ресурс (только сеть) |
+ |
IFSFN_IOCTL16DRIVE |
Дисковые 16-битные IOCTL операции |
+ |
IFSFN_GETDISKPARMS |
Получить параметры диска (DPB) |
+ |
IFSFN_FINDOPEN |
Начать поиск имен (длинные имена) |
+ |
IFSFN_DASDIO |
Прямой доступ к диску |
+ |
Таблица 2
Запросы к ACRUN_INT21.
Номер функции |
Название функции |
Расшифровка запроса |
Обработка |
00 |
TERM00 |
Завершить задачу |
+ |
0D |
RESETDISK |
Переустановить диск |
+ |
0E |
SETDRIVE |
Установить диск |
+ |
0F |
OPENFCB |
Открыть файл через FCB |
+ |
10 |
CLOSEFCB |
Закрыть файл через FCB |
+ |
11 |
F1STFCB |
Первый поиск через FCB |
+ |
12 |
FNXTFCB |
Следующий поиск через FCB |
+ |
13 |
DELFCB |
Удалить файл через FCB |
+ |
14 |
READSEQFCB |
Читать файл через FCB |
+ |
15 |
WRITESEQFCB |
Записать файл через FCB |
+ |
16 |
CREATEFCB |
Создать файл через FCB |
+ |
17 |
RENFCB |
Переименовать файл через FCB |
+ |
19 |
GETDRIVE |
Получить диск |
+ |
1A |
SETDTA |
Установить DTA |
+ |
1B |
GETCURFAT |
Получить текущий FAT |
+ |
1C |
GETFAT |
Получить FAT |
+ |
27 |
READBLKFCB |
Считать блок через FCB |
+ |
28 |
WRITEBLKFCB |
Записать блок через FCB |
+ |
2B |
SETDATE |
Установить дату |
+ |
2D |
SETTIME |
Установить время |
+ |
36 |
GETDISKFREE |
Получить свободное место на диске |
+ |
39 |
MKDIR |
Создать каталог |
+ |
3A |
RMDIR |
Переименовать каталог |
+ |
3B |
CHDIR |
Изменить каталог |
+ |
3C |
CREATE |
Создать файл |
+ |
3D |
OPENFILE |
Открыть файл |
+ |
3F |
READ |
Читать из файла |
+ |
40 |
WRITE |
Записать в файл |
+ |
41 |
DELETE |
Удалить файл |
+ |
43 |
CHMOD |
Получить/установить атрибуты файла |
+ |
47 |
GETDIR |
Получить каталог |
+ |
4B |
EXEC |
Запустить программу |
+ |
4C |
EXIT |
Выход из программы |
+ |
4E |
FINDFIRST |
Первый поиск |
+ |
4F |
FINDNEXT |
Следующий поиск |
+ |
56 |
RENAME |
Переименовать файл |
+ |
5A |
TEMPFILE |
Создать временный файл |
+ |
5B |
NEWFILE |
Создать новый файл |
+ |
62 |
GETPSP |
Получить PSP |
+ |
6C |
XOPEN |
Расширенное создание/открытие |
+ |
71 |
LFN |
Операции с длинными именами |
+ |
Таблица 3
Запросы к ACRUN_REG.
Название функции |
Расшифровка названия |
Обработка |
REGOPENKEY |
Открыть ключ |
+ |
REGCLOSEKEY |
Закрыть ключ |
+ |
REGCREATEKEY |
Создать ключ |
+ |
REGDELETEKEY |
Удалить ключ |
+ |
REGSETVALUE |
Изменить значение ключа |
+ |
REGENUMKEY |
Поиск ключей |
+ |
Таблица 4
Запросы к ACRUN_KERNEL16.
Название функции |
Откуда пришла |
Обработка |
WINEXEC16 |
Krnl386.exe |
+ |
LOADLIBRARY16 |
Krnl386.exe |
+ |
LOADMODULE16 |
Krnl386.exe |
+ |
Таблица 5
Запросы к ACRUN_KERNEL32.
Название функции |
Откуда пришла |
Обработка |
WINEXEC32 |
Kernel32 |
+ |
LOADLIBRARY32 |
Kernel32 |
+ |
LOADMODULE32 |
Kernel32 |
+ |
CREATEPROCESS32 |
Kernel32 |
+ |