Старший брат следит за тобой. Как защитить себя в цифровом мире. Михаил Райтман
Чтение книги онлайн.

Читать онлайн книгу Старший брат следит за тобой. Как защитить себя в цифровом мире - Михаил Райтман страница 11

СКАЧАТЬ базу данных, злоумышленник получает доступ к хеш-значениям паролей, а не к самим паролям и, соответственно, в большинстве случаев не сможет залогиниться от имени какого-либо пользователя (разумеется, он может перехватить данные при передаче на сервер пароля конкретного пользователя, но этот случай не связан с безопасностью всех остальных посетителей сайта и будет рассмотрен в соответствующих главах этой книги). Для успешной аутентификации хакеру нужно извлечь из хеш-значений исходные пароли, используя вспомогательные средства (например, таблицы, в которых все распространенные пароли сопоставлены с их хеш-значениями). Это легко удается сделать при использовании не только простых и распространенных паролей, но также сложных и длинных. Взломав один хеш, злоумышленник получает доступ ко всем аккаунтам, где используется тот же пароль.

      Допустим, когда-то давно на сайте http://site.ru использовалась БД, в которой хранились открытые пароли и их хеши, и она утекла к хакерам. Спустя какое-то время была украдена база данных другого сайта, скажем http://site2.ru, в которой были записаны только хеши паролей (алгоритм хеширования, естественно, тот же). Хакер сканирует базу данных http://site2.ru в поисках хешей, совпадающих с найденными в базе данных http://site.ru. Обнаружив совпадения, хакер может раскрыть соответствующие пароли в базе данных http://site2.ru, несмотря на то что там хранились только хеши (и сложность пароля здесь не играет роли).

      Также хакер может формировать собственную базу хешей, даже если их нет ни в одной БД. При этом он обычно учитывает специфику взламываемого сайта. Если формат пароля не требует спецзнаков, значит, пароль состоит только из букв и цифр. Также учитывается регион, где используется сайт, его тематика (например, если пользователи сайта – пенсионеры, то они могут использовать как пароли имена внуков) и т. д. Так хакер может вычислить хеши для наиболее популярных парольных фраз, а затем сравнить со своей базой хешей украденную с сайта БД с хешами реальных пользователей.

      Взломав один хеш, злоумышленник получает доступ ко всем аккаунтам, где используется тот же пароль.

      Поэтому для дополнительной защиты от подбора паролей их хеш-значения «солят», т. е. к значению хеша добавляют некое единое для всех пользователей системы (сайта) или уникальное для каждого пользователя значение, называемое солью[30], и получают второе хеш-значение. Соль снижает вероятность подбора пароля злоумышленником, так как «радужные таблицы», о которых речь пойдет чуть ниже, не позволят сравнить хеш-значения и определить (открыть) пароли. Если соль одинакова для всех пользователей, то и у разных пользователей с одинаковыми паролями будут одинаковые вторые хеш-значения, а если уникальна, то вторые хеш-значения всех пользователей, даже с одинаковыми паролями, будут различны.

      Например, если пользователь А и пользователь Б используют пароль «Яблоко», то в первом случае их парольный хеш будет одинаковым (скажем, 422a41… без соли и a5ed85… с солью у обоих пользователей[31]), а во втором – различным (скажем, 422a41… без соли у обоих пользователей и a5ed85… у одного СКАЧАТЬ



<p>30</p>

Соль (также модификатор входа хеш-функции) – строка данных, которая передается хеш-функции вместе с входным массивом данных (прообразом) для вычисления хеша (образа). «Соль» – дословный перевод английского термина «salt».

<p>31</p>

Пример, нереальные значения.