Александра Сватикова
Компания: Одноклассники
Необходимость поиска и исправления уязвимостей в разрабатываемом продукте сомнению уже не подвергается. Необходимость автоматизации тестирования тоже понятна — в больших системах ручное тестирование за всеми изменениями успевать не будет. Распространенным способом автоматизации поиска уязвимостей является использование разнообразных фаззеров и сканеров, про них, в том числе, уже рассказывали на Heisenbug 2018. Иногда такой подход называют Dynamic Application Security Testing (DAST). У динамического тестирования безопасности есть свои ограничения и недостатки. Существует и другой путь — можно применить статический анализ кода для поиска потенциальных уязвимостей. Такой подход называют Static Application Security Testing (SAST).
Рынок SAST-решений разнообразен — там есть и коммерческие/коробочные продукты и open source проекты. В Одноклассниках требовались возможности для кастомизации, и команда при выборе конкретного решения остановилась на комбинации из SonarQube и SpotBugs+Find Security Bugs.
Доклад посвящен использованию вышеупомянутых инструментов для обнаружения уязвимостей в исходном коде веб-приложения. Александра расскажет, какие возможности они предоставляют «из коробки» и как их расширить, добавив собственные правила анализа (иногда их называют детекторы). Необходимость кастомизации может возникнуть в случае, если в проекте используются фреймворки и технологии, еще не поддерживаемые в наборе стандартных правил.
В качестве примеров будут рассмотрены две разновидности уязвимостей: хранимые XSS и IDOR. Для них спикер покажет, как создавать свои правила для статического анализатора.
Цель доклада: рассказать о применении SonarQube и Find Security Bugs для поиска уязвимостей в своем проекте.
Технологии: кастомные правила пишутся на Java, в качестве примера продемонстрируют веб-приложение на Java.
Целевая аудитория: автоматизаторы тестирования, специалисты по безопасности.
Люди узнают о возможности применения статического анализа кода для тестирования безопасности и увидят базовые примеры добавления собственных детекторов при анализе исходного кода.
Комментарий программного комитета:
Как можно тестировать безопасность помимо использования известных сканеров уязвимостей? Как можно настроить правила статического анализатора, чтобы дешевле и быстрее находить уязвимости на примерах? Ответы на эти вопросы вы сможете узнать на докладе.
Компания: Одноклассники