只有 50% 的应用程序安全问题是与代码相关的缺陷。另外50%是设计级问题。如何解决这些问题:通过架构分析。
Verizon对世界各地发生的大量违规和攻击样本进行年度评估,并分析导致重大攻击的最常见问题和关键领域。在本文中,我们将讨论Verizon报告中的三种特定安全事件模式,以及架构分析评估如何帮助组织在软件开发生命周期(SDLC)的早期检测和预防这些问题。
销售点 (POS) 入侵
销售点 (POS) 入侵是指攻击者试图通过破坏运行 POS 应用程序的计算机/服务器来捕获支付数据。此类攻击可能源于社会工程攻击(如电话以获取凭据)到涉及多个步骤的更复杂的机制。过去三年的趋势显示POS攻击持续增长(2013年有173次,2014年有196次,2015年有396次)。
通常,POS 入侵是由于使用弱身份验证控制来远程访问存储敏感信息(如用户密码或信用卡详细信息)的系统。对于较小的组织,攻击者通常通过猜测或暴力破解密码来对 POS 系统进行直接攻击,这可能是因为密码复杂性策略较弱。对大型组织的攻击通常包括多个步骤,攻击者在以 POS 为目标之前会破坏其他系统。
过去妥协的一个主要因素是使用默认凭据,但最近的转变是被盗凭据。导致这些违规成功的其他因素是 POS 系统中普遍缺乏安全控制和审核日志、网络分段不足以及 POS 设备软件中的漏洞。
体系结构分析评估可以帮助检测这些弱点,并提供补救指导,以防止它们在违规中被利用。架构分析有助于识别薄弱或缺失的安全控制,因此是从各个角度分析对 POS 系统的访问的有效方法。例如,它可以评估密码复杂性策略、凭据存储和多重身份验证控制,以确定它们是否足以防止对 POS 系统的这些类型的攻击。该分析还可以识别对其他组件和系统的依赖关系,以突出显示在其他内部系统遭到入侵时可以利用的弱点。根据Verizon的报告,这是大规模POS漏洞的常见攻击媒介。
架构分析不仅可以识别技术故障,还可以识别面向流程的漏洞。例如,它可以分析添加或修改用户访问权限的过程是否必须遵循一系列批准和验证检查,以及是否审核这些检查以避免滥用。
内部威胁和权限滥用
最突出和最常见的安全事件模式之一是内部威胁。内部人员通常在其组织内具有高度的信任度,因此更容易访问关键信息,例如信用卡号、SSN 和银行帐户信息。因此,缺乏集中的数据分类和 PII 清单,加上不适当的访问控制,很容易导致灾难。
为了履行其职责,某些用户需要不时提升的权限来访问应用程序存储的敏感数据。但是,持续且未经审核的特权访问可能会导致这些内部人员滥用的风险增加。
另一个风险是,数据库特权用户的意外更改或配置错误可能会向恶意最终用户提供敏感数据访问。Verizon违规报告指出,大多数内部违规行为都是由最终用户进行的,而不是开发人员或系统管理员。蓄意内部攻击的原因包括个人经济利益和沮丧的员工通过泄露敏感的内部信息来发泄不满。
体系结构分析评估可以帮助识别驻留在应用程序中的数据,对数据进行适当分类,并评估现有的控件是否足以保护数据。它可以进一步评估参与者(内部人员和外部人员)及其特权,以确保他们遵循最小特权和职责分离原则,这有助于防止特权滥用。最后,架构分析还可以帮助识别应用程序日志记录和审计跟踪中的缺陷,这在发生内部违规时作为威慑和取证调查的宝贵信息来源都很重要。
网页应用攻击
Verizon的2015年数据泄露调查报告(DBIR)显示,9.4%的攻击与Web应用程序有关。这些攻击的原因包括缺乏双因素身份验证、配置错误、暴力攻击以及缺乏导致数据泄露的流量出口过滤器。
渗透测试和代码审查是组织用来识别 Web 应用攻击的主要工具。但是,您可以使用体系结构分析来补充这些评估。架构分析审查评估关键的安全控制,以防止应用程序受到潜在的 Web 相关攻击的危害。这些控件的一些示例包括身份验证、授权、加密、输入验证、输出编码、审核/日志记录、监视/警报、会话管理、运行时环境验证和密码存储。
评审不必局限于安全控制的验证。它还可能包括配置问题。良好的体系结构分析可以指出与安全配置错误和缺乏环境隔离相关的问题。
架构分析还可以在识别许多与 Web 应用程序相关的漏洞方面发挥关键作用。例如,应用程序中通常发现的两个主要问题是SQL注入(SQLi)和跨站点脚本(XSS)。定义明确的体系结构分析评审可以评估应用程序是否采用有效的安全控制,并遵循最佳实践来防御这些和其他常见攻击模式。
除了这些标准攻击模式之外,更高级的体系结构分析评审可以评估特定于系统的攻击并执行依赖关系分析,以发现与应用程序所依赖的框架和组件相关的漏洞。保持这些漏洞的清单并部署一个流程,确保它们保持最新状态并定期修补安全问题,对于应对机会主义网络攻击大有帮助,这些攻击占Verizon报告中分析的所有网络应用程序妥协的四分之三。
在 SDLC 中更早地保护应用程序
统计数据显示,虽然50%的安全问题是与代码相关的缺陷,但其余50%是设计级问题,仅通过代码审查或渗透测试无法有效发现。架构分析可以通过分析用于实现应用程序的基本设计原则、架构、安全控制和流程,帮助您在 SDLC 中及早发现缺陷。
体系结构分析需要深入了解应用程序体系结构。评估包括与技术团队成员(如架构师、首席开发人员和设计工程师)的访谈,以了解应用程序设计和体系结构。随后通常进行头脑风暴练习,以发现潜在的弱点。除了识别缺陷之外,这些评估还可以根据业务影响对风险进行分类,并帮助组织相应地确定风险的优先级。
通过部署架构分析,您可以在应用程序和系统中发现并防止设计级缺陷被犯罪黑客或内部人员利用。我们希望您不会成为明年版Verizon数据泄露调查报告中统计数据的一部分。
-
计算机
+关注
关注
19文章
7418浏览量
87709 -
服务器
+关注
关注
12文章
9017浏览量
85181
发布评论请先 登录
相关推荐
评论