Анализ системы безопасности Microsoft Windows 2000 Advanced Server и стратегий ее использования 
	
	
сообщение. Кто угодно, имея ключ, может зашифровать сообщение,  расшифровать 
которое может только конкретный пользователь. Безопасные  шифры  с  открытым 
ключом страдают от одной проблемы — они  медленны,  гораздо  медленнее,  чем 
симметричные шифры. Работа хорошего шифра с открытым ключом может  отнять  в 
1000 раз больше времени для зашифровки одного и того же  количества  данных, 
чем у хорошего симметричного шифра. 
      Хотя системы открытого/закрытого ключа гораздо медленнее  симметричных 
систем,  они  четко  решают  проблему,  от  которой  страдали   симметричные 
криптосистемы.  Когда  двум  людям  (или   устройствам)   нужно   установить 
безопасный канал для  передачи  данных,  один  из  них  может  просто  взять 
секретный ключ и зашифровать этот секретный ключ при помощи открытого  ключа 
другой стороны. Зашифрованный  ключ  затем  отправляется  другому  участнику 
коммуникации,  и  даже  если  этот  ключ  будет  перехвачен,  только  другой 
участник сможет расшифровать секретный  ключ  при  помощи  своего  закрытого 
ключа.  Коммуникация  между  двумя  сторонами  затем  может  продолжаться  с 
использованием  симметричного  шифра  и  этого  секретного  ключа.  Система, 
которая использует как симметричное шифрование, так и шифрование с  открытым 
ключом, называется гибридной криптосистемой (hybrid cryptosystem). 
      3.2. Применение шифрования 
      Шифрование можно использовать для  защиты  следующих  типов  данных  в 
сети: 
      •     закрытая передача данных; 
      •     безопасное хранение файлов; 
      •     аутентификация пользователя или компьютера; 
      •     безопасный обмен паролями. 
      Следует  шифровать  любые  данные,  содержащие  значимую  или  частную 
информацию, проходящие через небезопасные каналы передачи данных, такие  как 
радио,  телефонная  сеть  или  Интернет.  Используйте  шифрование   файловой 
системы для защиты значимых данных, когда возможности  операционной  системы 
не действуют (когда  был  удален  жесткий  диск  или  заменена  операционная 
система). 
      3.2.1. Безопасное хранение файлов 
      Шифрование может быть использовано  для  защиты  данных  в  устройстве 
хранения, например данных на жестком  диске.  Во  всех  реализациях  UNIX  и 
Windows  NT  существует  много  сложных  средств  обеспечения  безопасности. 
Лучший подход к безопасности — предоставить шифрование и расшифровку  файлов 
операционной системе. Windows 2000 поставляется  с  Encrypting  File  System 
(шифрованная файловая система, EFS), которая будет шифровать  все  файлы  на 
вашем жестком диске, даже  временные  файлы,  созданные  используемыми  вами 
приложениями. 
      Для того чтобы  использовать  EFS  секретно,  необходимо  предоставить 
криптографический ключ при запуске компьютера или использовать ее со  смарт- 
картой,  иначе  же  можно  считать  файлы   на   жестком   диске   обычными, 
незашифрованными файлами. Это не защитит файлы от доступа  во  время  работы 
операционной  системы   —   для   чего   существуют   средства   обеспечения 
безопасности операционной системы, — но это сохранит данные в  безопасности, 
даже если кто-нибудь украдет жесткий диск. 
      3.2.2. Аутентификация пользователя или компьютера 
      Помимо сохранения секретности (либо при передаче, либо при  хранении), 
шифрование можно использовать почти в противоположных целях —  для  проверки 
идентичности. Шифрование может провести аутентификацию  входящих  в  систему 
компьютера  пользователей,  гарантировать,  что  загружаемое  из   Интернета 
программное  обеспечение  приходит  из  надежного  источника  и  что   лицо, 
отправившее сообщение, в действительности то, за которое оно себя выдает. 
      При входе в  операционную  систему  Microsoft,  например  Windows  95, 
Windows NT или Windows 2000, операционная система  не  сравнивает  введенный 
пароль с хранимым паролем.  Вместо  этого  она  шифрует  пароль  при  помощи 
однонаправленной криптографической функции и затем  сравнивает  результат  с 
хранящимся результатом. Другие операционные системы, такие как UNIX и  OS/2, 
работают точно так же. 
      Храня  только  криптографическое  хэш-значение  пароля   пользователя, 
операционная система затрудняет хакерам возможность получения  всех  паролей 
системы при получении 
      3.2.3. Цифровые подписи 
      Обычно  шифрование  с  открытым  ключом  используется   для   передачи 
секретных  сообщений,  зашифрованных   при   помощи   открытого   ключа,   и 
последующей расшифровки их при помощи закрытого ключа. 
      Поскольку назначение цифровой подписи состоит не в том,  чтобы  утаить 
