一、简介

OWASP(Open Web Application Security Project)是一个非盈利性的社区,致力于提高软件的安全质量,减少安全漏洞。OWASP在2013年、2017年分别发布了OWASP Top 10 2013及OWASP Top 10 2017两个版本,从官网获悉,时隔4年,在OWASP社区成立20周年之际即将发布OWASP Top 10 2021,目前该版本还是草案阶段,本文对该草案进行简要的介绍说明,预计与正式版本不会有太大变化,当然官网上也明确说明此版本为草案评论版本,不要使用。目前在Github上有专门的项目对最新的Top 10问题进行讨论,可参见https://github.com/OWASP/Top10/issues。

二、草案初窥

OWASP Top 10 2021是一个全新的版本,与2017版本相比有比较大的变化。OWASP项目组通过分析了超过500000个应用程序的脆弱性数据以及行业调研得出的结论。通过分析应用程序脆弱性数据本质上讲是分析的历史数据,通过对行业应用程序安全专家的调研则可以用于预测未来的趋势。下图是2021版草案与2017版的对应关系。

 OWASP TOP 10 2021 草案初窥_OWASP TOP 10

在2021版草案中引入了3个新的分类,其余的分类名称及其范围发生了变化,有的则进行了合并。下面一一进行简要的介绍:

1、A01:2021-Broken Access Control,失效的访问控制

该脆弱性与2017年名称一致,但是从2017年的第5名上升到了2021年的第1名,被测试的程序中,94%都存在不同形式的失效的访问控制。失效的访问控制有各种不同的表现形式,比如敏感数据暴露给未授权的用户、数据发送时敏感数据泄露、未授权访问URL资源、权限提升等等。

2、A02:2021-Cryptographic Failures,密码失败

该脆弱性由2017年的A03:2017-Sensitive Data Exposure更名为了2021年的A02:2021-Cryptographic Failures密码失败,并且排名从2017年的第3名上升到了2021年的第2名。敏感信息泄露通常是表现出来的形式,而不是问题的根本原因,更名后更加关注于因为密码失败而导致的敏感数据泄露。密码失败主要关注数据安全,企业中的敏感数据,比如登录鉴权信息、个人敏感信息、金融数据、经营信息等等。同时我们应当结合数据的状态,比如静态数据、传输数据、使用中的数据等共同制定合适的保护措施,如加密算法、加密强度、是否使用证书、是使用链路加密还是使用数据本身加密等等。

3、A03:2021-Injection,注入攻击

2021版Injection注入攻击合并了2017版的Injection以及2017版的XSS跨站脚本攻击,注入在排名上下滑到了第3名,但是本身的威胁仍然是非常严重的,被测试的94%的应用程序都存在不同形式的注入攻击。常见的包括SQL注入、OS命令注入、LDAP注入以及本版本合并的XSS注入等等,但XSS注入与前面几类注入是有区别的,本质上讲XSS是客户端攻击,而其余的几类是服务器侧的攻击,这也是在GITHUB讨论项目中有一些争议的地方。

4、A04:2021-Insecure Design,不安全的设计

不安全的设计是2021版新引入的一个问题,并且排名第4,因此可以看到该脆弱性所带来的安全风险是有多么严重。该问题主要关注设计与架构的安全缺陷,需要引入更有效的安全建模、安全设计模式及参加体系架构。本质上讲这是开发安全的问题,为了更加有效的降低安全威胁,要求我们在项目一开始即引入安全保障,在需求、设计、编码、测试、实施、运维的各个环节进行安全把控。

5、A05:2021-Security Misconfiguration,安全配置错误

该脆弱性延用了A06:2017-Security Misconfiguration的名称,合并了A04:2017-XML External Entities(XSS),并且排名上升了1名排到了第5名。软件越来越可配置化,因此安全配置引入的问题也越来越多,比如权限配置错误、缺省的账号及密码未修改、启用了不需要的服务端口等等。

6、A06:2021-Vulnerable and Outdated Components,脆弱及过期的组件

该脆弱性为2017版的A09:2017-Using Components with Known Vulnerabilities,在2021版本中修改为A06:2021-Vulnerable and Outdated Components,该脆弱性的排名上升表达了脆弱的、过期的组件所带来的安全问题。随着中间件、开源组件的不断应用,相关组件的测试、更新、维护、补丁安装都成了一个难题。

7、A07:2021-Identification and Authentication Failures,身份及认证失败

该脆弱性对应为2017版的A02:2017-Broken Authentication,从第2位下降到了2021版的第7位,但是这版也强调了身份标识,虽然排名有所下降,但是并不代表它的威胁降低了。身份是一切信息活动的基础,因此需要对用户身份进行标识,系统需要对用户进行身份认证,进行会话管理。身份及认证失败同样会导致诸如敏感信息泄露、失效的访问控制等相关的问题。

