分享!一文简析RASP技术

众所周知,log4j 2.x安全事件引起了轩然大波,对于信息安全从业者来讲可以称之为“家喻户晓”。与之同时引起大家关注的是RASP(Runtime application self-protection)技术,该技术在2014年Gartner的应用安全报告里被列为应用安全领域的关键趋势。虽然并不新颖,而受到如此多的关注还是头一次。之所以如此,是因为RASP可以增强WAF防护工具的安全能力,形成纵深防御的安全防护体系。

RASP是一种内置或链接到应用程序环境中的安全技术,与应用程序融为一体,实时监测、阻断攻击,使程序自身拥有自我保护的能力。那么,RASP技术是如何应用、优势好处又有哪些呢?本篇文章为大家简析RASP的相关内容,让大家对RASP技术有更多的了解。

RASP的工作原理

RASP技术是一种基于服务器的技术,一旦应用程序运行开始时就会激活。而且,所有RASP产品都包含一个运行时监视器,该监视器接收带有关联数据的连续事件流。每个RASP系统都有自己的一组安全规则列表,用于交叉检查事件和相关数据,以确保只有允许的事件才能执行。其中,每种RASP技术提供的保护级别取决于安全规则的深度以及实现类型。

例如,RASP系统可能会出现以下事件: 

使用参数val = 42 和 key = 0xffe01234 调用“加密” 。

那么,RASP系统如何确定是否允许此调用需要根据情况而定。如有一些RASP产品允许基本的“数据清理”规则。这些规则检查字符串参数中的可执行代码。但是,仅仅孤立地检查函数调用序列和发送给这些调用的数据,有许多安全方面是无法充分监控的。

为了实现更高级的RASP安全级别,在RASP解决方案中需要两个元素:动态上下文和元数据。

第一个元素,动态上下文,涉及到事件的调用逻辑。例如,RASP规则可以设计为仅允许在“check_credentials”的后方可调用“open_file”,但不能在“factorial”后调用。再例如,另一个规则可以设定为“free_memory”只能在“allocate_memory”之后,并且“free_memory”的参数需要与“allocate_memory”返回的值相匹配。通常,动态上下文指的是时间条件,如“执行事件A 需要先满足事件B”,“在调用D之前,需要先调用C”等等。

第二个元素,元数据,指的是“关于数据的数据”。例如,在对“encrypt”的调用中,RASP工具可以检查“key”的值是否由受信任的密钥存储库发出的,并且在发出后直到“encrypt”函数使用它之前没有被修改过。当通过指针从内存中读取一个值时,RASP可以检查这个指针是否允许引用该内存。此外,当通过网卡向外部发送数据时,RASP可以检查该数据是否包含敏感信息,从而可以防止在网络上暴露敏感数据。

RASP安全方法

RASP工作在应用层,因此每个产品都需要以某种方式与应用程序集成。监控应用程序使用(调用)或执行(运行时)的方法有多种,每种方法的部署略有不同,收集的应用程序运行方式略有不同。

Servlet 过滤器和插件:一些RASP平台作为Web服务器插件或Java Servlet实现,通常安装到Apache Tomcat或 Microsoft .NET中以处理入站HTTP请求。插件在到达应用程序代码之前过滤请求,将检测规则应用于收到的每个入站请求。匹配已知攻击特征的请求被阻止。这是一种相对简单的将保护改造到应用程序环境中的方法,可以有效地阻止恶意请求,但它没有提供其他类型集成可能的深入应用程序映射。

库/JVM替换:通过替换标准应用程序库、JAR文件甚至Java虚拟机来安装某些RASP产品。这种方法基本上劫持了对底层平台的调用,无论是库调用还是操作系统。RASP平台被动地“看到”对支持功能的应用程序调用,在请求被拦截时应用规则。在此模型下,RASP工具可以全面了解应用程序代码路径和系统调用,甚至可以学习状态机或序列行为。更深入的分析提供上下文,允许更细粒度的检测规则。

虚拟化或复制:这种集成有效地创建了应用程序的副本,通常作为虚拟化容器或云实例,并在运行时检测应用程序行为。通过监控应用程序代码路径,请求结构、参数和 I/O 行为,将规则应用于应用程序请求,并阻止恶意或格式错误的请求。

RASP常见用例

通常情况下,使用RASP可以帮助DevOps团队和开发人员实现如下四点:

1.业务程序运行时情境安全

应用程序安全测试(AST)工具有助于在开发测试阶段发现漏洞,但是当应用程序在运营的生产环境中时,缺少漏洞的检测防护能力;而RASP技术将保护引擎植入应用程序内部,基于行为进行上下文威胁的实时检测和防御,不依赖外部防护设备就可以保证业务运行时安全。

2.保护安全软件开发生命周期(S-SDLC)的正常完成

企业在使用DAST和IAST等应用程序测试技术的同时,应该在软件开发过程中使用RASP保护应用程序来完成安全软件开发生命周期(S-SDLC)。例如,在安全编码阶段当出现安全漏洞,并不确定需要修复哪些漏洞?应该使用白名单还是黑名单的方法?哪些字符应该在输入数据中被删除或允许?等等诸多问题时,修复已经被利用的漏洞并将RASP插件放入应用程序的部署包中,可以降低安全漏洞发生的风险,确保代码的构建过程安全完成。