информацию,  а  в  том,  чтобы  подтвердить  ее,  закрытые  ключи   зачастую 
используются  для  шифрования  хэш-значения  первоначального  документа,   и 
зашифрованное  хэш-значение  присоединяется  к  документу  или  отправляется 
вместе с ним. Этот процесс занимает гораздо меньше  вычислительного  времени 
при генерации или проверке хэш-значения, чем шифрование всего  документа,  и 
при этом гарантирует, что документ подписал владелец закрытого ключа. 
      Электронная почта Интернета проектировалась  без  учета  безопасности. 
Сообщения не защищены от  нелегального  просмотра  на  промежуточных  хостах 
Интернета, и нет гарантии, что сообщение в действительности пришло  от  того 
лица, которое  указано  в  поле  From  электронной  почты.  Сообщения  групп 
новостей   Интернета   страдают   от   той   же   проблемы:   невозможно   в 
действительности сказать, от кого на  самом  деле  пришло  сообщение.  Можно 
зашифровать тело сообщения, чтобы справиться с первой проблемой, а  цифровые 
подписи справляются со второй. 
      Цифровые подписи полезны, потому что проверить подпись может каждый, а 
создать ее может только лицо  с  закрытым  ключом.  Разница  между  цифровой 
подписью и сертификатом в том, что можно проверить  подлинность  сертификата 
в центре сертификации. 
      3.2.4. Безопасный обмен паролями 
      Большинство сетевых операционных систем (в том числе  Windows  2000  и 
все современные версии UNIX) защищают имя пользователя и пароль при входе  в 
систему   посредством   их   шифрования   перед   отправкой   в   сеть   для 
аутентификации. 
      Чтобы одни и те же зашифрованные данные не  передавались  каждый  раз, 
клиент также может включить  какую-то  дополнительную  информацию,  например 
время отправки  запроса  на  вход  в  систему.  При  таком  способе  сетевые 
идентификационные данные никогда не будут отправляться через локальную  сеть 
или телефонные  линии  в  незащищенном  виде.  Тем  не  менее  Windows  2000 
принимает незашифрованные пароли от старых сетевых клиентов LAN Manager. 
      Не каждый протокол аутентификации  зашифровывает  имя  пользователя  и 
пароль, этого не делает SLIP Telnet и FTP.  Службу  Telnet  в  Windows  2000 
можно сконфигурировать для работы только с хэш-значениями Windows NT,  а  не 
с паролями в виде простого текста. РРР может  шифровать,  если  и  удаленный 
клиент, и сервер сконфигурированы таким образом.  Windows  NT  по  умолчанию 
требует  шифрованной  аутентификации.  Windows  2000  использует  безопасную 
систему аутентификации Kerberos, основанную на секретных ключах. 
      3.3. Стеганография 
      Стеганография (steganography) —  это  процесс  сокрытия  зашифрованных 
файлов в таком месте, в котором вряд ли кто-либо сможет их обнаружить. 
      Зашифрованные файлы выглядят как случайные  числа,  поэтому  все,  что 
также выглядит как случайные числа, может спрятать зашифрованное  сообщение. 
Например, в многоцветных графических  изображениях  бит  нижних  разрядов  в 
каждом пикселе изображения не сильно влияет на качество  всего  изображения. 
Можно спрятать зашифрованное сообщение в графический файл,  заменяя  младшие 
биты битами  своего  сообщения.  Младшие  биты  звуковых  файлов  с  высокой 
точностью  воспроизведения  —  еще  одно  хорошее  место  для  зашифрованных 
данных.  Можно   даже   тайно   обмениваться   с   кем-либо   зашифрованными 
сообщениями, отправляя графические и звуковые файлы  с  такой  спрятанной  в 
них информацией. 
      3.4. Пароли 
      Пароли — это секретные ключи. Они могут применяться для аутентификации 
пользователей,    шифрования    данных    и     обеспечения     безопасности 
коммуникационных потоков. Kerberos использует  пароли  как  секретные  ключи 
для  подтверждения  идентификационных  данных   клиента   в   Kerberos   Key 
Distribution Center. 
      Из-за необходимости  случайности  в  секретных  ключах  выступающие  в 
качестве секретных ключей пароли также должны быть секретными 
      Самый распространенный способ раскрыть  пароль  —  это  выбрать  легко 
угадываемый пароль, такой как пустой пароль, само слово  пароль  (password), 
жаргонные слова или имена богов, детей или  домашних  животных.  Для  взлома 
через Интернет пароля, в качестве  которого  взято  любое  известное  слово, 
потребуется примерно два часа времени. 
      Использование по-настоящему  случайных  паролей  дает  гораздо  лучшие 
