LM-хеш

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

LM-хеш, или LAN Manager хеш — один из форматов, используемых Microsoft LAN Manager и версиями Microsoft Windows до Windows Vista для хранения пользовательских паролей длиной менее 15 символов. Это единственный вид хеширования, используемый в Microsoft LAN Manager, откуда и произошло название, и в версиях Windows до Windows Me. Он также поддерживается и более поздними версиями Windows для обратной совместимости, хотя в Windows Vista его приходится включать вручную.

Алгоритм[править | править вики-текст]

LM-хеш вычисляется следующим образом[1]:

  1. Пароль пользователя приводится к верхнему регистру.
  2. Пароль дополняется нулями или обрезается до 14 байтов.
  3. Получившийся пароль разделяется на две части по 7 байтов.
  4. Эти значения используются для создания двух ключей DES, по одному для каждой 7-байтовой половинки, при этом 7 байтов рассматриваются как битовый поток и после каждых 7 битов вставляется ноль. Так создаются 64 бита, необходимые для ключа DES.
  5. Каждый из этих ключей используется для DES-шифрования ASCII-строки «KGS!@#$%», в результате получаются два 8-байтовых шифрованных значения.
  6. Данные шифрованные значения соединяются в 16-байтовое значение, являющееся LM-хешем.

Уязвимости защиты[править | править вики-текст]

Несмотря на то, что LM-хеш основан на качественном блочном шифре DES, он может быть легко атакован для подбора пароля из-за двух уязвимостей в его реализации. Во-первых, пароли длиннее 7 символов разделяются на две части и каждая часть хешируется отдельно. Во-вторых, все символы нижнего регистра приводятся к верхнему до хеширования пароля. Первая уязвимость позволяет атаковать каждую часть пароля по отдельности. Хотя и существует 95^{14} \approx 2^{92} различных паролей составленных из видимых ASCII-символов, но можно составить только 95^{7} \approx 2^{46} различных 7-байтовых частей пароля, используя одну кодовую таблицу. Ограничение набора символов из-за преобразования к верхнему регистру также сокращает количество вариантов до 69^{7} \approx 2^{43}. Применив brute force атаку отдельно к каждой половине, современные персональные компьютеры могут подобрать буквенно-цифровой LM-хеш за несколько часов.

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

Реагируя на данные уязвимости, заложенные в LM-шифровании, Microsoft представила в Windows NT 3.1 алгоритм NTLM. Хотя LAN Manager и считается устаревшим и современные версии ОС Windows используют более надежный NTLM алгоритм хеширования, все ОС Windows до сих пор по умолчанию рассчитывают и хранят LM-хеш для совместимости с LAN Manager и Windows Me или более старыми клиентами. Считается, что отключение этой возможности, когда она не нужна, повышает безопасность[2].

Microsoft заявляла, что поддержка LM-хеширования будет полностью устранена в ОС Windows Vista[3]. Несмотря на это, в текущем релизе Vista содержится поддержка LM-хеша, хотя и отключенная по умолчанию. Её можно включить в «Локальных политиках безопасности» из утилит «Администрирования».

Пароли особенно уязвимые при LM-хешировании[править | править вики-текст]

Из-за разбиения паролей, пароли состоящие из 7 и менее символов особенно уязвимы, так же как и состоящие из слова длиной в 7 символов, за которым следует другое распространённое слово или единственный символ. Между тем, так как LM-хеширование не применяется к паролям длиной 15 символов и более, они относительно устойчивы. Если не используются версии Windows семейства 9x, поддержка и использование LM-хеша может быть отключена[4].

Причины для дальнейшего использования[править | править вики-текст]

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Glass, Eric The NTLM Authentication Protocol (2003). Проверено 5 июня 2006. Архивировано из первоисточника 18 марта 2012.
  2. How to prevent Windows from storing a LAN manager hash of your password in Active Directory and local SAM databases. Microsoft Knowledge Base. Проверено 5 июня 2006. Архивировано из первоисточника 18 марта 2012.
  3. Johansson, Jesper (August 2006). «The Most Misunderstood Windows Security Setting of All Time». TechNet Magazine. Проверено 2007-01-08.
  4. How to prevent Windows from storing a LAN manager hash of your password in Active Directory and local SAM databases
  5. Windows NT 4.0 с пакетом обновления 4 Readme.txt File (40-bit). Microsoft (25 октября 1998). Проверено 27 мая 2010.
  6. The Samba Team announces the first official release of Samba 3.0. samba.org (24 сентября 2003). Проверено 27 мая 2010.
  7. The JCIFS library: News. Проверено 27 мая 2010.
  8. AIX 5L Version 5.3: Networks and Communication Management (pdf). IBM (15 Mar 2010). Проверено 18 сентября 2012.
  9. AIX 7.1: Networks and Communication Management (pdf). IBM (5 Dec 2011). Проверено 18 сентября 2012.