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

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.mzph.cn/news/715966.shtml

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

相关文章

电子电气架构——AUTOSAR架构下EcuM唤醒源事件详解

电子电气架构——AUTOSAR架构下EcuM唤醒源事件详解 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人…

Verilog原语、Verilog保留关键字

Verilog基元 Vivado合成支持Verilog门级原语,下表所示除外。 Vivado合成不支持Verilog开关级原语,例如以下原语: cmos、nmos、pmos、rcmos、rnmos、rpmos rtran、rtranif0、rtranif1、tran, tranif0,tranif1 门级…

Qt/自定义控件的封装

新建文件,选择Qt设计师界面类 创建空界面 这是自己控件封装的文件,双击跳转到设计界面进行设计 跳转到其他的ui界面,创建一个widget 右键,选择提升为 在提升的类名称输入刚刚创建的类名,添加后选择提升,勾选…

政安晨【示例演绎虚拟世界开发】(五):从制作一个对战小游戏开始(Cocos Creator 《击败老大》)(第二段)

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: AI虚拟世界大讲堂 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 现在我们已经学会了如何向场景中添加图片,接下来继…

计算机设计大赛 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 🔥 优质竞赛项目系列,今天要分…

Leetcode630. 课程表 III

Every day a Leetcode 题目来源:630. 课程表 III 解法1:反悔贪心 经验告诉我们,在准备期末考试的时候,先考的课程先准备。同理,lastDay 越早的课程,应当越早上完。但是,有的课程 duration 比…

2023年09月CCF-GESP编程能力等级认证Scratch图形化编程四级真题解析

一、单选题(共15题,共30分) 第1题 人们所使用的手机上安装的 App 通常指的是( )。 A:一款操作系统 B:一款应用软件 C:一种通话设备 D:以上都不对 答案:B 第2题 下列流程图的输出结果是?( ) A:9 B:7 C:5 D:11 答案:A 第3题 默认小猫角色,执行下列程序…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑时空相关性的流域水风光多能互补系统高维不确定性场景生成方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 这篇文章的标题涵盖了以下几个关键方…

【C++】用命名空间避免命名冲突

🌸博主主页:釉色清风🌸文章专栏:C🌸今日语录:如果神明还不帮你,说明他相信你。 🪷文章简介:这篇文章是结合谭浩强老师的书以及自己的理解,同时加入了一些例子…

NOC2023软件创意编程(学而思赛道)python小高组初赛真题

软件创意编程 一、参赛范围 1.参赛组别:小学低年级组(1-3 年级)、小学高年级组(4-6 年级)、初中组。 2.参赛人数:1 人。 3.指导教师:1 人(可空缺)。 4.每人限参加 1 个赛项。 组别确定:以地方教育行政主管部门(教委、教育厅、教育局) 认定的选手所属学段为准。 二、…

MATLAB知识点:if条件判断语句的嵌套

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自​第4章:MATLAB程序流程控制 我们通过一个…

基于springboot+vue的教师工作量管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

Java集合-Map接口

在Java中,Map接口表示键值对的集合,其中每个键都是唯一的,并且每个键映射到一个值。Map接口是集合框架中的一部分,位于java.util包中。它定义了一系列操作来管理键值对,例如添加键值对、删除键值对、获取键对应的值等。…

7.1.1 selenium介绍及安装chromedriver

目录 1. Selenium的用途 2. 安装Selenium库 3. 安装chromedriver 1. 查看谷歌版本号​编辑 2. 找到最新版本及下载 3. 配置环境变量 4. 检测是否配置成功 5. 用python初始化浏览器对象检测: 6. 参考链接 1. Selenium的用途 在前面我们提到:在我…

Github项目推荐-LightMirrors

项目地址 https://github.com/NoCLin/LightMirrors 项目简述 “LightMirrors是一个开源的缓存镜像站服务,用于加速软件包下载和镜像拉取。目前支持DockerHub、PyPI、PyTorch、NPM等镜像缓存服务。 当前项目仍处于早期阶段。”–来自项目说明。 也就是说&#xff…

RocketMq——Consume相关源码

摘要 RocketMQ只要有CommitLog文件就可以正常运行了,那为何还要维护ConsumeQueue文件呢? ConsumeQueue是消费队列,引入它的目的是为了提高消费者的消费速度。毕竟RocketMQ是基于Topic主题订阅模式的,消费者往往只关心自己订阅的…

定制开发一款家政小程序,应知应会

引言 在这个快节奏的现代生活中,人们对高效、便捷的家政服务的需求日益增加。随着社会结构的变化和职业生活的繁忙,许多家庭面临着时间不足、精力不济的挑战。在这种情况下,家政服务成为解决问题的有效途径。然而,传统的家政服务…

Python——桌面摄像头软件(附源码+打包)

目录 一、前言 二、桌面摄像头软件 2.1、下载项目 2.2、功能介绍 三、打包工具(nuitka) 四、项目文件复制(我全部合到一个文件里面了) 五、结语 一、前言 看见b站的向军大叔用electron制作了一个桌面摄像头软件 但是&#x…

如何在jupyter notebook 中下载第三方库

在anconda 中找到: Anaconda Prompt 进入页面后的样式: 在黑色框中输入: 下载第三方库的命令 第三方库: 三种输入方式 标准保证正确 pip instsall 包名 -i 镜像源地址 pip install pip 是 Python 包管理工具,…

新项目,Linux上一键安装MySQL,Redis,Nacos,Minio

大家好,我是 jonssonyan 分享一个我的一个开源项目,这是一个在 Linux 平台上一键安装各种软件的脚本项目,脚本使用 Shell 语言编写,后续还会增加更多软件的一键安装,代码在 GitHub 上全部开源的,开源地址如…