8、A08:2021-Software and Data Integrity Failures,软件与数据完整性失败

这是2021版本中新引入的一个脆弱性分类,与A04不安全的设计稍有不同,该本分主要关注软件更新、重要数据、CI/CD持续集成过程中的完整性验证问题,同时该分类合并了2017版本的A08:2017-Insecure Deserialization。因此在进行序列化与反序列化时应当确保数据的完整不被篡改、下载安装软件时进行完整性校验确保未被恶意修改等等。

9、A09:2021-Security Logging and Monitoring Failures,安全日志记录及监控失败

安全日志记录及监控是通过行业调研而来的,为2017版的A10:2017-Insufficient Logging&Momitoring,与2017年相比上升了1位。通常需要关注恶意行为是否被记录,是否有足够的信息用于事中的监控告警及事后的问题溯源。

10、A10:2021-Server-Side Request Forgery(SSRF),服务器侧伪造

该脆弱性来自行业调研,并且是2021版本中新引入的,当WEB应用程序获取远程资源而又没有对用户提供的URL进行验证时就会存在SSRF安全缺陷。使恶意用户可以通过该应用程序发送精心制作的请求至非预期的目标。​

三、一些看法

虽然目前Owasp top10 2021还是草案版本,最终版本可能会有一些差异,但是预计不会有太大的变化,并且我们可以通过该草案仍然可以看出来一些趋势,随着威胁种类的增加,也加剧了我们应用程序遭受安全威胁风险的严重程度。个人认为2021版本呈现出了几个比较显著的特点,具体如下:

1、威胁分类更加抽象化

从前面的列表不难看出2021版中,A03:2021-Injection包括了A01:2017-Injection以及A07:2017-Cross-Site Scripting(XSS),注入的对象并没有区分是服务器侧还是客户端侧,都统一归纳为了注入,与此类似的还有A05:2021-Security Misconfiguration,这两类是存在合并的特点,结果就是这两类脆弱性的范围扩大了,可以囊括更多的内容。A02:2021-Cryptographic Failures也变得更加的抽象,个人理解该类别的核心问题就是要让引起大家对数据安全的关注。该类别也指出了敏感数据泄露的本质问题,除了安全访问控制外就是对数据进行加密,包括加密传输、加密存储、销毁加密等等。除此以外,纵观该列表的其他类别,除了A10:2021-Server-Side Request Forgery(SSRF)指定了一种明确的攻击外,其他类别都是概括的这一类别的攻击,每一类别的攻击还包括更细的内容。

2、注重开发安全

 OWASP TOP 10 2021 草案初窥_OWASP TOP 10_02

随着安全态势的发展,安全思路也从被动防御向主动防御转变,开发安全工作是其中重要的一环。如何从根本上减少产品所面临的安全威胁,如何将安全保障的特性嵌入到产品的生命周期中,如何在不影响产品的开发周期进度的情况下尽可能的融入安全特性,更进一步是如何利用产品的安全特性提升产品的市场竞争力,这些都是我们作为信息安全从业者需要不断思考的问题。目前涌现出了各种开发安全的流程及工具帮助我们在产品需求阶段提出安全需求、进行安全威胁建模,在设计阶段进行安全评审,在编码阶段进行安全编码,在测试阶段进行代码扫描审计、安全功能测试以及安全保障能力测试,最后进行上线风险评估测评等。但是这些流程工具要想在企业中完整的引入并且落地,需要强有力的领导及能力才可以完成,我相信对于大部分企业来讲还存在不小的挑战。

3、关注历史也关注未来

从2021版本成文的背景来看,除了基于大量的真实测试案例的数据分析以外,也同时采纳了对行业专家调研的分析数据。A06:2021-Vulnerable and Outdated Components有大量的测试数据支撑同时在专家调研表中也排名第2,A09:2021-Security Logging and Monitoring Failures在行业调研中排名第3及A10:2021-Server-Side Request Forgery(SSRF)在行业调研中排名第1。历史数据代表过去发生的事件,而行业专家调研则代表对行业趋势的判断。

 

本文至此结束,本文大部分内容来自官网,少量内容则是个人的一些看法。最后让我们共同期待OWASP Top 10 2021版本的正式发布,同时也祝OWASP 20周年快乐,在下一个10周年、20周年给我们信息安全行业带来更多的期待和改变!​

四、相关的参考链接

1、OWASP官网:https://owasp.org/ 

2、OWASP TOP 10官网介绍:https://owasp.org/Top10/

3、OWASP TOP 10 GITHUB项目:https://github.com/OWASP/Top10/issues

4、国外博客:https://www.darkreading.com/application-security/owasp-reshuffles-its-top-10-list-adds-new-categories

5、CWE官网:http://cwe.mitre.org/index.html