PVS-Studio как SAST-решение
PVS-Studio включён в отчёт "Now Tech: Static Application Security Testing, Q3 2020" как SAST-специализированный инструмент. Использование методологии статического тестирования защищённости приложений (Static Application Security Testing, SAST) позволяет улучшить безопасность тестируемого приложения и смягчить влияние дефектов безопасности на его жизненный цикл. Forrester Research является одним из ведущих исследователей влияния развития инновационных технологий на бизнес. Отчёт об исследовании доступен для покупки подписчикам и клиентам Forrester Research.
Инструментальное средство PVS-Studio разрабатывается с учётом требований, предъявляемых к статическим анализаторам в ГОСТ Р 71207–2024. PVS-Studio выявляет критические ошибки и может использоваться при разработке безопасного программного обеспечения.
PVS-Studio помогает улучшать код по трём направлениям: качество, надёжность и защищённость (безопасность).
Качество
Неважно, какое ПО вы разрабатываете, код должен быть качественным. Тогда клиенты будут реже сталкиваться с проблемами, а поддерживать проект будет проще и дешевле.
Искать проблемы с качеством кода помогают диагностики общего назначения. С их помощью можно выявлять:
- выход за границу массива;
- разыменование нулевого указателя;
- неправильный вызов функции;
- проблемы синхронизации;
- и другие ошибки.
Список диагностик общего назначения можно найти здесь.
Надёжность
Надёжность особенно важна в тех сферах, где дефекты ПО критичны (например, в космической или медицинской отрасли, машиностроении). Ошибки в приложениях с высокими требованиями к надёжности могут привести к потерям миллионов долларов или даже человеческим жертвам.
Для написания надёжного кода разработчики используют специальные стандарты (например, MISRA C, MISRA C++, AUTOSAR Coding Guidelines).
PVS-Studio помогает искать отклонения от этих стандартов. Таблицы соответствия диагностик PVS-Studio:
При работе со стандартами MISRA будет полезен отчёт MISRA Compliance. Его можно сгенерировать при помощи утилит из состава PVS-Studio. Подробнее – здесь.
Защищённость
Защищённый код устойчив к атакам злоумышленников: SQL-инъекциям, XSS, XXE и не только. Защищённость особенно важна в приложениях, которые работают с пользовательскими данными (в банковском ПО, веб-приложениях и т. д.).
Чтобы приложения были защищёнными, команды выстраивают цикл безопасной разработки (SSDLC). Один из его этапов – поиск проблем безопасности с помощью SAST (static application security testing).
PVS-Studio – SAST-решение, которое ищет дефекты безопасности и помогает повысить защищённость кода.
Таблицы соответствия диагностик PVS-Studio списку потенциальных уязвимостей и стандартам безопасной разработки:
- Common Weakness Enumeration (CWE)
- OWASP ASVS (Application Security Verification Standard)
- SEI CERT Coding Standards
Среди всех дефектов безопасности выделяют наиболее опасные и распространённые. Узнать о том, как PVS-Studio помогает в борьбе с ними, можно здесь:
Бенчмарки для сравнения анализаторов кода
Чтобы оценить эффективность работы статических анализаторов, используются специальные бенчмарки. Они состоят из набора фрагментов кода и помогают оценить, хорошо ли анализатор находит проблемы и не выдаёт ли ложных предупреждений.
Покрытие различных бенчмарков анализатором PVS-Studio:
- Toyota ITC Benchmarks: 49%. Методика расчёта – здесь.