Атака на HackerOne, позволившая получить доступ к закрытым отчётам об уязвимостях

Платформа HackerOne, дающая возможность исследователям безопасности информировать разработчиков о выявлении уязвимостей и получать за это вознаграждения, получила отчёт о собственном взломе. Одному из исследователей удалось получить доступ к учётой записи аналитика по безопасности компании HackerOne, имеющего возможность просмотра закрытых материалов, в том числе со сведениями об ещё не устранённых уязвимостях. За время существования платформы через HackerOne исследователям в сумме было выплачено 23 млн долларов за выявление уязвимостей в продуктах более 100 клиентов, среди которых Twitter, Facebook, Google, Apple, Microsoft, Slack, Пентагон и ВМС США.

Примечательно, что захват учётной записи стал возможен из-за человеческого фактора. Один из исследователей отправил на рассмотрение заявку о потенциальной уязвимости в HackerOne. Аналитик HackerOne в ходе разбора заявки попытался повторить предложенный метод взлома, но проблему воспроизвести не удалось, и автору заявки был отправлен ответ с запросом дополнительных деталей. При этом аналитик не заметил, что вместе с результатами неудачной проверки по недосмотру отправил содержимое своей сессионной Cookie. В частности, в ходе диалога аналитик привёл пример выполненного утилитой curl HTTP-запроса, включающего HTTP-заголовки, из которых забыл почистить содержимое сессионной Cookie.

Исследователь заметил данную оплошность и смог получить доступ к привилегированной учётной записи на сайте hackerone.com, просто подставив замеченное значение Cookie, без необходимости прохождения применяемой в сервисе многофакторной аутентификации. Атака стала возможной так как на hackerone.com не применялась привязка сеанса к IP или браузеру пользователя. Проблемный сессионный идентификатор был удалён через два часа после публикации отчёта об утечке. За информирование о проблеме исследователю решено выплатить 20 тысяч долларов.

HackerOne инициировал аудит для анализа возможного возникновения подобных утечек Cookie в прошлом и для оценки потенциальных утечек закрытых сведений о проблемах клиентов сервиса. Аудит не выявил фактов утечек в прошлом и определил, что продемонстрировавший проблему исследователь мог получить сведения о примерно 5% из всех представленных в сервисе программ, к которым был открыт доступ аналитику, сессионный ключ которого был использован.

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

Источник: http://www.opennet.ru/opennews/art.shtml?num=51977