Глоссарий

Автоматический контроль кода

Снизить степень угрозы можно с помощью автоматического анализа кода — им занимаются специальные сканеры. Помимо поиска известных уязвимостей, такие анализаторы способны находить дыры, ошибочно или намеренно оставленные командой разработки приложения. Сканеры бывают двух видов:
  1. Статические (например, SonarQube): Анализируют исходный код. Позволяют находить уязвимости на ранних этапах разработки (что снижает будущие затраты на устранение дыр) и реагируют на большое число угроз. Из этого вытекает и главный недостаток: много ложно-позитивных срабатываний, каждое из которых отвлекает внимание разработчика.
  2. Динамические (например, PT BlackBox): Ищут уязвимости во время выполнения программы. Реже вызывают ложные срабатывания, не требуют доступа к исходному коду и лучше выявляют ошибки, связанные с памятью и многопоточными процессами. Однако, у динамических анализаторов выше риск пропуска уязвимостей (например, временных бомб), а для покрытия всего исходного кода требуется множество входных данных для воспроизведения условий реальной эксплуатации.

Анализаторы не заменяют друг друга — максимального покрытия можно достичь при совместном использовании и тех, и других.

Читайте полную версию статьи про безопасность.