不安全设计
一、概述
在OWASP Top10中排行第4的漏洞,不安全设计是一个广泛的类别,代表许多不同的弱点,表现为“缺失或无效的控制设计”。缺少不安全的设计是缺少控制的地方。例如,想象一下应该加密敏感数据的代码,但没有方法。无效的不安全设计是可以实现威胁的地方,但域(业务)逻辑验证不足会阻止该操作。
安全设计是一种文化和方法,它不断评估威胁并确保代码经过稳健设计和测试,以防止已知的攻击方法。安全设计需要安全的开发生命周期、某种形式的安全设计模式或铺砌道路组件库或工具,以及威胁建模。
二、攻击场景示例
1. 凭证恢复工作流程可能包括“问答”,这是 NIST 800-63b、OWASP ASVS 和 OWASP Top 10 所禁止的。不能将问答作为多个人身份的证据可以知道答案,这就是为什么它们被禁止。此类代码应删除并替换为更安全的设计。
2. 连锁影院允许团体预订折扣,并且在要求押金之前最多有 15 名参与者。攻击者可以对该流程进行威胁建模,并测试他们是否可以在几次请求中一次预订 600 个座位和所有电影院,从而造成巨大的收入损失。
3. 零售连锁店的电子商务网站没有针对由黄牛运行的机器人提供保护,这些机器人购买高端显卡以转售拍卖网站。这对视频卡制造商和零售连锁店主造成了可怕的宣传,并与无法以任何价格获得这些卡的爱好者之间产生了仇恨。仔细的反机器人设计和域逻辑规则,例如在可用性的几秒钟内进行的购买,可能会识别出不真实的购买并拒绝此类交易。
三、预防措施
1. 与 AppSec 专业人员建立并使用安全的开发生命周期,以帮助评估和设计与安全和隐私相关的控制。
2. 建立和使用安全设计模式库或准备使用组件的铺好的道路。
3. 将威胁建模用于关键身份验证、访问控制、业务逻辑和关键流。
4. 编写单元和集成测试以验证所有关键流都能抵抗威胁模型。
安全配置错误
一、概述
在OWASP Top10中排行第5的漏洞,安全配置错误是比较常见的漏洞,由于操作者的不当配置(默认配置,临时配置,开源云存储,http标头配置,以及包含敏感信息的详细错误),导致攻击者可以利用这些配置获取到更高的权限,安全配置错误可以发生在各个层面,包含平台、web服务器、应用服务器、数据库、架构和代码。
二、漏洞影响
攻击者能够通过未修复的漏洞、访问默认账户、不再使用的页面、未受保护的文件和目录等来取得对系统的未授权的访问或了解。
三、攻击场景示例
1. 应用程序服务器管理员控制台自动安装后没有被删除。而默认帐户也没有被改变。攻击者在服务器上发现了标准的管理员页面,通过默认密码登录,从而接管了服务器。
2. 目录列表在服务器上未被禁用。攻击者发现只需列出目录,他就可以找到服务器上的任意文件。攻击者找到并下载所有已编译的Java类,他通过反编译获得了所有你的自定义代码。然后,他就能在应用程序中找到一个访问控制的严重漏洞。
3. 应用服务器配置允许堆栈跟踪返回给用户,这样就暴露了潜在的漏洞。攻击者热衷于收集错误消息里提供的额外信息。
4. 应用服务器自带的示例应用程序没有从生产服务器中删除。该示例应用有已知安全漏洞,攻击者可以利用这些漏洞破坏服务器。
四、预防措施
1.最小原则,移除不必要的功能、组件、文档和示例。
2.限制中间件管理界面、限制默认端口。
3.修改默认账户。