Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

Привет! Меня зовут Илья Белов, и я основатель компании Abistep. Мы разрабатываем игры и игровые механики для различных продуктов. В своей практике часто сталкиваемся с тем, что деньги — это лишь одна из мотиваций в работе и ее может быть недостаточно. Тогда мы вводим игровую механику и у сотрудников появляется азарт и стремление быть лучшим! В статье я описал концепт, который мы предложили для сервиса хакеров.

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

Кто стал нашим полем для экспериментов

Нашим клиентом стала платформа Standoff-365 от компании «Positive Technologies», площадка «белых хакеров», которые ищут уязвимости в системах, продуктах и приложениях. Для этого партнеры Standoff-365 формируют заказ, белые хакеры находят баги и пишут отчеты, за которые им выплачивается вознаграждение.

Платформа уже имела игровой ориентир. Когда мы приступили к работе, история была такой:

«Багхантеры» — охотники за багами, зарегистрированные пользователи платформы. «Багбаунти» — заказ, который дают багхантерам партнеры Standoff-365. За успешно сданный багбаунти багхантер получает материальное вознаграждение.

Пример одной из программ на платформе
Пример одной из программ на платформе

Standoff-365 работает с такими гигантами, как Ozon, Wildberries, VK, Одноклассники, Т-Банк. Работа эта очень ответственна, поскольку такие ресурсы уже умеют прекрасно защищаться. Найти уязвимости у них непросто, однако и баги тут стоят очень дорого, поскольку пользователей много. Для Standoff-365 работа с такими партнерами — вопрос репутации и чести.

Кроме того, Standoff-365 — представляет собой удобную площадку для общения белых хакеров, повышающая их компетентность. Белое хакерство — сложная область. Многие из тех, кто обратился в белые хакеры, еще вчера были совсем не белыми. Можно сказать, что Standoff-365 кует полезных специалистов из тех, кто мог бы вредить системам безопасности, но решил пойти по светлому пути и, наоборот, помогать строить крепкие заслоны от вредителей. Тут есть онлайн-полигон, где можно отточить свои хакерские навыки, проводятся кибербитвы для выявления сильнейших. Есть и оффлайн-тусовки, на которых белые хакеры могут пообщаться в среде единомышленников, нарастить знания и, опять же, поиграть. Например, проводятся офлайн-киберобучения, где хакеры ломают системы защиты виртуальных государств.

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

В общем, это масштабное сообщество, которое насчитывает тысячи пользователей и которое постоянно развивается.

Какие задачи перед нами стояли

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

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

Главные проблемы площадки: некачественные отчеты о багах, спам, неактивность пользователей.

Какие задачи планировалось решить геймификацией:

  • отсортировать пользователей — выделить активных и убрать в тень неактивных;

  • подчеркнуть компетентность багхантеров и их опыт;

  • снизить число невалидных отчетов, повысить качество;

  • убрать спам;

  • простимулировать багхантеров к активности на платформе;

  • привлечь новых пользователей и дать им удобный старт.

Для этого нами было создано игровое наполнение, которое позволило четко обозначить требования к багхантерам, оценить их квалификацию и работу. Ну и, конечно, простимулировать пользователей улучшать свои навыки и вести себя корректно на платформе.

Что мы сделали? Рассказываем подробно.

1. Разработали систему рейтинга

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

Система рейтинга показывает успешность багхантера. Было решено начислять баллы не только за сданные отчеты, но и поощрить различные достижения при работе с платформой, активность в сообществах и событиях Standoff-365. Для этого мы создали «систему глобального ускорения», в которой активный и эффективный багхантер может быстрее подняться в рейтинге. Такая активность будет давать бонусы к баллам, полученным за отчет. При этом, баллы можно потерять, если сдавать невалидные отчеты или долгое время не проявлять активность.

График отражает не только готовность багхантера к работе, но и его активность на платформе, в том числе в мероприятиях офлайн.
График отражает не только готовность багхантера к работе, но и его активность на платформе, в том числе в мероприятиях офлайн.
Отчеты — основной метод увеличения рейтинга. Активность на платформе сама по себе не будет повышать рейтинг. Данный подход позволяет поощрять именно работу с багбаунти и пользователь не забывает, для чего он пришел на площадку.

