什么产品可以定义为 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 7 安装virtualBox

    sudo rpm -ivh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm sudo yum install VirtualBox-5.0

  2. Yii2查询语句使用不等于号

    Yii2 Active Record查询条件使用不等于号,需要使用到 operator format: [operator, operand1, operand2, ...] 运算符格式: [运算符, ...

  3. [转载]Ubuntu 14.04设置固定ip

    参考链接: ubuntu14.04设置静态ip Ubuntu10.10的网络配置 (总结的比较好些) 由于我的虚拟机中的Ubuntu 14.04中,只安装了一个gitlab,gitlab中配置了固定i ...

  4. android之模拟器更新底层

    Android源码修改,编译后得到system.img 替换\AndroidSDK\system-images\android-21\android-tv\armeabi-v7a\目录中的system ...

  5. Google搜索技术

    命令 双引号 把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配.bd和Google都支持这个指令. 减号 减号代表搜索不包含减号后面的 ...

  6. poj3660 Cow Contest(Floyd-Warshall方法求有向图的传递闭包)

    poj3660 题意: 有n头牛, 给你m对关系(a, b)表示牛a能打败牛b, 求在给出的这些关系下, 能确定多少牛的排名. 分析: 在这呢先说一下关系闭包: 关系闭包有三种: 自反闭包(r), 对 ...

  7. ubuntu下aircrack-ng的wifi破解

    首先安装aircrack-ng,apt-get install aircrack-ng. 然后打开shell,输入airmon-ng start wlan0. 输入airodump-ng mon0. ...

  8. C#基于AE组件二次开发常见问题

    由于本人从事的是在.net平台下进行GIS的二次开发,所以第一篇博文就说一下:我最近在项目中出现的常见的问题,如果能够给大家增加一点点便利,也是我的荣幸,如果大家对于这次博文有什么意见和建议,欢迎大家 ...

  9. WPF 中,如何使用自定义的resources

    第一步,先自己自定义一个Resources 1.新建一个xaml文件,在其中自定义好自己的Resources 这个Resource 的根节点是 <ResourceDictionary xmlns ...

  10. 懒人记录 Hadoop2.7.1 集群搭建过程

    懒人记录 Hadoop2.7.1 集群搭建过程 2016-07-02 13:15:45 总结 除了配置hosts ,和免密码互连之外,先在一台机器上装好所有东西 配置好之后,拷贝虚拟机,配置hosts ...