解读OWASP应用安全验证标准ASVS

news2024/11/18 21:24:26

OWASP应用程序安全验证标准(OWASP Application Security Verification Standard,ASVS)为测试web应用程序技术安全控制提供了基础,还为开发人员提供了安全开发的要求列表。

1. 简介

OWASP应用安全验证标准,是一份测试应用安全的清单,可供架构师、开发人员、测试人员、安全专家、工具供应商和消费者参考,用于定义、构建、测试和验证安全的应用。当前最新版本是Version 4.0.3, 于2021年10月发布,具体文档可点此下载(访问密码:6277)。ASVS 5.0版本的计划和路线图已经公布,关注博主,后续会持续更新。

OWASP(Open Web Application Security Project)开放网络应用安全项目是一个全球自由开放的社区,通过其社区主导的开源软件项目、全球数百个分会、数万名成员以及举办本地和全球会议,致力于提高应用软件的安全性。

2. 主要应用场景

OWASP应用程序安全验证标准(ASVS)项目的主要目的是在使用商业上可行的开放标准执行Web应用程序安全性验证时,规范可用的覆盖范围和严格程度。该标准为测试应用程序技术安全控制以及环境中的任何技术安全控制提供了基础,这些技术安全控制用于防止跨站点脚本(XSS)和SQL注入等漏洞。此标准可用于建立Web应用程序安全性的置信度。制定这些要求时考虑到以下场景:

  • 用作衡量标准:为应用程序开发人员和应用程序所有者提供一个衡量标准,用于评估他们的Web应用程序的信任程度,

  • 用作指导:为安全控制开发人员提供指导,指导他们在安全控制中构建哪些内容,以满足应用程序安全要求;

    在敏捷开发过程中,为了获得安全的产品,ASVS可以作为框架来定义团队需要实施的特定任务。 一种通用方法是:从 Level 1 开始,根据指定级别的 ASVS 要求,验证特定应用程序或系统,查找缺少哪些项目,并在待办事项中提出特定工单/任务。 这有助于对具体任务进行优先排序(梳理),并使安全在敏捷开发中可见。 这也可用于确定组织中审计和审查任务的优先;其中,特定的 ASVS 要求,可以作为团队成员审查、重构或审计的驱动因素,并可以记录到最终的待办清单中。

  • 在采购过程中使用:为在合同中规定应用程序安全验证要求提供依据。ASVS 是一个很好的框架,可以帮助确保安全软件的采购或定制开发服务的采购。 买方可以简单地设定一个要求,即他们希望采购的软件必须按照 ASVS 的 Level x 来开发,并要求卖方证明该软件满足ASVS的x级。

3. 如何使用ASVS

简单总结,ASVS其实就两个主要目标:

  • 1、帮助组织开发和维护安全的应用程序;
  • 2、允许安全服务厂商、安全工具供应商和消费者调整他们的要求和产品。

3.1. 应用安全验证级别

用程序安全验证标准(ASVS)定义了三个安全验证级别,级别越高,要求越严格:

  • ASVS Level 1: 适用于低保证级别,可通过渗透测试验证。如果一个应用程序能够充分防御 OWASP Top10 或其他类似检查表中提到的那些容易发现的安全漏洞,那么它就达到了ASVS Level 1。
  • ASVS Level 2: 适用于包含敏感数据的应用程序(需要保护),是大多数应用程序的推荐级别。如果一个应用程序能够充分抵御当今与软件相关的大多数风险,那么它就达到了ASVS Level 2(级别或标准)。
  • ASVS Level 3: 适用于最关键的应用程序:执行高价值交易、包含敏感医疗数据的应用程序,或任何需要最高级别信任的应用程序(例如军事、健康、安全和关键基础设施等领域的应用)。

每个ASVS级别都包含一个安全要求的列表。其中的每一项,都可以对应到开发人员必须在软件中建立的特定安全特性和功能。OWASP应用安全验证标准级别(4.0版)如下图所示:
在这里插入图片描述

