2017-02-01

SAM 1.3

2017-02-01 09:21 pm
waqur: (Default)
В Windows 10, начиная с Anniversary Update (10.1608), фирма Microsoft для чего-то поменяла способ шифрования хэшей в хайвах SAM.

Когда-то очень давно (во времена NT 3.51 и NT 4.0), пароли пользователей просто хэшировались алгоритмами MD4 и LMHash и в таком виде писались в хайв реестра под названием SAM.

В Service Pack 3 к NT 4.0 появилось нововведение под названием SYSKEY. Теперь хэши не просто хранились в SAM, а ещё и шифровались ключом под названием PEK. PEK генерировался случайно при установке Windows и тоже сохранялся в SAM-хайве, но не в открытом виде, а в зашифрованном. Шифрование PEK'а и хэшей происходило с помощью криптоалгоритма RC4, проверка валидности PEK'а делалась с помощью комбинации RC4 и MD5. Для расшифровки PEK нужен был ключик из хайва SYSTEM. Его в открытых источниках обычно называют SYSKEY, а Microsoft его именует Boot Key. Он хранится немного витиеватым способом (по частям в именах классов разных ключей реестра, связанных с подсистемой LSA), но извлекается без особых проблем. В общем, security through obscurity.

RC4-шифрование хэшей и PEK'ов по технологии SYSKEY просуществовало в неизменном виде во всех последующих версиях Windows (2000, XP, 2003 Server, Vista, 7, 2008 Server, 8, 8.1, 2012 Server, 10 RTM, 2016 Server), аж пока в Windows 10 Anniversary Update не произошли изменения.

Что бы вы думали? Они внедрили PBKDF2 вместо MD4, чтобы затруднить подбор паролей полным перебором на видеокартах? Перенесли вычисление Boot Key в TPM? В безопасный анклав Intel SGX? В Yubikey? Реализовали какую-то безумную систему проверки пароля с использованием zero knowledge proof, основанную на новейших достижениях криптографической мысли, таких как zk-SNARKs?

Фиг там, это же Microsoft. Они просто заменили RC4 на AES, а MD5 на SHA256 в своей security-through-obscurity схеме шифрования PEK'ов и хэшей (ну и попутно подняли версию формата данных 1.2 с 1.3, что сломало работу всяких утилиток для сброса пароля в винде, тысячи их). Разумеется, MD4 при всём при этом остался вечно живой, как Ленин.

Выглядит как формальная подготовка к какой-то правительственной сертификации. Убрать с начальственных глаз имена криптоалгоритмов и хэш-алгоритмов, к которым можно придолбаться с чисто формальной точки зрения. Ну спасибо, конечно, про RC4 мы давно догадывались, хотя в данном конкретном случае случае (SYSKEY — PEK — хэши паролей из SAM) что AES, что RC4, что XOR-наложение гаммы из линейного конгруэнтного ГПСЧ обеспечивают абсолютно идентичный уровень безопасности.

September 2017

S M T W T F S
     12
34567 89
10111213141516
17181920212223
24252627282930

На этой странице

Автор стиля

Развернуть

No cut tags
Page generated 2017-09-21 03:24 am
Powered by Dreamwidth Studios