分享!RASP的技术应用
众所周知,所有的Web应用程序和Web API都会遭到攻击,如常见的XSS、SQL注入、文件路径遍历、和命令注入;还有像Spring Framework中的OGNL注入(CVE-2017-5638)和Java不安全反序列化(CVE-2018-0147)攻击等也是常见的攻击类型,RASP凭借它的优势在阻止上述攻击上交出了漂亮的答卷。
RASP的优势
传统的应用保护安全采用防火墙(WAF)部署在Web应用前线,通过对HTTP/HTTPS的有目的性的策略来达到对Web应用的保护。Web应用程序防火墙在HTTP流量到达应用服务器之前对其进行分析,但是基于流量的检测分析手段容易被绕过。
每个应用程序都有其特有的漏洞,这意味着只能被定向的攻击所利用。所以,一个对应用程序或API完全无害的HTTP请求可能对另一个来说是毁灭性的。
仅仅通过查看HTTP请求来判断攻击属性是片面的,很容易造成漏洞的错误甄别从而对程序带来毁灭性的影响。
举个“栗子”,为了保护Web应用这次活动的顺利举行,WAF作为安保人员会有一个黑名单(特征库)上面记录了不允许入内的坏人。WAF需要做的事情就是根据黑名单进行核对,但道高一尺魔高一丈,坏人也会对自己进行伪装,他们将自己乔装成工作人员逃避WAF的搜查。即使特征库在不断更新,却也总是落人一步,导致误报率居高不下。
RASP则在这方面更加敬业,他能够应用在Web与非Web的程序中。且RASP以探针的方式存在于代码中,能够精准检测WAF漏测的特定风险,实现自我防护。
再举个“栗子”:有了前车之鉴,人们意识到再严格的保安也不如独家的保镖,一字之差,云泥之别。RASP像贴身保镖一样对应用24小时随身保护,将自己与应用融为一体。这意味着即使有坏人乔装打扮溜进活动内场,只要他有任何的攻击倾向就会立刻被RASP识别从而做出反应保护代码安全。
RASP的技术应用
不同于流量监测,RASP针对应用行为上的攻击。通常,RASP可以做到:
01
抵御未知漏洞
相比于传统的边界产品,RASP不需要依赖规则。在去年波及范围较广的Log4j2事件中,RASP展示出它过人的优势。
在Web应用安全中,攻击的入口防不胜防,但最终攻击的方式是固定的。同样作为拦截漏洞,边界产品面对新产生的漏洞,由于没有对应的规则可以说是全军覆没;RASP 的防护层深入代码上下文,可以基于行为来精准识别攻击,并提供受到攻击影响的相关代码调用堆栈,协助安全团队迅速定位问题并快速制定解决方案。
新的解决方案可以以新的函数 Hook、规则、虚拟补丁的形式出现,也可以提取特征来补充边界产品规则库。使用 RASP 可以让团队在数个小时内完成整个企业、全部应用的防护加固。
02
保护关键API
API之所以难以保护主要有两方面原因,其一是协议要比简单的网站要复杂得多,API通常是带有JSON、XML、二进制或其他有效负载的HTTP,但也会使用非HTTP协议,例如 WebSocket。其二是软件中的API数据和控制流通常比简单的网站复杂得多,大多数 API使用具有自动负载解析和对象映射等功能的软件框架。
Web API攻击通常类似于普通的Web应用程序攻击,RASP可以在协议和数据格式问题得到解决后部署在应用程序层。因此,在完成网络协议和数据解析之后,它可以保护API免受相关攻击。这种方法能像完整的Web应用程序一样保护API免受攻击,所以RASP是保护关键API最理想的解决方案。
03
保护开源安全
开源安全是一个老生常谈的话题,研发过程中大量使用开源库,却很少对它们进行安全测试。大概是被偏爱的有恃无恐,存在于开源中的安全漏洞总会突然跳出来给大家当头一棒。RASP的出现让这份偏爱更加稳定,它可以保护程序免受因为开源组件缺陷而引入的安全风险,是程序员想要的稳稳的幸福。
RASP涵盖了开源组件中可能出现的漏洞情况,如果漏洞属于已知类,如SQL 注入或跨站点脚本 (XSS),RASP会阻止它被利用;若漏洞属于未知类,请您返回第一个技术应用找到答案——抵御未知漏洞。
因此,无论漏洞是否已被披露,您的开源组件都会受到保护。
04
增强安全日志
大多数应用程序没能提供完整的安全日志记录,因此无法识别攻击或诊断日志内的异常和调试信息。RASP 可以在无需修改源代码或重新部署的前提下对其进行增强,具体表现在应用程序加载时将增强的安全日志记录整合到应用程序中。
通过更完整的安全日志,安全信息与事件管理可以更有效地识别攻击和违规行为,这样可以更好地了解 SOC 的应用程序层中到底发生了什么。
RASP的部署
RASP 以探针的形式,将保护引擎注入到应用服务中。随应用程序在本地、云、虚拟环境或容器中进行部署,为应用程序提供安全特性。这种特性使RASP掌握了内部所有动作的“上下文联系”,而不只是“入口流量”。
再再举个“栗子”,保安与保镖的最终对决中,二者先后遇到了随身挂着匕首的乔装访客。访客告诉保安匕首是自己的爱好,挂在身上是行为艺术。保安一看小手册确实也没这号坏人,就把他放进去了。因为没有掌握准确的行动信息,所以WAF无法拦截。
进门前是行为艺术,进门后是作案工具。乔装访客进入会场后便暴露了真实面目,作为保镖的RASP一看他动机不纯,已经掌握了其动作的上下联系,有充足的把握做出判断从而进行拦截。
此外,相比于传统的网络保护部署形式,RASP 的优势就体现在大规模分布式环境中可以轻松地跨环境部署,并将其保护调整到安装它的每个应用程序或微服务,而不是像WAF被设置在应用的外部边界上。
总结
网络安全至关重要,它对于很多领域而言都是牵一发而动全身,保护应用程序免受威胁攻击是重中之重。
RASP可以构建应用安全程序的深度防御体系,尤其是在面临未知漏洞的前提下,这将是较优的选择。
未来RASP将会部署方式与性能上进行更多提升,弥补当前市场在产品应用层的空白。