Часть 1: Технические подробности
Часть 2: Рынок материалов
Часть 3: Рынок Т2
Часть 4: Преступление и наказание
Часть 4. Преступление и наказание.
Преступление и наказание
CCP Grimmi
Как ясно сказано в наших правилах, использование уязвимостей строго запрещено. В политиках бана приостановки действия игровых аккаунтов (Suspension and Ban Policy) явно упомянуты "дублирующие" уязвимости. За их использование все непосредственно вовлеченные игроки банятся, а прочие, косвенно выигравшие от использования уязвимости, наказываются. Мера наказания может варьироваться от "конфискации" игровых объектов вплоть до бана аккаунта.
"Дублирующая" уязвимость, попросту говоря - баг в системе, позволяющий создавать предметы или иски из ничего. POS-exploit относится к этой категории, поэтому мы предприняли соответствующие действия.
В начале декабря на момент обнаружения уязвимости было 232 реактора, работающих в этом режиме. Они были разбросаны по 178 ПОСам, принадлежащим семи корпорациям. Масштаб производства сильно различался - например, одна из корпораций владела 81 ректорами, а другая - всего тремя.
Первым действием с нашей стороны было полное уничтожение всех таких ПОСов. Фактически, мы прилетели к каждому из них и взорвали всё в зоне досягаемости. Это был потрясающей фейерверк - увы, почти без свидетелей, за исключением ГМ-ов в команде "подрывников".
Пользователи, непосредственно использовавшие уязвимость, были забанены навсегда. "Непосредственно использовавшие" означает, что персонаж имел должность директора в корпорации или был вовлечё в обслуживание таких ПОСов. Другие игроки, которые были уличены в перевозках произведённых материалов и отмывании исков, в свою очередь были забанены. Кроме этого, также получили бан некоторые игроки, непосредственно получавшие прибыль от уязвимости. Общее количество игроков, получивших бан в связи с POS-exploit, составило 134 человека.
Корпорации преследовали различные цели, используюя баг. Две из них, в том числе лидер по объемам "производства", были уличены в продаже игровых ресурсов за реальные деньги различным игрокам. Еще две вложили всю прибыль в расширение "производства", и на момент выявления уязвимости еще не получили прямой прибыли. Оставшиеся три использовали баг для того, чтобы получить преимущества для вовлеченных игроков, передавая товары и иски их альтам.
Мы удалили из игры большое количество исков и ценных объектов, в том числе много капшипов (включая несколько титанов и мазеров) и более 30 Т2-БПО.
Как мы умудрились этого не заметить?
На текущий момент, мы нашли три петиции, касающиеся бага с реакторами в нашей системе. Две из них были отправлены в конце октября 2005 и одна в конце октября 2007. Во всех случаях проблему посчитали независимым багом, относящимся только к игрокам, пославшим петицию, и проделанная работа была направлена только на исправление конкретного ПОСа.
В более позднем случае, пользователя, написавшего петицию, попросили создать багрепорт; однако после того, как тестировщики не смогли воспроизвести проблему, он был закрыт. В то время с нашей стороны не было процедур, позволяющих проверить, что багрепорт включает в себя шаги, необходимые для повторения проблемы. Сейчас наши тестировщики будут связываться с игроком, пославшим багрепорт, и запрашивать информацию о необходимых шагах в том случае, если они отсутствовали.
Честно говоря, надо отметить, что в то время документация и журналы, связанные с ПОСами, оставляли желать лучшего, так что обработка таких заявок представляла собой очень сложную задачу. Те крохи информации, о том, как ПОСы должны работать, и о соответствующих кратких журналах, доступные персоналу и игрокам, были недостаточны для успешного решения этих проблем. Стандартные решением было перепаковать структуры и надеяться, что это решит проблему.
Последняя петиция была направлена в правильную категорию уязвимостей, но была просто решена как проблема конкретного игрока. Из-за этого она прошла незамеченной и не привела к запуску расследования.
В отношении всех членов CCP, вовлеченных в обработку этих петиций, было проведено расследование нашей службой безопасности (Internal Affairs). Расследование не показало их связи с использованием уязвимости.
Служба безопасности также проверила весь прочий персонал и не обнаружила связей с корпорациями или персонажами, использовавшими уязвимость. Аналогичная проверка была проведена в отношении членов CSM.
Сможем ли мы предотвратить повторение этого?
Наша система выявления проблем дала серьезный сбой, и это ясно дало нам понять, что она нуждается в пересмотре. Процесс получения и обработки петиций об уязвимостях в настоящее время перерабатывается, точно так же, как и механизмы сообщения о багах и процедуры их обработки.
Отделы тестирования и технической поддержки совместно работают над этим, и новая система будет опубликована сразу, как только она будет готова. В некоторых случаях, необходимые изменения уже были реализованы.
Активное наблюдение за отдельными товарами на рынке теперь тоже будет включено в нашу защиту от уязвимостей. Этим будет заниматься наш отдел исследований и статистики. Это означает, что вместо наблюдения за общими тенденциями из простого любопытства, мы займёмся автоматизированным выявлением аномалий в рыночных данных.
Итак...
Безусловно, в будущем мы еще встретим не одну уязвимость. Мы приложим все усилия для того, чтобы выявить их на ранних стадиях и уменьшить их влияние на EVE с помощью новых профилактических процессов. Мы надеемся, что игроки примут наш подход к устранению уязвимостей по мере их нахождения. Процедуры и законы против читеров также будут пересматриваться на регулярной основе. Мы уже обсуждаем с CMS штрафы и другие карательные меры, которые могут быть применены к тем, кто прямо или косвенно получает выгоду от незаконной деятельности в EVE. Мы пока не пришли к окончательному решению - у вас есть шанс связаться с вашим представителем в CSM и высказать свои предложения.
~
Дополнительные данные из обсуждения блога (посты сотрудников CCP):
- 13 реакторов производили материалы для бустеров;
- проверка на наличие реакторов была проведена для нескольких старых бэкапов базы. Таким образом, проверки нельзя было избежать, просто отключив ПОСы;
- уже некоторое время весь новый код проходит через code-review.
Сообщение отредактировал Cptn Z: 11 February 2009 - 23:36