результаты. Случайный выбор пароля только из 14 символов набора  стандартной 
ASCII-клавиатуры дает множество более чем из 1025 паролей. 
      Существует четыре уровня паролей: 
      •   низкокачественный публичный пароль 
      •   публичный  пароль  среднего  качества  —  короткий,  но  полностью 
случайный пароль длина  этого  пароля  семь  символов,  что  дает  40-битный 
диапазон уникальности; 
      •   высококачественный пароль — пароль для частных сетей  где  клиенту 
может быть причинен серьезный ущерб в случае его  утери  -пароль  длиной  12 
символов, что дает 70-битный диапазон уникальности; 
      •  чрезвычайно  высококачественный  пароль  —  пароль  для  шифрования 
файлов  и  хранения  секретных  данных  на  личных  компьютерах;  длина   14 
символов, что дает 84-битный диапазон уникальности. 
      4. Локальная безопасность Windows 2000 Advanced Server 
      Безопасность Windows 2000 основана  на  аутентификации  пользователей. 
Проходя процедуру  входа  в  систему  (обеспечиваемую  процессом  WinLogon), 
пользователь идентифицирует себя компьютеру, после чего ему  предоставляется 
доступ к открытым и запрещается доступ к закрытым для вас ресурсам. 
      В Windows 2000 также реализованы учетные записи групп.  Когда  учетная 
запись пользователя  входит  в  учетную  запись  группы,  установленные  для 
учетной записи группы  разрешения  действуют  также  и  для  учетной  записи 
пользователя. 
      Учетные  записи  пользователей  и  групп  действуют  только   на   том 
компьютере под управлением Windows  2000,  на  котором  они  создаются.  Эти 
учетные записи локальны для компьютера. Единственным  исключением  из  этого 
правила являются компьютеры, входящие в домен и поэтому принимающие  учетные 
записи, созданные в  Active  Directory  на  контроллере  домена.  На  каждом 
компьютере под управлением Windows 2000 существует свой  собственный  список 
локальных учетных записей пользователей и  групп.  Когда  процессу  WinLogon 
(который  регистрирует  пользователя   в   системе   и   устанавливает   его 
вычислительную среду) требуется обратиться к базе  данных  безопасности,  он 
взаимодействует с  Security  Accounts  Manager  (диспетчер  учетных  записей 
безопасности, SAM), компонентом операционной системы Windows  2000,  который 
управляет информацией о локальных учетных записях. Если информация  хранится 
локально на компьютере под управлением Windows 2000, SAM  обратится  к  базе 
данных (хранимой в реестре) и передаст информацию  процессу  WinLogon.  Если 
информация хранится не локально SAM  запросит  контроллер  домена  и  вернет 
подтвержденную  информацию  о   регистрации   (идентификатор   безопасности, 
security identifier) процессу WinLogon. 
      Независимо от  источника  аутентификации,  доступ  разрешен  только  к 
локальному  компьютеру  посредством  Local  Security  Authority   (локальные 
средства безопасности, LSA) компьютера. При обращаении к другим  компьютерам 
в  сети,  LSA  локального  компьютера  передает   идентификационные   данные 
пользователя LS А  другого  компьютера,  реализуя  вход  в  систему  каждого 
компьютера, с которым он  контактирует.  Чтобы  получить  доступ  к  другому 
компьютеру,  этот  компьютер  должен   принять   идентификационные   данные, 
предоставленные компьютером пользователя. 
      4.1. Идентификаторы безопасности 
      Принципалы  безопасности,  такие  как   пользователи   и   компьютеры, 
представлены в системе идентификаторами безопасности  (security  identifier, 
SID).  SID  уникально  идентифицирует  принципала  безопасности   для   всех 
компьютеров домена. При создании учетной записи при  помощи  оснастки  Local 
Users and Groups (Локальные пользователи и группы), всегда  создается  новый 
SID, даже если используется такие же имя учетной  записи  и  пароль,  как  в 
удаленной учетной записи. SID будет оставаться с учетной записью  в  течение 
всего времени ее существования. Можно поменять любой другой атрибут  учетной 
записи, включая имя пользователя и  пароль,  но  в  обычных  обстоятельствах 
нельзя изменить SID, поскольку при этом создается новая учетная запись. 
      Групповые учетные записи также имеют  SID,  уникальный  идентификатор, 
создающийся при создании группы. Для идентификаторов  SID,  групп  действуют 
те же правила, что и для SID учетных записей. 
      Процесс WinLogon (часть процесса Local Security  Authority)  проверяет 
