运行时应用程序自我保护

了解RASP如何在应用程序处于软件开发生命周期时阻止潜在的恶意活动.

Rapid7 InsightAppSec产品

什么是RASP?

运行时应用程序自我保护(RASP)工具在应用程序处于生产状态时阻止潜在的恶意活动. RASP在运行时监视公司的应用程序, 分析它的行为以及行为发生的环境. 如果RASP检测到安全事件,例如试图运行shell, 打开文件, 或者调用数据库, 它将自动尝试终止该操作.

RASP可以防止主要形式的 Web应用程序攻击跨站点脚本(XSS)SQL注入(SQLi) 以及企图接管账户和其他零日漏洞. RASP对于拥有精益安全资源的企业也很有用,因为它可以在不需要人工干预的情况下自动阻止攻击.

随着对web应用程序的攻击不断增加, 企业发现正确保护所有应用程序是一项挑战, 其中一些可能包含未在早期识别或减轻的漏洞 软件开发生命周期 或者通过各种类型 应用程序安全测试. 这就是为什么在应用程序本身中包含保护可以帮助公司更好地平衡安全需求和及时推出应用程序的必要性. 

RASP的主要优点

RASP的一个关键优点是它可以实时检测和阻止对应用程序的攻击. 因为RASP在运行时在应用程序中发挥作用, 它可以看到应用程序的实际行为. 而不是基于分析预设签名或已知模式 常见的攻击,作为… web应用防火墙(WAF) RASP能够查找应用程序中发生的可疑操作吗. 

这减少了误报和waf通常产生的噪声, 提醒安全团队注意实际的恶意活动,使其不必猜测随机可疑网络事件的影响. 通过提供更准确的警报, RASP还使安全团队能够专注于战略安全优先事项. RASP还可以向用户发出警告, 教育那些无意中提出危险请求的合法用户,告诉他们请求被拒绝的原因.

因为RASP具有了解应用程序运行时上下文的优势, 它可以提供更适合应用程序特定需求的安全性——所有这些都不需要更改应用程序代码.

与web应用程序防火墙(waf)不同, 哪一种对边界上的流量和内容进行过滤,但对可能在边界内发生的活动没有可见性, 即使在攻击者突破外围防御之后,RASP仍然可以保护应用程序免受攻击. 在一个日益复杂的环境中,多个端点可能会受到损害, 这对于组织的应用程序安全性来说是一项有价值的资产. 

RASP是如何工作的

As Gartner 解释了, RASP是“构建在应用程序运行时环境上或链接到应用程序运行时环境中的安全技术”, 并且能够控制应用程序的执行, 检测和防止实时攻击.通常通过放置在服务器中的代理, RASP将安全检查添加到运行在那里的应用程序中. 然后,RASP不断评估对这些应用程序的调用,以确保它们是安全的,并且可以继续进行. 

发生明显不安全的调用时, 例如,RASP介入并阻止了它, 通过终止可疑用户会话或拒绝执行特定应用程序的请求. 这是应用程序层的额外安全层, 特别是当与安全软件开发实践和其他应用程序安全工具相结合时, 能够极大地加强组织的整体应用程序安全性吗. RASP还可以在应用程序环境中发生实时恶意操作时向安全团队提供及时准确的警报, 便于在发生袭击时迅速作出反应.

因为RASP不需要更改应用程序代码, 它不会影响应用程序设计——这意味着公司可以根据需要自由地继续开发和改进应用程序. 如果企业在可预见的未来在其环境中维护应用程序,这可能特别有益.

与WAF结合使用时, 在识别来自多个来源的可疑活动模式(如僵尸网络攻击)方面,哪种模式通常表现出色, RASP可以提供对组织面临的实际威胁的有价值的实时洞察. 而WAF可以给你一个视图, 你需要更深入地了解什么在执行,才能看到全局.

粗声粗气地说对. WAF

RASP有时会与它的表亲混淆, web应用程序防火墙, 但这两种技术实际上是截然不同的. 而WAF则使用基于已知攻击形式的静态规则,持续分析外围的应用程序流量,以查找潜在的恶意活动, RASP阻止恶意活动发生在应用程序本身. 

WAF通常需要一段学习时间才能有效,但仍然可能不够灵活,无法抵御以前从未见过的新形式的攻击, 在WAF尚未收到打击新威胁的新规则的时间窗口期内,企业可能会受到攻击. 一个粗声粗气地说, 然而, 针对应用层的各种攻击提供适应性更强的实时防御. 

因为RASP使用应用程序本身, 它仍然可以监视和保护应用程序的安全性,即使它不断更新和进一步开发. WAF和RASP可以相互补充, 结合各种力量,为企业提供更全面、更健壮的应用程序安全性. waf使您能够看到发送到应用程序的请求类型(例如, 如果有人有可疑的请求模式,比如机器人暴力破解密码,或者有人用Metasploit等工具探测应用程序的漏洞).

另一方面,RASP查看应用程序如何处理这些请求. 所以,如果有人使用 Metasploit, 应用程序所有者可以看到一个漏洞导致文件被写入到它不应该在的地方, 正在系统上运行的可执行文件, 未经授权的SQL访问, 或者一些意想不到的资源被加载到网页浏览器端,这可能导致数据泄露. 

成功使用RASP的3个技巧

以下是充分利用RASP解决方案的三个技巧: 

1. RASP作为综合应用程序安全程序的一部分效果最好

RASP非常善于抵御多种形式的攻击,例如跨站点脚本和运行时的SQL注入, 但是不应该仅仅依靠它来保护企业免受存在的所有应用程序安全威胁. 通过采用 DevSecOps 在这种方法中,安全性在SDLC中向左移动,并确保您有一个全面的应用程序安全性计划, 你更有可能阻止袭击.

这取决于贵公司独特的安全要求, 您还可以选择运行具有内置WAF功能的RASP解决方案,以最大限度地发挥这两个工具提供的优势.

2. 考虑您的RASP解决方案如何与您的DevSecOps生态系统一起工作

当你在评估RASP产品时, 考虑它如何与您已有的其他工具一起工作, 特别是DevSecOps系统. 高级RASP工具可能与您现有的工具集成 SIEM, DAST, 编制,例如票务系统. 这种集成允许您的公司通过api合并多个威胁情报馈送, web钩子, 领先的技术使您能够更好地实时监控和阻止威胁.

3. 在实施之前仔细测试您的RASP解决方案

因为RASP与它所监视的应用程序集成得如此紧密, 它有时会导致性能问题. 如果这些问题严重到足以对用户产生影响, 他们可能会抱怨业绩的变化. 出于这个原因, 明智的做法是仔细测试您的RASP解决方案,以确保在您的环境中实现它之前了解它是如何影响应用程序性能的. 

随着攻击者越来越多地瞄准应用程序, 对企业来说,全面采用是必不可少的, 保护客户数据的多层应用程序安全策略. RASP使公司能够在生产中的应用程序中直接嵌入更强的应用程序安全检查, 实时准确检测并阻断潜在攻击. 由于这个原因,RASP可以成为组织的应用程序安全工具包的一个有价值的部分.

阅读更多关于Web应用程序安全的信息

了解Rapid7的Web应用程序安全产品

DevOps安全:博客的最新消息