3.2. 如何使用这个标准

使用应用程序安全验证标准(ASVS)的最佳方法之一,是将其作为一个蓝图,创建一个针对你的应用程序、平台或组织的安全编码检查表。 建议根据不同的项目场景,针对其中最重要的安全要求增加关注。

4. 具体内容

由于标准要求多达60页,在此不做展开,感兴趣的可以下载文档原件:

  • 中文版本,共62页,点此下载(访问密码:6277)
  • 英文版本,共73页,点此下载(访问密码:6277)

文章主要包含14章节内容:

  • 1架构、设计和威胁建模
  • 2认证
  • 3会话管理
  • 4访问控制
  • 5验证、过滤和编码
  • 6存储密码学
  • 7错误处理和日志记录
  • 8数据保护
  • 9通讯
  • 10恶意代码
  • 11业务逻辑
  • 12文件和资源
  • 13API和Web Service
  • 14配置
    在这里插入图片描述

5. 参考

[1] https://owasp.org/www-project-application-security-verification-standard/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二维码门楼牌管理系统:城市数字化管理的新里程碑

文章目录 前言一、二维码门楼牌管理系统的构成二、二维码门楼牌管理系统的功能三、二维码门楼牌管理系统的应用四、二维码门楼牌管理系统的未来发展 前言 随着城市管理的数字化、智能化水平不断提升,二维码门楼牌管理系统作为一种创新的城市管理方法,正…

面试复盘——14

前言 无锡的一家企业,但是看Boss上面给的薪资不高还是要求硕士…面试体验很棒,hr、技术、三个人一起的。 一面 问技术栈,接触了Go多久,先前是用什么的。 Golang的切片、特点。 切片赋值的时候如果使用,是什么拷贝…

Java面试——Redis

优质博文:IT-BLOG-CN 一、Redis 为什么那么快 【1】完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中。 【2】数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的。 【3】采用单线…

Linux——进程控制(二)进程等待

目录 前言 一、进程等待 二、如何进行进程等待 1.wait 2.waitpid 2.1第二个参数 2.2第三个参数 3. 等待多个进程 三、为什么不用全局变量获取子进程的退出信息 前言 前面我们花了大量的时间去学习进程的退出,退出并不难,但更深入的学习能为本…

【深度优先搜索】【树】【C++算法】2003. 每棵子树内缺失的最小基因值

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 深度优先搜索 LeetCode2003. 每棵子树内缺失的最小基因值 有一棵根节点为 0 的 家族树 ,总共包含 n 个节点,节点编号为 0 到 n - 1 。给你一个下标从 0 开始的整数数组 parents ,其中…

AI Earth数据集——中国10米地物分类数据集(AIEC)

AIEarth中国10米地物分类数据集(AIEC) 简介与Notebook示例 达摩院AI Earth团队自研的中国区10m分辨率地物分类产品,数据包含2020-2022年中国逐年土地覆盖信息。研究团队利用Sentinel-2 数据集,借助深度学习方法,融合了多时序、多模态、Low L…

2024真正有效的苹果mac电脑清理工具CleanMyMac X

一、前言 对于Mac用户来说,电脑卡顿、运行缓慢无疑是一件令人头疼的事情。而市面上的清理软件又五花八门,效果参差不齐,如何才能找到一款真正有效的清理工具呢?今天,我们为大家推荐一款实力派电脑清理软件——CleanMy…

Tomcat基础及与Nginx实现动静分离,搭建高效稳定的个人博客系统

目录 引言 一、TOMCAT基础功能 (一)自动解压war包 (二)状态页 1.登录状态页 2.远程登录 (三)服务管理界面 (四)Host虚拟主机 1.设置虚拟主机 2.建立站点目录与文件 二、实…

Github配置SSH免密认证

