Microsoft LAN Manager

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:42, 22 апреля 2017.
LAN Manager
Разработчики: Microsoft Corporation
Написана на: C++
Операционная система: MS-DOS,
Windows Server
Тип ПО: LAN Менеджер
Веб-сайт msdn.microsoft.com/en-us/library/cc237025.aspx

LAN Manager (Диспетчер локальной сети) был сетевой операционной системой (сетевая операционная система), доступной от нескольких поставщиков и разработанной Microsoft в сотрудничестве с 3Com Corporation. Он был разработан для того, чтобы успешно использовать 3Com-серверное программное обеспечение 3Com, работающее на сильно измененной версии MS-DOS.

История

LAN Manager был основан на операционной системе OS/2, совместно разработанной IBM и Microsoft. Первоначально он использовал протокол Server Message Block поверх протокола NetBIOS Frames (NBF) или специализированной версии протокола Xerox Network Systems (XNS). Эти устаревшие протоколы были унаследованы от предыдущих продуктов, таких как MS-Net для MS-DOS, Xenix-NET для MS-Xenix и вышеупомянутого 3+Share. Также была доступна версия LAN Manager для Unix-систем под названием LAN Manager/X.

В 1990 году Microsoft анонсировала LAN Manager 2.0 с целым рядом улучшений, включая поддержку TCP/IP в качестве транспортного протокола. Последняя версия LAN Manager 2.2, которая включала базовую операционную систему MS-OS/2 1.31, оставалась стратегической серверной системой Microsoft до выхода Windows NT Advanced Server в 1993 году.

Многие поставщики поставляли лицензионные версии, в том числе:

  • 3Com Corporation 3+Open
  • HP LAN Manager/X
  • IBM LAN Server
  • Tapestry Torus

Криптоанализ

Аутентификация LAN Manager использует особенно слабый метод хэширования пароля пользователя, известного как алгоритм хэша LM, возникшего с середины 1980-х годов, когда вирусы-дискеты были главной проблемой, в отличие от потенциально высокочастотных атак с обратной связью по сети с высокой пропускной способностью. Это делает хэши хрупкими в считанные секунды, используя радужные таблицы, или через несколько часов, используя брут-форс. Его использование в Windows NT было заменено на NTLM, из которых более старые версии по-прежнему уязвимы для радужных таблиц, но менее уязвимы для атак с использованием брут-форса. NTLM используется для входа в систему с локальными учетными записями, за исключением контроллеров домена, поскольку Windows Vista и Windows Vista больше не поддерживают хэш LM по умолчанию. Kerberos используется в средах Active Directory.

Основными недостатками протокола аутентификации LAN Manager являются:

  1. Пароли не чувствительны к регистру. Перед созданием хэш-значения все пароли преобразуются в верхний регистр. Следовательно, он принимает пароли PassWord, PaSsWoRd, PASSword и другие подобные комбинации, такие же как PASSWORD, преобразовывая все символы в верхний регистр. Символы пароля также ограничены подмножеством набора символов ASCII.
  2. Длина пароля ограничена 14 символами.
  3. 14-значный пароль разбивается на 7+7 символов, и хэш вычисляется для двух половин отдельно. Этот способ вычисления хэша делает его экспоненциально более легким для взлома, так как атакующий должен брут-форсом набрать 7 символов дважды вместо 14 символов. Это делает эффективную надежность пароля на 14 символов, равного удвоенному паролю из 7 символов, что значительно менее сложно, чем надежность пароля из 14 символов.
  4. Если пароль состоит из 7 символов или меньше, то во второй половине хеша всегда будет выдаваться такое же постоянное значение (0xAAD3B435B51404EE). Таким образом, если длина пароля меньше или равна 7 символам, длина пароля, состоящего из 7 символов или менее, может быть идентифицирована явно без использования инструментов.
  5. Значение хэш-функции отправляется на сервер по сети без засоления, что делает его восприимчивым к атакам среднего уровня, таким как воспроизведение хеша.

Сведения о хеше LM

Хеш LM (также известный как хэш LanMan или хэширование LAN Manager) представляет собой уязвимую функцию хеширования паролей, которая была основным хэшем, который версии Microsoft LAN Manager и Microsoft Windows до Windows NT использовали для хранения пользовательских паролей. Поддержка устаревшего протокола LAN Manager продолжалась в более поздних версиях Windows для обеспечения обратной совместимости, но была рекомендована Microsoft для отключения администраторами; начиная с Windows Vista, протокол по умолчанию отключен, но по-прежнему используется некоторыми non-Microsoft SMB-реализациями.

