什么产品可以定义为 RASP?

RASP 英文为 Runtime application self-protection,它是一种新型应用安全保护技术,它将保护程序想疫苗一样注入到应用程序和应用程序融为一体,能实时检测和阻断安全攻击,使应用程序具备自我保护能力,当应用程序遇到特定漏洞和攻击时不需要人工干预就可以进行自动重新配置应对新的攻击。

这意味着,RASP 运行在程序执行期间,使程序能够自我监控和识别有害的输入和行为。

其实,RASP 不同于传统的安全技术仅在网络周边或者终端设备上进行保护,它能够让应用程序具备自我保护能力。而实时是 RASP 非常重要的特点,因为拥有应用程序的上下文,它不仅可以分析应用程序的行为也可以结合上下文对行为进行分析,而且这些能持续不断的进行分析,一旦发现有攻击行为能立刻进行响应和处理。

RASP工作原理探秘

首先,RASP 是以什么形态存在?通常来说 RASP 将安全保护代码嵌入到运行中的服务器应用程序,它会实时拦截所有的系统调用并确保调用安全,最终实现应用程序自我保护。

RASP 可以应用在 Web 应用程序和非 Web 应用程序,对应用程序的代码设计没有任何影响,不需要修改任何代码,只需要简单的配置就可以将安全保护功能在服务器程序在运行时注入。

当前,RASP 只在 Java 虚拟机和 .NET 通用运行环境得到实现,其他语言的 RASP 实现目前还没有,笔者估计在2015年必然会有 PHP 实现上市,其他语言还需要技术更成熟。

RASP什么时候进行保护?

一旦 RASP 探测到每个用户访问违反预设定的安全条件,RASP 就会接管系统并执行必要合理的保护行为。一个例子就是当用户执行访问数据库的 SQL 命令,如果 RASP 认为这个是一个 SQL 注入攻击就可以执行 SQL 注入保护行为。

RASP 有检测和保护两种模式,检测模式在检测到安全攻击时只是记录下来并发送警告给用户,保护模式不仅能够检测同时能够实时拦截潜在的安全攻击。

RASP 的保护行为可以一下几种方式:

终止用户会话
停止用户程序(不影响服务器上其他程序):这是针对非常严重的攻击,比如DDOS
发送警报给专门的安全人员
发送警告给用户

防火墙 vs. RASP

RASP 和防火墙一样都能检测流量和内容,也能够终止用户会话。 然而防火墙不拥有应用上下文,不能在应用层检测用户流量,必然安全威胁拦截的准确性肯定没有 RASP 高,误报率也会大大提高。而且在现在移动互联网和云计算盛行的今天,网络边界已经越来越不清晰了,这样也使防火墙的安全防护效果也越来越差。

Gartner 的 Joseph Feinman 非常精确的把防火墙比喻为簇拥在大人物周围的保镖,大人物去哪里都带着保镖,看起来防御力爆棚,但是大人物本人肌肉不发达也没有武功,一旦保镖被突破或者保镖被调虎离山,那么这个大人物就没有任何保护了,就非常危险了。RASP 可以让没有武功的人在很短的时间并且付出的代价不高的情况下拥有很高的自我保护能力(听起来有点像神话)。

RASP 的优点

RASP 能够看到系统里所有用户行为的细节,这样对于提高安全攻击识别的准确性有非常大的帮助。 比如RASP能非常清楚的理解用户的逻辑,配置以及数据和事件流,这就给非常精确的探测和拦截安全攻击行为提供了坚石的基础。

另外 RASP 能够自我保护数据,能够保护数据从创建到消亡的全过程。

RASP 和应用程序运行在一起,拥有用户的数据,RASP 在安全保护上想象的空间非常的大,RASP 可以满足很多企业级的数据保护需求, 比如数据透明加解密,一些只在系统内使用保密数据就可以使用加密,即使黑客将数据偷窃出去,也无法破解和解密,这样更不存在其他的问题了。

RASP 不足之处

没有任何安全解决方案是完美的,每个方案都有优点也有缺点,RASP 也一样,虽然它很多独特的优势,但也存在一些不可忽视的不足,需要安全研发人员不断的改善。

首先 RASP 是针对应用程序的,每个应用程序都必须有独立的探针,不能像防火墙一样只在入口放置一个设备就可以了。这样增加了部署困难和防范不完整的风险。

另外一个比较的不足就是对系统性能的影响,RASP 实时拦截,深入检测用户数据流,这是对精确度和误判率都有很大的帮助,但是对用户性能有一些影响,这些性能消耗也必然影响到用户的体验,这也是影响企业客户部署 RASP 的很大一方面原因。现在 RASP 的提供商在优化方面做了很大努力,大部分 RASP 对性能影响在5%左右。

最后使用 RASP 并不是真正建立一个安全的应用,系统中存在的漏洞还是存在,应用了 RASP 后临时提供一个虚拟补丁修补上已知漏洞,当不用 RASP 后这些漏洞还是存在。另外 RASP 也不能修复所有的漏洞,漏洞时刻在更新。企业应该将 RASP 和扫描工具结合起来将更有价值。RASP 软件提供商也应该提供实时漏洞更新功能,实现真正零日攻击防御。