Остается проблема, что нередко такие отчеты невалидны, и партнеры Standoff-365 впустую тратят время и ресурсы на их проверку. Большое количество невалидных отчетов негативно влияет на клиентский опыт компаний-партнеров. Поэтому, с одной стороны, было важно ввести действенное наказание за невалидный отчет, с другой — не отпугнуть пользователей. Иногда невалидные отчеты создаются новичками и даже у опытных багхантеров бывают ситуации, когда отчет не принят.

Было решено начислять за валидный отчет баллы к рейтингу, умноженные на коэффициент выявленной угрозы.

Валидным считается отчет, который содержит полезную информацию о баге, даже если эту информацию уже прислал другой пользователь. Невалидным — отчет, который содержит ошибочную информацию.

Для маркировки важности отчета выделено 6 уровней опасности

  1. отсутствует (0,2);
  2. низкий (1);
  3. средний (2);
  4. высокий (6);
  5. критический (12);
  6. недопустимое событие (18).

Чем выше выявленный уровень уязвимости, тем больше баллов к рейтингу получает багхантер. Такое начисление позволяет простимулировать пользователей искать наиболее серьезные баги, поскольку для компаний, которые обращаются к платформе, именно они представляют угрозу.

За невалидный отчет очки рейтинга снимаются. За спам и заведомо сфабрикованные отчеты пользователи получают страйки или бан.

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

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

Глобальное ускорение позволяет быстро подняться активным и компетентным новичкам. При этом не позволяет подниматься в рейтинге багхантерам, которые, несмотря на активность, сдают невалидные отчеты.

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

Оценки качества отмечаются в лидербордах и делятся на четыре категории, которые мы выделили цветом:

Серый — 0

Красный — 5

Желтый — 6

Зеленый — 8

Чтобы цвет был зеленым, оценка должна быть не ниже 8.

Вот как это выглядит на лидерборде:

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

Такая система пенализирует недобросовестных исполнителей. В то же время, дело можно поправить, если сдавать качественные отчеты.

2. Добавили ранги

Ранги — это один из главных элементов геймификации. Если пользователи ценят свои ранги, игровая система работает эффективно. У рангов есть несколько достоинств:

Они наглядны: в профиле, в сообществах, в таблицах лидеров. К высокоранговым пользователям прислушиваются, поскольку они уже доказали свой уровень. Новичку же удобнее получать поддержку и несложные заказы, имея более низкий ранг, который он будет постепенно прокачивать.

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

Эффектные ранги являются мощным стимулом. Это своего рода цифровая одежда, которую игрок надевает на себя. В мире онлайн-игр люди тратят сотни и даже тысячи долларов, чтобы «одеться в лучшее». В Standoff-365 пользователи, как мы надеемся, тоже будут прилагать массу усилий, чтобы выделиться рангом, сдавая отчеты и участвуя на платформе.

На Standoff-365 рангов не было, был только рейтинг. Поэтому наша задача была разработать систему и назначить ранги багхантерам исходя из результатов их деятельности.

Для той работы, которую делают белые хакеры на платформе, ранг будет иметь первостепенное значение. С введением рангов партнеры Standoff-365 получают возможность делегировать наиболее сложные задачи багхантерам высокого ранга. Для сферы белого хакерства такие ранги — фактически единственный критерий, потому что исполнитель в данной услуге не может предъявить «диплом хакера», чтобы показать, что он профессионал.

Система рангов, которую мы разработали:

  1. Common User
  2. Noob Hacker
  3. Script Kiddie
  4. Curious
  5. Hacker
  6. Cyber Ninja
  7. Elite Hacker
  8. Supreme

Движение по шкале рангов достаточно затратное. Например, от первого уровня до Supreme можно подняться за 7 месяцев при самом оптимистичном сценарии: для этого надо сдавать 100% одобряемые отчеты раз в три недели с обнаруженными угрозами критического уровня. Такая трудность не позволит рангам быстро девальвироваться и сохранит топ-верхушку самых продвинутых багхантеров.

Для оформления ранга мы использовали фирменный знак Standoff-365, взяв за основу зеркальную букву F, которую достроили до контуров Ethernet-разъема. Это будет подчеркивать сетевой характер работы белых хакеров и стилистически связывает с платформой.