имя   пользователя   и   пароль   (или   смарт-карту   при   соответствующей 
конфигурации), чтобы определить, можно ли  разрешить  доступ  к  компьютеру. 
Если указанный в диалоговом окне  входа  в  систему  домен  является  именем 
локального  компьютера,  LSA  проверит  учетную  запись  в  соответствии   с 
локальным SAM, хранимым в реестре. В  ином  случае  LSA  установит  связь  с 
контроллером  домена  и  воспользуется  для  проверки   подлинности   данных 
пользователя аутентификацией Kerberos (в случае Windows 2000)  или  NLTM  (в 
случае всех остальных версий Windows, включая Windows 2000  в  режиме  Mixed 
Mode), в зависимости от операционной системы клиента. 
      Если имя учетной записи и пароль правильны, процесс  WinLogon  coздаст 
токен доступа. Токен доступа (Acess Token) образуется из  SIDучетной  записи 
пользователя, SID групп, к которым принадлежит, учетная  запись,  и  Locally 
Unique  Identifier  (локально  уникальный;  идентификатор,  LUID),   который 
определяет права пользователя и конкретный сеанс входа в систему. 
      Токен доступа создается при каждом вашем входе в Windows 2000. 
      Существуют особые идентификаторы SID. System  SID  зарезервирован  для 
системных служб, содержащие System SID токены доступа  могут,  обходить  все 
ограничения безопасности, основанные на учетных записях. SID дает  системным 
службам разрешение на осуществление тех; действий, которые  обычная  учетная 
запись пользователя  (даже  учетная  запись  Administrator  (Администратор)) 
делать не может.  Службы  операционной  системы  запускаются  ядром  Windows 
2000, а не процессом WinLogon, и эти службы получают System SID от ядра  при 
своем запуске. 
      4.2. Доступ к ресурсам 
      Потоки  (thread,   отдельные   ветви   выполнения   процесса)   должны 
предоставлять токен доступа при каждой попытке  доступа  к  ресурсу.  Потоки 
получают токены  доступа  от  родительских  процессов  при  своем  создании. 
Пользовательское приложение, например, обычно получает  свой  токен  доступа 
от  процесса  WinLogon.  Процесс  WinLogon  запускается   от   возбужденного 
пользователем  прерывания  (прерывания  клавиатуры  Ctrl+Alt+Del)  и   может 
создать новый токен доступа,  запрашивая  или  локальный  диспетчер  учетных 
записей безопасности  (SAM),  или  Directory  Services  Agent  (агент  служб 
каталога, DSA) на контроллере домена Active Directory. 
      При  помощи  этого  метода  каждый  поток,  запущенный   после   входа 
пользователя  в  систему,  будет   иметь   токен   доступа,   представляющий 
пользователя.  Поскольку  потоки  пользовательского  режима  должны   всегда 
предоставлять этот токен для доступа к ресурсам, в  обычных  обстоятельствах 
не существует способа обойти безопасность ресурсов Windows 2000. 
      Основу безопасности Windows 2000 образует перемещаемый вход в  систему 
(mandatory logon). В отличие от других сетевых систем,  пользователь  ничего 
не  может  сделать  в  Windows  2000,  не  предоставив  имя  учетной  записи 
пользователя и пароль. Хотя можно выбрать автоматический вход  в  систему  с 
идентификационными данными, предоставляемыми реестром, вход  в  систему  при 
помощи учетной записи пользователя все равно происходит. 
      Windows 2000 требует нажатия Ctrl+ALT+Del для входа в систему,  и  это 
одна из причин, по  которым  Windows  2000  считается  безопасной  системой. 
Поскольку  компьютер  обрабатывает  нажатие  Ctrl+ALT+Del   как   аппаратное 
прерывание, фактически не существует способа, при  помощи  которого  опытный 
программист мог бы заставить эту комбинацию клавиш делать что-либо  еще,  не 
переписывая операционную систему. 
      Поскольку  токен  доступа  передается  новому  потоку  во  время   его 
создания,  то  после  входа  пользователя  в  систему   в   дальнейшем   нет 
необходимости обращаться для аутентификации к локальной базе данных SAM  или 
к Active Directory на контроллере домена. 
      При локальном входе пользователя в систему Windows 2000 проходит через 
следующие этапы. 
      1.  Пользователь  нажимает  Ctrl  +A1t+Del,  что  вызывает  аппаратное 
прерывание, активизирующее процесс WinLogon. 
      2. Процесс WinLogon представляет пользователю приглашение ко  входу  в 
систему с полями для имени учетной записи и пароля. 
      3. Процесс WinLogon отправляет  имя  учетной  записи  и  зашифрованный 
пароль локальным средствам безопасности (LSA). Если учетная запись  локальна 
для  этого  компьютера  Windows  2000,  LSA  запрашивает  диспетчер  учетных 
записей безопасности (SAM) локального  компьютера  Windows  2000;  в  другом 
случае LSA запрашивает контроллер  домена  того  домена,  в  который  входит 
компьютер. 
      4. Если пользователь представил допустимые имя пользователя и  пароль, 