Алгоритм

Хэш LM вычисляется следующим образом:[Источник 1][Источник 2]

  1. Пароль пользователя ограничен четырнадцатью символами.[1]
  2. Пароль пользователя преобразуется в верхний регистр.
  3. Пароль пользователя закодирован на кодовой странице системы OEM.
  4. Этот пароль имеет нулевое значение до 14 байт.
  5. Пароль фиксированной длины делится на две половины по 7 байт.
  6. Эти значения используются для создания двух ключей DES, по одному от каждой 7-байтовой половины, путем преобразования семи байтов в поток битов с самым старшим битом первым и вставки нулевого бита после каждых семи битов (поэтому 1010100 становится 10101000). Это создает 64 бита, необходимые для ключа DES. (Ключ DES якобы состоит из 64 битов, однако только 56 из них фактически используются алгоритмом. Нулевые биты, добавленные на этом шаге, позже отбрасываются).
  7. Каждый из двух ключей используется для DES-шифрования константной строки ASCII “KGS!@#$%”,[2] что приводит к двум 8-байтовым зашифрованным значениям. DES CipherMode должен быть установлен в ECB, а PaddingMode должен быть установлен в NONE.
  8. Эти два значения зашифрованного текста объединяются, чтобы сформировать 16-байтовое значение, которое является хешем LM.

Слабые стороны безопасности

Хотя он основан на DES, хорошо изученном и ранее защищенном блочном шифре, хеш LM не является истинной односторонней функцией, поскольку пароль может быть определен из хеша из-за нескольких недостатков его конструкции: во-первых, пароли ограничены максимально до 14 символов, что дает теоретическое максимальное пространство клавиш с 95 печатными символами ASCII.

Во-вторых, пароли длиной более 7 символов делятся на две части, и каждая часть хэшируется отдельно; Эта слабость позволяет каждой половине пароля подвергаться атаке отдельно при экспоненциально более низкой стоимости, чем целое, так как только различных элемента паролей с 7 символами возможны с одним и тем же набором символов. Устанавливая брут-форс атаку на каждую половину отдельно, современные настольные машины могут взломать буквенно-цифровые хеши LM за несколько часов. Кроме того, все строчные буквы в пароле заменяются на верхний регистр до хэширования пароля, что дополнительно уменьшает ключевое пространство для каждой половины до .

В хеше LM также не используется криптографическая соль, стандартная методика предотвращения заранее вычисленных атак по словарю. Таким образом, может быть использована компромиссная криптоаналитическая атака, такая как радужная таблица. Кроме того, любой пароль, длина которого короче 8 символов, приведет к хешированию 7 нулевых байтов, что даст постоянное значение 0xAAD3B435B51404EE, что упростит идентификацию коротких паролей. В 2003 году была опубликована книга Ophcrack, посвященная технике радужной таблице. Она специально нацелен на слабости шифрования LM и включает в себя заранее вычисленные данные, достаточные для взлома практически всех буквенно-цифровых хешей LM за несколько секунд. Множество крекинговых инструментов, например RainbowCrack, L0phtCrack и Cain теперь включают подобные атаки и делают хеширование LM быстрым и тривиальным.

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

Обходные пути

Для устранения слабых мест безопасности, присущих схемам шифрования и аутентификации LM, Microsoft представила протокол NTLMv1 в 1993 году с Windows NT 3.1. Для хеширования NTLM использует поддержку Unicode, заменяя LMhash=DESeach(DOSCHARSET(UPPERCASE(пароль)), "KGS!@#$%") на NThash=MD4(UTF-16-LE(пароль)), который не требует каких-либо дополнений или усечений, которые упростили бы ключ. С отрицательной стороны, тот же алгоритм DES использовался только с 56-битным шифрованием для последующих шагов аутентификации, и до сих пор нет соления. Кроме того, Windows-машины в течение многих лет настраивались по умолчанию для отправки и приема ответов, полученных как из хеша LM, так и из хэш-функции NTLM, поэтому использование хэша NTLM не обеспечивало дополнительной защиты, пока слабый хэш еще присутствовал. Также потребовалось время для искусственных ограничений длины пароля в инструментах управления, таких как диспетчер пользователей, которые должны быть отменены.

