Зачем хэшировать пароли, когда база данных уже взломана? - PullRequest
0 голосов
/ 25 декабря 2018

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

Изобретены пароли, чтобы некоторые пользователи не видели некоторые личные данные, которыепринадлежит кому-то другому.Например, приложения чата используют пароли, чтобы только пользователи, прошедшие проверку подлинности, могли видеть и отправлять сообщения.

Скажем, одно из таких приложений хранит пароли в виде простого текста.Если хакер получит доступ к базе данных, он сможет как просмотреть данные, так и изменить их.

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

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

В чем тогда смысл хеширования?

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Люди, как правило, используют пароли повторно.Представьте, что кто-то взломал moddedandroid.ru, чтобы кто-то мог войти в вашу учетную запись stackoverflow.

0 голосов
/ 30 декабря 2018

Существует много способов утечки паролей, и гораздо проще получить доступ для чтения к базе данных, чем доступ для записи.

  1. С помощью SQL-инъекции злоумышленник может получить доступ для чтения к базе данных,поэтому он может видеть хэши, но не может использовать их для входа в систему.
  2. На выброшенных резервных копиях и удаленных серверах часто можно найти конфиденциальные данные, опять же, это только для чтения, нельзя использовать полученный пароль длявыдавать себя за пользователя.
  3. Пароли часто используются повторно, изучение простого текстового пароля на сайте A может упростить вход в систему на сайте B. И снова этому мешает хэш.
...