LSA создает токен доступа, содержащий  SID  учетной  записи  пользователя  и 
идентификаторы SID для групп, в которые входит пользователь.  Токен  доступа 
также получает LUID, который будет описан  далее  в  этой  главе  в  разделе 
«Права или разрешения». Токен  доступа  затем  передается  обратно  процессу 
WinLogon. 
      5. Процесс WinLogon передает токен доступа подсистеме Win32  вместе  с 
запросом на создание процесса входа в систему для пользователя. 
      6. Процесс  входа  в  систему  устанавливает  окружение  пользователя, 
включая запуск Windows  Explorer  и  отображение  фона  и  значков  рабочего 
стола. 
      4.3. Объекты и Разрешения 
      Windows 2000 поддерживает безопасность для различных  типов  объектов, 
включая (но не ограничиваясь ими)  каталоги,  файлы,  принтеры,  процессы  и 
сетевые общие  папки.  Каждый  объект  предоставляет  функции,  определяющие 
действия,  которые  могут  быть  выполнены  для  этого  объекта,   например: 
открыть, закрыть, читать,  записывать,  удалять,  запускать,  останавливать, 
печатать и т. д. 
      Информация  безопасности  для   объекта   содержится   в   дескрипторе 
безопасности (security descriptor) объекта. Дескриптор безопасности  состоит 
из четырех частей:  владелец,  группа,  Discretionary  Access  Control  List 
(список разграничительного контроля доступа, DASL) и  System  Acess  Control 
List (системный список контроля доступа, SACL). Windows 2000 использует  эти 
части дескриптора безопасности в следующих целях: 
      •    владелец — эта часть содержит SID  учетной  записи  пользователя- 
владельца объекта. Владелец объекта всегда  может  изменить  настройки  DACL 
(разрешения) объекта; 
      •  группа — эта часть используется  подсистемой  POSIX  Windows  2000. 
Файлы и каталоги в операционных системах UNIX могут  принадлежать  групповой 
учетной записи, так же как и  отдельной  учетной  записи  пользователя.  Эта 
часть содержит SID группы этого объекта в целях  совместимости  с  POSIX,  а 
также для идентификации основной группы для учетных записей пользователя; 
      • Discretionary Access Control List —  DACL  содержит  список  учетных 
записей пользователя и учетных  записей  групп,  обладающих  разрешением  на 
доступ к  службам  объекта.  В  DACL  существует  столько  записей  контроля 
доступа, сколько существует учетных записей  пользователей  или  групп,  для 
которых доступ к объекту был задан специально; 
      •   System Acess Control List — SACL также содержит записи  управления 
доступом (АСЕ, access control entry), но эти  записи  АСЕ  используются  для 
аудита, а не для разрешения или запрещения доступа к функциям объекта.  SACL 
содержит  столько  записей   АСЕ,   сколько   существует   учетных   записей 
пользователей или групп, для которых специально проводится аудит. 
      Каждая  запись  управления  доступом  в  DACL  или  SACL  состоит   из 
идентификатора безопасности, сопровождаемого маской доступа.  Маска  доступа 
(access mask) в DACL определяет те функции объекта, для доступа к которым  у 
SID есть разрешение. Специальный тип  записи  контроля  доступа,  называемый 
запрещающей записью АСЕ (deny АСЕ), указывает, что  весь  доступ  к  объекту 
будет  запрещен  для  учетной  записи,  определенной  идентификатором   SID. 
Запрещающая АСЕ перекрывает все остальные записи АСЕ. Разрешение  No  Access 
(нет доступа) в Windows 2000 реализовано при помощи запрещающей записи АСЕ. 
      Доступ разрешен, если токен доступа содержит любой SID, совпадающий  с 
разрешением в DACL. Например, если отдельной учетной записи разрешен  доступ 
на чтение и учетная запись пользователя является  членом  групповой  учетной 
записи, которой разрешен доступ на запись, тогда  токен  доступа  для  этого 
вошедшего в систему пользователя будет содержать оба SID,  и  DACL  разрешит 
доступ к объекту и на чтение, и на  запись.  Запрещающие  записи  управления 
доступом  все  равно   перекрывают   суммарное   действие   всех   остальных 
разрешений. 
      Записи управления доступом в SACL образуются тем же  способом,  что  и 
записи в DACL (они составляются из SID и маски доступа), но маска доступа  в 
этом случае определяет те функции объекта,  для  которых  будет  проводиться 
аудит у этой учетной записи. 
      Не у каждого объекта есть списки DACL или SACL. Файловая система  FAT, 
