Обложка канала

запуск завтра

15701 @ctodaily

Будни технического директора новостного стартапа. «Закрытие Parse и куда с него переехать», очередной лонгрид «как программируют в NASA» и прочие ссылки с hackernews. Ну и истории, конечно.

запуск завтра

7 лет назад
Открыть в
Классная история и повод рассказать про взломы паролей понятным языком.

Историки взломали пароль Кена Томпсона из 1980-х! Томпсон — живая легенда (ru), создатель операционной системы Unix (предок Linux).

Дело в том, что в 1980е создатели Unix раздавали хэши (шифрованные отпечатки) своих паролей вместе с копиями операционной системы. Как так получилось?

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

Чтобы защитить пароль от утечки, мы храним не сами пароли, а их отпечатки (хэши). При попытке входа система подсчитывает хэш введённого пароля и сравнивает его с сохранённым. Хороший хэш устроен так, что по нему нельзя угадать пароль.

И все же, есть один гарантированный способ восстановить пароль зная его хэш: для этого нужно посчитать хэши всех возможных паролей. Тот, чей хэш совпал с нашим и есть искомый пароль. «Против лома нет приема», по английски - brute-force attack, по русски брутфорс или просто «перебор».

Именно отсюда происходят советы по хорошим паролям (я ненавижу формы регистрации не меньше вашего):

— не стоит использовать короткий пароль. При длине 1 для взлома нужно перебрать всего 26 вариантов (26 букв), при длине 2 вариантов — 26×26=676, при трех — уже 17 576 (26×26×26). Если у вас в пароле 8 букв — то это 208 миллиардов вариантов для перебора;
— заглавные буквы рулят! Добавление заглавных букв увеличивает число вариантов для 8 букв в 256 раз, до 53 триллионов.
— нельзя использовать как пароль слово из словаря. Слов очень мало — порядка 200 тысяч . Для перебора всех слов нужно в 800 миллионов раз меньше времени (ресурсов), чем для перебора случайных паролей длины 8.

☞ Попытки атакующих быстро перебрать много паролей и старания разработчиков сделать процесс перебора максимально долгим — одна из классических гонок вооружений. Существуют так называемые «радужные таблицы» предподсчитанных хэшей, которые существенно ускоряют процесс перебора вариантов. Для борьбы с использованием радужных таблиц придумали «соль)».

Так вот, на прошлой неделе один энтузиаст подобрал пароль Томпсона найдя его хэш на винтажном диске — это заняло 4 дня непрерывной работы современной графической карты. Вычислительная мощь непредставимая 40 лет назад. Пароль был «p/q2-q4!», что на современный шахматный язык переводится «e2-e4» :)

🍒 Вишенка на торте — в публичную почтовую рассылку ответил сам Кен Томсон (!): «поздравляю». Через день в рассылку написал Роб Пайк — другая живая легенда: «во первых, я невольно подглядел пароль ещё в восмидесятых, а во вторых — взламывать пароли — безвкусно. Было безвкусно тогда, безвкусно и сейчас». У дедушек вечеринка 🎉