美国又双叒叕有1.43亿信用数据泄漏了,世界人民呼唤OpenRASP

本文主要是介绍美国又双叒叕有1.43亿信用数据泄漏了,世界人民呼唤OpenRASP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上周四,美国信用体系中的三大核心公司之一Equifax因为Struts 2的安全漏洞,造成1.43亿人的个人信息被盗窃,其中可能包括完整的姓名、生日、地址、SSN和驾照号等。此次信息盗窃发生在五月,但是Equifax七月份才发现,直到9月7号才被报道出来。Equifax事后的危机处理让民众感到非常不满,目前受害者已提出高达700亿巨额的集体诉讼。

面对这样大规模的信息泄漏事件,无论是旋涡中的当事人,还是掌握着大量个人信息的大中小企业,都不应该袖手旁观,觉得此事于己无关。这次美国的巨额集体诉讼为我们敲响了安全的警钟,国内的网络安全法更是犹如利剑高悬,时刻提醒着企业安全防护的重要性。

截止到发稿日期,在世界前100强的公司里,大概有65%还在使用Struts 2,国内也深受其影响。Struts 2给网络安全带来了严峻的威胁,但要替换掉它们却需要大量的工作,非一夕之功能完成。此外,还有大量的第三方Web框架,甚至是各家公司自己研发的Web代码里也经常引入各种高危安全漏洞,比如SQL Injection, XSS, CSRF等等。仅靠WAF难以提供有效的保障,而推行SDL安全开发生命周期管理又不是普通企业能够承担。企业安全从业者应该何去何从?

为了更好的提高企业安全的防护能力,百度安全最近推出了一款开源的自适应安全产品 OpenRASP,并与国际知名非盈利安全组织OWASP(Open Web Application Security Project)达成深度合作,现已加入到OWASP全球技术项目中,将在全球范围内进行大规模推广。OpenRASP将新兴的RASP(Runtime Application Self-Protection)安全防护技术普及化,使其迅速成为企业Web安全防护中的一个重要武器,有效增强防御体系纵深和对漏洞防护的适应能力。

OWASP是什么?

OWASP(Open Web Application Security Project)是世界范围内的非盈利组织,关注于提高软件的安全性。其主要目标是研议协助解决Web软件安全之标准、工具与技术文件,长期致力于协助政府或企业了解并改善网页应用程序与网页服务的安全性。目前,OWASP在全球有超过140个分会。该组织从2003年开始每隔几年就会发布Web应用程序的十大安全风险。针对云计算的安全问题,OWASP还提出过云计算十大安全风险。OWASP一直被视为Web应用安全领域的权威参考。

Why OpenRASP?

作为国内知名安全厂商,百度一直致力于不断提高企业安全的防护能力。针对于目前在Web攻击不断变得复杂的情况下,WAF面对其展现了很多的不足,国际迫切需要一个更优的产品来面对云波诡谲的安全攻击,于是OpenRASP应运而生。

RASP 是一种新型防护手段,即使开发人员没有太多的安全经验,也可以将复杂的安全特性集成到应用服务器中。无论从产品设计,代码实现还是实际运行,它从本质上都不同于现有的安全措施。早在2014年,Gartner在年度报告上就提出RASP技术将会成为未来安全防护的主流和重点。


RASP技术的原理,就是直接将保护引擎注入到应用服务中,在数据库、文件系统访问、网络操作等关键点上进行保护。

当应用服务器收到一个恶意请求,保护引擎就可以结合上下文,识别用户输入;然后检查应用逻辑是否被用户输入所修改,并决定是否阻断这个请求。当攻击被阻断,RASP引擎还可以提供完整的调用堆栈,帮助安全从业者理解漏洞成因,正确的修复漏洞。

相比于WAF来说,OpenRASP具有一些天生的优势:

1. 零规则检测攻击

对于Web安全而言,攻击的本质就是参数注入。 结合智能语义识别和应用上下文,OpenRASP实现了WAF和数据库防火墙都不能完成的事情,即区分数据和代码。WAF和数据库防火墙本质上是通过分析网络流量,通过正则识别http协议和数据库协议中的数据,通过静态规则识别注入的攻击代码,稍微先进的WAF和数据库防火墙还会实现http或者数据库的协议语法解析,但是相对于变化多端的各类编码、变形、绕过等攻击形式以及版本千差万别的后端应用,传统的基于规则和语法的检测方式难以覆盖。OpenRASP实现了降维防护,直接工作在后端应用的层面,在后端应用完成各类协议解析完后再进行防护,直接处理底层的数据库、文件读取等操作,借助这一点,OpenRASP成功的实现了多种零规则检测攻击算法。

2. 只有成功的攻击才会触发保护点

对于一家企业来说,每天都会遭受上万次扫描攻击,那么哪些攻击是成功的呢?WAF显然是不知道的。而OpenRASP面向漏洞,且失败的攻击不会触发保护点,所以误报会很低,对规则的依赖也少。

3. 不受畸形协议的影响

后端应用对HTTP协议的兼容性极好,好到无法想象。比如,对于Multipart文件上传协议,只要我们稍作变化,某些WAF就无法正常识别了,这个时候WAF会选择放行。而对于RASP技术来说,对威胁的检测发生在协议解析之后,所以不受畸形协议的影响。

4. 灵活的插件支持

为了方便企业定制安全检测能力,检测逻辑均由JavaScript插件实现;报警日志以JSON形式输出到文件,可以跟ELK、Splunk等SIEM系统完美集成。

图1 - Splunk App

为什么企业应该选择RASP技术?

 

以上面的 Equifax公司为例,导致其大量个人隐私数据泄露的就是Struts 2漏洞,而近两年Struts 2漏洞却在频繁爆发。面临这些未知漏洞,WAF需要不断的增加规则,非常被动。

 

相比于WAF,RASP技术可以更加有效的对抗未知漏洞。以Struts OGNL系列漏洞举例,漏洞最终都要调用 Ongl::parseExpression 方法,来执行任意的OGNL代码、获取系统权限。

通过对表达式进行过滤,OpenRASP实现了 Struts OGNL系列漏洞的永久补丁。防护策略根据 Payload的类型,可以分为允许静态方法、命令执行、文件上传等等,同时OpenRASP提供了一组默认的策略供大家进行参考,具体可根据业务进行定制。

 

除了OGNL系列的漏洞,Struts 2最近又爆发了xstream反序列化漏洞(S2-052)。虽然原理不同,但是通过对异常执行流的保护,OpenRASP 依然可以拦截。

无论是xstream,还是transformer反序列化漏洞,最终都要通过反射的方法,调用敏感类,执行任意代码。OpenRASP 允许你对指定的方法进行监控,当这些方法通过被反射调用,将会触发安全检测流程

 

 

插件还会根据当前调用堆栈,尝试识别这是哪种类型的攻击,帮助你理解漏洞。

所以,在新型漏洞的对抗上,RASP技术要比WAF更加有效。

如何参与到OpenRASP项目中?

未来,百度安全将和OWASP一起,在全球范围内吸引大家参与进来,共同完善OpenRASP项目。目前我们的代码发布在GitHub,有着完善的项目文档和活跃的社区支持 。如果你有任何奇思妙想,欢迎提交Merge Request~

项目主页(可直接扫描下方二维码查看)

https://rasp.baidu.com   

                                    

官方文档

https://rasp.baidu.com/doc/

github 项目地址(或可点击“阅读原文”查看)

https://github.com/baidu/openrasp

这篇关于美国又双叒叕有1.43亿信用数据泄漏了,世界人民呼唤OpenRASP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/663382

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本