например, не записывает информацию безопасности, поэтому у  объектов  файлов 
и каталогов, хранимых на томе FAT, нет  списков  DACL  и  SACL.  Когда  DACL 
отсутствует, любая учетная запись пользователя  обладает  доступом  ко  всем 
функциям объекта. Это не равнозначно ситуации,  когда  список  DACL  объекта 
пуст. В этом случае  ни  одна  учетная  запись  не  будет  иметь  доступа  к 
объекту. Когда у объекта отсутствует SACL, аудит объекта невозможен. 
      Процессы не обращаются напрямую к таким объектам, как файлы,  каталоги 
или принтеры. Операционная система Windows 2000 (а именно  ее  часть  Win32) 
обращается к объектам от лица  процессов.  Основная  цель  этого  —  сделать 
программы  проще.  Программа   не   обязана   знать,   как   непосредственно 
манипулировать каждым типом объекта, она просто просит об этом  операционную 
систему.  Еще  одним  важным  преимуществом,   особенно   с   точки   зрения 
безопасности, является то, что,  поскольку  операционная  система  выполняет 
все  действия   для   процессов,   она   может   принудительно   отслеживать 
безопасность объектов. 
      Когда процесс просит подсистему Win32 выполнить действие над  объектом 
(например, прочитать файл), подсистема Win32 сверяется с Security  Reference 
Monitor (монитор проверки безопасности), чтобы удостовериться,  что  процесс 
обладает  разрешением  на  осуществление  действия  над  объектом.  Security 
Reference  Monitor  сравнивает  токен  доступа  процесса  со  списком   DACL 
объектов, сверяя каждый SID  в  токене  доступа  с  идентификаторами  SID  в 
списке DACL Если существует запись управления доступом (АСЕ)  с  совпадающим 
SID, которая содержит маску доступа,  разрешающую  действие,  и  нет  АСЕ  с 
совпадающим SID, содержащей запрещающую маску для действия над объектом,  то 
Security Reference Monitor разрешает подсистеме Win32 выполнить действие. 
      Security Reference Monitor также проверяет,  осуществляется  ли  аудит 
доступа к объекту и требуется  ли  запись  в  журнал  событий  Security  Log 
(Безопасность) Windows 2000. Аудит проверяется точно так же, как и  проверка 
разрешений, — путем сравнения каждого SID в  токене  доступа  с  SID  каждой 
записи управления доступом. При обнаружении  совпадения  монитор  проверяет, 
принадлежит ли выполняемое действие (или функция) к  перечисленным  в  маске 
доступа. Если да и если  результат  проверки  безопасности  по  списку  SACL 
совпадает с проводимым аудитом  (произошел  отказ  в  доступе  и  проводится 
аудит отказа в доступе, или доступ был успешен и проводится аудит  успешного 
доступа, или произошли оба этих события), то в этом  случае  событие  аудита 
записывается в журнал событий. 
      Некоторые действия применяются не к конкретному объекту,  а  к  группе 
объектов или ко всей операционной системе. Завершение работы с  операционной 
системой, например, повлияет на все объекты в системе.  Пользователь  должен 
обладать  правами  пользователя  (user  rights)  для   осуществления   таких 
действий. 
      Средства  Local  Security  Authority  включают   локально   уникальный 
идентификатор (LUID) при создании токена доступа. LUID описывает,  какое  из 
прав пользователя имеет конкретная учетная запись. Local Security  Authority 
создают LUID на основе информации о безопасности в  базе  данных  диспетчера 
безопасности учетных записей (для учетной записи локального компьютера)  или 
Active Directory (для учетной записи  домена).  LUID  является  объединением 
прав этой конкретной учетной  записи  пользователя  и  прав  всех  групп,  в 
которые входит эта учетная запись. 
      Права имеют  больший  приоритет,  чем  разрешения  (permissions).  Вот 
почему учетная запись  администратора  может  стать  владельцем  файла,  чей 
владелец удалил все  разрешения  на  доступ;  Administrator  (Администратор) 
обладает правом Take Ownership of Files or Other  Objects  (смена  владельца 
файлов или других  объектов).  Операционная  система  Windows  2000  вначале 
проверяет  права  пользователя  и  затем  (если  нет   права   пользователя, 
специально разрешающего действие) сверяет записи АСЕ,  хранимые  в  DACL,  с 
идентификаторами SID в токене доступа. 
      Учетные записи пользователя обладают правом на  чтение  и  запись  для 
объекта, для которого они являются владельцем, даже в случае наличия у  того 
запрещающей записи АСЕ. Учетная запись  пользователя  может  также  изменять 
разрешения для принадлежащего ей объекта. 
      5.Файловая система NTFS 
      Файловая система NTFS — главный  бастион  безопасности  Windows  2000. 
Безопасный компьютер под управлением  Windows  2000  работает  на  платформе 
NTFS, образующей основу для постоянной безопасности. 
      LSA дает гарантию,  что  выполняющиеся  программы  не  могут  нарушить 
