Rasp技术介绍与实现(一)

0x01 什么是RASP

From: Rasp技术介绍与实现(一)

RASP(Runtime application self-protection)运行时应用自我保护。Gartner 在2014年应用安全报告里将 RASP 列为应用安全领域的关键趋势,并将其定义为:

Applications should not be delegating most of their runtime protection to the external devices. Applications should be capable of self-protection (i.e., have protection features built into the application runtime environment).

rasp

RSAP将自身注入到应用程序中,与应用程序融为一体,实时监测、阻断攻击,使程序自身拥有自保护的能力。并且应用程序无需在编码时进行任何的修改,只需进行简单的配置即可。

0x02 RASP能做什么

RASP不但能够对应用进行基础安全防护,由于一些攻击造成的应用程序调用栈调用栈具有相似性,还能够对0day进行一定的防护。

除此之外,利用RASP也能够对应用打虚拟补丁,修复官方未修复的漏洞。或者对应用的运行状态进行监控,进行日志采集。

0x03 WAF VS RASP

传统的WAF主要通过分析流量中的特征过滤攻击请求,并拦截携带有攻击特征的请求。WAF虽然可以有效个过滤出绝大多数恶意请求,但是不知道应用运行时的上下文,必然会造成一定程度的误报。并且WAF严重依赖于特征库,各种花式绕过,导致特征编写很难以不变应万变。

RASP的不同就在于运行在应用之中,与应用融为一体,可以获取到应用运行时的上下文,根据运行时上下文或者敏感操作,对攻击进行精准的识别或拦截。于此同时,由于RASP运行在应用之中,只要检测点选取合理,获取到的payload已经是解码过的真实payload,可以减少由于WAF规则的不完善导致的漏报。

虽然RASP拥有WAF所不具有的一些优势,但是否能够代替WAF还有待商榷。毕竟WAF是成熟、快速、可以大规模部署的安全产品。两者相互补充,将WAF作为应用外围的防线,RASP作为应用自身的安全防护,确保对攻击的有效拦截。

0x04 RASP的缺陷

注入应用中的RASP虽然带来了获取应用运行时上下文的优势,但也带来了一定的缺陷:性能消耗。应用自身在进行常规运算的同时进行了一定的安全运算,造成了一定的性能消耗。不过根据Gartner 分析师的统计,RASP带来的性能消耗在5%~10%之间,在一定程度上仍然是可以接受的。

除此之外,由于RASP需要运行在应用中,不能像WAF一样在流量入口统一部署。需要根据应用开发的技术不同使用不同的RASP。比如.net应用与java应用需要不同的RASP产品,增加了部署成本。

下篇 http://xbear.me/2016/11/21/Rasp%E6%8A%80%E6%9C%AF%E4%BB%8B%E7%BB%8D%E4%B8%8E%E5%AE%9E%E7%8E%B0%EF%BC%88%E4%BA%8C%EF%BC%89/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • @synthesize和@dynamic分别有什么作用?@property有两个对应的词,一个是 @synthes...
    笔笔请求阅读 531评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,853评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,935评论 6 342
  • 我相信每个人的圈子里都有一个特别的人。 我认识的人当中,有一个人很喜欢走路。高中的时候午休的一个小时,偶尔会去图书...
    逗逼少女阅读 579评论 2 5
  • 连续三天了,腿疼都还能接受,没有特别难受,所以睡眠质量还不错,早上起来,感觉整个人都是神清气爽的。然而,同时,这几...
    曦宝阅读 140评论 0 0