OWASP Benchmark搭建

2024-03-23 18:32
文章标签 搭建 owasp benchmark

本文主要是介绍OWASP Benchmark搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、简介
OWASP benchmark是OWASP组织下的一个开源项目,又叫作OWASP基准测试项目,它是免费且开放的测试套件。它可以用来评估那些自动化安全扫描工具的速度、覆盖范围和准确性,这样就可以得到这些软件的优点和缺点,还可以对它们进行相互比较。每个版本的OWASP benchmark都包含数千个完全可运行和利用的测试用例,每个测试用例都映射到该漏洞的相应CWE编号,所以该项目的漏洞数量和漏洞类型都是固定的,因此就可以查看扫描工具的测试报告进行对比得出该工具的误报和漏报率。

二、benchmark的评分方法
一般安全检查工具会检测出大量的漏洞,但是其中有很多都是误报的。为了得到所测试的应用程序的准确程度,benchmark设置了四种专门的测试结果:

1)工具正确识别了真实漏洞(True Positive-TP);

2)工具没有识别真实漏洞(False Negative-FN);

3)工具没有误报(Ture Negative-TN);

4)工具误报(False Positive-FP)

考虑到如果一个工具将每一行代码都标记为漏洞,则检测结果将会是100%的误报并且是没有价值的。如果该工具没有标记一个漏洞,则误报率为0,但是它也没有报出任何一个真实的漏洞,这也是没有价值的。如果一个工具随机报告每个测试是否包含漏洞,则将具有50%的真实漏洞,和50%的误报。

如下是评估安全扫描工具示意图:

此图上可以直观地显示工具检测报告的真实存在的漏洞和误报的表现,我们还可以计算出一个点的得分(0-100),将其称为Benchmark Accuracy Score(基准准确度得分),是一种Youden Index。基准准确度得分的计算方法为:

(sensitivity + specificity) – 1
Sensitivity = TPR=TP/(TP+FN)
Specificity = 1-FPR=TN/(TN+FP)
Youden Index=(sensitivity + specificity) – 1
=(TPR+1-FPR)-1
=TPR-FPR
三、benchmark v1.2 漏洞整理
benchmark中总共有2740个漏洞:

漏洞种类 数量 CWE编号
Command Injection 251 78
Weak Cryptography 246 327
Weak Hashing 236 328
LDAP Injection 59 90
Path Traversal 268 22
Secure Cookie Flag 67 614
SQL Injection 504 89
Trust Boundary Violation 126 501
Weak Randomness 493 330
XPATH Injection 35 643
XSS (Cross-Site Scripting) 455 79
Total Test Cases 2740

四、benchmark搭建(windows)
1)在运行benchmark之前首先确保电脑中已经搭建好git、maven(v3.2.3 or 更高)、java(7 or 8)。
2)下载并编译运行benchmark:
$ git clone https:// github. com /OWASP/benchmark $ cd benchmark$ mvn compile (This compiles it)$ runBenchmark. sh /. bat – This compiles and runs it.

然后用浏览器打开https:// localhost:8443/benchmark/,就可访问benchmark。

五、使用静态扫描工具对benchmark源代码进行扫描
benchmark自带了多种源代码静态扫描工具,下面说明这些工具如何使用。

使用PMD对benchmark进行扫描并得到检测报告(PMD中实际上是没有安全规则的):

cd benchmark

.\scripts\runPMD.bat

使用FindBugs产生测试报告:

cd benchmark

.\scripts\runFindBugs.bat

使用带有FindSecBugs插件的FindBugs:

cd benchmark

.\scripts\runSecFindBugs.bat

最终这些检测结果都被放置在/results目录下。检测的结果如下所示:

Benchmark_1.2-findbugs-v3.0.1-1026.xml

六、生成记分卡
产生记分卡的应用程序BenchmarkScore是内置在Benchmark中的,它对扫描工具检测结果与预测结果进行对比,并生成一组网页,详细说明所涉及工具的准确性和速度。以下命令将为/results目录中的所有结果文件计算记分卡,并将生成的记分卡放入/scorecard目录中:

createScorecard.bat


not about
http://www.45zq.cn/portal/article/index/id/38.html

这篇关于OWASP Benchmark搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/839170

相关文章

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my