WEB应用安全评估标准- OWASP ASVS的整理介绍

简介: 今天完善了ASVS的PPT。整理成WORD了。 WEB应用安全评估标准- OWASP  ASVS  (Application Security Verification Standard) 一、什么是ASVS uThe OWASP Appl...

今天完善了ASVS的PPT。整理成WORD了。

WEB应用安全评估标准- OWASP  ASVS 
(Application Security Verification Standard)
一、什么是ASVS
uThe OWASP Application Security Verification Standard (ASVS) Project provides a basis for testing web application technical security controls.
uThe purpose for the ASVS is providing a standard of communication between software vendors and customers. The customer can ask 'How secure are you,' the vendor can answer 'THIS secure,' and everyone is on the same page.
uBy nature, the ASVS is platform independent and free of technical detail. It is simply a listing of security controls, subcategorized by topic and ordered by relative difficulty to implement. This lends itself tremendously well to supporting the development of an application security platform for any software - not just for communication with tool vendors.
uUse as a metric - Provide application developers and application owners with a yardstick with which to assess the degree of trust that can be placed in their Web applications,
uUse as guidance - Provide guidance to security control developers as to what to build into security controls in order to satisfy application security requirements, and
uUse during procurement - Provide a basis for specifying application security verification requirements in contracts.
二、怎样使用ASVS?

1.告知团队软件要有应用的安全测试计划,

2.确定至少达到的安全级别,建议至少1级。

3.与安全区域的验证点进行匹配查找,查找由于安全考虑,开发设计需要做改变的地方。

4.分派责任给开发团队,修改程序。

5.执行验证所选择的安全级别对应的验证
 举例
u一公司自己研发门户,开发团队遵循公司自己的SDLC进行开发,开发过程中,公司的安全团队要验证门户的安全性,可以采用自动化工具进行扫描。整个研发过程,参考ASVS的评估点进行设计、开发。
u同时,可以要求外部的专业安全渗透公司和专业人员,对客户端程序进行安全验证,采用ASVS中的一系列评估点评估。
u如果安全级别要求很高,还需要安全渗透人员,对源码、文档、程序、业务逻辑进行安全验证,依据ASVS中的评估点。



三、ASVS的历史版本

08/2014 – OWASP ASVS  2.0

06/2009 – OWASP ASVS “Release” 1.0

12/2008 – OWASP ASVS “Beta”

04/2008 – OWASP ASVS “RFP” (OWASP Summer of Code 2008)


四、ASVS 1.0与2.0的区别

u1.定义的安全级别不同。

u2.每个安全级别对应的安全区域和子项测试验证点不同。
定义的级别标准不同

ASVS 2.0---4个安全级别
uLevel 0 (Cursory)未定义,企业可以定义自己的标准,如自动扫描,强权限机制等,他适用于大部分的应用。0级不是个先决条件,如果企业没有定义了0级,则可以直接达到1级。如果定义了0级,则只有达到0级,才能达到其他级别。
uLevel 1 (Opportunistic) 能够抵御那些很容易发现的应用安全漏洞,适用于那些使用安全控制信任的系统,快速修复的系统,在有规划未来长期开发的产品的系统。
uLevel 2 (Standard) --能够抵御那些目前盛行、普遍流行的中高级风险应用安全漏洞,如OWASP TOP10,和业务逻辑的漏洞。代表了一个产业标准,大部分组织的敏感应用应该力求达到的标准,如重要的商业对商业的事务,包括哪些处理 医疗信息,执行重要商业敏感功能,其他敏感资产。
uLevel 3 (Advanced) ---能够抵御所有高级的应用安全漏洞,包括展示好的设计标准。包括了哪些很难被发现,必须高手有经验的攻击者花费精力锲而不舍的挖掘才能发现的漏洞。验证范围:包括本身写的代码,也包括第3方组件,但第3方组件是可选的,他没必要达到ASVS标准。

定义的安全验证区域和验证点不同

1.ASVS1.0中的V1\V12\V13\V14在ASVS2.0版本中的其他区域的验证点中包含了。

2.ASVS1.0包含121个验证点。ASVS2.0包含168个验证点。

安全验证区域

ASVS 1.0

ASVS 2.0

V1.安全架构

——

V2. 认证

V3. 会话管理

V4. 访问控制

V5. 输入验证

V6.输出解码与验证

V7. 密码或密钥算法安全

V8. 异常处理与日志

V9. 数据保护

V10. 传输安全

V11. HTTP 安全

V12. 安全配置

——

