У нас в BI.ZONE очень любят прогать, тусоваться и выпивать вместе. А еще наши крутые эксперты могут сделать что-то полезное для коллег, клиентов или общества — было бы время. Чтобы совместить приятное с полезным, раз в квартал внутри компании проходит GO.ZONE.
Что это и зачем
GO.ZONE — это такой тимбилдинг-хакатон, на котором команды разрабатывают проекты, делают удивительно красивые и не очень презентации, не спят полночи. А потом веселятся и обсуждают, как все прошло.
Нужно оно, чтобы:
пойти на афтепати;лучше узнать коллег;
лучше узнать себя и свои возможности;
сделать что-то от начала до конца в короткие сроки;
сделать то, до чего давно не доходили руки, но очень хотелось;
переключиться и ненадолго отвлечься от рабочих задач;
вдохновиться и зарядиться идеями для работы.
Формат
Концепция GO.ZONE близка к хакатону, где каждый может применить свои навыки или узнать что-то новое.
Но не тимбилдингом единым! Поскольку на выходе часто получаются не сферические продукты в вакууме, а реальные решения, они в итоге экономят ресурсы самых разных отделов. А еще здорово облегчают жизнь. PROFIT!
На каждом GO.ZONE на суд жюри попадает около десяти проектов в двух форматах: minimal viable product (MVP, минимально жизнеспособный продукт) или ресерч.
MVP — это техническая реализация идеи. Она представляет из себя:
новый продукт/инструмент/чат-бот, полезный для клиентов/сотрудников/общества;
отдельно взятая фича в уже существующих продуктах, которой пока нет в роадмапе разработчиков.
При этом реализация подразумевает, что есть возможность провести демо и показать созданную функциональность.
Ресерч — это исследование в сфере кибербезопасности, не ограниченное предметной областью. Например, поиск уязвимостей, исследование деятельности кибергруппировки, анализ данных, поиск алгоритмов и тому подобное. Делается с прицелом на то, чтобы получившийся материал было не стыдно опубликовать на техническом ресурсе или представить на конференции.
Темы наших хакатонов и критерии оценки их результатов зависят от того, что на момент проведения происходит в компании. Например, летний GO.ZONE состоялся в преддверии нашей конференции по кибербезопасности OFFZONE и соревнования CTFZone, поэтому среди проектов были CTF-таски и технические активности для мероприятия.
На работу дается 29 часов. За это время надо согласовать тему с жюри, выполнить проект и нарисовать презентацию.
Поучаствовать может сотрудник из любого отдела. Ведь когда еще пиарщик сможет поработать над общим проектом с форензиками, редактор — научиться основам программирования на Python, а технари — освоить искусство стильных презентаций?
Интересные кейсы и решения
Не каждый проект находит применение в жизни, но таких все равно больше. Например, автоматизация верификации некоторых уязвимостей в BI.ZONE Continuous Penetration Testing. Теперь пентестеры не ручками делают проверки, а все проверяется автоматически одной кнопкой.
Вот еще несколько полезных штук, которые появились благодаря GO.ZONE.
Таски CTFZone
Много тасков CTFZone 2022 стартовали на летнем GO.ZONE, поэтому в последние недели перед соревнованием организаторам выпало чуть меньше бессонных ночей, чем в прошлом году.
Один из таких тасков на реверс — Matreshka. Нужно было сделать двойную виртуальная машину. Полезная нагрузка, которая проверяла флаг, выполнялась в одной виртуальной машине. А та работала внутри другой. Такие дела!
Автор таска никак не мог собраться с духом и доделать несколько вещей:
1. Написать архитектуру первой виртуальной машины.
2. Написать для нее ассемблер.
3. На этом же ассемблере написать вторую виртуальную машину.
4. Написать ассемблер для второй виртуальной машины.
5. Реализовать часть алгоритма RC4, которая проверяла флаг.
GO.ZONE стал отличным поводом взяться за дело.
Темплейт ассемблера, кстати, перешел дальше в игровой таск Jock Wars.
Доработка YARA-сканера для выявления уязвимости Log4j
А теперь история про сложный и полезный для наших заказчиков проект с описанием во много букв.
Есть известная библиотека libyara, к ней идет утилита yara. Эта утилита применяется для сканирования файлов и процессов по некоторым правилам (они называются YARA-правилами), которые можно писать самим или брать из сети.
Все это используется для сканирования на вредоносные программы и распространенные легитимные программы, с которыми работают злоумышленники. Утилитой можно сканировать и файлы, и процессы (их память). Хотя, конечно, на любые данные можно натравить YARA-правила с помощью библиотеки.
При решении одной из реальных задач был обнаружен досадный баг: у нашего заказчика на Linux-сервере сканирование процессов приводило к «убийству» сканируемого процесса (это был один такой из многих серверов). То есть на продакшн-сервере происходило нечто ужасное: утилита (yara) «прибивала» критические для бизнеса процессы.
В ходе исследования бага выяснилось вот что. Сканирование процесса вытаскивает его страницы памяти из свопа (swap), что приводит к увеличению потребления памяти сканируемым процессом, а в итоге «призывает» OOM (out-of-memory) killer.
Еще раз, но простыми словами: операционная система перемещает редко используемые страницы памяти процесса в специальный файл на диске. Спустя значительное время начинается сканирование этого процесса утилитой yara. Тогда такие страницы последовательно возвращаются в оперативную память, что уменьшает объем свободной оперативной памяти компьютера. В определенный момент ядро операционной системы решает «убить» процесс, который потребляет слишком много оперативной памяти.
Доработка на GO.ZONE добавила в библиотеку и утилиту возможность игнорировать страницы памяти в свопе. Написали патч, который отправили вендору вместе с описанием бага.
Спойлер: вендор патч проигнорировал, а один из местных контрибьюторов запросил данные с «боевой» системы заказчика (чего мы дать, естественно, не смогли).
P. S. Заказчику дали рекомендацию проверить, нет ли постоянных «падений» сервисов на этом компьютере, так как он работает на пределе лимита оперативной памяти (раз вывод всех страниц памяти процесса из свопа приводит к OOM). Обратной связи не было.
Полезное: боты на все случаи жизни
А вот несколько ботов для жизни и работы, которые были придуманы на GO.ZONE.
Anti-leaks bot. Бот проверяет адрес почты в слитых базах данных. Фишка — в постоянном мониторинге: достаточно один раз скормить боту email, и он сам будет писать, как только увидит эту почту в утечках.
Бот для саппорта. Он упрощает работу с поступившими в поддержку обращениями с помощью автоматизации: сам проводит валидацию пользователя, записывает его в базу авторизованных клиентов, предлагает выбрать услуги.
Random Coffee. Бот для знакомства коллег. Все просто: отмечаетесь в боте, и он выбирает коллегу, с которым нужно узнать друг друга получше за чашкой кофе.
Бомжебот. Нужен для удаления из корпоративных чатов уволившихся сотрудников. До выхода в прод не дожил, но как же он хорош!
Часть проектов не доходит до релиза, но все еще остается интересной. Например, очень интригующе выглядела тулза для простого детектирования эксплуатабельности 1С.
Чтобы хорошие идеи не были заброшены и дожили до реализации, после хакатона капитаны команд встречаются с руководством и обсуждают, как довести проекты до релиза.
Награждение и афтепати
Какой же хакатон без награждения? За полезные разработки на последнем GO.ZONE решено было вручать «полезные» подарки.
Не обошлось и без специальных номинаций. Например, команда с самой красивой презентацией получила почетное звание «Мамкины дизайнеры».
А победителям достался еще и переходящий кубок.
Афтепати GO.ZONE — особая часть мероприятия. К ней мы подходим со всей серьезностью!
Первый GO.ZONE запомнился брускеттами с какой-то хитрой колбасой, а еще были прекрасные крупье (ненастоящие) и замечательные коктейли, которые показывали, кто в доме хозяин, уже после второго бокала.
На афтепати второго GO.ZONE в июле мы закатили тусовку на веранде с коктейльными мастер-классами. На октябрьском GO.ZONE коктейли уже были маст-хэвом, а еще к ним добавились караоке и квиз по локальным мемам.
Необъяснимо, но факт: чем жестче все упарываются над проектами, тем веселее проходит афтепати. Даже несмотря на ночь без сна, проведенную за подготовкой к презентации, на тусовку после хакатона приходят буквально все.
Заключение
GO.ZONE в нашей компании полюбился уникальной атмосферой. Секрет фирмы прост: хардкор + фан. Ведь что может быть лучше, чем после полутора суток напряженной работы над интересной задачей собраться всем вместе и закатить крутую вечеринку?