адресное пространство памяти друг друга и что все обращения к  ядру  должным 
образом авторизованы. Но что может помешать программе  заменить  программные 
файлы LSA эквивалентной службой, которая будет работать неверно? Ответом  на 
этот вопрос является NTFS, и этот  пример  подчеркивает,  почему  безопасная 
файловая система  —  обязательное  требование  для  безопасной  операционной 
системы. Не имея возможности доверять файловой системе,  хранящей  системные 
файлы, нельзя  доверять  системе,  работа  которой  реализуется  посредством 
исполнения этих файлов. 
      Рассмотрим случай проникновения вируса  на  компьютер  с  Windows  95. 
Пользователь выполняет программу, содержащую вирус. Вирус определяет,  какая 
программа  запустила  текущую  программу,  и  заражает  ее,  таким   образом 
распространяя себя  далее  на  один  уровень.  При  следующем  запуске  этой 
программы вирус сделает то же  самое,  а  также  заразит  каждую  программу, 
порожденную этой программой. Через несколько  циклов  вирус  распространится 
до ключевых программ операционной  системы,  таким  образом  заражая  каждый 
выполняемый  в  ней  файл.  Рассмотрим  теперь  случай,  когда  пользователь 
выполняет  зараженную  вирусом  программу  в  Windows  2000.  Эта  программа 
пытается записать свой вирусный заголовок  в  explorer.exe,  но  блокируется 
средствами безопасности файловой системы NTFS,  потому  что  у  пользователя 
нет разрешений на запись в explorer.exe. Благодаря  NTFS  этот  тип  вирусов 
моментально останавливается Windows 2000. При попадании в систему  некоторым 
вирусам удается выжить в  пользовательском  режиме  (например,  макровирусам 
Word или червям Outlook), но эти вирусы все равно  не  могут  заразить  саму 
операционную систему — если только вирус не был запущен с  учетной  записью, 
обладающей административным доступом к компьютеру. 
      NTFS  работает,  сравнивая  токен  доступа  пользователя  со   списком 
контроля доступа (ACL), связанным с каждым запрашиваемым файлом, перед  тем, 
как разрешить пользователю доступ к этому файлу. Этот  простой  механизм  не 
дает несанкционированным пользователям  изменять  операционную  систему  или 
еще что-нибудь, к чему у них нет специального доступа. 
      По умолчанию  Windows  2000  находится  в  состоянии,  предоставляющем 
полный доступ группе «все» (everyone)  для  корня  всех  дисков,  вследствие 
чего все разрешения, наследуемые создаваемыми там  файлами,  также  доступны 
для всех. Для получения какой-либо реальной пользы от безопасности  файловой 
системы NTFS для приложений  и  хранимых  пользователями  файлов  необходимо 
удалить разрешение, предоставляющее полный доступ для всех, и  заменить  его 
разрешениями с соответствующим уровнем  безопасности  для  каждой  папки  на 
компьютере. 
      Управление разрешениями файловой системы NTFS осуществляется просто  и 
работает  аналогично  тому;  как  разрешения  устанавливались  в  предыдущих 
версиях Windows NT. 
      В Windows 2000 наследование обрабатывается по-другому, чем  в  Windows 
NT. В Windows NT унаследованные разрешения были  просто  такими  же,  как  у 
родительских объектов, и могли быть немедленно  изменены.  В  Windows  2000, 
если объект наследует разрешения  от  содержащей  объект  папки,  необходимо 
снять  флажок  Allow  Inheritable  Permissions  (Переносить  наследуемые  от 
родительского объекта разрешения на этот объект),  для  того  чтобы  создать 
копию наследуемых  разрешений  и  затем  изменить  существующие  разрешения. 
Можно создавать новые записи АСЕ, не перекрывая установку безопасности. 
      5.1. Шифрованная файловая система 
      Шифрованная файловая система (Encrypting File System)  —  это  драйвер 
файловой системы, обеспечивающий возможность зашифровывать и  расшифровывать 
файлы на лету. Использовать службу очень легко:  пользователи  устанавливают 
атрибут шифрования для файла или каталога. Служба EFS генерирует  сертификат 
шифрования в фоновом процессе  и  использует  его  для  шифрования  заданных 
файлов. Когда эти  файлы  запрашиваются  драйвером  файловой  системы  NTFS, 
служба  EFS  автоматически  расшифровывает  файл  для   предоставления   его 
драйверу. 
      Шифрование   файлов   выглядит   как    действительно    замечательная 
