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

Вкратце о хешировании

Хеш-сумма – это значение пароля, зашифрованное по специальному криптографическому алгоритму (существует много разных алгоритмов различной степени криптостойкости – MD5, SHA-1, SHA-3 и др.). Постоянно разрабатываются новые алгоритмы с целью повышения их стойкости. В качестве примера рассмотрим принцип работы алгоритма SHA-1 (в настоящее время считается устаревшим и постепенно выходит из обращения). Если зашифровать по алгоритму SHA-1 слово «взлом», получится хеш-значение 94d6ad7efefe1b647da47625e75712f87405c3c1 (и это значение всегда будет соответствовать слову «взлом»). Не важно, какой длины данные шифруются, будь то слово из 5 букв, как в примере, или 100 специальных символов: в итоге вы получите хеш-значение фиксированной длины из 40 случайных символов (у других алгоритмов длина строки может быть иной). Даже слово «Взлом», написанное с прописной буквы, будет зашифровано в абсолютно другой хеш (9281eea3837f94218b04024d23c9d20a71811b4a). Вы можете поэкспериментировать с хешированием паролей на сайте https://www.hashemall.com и с их расшифровкой на сайте https://crackstation.net. На большинстве сайтов, в программах и системах пароли в открытом виде, как правило, не хранятся, а используются их хеш-значения. Процесс регистрации/авторизации на защищенном сайте происходит по описанному ниже сценарию.

При регистрации:

пользователь пересылает логин и пароль на сайт, где

к паролю присоединяется соль (термин поясняется ниже), сгенерированная с помощью криптографически стойкого генератора псевдослучайных чисел,

а затем, зная пароль (или его первый хеш) и соль, с помощью стандартной криптографической хеш-функции, например SHA256, вычисляют хеш-значение.

Соль и хеш-значение сохраняются в базе данных пользователей.

При аутентификации/авторизации:

пользователь пересылает логин и пароль (в открытом виде по защищенному каналу/протоколу, в зашифрованном виде или в виде хеш-значения) на сайт, где

соль и хеш-значение пользователя извлекаются из базы данных,

соль добавляется к введенному паролю и с помощью той же самой функции вычисляется хеш-значение.

Хеш-значение введенного пароля сравнивается с хеш-значением, сохраненном в базе данных. Если они совпадают – пароль верен, тогда пользователь аутентифицируется и допускается в систему. В противном случае пользователю сообщают о неправильном пароле.

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

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

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

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

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

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

Кстати, если пароль хешируется на стороне клиента, т. е. на компьютере (устройстве) пользователя, это хеш-значение становится, по сути, самим паролем, так как именно хеш передается пользователем на сервер для аутентификации. Злоумышленник может перехватить хеш и зайти на сервер под именем пользователя, даже не зная его пароля. Поэтому в таких случаях необходимы дополнительные меры защиты, например использование протокола HTTPS (TLS)[32].

Еще можно упомянуть о коллизиях – случаях, когда криптографический алгоритм создает одинаковые хеш-значения для разных фрагментов данных. Этим недостатком грешит большинство хеш-функций, одни меньше (SHA-256, SHA-512, whirlpool и др.), другие больше (например, MD5 или SHA-1). Злоумышленники могут использовать и эту особенность, но несколько иначе. Имея один набор данных, они могут подобрать другой (к примеру, файл) с таким же хешем, как у первого. Вектор атаки следующий: злоумышленник подменяет корректный файл своим экземпляром с закладкой, вредоносным макросом или загрузчиком трояна. И этот зловредный файл будет иметь такой же хеш или цифровую подпись[33].

Перейти на страницу:

Похожие книги

Где твоя волшебная кнопка? Как развивать эмоциональный интеллект
Где твоя волшебная кнопка? Как развивать эмоциональный интеллект

Понимание эмоций и управление эмоциями играют ведущую роль в нашей жизни и успешности. А влияние на эмоции коллег и партнеров определяет достижения в бизнесе. Эмоциональный интеллект начинает занимать лидирующее положение в ряду навыков, которыми должен обладать и которые развивает любой человек, стремящийся получить высокие результаты. В книге используется множество приемов, упражнений и заданий, применив которые вы сможете направить силу эмоций на достижение успеха в своих делах.Из книги вы узнаете:– почему интерес и страх – главные эмоции в жизни человека;– что в рекламе видят женщины, а что мужчины;– на какие эмоции опираются успешные люди;– как эмоции направляют финансовые потоки.Авторы книги утверждают, что в современном мире успешный человек должен уметь развивать и поддерживать свой эмоциональный интеллект. Книга предназначена для бизнес-тренеров, студентов старших курсов, а также заинтересованных лиц.

Елена Анатольевна Хлевная , Л. Южанинова

Психология и психотерапия / Прочая компьютерная литература / Книги по IT
Информационные технологии: история и современность
Информационные технологии: история и современность

Актуальность темы обусловлена тем, что в современном мире информация играет ведущую роль. Причем не только сама информация, но и способы ее передачи и интерпретации. Одним из параметров, определяющих мощь современного государства, являются информационные ресурсы. В свою очередь, оперативно использовать информационные ресурсы позволяют информационные технологии. Информационные технологии проникли во все сферы жизнедеятельности человека: производственную, культурную, досуговую, образовательную и пр. То, что еще 20 лет назад являлось предметом из области научной фантастики, сегодня стало неотъемлемым атрибутом действительности; передовые технологии, которые вчера еще были недоступны простым обывателям, через несколько лет становятся на службу всего общества. Развитие информационных технологий неизбежно и закономерно, оно идет параллельно развитию самой человеческой цивилизации и является неотъемлемой ее частью. Понимание того, каким образом произошло столь стремительное развитие информационных технологий, их активное внедрение в жизнь человека, определение дальнейших тенденций и путей их развития, является важным условием планомерного и рационального, повсеместного их распространения для того, чтобы облегчить жизнь человека и сделать его существование более комфортным.

Михаил Владимирович Горунович

Прочая научная литература / Рефераты / Интернет / ОС и Сети / Прочая компьютерная литература / Книги по IT
Главный рубильник. Расцвет и гибель информационных империй от радио до интернета
Главный рубильник. Расцвет и гибель информационных империй от радио до интернета

Превратится ли всемирная паутина в «традиционное СМИ», содержание которого строго контролируется в интересах максимизации прибыли? В чьих руках сейчас находится Рубильник интернет-истории и, по сути, — развития общества? Исследуя развитие телефонии, радио, кино и телевидения, автор показывает, как эти индустрии прошли путь от хобби — к крупному бизнесу, от открытости и гибкости — к закрытой и жесткой системе. Какое будущее ожидает всемирную Сеть?Пролить свет на прошлое, чтобы предвидеть будущее — главная задача этой книги.Эта книга для тех, кто считает интернет не просто средством общения, но и инструментом познания мира, способом самовыражения. Для думающих и неравнодушных интернет-пользователей. Для студентов и преподавателей, особенно — экономических, телекоммуникационных и гуманитарных специальностей.

Тим Ву

Карьера, кадры / Интернет / Прочая компьютерная литература / О бизнесе популярно / Финансы и бизнес / Книги по IT