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 символів розділяються на дві частини, і кожна частина хешується окремо. По-друге, всі символи нижнього регістру приводяться до верхнього до хешування пароля. Перша уразливість дозволяє атакувати кожну частину пароля окремо. Хоча й існує різних паролів складених з видимих ASCII-символів, але можна скласти тільки різних 7-байтових частин пароля, використовуючи одну кодову таблицю. Обмеження набору символів через перетворення до верхнього регістру також скорочує кількість варіантів до . Застосувавши brute force атаку окремо до кожної половини, сучасні персональні комп'ютери можуть підібрати буквено-цифровий LM-геш за кілька годин.

Так як LM-геш не використовує випадкових послідовностей, на нього також можливі словникові криптоаналітичні атаки, такі як райдужні таблиці. У 2003 році була опублікована Ophcrack — атака, реалізована на основі райдужних таблиць. Вона використовує всі уразливості 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 (2003). The NTLM Authentication Protocol. Архів оригіналу за 18 березня 2012. Процитовано 5 червня 2006.
  2. How to prevent Windows from storing a LAN manager hash of your password in Active Directory and local SAM databases. Microsoft Knowledge Base. Архів оригіналу за 18 березня 2012. Процитовано 5 червня 2006.
  3. Johansson, Jesper (August 2006). The Most Misunderstood Windows Security Setting of All Time. TechNet Magazine. Процитовано 8 січня 2007.
  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 березня 2010. с. 441. Процитовано 18 вересня 2012.
  9. AIX 7.1: Networks and Communication Management (pdf). IBM. 5 грудня 2011. с. 479. Процитовано 18 вересня 2012.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.