RASP 完爆 WAF 的5大理由!
Web 应用防火墙(WAF)已经成为常见 Web 应用普遍采用的安全防护工具,即便如此,WAF 提供的保护方案仍旧存在诸多不足,笔者认为称 WAF 为好的安全监控工具更为恰当。幸运的是,应用安全保护技术也在快速发展,运行时应用程序自我保护系统(简称 RASP)之概念,一经 Gartner 提出,立即受到热烈追捧。业界普遍认为 RASP 会成为新一代应用漏洞的「超级克星」。
WAF: 对应用安全防护已力不从心
Web 应用安全防火墙(WAF)部署在 Web 应用程序前线,可以实时扫描和过滤 Web 请求与用户输入的数据。因此,WAF 在监控进出 Web 应用程序/数据库的有害用户输入和不正常的数据流上非常有效率,这也使 WAF 在过去十多年间非常受欢迎。
WAF 有两种工作模式:
- 检测模式:寻找恶意输入和违规行为模式。
- 阻塞模式:拦截可疑用户输入。
WAF 具备防护多种常见安全攻击(如 SQL 注入和跨站攻击(XSS))的能力。但 WAF 基于流量分析,不理解应用的上下文,因此它也有很多与生俱来的缺陷。
WAF 最大的缺点是一旦应用程序代码有所改变,相应的配置也需要改变。一旦更新不及时或者更新失败,都会产生大量的误报(False-Positives)。当 WAF 设置为拦截模式时,这些误报会产生 DDOS 攻击或导致性能问题。
WAF 无法检查应用程序的漏洞,更无法解决已知漏洞。它不了解应用程序,不能深入到数据流里探测系统特有的问题,比如 SQL 注入。每个数据库的 SQL 语言都有诸多不同,WAF 无法防范针对具体数据库的 SQL 注入之攻击行为。
RASP 可接力 WAF 为应用程序提供更好的保护
实时应用程序自我保护(RASP)继承了 WAF 的大部分功能,使应用程序很好地保护自己。RASP 会监听每一个与应用程序交换的节点,覆盖所有应用程序的访问节点,包括:用户、数据库、网络和文件系统。
因为了解应用程序的上下文,RASP 完全清楚应用程序的输入输出,因此它可以根据具体的数据流定制合适的保护机制,从而可以达到非常精确的实时攻击识别和拦截。
RASP 的工作原理请见下图:
RASP 在可疑行为进入应用程序时并不拦截,而是先对其进行标记,在输出时再检查是否为危险行为,从而尽量减少误报和漏报的概率。这对精确性要求极高的银行、金融体系的应用程序保护尤其重要,因为这些应用程序对性能和可用性要求非常高。
RASP 优于 WAF 的5大优势
极少误报率: 不同于 WAF,RASP 不依赖于分析网络流量去寻找问题,除了发现漏洞或发现攻击行为,它通常不会发出任何声音。这样能极大地减少误报率。RASP 能非常精确地区分攻击和合法输入,而 WAF 很多时候无法做到,这大大减少了专门请人分析结果的成本,也不需要扫描修复的过程。
维护成本极低:WAF 的安装过程非常复杂,需要非常精确的配置以尽可能广的覆盖应用程序。为了获得更好的效果,几乎每次 Web 应用程序发布新版时都需要对管理员进行「培训」并对 WAF 进行针对性的重新配置。但大多数企业都无法做得这么及时与完善,这就可能导致大量的误报与性能问题。与之相对,RASP 几乎可以做到开箱即用,只需要非常简单的配置就可以使用。这得益于RASP 与应用程序融为一体的特性,在应用程序内部监控实时数据。
极高的覆盖度和兼容性: RASP 安全系统可以应用到任何可注入的应用程序,能处理绝大多数的网络协议:HTTP、 HTTPS、AJAX、SQL 与 SOAP。而 WAF 通过监控网络流量提供保护,因此只支持 Web 应用程序(HTTP)。此外,WAF 需要特定的解析器、协议分析工具或其他组件来分析应用程序使用的其他网络协议,这会导致一些兼容性与性能问题。
更全面的保护:WAF 在分析与过滤用户输入并检测有害行为方面还是比较有效的,但是对应用程序的输出检查则毫无办法。RASP 不但能监控用户输入,也能监控应用程序组件的输出,这就使 RASP 具备了全面防护的能力。RASP 解决方案能够定位 WAF 通常无法检测到的严重问题——未处理的异常、会话劫持、权限提升和敏感数据披露等等。Gartner 分析师 Joseph 很清楚地描述了这一点。
可以与 SAST 完美集成:RASP 可以与 SAST 方案无缝集成,比如静态代码分析工具(SCA)。这使得企业全程掌控产品的整个生命周期,从早期的开发阶段,一直到后期制作和部署。WAF 工具根本无法做到这一点,也不能提供任何补救措施。将 RASP 和 SAST 结合使用可以带来两个显著的好处:
提供虚拟补丁:在很多情况下,可以使用扫描工具在开发阶段发现所有已知漏洞,但由于资源和上线周期的压力,没有办法修复所有漏洞,带病上线是常有的事情。借助 RASP,企业可以放心地发布产品。RASP 就像一个大的虚拟补丁将所有漏洞都在线修复。系统可以安全运行,在资源允许的情况下再修复和更新这些漏洞。
快速缓解攻击:从另外一个角度看,使用 RASP 能快速定位漏洞,这得益于 SAST 的先期扫描结果,RASP 和 SAST 的结合使用对于大型企业尤其重要,快速修复漏洞能节约大量时间,大幅降低漏洞带来的风险。这是 WAF 所无法提供的。
诚然,WAF 是一个值得尊敬的后期安全保护工具,但是它先天的缺点导致公司不得不考虑其他选择。使用 RASP 解决方案能根本性提升应用程序的自动免疫能力,即便黑客攻击已渗入应用程序内部,也能从容应对。随着黑客技术日趋复杂,应用程序的安全性也必须发展提高。RASP 和 SAST 的组合,可以说是当今最好的应用安全保护组合。
RASP 提供商
RASP 是一个新兴的概念,现在能真正提供 RASP 服务的公司并不多,惠普是一个比较出名的大厂商有。但在国内只有一家安全初创企业 OneASP 在做 RASP 的产品,这也是一款拥有完全知识产权的国产安全产品。OneRASP(实时应用自我保护)是一种基于云的应用程序自我保护服务, 可以为软件产品提供实时保护,使其免受漏洞所累。
RASP 完爆 WAF 的5大理由!的更多相关文章
- libgo协程库:网络性能完爆ASIO异步模型(-O3测试)
在purecpp社区的github组织中有一个协程库:https://github.com/yyzybb537/libgo 近日有用户找到我,想要了解一下libgo库在网络方面的性能,于是选取已入选标 ...
- 完爆Facebook/GraphQL,APIJSON全方位对比解析(三)-表关联查询
相关阅读: 完爆Facebook/GraphQL,APIJSON全方位对比解析(一)-基础功能 完爆Facebook/GraphQL,APIJSON全方位对比解析(二)-权限控制 自APIJSON发布 ...
- 我喜欢ASP.NET的MVC因为它牛逼的9大理由(转载)
我很早就关注ASP.NET的mvc的,因为最开始是学了Java的MVC,由于工作的原因一直在做.Net开发,最近的几个新项目我采用了MVC做了,我个一直都非常喜欢.Net的MVC.我们为什么使用MVC ...
- 高校应该使用 Drupal 的10大理由
使用 Drupal 已经成为全球顶尖高校中的一种潮流,它已经被全球数以百计的院校选择并应用,无论是哈佛.斯坦福.杜克.布朗.罗格斯.剑桥.耶鲁还是其它众多知名高校,都已经选择 Drupal 作为它们理 ...
- 你该学点HTML/CSS知识的9大理由
每个人都应该学写代码——这一观点简直就是铺天盖地地映入我们眼帘.或许你会莫名其妙,程序员学代码那是理所应当,但是作为一个作家.营销人员.财务工作者甚至是工人,为什么也需要学习代码呢? 好吧,下面我会告 ...
- Spring流行的十大理由
Spring大概是每个JAVA程序员都听过的框架,但是它为什么能这么流行? 听到咕泡学院的Tom老师的公开课,下面是他总结的阿里为什么选择Spring的十大理由,我觉得这也是Spring能流行的原因: ...
- 使用Visual Studio进行 Android开发的十大理由
[原文发表地址]Top 10 reasons to use Visual Studio for C++ Android Development! Visual Studio: C++跨平台的移动解决方 ...
- 选择阿里云数据库HBase版十大理由
根据Gartner的预计,全球非关系型数据库(NoSQL)在2020~2022预计保持在30%左右高速增长,远高于数据库整体市场. 阿里云数据库HBase版也是踏着技术发展的节奏,伴随着NoSQL和大 ...
- oracle DBA坚持写博客的7大理由
对于Oracle DBA来说,甚至IT技术人员来说.坚持写博客是个好习惯.以下是我建议大家写博客的七个理由. 帮助整理思路 最近我做出了一个决定,那就是: 我要坚持天天写博客,记录每天所学的重要东西. ...
随机推荐
- Cocos2d-x优化中关于背景图片优化
由于背景图片长时间在场景中保存,而且图片很多,我们可以对其进行一些优化.我们通过如下几个方面考虑优化:1.不要Alpha通道背景图片的特点是不需要透明的,所以纹理格式可以采用不带有Alpha通道格式, ...
- Visual Studio的MethMVVM
MethMVVM介绍: Visual Studio Gallery是微软针对VisualStudio扩展提供的一种解决方案,在Visual Studio Gallery你能够找到各种不同主题的解决方案 ...
- Android EditText不弹出输入法焦点问题的总结
转自:http://mobile.51cto.com/aprogram-403138.htm 看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的 ...
- 【Leetcode】357. Count Numbers with Unique Digits
题目描述: Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. ...
- ArcSDE for oracle10g安装后post的时候出现错误
The Post Installation Setup can not locate required Oracle files in your path.Check your Oracle inst ...
- 【转】VS2012发布网站详细步骤
1.打开你的VS2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件: 输入你自 ...
- JavaScript正则实战
*:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...
- 【基于spark IM 的二次开发笔记】第一天 各种配置
[基于spark IM 的二次开发笔记]第一天 各种配置 http://juforg.iteye.com/blog/1870487 http://www.igniterealtime.org/down ...
- 操作xml文档的常用方式
1.操作XML文档的两种常用方式: 1)使用XmlReader类和XmlWriter类操作 XmlReader是基于数据流的,占用极少的内存,是只读方式的,所以速度极快.只能采用遍历的模式查找数据节点 ...
- Facebook SDK
<?php session_start(); header('Content-type:text/html; charset=UTF-8'); require_once './facebook- ...