Идентификация пользователя windows 10

В подборках нововведений версии 20H1 можно было услышать примерно такую песню:

Теперь проще выполнить беспарольный вход в систему при помощи идентификации лица, отпечатка пальца или PIN-кода. Просто разрешите в настройках идентификацию при помощи Windows Hello.

Вряд ли автор понимает, о чем он пишет. Поэтому вполне объяснима реакция участника чата инсайдеров на такую формулировку.

Passwordless

Между тем, я недавно рассказывал в блоге про эту фичу, но фокусировался на решении проблемы с исчезновением настройки автоматического входа. Сегодня я продолжу тему и постараюсь расставить точки над i.

Как обычно, термины учетная запись Microsoft, аккаунт Microsoft и MSA обозначают одно и то же.

[+] Сегодня в программе

История вопроса

Беспарольный вход впервые появился в декабре 2018 года в сборке 18305, когда реализовали возможность добавлять в систему имеющуюся учетную запись Microsoft без пароля.

В Параметрах упоминание о беспарольном входе появилось в июле 2019 года в сборке 18936.

Passwordless

В октябрьской сборке 18995 сделали еще один шаг – вход с ПИН-кодом в безопасный режим. Так убрали последнее препятствие к полностью беспарольной аутентификации в ОС Windows.

В финальной версии 20H1 название фичи в параметрах изменилось. Беспарольный вход исчез из заголовка, уступив место Windows Hello.

Passwordless

Читатели со стажем помнят Microsoft Passport, систему аутентификации Microsoft. В начале пути Windows 10 она входила в состав системы. Позже компания объединила технологию с Windows Hello.

Windows Hello

Это современная система аутентификации Microsoft, которая привязана к устройству, построена на двухфакторной или двухэтапной аутентификации и заменяет пароли. С помощью Hello можно входить в:

  • аккаунты Active Directory и Azure Active Directory (Windows Hello for Business)
  • учетную запись Microsoft
  • сервисы, поддерживающие FIDO2

Контекст этой статьи – домашняя среда, поэтому дальше речь пойдет про последние два пункта.

Регистрация аккаунта Microsoft на устройстве и вход в систему

Вход в учетную запись Microsoft с Windows Hello на устройстве с Windows 10 осуществляется только с помощью ПИН-кода и биометрии.

Пароль в сферу Hello не входит.

При регистрации аккаунта Microsoft на устройстве ПИН-код, идентификатор лица и отпечаток пальца защищаются парой криптографических ключей, которые генерируются аппаратно при наличии TPM 2.0 или программно.

Для регистрации MSA на устройстве требуется двухэтапная аутентификация, в т.ч. возможна беспарольная. Сервер Microsoft получает публичный ключ и ассоциирует его с аккаунтом пользователя, таким образом устанавливаются доверительные отношения.

Когда вы смотрите в камеру или проводите пальцем по сканеру отпечатков, полученные данные сверяются с ключами Hello. При успехе вы получаете токен аутентификации на вход в систему и доступ к сервисам с аккаунта компании на этом устройстве.

Назначение аппаратного ключа

С помощью аппаратного ключа FIDO2 можно входить без ввода пароля с зарегистрированной на устройстве учетной записью Microsoft на сайты и в приложения. Это финализировали в версии 1809, и в анонсе есть хорошее описание принципа аутентификации с ключом.

В Windows 10 аппаратный ключ можно задействовать при регистрации аккаунта Microsoft на устройстве, после чего входить в MSA с помощью Hello, т.е. ПИН-кода или биометрии.

Однако нельзя просто воткнуть флэшку и войти в учетную запись Microsoft на устройстве с Windows 10. Это работает только с аккаунтами Azure Active Directory, в т.ч. для Hybrid Azure AD.

В параметрах есть ссылка на KB4468253, где в частности говорится: аппаратный ключ используется в дополнение к ПИН-коду или биометрии, поэтому владеющий только ключом человек не сможет выполнить вход в аккаунт. Подтекст такой, что сначала надо выполнить вход в систему с Windows Hello, т.е. аутентификация двухфакторная.

Вы знаете ПИН-код или обладаете биологической особенностью (лицо, отпечаток пальца) и владеете ключом.

Конечно, если вы вошли в систему с Hello и оставили ПК без присмотра, злоумышленник может вставить ключ и авторизоваться с вашей MSA на сайте.

Как создать учетную запись Microsoft без пароля

Беспарольный аккаунт Microsoft создается с номером телефона, нежели с заданным вами адресом электронной почты. В интернетах мне попадались инструкции о том, как это сделать в Windows 10, но их авторы явно не пробовали пройти процесс :)

Создать учетную запись Microsoft без пароля можно только в сторонних мобильных ОС 🙈

В Android и iOS в приложениях Microsoft Office (Word, Excel, Office и т.д.) вы можете создать MSA, указывая номер телефона. Если при попытке входа система определяет, что такого аккаунта нет, она предлагает создать новый. Пароль не требуется, а создание учетной записи подтверждается кодом в SMS.

Затем вы можете (и я рекомендую) использовать вместо SMS беспарольную 2FA в приложении Microsoft Authenticator.

Если же создавать MSA на сайте Microsoft https://signup.live.com/ или в параметрах Windows 10, указывая номер телефона, система требует задать пароль.

