TrueFort公司采用的以应用程序为中心的安全监控方法将为企业的开发、安全、运营团队创建实时反馈循环。
云原生架构、持续集成和持续交付(CI/CD)、DevOps和站点可靠性工程(SRE)等实践使企业能够创新并加速软件产品的交付。但是,它们也颠覆了传统的软件开发和维护生命周期(SDLC),并极大地改变了企业为成功保护应用程序和业务服务所需要做的事情。
为了帮助组织确保应用程序的安全交付,TrueFort公司开发了一种称为“应用程序安全行为分析(ASBA)”的云计算工作负载保护和监视方法。应用程序安全行为分析(ASBA)基于三个关键组件:实时应用程序行为分析,持续集成和持续交付(CI/CD)安全监视,以及运行时保护。
实时应用程序的行为分析
业务应用程序通常可以通过其行为和与其他实体的关系的组合来表征。
例如,典型的零售电子商务应用程序包括使用已知API调用的服务之间的通信,这些API调用来自客户所在的时区以及与那些时区关联的网络。Web服务器、负载平衡器、缓存、文档存储和数据库之间也存在同步互动。
乍一看,企业资源计划(ERP)系统可能看起来像一个电子商务应用程序。它可能具有相互关联的Web、应用程序和数据库服务器的行为,这些服务器也具有相关的行为,例如增加的数据库活动与增加的应用程序服务器活动链接。但是与电子商务不同的是,企业资源计划(ERP)通常仅由LAN上的用户访问,其特点是比较繁忙,只有服务器端的时段与月度报告周期和批处理相关。
怀有恶意的内部人员和外部攻击者通常不知道或不在乎这些行为上的细微差别和威胁,他们认为一旦突破了企业安全边界,他们所做的任何事情就会被忽略。然而,他们的行业真的经常被忽视。
TrueFort平台通过全面剖析业务应用程序的行为以建立“正常”活动的基准模型,识别出异常和潜在威胁,从而缩小这一差距。为此,TrueFort平台将会监视每个工作负载上的数百个参数,其中包括它们的关系、依赖关系、流程以及时间波动,并将这些数据与来自其他工作负载的数据关联起来。
捕获的示例包括网络连接、进程详细信息、服务帐户、虚拟机/服务器/容器上已安装的文件系统,以及它们与其他基础设施和应用程序层以及上游和下游应用程序的关系。
基于这种全面的可见性和已建立的正常基准,应用程序安全行为分析(ASBA)可以发现重要异常情况,例如在前端应用程序服务器处于空闲状态时,数据库异常繁忙(例如Equifax公司在数据泄露期间发生的情况)。与正常基准的偏离可能表示恶意的内部人员或外部威胁参与者从异常位置和异常时间获取了对网络的访问权限。应用程序安全行为分析(ASBA)实时检测此类事件,以便快速响应、调查以及自动修复。
安全开发生命周期(SDLC)和持续集成和持续交付(CI/CD)安全监控
正在进行数字化转型的组织采用了新的开发方法。在这个过程中,他们往往发现自己面临新的风险,并打开了新的攻击面。
首先,持续集成和持续交付(CI/CD)工具链已成为一个攻击面。持续集成和持续交付(CI/CD)可以访问企业的IP(代码、数据、配置、凭据),并且没有专用的安全包装程序,但是必须保护它不受内部威胁、外部攻击者和进程泄漏的影响。
尽管像Jenkins和Spinnaker这样的持续集成(CI)工具非常有价值,并且通常用于自动化开发,其中包括工作流、质量门、升级、缺陷跟踪等,但此处的失败或受到攻击有可能对企业造成灾难性破坏。
例如,代码推送、升级和恢复越来越自动化,其恢复时间以分钟或秒为单位。恶意内部人员或外部人员对持续集成(CI)工具链的破坏可能会无限期地中断软件构建活动,也可能阻止恢复失败的服务。
在损害扩散之前,应用程序安全行为分析(ASBA)可以进行分析、检测、警告,并减轻工具链及其交付的业务流程中的危害。具体来说,应用程序安全行为分析(ASBA)可以监视多个元素,其中包括访问源代码存储库的人员或内容、从Nexus提取的人员、对Jenkins工作流所做的更改等等。应用程序安全行为分析(ASBA)还可以提供取证数据,并最终阻止未经授权的活动。
其次,在开发过程中使用第三方代码会带来安全风险,特别是随着开源组件使用的增加。当这些构件和复杂的漏洞与扫描程序发现可利用的漏洞的相对无效相结合时,安全风险将会显著增加。
TrueFort平台及其应用程序安全行为分析(ASBA)方法可通过检测行为异常来提供针对运行时应用程序保护的最后一道防线,并确保检测行为异常与执行攻击的方法无关,无论是第三方或自定义代码中的漏洞还是其他原因。
第三,虽然产品团队通常采用测试驱动开发(TDD)使软件测试实现自动化,但很少有产品具有足够的安全验证。这包括评估工件(容器、WAR文件等)、代码和API的实现,以确保在将其发布之前它们是安全的。尽管代码质量和代码分析可能会带来安全性,但不能将其视为一个包罗万象的东西。
应用程序安全行为分析(ASBA)可以提供关键的反馈循环,以增强验证阶段的防御能力。
例如,在2019年7月8日,Ruby库强密码中报告了一个零日漏洞。这个零日漏洞在数据库中没有被识别,因此没有这些漏洞源的静态和动态代码分析工具不太可能检测到问题。防火墙也受到同样的限制。也就是说,防火墙通过阻止已知威胁而不是零日攻击来保护外围并防止数据泄漏。
相比之下,应用程序安全行为分析(ASBA)会在POST活动中检测到异常统一资源定位系统(URL),并向其发出警报,该URL只在数据库遭到破坏后才发生。在此示例中,应用程序安全行为分析(ASBA)通过降低风险、影响和可能性来增加验证阶段的实力和深度。
测试阶段(UAT、负载、A:B)也是开始使用应用程序安全行为分析(ASBA)剖析正常行为的理想阶段,因为应用程序在构建后便立即起作用。通过观察用户接受、压力测试等过程中的行为,可以构建安全策略来检测、预防和保护。例如,诸如Chaos Monkey之类的工作负载模拟和弹性工具会生成流量和有价值的数据集,可用于通知站点可靠性工程(SRE)、开发事件响应流程,实施微细分策略以及使响应工作流程自动化。
运行时进行保护
在理想情况下,已部署的应用程序将吸取在开发和测试过程中的所有安全经验。这似乎显而易见,但往往被部分或完全忽视。
在Devops圈子中经常听到“我们在生产中测试”这句话。实际上这是可行的,因为部署架构、操作、规模和生产中的其他因素是唯一的。而且,A:B测试以及Canary测试、部署和操作使这种独特性更加复杂,所有这些产生了不同的用例。
应用程序安全行为分析(ASBA)通过在反馈回路中提供见解来帮助优化站点可靠性工程,实现服务水平目标,从而弥补测试与部署之间的鸿沟。
与传统的应用程序性能管理(APM)或日志分析解决方案不同,应用程序安全行为分析的实时警报和取证审核功能可以提供可行的答案,并消除查询非结构化数据的线索的需要。这样,应用程序安全行为分析(ASBA)可以在整个安全开发生命周期(SDLC)中以及部署和运行应用程序时提供对威胁的可见性。