15–16 мая на площадке форума по кибербезопасности PHDays прошла очередная встреча сообщества безопасной разработки Positive Development User Group. В двухдневную программу вошли 11 докладов разной степени хардкорности и круглый стол, посвященный статическому анализу.

Под катом делимся материалами встречи: презентациями и видеозаписями докладов.

Все презентации отдельно от видео доступны на Speakerdeck-канале сообщества.

Первый день


Вступительное слово Владимира Кочеткова, Positive Technologies


Можно ли обобщить анализатор исходных кодов?


Иван Кочуркин, Positive Technologies

В докладе рассматриваются различные типы анализаторов кода, принимающие на вход регулярные выражения, токены, деревья разбора, графы потоков данных и инструкции символьного выполнения. Докладчик описывает проблемы, возникающие при обобщении каждого типа анализатора на разные языки программирования, и предлагает варианты решений. Также он демонстрирует уязвимости и недостатки, которые можно найти с помощью каждого подхода (например, goto fail), описывает возможности открытого анализатора исходных кодов PT.PM, способы его использования и перспективы развития.


Мифы и легенды безопасной разработки


Юрий Шабалин, Swordfish Security

Автор доклада рассказывает об основных мифах и стереотипах, которые преследуют направление безопасной разработки, о главных ошибках при планировании и старте.

С опорой на эти мифы, легенды и ошибки докладчик объясняет, как подойти к выстраиванию процессов, что нужно учитывать, как грамотно оценить свои силы и правильно запустить процесс безопасной разработки. В качестве основных примеров ошибок и способов их преодоления представлены организационные меры, технические средства (без указания вендоров), взаимодействие между разработкой и ИБ, awareness-программы, управление всем процессом, метрики эффективности.


Защищенность целочисленных типов в C++


Игорь Собинов, эксперт по безопасности

Доклад посвящен вопросам обеспечения защищенности приложений на C++ от атак на переполнение целочисленных типов. Рассматриваются типовые кейсы возникновения уязвимостей, связанных с данным классом атак, возможные последствия их эксплуатации и способы защиты.


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


Ярослав Александров, Александр Чернов и Екатерина Трошина, Solar Security

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


Идеальный статический анализ


Владимир Кочетков, Positive Technologies

Идеальный статанализ как инструмент не существует. Но существует ли идеальный статанализ как процесс? Каким должно быть распределение ролей в нем между человеком и инструментарием SAST? Каким должен быть инструментарий, чтобы максимально облегчить человеку решение задачи статанализа?


Круглый стол «SAST и его место в SDLC»


Модератор: Владимир Кочетков, Positive Technologies
Участники: Positive Technologies, SolidLab, Mail.ru, Solar Security, PVS-Studio, ИСП РАН





Второй день


LibProtection: 6 месяцев спустя


Владимир Кочетков, Positive Technologies

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


Основы безопасности алгоритмов консенсуса в блокчейне


Евангелос Дейрмендзоглу (Evangelos Deirmentzoglou), Positive Technologies

Алгоритмы консенсуса являются неотъемлемой частью любой блокчейн-платформы. В докладе освещены принципы работы таких алгоритмов консенсуса, как Proof of Work (доказательство выполнения работы), Proof of Stake (доказательство доли владения), Delegated Proof of Stake (делегированное подтверждение доли) и Proof of Authority (доказательство полномочий). При анализе различий этих алгоритмов рассматриваются наиболее распространенные атаки в отношении систем на базе этих технологий, такие как двойное расходование (Double-spending), атака 51%, атака с подкупом, атака Сивиллы, атака Nothing-At-Stake и другие.

Доклад на английском языке:


Доклад на русском языке:


Предсказываем случайные числа в умных контрактах Ethereum


Арсений Реутов, Positive Technologies

Смарт-контракты применяются не только при первичном размещении токенов криптовалют. На языке Solidity реализованы различные лотереи, казино и карточные игры, доступные любому, кто использует блокчейн Ethereum. Автономность блокчейна ограничивает источники энтропии для генераторов случайных чисел (ГСЧ). Не существует и общей библиотеки, с помощью которой разработчики создавали бы безопасные ГСЧ.

Именно по этой причине реализация собственного ГСЧ может создать немало проблем — далеко не всегда удается реализовать безопасный ГСЧ, что дает злоумышленникам возможность предсказывать результат и похищать денежные средства. В докладе представлен анализ основанных на блокчейне смарт-контрактов для индустрии азартных игр. Автор доклада демонстрирует реальные примеры неправильной реализации ГСЧ и рассказывает, как выявить проблемы в ГСЧ и создать свой безопасный генератор с учетом ограничений блокчейна.


Подводные камни параметризации и объектного подхода


Владимир Кочетков, Positive Technologies

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


Method Hooking в Android


Александр Гузенко, Tinkoff

Автор доклада рассказывает, что такое Method Hooking и Injector, и объяснит, каким образом, зная два этих понятия, применить их к Android и заставить чужое приложение делать то, что нужно вам.


Как создать быстрый WAF. Построение высокопроизводительной системы анализа сетевого трафика


Михаил Бадин, Wallarm

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


Благодарим наших спикеров и участников за продуктивную встречу!

Если у вас появились вопросы к организаторам / докладчикам или желание выступить со своим докладом на следующем PDUG-митапе, пишите на pdug@ptsecurity.com.

Комментарии (0)