什么是实时应用程序自我保护(RASP)?的更多相关文章

  1. 使用Node.js的socket.io模块开发实时web程序

    首发:个人博客,更新&纠错&回复 今天的思维漫游如下:从.net的windows程序开发,摸到nodejs的桌面程序开发,又熟悉了一下nodejs,对“异步”的理解有了上上周对操作系统 ...

  2. 55、Spark Streaming:updateStateByKey以及基于缓存的实时wordcount程序

    一.updateStateByKey 1.概述 SparkStreaming 7*24 小时不间断的运行,有时需要管理一些状态,比如wordCount,每个batch的数据不是独立的而是需要累加的,这 ...

  3. 50、Spark Streaming实时wordcount程序开发

    一.java版本 package cn.spark.study.streaming; import java.util.Arrays; import org.apache.spark.SparkCon ...

  4. 输入DStream之基础数据源以及基于HDFS的实时wordcount程序

    输入DStream之基础数据源以及基于HDFS的实时wordcount程序 一.Java方式 二.Scala方式 基于HDFS文件的实时计算,其实就是,监控一个HDFS目录,只要其中有新文件出现,就实 ...

  5. 基于flink快速开发实时TopN程序

    TopN 是统计报表和大屏非常常见的功能,主要用来实时计算排行榜.流式的TopN可以使业务方在内存中按照某个统计指标(如出现次数)计算排名并快速出发出更新后的排行榜. 我们以统计词频为例展示一下如何快 ...

  6. Windows基础-实时录音程序(WaveXXX)

    写在前面 一开始是打算用这个老接口做讯飞语音识别的程序,在转移到UWP时发现,这玩意在Windows Runtime中屏蔽(弃用)了,将来会更新使用WASAPI的程序 WaveRecorder类代码下 ...

  7. 52、Spark Streaming之输入DStream之基础数据源以及基于HDFS的实时wordcount程序

    一.概述 1.Socket:之前的wordcount例子,已经演示过了,StreamingContext.socketTextStream() 2.HDFS文件 基于HDFS文件的实时计算,其实就是, ...

  8. 轻装上阵Flink--在IDEA上开发基于Flink的实时数据流程序

    前言 本文介绍如何在IDEA上快速开发基于Flink框架的DataStream程序.先直接上手! 环境清单 案例是在win7运行.安装VirtualBox,在VirtualBox上安装Centos操作 ...

  9. 了解一下运行软件的自我保护(RASP)

    看下这篇文章: http://www.jianshu.com/u/c89141b2d51e 相应的demo演示: https://github.com/xbeark/javaopenrasp

随机推荐

  1. CentOS下安装福昕PDF软件

    官方下载地址:http://www.foxitsoftware.cn/downloads/ tar -jxvf foxreader.tar.bz2问题:下载官方包以后解压,双击不能打开,也没有任何提示 ...

  2. tcpdf MultiCell line break

    在程序中,我遇到MultiCell中显示三个字符串,开始时 $pdf->MultiCell(63.5, 30, $name."\n".$address."\n&qu ...

  3. 浅试WebStorm配置Node.js开发环境

    web前端开发IDE一直喜欢用WebStorm,这里简单介绍如何用WebStorm搭建一个Node.js开发环境. 首先,需要在本地安装好node.js,以及npm包管理工具.你也可以吧node.js ...

  4. rest的config

    <个人积累,转载请注明出处> 新手写rest wcf经常会报配置文件异常.我为了避免这种问题,将自己配好的config放这里,用的时候将ABC改成自己的,粘贴就行了. ABC是什么我就不赘 ...

  5. golang mongodb (mgo)插入或读取文档的字段值为空(nil)问题解决

    问题描述 当使用mgo操作mongodb时,遇到数据插入正常,但是在数据库查看时只能看到objectid被插入了:读取的时候,可以查询到记录,但是读入对象时,却所有的值均为0或者空的情况. mongo ...

  6. asp:手机扫描二维码跳转手机版

    如果想手机扫描用pc版网站生成的二维码跳转到对应的手机版的话,请在pc端的首页的<head></head>标签里面加入下面内容:   <script src=" ...

  7. JavaScript学习笔记(1)——JavaScript简介

          JavaScript一种解释性脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,该引擎为浏览器的一部分.JavaScript最早是用 ...

  8. 两种js监听滚轮事件的方式

    前段时间在写前端的时候,需要监听浏览器的滚轮事件 网上查了一下,找到两种监听滚轮事件的方法: 一.原生js通过window.onscroll监听 //window.onscroll = functio ...

  9. springmvc(五)----异常处理

    总结

  10. 2016/7/6 神·CPU的人类极限在哪?

    额,这其实是个搞怪贴 #include<stdio.h>int main(void){ int i,k; for(i=0;;i++) { k=i+222222222; printf(&qu ...