首页> 外文期刊>Information and software technology >Static analysis of source code security: Assessment of tools against SAMATE tests
【24h】

Static analysis of source code security: Assessment of tools against SAMATE tests

机译:静态分析源代码安全性:评估针对SAMATE测试的工具

获取原文
获取原文并翻译 | 示例
       

摘要

Context: Static analysis tools are used to discover security vulnerabilities in source code. They suffer from false negatives and false positives. A false positive is a reported vulnerability in a program that is not really a security problem. A false negative is a vulnerability in the code which is not detected by the tool. Objective: The main goal of this article is to provide objective assessment results following a well-defined and repeatable methodology that analyzes the performance detecting security vulnerabilities of static analysis tools. The study compares the performance of nine tools (CBMC, K8-lnsight, PC-lint, Prevent, Sat-abs, SCA, Goanna, Cx-enterprise, Codesonar), most of them commercials tools, having a different design. Method: We executed the static analysis tools against SAMATE Reference Dataset test suites 45 and 46 for C language. One includes test cases with known vulnerabilities and the other one is designed with specific vulnerabilities fixed. Afterwards, the results are analyzed by using a set of well known metrics. Results: Only SCA is designed to detect all vulnerabilities considered in SAMATE. None of the tools detect "cross-site scripting" vulnerabilities. The best results for F-measure metric are obtained by Prevent, SCA and K8-Insight. The average precision for analyzed tools is 0.7 and the average recall is 0.527. The differences between all tools are relevant, detecting different kinds of vulnerabilities. Conclusions: The results provide empirical evidences that support popular propositions not objectively demonstrated until now. The methodology is repeatable and allows ranking strictly the analyzed static analysis tools, in terms of vulnerabilities coverage and effectiveness for detecting the highest number of vulnerabilities having few false positives. Its use can help practitioners to select appropriate tools for a security review process of code. We propose some recommendations for improving the reliability and usefulness of static analysis tools and the process of benchmarking.
机译:上下文:静态分析工具用于发现源代码中的安全漏洞。他们患有假阴性和假阳性。误报是报告的程序漏洞,实际上并不是安全问题。否定错误是该工具中未检测到的代码漏洞。目标:本文的主要目标是根据定义明确且可重复的方法提供客观的评估结果,该方法可分析性能检测静态分析工具的安全漏洞。该研究比较了九种工具(CBMC,K8-Insight,PC-lint,Prevent,Sat-abs,SCA,Goanna,Cx-enterprise,Codesonar)的性能,其中大多数工具具有不同的设计。方法:我们针对C语言针对SAMATE参考数据集测试套件45和46执行了静态分析工具。其中一个包含具有已知漏洞的测试用例,另一种包含已修复的特定漏洞的设计。然后,通过使用一组众所周知的指标来分析结果。结果:仅SCA旨在检测SAMATE中考虑的所有漏洞。这些工具都无法检测“跨站点脚本”漏洞。 F-measure度量的最佳结果是通过Prevent,SCA和K8-Insight获得的。分析工具的平均精度为0.7,平均召回率为0.527。所有工具之间的差异都是相关的,可以检测不同类型的漏洞。结论:结果提供了经验证据,支持了直到现在还没有客观证明的普遍主张。该方法是可重复的,并且可以根据漏洞覆盖率和检测最多数量的,几乎没有误报的漏洞的有效性,对经过分析的静态分析工具进行严格排名。它的使用可以帮助从业人员为代码的安全性检查过程选择适当的工具。我们提出了一些建议,以提高静态分析工具和基准测试过程的可靠性和实用性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号