7 Июня, 2012

EPIC FAIL LinkedIn

Anton Karpov
Буквально неделю назад на PHDays обсуждали с Solar Designer'ом, как компании должны защищать хэши паролей своих пользователей, если вдруг случится компрометация.

И вот, с пылу с жару -- шесть с половиной миллионов хэшей пользователей LinkedIn.

Мы пока не знаем, как именно и через какую уязвимость у LinkedIn утекли хэши паролей (nb: как публичная компания, LinkedIn должна будет опубликовать security breach incident report). Но просто удивительно, как наплевательски эти ребята отнеслись к защите самих хэшей от взлома. Для хэширования паролей в LinkedIn использовался алгоритм SHA-1 без соли. Это плохо по трем причинам:
- Отсутствие соли позволяет использовать заранее подготовленные "радужные таблицы" (rainbow tables) для взлома
- SHA-1 хорошо распараллеливается на GPU
- Linkedin не использовала никаких механизмов усиления ключа, а просто хэширование пароля "в лоб"

Если бы LinkedIn использовала механизм для усиления ключа (key stretching), например, PBKDF2, то взлом хэшей был бы существенно затруднен. Основная идея таких механимов: использование соли и многократный "проход" по функции, что затрудняет взлом: с солью посчитать хэши заранее не удастся, и, например, 1000 вычислений хэша (как рекомендуется в том же PBKDF2) потребует больше ресурсов, чем одно вычисление. В идеале к этому еще можно добавить выбор хэш-функции, которую трудно распараллелить на GPU, например, bcrypt.

Просто не верится, что у LinkedIn не было даже "соли". Кстати, хэша своего пароля я в базе не нашел ;-(
или введите имя

CAPTCHA
7 Июня, 2012
Пароли и не только
Антон отлично объяснили, но хочется дополнить, если позволите! Соль, конечно, дает возможность избежать атаки по радужным таблица, но на данный момент произошел резкий перекос в сторону вычислений на GPU и радужные таблицы испльзуются больше для старых MySQL хэшей, к примеру. Механизм PBKDF2 дает отличный результат, значительно замедляя брутфорс, но в итоге при текущих вычислительных мощностях поиск пароля вопрос лишь времени, причем не такого уж и большого.(не будем упоминать пароли в 100500 символов, в разных регистрах с цифрами и знаками) Для себя решил провести "исследование" паролей с LinkedIn, дабы получить статистику используемых паролей (вроде как про). Возможно оформлю в виде статьи. И по существу дела о безответственности LinkedIn. Главное это то, что были слиты email-ы, спаммеры возрадуются, а пользователям одни проблемы. А почему бы не использывать чудо механизм RSA для криптовки email-ов? На месте "тру" компаний я бы сильно задумался над этим вопросом! Спасибо за внимание и интересный пост.
0 |
  • Поделиться
  • Ссылка