Причину эксклюзивности мобильных ОС объяснил мне в Твиттере глава подразделения Microsoft Identity.

Most laptops/PCs can’t receive an SMS code. So we see a lot of drop off in user success when a phone is required to complete a flow from a PC.

— Alex Simons (@Alex_A_Simons) August 11, 2020

Видимо, значительный процент людей пытается вводить несуществующие номера телефонов или домашние номера, куда SMS не проходит ¯\_(ツ)_/¯

Однако если учетная запись Microsoft без пароля уже создана, начиная с версии 1903, вы можете добавить ее на устройство уже во время установки Windows. После установки это можно сделать в ПараметрыУчетные записи в разделах:

  • Ваши данные — при переключении с локального аккаунта на свою MSA
  • Семья и другие пользователи – при создании аккаунта для другого человека или отдельного профиля для своей MSA

Как я объяснил выше, учетная запись Microsoft регистрируется на устройстве при первой успешной аутентификации, а дальше вы входите в систему с Hello.

При желании вы можете задать пароль в настройках безопасности аккаунта. Адрес электронной почты добавляется там же в настройках профиля, но об этом Windows 10 вам будет напоминать сама.

Passwordless

Ключевая особенность беспарольного входа в версии 20H1+

Сводка изменений в двух версиях Windows 10 такова:

  • 1903 — можно использовать на устройстве с Windows 10 аккаунт [Microsoft], требующий аутентификации, но не имеющий пароля в принципе
  • 20H1 — можно отключить вход с паролем в учетную запись Microsoft, а также входить с ПИН-кодом в безопасный режим

Теперь можно вернуться к началу статьи и недоуменной реакции на нововведения у людей, которые в ноутбуках входили в аккаунт с помощью биометрии еще лет дцать назад, благодаря ПО и драйверам вендоров.

Ранее биометрический вход существовал наряду с парольным, даже если сам пароль был пустой. Равно как в такой аккаунт всегда можно было войти с паролем. Теперь, создав MSA без пароля или включив беспарольный вход, вы входите только с ПИН-кодом и биометрией.

В этом и заключается отличие от предыдущих версий Windows 10, более старых ОС Windows и решений вендоров.

Преимущества беспарольного входа и MSA без пароля

Я недавно проводил опрос и выяснил, что MSA в Windows 10 используют меньше половины людей даже в самой прогрессивной группе моей аудитории. Поэтому большинству читателей до беспарольных аспектов еще далеко. Впрочем, они и не сулят потребителям манны небесной.

  • Требование Windows Hello. Поскольку Hello привязано к устройству, пароль не передается по сети. Такой подход укрепляет безопасность, но здесь основные бенефициары – организации, а домашним пользователям это ничего не дает.
  • Учетная запись Microsoft без пароля. Если у вас нет пароля, вы его не забудете, равно как не сольете случайно посторонним лицам, например, попав под фишинговую атаку. Тут кроме пользы нет вреда, но нельзя терять контроль над номером телефона.

Подводные камни беспарольного входа

Есть несколько аспектов, которые вам надо учитывать, форсируя вход с Windows Hello и/или используя аккаунт Microsoft без пароля.

Невозможен автоматический вход в систему

Применимо к: требование входа с Hello / беспарольная MSA

Это я разбирал в прошлой статье в контексте форсирования входа с Hello. Если оно выключено, у беспарольной MSA ожидаемо есть возможность настройки автоматического входа. Но там надо задавать пароль, в т.ч. пустой, которого у аккаунта нет в принципе.

Недоступен вход с графическим паролем

Применимо к: требование входа с Hellо / беспарольная MSA

Первое логично следует из отключения парольного входа, а у второго нет никаких паролей в вариантах входа вне зависимости от того, требуется Hello для входа или нет.

Невозможно удаление ПИН-кода

Применимо к: требование входа с Hello / беспарольная MSA

На форум пришел человек, у которого была неактивна кнопка удаления. Нестыковка коллекционная, конечно, хотя вполне объяснимая.

Passwordless

Логика такова: если ломается сканер отпечатков и/или камера, ПИН-код – единственный способ входа без пароля.

Невозможен вход в локальную среду восстановления

Применимо к: беспарольная MSA

В отличие от безопасного режима, в среду восстановления с ПИН-кодом не войти. Для доступа к опциям восстановления (удаление исправлений) и диагностическим инструментам Windows RE (командная строка) требуется пароль администратора. Поэтому войти в беспарольную учетную запись Microsoft не получится, даже если вы переключились на нее с локального аккаунта, у которого пароль был установлен.

Passwordless

На картинке видно, что изначально использовался локальный аккаунт Admin, который я переключил на беспарольную MSA. Пароль от Admin ожидаемо не подходит.

В качестве обходного пути можно загрузиться в RE с установочной флэшки – в этом случае пароль администратора не запрашивается.

Еще одна неочевидная альтернатива – шифрование диска BitLocker, в том числе автоматическое. При входе в локальную RE требуется ввести 48-значный пароль восстановления, после чего экран с выбором администратора и вводом пароля уже не появляется.

Невозможно подключение по RDP или вход в сетевую папку

Применимо к: беспарольная MSA / MSA с паролем при беспарольной регистрации

У этих граблей два варианта.

Беспарольная MSA

