Как взломать премию, пропустив деньги через шредер
Отлично заканчивается апрель для RUVDS! Мы победили в ежегодном конкурсе среди профессионалов на рынке дата-центров и получили премию «ЦОДы.РФ» в номинации «Креатив года». Помните тот эмоциональный хакерский квест, который мы устроили в августе 2020-го? Неплохо повеселились, правда? За него нам и дали премию. Кто пропустил посты про эту чумовую игру — подробности внутри.
Немного про конкурс
Основатель и управляющий партнер RUVDS Никита Цаплин
Его уже пятый год проводят организаторы — маркетинговые компании Media Grus и AnyLine. Премия присуждается по нескольким номинациям, в этот раз их было 13. Победителей определяет сообщество крупных профессионалов российской ЦОД-отрасли методом открытого голосования.
Премию в номинации «Креатив года» присуждают за творческий подход к продвижению услуг в нашей сфере. И мы решили, что обязательно должны участвовать с нашей беспрецедентной интерактивной рекламной кампанией в виде квеста в комнате, в которой участвовало более 600 человек. Суммарный охват публикаций в СМИ и трансляций в соцсетях про игру составил около полмиллиона человек. В победе мы не сомневались! Совсем… ну, почти (на самом деле волновались ещё как).
Про квест, принёсший победу
12 августа 2020 года мы опубликовали пост с видео-роликом, в которых предлагали читателям Хабра сыграть в игру с денежным призом. Нужно было хакнуть реальную комнату, созданную для квеста, в которой якобы находился офис веб-студии «Сокол», предлагающей услуги подкроватного хостинга. Комната была напичкана IoT-устройствами, управлять которыми нужно было с сайта компании.
Завязка квеста была в том, что владелец компании Андрей Соколов, заработавший некоторую сумму услугами хостинга на самосборном сервере и создания стрёмных сайтов, улетел на Бали. Оставшиеся 200 000 рублей он спрятал в этом офисе, который снабдил «умной» защитой от грабителей с трансляцией системы слежения на том же сайте. Но спрятал он их не в сейф, а в шредер, который, при попытке взлома, начинает уничтожать купюры, чтобы деньги не достались грабителям.
По сценарию раз в час уничтожается 1000 рублей, что стимулирует участников думать и действовать быстро — ведь победитель забирает сумму, оставшуюся на момент взлома. А взломом должно стать короткое замыкание, к которому приведёт управление IoT-устройствами через сайт и которое уничтожит сервер. Короткое замыкание надо было устроить так: найти спрятанный лазер, активировать его, подобрав код доступа и направить в подвешенную гирю, которая, падая, разбивала аквариум с водой, который заливал сервер. Были и подсказки. Прямая трансляция происходившего в комнате-офисе велась на YouTube двое суток: лампочки мигали, телефон звонил, интернет вещей свирепствовал.
Как проходил квест и кто в нём победил, забрав 134 000 рублей, можно почитать здесь.
Как создавалась игра
Мы публиковали два подробнейших поста про бэкенд и про железо проекта — там вы можете пошагово почитать, как всё настраивалось, тестировалось, какие были сложности и как мы из них выходили. А здесь в двух словах про основное.Тестирование выстрела лазера.
Бэкенд
Состоял из шести архитектурных единиц:
- Бэкенд игровых сущностей, отвечающих за игровые механизмы. Реализация в виде spring boot-приложения, которое имело три rest-контроллера (Мегатрон для лазера, контроллер для капчи и контроллер для мапинга тильдовских страниц), websocket endpoint для управления гаджетами и сервисы с игровой логикой.
- Шина обмена данных бэкенда и площадки на наших VPS. Сначала использовали тариф за ресурсы, но потом поняли, что лучше фиксированный тариф из-за постоянной высокой нагрузки. Для подобных квестов хорошо использовать тариф Turbo. На VPS-сервере был запущен RabbitMQ, от DDoSa применили Cloudflare.
- Транслятор из запросов бэкенда игровых сущностей на Ардуино и железо на площадке. Через скрипт на Питоне транслятор отвечал за таймер шредера, передачу изображений на экран и логику параллельного включения света на разные устройства.
- Ардуино, которая получала команды с транслятора и управляла разными реле.
- Игровые устройства: вентилятор, гирлянды на светящихся буквах, торшеры и так далее.
- Фронтенд — вырвиглазный сайт компании «Сокол» на Тильде, с которого игроки управляли игровыми устройствами. Попросили у Тильды разрешения менять код, чтобы добавить недостающую js-логику на отправку запросов на игровые устройства.
Жуткий сайт Сокола.
Железо
Мы не использовали коробочные решения и устройства для умного дома и не использовали беспроводные подключения, поскольку все девайсы находились друг от друга на расстоянии максимум 3 метров. В кадре не было видно никаких реле и Ардуино. Мегатрон-3000 — это лазерный модуль для резки с ручной фокусировкой LSMVR450–3000MF, 3000 мВт, 450нм. Для резервирования электричества и интернета использовали привычную для ЦОДов схему N+1 и роутер на базе OpenWRT с пакетом mwan3 для переключения на резервный модем с Yota в случае обрыва. Больше железных подробностей и киношных нюансов здесь.
Про награждение
Основатель и управляющий партнер RUVDS и Сания Галимова на вручении премии «ЦОДы.РФ»/
Церемония была торжественная, как Оскар. Состязаться за премию в номинации нам выпало с профессионалами из ООО «АФЕСПРО», C3 Solutions и GreenMDC. По задумке наш проект — это не просто рекламная кампания, пусть даже такая креативная. Основной посыл заключался в том, что мы против распространения на рынке виртуальных VDS/VPS серверов таких компаний, которые оказывают услуги низкого качества, которые предлагают хостинг на непрофессиональном оборудовании и которые таким подходом дискредитируют всю сферу услуг виртуальных серверов в России. Спасибо устроителям и жюри премии, за то, что высоко оценили нашу акцию. И огромное спасибо «хакерам» Хабра, так увлечённо проходившим квест. Вы вдохновляете!