Полная линейка:

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

3. Проработали балансирование системы

Хотя на платформе тысячи багхантеров, немногие из них действительно продуктивны.

Чтобы выделить активных юзеров и обеспечить им «социальный лифт», требовалось сделать так, чтобы неактивные багхантеры понижались на шкале, освобождая место тем, кто действует. Для этого мы позаботились о балансировании системы.

За каждый период, условно 2 месяца, багхантер теряет % своих очков при неактивности. Чем выше ранг — тем больше потеря. При этом важно и не напугать пользователей: потеря ранга при неактивности может восприниматься как «наказание ни за что». Поэтому мы сделали так, чтобы количество потерянных очков не превышало необходимого для сохранения текущего ранга. Правда, если и в следующий период пользователь ничего не предпримет, потеря ранга все же произойдет.

Как видно из примеров, количество потерянных очков разное, в зависимости от ранга
Как видно из примеров, количество потерянных очков разное, в зависимости от ранга

4. Ввели штрафы, страйки и баны

Чтобы снизить количество невалидных отчетов и наказать прямые нарушения, мы разработали систему штрафов и страйков.

Штрафы начисляются:

  • за отправку невалидного отчета;
  • за несоблюдение NDA;
  • за нарушение правил сообщества и сайта;
  • за ущерб, нанесенный компании-партнеру Standoff-365.

Страйки получают за грубые нарушения. У каждого пользователя есть «3 жизни» на платформе Standoff-365. Если пользователь получает страйк, одна жизнь сгорает. Если сгорят все, юзер получит бан.

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

5. Сформировали таблицу лидеров

Лидерборд — таблица лидеров, предназначенная для багхантеров, которым нравится соревноваться. А еще это очень удобный инструмент для партнеров Standoff-365, который дает исчерпывающую информацию о деятельности багхантера.

Лидерборд включает:

  1. никнейм;
  2. место в лидерборде;
  3. ранг банхантера;
  4. звание;
  5. сданные отчеты;
  6. оценку отчетов.

Мы сделали три лидерборда:

  1. глобальный: доступен всем пользователям;
  2. персональный: доступный только самому юзеру;
  3. турнирный: функционирует для турниров и других мероприятий.

6. Добавили достижения

Достижения — это особые награды, состоящие из картинки, заголовка и текста, которые приходят пользователю за какие-то позитивные действия.

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

Главное поощряемое действие на Standoff-365 — это отчет. Однако на него уходит много времени, порой больше месяца. Поэтому важно, чтобы пользователи получали другие подкрепления — это поднимает мотивацию и стимулирует к дальнейшей активности.

Кроме того, с помощью моментальных поощрений можно:

  • обучать пользователя работать с платформой;
  • подсказывать верные действия;
  • побуждать возвращаться;
  • задавать общий тон профи сообщества и уровень ожидания;
  • создавать новичкам «дорожную карту» для движения в рейтинге;
  • актуализировать какие-то задачи: например, если много невалидных отчетов, ввести достижение «5 валидных отчетов подряд», «10 отчетов» и так далее.

Для Standoff-365 мы разработали систему достижений, которые нацелены на разные группы задач:

1. Базовые достижения

Знакомят пользователя с функционалом платформы.

Например: пройти регистрацию — достижение «Вход в матрицу»; отправить первый отчет — достижение «Первый пошел».

За базовые достижения не даются бонусные баллы, но они приятны пользователям и подсказывают, что нужно делать.

2. Продвинутые достижения

Нацелены на повышение активности у продвинутых пользователей.

Например: вступил в команду по киберполигону — достижение «Часть команды — часть коробля»; получил коммьюнити-бонус — достижение «Они зовут тебя… Сенсей»; получил коммьюнити-бонус три раза подряд — достижение «Учитель».

За продвинутые достижения начисляются бонусные баллы, которые потом можно использовать при начислении награды за отчет.

3. Экспертные достижения

Достижения для тех, кто хочет продемонстрировать вершины своего мастерства.

Например: найдено недопустимое событие — достижение «Мастер разоблачений»; найдено 5 уязвимостей критического уровня — достижение «Агент Смит 2»; найдено 10 уязвимостей критического уровня — достижение «Агент Смит 3».

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

