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

Автор: admin от 25-07-2018, 09:55, посмотрело: 332

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


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

Common Weakness Enumeration, SEI CERT Coding Standards, а также поддерживает стандарт MISRA (сейчас находится в процессе реализации).



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




  • Соответствие CWE

  • Соответствие SEI CERT

  • Поддержка MISRA (планируем реализовать до конца 2018 года)



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



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



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



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


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



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



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



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



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



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

    Источник: Хабр / Интересные публикации

    Категория: Информационная безопасность

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent