Еще один пользователь Steam получил бан на 20 лет за обнаружение уязвимости сервиса

Еще один пользователь Steam получил бан на 20 лет за обнаружение уязвимости сервиса

Всем доброго времени суток. Месяц назад я получил блокировку сообщества (aka запрет всего) за исследование (не эксплуатацию!) уязвимости, которое было почти за год до этого. На фоне обсуждения ситуации с Kaby мне захотелось поделиться и своей историей.

Предыстория

Около года назад один хороший друг сообщил мне, что нашел в предметах мастерской XSS уязвимость (прим. XSS уязвимость - это уязвимость, позволяющая внедрить ваш собственный клиентский JS код в страницу, и как следствие выполнить любое действие или порядок действий от имени пользователя, открывшего уязвимую страницу. Будь то смена никнейма или покупка предмета на торговой площадке). Исследование безопасности - одно из моих любимых занятий, поэтому я сразу же пошел пытаться обнаружить где именно она была. Спустя несколько минут я нашел проблемное место и отчитался другу. Он попросил помочь ее раскрутить (достать дополнительную информацию об особенностях и т.д., обычно представителями команд разработчиков подобное поощряется).

У Steam, за что ему отдельный плюс, стоит запрет на контент с внешних доменов, поэтому загрузить скрипт со своего сервера не представлялось возможным. Отсюда родилась необходимость в поиске обхода лимита символов в оригинальном поле. После решения этой проблемы я проверил взаимодействие с самим Steam (сделал простой скрипт, оставлявший в моем профиле +rep), проверил его на самом себе, после чего удалил все предметы мастерской, в которых проходило тестирование. Стоит отметить, что и до этого они все были скрыты, но я все же предпочел их полностью удалить.

Всю информацию я отправил другу (он нашел проблемное место первым, а значит репортить - его привилегия). Спустя несколько дней я спросил его, зарепортил ли он это. Он ответил что нет, потому что у стима нет адекватной Bug Bounty программы и отсутствуют нормальные каналы для репорта уязвимостей (поддержка не в счет, многими уже проверена ее некомпетентность в том числе и в этом вопросе). Я предложил ему написать на erics@valvesoftware.com, так как у меня самого прежде, хоть и с переменным успехом, был опыт в получении фидбека и фиксах некоторый уязвимостей. Он в итоге, как и я, об этом кейсе просто забыл.

Последствия. Развитие истории спустя год.

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

Разъяснение в поддержке классически-бесполезное. На вопрос о том, в чем собственно было нарушение (про свое предположение о блокировке за поиск уязвимости я им не сообщал), мне ответили, что не могут этого сказать по каким-то внутренним причинам. На уточняющий вопрос "а пункт правил хотя-бы какой?" мне ответили, что сообщили все что нужно (будто до обращения в поддержку я не знал что забанен за "какое то нарушение") и закрыли вопрос.

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

Затем я написал на почту разработчикам, пояснив ситуацию. (Чтобы наверняка, отправил на все известные мне адреса, включая gaben и security (к слову, первый, в отличие от второго, иногда даже отвечает)). Из за слова "ban" в заголовке его вполне ожидаемо никто не читал. Пришлось пойти на хитрость и выдать письмо за репорт той самой уязвимости, где в определенном моменте я уточняю что за исследование этой самой уязвимости, выполненное год назад, я получил блокировку сейчас. Уловка сработала, и два разработчика прочитали письмо, один из них даже ответил.

«Привет, мы не смогли найти ваш репорт, и JS код, который вы встроили в предмет мастерской, был одновременно (разрушительным?) и вредоносным, поведение, не очень похожее на поведение исследователя безопасности. Мы не уберем блокировку.»
«Привет, мы не смогли найти ваш репорт, и JS код, который вы встроили в предмет мастерской, был одновременно (разрушительным?) и вредоносным, поведение, не очень похожее на поведение исследователя безопасности. Мы не уберем блокировку.»

Скорее всего под вредоносным JS кодом Альфред упоминает скрипт, добавляющий мне в профиль +rep (причина его существования описана выше). Спустя пару минут размышлений я вспомнил, что за несколько дней до получения блокировки, мне в Steam приходило уведомление "+1 комментарий в вашем профиле", причем самого комментария не было. Просто так мне давно никто не писал, поэтому я предположил, что кто-то из разработчиков или модераторов сообщества случайно наткнулся на удаленный(!) предмет мастерской (а они могут их смотреть), и у него выполнился тот скрипт.

