OWASP Top 10漏洞解析(5)- A5:Security Misconfiguration 安全配置缺陷

举报
gentle_zhou 发表于 2024/01/07 23:59:50 2024/01/07
【摘要】 Security Misconfiguration 安全配置缺陷一般来说是指在对应用程序、框架、应用程序服务器、web服务器、数据库服务器等执行安全配置时,由于配置不当导致的漏洞。

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漏洞

  1. OWASP Top 10漏洞解析(1)- A1:Broken Access Control 访问控制失效:https://bbs.huaweicloud.com/blogs/400993
  2. OWASP Top 10漏洞解析(2)- A2:Cryptographic Failures 加密机制失效:https://bbs.huaweicloud.com/blogs/405125
  3. OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击:https://bbs.huaweicloud.com/blogs/407990
  4. OWASP Top 10漏洞解析(4)- A4:Insecure Design 不安全的设计:https://bbs.huaweicloud.com/blogs/414812

“安全配置缺陷”缺陷详情

本文的主题是OWASP Top10:2021中的第5条缺陷:Security Misconfiguration 安全配置缺陷,它从上个版本的第6位上升到了2021版本的第5位,因为有90%的应用程序被测试出有某种形式的安全配置缺陷,平均发生率达到4%,并且产生了超过20.8万次的通用缺陷枚举(CWE)。随着越来越多的软件转向高度可配置化,安全配置缺陷这个类别的排名有所上升并不让人赶到吃惊。
image.png

Security Misconfiguration 安全配置缺陷一般来说是指在对应用程序、框架、应用程序服务器、web服务器、数据库服务器等执行安全配置时,由于配置不当导致的漏洞,这些漏洞可能让攻击者未经授权访问某些系统数据或功能,甚至完全控制系统。

常见的“安全配置缺陷”缺陷类型

如果应用程序存在以下的情况,那么应用程序可能就因为“安全配置缺陷”存在安全方面的漏洞:

  • 应用程序的任何部分缺少适当的安全加固,或者云服务的权限配置不正确。
  • 启用或安装了不必要的功能(例如,不必要的端口,服务,页面,账户或权限)。
  • 默认账户及其密码处于启用状态且未更改。
  • 向用户泄露了堆栈跟踪信息或其他过于详细的错误信息。
  • 对于升级过的系统,最新的安全功能被禁用或未安全地配置。
  • 应用程序服务器,应用程序框架(例如,Struts,Spring,ASP.NET),库,数据库等的安全设置未设置为安全值。
  • 服务器不发送安全标头或指令,或者这些值未设置为安全值。
  • 软件过时或存在漏洞。

而且,如果没有一个一致的,可重复使用的应用程序安全配置过程,系统还会面临更高的风险。

如何防止该缺陷的发生

安全的安装过程应该被实施,包括:

  • 建立一个可重复的加固过程,支持快速、简单地部署一个适当稳定的环境。开发、测试和生产环境应该配置一致,但每个环境使用不同的凭证。这个过程应该做到自动化。
  • 搭建一个最小化平台,不存在任何不必要的功能、组件、文档或样例;移除或不安装任何不使用的功能和框架。
  • 创建一个任务,它依据所有安全通知、相关更新、补丁配置,来执行安全审视和配置变更(可参照 A06:2021-易受攻击和已淘汰的组件)。并且也支持审查云存储权限(例如 S3 bucket 的权限)。
  • 构建一个可分割的应用程序架构,提供有效和安全的组件或租户之间的分离,使用分段,容器化或云安全组(ACLs)。
  • 支持向客户端发送安全指令,例如,安全标头。
  • 完善一个自动化的过程,支持验证所有环境中的配置和设置的有效性。

举个栗子

场景1

应用程序服务器自带了一些示例应用程序,这些应用程序没有从生产服务器上移除。不巧且不幸的是,这些示例应用程序存在已知的安全缺陷,那么攻击者就会利用这些缺陷来入侵服务器。假设其中一个应用程序是管理控制台,而默认账户没有被修改过,那么攻击者就可以用默认密码登录,并接管现网服务器。

场景2

服务器没有禁用目录列表功能。攻击者发现他们可以简单地列出目录,因此轻松地找到并下载了编译后的Java类文件,然后对其进行反编译和逆向工程来查看代码。攻击者随后发现了应用程序中一个严重的访问控制缺陷,那么攻击随之就会到来了。

场景3

应用程序服务器的配置允许向用户返回详细的错误信息。比如,堆栈跟踪信息,这可能会暴露出敏感信息或潜在的缺陷,例如已知易受攻击的组件版本。

场景4

云服务提供商(CSP)的默认共享权限对其他CSP用户开放了互联网访问,这使得存储在云存储中的敏感数据被访问。

参考链接

  1. https://owasp.org/Top10/A05_2021-Security_Misconfiguration/
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。