一、OWASP介绍
OWASP被视为Web应用安全领域的权威参考,在2009年发布的美国国家和国际立法、标准、准则、委员会和行业实务守则参考引用了OWASP。美国联邦贸易委员会(FTC)强烈建议所有企业需遵循OWASP十大WEB弱点防护守则。国际信用卡数据安全技术PCI标准更将其列为必要组件。OWASP组织为英国GovCERTUK提供SQL注入参考和为欧洲网络与信息安全局(ENISA), 云计算风险评估参考。OWASP TOP 10为IBM APPSCAN、HP WEBINSPECT等扫描器漏洞参考的主要标准。
作为一个501c3非盈利的全球性安全组织,致力于应用软件的安全研究。使命是使应用软件更加安全,使企业和组织能够对应用安全风险做出更清晰的决策。目前OWASP全球拥有130个分会近万名会员,共同推动了安全标准、安全测试工具、安全指导手册等应用安全技术的发展。
二、OWASP TOP10
1、版本
版本 | OWASP TOP 10 2013 | OWASP TOP 10 2017 | OWASP TOP 10 2021 |
A1 | Injection 注入攻击 | Injection 注入攻击 | Broken Access Control 失效的访问控制 |
A2 | Broken Authentication and Session Management 失效的验证与连接管理 | Broken Authentication 失效的身份认证 | Sensitive Data Exposure 敏感数据泄露 |
A3 | Cross-Site Scripting,XSS 跨站脚本攻击 | Sensitive Data Exposure 敏感数据泄露 | Injection 注入攻击 |
A4 | Insecure Direct Object References 不安全的直接对象引用 | XML External Entities,XXE XML外部处理器漏洞 | Insecure Design 不安全设计 |
A5 | Security Misconfiguration 安全配置错误 | Broken Access Control 失效的访问控制 | Security Misconfiguration 安全配置错误 |
A6 | Sensitive Data Exposure 敏感数据泄露 | Security Misconfiguration 安全配置错误 | Vulnerable and Outdated Component 脆弱过时组件 |
A7 | Missiojn Function Level Access Control 缺少功能级别的访问控制 | Cross-Site Scripting,XSS 跨站脚本攻击 | Identification and Authentication Failure 识别与认证失败 |
A8 | Cross-Site Request Forgery (CSRF) 跨站请求伪造 | Insecure Deserialization 不安全的反序列化漏洞 | Software and Data Integrity Failure 软件和数据完整性故障 |
A9 | Using Components with Known Vulnerabilities 使用含有已知漏洞的组件 | Using Components with Known Vulnerabilities 使用含有已知漏洞的组件 | Security Logging and Monitoring Failure 安全日志与监测失败 |
A10 | Unvalidated Redirects and Forwards 未验证的重定向与转发 | Insufficient Logging s:18:"?php%20phpinfo();?>";}就可以很好理解这里的匹配规则。 b. REQUEST-944-APPLICATION-ATTACK-JAVA 该规则文件中,有针对远程命令执行:Apache Struts、Oracle WebLogic的检测规则、利用Java反序列化Apache Commons检测规则以及检测可疑的Java方法和Base64编码的字符串匹配可以关键字等检测规则。这里看一下关于序列化的一些检测规则。 944200: SecRule ARGS|ARGS_NAMES|REQUEST_COOKIES| !REQUEST_COOKIES:/__utm/|REQUEST_COOKIES_NAMES|REQUEST_BODY|REQUEST_HEADERS|XML:/*| XML://@* "@rx \xac\xed\x00\x05" 944210: SecRule ARGS|ARGS_NAMES|REQUEST_COOKIES| !REQUEST_COOKIES:/__utm/|REQUEST_COOKIES_NAMES|REQUEST_BODY|REQUEST_HEADERS|XML:/*| XML://@* "@rx (?:rO0ABQ|KztAAU|Cs7QAF)" 944240: SecRule ARGS|ARGS_NAMES|REQUEST_COOKIES| !REQUEST_COOKIES:/__utm/|REQUEST_COOKIES_NAMES|REQUEST_BODY|REQUEST_HEADERS|XML:/*|XML://@* "@rx (?:clonetransformer|forclosure|instantiatefactory| instantiatetransformer|invokertransformer|prototypeclonefactory|prototypeserializationfactory|whileclosure|getproperty|filewriter|xmldecoder)" 在上面三个检测规则中,可以看到使用正则对请求参数、请求COOKIE、请求体、请求头等对序列化标志(ac ed 00 05)和ConstantTransformer等类对象进行检测。 四、总结在上述的关于对OWASP CRS规则的介绍中,可以了解到CRS规则检测的覆盖范围是全面的。分为请求头阶段、请求体阶段、响应头阶段、响应体阶段以及日志记录阶段。本文中介绍了CRS规则在请求过程中对注入攻击和反序列化攻击的几个检测方法。其实深入了解到CRS的检测规则以后,可以看出,在当前WAF的检测攻击行为中,无论是其中传统的正则表达式检测方法,还是使用参数对知识库类的文件内容调用,还是其中SQL注入和XSS攻击的中使用Libinjection配合检测。其目的是为了减少在真实环境中的误报等情况。在减少误报的情况下,再使其横向拓展检测。其实在CRS规则中,对CVE-2014-6271、CVE-2017-10271等已知漏洞的检测是已经体现到的。 在本文介绍后关于OWASP CRS核心规则以后,不难了解到针对开源、可自主编写的OWASP CRS规则,如果现有的WAF可以兼容使用其规则,其实是可以将WAF对相关的攻击检测策略更加的完善、更加的及时有效。 |
转载请注明来自网盾网络安全培训,本文标题:《开源OWASP CRS规则》
- 关于我们