Подключение по RDP и вход в сетевую папку подразумевают парольную аутентификацию, а для беспарольной MSA просто нечего указывать в качестве пароля. Однако по RDP можно подключиться к имеющей пароль MSA, даже если требование Hello включено, т.е. локальный вход с паролем невозможен.

MSA с паролем при беспарольной регистрации на устройстве

Проблема возникает, если добавление MSA на устройство проводится без ввода пароля, т.е. аутентификация выполняется по уведомлению в приложении Microsoft Authenticator. В этом случае Windows не с чем сравнить пароль, который вы вводите при подключении по RDP или входе в сетевую папку. Решение я опубликовал в своем канале Telegram.

Примечание. При использовании MSA с паролем вы можете столкнуться с проблемой подключения к ВМ на Hyper-V в режиме расширенного сеанса.

Литература (EN)

  • Windows Hello for Business
  • Why a PIN is better than a password
  • Building a world without passwords
  • Advancing Windows 10 as a passwordless platform
  • Secure password-less sign-in for your Microsoft account using a security key or Windows Hello

Заключение

Несколько лет назад Microsoft взяла курс на беспарольную аутентификацию и с тех пор следует ему. Windows Hello отлично сочетается с облачными сервисами компании (Azure AD) и даже укрепляет безопасность традиционной инфраструктуры.

Домашним пользователям перепадает с корпоративного стола, но для них беспарольная технология еще не обрела законченный вид. С другой стороны, большинство людей до сих пор использует пароли Qwert321 для всех аккаунтов, сторонится MSA, двухфакторной аутентификации и прочих решений, защищающих учетные записи и личные данные.

Наверное, со временем беспарольные аккаунты станут мейнстримом, но для этого также понадобятся усилия Apple, Google и множества других компаний.

Конкретных дискуссионных тем я сегодня не предлагаю. Статья разъясняет технические нюансы, не играя на эмоциях, а MSA мы обсуждали в прошлый раз. Однако ваши вопросы и мысли по теме я всегда рад видеть в комментариях!

Windows: Unraveling the Mystery Behind User Authentication Process

The world of operating systems is complex and continually evolving, but one aspect remains crucial for both security and user experience: the user authentication process. In Windows, this process plays a vital role in ensuring that only authorized users can access the system. Understanding how Windows manages user authentication can help you navigate issues more efficiently and enhance your overall experience. This article delves deep into the Windows user authentication process, exploring its components, methods, and troubleshooting tips.

Understanding User Authentication in Windows

User authentication is the mechanism that verifies a user’s identity before granting access to the system. Windows employs several methods and technologies to achieve secure authentication, ensuring both security and ease of use. Here’s a brief overview of how this process works:

  • Username and Password: The most common method of authentication, where users input their credentials to gain access.
  • Windows Hello: A modern alternative to passwords, using biometrics (facial recognition or fingerprint scanning).
  • Smart Cards: Physical devices that provide an additional layer of security by requiring a physical card to be present.
  • Multi-Factor Authentication (MFA): Combines two or more independent credentials to enhance security.

Components of Windows User Authentication

The authentication process in Windows involves several key components:

  • Security Accounts Manager (SAM): This database stores user accounts and security descriptors for users.
  • Active Directory (AD): For networks, AD manages users and resources, allowing for centralized authentication.
  • Credential Manager: A tool that stores credentials like usernames and passwords for applications and websites.
  • Group Policies: These are used to enforce specific settings and permissions across user accounts.

The Step-by-Step Authentication Process

Understanding the step-by-step process of user authentication in Windows can clarify how your data is secured. Here’s a simplified breakdown:

  1. User Input: The process begins when a user enters their username and password on the login screen.
  2. Verification Against SAM: Windows checks the entered credentials against the Security Accounts Manager (SAM) database.
  3. Active Directory Check (if applicable): In a networked environment, Windows verifies credentials against the Active Directory.
  4. Token Creation: Upon successful verification, Windows generates a security token containing the user’s permissions and rights.
  5. Access Granted: The user is granted access to the system based on the permissions associated with their security token.

Different Authentication Methods Explained

Windows provides various authentication methods, each with its own advantages and considerations:

1. Username and Password

This traditional method is widely used and understood. However, it is essential to create strong passwords to mitigate the risk of unauthorized access.

2. Windows Hello

Windows Hello is a passwordless sign-in method that leverages biometrics. It enhances security by requiring a user’s physical presence.

3. Smart Cards

Smart cards are physical devices that provide an additional layer of security. They are often used in enterprise environments.

4. Multi-Factor Authentication (MFA)

MFA adds an extra layer of security by requiring additional verification methods, such as a text message or an authentication app.

Troubleshooting Windows User Authentication Issues

Users often encounter authentication issues. Here are some common problems and troubleshooting tips:

  • Forgotten Password: Use the password reset disk or recovery options provided by Windows.
  • Account Locked Out: Wait for a designated time or contact your administrator if you’re in a networked environment.
  • Windows Hello Not Working: Ensure your camera or fingerprint reader is functioning correctly and that the latest drivers are installed.
  • Active Directory Issues: If you are in a corporate environment, reach out to your IT department for assistance.

Best Practices for Windows User Authentication