Хотя LAN Manager считается устаревшим, а текущие операционные системы Windows используют более надежные методы проверки подлинности NTLMv2 или Kerberos, системы Windows до Windows Vista / Windows Server 2008 по умолчанию включили хеш диспетчера LAN для обратной совместимости с устаревшими LAN Manager и Windows Me или более ранними клиентами, или устаревших приложений, поддерживающих NetBIOS. В течение многих лет считается хорошей практикой безопасности, чтобы отключить скомпрометированные протоколы проверки подлинности LM и NTLMv1 там, где они не нужны. Начиная с Windows Vista и Windows Server 2008, Microsoft отключила хэш LM по умолчанию; эта функция может быть включена для локальных учетных записей с помощью параметра политики безопасности и для учетных записей Active Directory путем применения того же параметра через групповую политику домена. Тот же метод можно использовать для отключения этой функции в Windows 2000, Windows XP и NT. Пользователи также могут предотвратить создание хэш-функции LM для собственного пароля, используя пароль длиной не менее пятнадцати символов.

Хэши NTLM в свою очередь становятся уязвимыми в последние годы для различных атак, которые эффективно делают их сегодня слабыми, поскольку хэши LanMan были еще в 1998 году.

Причины дальнейшего использования LM-хеша

Многим устаревшим сторонним SMB-реализациям потребовалось значительное время, чтобы добавить поддержку более сильных протоколов, созданных Microsoft для замены хеширования LM, потому что сообществам с открытым исходным кодом, поддерживающим эти библиотеки, сначала пришлось пересмотреть новые протоколы - Samba потребовалось 5 лет, чтобы добавить поддержку NTLMv2 , А JCIFS - 10 лет.

Доступность протоколов NTLM для замены аутентификации LM
Продукт Поддержка NTLMv1 Поддержка NTLMv2
Microsoft Windows NT 3.1 RTM (1993) Не поддерживается
Windows NT 3.5 RTM (1994) Не поддерживается
Windows NT 3.51 RTM (1995) Не поддерживается
Windows NT 4 RTM (1996) Service Pack 4 (25 октября 1998 года)
Windows 95 Не поддерживается Клиент служб каталогов (выпущен на Windows 2000 Server, 17 февраля 2000 г.)
Windows 98 RTM Клиент служб каталогов (выпущен на Windows 2000 Server, 17 февраля 2000 г.)
Windows 2000 RTM (17 февраля 2000 года) RTM (17 февраля 2000 года)
Windows ME RTM (14 сентября 2000 года) Клиент служб каталогов (выпущен на Windows 2000 Server, 17 февраля 2000 г.)
Samba  ? Версия 3.0 (24 сентября 2003 года)
JCIFS Не поддерживается Версия 1.3.0 (25 октября 2008 года)
IBM AIX (SMBFS) 5.3 (2004 год) Не поддерживается с версии 7.1

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

Наконец, до выпуска Windows Vista многие процессы автоматической сборки по-прежнему использовали загрузочный диск DOS (вместо Microsoft Windows PE), чтобы начать установку Windows с помощью WINNT.EXE, что требует включения хеширования LM для устаревшего диспетчера LAN Сетевой стек для работы.

См. также

Примечания

  1. Если пароль содержит более четырнадцати символов, хеш LM не может быть вычислен.
  2. Строка “KGS!@#$%” может означать Ключ Глена и Стива, а затем комбинацию Shift + 12345. Глен Зорн и Стив Кобб являются авторами RFC 2433 (Microsoft PPP CHAP Extensions).

Источники

  1. Глава 3 - Установка операционной системы: LMHash [Электронный ресурс]: Microsoft Technet. — Дата обращения: 08.03.2017. Режим доступа: http://technet.microsoft.com/en-us/library/dd277300.aspx#ECAA.
  2. Протокол проверки подлинности NTLM и поставщик поддержки безопасности: ответ LM [Электронный ресурс]: Eric Glass. — Дата обращения: 08.03.2017. Режим доступа: http://davenport.sourceforge.net/ntlm.html#theLmResponse

Ссылки/Литература

  • Библиотека MSDN [Электронный ресурс]: Диспетчер локальной сети Microsoft LAN Manager / Дата обращения: 08.03.2017. Режим доступа: http://msdn.microsoft.com/en-us/library/cc237025.aspx
  • Филипп Охслин [Электронный ресурс]: Создание более быстрой криптоаналитической временной памяти / Дата обращения: 08.03.2017. Режим доступа: http://lasec.epfl.ch/~oechslin/publications/crypto03.pdf
  • Ophcrack [Электронный ресурс]: Взлом паролей Windows / Дата обращения: 08.03.2017. Режим доступа: http://ophcrack.sourceforge.net/