возможность, но текущая  его  реализация  в  Windows  2000  обладает  такими 
дефектами, что EFS в большинстве случаев бесполезна, за  исключением,  может 
быть,  портативных  компьютеров.  Основная  проблема  EFS  в  том,  что  она 
работает только для отдельных пользователей, что делает ее пригодной  только 
для клиентских компьютеров. Сертификаты шифрования для файлов  создаются  на 
основе  личности  пользователя,  поэтому  зашифрованные  файлы  могут   быть 
использованы только той учетной записью, которая их  создавала.  Сертификаты 
шифрования не могут быть назначены групповым  объектам,  поэтому  шифрование 
не  может  защитить  общие  файлы,  хранимые  на  сервере.  Эта  архитектура 
потребует обмена закрытыми  ключами  по  сети,  поэтому  для  такого  обмена 
должен быть установлен  зашифрованный  канал.  EFS  не  позволит  совместное 
использование зашифрованных файлов, потому что она расшифровывает  их  перед 
тем, как предоставить их по запросу. Это также  не  предусмотрено.  Если  бы 
сертификаты шифрования принадлежали группе, зашифрованный файл мог  бы  быть 
предоставлен по сети клиенту в своем зашифрованном  состоянии  и  клиентский 
компьютер  смог  бы  воспользоваться  своим  участием  в   группе,   обладая 
сертификатом для расшифровки файла. Kerberos может  создавать  ключи  сеанса 
для шифрования сертификатов, чтобы сохранить  их  в  безопасности  во  время 
передачи членам группы.  Общие  файлы  могут  быть  достаточно  безопасными, 
чтобы использовать их через Интернет без закрытого туннеля. 
      Более того, потеря сертификата шифрования — ахиллесова пята шифрования 
— не будет  такой  уж  проблемой.  До  тех  пор,  пока  сертификат  все  еще 
существует у какого-либо из членов группы, этот пользователь все  еще  будет 
обладать  копией  сертификата  для  расшифровки   файлов.   Так,   как   она 
реализована сегодня, EFS всегда создает ключ для агента  восстановления  (по 
умолчанию  это  локальный  администратор),   независимо   от   того,   хочет 
пользователь или нет, чтобы агент восстановления мог расшифровать файл. 
      EFS (так же, как репликация файлов) — еще один пример службы,  которая 
была бы  по-настоящему  замечательной,  если  бы  Microsoft  реализовала  се 
надлежащим образом. В том виде, в каком она существует сейчас,  она  сделана 
ровно  настолько,  чтобы  Microsoft  могла  утверждать  о  наличии   у   нее 
шифрования файловой системы. 
      Помимо  того  факта,   что   EFS   работает   только   для   отдельных 
пользователей, она обладает рядом других проблем: 
 .  сертификаты  шифрования  по  умолчанию  хранятся  в  реестре  локального 
   компьютера, где их можно  восстановить  и  использовать  для  расшифровки 
   файлов на компьютере. Для того чтобы EFS  функционировала  корректно  как 
   безопасная  служба  шифрования,  сертификаты  должны   быть   удалены   с 
   локального компьютера на физически  безопасный  сервер  сертификатов  или 
   экспортированы на съемный  носитель,  который  не  оставляется  вместе  с 
   компьютером. 
      Единственный способ обеспечить безопасность локальных сертификатов EFS 
—   это   использовать   аутентификацию   при   помощи    смарт-карты    или 
-воспользоваться  SysKey,   хэш-значения,   используемого   для   шифрования 
локальной базы данных  учетных  записей  SAM,  которая  содержит  сертификат 
расшифровки EFS, на гибкий диск или использовать его в  качестве  пароля  во 
время начальной загрузки —  и  этот  пароль  или  гибкий  диск  должны  быть 
доступны для всех, кому требуется загружать компьютер; 
 . операции перемещения путем перетаскивания мышью в  шифрованную  папку  не 
   приведут  к  автоматическому  шифрованию  файла,  потому   что   операции 
   перемещения не изменяют атрибутов файла. Операции «вырезать  и  вставить» 
   изменяют, потому что вы явно удаляете старый файл и создаете новый. 
 . зашифрованные файлы будут расшифрованы, если они будут перемещены на тома 
   с отличной от NTFS файловой системой, не поддерживающей шифрование. 
 . зашифрованные файлы не могут быть сделаны общими путем помещения в  общую 
   папку.  Это   ограничение   предназначено   для   сохранения   файлов   в 
   зашифрованном виде, общие файлы отправляются по сети в простом  текстовом 
   формате и кто угодно  может  их  расшифровать,  имея  в  наличии  сетевой 
   анализатор. 
 .  многие  программы  (большинство  программ  Microsoft  Office)  во  время 
   редактирования файлов создают временные файлы либо в локальном,  либо  во 
   временном каталоге.  Шифрование  для  временных  файлов  следует  обычным 
   правилам:  если  файл  создается  в  папке,  у  которой  установлен  флаг 
   шифрования, временный файл будет зашифрован. В ином случае  он  не  будет 
   зашифрован и нарушит секретность шифрования 
 .  печать  образует  еще  одно  направление  случайной  расшифровки:  когда 
Страницы: 1, 2, 3 
	
	
					
							 |