To enhance security, consider implementing the following best practices:

  • Create Strong Passwords: Use a mix of uppercase and lowercase letters, numbers, and special characters.
  • Enable Multi-Factor Authentication: This adds an additional layer of security, especially for sensitive accounts.
  • Regularly Update Your System: Keep your operating system and applications updated to protect against vulnerabilities.
  • Monitor Account Activity: Regularly check your account for unauthorized access or changes.

Conclusion

Understanding the Windows user authentication process is essential for maintaining security in today’s digital world. By familiarizing yourself with the various methods and components involved, you can enhance your security practices and troubleshoot issues more effectively. Whether you’re a casual user or an IT professional, knowledge of this process is invaluable.

For more information on enhancing your Windows experience, visit our Windows support page. If you’re interested in learning more about computer security, check out this external resource for comprehensive guidelines.

This article is in the category Guides & Tutorials and created by Windows Portal Team

 

Сегодня только ленивый не слышал о проблеме паролей. Но, увы, пользователи свои пароли регулярно забывают либо выбирают их чрезвычайно легкими для последующего взлома. С целью создания удобств аутентификации для пользователей в Windows 10 применяются те же методы, что и в Windows 8. То есть выбор графического пароля и биометрическая аутентификация.

Вместе с тем необходимо отметить, что несмотря на удобство биометрической аутентификации она, на мой взгляд, остается все же скорее именно удобством, а не самостоятельным методом. Почему?

Да потому, что при создании нового пользователя в системе мы, как обычно, должны вначале ввести его пароль и лишь затем приступить к биометрической аутентификации. Нельзя сделать вход в операционную систему без ввода пароля, используя только средства биометрии. Кроме того, стоит вспомнить и о недостатках биометрической аутентификации. Поговорим об этом немного подробнее.

Для аутентификации в Windows 10 применяется учетная запись от Microsoft. При этом данная учетная запись характеризуется двумя параметрами — именем пользователя (логин) и паролем. Если для входа на сайт и OneDrive вы используете двухэтапную аутентификацию, то при первом входе в систему от вас потребуют и получение кода в виде SMS-сообщения или другим удобным вам способом.

Некоторым пользователям не очень-то удобно каждый раз набирать пароль (или они его забывают по какой-то причине). Для них еще в Windows 8 были придуманы следующие способы аутентификации:

• графический пароль;

• PIN-код;

• биометрическая аутентификация (по отпечатку пальца; сегодня сюда добавляется сканирование радужной оболочки глаза).

Однако стоит отметить, что все эти способы — лишь удобство. И применить их без обычного пароля невозможно!

Биометрическая аутентификация в Windows 10

Для того чтобы использовать биометрическую аутентификацию, вы должны выбрать: Пуск — Параметры — Учетные записи — Параметры входа — Отпечаток пальца.

После этого вам предложат отсканировать отпечатки ваших пальцев. Чтобы использовать отпечаток пальца, сначала необходимо вначале четыре раза добавить его в базу для запоминания, а затем проделать ту же операцию в открывшемся новом окне еще четыре раза. Таким образом, сканирование каждого пальца придется выполнить восемь раз. Не поленитесь сделать это для всех десяти пальцев. Ведь вполне возможна ситуация, когда по какой-то причине (загрязненный датчик, порез на пальце и т. д.) отпечаток просто не распознается.

К недостаткам биометрической аутентификации по отпечаткам пальцев, без сомнения, можно отнести тот факт, что большинство используемых сегодня на ПК и планшетах сканеров довольно легко можно скомпрометировать муляжами. А изготовить муляж отпечатка совсем просто.

Кроме того, использование биометрических сканеров для аутентификации, на мой взгляд, опасно еще и тем, что сам цифровой «отпечаток» при этом хранится на ПК локально и теоретически есть возможность его хищения.

Если вы по какой-то причине не можете войти в свою учетную запись с помощью отпечатка пальца, вы всегда можете набрать свой пароль.

Графический пароль

Выберите вариант «Графический пароль». В появившемся окне вначале нужно выбрать базовый экран (фотографию), который будет служить основой для пароля. Далее необходимо с помощью жестов, то есть касаясь экрана пальцами или двигая мышью, «нарисовать» на экране комбинацию окружностей, прямых линий и других геометрических элементов.

При этом вы можете выбрать на экране замкнутую область или соединить пару произвольных точек. Проделайте это трижды. Теперь ваш пароль готов, и вы можете использовать его для аутентификации. Вместе с тем стоит учесть, что уже известны случаи успешных атак на графический пароль.

До недавних пор атака на такие пароли считалась невозможной, т. е. осуществить атаку перебором (brute force) не представлялось возможным, поскольку пользователь, как правило, рисует пальцем или курсором мыши произвольную фигуру на произвольной фотографии.

Ученые из университетов Аризоны и Делавэра, а также исследователи из GFS Technology нашли способ взлома графических паролей. Для осуществления атаки brute force они применили систему распознавания образов и разработали специальное приложение, перебирающее варианты в порядке снижения их вероятности. Как правило, на изображениях людей пользователь чаще всего отмечает или обводит глаза и носы, далее в порядке убывания частоты использования следуют руки и пальцы, рты и челюсти, лица и головы.

Данный способ взлома пароля срабатывает на фотографиях весьма успешно. Стоит отметить, что системы справляются с определением графического пароля даже на портретах, где кроме лица запечатлены и нестандартные объекты.

