在攻防的战场上,0day漏洞无疑是一种极具破坏力的大杀器。它们是那些尚未被公开的、未知的安全漏洞,攻击者可以利用这些漏洞发起突袭,给防守方带来巨大的挑战。
随着攻防实战的常态化,以前防守方常用“非常有效”的如简单的封禁和拔网线等方式,今后将变得不现实。
攻击者有多种途径可以针对应用程序发起攻击,包括钓鱼、0day/Nday漏洞等都是常见的攻击方式。要想在这场没有硝烟的战争中取得胜利,就需要一套能够精准抓0day神器,尤其是应用侧0day。
对于一些经常爆发漏洞的开源软件和第三方组件而言,漏洞存在位置和利用方法可能不同,但是在进行利用时,执行到应用代码底层,往往都会聚集到一些“敏感”函数上,如反序列化、数据库执行、命令执行、文件操作、响应返回等相关函数。如果通过RASP技术对这些底层“敏感”函数调用做一定识别阻断,即可免疫大部分0day攻击。因此,从此类实践应用出发,RASP天然可作为漏洞热修复和免疫0day漏洞的应用安全疫苗。
当RASP发现一个应用做了它正常不应该做的事情时,大概率意味着当前应用已经被攻击者利用漏洞攻陷并做了一些高危操作(比如命令执行、文件读取、文件上传、SSRF等)。
而应用的行为类型,相比于变幻无穷近乎无限的流量特征来说,往往是可以穷举的。从应用行为异常的角度去检测,范围可以大幅收敛到有限的类型,这是RASP可以无视流量特征并且不依赖规则更新就可以防御几乎全部0day(包括加密流量和内存马)的根本原因。
0day和一些弱特征漏洞利用方式之所以难以防御的原因,上文已经提及。但不管流量特征如何变化,漏洞利用的本质:还是要回归到让应用来做一些不安全的动作上——也就是应用行为或者企图。
为应用植入原生安全能力——青藤天睿RASP,补足传统安全缺失的应用内部视角,通过插桩技术将主动防御能力融合至应用程序运行环境中,捕捉并拦截各种绕过流量检测的威胁攻击,如内存马、SQL注入、0day攻击等,让应用具备强大的自我防护能力,帮助企业发现和治理应用风险,保障应用运行时的安全。
0day攻击防护:通常攻击检测是依赖已有规则,0day漏洞无相应规则所以容易绕过。RASP对攻击的检测是基于无规则的逻辑检测,能够接管并监控应用程序的底层调用,而攻击必然会产生后续动作,如数据库访问、命令执行等均无法绕过底层调用,所以RASP对已知攻击和未知0day攻击都能有效防护。
内存马攻击防御:内存马攻击具备极高的隐蔽性和危害性,只有深入应用内部检测才能形成有效防御。青藤天睿针对内存马攻击提供三道防护屏障,在内存马的攻击路径上层层拦截,从而对意图注入及已注入的情形实现全面防护。
应用热补丁:针对漏洞修复成本高、影响大、难推进的问题,青藤天睿可在应用不重启的情况下,对运行中的应用提供补丁修复,并可对新爆发的漏洞随时更新相应修复能力,高效支持热点漏洞的应急响应。
弱密码检测:青藤天睿通过登录行为来监控弱密码登录情况,支持应用和中间件弱密码检测,可根据企业要求设置检测规则。登录过程被动识别弱口令,不主动扫描,所以不会引起账号锁定等问题,并可获取明文检测比对更加精准。
数据链路监测:青藤天睿能够获取应用完整的调用链路信息,得知API的数据传递链路,从而在数据追踪上发挥出众的代码定位效果;能够呈现应用内部微服务的拓扑信息,据此得知服务调用关系,发现调用风险;能够呈现不同应用之间的访问关系,发现异常访问连接。
组件清点检测:随着开源组件频发漏洞,应用的供应链安全问题备受关注,青藤天睿能够在应用运行时实时监控和发现组件库真实的调用情况,并获取例如组件库的版本信息,分析其存在的风险,提供完整的组件库安全治理能力,避免供应链攻击的发生。
适配性和兼容性高:适配所有Java版本,与其他Java Agent兼容性好,不影响系统已有功能。
RASP运行于应用程序内部,专注于应用层的安全场景,可以与HIDS、WAF等形成高质量纵深防御体系,尤其是在攻防演练、应用风险监测、恶意攻击防护、漏洞在线修复等场景中发挥重要作用。
攻防演练:攻防演练中应用攻击是常用且高效的攻击手段,而大多传统安全工具无法检测容器微服务流量和加密流量,对触达应用的威胁无能为力。青藤天睿深入应用程序内部,提供东西向流量到内部调用的可视,有效拦截0day、内存马等各类攻击。
应用风险监测:开源组件漏洞频发,青藤天睿提供在应用运行过程中的实时风险监测能力,对应用中间件存在的漏洞进行准确识别,并能够发现应用弱密码等显著风险问题,提供完善的风险画像,指导用户完成风险问题确认和推进修复。
恶意攻击防护:传统入侵防护方案对未知攻击缺乏检测能力,尤其0day、内存马等难防护的攻击。青藤天睿对攻击的检测基于无规则的逻辑检测,对应用底层调用进行监控,让攻击无法绕过,并为安全人员提供详尽的攻击链路,方便漏洞定位及复现。
开发人员和IT团队正在努力将安全产品嵌入到工具和构建过程中,就像他们使用自动化工具来构建和测试产品功能一样,尽可能让安全策略自动化。
RASP正好可以满足这一要求,其完全集成到应用内部。它可以在应用运行的任何地方运行,并且随着应用的扩展而扩展——无论它是在裸机上运行、虚拟化还是在云中。RASP让安全软件表现得就像应用代码一样,真正为应用植入原生的安全能力。安全团队正在寻找一种有效且更易于管理的应用安全工具来替代WAF,而开发团队的目标则是寻找那些可以完全嵌入到现有的应用构建和认证流程中解决方案。当然,现有的WAF并没有被“完全替换”,但在云中或更敏捷的开发团队中使用的较少。
为了与开发流程协作,RASP解决方案需要像现代应用开发一样敏捷,通常从兼容的自动化能力开始。它需要通过在构建时到应用堆栈中与应用程序一起扩展。它应该“理解”应用程序并根据应用程序运行时定制其保护。尤其是那些正在努力实现“安全左移”开发团队,会更希望在应用全生命周期(包括开发、预生产、生产环境)都能够获得安全可视化。
●有效性:RASP通过在应用上下文中运行来覆盖更广泛的应用威胁,并且可以运行在阻断模式和监控模式两种模式下工作。这一点在当前应用威胁的情况下尤为重要,例如通过SSRF(服务器端请求伪造)攻击Capital One云的事件。
●应用感知:许多WAF提供“主动”的安全能力(白名单),但嵌入应用程序RASP提供了额外的安全可视性。此外,一些RASP平台通过识别可疑模块或代码行来协助开发人员。对于许多开发团队来说,更好的检测能力不如RASP精确定位脆弱代码重要。
●API支持和自动化:像RASP这样的安全产品支持通过API提供完整的平台功能,使软件工程师能够在他们的原生环境中与RASP合作。
●覆盖范围和语言支持:这仍然是RASP的最大问题,大多数RASP支持为像Java和样的核心平台提供全面支持;除此之外,对于Python、PHP等的支持仍然有些不够。我们建议将平台 语言支持的广度作为RASP产品成熟度和产品选型重要标志。
●预部署验证:在生产周期中越早发现错误,修复起来就越容易。与其依赖于应用部署后的漏洞扫描器和渗透测试人员,越来越多的应用安全测试是在预部署阶段进行的。当然,其他以应用为中心的工具也可以做到这一点,但RASP更容易构建到自动化测试中,通常可以确定应用程序的哪些部分存在漏洞,并且通常用于红队演习和预生产的“蓝/绿”部署场景中。
青藤天睿RASP可以很好满足上述衡量指标,像“免疫血清”一样注入到应用程序内部,使应用程序在运行时实现自我安全保护,帮助用户实时检测和阻断已知与未知的安全攻击,为应用程序提供全生命周期的动态安全保护。