Summ3r of h4ck 2020. Итоги программы

    Лето закончилось, и вместе с ним закончилась и наша программа Summ3r of h4ck 2020. Пришло время подвести итоги и посмотреть, чего же добились за этот месяц наши подопечные. Об их исследованиях и впечатлениях от Digital Security и будет рассказано в этой статье.



    Посмотреть, чем занимались наши практиканты в прошлые годы, можно здесь:


    Мы придерживались хорошо зарекомендовавшей себя практики: участники выбирали интересную им тему из предоставленного списка и в течение месяца проводили своё собственное исследование под руководством куратора.

    В программе участвуют два отдела нашей компании – отдел анализа защищённости и отдел исследований. Первый занимается тестами на проникновение, аудитом веб-приложений и корпоративного ПО, а специалисты второго – задачами reverse engineering, поиском уязвимостей в бинарных приложениях и устройствах и написанием эксплоитов.

    Порядок отбора на Summ3r of h4ck также остался неизменным: сначала участники отвечали на вопросы анкеты на нашем сайте и решали небольшие проверочные задания, а после получали приглашение на удалённое собеседование. Хотя программа Summ3r of h4ck проходит только в Санкт-Петербурге, мы рады были видеть участников и из других городов.

    Введение


    В первую очередь, наша программа направлена на помощь молодым специалистам и студентам, но свои анкеты могут прислать все желающие. Кроме того, мы всегда очень рады, когда к нам приходят повторно: приятно наблюдать за ростом нового специалиста и видеть, как он развивается и изучает ИБ. Но это не значит, что в отборе существуют поблажки ;)

    Программа Summ3r of h4ck начинается с лекций. Их читают специалисты от двух отделов, и вот некоторые темы, которые в них затрагиваются:

    • Разработка для Ghidra
    • Advanced Server Side
    • Про Libfuzzer
    • Куда жать после RCE?
    • Pentest Android
    • Про taint анализ
    • Kubernetes: From zero to hero и т.д.

    Кроме лекций были и практические задания, и даже своего рода мини-CTF для всех желающих. Результаты этих заданий учитываются позже, при отборе кандидатов в сотрудники Digital Security.

    В конце программы Summ3r of h4ck прошла защита проектов. Участники выступали перед всеми и рассказывали, какие задачи перед ними стояли и чего им удалось добиться, с каким трудностями они столкнулись и какие проблемы решали. Некоторые объединились в группы, чтобы поработать над общей темой – мы всегда это приветствуем.


    Наш замечательный мерч

    Все, кто успешно прошел практику, получили сертификат Summ3r of h4ck 2020.

    По традиции мы попросили наших практикантов ответить на вопросы мини-интервью и поделиться своими впечатлениями.

    1. Почему решили стажироваться именно в Digital Security? Чем привлекла вас компания?
    2. Понравилась ли стажировка? Что особенно запомнилось? Насколько реальность совпала с вашими ожиданиями?
    3. Расскажите о своей задаче/задачах.
    4. Показались ли интересными задачи, над которыми вы работали в процессе стажировки? Было ли что-то, чем вы хотели заняться, но не удалось?
    5. Готовы ли вернуться в компанию на стажировку или на работу?

    Орфография, пунктуация и стиль авторов сохранены

    Даниил Гавшин, тема “Разработка плагина для Ghidra”


    1. Думаю, не секрет, что вы популярны в кругах spbctf, и на каждый отбор summer of hack о вас там появляется рекламный пост. Это круто, что вы уважаемы в таких сообществах, о вас хорошо пишут и в отзывах на прошлых стажировках. Из этого складывается впечатление как об открытой, дружелюбной и современной компании, и теперь я с уверенностью могу это утверждать)

    2. Как сами организаторы заметили, это больше практика или обучение, и в этом плане я очень доволен. Много интересных лекций, на которых ты можешь спокойно задать вопрос, попросить повторить, объяснить какой-то момент, ведь обстановка уютная и неформальная. После презентации можно сварить кофе и пообщаться со стажерами о наболевшем или пойти обсудить с ментором свой проект. Такая простая связь между всеми – это большой плюс

    3. Сначала я изучал, как реверсить прошивку UEFI, работу ее протоколов, а потом, когда пришло какое-то понимание, начал писать плагин для Ghidra, который рисовал бы графы связей между этими протоколами. Бесценный опыт изучения Ghidra API)

    Ссылка на Github-репозиторий плагина для Ghidra


    Граф связей плагина

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

    5. Думаю, да, мне понравилась атмосфера у вас, на протяжении всей стажировки сюда хотелось приходить

    Никита Челноков, тема “Автоматизация поиска code reuse гаджетов для обхода CFI”


    1. До стажировки активно играл в CTF. В какой-то момент понял, что хочу попробовать себя в реальных задачах. Увидел, что в Digital Security есть программа летней стажировки. Про прошлые стажировки я прочитал несколько статей на хабре и решил, что будет интересно и, главное, полезно, в чём я не ошибся.
    2. Если кратко – очень. Лекции позволили узнать лучше темы, о которых я лишь слышал, а также задать определённый вектор развития навыков. Очень понравились мастер-классы на некоторых лекциях и, конечно же, работа над самим проектом.
    3. Моя задача – автоматизация поиска code reuse гаджетов для обхода CFI. В проекте я использовал IDAPython, в результате чего задача была минимально решена. Я продолжу работу над этим проектом, и следующей целью будет сделать графический интерфейс для этого скрипта в IDA. Необходимо сделать его максимально информативным и интерактивным с целью упрощения задачи поиска примитивов.

    Пример работы скрипта

    4. Задача была действительно интересная, с этой темой ранее я не сталкивался. Если решение данной задачи сделать наиболее эффективным образом, можно будет создать новые способы обхода защиты, нацеленной на усложнение эксплуатации бинарных уязвимостей. Созданная утилита может быть всячески доработана и использована для широкого круга задач. В процессе работы я улучшил свои навыки в автоматизации в IDA. Отдельное большое спасибо моему ментору, который помогал с проектом и рассказал мне немало интересного и полезного.
    5. Безусловно – да, и то, и другое.

    Новосельцева Алёна, тема “Символьное исполнение в Ghidra”


    1. Стажировку в компании Digital Security прохожу второй год подряд. Задачи отдела исследований (Research Centre) крайне интересны для меня, так что было здорово взять работу над проектом и в этом году. Каждый день сотрудники компании выступают с лекциями на актуальные темы, что придает стажировке обучающий характер. Очень приятно было узнать, что большинство тем были либо обновленными, либо абсолютно новыми, а с учетом специфики материала повторение пройденного казалось вполне уместным и даже полезным.
    2. Из-за нестабильной ситуации стажировку пришлось пройти удаленно и стать единственным стажером отдела исследований на удалёнке. Работать таким образом можно вполне успешно, однако теряешь возможность живого общения с наставниками, другими стажерами. Крайне негативной стороной является тот факт, что нет возможности послушать вживую лекции сотрудников, позадавать вопросы и обсудить технические тонкости. Так что рекомендую проходить стажировку именно очно, иначе многое теряется.
    3. Задача ресерча – реализация символьного исполнения в Ghidra. Нужно было выбрать один из существующих на данный момент движков символьного исполнения и прикрутить его в интерфейс Ghidr-ы. Кандидатами стали KLEE, Triton, S2E и Angr. В результате решили выбрать Angr, поскольку он популярен и имеет доступный и хорошо задокументированный API. С этого момента началась стадия разработки, начала писать логику и графический интерфейс. Стоит отметить, что на GUI пришлось потратить львиную долю времени.
    В принципе, задача выполнена успешно. Теперь символьное исполнение доступно в двух кликах прямиком из Ghidr-ы.

    Ссылка на Github-репозиторий плагина AngryGhidra


    GUI и пример работы плагина

    4. Как отмечала в прошлом году, всегда хотела погрузиться в тему символьного исполнения поглубже, так что это была великолепная возможность познать как теорию, так и практику. В будущем планирую подробнее изучить фаззинг и заняться поиском уязвимостей.
    5. С большим желанием и удовольствием! Университет еще продолжается, так что, скорее всего, поучаствую и в следующий раз.

    Олег Мошков, тема “Binary Lifting Fuzzing”


    1. Было желание расставить все точки над i: куда дальше двигаться в сфере ИБ и чем заниматься. Отсюда и возник выбор стажировки в ведущей компании в России в области ИБ – Digital Security, уж здесь-то меня направят в нужное русло.
    2. Стажировка превзошла мои ожидания. У меня был самый топовый ментор: он был для меня настоящим учителем, который мне помог не только с исследованием, но и в общей части, связанной с областью ИБ.
    3. Необходимо было протестировать инструментарий для Binary Lifting'a бинарников, попробовать их пофазить и найти уязвимости. Проблема была в том, что большинство из утилит были либо заброшенными, либо лифтили только совсем простые бинари. Пришлось часть из них патчить, допиливать и пересобирать, на что и ушла большая часть времени. А пока они пересобирались по нескольку раз, удалось пофазить один из open-source проектов и найти в нём пару дыр :)


    Таблица сравнения Lifting-а инструментов

    4. Также хотелось бы изучить кучу инструментария, о котором нам рассказывали на лекциях, но на который не оставалось времени, чем я и займусь в ближайшее время.
    5. С удовольствием!

    Георгий Геннадьев, тема “Apple BLE protocols”


    1. Я решил стажироваться в Digital Security, так как вы являетесь одним из фаворитов в области ИБ в России и за рубежом. Помимо этого очень сильно привлекли исследования, которыми занимается компания.

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

    3. Для исследования я выбрал новую для себя тему — мобильные устройства и Bluetooth Low Energy, а конкретно две вещи — Apple find my и Exposure Notifications (API для детекции контактов с инфицированными COVID-19) от Apple и Google. В процессе удалось углубить свои знания, узнать много нового, написать пару PoC-ов, но поскольку темы тяжелые — закончить за время стажировки их не удалось, поэтому я занимаюсь их исследованием и по сей день.


    Exposure Notification

    4-5. Все задачи на стажировке были очень интересными, но попробовать все, к сожалению, невозможно, поэтому я с уверенностью могу сказать, что я готов вернуться в DSec, чтобы продолжить исследовательскую деятельность и повышение собственных навыков.

    Заключение


    Мы рады видеть, что программа Summ3r of h4ck приносит пользу, и стараемся работать над тем, чтобы делать её лучше в соответствии с отзывами наших участников.

    Огромное «Спасибо!» тем, кто пришёл к нам, принимал участие в исследованиях и ломал голову над нашими заданиями. Мы вами гордимся!

    До встречи в следующем году ;)
    Digital Security
    Безопасность как искусство

    Similar posts

    Comments 1

      +2

      N1c3, th4nks !

      Only users with full accounts can post comments. Log in, please.