Сегодня мы поговорим о том, как технически происходит взлом любых паролей.
Итак, пароль не сохраняется в виде обычного текста. Большинство сайтов используют алгоритм хеширования для шифрования и управления паролями.
Обычный текст: 12345
MD5 hash: 827ccb0eea8a706c4c34a16891f84e7b
Существует огромное количество алгоритмов хеширования, включая sha1, md5, md6, sha256, tiger и так далее.
В качестве примера возьмем Facebook. Для того, чтобы зайти в свой аккаунт на Facebook, нужно ввести свою электронную почту и пароль, после чего «войти». При создании нового аккаунта в Facebook нужно заполнить анкету с вашим именем, адресом электронной почты, датой рождения и полом. Также в этой анкете Facebook попросит вас придумать пароль.
После того, как вы нажали «зарегистрироваться», ваши данные уходят в серверную базу данных Facebook, в которой ваше имя, пол, адрес электронной почты или номер телефона сохраняются в первоначальном виде.
А как же пароль? Как я уже говорил, в базе данных сайта пароль никогда не хранится в виде открытого текста. Ваш пароль представляет собой исходные данные для алгоритма хеширования, на выходе которого мы получаем пароль в зашифрованном виде.
Зашифрованный пароль может показаться набором случайных букв и цифр, но это не так. Хеш пароля хранится в базе данных Facebook. Это означает, что введенный вами пароль будет хранится в базе данных не в открытой, а в зашифрованной форме. В базе данных хранится именно хеш пароля.
Итак, предположим, что в Facebook произошла утечка данных и хакеры получили доступ к данным о пользователях, включая имя, возраст, пол, электронную почту и пароль.
Но не смотря на то, что хакеры будут обладать всей этой информацией, они не смогут зайти в аккаунты пользователей, так как полученным ими пароль зашифрован. Если хакер попробует зайти в аккаунт пользователя с помощью хеша пароля, доступ в аккаунт открыт не будет. Для доступа необходима ввести пароль в форме текста. Итак, что будет делать хакер теперь?
Логичнее всего перевести хеш назад в текстовый формат.1 из 2
Но это практически невозможно, так как хеширование является односторонней функцией, а текстовый пароль из хеша получить нельзя. Именно так работают алгоритмы хеширования. Что теперь?
И тут на первое место выходит сложность пароля. Если вы используете простой пароль, например, test123456, хакер сможет без проблем узнать ваш пароль из хеша. Существуют так называемые «Радужные таблицы», в которых содержатся хеши самых популярных паролей и их текстовая форма.
Хакеру останется только запустить поиск пароля по хешу. Если в Радужной таблице есть этот хеш, хакер получит текстовую форму пароля, а пароль будет моментально взломан. Но напомню: в Радужных таблицах содержатся только самые распространенные пароли. Изучите сайт crackstation.net.
Но что если ваш пароль уникален?
В этом случае Радужные таблицы вам не пригодятся. Тут на помощь хакеру приходит метод так называемого брутфорса. Это перебор по словарю и метод полного перебора всех возможных комбинаций.
В методе брутфорса используется, грубо говоря, список слов, который представляет собой текстовый документ с огромным количеством паролей. Хакер пишет код, сравнивающий хеш полученного в результате атаки пароля с хешем каждого пароля в файле. Если хеши совпали, то взлом пароля прошел успешно, а хакер расшифровал пароль.
Эта атака может быть и целенаправленной. То есть хакер может составить собственный список слов для конкретного человека, если хакер что-то знает о владельце аккаунта, а владелец аккаунта, в свою очередь, опирался на эти данные при создании своего пароля.
Успех данного метода зависит напрямую от качества применяемого списка слов.
В методе полного перебора хешируются все возможные комбинации символов, букв и цифр, а затем хакер сравнивает получившиеся хеши с первоначальным хешем. Иными словами, вы берете список всех возможных паролей, хешируете его, и проверяете хеши на соответствие.
На взлом сложного пароля с помощью этого метода может уйти целая вечность. Однако, если у вас достаточно мощный компьютер, с помощью этого метода можно взломать простой пароль достаточно легко.
Специалисты по вопросам безопасности предложили метод Salting (дословно – «соление» или соль), который усложняет процесс взлома пароля хакерами. Согласно этому методу, до начала хеширования в определенных местах незашифрованного пароля вставляется определенный набор символов. В каждой компании свой соль-модификатор, а сам алгоритм не подлежит обнародованию.
Предположим, что Facebook вставляет данный набор символов f&2p в начале, после третьего знака и в конце незашифрованного пароля.
После добавления соль-модификатора происходит хеширование пароля.
В результате, использование соль-модификатора делает Радужные таблицы бесполезными, даже в случае со слабым и распространенным паролем.
Хеш пароля с соль-модификатором не соответствует хешу исходного пароля. Поэтому метод брутфорса нельзя назвать оптимальным для взлома пароля с соль-модификатором, если, разумеется, хакер не знает алгоритм этой соли, применяемой компанией.
Поэтому, народ, составляйте сложные пароли, не забывайте про лайк если понравилась статья и мы увидимся с вами уже очень скоро, всем удачи
1 коммент