Как проходил первый хакатон на The Standoff

09.07.2019

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

К участию в хакатоне принимались только некоммерческие проекты, представленные их авторами. Мы получили заявки от четырех проектов, но отбор прошел только один — bitaps (bitaps.com). Команда занимается аналитикой блокчейна биткойна, эфириума и других альтернативных криптовалют, осуществляет процессинг платежей и разрабатывает криптовалютный кошелек.

За несколько дней до начала соревнования участники получили удаленный доступ в игровую инфраструктуру для инсталляции своего приложения (оно было размещено в незащищенном сегменте). На The Standoff нападающие, помимо объектов инфраструктуры виртуального города, должны были атаковать приложение и писать отчеты bug bounty на найденные уязвимости. После того как организаторы подтверждали наличие ошибок, разработчики по желанию могли их исправить. За все подтвержденные уязвимости команда атакующих получала вознаграждение в публях (игровая валюта The Standoff), а команда разработки штрафовалась.

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

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

Получив задание, ребята оживились, и уже к 4 часам утра сервис по переводу токенов по ссылке был готов. Атакующие не заставили себя ждать и уже через несколько часов обнаружили незначительную XSS-уязвимость в созданном сервисе и сообщили о ней нам. Мы проверили и подтвердили ее наличие. Команда разработки успешно ее устранила.

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

По итогам двухдневного соревнования мы вручили проекту bitaps памятные призы.

Как признались участники после игры, хакатон позволил проверить приложение на прочность и подтвердить высокий уровень его защищенности. «Участие в хакатоне — это отличный шанс протестировать свой проект на безопасность и получить экспертизу по качеству кода. Мы рады: нам удалось устоять под натиском атакующих, — поделился впечатлениями член команды разработчиков bitaps Алексей Карпов. — Это был необычный опыт, так как нам пришлось дорабатывать приложение в стрессовой ситуации, на скорость. Нужно написать качественный код, и при этом высок риск ошибиться. В таких условиях начинаешь использовать все свои навыки».

В следующем году мы планируем снова провести хакатон. Следите за новостями!