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

相关文章

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

uva 10916 Factstone Benchmark(打表)

题意是求 k ! <= 2 ^ n ,的最小k。 由于n比较大,大到 2 ^ 20 次方,所以 2 ^ 2 ^ 20比较难算,所以做一些基础的数学变换。 对不等式两边同时取log2,得: log2(k ! ) <=  log2(2 ^ n)= n,即:log2(1) + log2(2) + log2 (3) + log2(4) + ... + log2(k) <= n ,其中 n 为 2 ^

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

OWASP十大安全漏洞解析

OWASP(开放式Web应用程序安全项目)发布的“十大安全漏洞”列表是Web应用程序安全领域的权威指南,它总结了Web应用程序中最常见、最危险的安全隐患。以下是对OWASP十大安全漏洞的详细解析: 1. 注入漏洞(Injection) 描述:攻击者通过在应用程序的输入数据中插入恶意代码,从而控制应用程序的行为。常见的注入类型包括SQL注入、OS命令注入、LDAP注入等。 影响:可能导致数据泄