В статье рассматривается проблема отсутствия стандартизированных критериев для оценки средств статического тестирования безопасности программного кода. Целью исследования является разработка формализованной методики сравнительного анализа анализаторов исходного кода. Авторами проведен критический обзор существующих подходов к оценке SAST-решений и выявлены их ограничения в контексте оценки полноты и точности детектирования. В качестве решения предложена авторская методика, базирующаяся на многокритериальной оценке результатов исследования. Результаты апробации разработанного инструментария на наборе статических анализаторов подтверждают, что предложенная методика позволяет количественно обосновать выбор оптимального SAST-инструмента, минимизируя влияние субъективных факторов и снижая процент ложноположительных срабатываний. Внедрение предложенной методики позволяет оптимизировать ресурсозатраты на этапе внедрения практик DevSecOps и повысить общую защищенность разрабатываемого ПО.
< ... >
The purpose of the study is to develop a formalized method for a comparative analysis of source code analyzers. The authors conducted a critical review of existing approaches to evaluating SAST solutions and identified their limitations in the context of assessing the completeness and accuracy of detection. As a solution, the authors proposed an original method based on a multi-criteria evaluation of the research results. The results of the developed toolkit testing on a set of static analyzers confirm that the proposed method allows to quantify the choice of the optimal SAST tool, minimizing the influence of subjective factors and reducing the percentage of false positives. The implementation of the proposed method allows to optimize the resource consumption at the stage of implementing DevSecOps practices and improve the overall security of the developed software.
Keywords:
SAST, static code analysis, comparative analysis method, software code security, machine learning, multi-criteria evaluation, evaluation criteria