Главная » Хабрахабр » PVS-Studio как SAST решение

PVS-Studio как SAST решение

PVS-Studio и SAST

До недавнего времени в своих статьях мы позиционировали PVS-Studio как инструмент для выявления ошибок в коде. При этом мы почти не рассматривали PVS-Studio в контексте безопасности. Попробуем немного исправить эту ситуацию и взглянем на инструмент с точки зрения тестирования защищённости приложений и DevSecOps практик.
PVS-Studio является средством статического тестирования защищённости приложений (Static Application Security Testing, SAST). Другими словами, анализатор PVS-Studio выявляет не только опечатки, мёртвый код и другие ошибки, но и потенциальные уязвимости.

К концу 2018 года планируется поддержка языка Java. Инструмент работает в среде Windows, Linux, macOS и анализирует код программ на языке С, C++ и C#.

Для удобства специалистов, которые будут использовать PVS-Studio как SAST инструмент, анализатор отображает свои предупреждения на Common Weakness Enumeration, SEI CERT Coding Standards, а также поддерживает стандарт MISRA (сейчас находится в процессе реализации).

Таблицы соответствий диагностик PVS-Studio различным стандартам:

  1. Соответствие CWE
  2. Соответствие SEI CERT
  3. Поддержка MISRA (планируем реализовать до конца 2018 года)

Наиболее распространённой классификацией предупреждений SAST инструментов является Common Weakness Enumeration (CWE). Посмотрим, использую язык CWE, как анализатор PVS-Studio помогает предотвратить уязвимости.

Национальный институт стандартов и технологий (NIST) подтверждает это, заявляя, что 64% уязвимостей в программах связаны с ошибками в коде. Если обратиться к базе данных общеизвестных уязвимостей информационной безопасности (CVE), то выясняется, что часто причиной уязвимостей в программах являются не какие-то недоработки в системе безопасности, а обыкновенные программные ошибки.

Соответственно, если ошибку можно классифицировать как CWE, есть вероятность, что она может эксплуатироваться как уязвимость и в итоге пополнить список CVE. Именно такие ошибки, которые потенциально могут привести к уязвимостям, и описаны в CWE. Для наглядности можно использовать изображение воронки:

Ошибки, CWE, CVE

Есть множество ошибок. Часть из них представляют опасность с точки зрения безопасности и поэтому классифицируются согласно CWE. Некоторые CWE-ошибки можно эксплуатировать и они представляют собой уязвимости.

Однако если вы разрабатываете security-critical приложения и заботитесь о безопасности пользователей, то должны крайне серьезно отнестись к этим ошибкам. Да, на практике только очень малая часть из найденных CWE-ошибок представляет опасность и является уязвимостями. Устраняя CWE-ошибки, вы защищаете своё приложение от многих уязвимостей.

Анализатор PVS-Studio находит ошибки и многие из них классифицирует как CWE. Теперь взаимосвязь между ошибками, PVS-Studio и уязвимостями становится очевидной. Обнаружение в продукте уязвимости может серьёзно затронуть его репутацию. Исправляя эти ошибки, вы делаете своё приложение более надёжным. Исправляя ошибки анализатора, вы существенно сокращаете этот риск на наиболее раннем этапе разработки — написании кода.

Однако если PVS-Studio предотвратит, например, 50% потенциальных уязвимостей, это уже замечательно. Анализатор PVS-Studio, как и любой другой инструмент, не даёт гарантий, что в коде нет уязвимостей.

Дополнительно предлагаем ознакомиться со статьёй "Как PVS-Studio может помочь в поиске уязвимостей?", где показаны ошибки, которые приводили к уязвимостям, и которых можно было бы избежать при использовании в процессе разработке инструмента PVS-Studio.

Начните использовать PVS-Studio в качестве SAST решения: скачать PVS-Studio.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] Чтение с карандашом в руках

Интеллектуал – это просто человек, у которого во время чтения книги в руках есть карандаш.— Джордж Стайнер Фотограф Билл Хейс написал интересный рассказ о любви Оливера Сакса к словам, и постит в Твиттере фотографии книг, где Сакс делал пометки: Наверно, ...

[Перевод] Китайская панель биомаркеров старения

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