V13. 恶意代码查找

——

V14. 内部代码安全

——

V15.业务逻辑

——

V16.文件资源安全

——

V17.移动应用安全

——

ASVS 2.0 安全验证:13个区域,168个点

全需求区域

1级评估点

2级评估点

3级评估点

HTTP安全

3

7

7

传输安全

1

5

9

恶意攻击控制

0

0

11

会话管理

7

14

14

密码密钥安全

0

5

7

敏感数据保护

2

4

8

访问控制

8

12

13

认证

8

19

21

输入验证

9

13

16

文件资源安全

6

10

10

业务逻辑

0

10

10

移动应用

4

13

28

异常处理与日志

1

9

14

总计

49

121

168


五、ASVS 2.0 介绍

uASVS定义了4级,在深度上逐级增加。验证者职责要验证目标满足所有的定义级别的需求。如果满足所有N级需求,则说明应用程序达到了N级 安全标准。如果只满足了部分需求,而达到了低级别的如N-1,N-2的,则说应用程序达到了N-1,N-2级 安全标准
u验证的范围广度包含程序的组成部分的每一个安全需求,不仅包含编写的代码,也包含引用的外部组件。

六、建议各应用采用的安全级别
u这只是个参考标准,每个企业可以定义自己的标准。
uLevel 1: 所有互联网可访问的应用程序。
uLevel 2:含有少量或适当数量敏感医疗信息(受保护的卫生信息)的应用程序,个人身份信息,支付数据等业务应用。产品目录信息,内部团体信息,及拥有有限用户信息的应用程序(如联系方式)。含有少量或适量支付数据或付款功能的应用程序
uLevel 3: POS所包含的大量交易数据可能被用来进行诈骗。这包括为这些应用程序预留的任何管理接口。拥有大量敏感信息如全额信用卡卡号,母亲的姓,社会保险卡号等的应用程序。应用程序用来控制医疗设备,器件,或记录内容,这些都可能危及到人类生命。POS包含的大量交易数据可能被用来进行犯罪诈骗。包括这些应用程序的任何管理接口。

目录
相关文章
|
17天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
1月前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之做的web服务计费如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
407 3
|
9天前
|
缓存 负载均衡 数据库
优化后端性能:提升Web应用响应速度的关键策略
在当今数字化时代,Web应用的性能对于用户体验至关重要。本文探讨了如何通过优化后端架构和技术手段,提升Web应用的响应速度。从数据库优化、缓存机制到异步处理等多个方面进行了深入分析,并提出了一系列实用的优化策略,以帮助开发者更好地应对日益增长的用户访问量和复杂的业务需求。
15 1
|
9天前
|
缓存 监控 数据库
Flask性能优化:打造高性能Web应用
【4月更文挑战第16天】本文介绍了提升Flask应用性能的七大策略:优化代码逻辑,减少数据库查询,使用WSGI服务器(如Gunicorn、uWSGI),启用缓存(如Flask-Caching),优化数据库操作,采用异步处理与并发(如Celery、Sanic),以及持续监控与调优。通过这些手段,开发者能有效优化Flask应用,适应大型或高并发场景,打造高性能的Web服务。
|
11天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
14天前
|
JavaScript 前端开发 API
Vue.js:构建高效且灵活的Web应用的利器
Vue.js:构建高效且灵活的Web应用的利器
|
22天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
1月前
|
前端开发 JavaScript 安全
深入探索 Qt6 web模块 WebEngineCore:从基础原理到高级应用与技巧
深入探索 Qt6 web模块 WebEngineCore:从基础原理到高级应用与技巧
76 0
|
1月前
|
缓存 监控 应用服务中间件
如何使用负载均衡器提升Python Web应用的性能?
【2月更文挑战第27天】【2月更文挑战第94篇】如何使用负载均衡器提升Python Web应用的性能?
|
1月前
|
物联网 调度 开发者
构建高效Python Web应用:异步编程与Tornado框架解析
【2月更文挑战第27天】 在处理高并发的Web应用场景时,传统的同步阻塞模型往往难以满足性能需求。本文将深入探讨Python世界中的异步编程概念,并结合Tornado这一轻量级、非阻塞式Web服务器及框架,展示如何构建高性能的Web应用。通过实例驱动的方法论,我们将剖析Tornado的核心组件,包括其IOLoop、异步HTTP客户端和服务器端处理机制,以及与协程集成的细节。文章旨在为开发者提供一套实践指南,帮助他们利用Python实现快速响应和资源高效的Web服务。
31 2