以Ubuntu Server为例 生成SSH ssh-keygen -t ed25519 -C "your_emailexample.com" 如果系统不支持Ed25519算法,使用旧的命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 根据提示生成公私钥文件,记下位置…

ABAP - SALV教程05 添加页眉和页脚

先看看效果叭CL_SALV_TABLE提供了SET_TOP_OF_LIST方法设置页眉显示和SET_TOP_OF_LIST_PRINT方法设置页眉打印来实现添加页眉的目的。CL_SALV_TABLE提供了SET_END_OF_LIST方法设置页脚显示和SET_END_OF_LIST_PRINT方法设置页脚打印来实现添加页脚的目的。这个四个方法的传入参数…

mitmproxy代理

文章目录 mitmproxy1. 网络代理2. 安装3. Https请求3.1 启动mitmproxy3.2 获取证书3.3 配置代理3.4 运行测试 4. 请求4.1 读取请求4.2 修改请求4.3 拦截请求 5. 响应5.1 读取响应5.2 修改响应 6. 案例:共享账号6.1 登录bilibili获取cookies6.2 在代理请求中设置cook…

车灯修复UV胶的优缺点有哪些?

车灯修复UV胶的优点如下: 优点: 快速固化:通过紫外光照射,UV胶可以在5-15秒内迅速固化,提高了修复效率。高度透明:固化后透光率高,几乎与原始车灯材料无法区分,修复后车灯外观更加…

unity 数学 如何计算线和平面的交点

已知一个平面上的一点P0和法向量n,一条直线上的点L0和方向L,求该直线与该平面的交点P 如下图 首先我们要知道向量归一化点乘之后得到就是两个向量的夹角的余弦值,如果两个向量相互垂直则值是0,小于0则两个向量的夹角大于90度,大于…

Vue+SpringBoot打造便利店仓库物资信息管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登陆模块2.2 便利店管理员模块2.3 菜单权限模块2.4 商品管理模块2.5 商品进货模块2.6 商品出库模块 三、系统设计3.1 总体设计3.2 可行性分析3.2.1 对现有系统的分析3.2.2 技术的可行性分析3.2.3 社会因素的分析 四…

第一篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas库

传奇开心果博文系列 系列博文目录Python的自动化办公库技术点案例示例系列 博文目录前言一、主要特点和功能介绍二、Series 示例代码三、DataFrame示例代码四、数据导入/导出示例代码五、数据清洗示例代码六、数据选择和过滤示例代码七、数据合并和连接示例代码八、数据分组和聚…

网络编程(IP、端口、协议、UDP、TCP)【详解】

目录 1.什么是网络编程? 2.基本的通信架构 3.网络通信三要素 4.UDP通信-快速入门 5.UDP通信-多发多收 6.TCP通信-快速入门 7.TCP通信-多发多收 8.TCP通信-同时接收多个客户端 9.TCP通信-综合案例 1.什么是网络编程? 网络编程是可以让设…

Tomcat负载均衡、动静分离

目录 引言 实验图解 1.实验环境搭建 2.部署Nginx服务器及配置静态页面Web服务 3.部署Tomcat服务及配置动态页面Web服务 4.实验验收 动态页面 静态页面 引言 tomcat服务既可以处理动态页面,也可以处理静态页面;但其处理静态页面的速度远远不如…

【解决方案】ArcGIS Engine二次开发时,运行后出现“正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain...”

我们在做ArcGIS Engine二次开发时,特别是新手,安装好了开发环境,满怀信心的准备将按照教程搭建好的框架在Visual Studio中进行运行。点击运行后,却出现了“正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化…

猫耳语音下载(mediadown)

猫耳语音下载(mediadown) 一、介绍 猫耳语音下载,能够帮助你下载猫耳音频节目。如果你是会员,它还能帮你下载会员节目。 二、下载地址 下载:猫耳语音下载(mediadown) 百度网盘下载:猫耳语音下载(mediadown) 三、安装教程 将下载的文件解压到D:\xibinhui,D:\Pr…