Как работает графический пароль

После того как вы выбрали изображение, на нем формируется сетка. Самая длинная сторона изображения разбивается на сто сегментов, затем разбивается короткая сторона на столько же сегментов и создается сетка, по которой рисуются жесты. Отдельные точки ваших жестов определяются их координатами (X, Y) на сетке. Для линии запоминаются начальные и конечные координаты и их порядок, с помощью которого определяется направление рисования линии. Для окружности запоминаются координаты точки центра, радиус и направление. Для касания запоминаются координаты точки касания.

При попытке регистрации с помощью графического пароля введенные жесты сравниваются с набором жестов, введенных при настройке графического пароля. Рассматривается разница между каждым жестом и принимается решение об успешности проверки подлинности на основе найденного количества ошибок. Если тип жеста неправильный (скажем, должен быть круг, а вместо него линия), проверка подлинности не будет пройдена. Если типы жестов, порядок ввода и направления совпадают, проверяется, насколько эти жесты отличаются от введенных ранее, и принимается решение о прохождении проверки подлинности.

Безопасность и подсчет жестов

Использование трех жестов обеспечивает значительное количество уникальных комбинаций жестов и такую же надежность, как пароль из пяти-шести случайно выбранных знаков. Уточню еще раз: графический пароль добавлен в качестве способа регистрации в системе как дополнение к текстовому паролю, а не вместо него!

Что нужно учесть

Аутентификация в Windows 10 возможна и с помощью учетной записи Live ID, биометрической аутентификации, а также кода PIN. В более старых версиях операционной системы пароль на домашних компьютерах хранился в файле SAM. Соответственно для его компрометации злоумышленнику нужен был физический доступ к системе и привилегии SYSTEM. Что же получается сегодня? С выходом Windows 10 потенциальному злоумышленнику куда легче будет взломать систему, потому что в системе аутентификации появились новые слабые звенья. Естественно, хакеру потребуется просто найти наиболее уязвимое из них.

Возьмем, например, регистрацию в системе с помощью Live ID. Для конечного пользователя это несомненное удобство: забыл пароль — зашел на сайт Live ID с другого компьютера, воспользовался услугой смены пароля, и можно регистрироваться на своем компьютере с новым паролем. Но это и повышает шансы злоумышленников. Опять-таки пользователь будет работать за другим компьютером, пароль к Live ID может храниться вместе с остальными паролями в браузере и т. д. И что самое интересное, и пароль Live ID, и ПИН-код, и графический пароль, и биометрический — всё это используется для дополнительного хранения и шифрования обычного пароля с целью регистрации в системе.

Поясню, почему эти звенья связаны с обычным паролем. Если пользователь выбрал аутентификацию по графическому паролю, то, в сущности, сам графический пароль применяется в качестве ключа для хранения и шифрования пароля обычного. Таким образом получается, что кроме SAM обычный пароль будет храниться еще в одном месте. Если пользователь выбрал регистрацию с Live ID, то обычный пароль (текстовый, но зашифрованный с помощью Live ID) будет храниться в третьем месте и т. д.

Учетная запись на базе Live ID более защищена. Пароль в текстовом виде уже не хранится. В SAM хотя и хранится хэш пароля Live ID, но он используется для расшифровки другого реального хэша. То есть, например, все пароли DPAPI, EFS, сертификаты шифруются на базе реального хэша, а не того, что в SAM. А реальный хэш уже шифруется более стойким алгоритмом pbkdf2 (SHA256) c несколькими тысячами итераций. Так что защита заметно усилилась. Думаю, в будущих версиях Windows потихоньку перейдут на этот тип, поскольку их обычный хэш SAM перебирается уже со скоростью миллиардов паролей в секунду.

Автор статьи — MVP Consumer Security, Microsoft Security Trusted Advisor.

Комментарии

Только зарегистрированные пользователи могут оставлять комментарий.

Регистрация
Авторизация

 

Интересно

RAG может делать модели ИИ более рискованными и менее надежными