4. Достижения для улучшения качества отчетов

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

Примеры: отправил подряд 5 отчетов и их приняли — достижение «Стремительный старт»; получил рейтинг качества отчетов больше 8 — достижение «Ни шагу назад»; приняты отчеты для 10 разных компаний — достижение «Широкий охват».

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

5. Уникальные достижения

Достижения за особые действия дают большие бонусы к отчетам и специальные бейджи, которые добавляются в профиль пользователя.

6. Звания

Звания — это титулы багхантера, который можно получить за некоторые достижения и разместить для отображения в профиле и в лидербордах.

Например, за достижение «Часть команды — часть корабля», багхантер получает звание «Командный игрок», за достижение «Они зовут тебя… Сенсей» — звание «Сенсей» и т.д.

7. Сделали перерасчет рейтинга

На Standoff-365 уже была система рейтинга, мы не стали ее удалять, а сделали перерасчет по новой формуле. Ее же мы применили для формирования рангов. Для этого мы взяли сведения о сданных отчетах за весь период и применили формулу награды, умножив каждый отчет на коэффициент уровня выявленной угрозы.

Пересчет по новой формуле:

R = (nones*0,2 + lows*1 + meds*2 + highs*6 + crits *12) * BaseBugCost

Где R — новый рейтинг БагХантера.

Что касается рангов, то мы постарались распределить их так, чтобы высшие уровни оставались пока недоступными: для их получения пользователям придется усердно поработать.

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

Поэтому мы применили метод сжатия диапазона рейтинга. В результате наверху у нас оказались не Supreme, а Cyber Ninja. Теперь, чтобы получить ранг Elite или Supreme, багхантерам придется потрудиться. И картинка сразу стала наглядней!

Первый график — распределение вплоть до Supreme:

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

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

Второй график — после сжатия диапазона рейтинга:

Как мы превратили белое хакерство в онлайн-игру: теперь багхантеров не вытащить с работы

Теперь середнячки у нас в Curious и Script Kiddie, что гораздо лучше соответствует действительности. В то же время увеличилось количество Hacker и Cyber Ninja — это багхантеры, которым можно делегировать сложные задачи.

Результат

В результате геймификации платформа Standoff-365 получила концепт, который позволяет решить главные задачи.

  • Обозначение рейтинга. Показывают компетентность, активность и эффективность каждого багхантера. Мотивируют пользователей внимательно относиться к качеству работы и репутации.
  • Предупреждения. Невалидный отчет — это плохо. Сбалансированная система штрафов и поощрений убирает поведение в стиле «Ну, не получилось в этот раз, попробую снова».
  • Требование качества. Благодаря оценке качества, которая видна в лидербордах и профилях, багхантеры вынуждены придерживаться высоких стандартов.
  • Отсев неактивных профилей. Даже очень успешные багхантеры понижаются в рейтинге, если они неактивны, что освобождает дорогу к топу активным юзерам.
  • Четкие критерии бана. При этом каждый имеет право на ошибку и есть «три жизни», чтобы войти в рамки правил.
  • Понятная схема. Система подсказывает новичкам, как можно прокачаться на платформе с самых первых шагов.

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

С введением игровой механики в выигрыше останутся все: Standoff-365, компании-партнеры и сами багхантеры.

Буду рад услышать комментарии о нашей работе. С какими нововведениями согласны, а какие считаете несправедливыми? Что бы добавили еще?

В Abistep мы каждый день работаем с игровыми механиками: разрабатываем системы рейтингов, создаем игры, увеличиваем вовлеченность пользователей и результативность разных платформ. Заглядывайте к нам на сайт, чтобы узнать о геймификации больше.

99
11
17 комментариев

Геймеры заценят))

1
Ответить

Да ваще, такой интерфейс классный!

1
Ответить

Да, среди хакеров их точно не мало)

Ответить

Ого, а сколько времени ушло на разработку?

1
Ответить

7 месяцев

Ответить

Понравился ваш подход к работе, да и чувствуется забота о клиенте. Молодцы❤️‍🔥❤️‍🔥

1
Ответить

Спасибо большое! Работа была большая сделана, да

Ответить