Хакеры используют различные методы взлома паролей, и один из них — атака по радужным таблицам. В некоторых случаях этот метод может быть быстрее, чем атаки по словарю или подстановка учетных данных.
В этой статье мы разбираем, как работают атаки с использованием радужных таблиц, и обсуждаем способы защиты от них.
Определение атаки с использованием радужных таблиц
Атака с использованием радужных таблиц — это криптографическая атака, которую хакеры используют для взлома систем путем подбора паролей по их хешам, выступающим в роли цифровых отпечатков ключа. Хеш-функция сопоставляет каждый пароль с соответствующей строкой символов.
В отличие от атаки методом перебора (brute-force), при которой перебираются все возможные пароли, атака с использованием радужных таблиц не требует угадывания, так как таблица уже предварительно вычислена. Эта предварительно вычисленная таблица (названная радужной из-за своего внешнего вида при цветовом кодировании) по сути представляет собой большую базу данных пар хеш-значений, связанных с соответствующим им простым текстом.
Как работает атака на пароли с использованием радужных таблиц
1. Создание списка паролей
При создании радужных таблиц хакеры часто ориентируются на наиболее вероятные и часто используемые пароли с простыми шаблонами (например, 123456, password или qwerty), словарные слова или дампы паролей, полученные в результате утечек данных.
2. Выбор хеш-функции и преобразование паролей
Атаки с использованием радужных таблиц хорошо работают с простыми и быстрыми криптографическими хеш-функциями, такими как MD-5, SHA-1, LM Hash или NTLM Hash, поскольку они не используют такие функции безопасности, как «соль» (добавление случайных данных к каждому паролю перед хешированием) или растяжение ключа (многократное хеширование пароля).
| Пароль, хешированный с помощью MD-5 | Пароль в виде простого текста |
| 482c811da5d5b4bc6d497ffa98491e38 | password123 |
Каждый пароль в виде простого текста проходит через хеш-функцию для создания соответствующего хеша, который представляет собой уникальную строку символов фиксированного размера, как в примере выше. Как только все пароли хешированы, хакер может использовать их для создания радужной таблицы.
3. Создание радужной таблицы для раскрытия паролей
Радужную таблицу можно представить как большую таблицу Excel, где в первом столбце находятся хешированные пароли, а во втором — пароли в виде простого текста. Если скомпрометированный хеш присутствует в этой таблице, это означает, что скомпрометированный пароль находится в соседней ячейке.
Примеры атак с использованием радужных таблиц
Вот два гипотетических примера, иллюстрирующих, как может происходить атака с использованием радужных таблиц:
- Хакер находит социальную сеть, которая использует устаревший алгоритм хеширования без какой-либо «соли». Используя уязвимость SQL-инъекции, злоумышленник извлекает хеш-значения паролей пользователей из базы данных веб-сайта. Затем он использует предварительно вычисленную радужную таблицу, чтобы быстро преобразовать тысячи этих хешей обратно в пароли в виде простого текста, что позволяет раскрыть аккаунты пользователей.
- Во время мониторинга сети хакер обнаруживает, что сайт электронной коммерции передает хеши паролей незащищенным способом между своими серверами, и использует инструменты перехвата сетевого трафика для получения этих данных. Получив доступ к хешам паролей, хакер использует атаку с использованием радужных таблиц для расшифровки паролей клиентов, получая доступ к их учетным записям для покупок и личной информации.
Утечки данных в результате атак с использованием радужных таблиц
Атаки с использованием радужных таблиц применялись в реальном мире для кражи миллионов учетных данных.
Например, взлом LinkedIn в 2012 году(новое окно), совершенный российскими киберпреступниками, привел к краже паролей почти 6,5 миллионов пользователей, что вызвало значительную утечку данных. После первоначального обнаружения в 2016 году LinkedIn выявил еще 100 миллионов скомпрометированных адресов электронной почты и паролей, связанных с тем же инцидентом. Украденные пароли были плохо защищены и не имели дополнительных мер безопасности, таких как «соль», что облегчило злоумышленникам их расшифровку с помощью стандартных радужных таблиц.
Как предотвратить атаки с использованием радужных таблиц
Выбирайте платформы с надежными хеш-функциями
Безопасные хеш-функции, такие как bcrypt(новое окно) или Argon2(новое окно), используют «соль»(новое окно) для добавления случайных данных к вашему паролю перед созданием его хеша. Без «соли» хеш пароля не появится в радужной таблице, поэтому атака будет безуспешной.
Чтобы узнать, какие хеш-функции использует конкретный сервис или приложение для хранения паролей, проверьте их Политику конфиденциальности(новое окно), раздел FAQ, страницу поддержки, сертификаты безопасности или аудиты (если есть), техническую документацию или ресурсы для разработчиков(новое окно). Простой поиск в интернете должен помочь, или вы можете связаться с поддержкой клиентов и спросить их напрямую.
Если вы управляете собственными веб-сайтами или базами данных, поддерживайте настройки безопасности в актуальном состоянии, используя плагины или модули, которые внедряют надежные алгоритмы хеширования.
Используйте сложные пароли
Вместо простых паролей выбирайте безопасные пароли, состоящие как минимум из 12 символов, включая заглавные и строчные буквы, цифры и спецсимволы. Примеры надежных паролей: ?GmmM1Z[c5:F или beht=ty]P:)Gf^c?p?+7. Маловероятно, что киберпреступник станет атаковать такие сложные пароли с помощью радужных таблиц.
Включите многофакторную аутентификацию
Многофакторная аутентификация (MFA), такая как двухфакторная аутентификация (2FA), добавляет по крайней мере еще один способ подтверждения личности при вводе пароля, например, код из вашего 2FA-аутентификатора. Если злоумышленнику удастся подобрать ваш пароль с помощью атаки по радужной таблице, он не сможет пройти следующие этапы аутентификации.
Кроме того, если вы получаете неожиданный запрос на дополнительную проверку, это четкий признак того, что кто-то пытается получить доступ к вашему аккаунту. Вы можете быстро отреагировать, изменив свой пароль.
Используйте псевдонимы электронной почты
Псевдонимы электронной почты(новое окно) могут защитить вас от утечек данных, которые могут привести к атакам с использованием радужных таблиц, поскольку они не связаны с вашим основным адресом электронной почты. Например, вы можете использовать свой основной адрес для важных сообщений и финансов, а псевдонимы — для менее надежных действий, таких как регистрация на непроверенных сервисах. Если ваш псевдоним будет взломан, вы можете просто отключить его.
Следите за утечками данных в интернете
Будучи в курсе последних утечек, вы можете определить, были ли скомпрометированы используемые вами сервисы и не просочились ли ваши данные. Это позволит вам предпринять упреждающие шаги, такие как немедленная смена паролей, чтобы предотвратить использование хакерами потенциально раскрытых данных для несанкционированного доступа к вашим аккаунтам.
Как Proton Pass может помочь
Proton Pass защищает вас от атак с использованием радужных таблиц, создавая надежные пароли(новое окно) и управляя ими в одном месте. Также поддерживается TOTP-аутентификатор (одноразовые пароли на основе времени) для 2FA-токенов. Кроме того, приложение предлагает псевдонимы hide-my-email, чтобы защитить ваш основной адрес электронной почты от раскрытия в сети.
Все подписчики Proton Pass могут использовать Pass Monitor(новое окно) для отслеживания надежности всех паролей и мониторинг даркнета для проверки различных источников на предмет утечек данных. Наша модель безопасности использует надежный алгоритм хеширования bcrypt, который «солит» ваши пароли перед их хешированием, чтобы остановить атаки по радужным таблицам. Кроме того, мы используем передовую программу безопасности Proton Sentinel для обнаружения и предотвращения попыток захвата аккаунтов.
Начните защищать свои аккаунты от атак с использованием радужных таблиц, зарегистрировав бесплатный аккаунт Proton Pass уже сегодня.






