加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 安全 > 正文

内生安全免疫,代码疫苗核心技术剖析

发布时间:2022-06-07 15:53:32 所属栏目:安全 来源:互联网
导读:代码疫苗技术,是一种能够通过运行时插桩技术进行应用漏洞检测及安全防护的新一代安全技术,其所涵盖的IAST技术与RASP技术,已连续数年被Gartner列在十大安全技术之内。 IAST全称交互式应用安全测试,是近几年的新兴安全测试技术。与SAST白盒安全测试技术、DA
代码疫苗技术,是一种能够通过运行时插桩技术进行应用漏洞检测及安全防护的新一代安全技术,其所涵盖的IAST技术与RASP技术,已连续数年被Gartner列在十大安全技术之内。
  
IAST全称交互式应用安全测试,是近几年的新兴安全测试技术。与SAST白盒安全测试技术、DAST黑盒安全测试技术两种传统的安全漏洞解决方案相比,IAST的漏洞检出率更高、适配场景更多,也更加适用于目前流行的DevOps场景。
 
 
 
代码疫苗技术原理
无论IAST技术还是RASP技术,都依赖运行时插桩进行实现。运行时插桩是在应用层通过应用启动后,替换函数体或在函数前后插入检测代码来实现的。通过插桩代码,可以快速获得应用运行在关键点的数据信息。
 
 
狭义IAST特指运行时插桩模式,能够帮助普通研发测试人员快速完成业务安全测试,精准定位漏洞细节及修复指导。同时,狭义IAST分为两种模式,一种是主动IAST,通过插桩分析流量数据,另一种则是使用动态污点分析技术的被动IAST。
 
动态污点分析技术能够基于运行时插桩跟踪外部可控数据对应用的影响,进而分析外部数据在应用内部的流转情况,从而确定应用是否存在漏洞。由于动态IAST拥有无重放数据、无脏数据、可应对加密签名接口、可适配复杂场景等优点,因此目前的适用面是比较广泛的。
 
在动态污点分析技术中,可以将污点传播的整体过程分为污点输入、污点传播与污点汇集三个阶段。在污点输入阶段,所有外部数据都被默认为不可信数据,因此需要在外部数据进入应用的时候,对其添加污点标记。
 
污点汇集阶段,需要对可能触发漏洞的函数进行关注。确定携带污点标记的数据是否会汇聚到例如SQL执行或文件读写等敏感函数之上。若该过程发生,则意味着在应用程序中的这些函数执行流程中可能存在着漏洞。
 
当然,如果在污点传播阶段,携带污点标记的数据遇到了清洁函数,并被成功执行了过滤操作或其他安全操作,则会将该数据所携带的污点标记消除,以此来确认这一条链路的安全性。这就是动态污点分析技术的执行原理。
 
RASP的核心则是通过插桩技术将防护逻辑与防护功能注入应用程序,深入应用运行时的环境内部,通过分析与了解数据流及事件流,检测和防护无法预见的安全威胁与攻击事件(如0day攻击)。这种运作模式,使得RASP能够解决WAF所存在的检测规则与功能无法对应、无法知晓服务端防御方式、变形及未知威胁防御乏力、微服务场景难适配等痛点。
 
图片
 
RASP能够获取运行时的上下文数据。在这其中,第一类数据是HTTP请求及响应数据与各式RPC协议,例如dubbo的请求与响应数据,以及gRPC等各式RPC框架。
 
第二类是所关注函数的执行数据,包括动态运行时,函数所接收到的完整参数、调用函数的对象实例以及函数执行的返回值。通过获取运行时过程中函数整体执行的状态,便能够判断运行函数执行过程中是否存在所关注的数据。
 
 
图片
 
第一类也是最常规的是规则方式,对获取的参数或者HTTP请求综合进行规则匹配。
 
第二类是RASP的亮点功能,就是基于词法的分析。由于RASP所获取的数据更加全面,因此RASP能够针对完整的输入如SQL、命令执行等信息数据进行词法分析,以判断关键函数执行点上的数据是否存在异常。
 
第三类是行为及运行堆栈检测,主要用来检测敏感函数的执行。例如当WebShell植入系统后,会通过变形混淆绕过检测,但在执行系统命令或文件操作的过程中,其必定会调用底层运行时的API,此时通过行为及运行堆栈分析,便能够得知执行调用的函数或函数调用栈。
 
第四类则是应用运行配置检测,也就是对代码中的动态安全配置及其他配置检测。例如增加了某些安全配置后,部分漏洞就无法再被利用了。这其中包括预编译这类防范SQL注入的方式,以及XXE的关闭外部实体访问这类方式等。这样便能够完整地了解目前应用所存在的安全防护情况。
 
综合以上四类方式,可以实现应用运行时的自我防护。
 
在整体防护体系中,RASP会与每个应用耦合,但其与WAF、IDS/IPS、防火墙等防护是并不冲突的。RASP适用于现代开发或应用架构,其与应用、微服务是相伴相生的。因此这些安全解决方案,每个都是纵深防御体系中的一个环节。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读