1. Пролог
В последнее время в СМИ всё чаще стали появляться пёстрые заголовки о различных разоблачениях: начиная от выложенных в открытый доступ фотографий знаменитостей, заканчивая вскрытыми личными почтовыми ящиками крупных деятелей. Чего уж там говорить про повседневные будни в какой-нибудь рядовой компании, когда сотрудник использует один и тот же пароль для доступа к абсолютно всем ресурсам.
Но сегодня речь пойдёт о менее ярком событии для общественности, но при этом намного более резонансном для тех, кто волею судеб работал и работает на fl.ru.
2. Критичная уязвимость в информационной безопасности fl.ru
Сразу к делу. Если вы ведёте приватную переписку с собеседником и думаете, что никто кроме вас двоих не имеет доступ к этой переписке, то вы будете правы (по крайней мере обратного ещё не доказано). Но как только вы приложите к переписке файл с текстовым содержанием — будьте уверены, что он попадёт в индекс поисковой системы Яндекс.
Может быть, сказанное выше совсем не баг, а фича? Может быть, я просто мало что понимаю в открытых системах?
Решил провести анализ возможных узких мест.
Для этого воспользовался «безопасной сделкой», а если конкретно — тремя документами, которые генерируются в результате заключения этой сделки:
- Соглашение
- Договор
- Техническое задание
Никто не будет со мной спорить, если я скажу, что все 3 документа являются строго конфиденциальными. Особенно «техническое задание», поскольку в теле документа указана персональная информация участников сделки, а также стоимость работ.
Давайте попытаемся узнать, можно ли с помощью Яндекса получить доступ к техническим заданиям безопасной сделки. Берём из этого документа ключевые слова: "Приложение No 1 к ОФЕРТЕ НА ЗАКЛЮЧЕНИЕ ДОГОВОРА" и добавляем операнд, локализующий поиск исключительно в рамках сайта fl.ru. В итоге, поисковый запрос получается следующего содержания: «Приложение No 1 к ОФЕРТЕ НА ЗАКЛЮЧЕНИЕ ДОГОВОРА site:fl.ru». Запускаем, смотрим, наслаждаемся.
При желании можно написать краулер, который скачивает техзадания всех безопасных сделок и подсчитывает общую сумму сделок. Я думаю, это только начало использования выявленной «дыры».
3. Попытка общения с техподдержкой
Отдельным пунктом стоит отметить мои рьяные попытки донести весь ужас ситуации до техподдержки.
Мало того, что сотрудник службы поддержки поленился самостоятельно воспроизвести ошибку, так он ещё настойчиво убеждал меня в том, во что сам, по всей видимости, не очень охотно верил.
4. Эпилог
Надеюсь, данный факт послужит хорошим уроком для сотрудников всех уровней fl.ru: начиная от тестировщиков и техподдержки, заканчивая стейкхолдерами. Когда ваш проект приобретает значительные масштабы, то самое время позаботиться об информационной безопасности.
Я же во всей этой истории почувствовал себя как главный герой в фильме «Дурак», которому «больше всех надо было» и которому никто не верил.
Всем удачи.
Автор: ittz