3.保护开源/第三方代码应用程序安全

由于开源软件使用比较便利,众多软件开发人员在应用程序的开发中使用了此类软件,但是由于开源软件中的安全漏洞比较严重,缺失系统的安全审查机制,使得软件供应链攻击呈现上升趋势。而RASP技术在不需要修改代码的情况下,可以实时保护开源软件和第三方代码中的漏洞。

4.与WAF构建积极防御的安全防线

当下,应用程序主要依赖外部保护,如WAF或IPS(入侵防御系统 Intrusion Prevention Systems),因此需要在应用程序中构建安全特性,以便在运行时保护自己。RASP 可以在应用程序运行时检测内存中写的数据或检测未经授权的数据库访问。而且,RASP具有实时能力,可以采取诸如终止会话、发出警报甚至退出进程等操作。这些功能使RASP可以和企业内现有的WAF进行互补。

RASP的好处

由于RASP在服务器上运行,因此只要应用程序开始运行,它就会启动。一旦应用程序开始运行,RASP 就会监视网络的攻击面以检测新出现的威胁并保护它免受任何负面的内部或外部行为的影响。

1、RASP可以提供有关攻击者准确、可见的信息,及时溯源,为保护应用程序提供了可见性。

2、只要Web应用程序开始运行,RASP会自动启动运行,保护系统的安全性。以防止任何威胁行为,包括网络嗅探、篡改代码、逆向工程和未经身份验证的数据泄漏。

3、与Web应用程序防火墙 (WAF) 不同,RASP具有更高的准确性,因为它可以洞察应用程序逻辑和配置、事件和数据流、执行的指令和数据处理。而且在预生产中很容易部署,能成功阻止攻击。

4、RASP可随应用程序在本地、云、虚拟环境或容器中进行部署,为DevOps提供安全特性。RASP 在大规模分布式环境中的优势在于,它可以轻松地跨环境部署,并将其保护调整到安装它的每个应用程序或微服务。无需更改代码或配置,因为嵌入应用程序的微代理会自动适应服务堆栈。

5、RASP提供篡改检测功能,并将保护功能添加到应用程序的运行时环境中,从而提高了针对恶意攻击的保护级别。且拥有查看基于边界的解决方案无法查看的横向或“东西向”流量的能力。

6、RASP 可以通过适当的可见信息在测试工作中帮助和补充开发团队。通过使用仪表板,应用程序威胁情报可以与提供的有关已测试部分、最不安全部分、存在安全威胁的代码行、交易信息等的信息相结合。

应用场景

根据前面讲到的RASP安全特性我们可以看出来,RASP为应用程序增加了威胁可见性和安全控制,帮助企事业单位持续发现应用威胁并实时阻止。那么,此技术又比较适合应用于什么场景中呢?

1、持续攻防演练

网络攻防演练活动兴起以来,不断衍生出攻、防技术,尤其是云原生、AI等新技术的不断应用,更多复杂、难预见的攻击手段应运而生。对于防守方而言,不能单纯依赖于无法看到应用程序内部威胁的流量嗅探边界(IPD/IDS、WAF)的解决方案,需要一种更有效的方法以更高的可见性监控安全事件。而RASP工具将防护引擎嵌入到应用内部,可以在不依赖请求特征的情况下,准确的识别代码注入、反序列化等应用异常,弥补了传统防护工具的缺失;同时,又可以对威胁事件进行实时监控和响应,利于在攻防对抗中及时进行策略调整,及时应对。

2、紧急漏洞防御

0day漏洞是比较常见且难以防御的一类威胁,一旦被发现将对系统造成不可估量的损失。RASP代理位于应用程序内部,在运行时根据应用程序代码的上下文检查请求负载,以确定请求是正常请求还是恶意应用程序来保护自己,可以更好的应对此类安全威胁。此外,也包括一些应急的漏洞,都有较好的防御效果。

3、高级威胁防御

“道高一尺魔高一丈”,安全防护措施的不断加强,势必引起攻击者执行新的攻击策略。诸如无文件攻击、WebShell攻击、内存马攻击等攻击手段不断被应用,而传统的安全防护工具容易被绕过。RASP基于行为分析技术,通过规则匹配、污点追踪的检测方法,可以对此类攻击事件进行实时监测,发现威胁数据源,做好安全防御。

由于RASP的内容比较多,本篇文章简单为大家讲述了部分内容,后面将会慢慢更细致的将RASP技术分享给大家,希望大家对该技术有更深刻的了解和认知。

参考链接:

https://securosis.com/blog/understanding-and-selecting-rasp-technology-overview

https://info.dovermicrosystems.com/blog/what-is-rasp

云鲨RASP

更多详情尽在:https://rasp.xmirror.cn/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,454评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,553评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,921评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,648评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,770评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,950评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,090评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,817评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,275评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,592评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,724评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,409评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,052评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,815评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,043评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,503评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,627评论 2 350

推荐阅读更多精彩内容