OWASP Top 10漏洞解析(9)- Security Logging and Monitoring Failures
Web应用程序安全一直是一个重要的话题,它不但关系到网络用户的隐私,财产,而且关系着用户对程序的新人。随着Web应用程序功能持续增加,复杂性不断提高,这些程序也面临着越来越多的安全威胁和挑战。
为了帮助这些应用程序的开发团队和安全人员了解和防范这些威胁,提高安全意识,编写更安全的代码,OWASP(Open Web Application Security Project,开放式Web应用程序安全项目)发布了一份标准指南,称为OWASP Top 10。
这是一份关于Web应用程序安全风险的标准指南,它基于全球范围内的安全专家和数据提供者的共识,列出了当前最严重、最关键的10种Web应用程序安全风险,并提供了相应的防范措施和建议。OWASP Top10 每隔几年会更新一次(目前已经发布了六个版本,分别是2004年、2007年、2010年、2013年、2017年和2021年),最新的版本是在2021年发布的OWASP Top10:2021。
已解析的OWASP漏洞
- OWASP Top 10漏洞解析(1)- A1:Broken Access Control 访问控制失效:https://bbs.huaweicloud.com/blogs/400993
- OWASP Top 10漏洞解析(2)- A2:Cryptographic Failures 加密机制失效:https://bbs.huaweicloud.com/blogs/405125
- OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击:https://bbs.huaweicloud.com/blogs/407990
- OWASP Top 10漏洞解析(4)- A4:Insecure Design 不安全的设计:https://bbs.huaweicloud.com/blogs/414812
- OWASP Top 10漏洞解析(5)- A5:Security Misconfiguration 安全配置缺陷: https://bbs.huaweicloud.com/blogs/420057
- OWASP Top 10漏洞解析(6)- A6:Vulnerable and Outdated Components:https://bbs.huaweicloud.com/blogs/424642
- OWASP Top 10漏洞解析(7)- Identification and Authentication Failures:https://bbs.huaweicloud.com/blogs/427299
- OWASP Top 10漏洞解析(8)- Software and Data Integrity Failures:https://bbs.huaweicloud.com/blogs/429695
“安全日志和监控失效”缺陷详情
安全日志和监控来自于TOP 10 业界社区调查结果(排名第3),由 2017 年的第十名略微上升至第9名。日志和监控的测试具有挑战性,如果在渗透测试期间被检测到攻击,通常还会涉及访谈或询问的方式。这个类别的缺陷没有太多的CVE/CVSS 数据,但是该类型漏洞的检测和响应却是至关重要的。此类型的缺陷在责任制、可见性、时间报警和取证方面是非常有影响力的。这个类型的缺陷不仅包括cwe-778 不充分的日志,还扩展到CWE-117 日志输出中和不当、CWE-223安全相关信息遗漏和CWE-532将敏感信息插入日志文件。
常见的“安全日志和监控失效”缺陷类型
回到2021 OWASP TOP10,该缺陷类别目的在于帮助检测、升级和响应活跃的漏洞攻击。如果没有日志记录和监控,漏洞攻击将无法被检测到。不充分的日志记录、检测、监控和主动响应,可能在任何时候发生:
- 可审计事件(如登录、登录失败和高价值交易)未被记录。
- 警告和错误未生成日志信息,或生成的日志消息不充分或不清晰。
- 应用程序和API 的日志未监控到可疑活动。
- 日志仅记录在本地。
- 没有适当的警报阈值和响应升级流程,或这些流程是无效的。
- 渗透测试和动态应用安全测试(DAST)工具(比如OWASP ZAP)的扫描未触发警报。
- 应用程序无法实时或近似实时的检测、升级或警报活跃的攻击。
由于将日志记录和警报事件暴露给用户或攻击者,用户容易受到信息泄露的攻击。
如何防止该缺陷的发生
开发人员应根据应用程序的风险,实施以下部分或全部控制措施来防范该缺陷的发生:
- 确保所有登录、访问控制和服务器端输入验证失败都会被记录,并包含足够的用户上下文,以识别可疑或恶意账户,并保存足够长的时间以允许延迟的取证分析。
- 确保日志以日志管理解决方案能够轻松处理的格式生成。
- 确保日志数据正确编码,以防止对日志记录或监控系统的注入或攻击。
- 确保高价值交易具有完整性控制的审计跟踪,以防止篡改或删除,例如append -only的据库表或类似的机制。
- DevSecOps 团队应建立有效的监控和警报机制,以便快速检测和响应可疑活动。
- 建立或采用事件响应和恢复计划,例如国家标准与技术研究院(NIST)800-61r2或更高版本。
业界存在商业和开源性质的应用程序保护框架,例如 OWASP ModSecurity 核心规则集,以及开源日志关联软件,如 Elasticsearch、Logstash、Kibana(ELK)堆栈,提供自定义仪表板和警报功能。
举个栗子
场景1
由于缺乏监控和日志记录,一家儿童健康计划提供商的网站运营商未能检测到数据泄露。外部机构后续通知该健康计划提供商时,一名攻击者已访问并修改了超过350万名儿童的数千条敏感健康记录。事后审查发现,网站开发人员未解决重大漏洞。由于系统没有日志记录和监控,这次数据泄露可能自2013年以来一直在进行,持续时间超过七年。
场景2
一家主流印度航空公司发生了数据泄露事件,涉及数百万乘客超过十年的个人数据,包括他们的护照和信用卡信息。数据泄露发生在一家第三方云托管服务提供商处,该提供商在一段时间后通知了航空公司这一泄露事件。
场景3
一家主流欧洲航空公司遭遇了一起《通用数据保护条例》(GDPR)报道的数据泄露事件。据报道,攻击者利用支付应用程序的安全漏洞,窃取了超过40万条客户支付记录。隐私监管机构因此对该航空公司处以2000万英镑的罚款。
参考链接
- 点赞
- 收藏
- 关注作者
评论(0)