Не каждый протокол аутентификации зашифровывает имя пользователя и пароль, этого не делает 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 представляет пользователю приглашение ко входу в систему с полями для имени учетной записи и пароля.