По данным Bloomberg Research, набирающая популярность технология Retrieval-Augmented Generation (RAG, генерация …

Цифровые двойники приносят моделирование безопасности в реальный мир

Моделируя бизнес-среду или работающее ПО с учетом данных, получаемых в реальном времени из производственных …

Импортозамещение ИТ в нефтегазовой отрасли: особенности, специфика, поиск поставщика

Цифровая трансформация предприятий поддерживается на уровне нацпроектов: с начала этого года действует программа …

Проблематика и критерии доверенности для мобильных ОС, используемых на объектах КИИ

Мобильные операционные системы стали неотъемлемой частью бизнес-процессов, включая работу на объектах критической …

Искусство обратной инженерии программного кода

Сегодня декомпиляция занимает важное место среди современных информационных технологий, предоставляя возможности для …

Работая в среде Windows каждый системный администратор так или иначе сталкивается с системами аутентификации. Но для многих этот механизм представляет собой черный ящик, когда суть происходящих процессов остается неясна. В тоже время от правильной настройки аутентификации напрямую зависит безопасность сети, поэтому важно не только знать способы и протоколы, но и представлять их работу, хотя бы на общем уровне.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

В рамках данного материала мы будем рассматривать сознательно упрощенное представление процедур аутентификации, достаточное для понимания базового принципа работы, впоследствии данные знания могут быть углублены путем изучения специализированной литературы.

Для начала внесем ясность в термины. Многие путают понятия аутентификации и авторизации, хотя это различные процедуры.

  • Аутентификация — происходит от английского слова authentication, которое можно перевести как идентификация или проверка подлинности. Это полностью отражает суть процесса — проверка подлинности пользователя, т.е. мы должны удостовериться, что пользователь, пытающийся получить доступ к системе именно тот, за кого себя выдает.
  • Авторизация — перевод слова authorization означает разрешение, т.е. проверка прав доступа к какому-либо объекту. Процесс авторизации может быть применен только к аутентифицированному пользователю, так как перед тем, как проверять права доступа, мы должны выяснить личность объекта, которому мы собираемся предоставить какие-либо права.

Чтобы проще представить себе этот процесс проведем простую аналогию. Вы находитесь за границей и вас останавливает полицейский, вы предъявляете свой паспорт. Полицейский проверяет данные в паспорте и сверяет фотографию — это процесс аутентификации. Убедившись, что вы это вы, полицейский просит показать визу — это процесс авторизации, т.е. вашего права здесь находиться.

Точно также, сотрудник полиции, остановив трудового мигранта и проверив его паспорт, просит разрешение на работу, если разрешения нет, то зарубежный гость успешно прошел аутентификацию, но провалил авторизацию. Если аутентификация не пройдена, то до авторизации дело не дойдет.

Для аутентификации в компьютерных системах традиционно используется сочетания имени пользователя и некой секретной фразы (пароля), позволяющей определить, что пользователь именно тот, за кого себя выдает. Существуют также и иные способы аутентификации, например, по смарт-карте, но в данной статье мы их касаться не будем.

Локальная аутентификация

Прежде всего начнем с локальной аутентификации, когда пользователь хочет войти непосредственно на рабочую станцию, не входящую в домен. Что происходит после того, как пользователь ввел свой логин и пароль? Сразу после этого введенные данные передаются подсистеме локальной безопасности (LSA), которая сразу преобразует пароль в хэш, хэширование — это одностороннее криптографическое преобразование, делающее восстановление исходной последовательности невозможным. В открытом виде пароль нигде в системе не хранится и не фигурирует, пользователь — единственный кто его знает.

windows-authentication-1-001.jpg

Затем служба LSA обращается к диспетчеру учетных записей безопасности (SAM) и сообщает ему имя пользователя. Диспетчер обращается в базу SAM и извлекает оттуда хэш пароля указанного пользователя, сгенерированный при создании учетной записи (или в процессе смены пароля).

Затем LSA сравнивает хэш введенного пароля и хэш из базы SAM, в случае их совпадения аутентификация считается успешной, а хэш введенного пароля помещается в хранилище службы LSA и находится там до окончания сеанса пользователя.

В случае входа пользователя в домен, для аутентификации используются иные механизмы, прежде всего протокол Kerberos, однако, если одна из сторон не может его использовать, по согласованию могут быть использованы протоколы NTLM и даже устаревший LM. Работу этих протоколов мы будем рассматривать ниже.

LAN Manager (LM)

Протокол LAN Manager возник на заре зарождения локальных сетей под управлением Windows и впервые был представлен в Windows 3.11 для рабочих групп, откуда перекочевал в семейство Windows 9.х. Мы не будем рассматривать этот протокол, так как в естественной среде он уже давно не встречается, однако его поддержка, в целях совместимости, присутствует до сих пор. И если современной системе поступит запрос на аутентификацию по протоколу LM, то, при наличии соответствующих разрешений, он будет обработан.

Что в этом плохого? Попробуем разобраться. Прежде всего разберемся, каким образом создается хэш пароля для работы с протоколом LM, не вдаваясь в подробности обратим ваше внимание на основные ограничения:

  • Пароль регистронезависимый и приводится к верхнему регистру.
  • Длина пароля — 14 символов, более короткие пароли дополняются при создании хэша нулями.
  • Пароль делится пополам и для каждой части создается свой хэш по алгоритму DES.

Исходя из современных требований к безопасности можно сказать, что LM-хэш практически не защищен и будучи перехвачен очень быстро расшифровывается. Сразу оговоримся, прямое восстановление хэша невозможно, однако в силу простоты алгоритма шифрования возможен подбор соответствующей паролю комбинации за предельно короткое время.

А теперь самое интересное, LM-хэш, в целях совместимости, создается при вводе пароля и хранится в системах по Windows XP включительно. Это делает возможной атаку, когда системе целенаправленно присылают LM-запрос и она его обрабатывает. Избежать создания LM-хэша можно изменив политику безопасности или используя пароли длиннее 14 символов. В системах, начиная с Windows Vista и Server 2008, LM-хэш по умолчанию не создается.

NT LAN Manager (NTLM)

Новый протокол аутентификации появился в Windows NT и благополучно, с некоторыми изменениями, дожил до наших дней. А до появления Kerberos в Windows 2000 был единственным протоколом аутентификации в домене NT.

Сегодня протокол NTLM, точнее его более современная версия NTLMv2, применяются для аутентификации компьютеров рабочих групп, в доменных сетях Active Directory по умолчанию применяется Kerberos, однако если одна из сторон не может применить этот протокол, то по согласованию могут быть использованы NTLMv2, NTLM и даже LM.

Принцип работы NTLM имеет много общего с LM и эти протоколы обратно совместимы, но есть и существенные отличия. NT-хэш формируется на основе пароля длиной до 128 символов по алгоритму MD4, пароль регистрозависимый и может содержать не только ACSII символы, но и Unicode, что существенно повышает его стойкость по сравнению с LM.

Как происходит работа по протоколу NTLM? Рассмотрим следующую схему:

windows-authentication-1-002.jpg

Допустим локальный компьютер хочет получить доступ к некоторому файловому ресурсу на другом ПК, который мы будем считать сервером, при этом совсем не обязательно наличие на этом ПК северной ОС или серверных ролей. С точки зрения протокола NTLM клиент это тот, кто обращается, сервер — к кому обращаются.

Чтобы получить доступ к ресурсу клиент направляет серверу запрос с именем пользователя. В ответ сервер передает ему случайное число, называемое запросом сервера. Клиент в свою очередь шифрует данный запрос по алгоритму DES, используя в качестве ключа NT-хэш пароля, однако, несмотря на то, что NT-хэш 128-битный, в силу технических ограничений используется 40 или 56 битный ключ (хеш делится на три части и каждая часть шифрует запрос сервера отдельно).

Зашифрованный хэшем пароля запрос сервера называется ответом NTLM и передается обратно серверу, сервер извлекает из хранилища SAM хэш пароля того пользователя, чье имя было ему передано и выполняет аналогичные действия с запросом сервера, после чего сравнивает полученный результат с ответом NTLM. Если результаты совпадают, значит пользователь клиента действительно тот, за кого себя выдает, и аутентификация считается успешной.

В случае доменной аутентификации процесс протекает несколько иначе. В отличие от локальных пользователей, хэши паролей которых хранятся в локальных базах SAM, хэши паролей доменных пользователей хранятся на контроллерах доменов. При входе в систему LSA отправляет доступному контроллеру домена запрос с указанием имени пользователя и имени домена и дальнейший процесс происходит как показано выше.

В случае получения доступа к третьим ресурсам схема также немного изменяется:

windows-authentication-1-003.jpg

Получив запрос от клиента, сервер точно также направит ему запрос сервера, но получив NTLM-ответ он не сможет вычислить значение для проверки на своей стороне, так как не располагает хэшем пароля доменного пользователя, поэтому он перенаправляет NTLM-ответ контроллеру домена и отправляет ему свой запрос сервера. Получив эти данные, контроллер домена извлекает хэш указанного пользователя и вычисляет на основе запроса сервера проверочную комбинацию, которую сравнивает с полученным NTLM-ответом, при совпадении серверу посылается сообщение, что аутентификация прошла успешно.

Как видим, хэш пароля ни при каких обстоятельствах по сети не передается. Хэш введенного пароля хранит служба LSA, хэши паролей пользователей хранятся либо в локальных хранилищах SAM, либо в хранилищах контроллера домена.

Но несмотря на это, протокол NTLM на сегодняшний день считаться защищенным не может. Слабое шифрование делает возможным достаточно быстро восстановить хэш пароля, а если использовался не только NTLM, а еще и LM-ответ, то и восстановить пароль.

Но и перехваченного хэша может оказаться вполне достаточно, так как NTLM-ответ генерируется на базе пароля пользователя и подлинность клиента сервером никак не проверяется, то возможно использовать перехваченные данные для неавторизованного доступа к ресурсам сети. Отсутствие взаимной проверки подлинности также позволяет использовать атаки плана человек посередине, когда атакующий представляется клиенту сервером и наоборот, устанавливая при этом два канала и перехватывая передаваемые данные.

NTLMv2

Осознавая, что протокол NTLM не соответствует современным требованиям безопасности, с выходом Windows 2000 Microsoft представила вторую версию протокола NTLMv2, который был серьезно доработан в плане улучшений криптографической стойкости и противодействия распространенным типам атак. Начиная с Windows 7 / Server 2008 R2 использование протоколов NTLM и LM по умолчанию выключено.

Сразу рассмотрим схему с контроллером домена, в случае его отсутствия схема взаимодействия не меняется, только вычисления, производимые контроллером домена, выполняются непосредственно на сервере.

windows-authentication-1-004.jpg

Как и в NTLM, клиент при обращении к серверу сообщает ему имя пользователя и имя домена, в ответ сервер передает ему случайное число — запрос сервера. В ответ клиент генерирует также случайное число, куда, кроме прочего, добавляется метка времени, которое называется запрос клиента. Наличие метки времени позволяет избежать ситуации, когда атакующий первоначально накапливает перехваченные данные, а потом с их помощью осуществляет атаку.

Запрос сервера объединяется с запросом клиента и от этой последовательности вычисляется HMAC-MD5 хэш. После чего от данного хэша берется еще один HMAC-MD5 хэш, ключом в котором выступает NT-хэш пароля пользователя. Получившийся результат называется NTLMv2-ответом и вместе с запросом клиента пересылается серверу.

Криптостойкость данного алгоритма является актуальной и на сегодняшний день, известно только два случая взлома данного хэша, один из них произведен компанией Symantec в исследовательских целях. Можно с уверенностью сказать, что в настоящий момент нет массовых инструментов для атак на NTLMv2, в отличие от NTLM, взломать который может любой вдумчиво прочитавший инструкцию школьник.

Сервер, получив NTLMv2-ответ и запрос клиента, объединяет последний с запросом сервера и также вычисляет HMAC-MD5 хэш, затем передает его вместе с ответом контроллеру домена. Тот извлекает из хранилища сохраненный хэш пароля пользователя и производит вычисления над HMAC-MD5 хешем запросов сервера и клиента, сравнивая получившийся результат с переданным ему NTLMv2-ответом. В случае совпадения серверу возвращается ответ об успешной аутентификации.

При этом, как вы могли заметить, NTLMv2, также, как и его предшественник, не осуществляет взаимную проверку подлинности, хотя в некоторых материалах в сети это указывается.

Настройки безопасности

Теперь, когда вы имеете представление о работе протоколов аутентификации самое время поговорить о настройках безопасности. NTLMv2 вполне безопасный протокол, но если система настроена неправильно, то злоумышленник может послать NTLM или LM запрос и получить соответствующий ответ, который позволит успешно осуществить атаку.

За выбор протокола аутентификации отвечает локальная или групповая политика. Откроем редактор политик и перейдем в Конфигурация компьютера — Конфигурация Windows — Политики безопасности — Локальные политики — Параметры безопасности, в этом разделе найдем политику Сетевая безопасность: уровень проверки подлинности LAN Manager.

windows-authentication-1-005.jpg

В этом же разделе находится политика Сетевая безопасность: не хранить хэш-значения LAN Manager при следующей смене пароля, которая запрещает создание LM-хэша, по умолчанию активна начиная с Vista / Server 2008.

В нашей же политике мы видим широкий выбор значений, очевидно, что сегодня безопасными могут считаться политики начиная с Отправлять только NTLMv2-ответ и ниже по списку.

Эти же значения можно задать через реестр, что удобно в сетях уровня рабочей группы, для этого в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lsa нужно создать параметр DWORD с именем LmCompatibilityLevel, который может принимать значения от 0 до 5. Рассмотрим их подробнее:

Наименование настройки Клиентский компьютер Контроллер домена Lm Compatibility Level
Отправлять LM- и NTLM-ответы Клиентские компьютеры используют LM и NTLM аутентификацию, и никогда не используют сеансовую безопасность NTLMv2. Контроллеры домена допускают проверку подлинности LM, NTLM и NTLMv2. 0
Отправлять LM- и NTLM- использовать сеансовую безопасность NTLMv2 Клиентские компьютеры используют LM и NTLM аутентификацию, и используют сеансовую безопасность NTLMv2, если сервер поддерживает ее. Контроллеры домена допускают проверку подлинности LM, NTLM и NTLMv2. 1
Отправлять только NTLM-ответ Клиентские компьютеры используют проверку подлинности NTLMv1, и используют сеансовую безопасность NTLMv2, если сервер поддерживает ее. Контроллеры домена допускают проверку подлинности LM, NTLM и NTLMv2. 2
Отправлять только NTLMv2-ответ Клиентские компьютеры используют проверку подлинности NTLMv2, и используют сеансовую безопасность NTLMv2, если сервер поддерживает ее. Контроллеры домена допускают проверку подлинности LM, NTLM и NTLMv2. 3
Отправлять только NTLMv2-ответ. Отказывать LM. Клиентские компьютеры используют проверку подлинности NTLMv2, и используют сеансовую безопасность NTLMv2, если сервер поддерживает ее. Контроллеры домена отказываются принимать аутентификацию LM, и будут принимать только NTLM и NTLMv2. 4
Отправлять только NTLMv2-ответ. Отказывать LM и NTLM. Клиентские компьютеры используют проверку подлинности NTLMv2, и используют сеансовую безопасность NTLMv2, если сервер поддерживает ее. Контроллеры домена отказываются принимать аутентификацию LM и NTLM, и будут принимать только NTLMv2. 5

Внимательный читатель, изучая данную таблицу, обязательно обратит внимание на сеансовую безопасность NTLMv2. Данная возможность, как и вообще все взаимодействие по NTLMv2, довольно плохо документированы, поэтому многие понимают смысл этой возможности неправильно. Но на самом деле все довольно несложно.

После того, как клиент пройдет аутентификацию формируется ключ сеанса, который используется для подтверждения подлинности при дальнейшем взаимодействии. Ключ сеанса NTLM основан только на NT-хэше и будет одинаковым до тех пор, пока клиент не поменяет пароль пользователя. Какие угрозы безопасности это несет пояснять, нам кажется, не надо. Сеансовая безопасность NTLMv2 подразумевает вычисление ключа сеанса с использованием не только NT-хэша, но и запросов сервера и клиента, что делает ключ уникальным и гораздо более стойким к возможным атакам. При этом данная возможность может быть использована совместно с NTLM или LM аутентификацией.

Мы надеемся, что данный материал поможет вам глубже понять процессы аутентификации в системах Windows. В следующей части мы подробно остановимся на устройстве и работе протокола Kerberos.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Need for speed hot pursuit 2010 не запускается на windows 10
  • Экран восстановления windows 10 как включить
  • Как скрыть поиск в панели задач на windows 10
  • File associations in windows
  • Обычный просмотр фотографий windows 10