Что такое брутфорс и как от него защититься
Рассказываем об аналоге лома в кибербезопасности и приёмах защиты от него, которые всё-таки есть.
Кадр: фильм «Форсаж: Хоббс и Шоу» / Universal Pictures
Вы наверняка замечали, что некоторые сайты во время регистрации просят сделать пароль посложнее: то чисел насыпать, то букв, то ещё каких-нибудь символов. Зачем это нужно? Ведь и так никто никогда не узнает, что вы там зашифровали кличку собаки троюродной тёти первой школьной любви.
Ответ: человеку, возможно, угадать ваш пароль не удастся — но машина простым перебором может сделать это за пару часов. Такой способ кражи паролей в кибербезе называется брутфорсом — о нём-то мы и поговорим сегодня.
Что такое брутфорс
Брутфорс (brute-force), или атака полным перебором, — это метод взлома, при котором хакер подбирает разные варианты логинов, паролей и ключей шифрования. Цель — войти в систему или получить доступ к защищённым данным.
Но брутфорс — это отнюдь не всегда плохо. Такие атаки проводят специалисты по кибербезопасности и «белые» хакеры, чтобы испытать программу на прочность и найти уязвимости. Это своего рода испытание огнём для любой системы защиты: чтобы считаться надёжной, она должна выдерживать атаки полным перебором.
Читайте также:
А ещё с помощью брутфорса удалось разгадать шифр машины «Энигма», которую немецкая армия использовала для передачи секретных сообщений. О том, как это сделали и как в этом помог Алан Тьюринг, читайте в нашей статье. Ну а мы едем дальше.
Как работает брутфорс
Brute-force переводится с английского как «грубая сила». Смысл этой атаки в том, чтобы перебрать все возможные варианты, пока один из них не окажется верным. Хакеры не пытаются найти тонкий подход к жертве, как, например, при фишинге, — только перебор, только хардкор.
Естественно, всё это делается не вручную, а с помощью специальных хакерских программ. Причём многие из них вполне легальны, потому что ими пользуются специалисты по информационной безопасности. Запущенные на хорошем «железе», такие программы способны подбирать миллиарды комбинаций в секунду — то есть у паролей вроде «kotbarsik» и «123456» просто нет шансов не быть раскрытыми.
Чтобы ускорить атаку, хакеры могут подключать дополнительные вычислительные мощности: арендуют облачные серверы и используют ботнеты.
Методы брутфорс-атак
Не все брутфорс-атаки одинаковые. В одних хакеры перебирают случайные символы, в других — наиболее частые пароли, в третьих — комбинируют эти два способа. Вот как работают разные виды брутфорса.
Перебор случайных символов
Классический метод брутфорса: хакер пробует все возможные комбинации символов, пока не попадётся подходящая.
Как защититься: используйте длинные пароли (от восьми символов) с буквами в верхнем и нижнем регистре, цифры и спецсимволы.
Перебор по словарю
Идея та же, что и в предыдущем методе, только вместо случайных символов подставляются реально существующие фразы из словаря. Это могут быть имена, города, предметы, цитаты из Библии, строки из Шекспира — что угодно. И, конечно, таким способом украсть пароль гораздо проще.
Смотрите, у пароля из восьми случайных латинских символов в нижнем регистре есть 268 возможных комбинаций — это больше 200 триллионов вариантов. Если пробовать по одному в секунду, то для перебора всех комбинаций понадобится 6600 лет.
А, например, в Оксфордском словаре — всего 171 тысяча слов, и перебрать их можно гораздо быстрее. При одной попытке в секунду — чуть меньше чем за два дня.
В современных словарях для взлома хранятся самые распространённые пароли, а также те, которые утекли в Сеть и попали в базы данных злоумышленников.
Как защититься: не используйте реально существующие слова и словосочетания — или хотя бы разбавляйте их выдуманными. Почитать о том, как не надо составлять пароли, чтобы их не украли, можно в этой статье на «Хабре».
Гибридная атака
Некоторые пользователи, которые что-то слышали о брутфорсе, добавляют к обычным словам несколько символов — например, важную для них дату, возраст или что-то ещё. Мол, теперь-то уж точно хакерская рука окаянная до меня не достанет.
Но такие пароли тоже довольно просто раскрыть — с помощью гибридной атаки. Это когда к реальному слову из словаря добавляют несколько случайных символов, которые получают, опять же, методом перебора.
Как защититься: используйте более сложные комбинации, чем пара «слово + число». Например, добавляйте цифры в середине слова, разбавляйте всё это разными звёздочками и слешами, и будет вам счастье :)
Обратная атака
Метод для тех хакеров, которым не принципиально, кого именно взламывать.
Если в классическом брутфорсе для одного логина перебирают множество паролей, то при обратных атаках один пароль применяют сразу к большому количеству логинов.
Как защититься: не используйте простые или популярные пароли, ведь именно их хакеры обычно подставляют во время обратных атак.
Персональный взлом
При персональном взломе подключается социальная инженерия. Хакер составляет отдельный словарь для каждой жертвы, куда могут входить имена родственников, друзей, питомцев, важные даты, профессия, хобби и так далее. Для этого хакер может брать информацию из соцсетей или даже сблизиться с жертвой через общих знакомых.
Как защититься: не оставляйте пароли «на видном» месте и не используйте в них личную информацию. И вообще, цифровая гигиена — наше всё. Чем меньше о нас знают соцсети и разные сервисы, тем лучше.
Подстановка учётных данных
Этот метод используют, если узнают логин и пароль пользователя от какого-нибудь приложения или сайта. Хакер подставляет скомпрометированные учётные данные в разных сервисах. Если жертва использовала их ещё в каком-то месте, то злоумышленник попадает в её аккаунт.
Как защититься: посмотрите, нет ли вашей почты или пароля в списках утечек, — сделать это можно здесь и здесь. Если пользуетесь Google Chrome, посмотреть раскрытые данные можно в менеджере паролей.
Брут-чек
Его применяют, если злоумышленник уже получил доступ к электронной почте жертвы. Многие сервисы сами генерируют пароли и высылают на почту пользователям. Хакеры находят такие письма, извлекают из них учётные данные и используют для взлома.
Как защититься: самостоятельно устанавливайте пароли от всех важных аккаунтов. А ещё — регулярно обновляйте пароль от электронной почты, куда ж без этого.
Взлом захешированной базы данных
Этот метод применяют хакеры после того, как получают доступ к базе данных паролей — они обычно хранятся в захешированном виде.
Хеш-функция — это алгоритм, который необратимо шифрует данные. Он получает на вход сообщение и выводит его хеш — строку фиксированной длины. Строка состоит из набора букв и цифр, который чётко соответствует входному сообщению:
- Если два раза захешировать одно и то же сообщение, хеш получится одинаковый.
- Если изменить в сообщении хотя бы одну букву, то хеш получится совершенно другой.
Получив доступ к базе хешей и зная алгоритм хеширования, злоумышленник может по очереди хешировать разные варианты паролей — перебором, по словарю или гибридно. Затем он ищет совпадающие хеши и смотрит, из каких входных данных получил их — это и есть найденные пароли.
Чтобы из раза в раз не хешировать заново одно и то же, хакеры создают радужные таблицы — специальные словари, которые содержат не сами пароли, а их хеши.
Как защититься: если вы пользователь — практически никак. Хешированные базы паролей утекают в Сеть регулярно, и это уже наша реальность. Например, недавно это коснулось клиентов «Сбера».
Но для владельцев сервисов есть выход: например, использовать соли — дополнительные строки данных, которые хешируются вместе с паролем. А ещё — использовать современные протоколы шифрования.
Гайд: как защититься от брутфорса
Скорость перебора комбинаций брутфорсом — запредельная. В 2018 году компьютер с графическим процессором RTX 2080 за одну секунду перебрал 37 миллиардов паролей, захешированных алгоритмом MD5. А более современные RTX 3090 и RTX 4090 позволяют перебирать и того больше: 70 и 164 миллиарда комбинаций соответственно.
Лучший способ защититься от брутфорса — использовать надёжные пароли. Компания по кибербезопасности Hive Systems ежегодно составляет таблицу времени, нужного на взлом паролей разной сложности.
Предполагается, что указанные в таблице данные актуальны, если взлом осуществляют методом перебора символов. Атака по словарю будет происходить значительно быстрее, но она не сработает, если пароля в словаре нет.
Помимо сложных паролей защитить себя от брутфорса можно следующими способами:
- Использовать разные пароли для разных сервисов. Единожды взломанный пароль перестаёт быть безопасным, каким бы сложным он ни был. Чтобы не забывать, можно использовать менеджер паролей в браузере.
- Регулярно менять пароли. Вы не можете знать, в какой момент ваш пароль мог быть скомпрометирован.
- Использовать двухфакторную аутентификацию. Тогда для входа в аккаунт одного пароля будет недостаточно — понадобится дополнительное подтверждение личности, например, с помощью SMS или биометрии.
Владельцы сервисов заинтересованы в безопасности пользователей, да и своих аккаунтов с правами администраторов тоже. Вот какие меры защиты от брутфорс-атак они внедряют:
- Настраивают требования к сложности паролей. Например, чтобы он обязательно содержал числа, буквы в разных регистрах и спецсимволы — и был не слишком коротким.
- Устанавливают задержку во времени при попытке входа в систему. Например, нельзя пытаться войти в аккаунт чаще одного раза в секунду. Человек такое ограничение даже не заметит, а вот брутфорсить будет гораздо труднее.
- Ограничивают число попыток входа в систему с одного IP-адреса. Если ограничение превышено, пользователя могут попросить пройти капчу или вовсе блокируют дальнейшие попытки войти.
- Используют соль в хешах своих паролей. Даже если базу данных украдут, взломать «посоленные» хеши будет гораздо труднее.
- Добавляют двухфакторную аутентификацию.
Резюмируем
Брутфорс-атака — это вид кибератаки, при которой хакер перебирает разные комбинации данных, пока не найдёт нужную. Таким образом взламывают учётные записи и криптографические протоколы.
С помощью специальных программ хакеры могут перебирать миллиарды комбинаций в секунду, поэтому для защиты от брутфорса нужно выставлять сильные пароли, не использовать их несколько раз и регулярно менять.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!