Абсолютное большинство современных интернет-сервисов хранят не сами пароли пользователей, а рассчитанные для них хэши. Во время хэширования исходный пароль произвольной длины превращается в другую последовательность символов определенной длины. Особенность используемых для этого хеш-функций заключается в том, что провести обратную операцию, то есть восстановить пароль из хэша, практически невозможно.
Кроме того, хэш-функции крайне редко сталкиваются с коллизиями — то есть одинаковым хэшем для разных входных данных. Эти свойства делают хэш-функции удобным инструментом, позволяющим проверить пароль пользователя, но не хранить его. Подробнее о применении хэширования для безопасного хранения паролей можно прочитать здесь. При корректной реализации обработки пароля в случае взлома злоумышленники не получат пароли.
Как выяснилось теперь, в Facebook обработка пароля при его вводе была реализована некорректно и сотни миллионов пользователей потенциально были подвержены угрозе. В своем заявлении компания рассказала, что об этой проблеме ее специалистам стало известно в январе во время проверки безопасности сервиса.
Разработчики выяснили, что пароли сотен миллионов пользователей Facebook Lite, десятков миллионов пользователей других сервисов Facebook и десятков тысяч пользователей Instagram хранились на серверах компании в читаемом виде, а не в виде хэшей. Кроме того, после обнаружения этой уязвимости специалисты также обнаружили проблемы в хранении другой информации, в том числе токенов доступа.
Компания отмечает, что все проблемы были исправлены и подверженные им пользователи получат уведомления, но она не будет принуждать их сменить пароль. Facebook объяснила это тем, что ее расследование не показало, что кто-либо вне компании получил доступ к паролям или кто-либо из сотрудников использовал данные в своих целях.
Блог Krebs on Security сообщил со ссылкой на источники в компании, что около 20 тысяч сотрудников Facebook потенциально имели доступ к паролям в открытом виде. Кроме того, лог-файлы показали, что около двух тысяч из них действительно получали эту информацию, однако неизвестно, каким именно образом они использовали ее. По данным источников, некоторые пароли хранились в открытом виде с 2012 года.
Ранее подобные масштабные проблемы с безопасностью обнаруживали и в других крупных сервисах, в том числе в социальных сетях. К примеру, в прошлом году Twitter объявил, что так же обнаружил в своей базе данных пароли в открытом виде и призвал пользователей сменить пароль.
Григорий Копиев