Local Security Authority
Local Security Authority (LSA, с англ. — «локальная служба безопасности») — это системный компонент операционной системы Windows, отвечающий за проверку учётных данных пользователей, управление политиками безопасности и формирование маркеров доступа (токенов) при входе в систему. LSA является частью подсистемы безопасности Windows и работает в контексте процесса lsass.exe (Local Security Authority Subsystem Service). Компонент обеспечивает аутентификацию, авторизацию и аудит безопасности на локальном компьютере или в домене Active Directory.
История
Компонент LSA появился в операционной системе Windows NT 3.1 (1993 год) как часть новой архитектуры безопасности, заменившей упрощённую модель Windows 9x. В ранних версиях Windows LSA выполняла базовые функции проверки паролей и управления правами пользователей. С развитием Windows (2000, XP, Vista) функционал LSA расширялся: добавилась поддержка смарт-карт, биометрической аутентификации, Kerberos и NTLM.
В Windows 10 и Windows 11 LSA претерпела значительные изменения, связанные с повышением безопасности. В 2022 году Microsoft представила обновление, блокирующее использование устаревших протоколов аутентификации (NTLMv1) через LSA по умолчанию. В 2023 году в Windows 11 22H2 была добавлена функция LSA Protection (защита LSA) — режим, при котором процесс lsass.exe запускается в изолированной среде (Virtualization-based Security, VBS) для предотвращения кражи учётных данных.
Архитектура и компоненты
LSA состоит из нескольких взаимосвязанных модулей, работающих в пространстве ядра и пользовательском режиме:
- lsass.exe — основной процесс, выполняющийся в пользовательском режиме. Он обрабатывает запросы на аутентификацию, управляет кэшем учётных данных и взаимодействует с другими компонентами.
- LSA Server — часть lsass.exe, принимающая вызовы от подсистемы безопасности (например, от Winlogon или службы терминалов).
- LSA Authentication Packages — динамические библиотеки (DLL), реализующие протоколы аутентификации: Kerberos (kerberos.dll), NTLM (msv1_0.dll), а также пакеты для смарт-карт (scardssp.dll) и биометрии (winbio.dll).
- Security Account Manager (SAM) — база данных учётных записей локальных пользователей и групп. SAM хранится в реестре Windows (ветка HKEY_LOCAL_MACHINE\SAM) и защищена от прямого доступа.
- Policy Database — хранилище политик безопасности (локальных или групповых), включающее настройки паролей, блокировки учётных записей, аудита и привилегий.
Функции
Аутентификация
LSA принимает запросы на вход от подсистемы Winlogon (при локальном входе) или от службы удалённого рабочего стола. Компонент проверяет учётные данные (пароль, PIN-код смарт-карты, биометрические данные) через соответствующий пакет аутентификации. В случае успеха LSA создаёт маркер доступа (токен), содержащий идентификатор пользователя (SID), список групп и привилегии.
Управление политиками безопасности
LSA хранит и применяет локальные политики безопасности, заданные через оснастку «Локальная политика безопасности» (secpol.msc) или групповые политики. Примеры политик:
- минимальная длина пароля;
- срок действия пароля;
- блокировка учётной записи после неудачных попыток входа;
- назначение прав пользователям (например, право на локальный вход или завершение работы системы).
Аудит безопасности
LSA генерирует события аудита, которые записываются в журнал безопасности Windows (Event Viewer). События включают успешные и неудачные попытки входа, изменения учётных записей, использование привилегий. Аудит настраивается через политики безопасности.
Управление доверительными отношениями
В доменной среде LSA отвечает за установление и поддержание доверительных отношений между доменами Active Directory. Компонент обрабатывает запросы на аутентификацию между разными доменами и лесами, используя протокол Kerberos.
Виды аутентификации через LSA
LSA поддерживает несколько протоколов аутентификации, выбор которых зависит от конфигурации системы и сетевой среды:
- Kerberos — основной протокол в доменах Active Directory (Windows 2000 и новее). Использует билеты (tickets) для аутентификации без передачи пароля по сети.
- NTLM — устаревший протокол, применяемый для обратной совместимости (Windows NT 4.0 и старше). Передаёт хеш пароля (NTLM hash) по сети. В современных версиях Windows NTLM отключён по умолчанию или ограничен.
- NTLMv2 — улучшенная версия NTLM с усиленной криптографией, но всё ещё уязвимая к атакам типа «перехват».
- Смарт-карты — аутентификация через сертификаты X.509, хранящиеся на физических или виртуальных смарт-картах.
- Биометрия — аутентификация по отпечатку пальца, лицу или радужной оболочке глаза через Windows Hello.
Уязвимости и атаки
LSA является критическим компонентом безопасности, поэтому она часто становится целью злоумышленников. Основные угрозы:
- Кража учётных данных — атаки типа Pass-the-Hash (PtH) и Pass-the-Ticket (PtT) позволяют злоумышленнику, получившему доступ к процессу lsass.exe, извлечь хеши паролей или билеты Kerberos. Для защиты в Windows 10/11 внедрена LSA Protection (защита LSA), изолирующая процесс в VBS.
- Mimikatz — утилита, способная считывать пароли и хеши из памяти lsass.exe. В ответ Microsoft ввела Credential Guard — технологию, хранящую учётные данные в защищённой среде виртуальной машины.
- Атаки на протоколы — уязвимости в NTLM (например, CVE-2019-1166) позволяют злоумышленнику выполнить аутентификацию без знания пароля. Microsoft рекомендует отключать NTLM и использовать Kerberos.
- Privilege Escalation — через ошибки в LSA возможно повышение привилегий (например, CVE-2023-21768, затрагивающая Windows 11).
Настройка и управление
Администраторы могут управлять LSA через следующие инструменты:
- Локальная политика безопасности (secpol.msc) — настройка политик паролей, блокировки, аудита.
- Редактор локальной групповой политики (gpedit.msc) — расширенные настройки безопасности, включая Credential Guard и LSA Protection.
- PowerShell — командлеты для управления политиками безопасности (например,
Set-LocalUser,Get-LocalGroup). - Реестр — прямые изменения в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa.
Интересные факты
- В Windows XP и более ранних версиях процесс lsass.exe мог быть остановлен без потери данных, что приводило к аварийному завершению системы. В Windows Vista и новее lsass.exe защищён от завершения через диспетчер задач.
- В 2017 году уязвимость в LSA (CVE-2017-0143) использовалась в атаках WannaCry и NotPetya для распространения по сети через протокол SMB.
- В Windows 11 22H2 Microsoft ввела обязательную защиту LSA для всех новых установок, что снизило риск кражи учётных данных.
Источники
- Microsoft Docs. «Local Security Authority (LSA) Overview». Windows Security Documentation.
- Russinovich, M., Solomon, D. «Windows Internals, Part 1: System architecture, processes, threads, memory management, and more». 7th Edition, Microsoft Press, 2017.
- CVE-2023-21768: Windows Local Security Authority Subsystem Service Elevation of Privilege Vulnerability. National Vulnerability Database.
- «Mimikatz: A Tool for Windows Credential Theft». BleepingComputer, 2021.
- «Credential Guard: How It Works and Why It Matters». Microsoft Security Blog, 2022.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →