Безопасность Паролей и Атаки

Jul 31, 2024

Лекция по безопасности паролей и атакам

Введение

  • Пароли в открытую: Хранение паролей в открытом виде крайне небезопасно.
    • Читаемый формат в базе данных.
    • Если злоумышленники находят базу данных, они легко получают имена пользователей и пароли.
    • Избегайте использования приложений, которые хранят пароли в открытом виде. Обновите их, если необходимо.

Безопасное хранение паролей

  • Хеширование паролей: Лучшая практика для хранения паролей.
    • Преобразование пароля в 'дайджест сообщения' или 'отпечаток'.
    • Криптографический алгоритм, обеспечивающий уникальность и необратимость.
    • Пример: алгоритм хеширования SHA-256.

Примеры хешей

  • Распространенные пароли и их SHA-256 хеши:
    • 123456 -> Специфический хеш.
    • 1234567, QWERTY, password -> Разные хеши, одинаковой длины.
  • Файлы паролей хранят имена пользователей и их хешированные пароли.

Виды атак

1. Spray-атака

  • Избегает блокировки аккаунта, пробуя несколько распространенных паролей.
  • Примеры распространенных паролей: 123456, 123456789, QWERTY, password, 1234567.

2. Атака перебором (Brute Force)

  • Перебирает все комбинации символов систематически.
  • Отнимает много времени для длинных паролей.
  • Пример процесса:
    • Начинает с 'aaa', хеширует его, сравнивает с целевым хешем, переходит к 'aaab' и так далее.

3. Словарная атака

  • Использует распространенные слова из словаря, включая специализированные словари.
  • Может включать замену букв (например, password -> p@ssw0rd).
  • Распределенное взлом или использование GPU для ускорения процесса.
  • Примеры слов: ninja, dragon, football, letmein.

4. Радужные таблицы (Rainbow Tables)

  • Предварительно вычисленные таблицы хешей для эффективного поиска.
  • Для разных приложений и ОС требуются разные радужные таблицы.

Посоление (Salting)

  • Соль: Случайные данные, добавленные к паролям перед хешированием.
    • Обеспечивает разные хеши для одинаковых паролей.
    • Препятствует использованию радужных таблиц.
    • Замедляет атаки перебором.
  • Пример посоленных хешей для пароля dragon:
    • Разные соли дают разные хеши.

Кейсовое исследование: Утечка данных Collection #1

  • Коллекция #1: Массовая утечка данных в январе 2019 года.
    • Более 12,000 файлов и 87ГБ данных.
    • 1.1 миллиарда уникальных комбинаций email-пароль.
    • 772 миллиона уникальных имен пользователей.
    • Всего 21 миллион уникальных паролей.
  • Важность использования менеджера паролей для создания уникальных паролей для каждого аккаунта.

Проверка на взломы

  • Have I Been Pwned: Сайт для проверки, был ли ваш email частью утечки.
    • Введите ваш email, чтобы увидеть, был ли он скомпрометирован в какой-либо утечке.

Заключение

  • Используйте хешированные и посоленные пароли для защиты данных пользователей.
  • Будьте в курсе различных типов атак на пароли и принимайте превентивные меры.
  • Регулярно проверяйте, были ли ваши аккаунты скомпрометированы, используя доверенные ресурсы.