Я описал возможную причину в ответном письме, также указал, что если бы моей целью действительно была бы эксплуатация уязвимости, я бы просто сделал скрипт на покупку моих предметов с торговой площадки по завышенным ценам, и делал бы это массово. Но, к сожалению, уже второй день никто не отвечает. (И, вероятнее всего, никто моего ответа и не читал.)

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

И что дальше?

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

Во вторых, стоит напомнить представителям Steam, что даже у PornHub и Imgur есть Bug Bounty программы, и платят White-Hat исследователям они деньгами (кто-то серьёзными, кто-то символическими), а не перманентными банами. С таким подходом, как у Steam, каждая мелочь из символических 100$ превращается в огромный инфоповод. Порой даже каждый третий узнает об уязвимости, и на некоторое время платформа становится неюзабельной. Что забавно, в таких ситуациях никого не блокируют (не ко всем подряд же применять санкции). Вспомните смену пароля любому пользователю или последние три массовых дефейса разделов сайта в результате использования XSS всякими школьниками (прим. Дефейс - изменение дизайна и содержания сайта (проигрывание +36 dB Димона) ради лулзов или с целью рекламы, чаще всего делается через XSS. Это к слову о том, что XSS почти никогда не получается использовать незаметно. Стоит кому-то пронюхать уязвимое поле, и тут же начинается повсеместная эксплуатация уязвимости в развлекательных целях).

Ну и в третьих, мне дорог мой аккаунт. Я считаю данную блокировку не очень обоснованной. Если вам интересна развязка истории - /id/umfc

Спасибо за прочтение и уделенное внимание.

5555
55 комментариев

Исходя из этого, несколько правил юным исследователям:
1) Не ищи уязвимости в сервисе под основной учёткой
2) Если нет нормального багбаунти и после репорта ничего не исправлено в течении месяца - бери инициативу в свои руки и привлеки внимание к этой проблеме публично (и как можно более анонимно).

24
Ответить

3) Не имей никаких дел со Стимом. Здоровее будешь.

9
Ответить

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

То есть вы использовали уязвимость, тем самым нарушив правила сообщества, для того что бы протестировать и зарепортить эту же уязвимость. Но после теста вы решили её не репортить, всё верно? А теперь вам прилетел бан за нарушение правил сообщества, потому что вы ПОПРОСТУ ИХ НАРУШИЛИ и вас это возмутило??? Wait WUT?
Это как минимум - смешно, как максимум - заслуживает премию дарвина.

18
Ответить

Придется в очередной раз пояснить, чем различается ИССЛЕДОВАНИЕ и ИСПОЛЬЗОВАНИЕ (эксплуатация) XSS уязвимости.

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

Эксплуатация: создаются публичные предметы мастерской. В них инжектится скрипт заведомо опасного характера либо какой нибудь дефейс и проигрывание веселой музычки, ну и как правило скрипт самораспространения, заставляющий пользователя делиться этим предметом с друзьями. Уже спустя менее чем час на это натыкается кто нибудь, кто умеет нажимать ПКМ и смотреть исходный код страницы, после чего уязвимость становится общеизвестной и каждый третий начинает ее абузить с целью просто попиариться. Если бы такой сценарий действительно произошел, ты бы уже знал обо мне, а я бы был забанен еще год назад. Как вариант вредоносного скрипта (я уже упоминал), скрипт, который скупает от лица пользователя твои предметы мастерской по завышенным ценам. Я не black hat, поэтому меня такие развлечения не очень интересуют.

Попробуй найди правило сообщества, под которое попадает мой случай. Правила "Недонесение об уязвимости" там нету (впрочем, это и не мое решение).
Не исключено, что меня приняли за другого человека, который мог найти и использовать уязвимость позднее, может что-то из того, что я написал в статье. С таким фидбеком, как у вольво, это навсегда останется загадкой.

5
Ответить
Комментарий удалён модератором

Специально выделил ключевые слова жирным. Уязвимость НЕ БЫЛА использована, в течение года никто не вспоминал о ее существовании, пока предположительно кто-то из администраторского состава не открыл мой скрытый(!) удаленный(!!) воркшоп предмет. Возможно ты не знаком с тем, как обычно реагируют на такие вещи разработчики. Во ВКонтакте, например, связываются с тобой и просят пояснить за прикол, если ничего критического не произошло, то могут даже попросить отписать на hackerone (чтобы выплатить потом награду). В стиме же молча банят, а потом морозятся не называя даже банально причины. Я описал выше к чему приводит такая политика.

10
Ответить

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

3
Ответить