收藏 分销(赏)

基于WISE的Webshell检测技术研究.pdf

上传人:自信****多点 文档编号:2105102 上传时间:2024-05-16 格式:PDF 页数:4 大小:1.63MB
下载 相关 举报
基于WISE的Webshell检测技术研究.pdf_第1页
第1页 / 共4页
基于WISE的Webshell检测技术研究.pdf_第2页
第2页 / 共4页
基于WISE的Webshell检测技术研究.pdf_第3页
第3页 / 共4页
基于WISE的Webshell检测技术研究.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、SOFTWARE2023软 件第 44 卷 第 8期2023 年Vol.44,No.8作者简介:侯尚武(1983),男,河南永城人,硕士,高级工程师,研究方向:信息化、矿山机电。基于 WISE 的 Webshell 检测技术研究侯尚武 原生芾 侯振堂 张素萍 赵娜(河南能源集团有限公司,河南郑州 450046)摘要:本文主要在现有语义分析的基础上,基于机器学习技术,通过引入虚拟执行,构建多级检测机制,开发出一种具备更强大、更智能的检测能力的 WISE 智能语义分析引擎。关键词:Web 攻防;Webshell;WISE;语义引擎;机器学习中图分类号:TP393.08 文献标识码:A DOI:10

2、.3969/j.issn.1003-6970.2023.08.022本文著录格式:侯尚武,原生芾,侯振堂,等.基于WISE的Webshell检测技术研究J.软件,2023,44(08):095-098Research on Webshell Detection Technology Based on WISEHOU Shangwu,YUAN Shengfu,HOU Zhentang,ZHANG Suping,ZHAO Na(Henan Energy Group Co.,Ltd.,Zhengzhou Henan 450046)【Abstract】:Based on the existing se

3、mantic analysis and machine learning technology,this paper develops a WISE intelligent semantic analysis engine with stronger and more intelligent detection capabilities by introducing virtual execution and constructing a multi-level detection mechanism.【Key words】:Web attack and defence;Webshell;WI

4、SE;semantic angine;machine learning设计研究与应用0 引言现如今,各种高级攻击手段逐渐涌现,绕过 Web 应用防护系统(也称为:网站应用级入侵防御系统,Web Application Firewall,以下简称 WAF)的手段不断增多,依赖传统规则的对抗方式开始失效。同时,Web应用和业务强关联,存在个性化需求,规则搭配会产生大量误报阻碍业务。为解决此类问题,通过搭载攻防情报、机器学习、智能语义等智能引擎建立规则以及三重高效漏斗化检测机制,能够实现 Web 攻击精准检测,有效降低误判漏判。智能语义 WISE 引擎通过融合语法技术覆盖更多代码语言识别,结合工程精

5、细化语言特征,搭配流式处理检测机制,保障分析处理完整避免绕过和高性能检测。有效识别请求语句的真实意图,降低误判,提高 Web 应用防护能力。1 概论随着网络空间安全日益受到重视,各种大规模的红蓝对抗赛事方兴未艾,Web 攻防对抗也与日俱增,各种攻击的绕过手法层出不穷,呈现隐蔽化、高级化的特点。由于 Open-source 精神的普及,这些高级的攻击手法也被大量分享。传统的 Web 应用防火墙(WAF)主要采用规则来识别并阻断攻击,但由于表达能力有限,规则已经无法应对这些高级的绕过攻击:攻击者只需对 Payload 稍加变化,就能绕过规则引擎。1.1 传统方案难以应对高级攻击如下语句所示,是一个

6、简单的 XSS 攻击1。规则可以通过 alert(d)来匹配 alert(1)这个字符串。然而,攻击者可以使用特殊字符来干扰正则匹配,从而导致原有规则失效。一个绕过案例如下所示:此外,随着 Web 技术发展和业务的扩张,业务变得日益复杂。规则如果写得宽松,容易造成漏报,如果稍微放开,则容易导致误报业务。因此,规则无法在误报与漏报的抉择中保持平衡。规则的失效,归根结底是其描述能力存在先天不足。如图 1 所示,不同技术的表达能力与性能开销的对比,由于正则的表达能力有限,如无法描述括号是否配对,无法描绘四则运算表达式是否合法,对于 Webshell、命令执行这类脚本语言更难以应对。因此业界探索了描9

7、6软 件第 44 卷 第 8 期SOFTWARE述能力更强的两种防御机制语义引擎及机器学习。1.2 语义引擎与机器学习技术语义引擎利用编译原理技术,能够判断流量中是否含有可执行的代码。收益于其更强大的表达能力,语义引擎的防御效果相比规则提升了一个量级。然而,现有的语义引擎仍然面临着以下挑战:为了逃避检测,攻击者的绕过手法日趋隐蔽化、正常化。即,攻击者有意识地使用正常业务也会使用的操作来达成其恶意目的。此种情况下,现有的语义引擎可能就无法应对。Web 技术高速发展,其底层的语言也多种多样(如 PHP、Java、Python、ASP 等),甚至同一语言也存在诸多版本。不同语言、不同版本的语法特性也

8、会造成不同的攻击点2。现有的语义引擎无法兼容这些差异性,从而存在漏报的可能。随着计算机算力的升级和基础理论的丰富快速发展,人工智能(Artificial Intelligence,简称 AI)近年来迅速崛起。AI 凭借强大的拟合能力使得其在许多场景下都能得到很好的应用,但在防御 Web 攻击(如SQL/XSS)上,AI 暂时还没有给出令人惊叹的结果。主要原因在于:AI 对样本的质量要求极高。然而 Web攻击的样本多样性却很难保证。通过汇聚了大量的 XSS攻击样本,总结后发现攻击类型仅有数十种,而且数量最多的种类大多由工具、扫描器发起的请求,数据几乎一模一样。因此,AI 模型对于高价值样本将永远

9、保持饥渴状态。AI 面临着一个可解释性差的问题,在 WAF 层面上对应的就是:为什么会拦截?为什么不会拦截?这个问题往往连建模的人员都无法解释,用户就更难以理解。1.3 WISE 智能语义引擎WISE 引擎全称是 Web Intelligent and Semantic Engine,即 Web 智能语义引擎。WISE 引擎在现有语义分析的基础上,具备更强大、更智能的检测能力。WISE引擎工作流程如图 2 所示,WISE 引擎通过构建多级检测机制,在性能和效果间取得了良好的平衡。其工作流程如下所示:(1)通过深入分析漏洞原理,WISE 引擎使用了高效的字符串匹配算法,过滤掉大量正常流量。(2)

10、WISE 引擎利用内置的多种 Web 语言的轻量级编译器,对进入的流量进行词法分析及语法分析。如果不符合设定语言的词法或者语法描述,则无需再进行下一步处理。(3)利用语义分析技术,提取可疑的攻击特征。若存在可疑特征,则继续进行虚拟执行。(4)自底向上遍历语法树,执行可疑的操作,还原攻击者刻意构造隐藏的恶意代码。Raw trafficString filteringIexical/syntax analysisSemantic analysisVirtual execution if neededWISE FrameworkMulti-LayerFilteringMechanism图 2 WIS

11、E 引擎工作流程Fig.2 WISE engine workflowWISE 引擎通过技术创新突破了诸多业界难题,从而能够更智能地识别检测恶意攻击。图 1 不同技术的表达能力与性能开销的对比Fig.1 Comparison of expressive power and performance overhead of different technologies2 GB/s360 MB/s250 MB/s100 MB/s20 MB/s1 MB/s内存拷贝加速,如memcpy()等字符串匹配正则式支持高级特性的正则表达式语法/语义引擎虚拟执行技术字符串匹配算法DFA/NFADFA+栈DFA+栈+

12、符号表DFA+栈+符号表+语法树遍历速度快,但描述能力低下,一般用于简单的过滤速度和效果折中,在工业上普遍应用。描述能力差带有捕获、前瞻等特性,规则表达能力优于经典正则式,但效率和内存使用要差于经典正则式。描述能力差描述更加灵活,能达到静态语义分析的程度,速度相对较慢描述能力更强大,内存开销大,虚拟执行未必能够完全模拟真实环境技术核心原理优缺点97侯尚武 原生芾 侯振堂等:基于 WISE 的 Webshell 检测技术研究2 WISE 智能语义引擎核心技术2.1 按需虚拟执行高精度语义引擎只能根据危险的语法操作特征来进行判黑。然而,正如前所述,随着攻防对抗的日趋激烈,攻击者会采用“白特征”(即

13、业务也经常使用的操作)来隐藏其恶意性。这意味着,即使数据不含危险特征,也并不代表其不是攻击。如表 1 所示,传统检测与 WISE效果对比,语义引擎面对这种“白特征”攻击容易漏报。表 1 传统检测与 WISE 效果对比Tab.1 Comparison of traditional detection and WISE effects传统检测WISE示范样本 1正报正报语句 1:127.0.0.1;whoami漏报正报语句 2:127.0.0.1;u=who;u+=ami;$u另外,由于业务不规范问题,正常业务有时候也会包含一些危险操作。现有语义引擎容易误报此类业务,从而影响业务。如表 2 所示,

14、传统检测与 WISE 效果对比展示了一种语义引擎误报的案例。语句 1 和语句 2 的危险操作特征都是一致的:(1)含有字符串拼接操作;(2)赋值给危险的变量 window.location。因此,语义引擎都会认为是攻击,然而语句 2 是一个真实正常流量。表 2 传统检测与 WISE 效果对比Tab.2 Comparison of traditional detection and WISE effects传统检测WISE示范样本 2正报正报语句 1:a=javasc+ript:ale;b=rt(1);window.location=a+b漏报正报语句 2:window.location=tem

15、plate+Vresult.html相比之下,WISE 引擎不仅关注危险的操作特征(语义分析),更关心危险操作的执行结果(虚拟执行)。通过虚拟执行,还原绕过手法,WISE 引擎能够更深层次地理解代码语义,从而获得更高的准确率。举例来说,WISE引擎能够还原出$u 的值为 whoami,从而能够正确判黑。对于表2传统检测与WISE效果对比,WISE引擎发现语句2的window.location的值为“template/result.html”,并无恶意性。而语句 1 还原出来为“javascript:alert(1)”,是典型的攻击语句。同时,为了防止虚拟执行造成严重的性能损失,只对部分可疑操作

16、进行虚拟执行。通过按需选择虚拟执行,WISE 引擎在具备更智能的大脑的同时,性能开销基本无增加。2.2 流式语法防缓冲区绕过缓冲区大小有限一直是 WAF 一个痛点。由于设备内存有限,WAF 只能缓存有限的流量。因此,攻击者常常利用“空指令”,如过长的字符串,空白符和注释等,刻意构造超长的 Payload,使得 WAF 无法存储及分析该 Payload。这种方法经常被用到 Webshell 上传中,通过构造超大文件,攻击者可以绕过传统方案的防护,如下所示:WISE 引擎业界首创了流式语法的技术,突破了缓存大小的限制,无视各种大文件上传绕过问题。通过记录词法的状态标签,WISE 引擎在缓冲区切换的

17、时候,能够还原出之前的语法上下文状态,不会造成信息丢失。流式语法的引入,使得 WISE 引擎能够检测任意大小的文件,从而具备更强大的抗绕过能力。2.3 融合语法全面覆盖Web 编程语言版本迭代更新速度快。存在多种的开发语言(比如 PHP、Java、Groovy、C#等)。同一种语言也存在多个版本。甚至,同种语言在不同环境中,执行结果也不一致(比如 XSS 在 IE 浏览器跟 Chrome 浏览器就存在差异性)。不同语言甚至同一种语言的不同版本之间存在诸多词法、语法差异性。如果为每一种语言/版本/执行环境实现一个语义引擎,会造成开发成本的急剧升高,更严重的是会导致检测模块的处理速度下降。因此,业

18、界当前只覆盖了主要的语言,即该语言的主要版本。仍然有大量的 Web 应用使用其他语言或者未覆盖的版本来进行开发。这种情况下,攻击者可以利用这些未被支持的差异性,绕过语义引擎的防护。WISE 引擎创新性地设计了融合语法,兼容相似语言/版本/执行环境的各种差异特性。一方面,同种语言不同版本之间往往会考虑向后兼容,因此新旧版本之间不会有过大的改动;另一方面,相似的语言之间语法通常是相互借鉴的。甚至大家都是基于同一个语言或者语言标准进行二次开发,存在大量的共性。因此,通过兼容多种语言/版本,WISE 引擎能够以较低成本情况下覆盖了更多的攻击。如表 3 所示,WISE 引擎语法展示了部分 WISE 引擎

19、支持的语法。3 WISE 智能语义引擎使用案例攻击者通过在 Module 参数插入 SQL 语句,利用报错注入成功盗取敏感信息部署 WAF 后通过语义引擎成功拦截,如下所示:GET/index.php?s=n module=photo%22%20or%20updatexml(1.concat(1.0 x7e.user(),1);%23 HTTP/1.1 98软 件第 44 卷 第 8 期SOFTWAREHost:www.*.comUser-Agent:Mozilla/5.0WindowsNT6.1:WOW64)AppleWebKit/537.36(KHTMLlike Gecko)Chrome/

20、58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0Accept:text/html,application/xhtml+xml,application/xml;q=0.9image/webp.*/*;q=0.8Accept-Encoding:gzip,deflateAccept-Language:zh-CN,zh;q=0.8 Connection:closeContent-Length:10Linux下可执行通配符来完成命令例如“/e?/?d”,等价为“/etc/passwd”可绕过安全设备执行命令。部署WAF 后通过 WISE 引擎的虚拟执行成功拦截该

21、攻击,攻击报文如下所示:GET/index.php?c=account&s=member HTTP/1.1Host:127.0.0.1:8001 User-Agent:Mozilla/5.0(Windows NT 10.0;Win64;x64;rv:72.0)Gecko/20100101 Firefox/72.0 Accept:text/htmlapplication/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflateAccept-Language:zh-CN,zh;q=0.8 Co

22、okie:client none=cat/e?/p?d Connection:closeContent-Length:104 结语受益于多项技术创新,WISE 引擎具备强大的对抗绕过能力,使 Web 攻击无所遁形,从简单的攻击 Payload到复杂的高级绕过,WISE 引擎对抗绕过攻击示意如表 4所示,WISE 引擎都可以有效应对。通过实际测试,WAF 在合入 WISE 引擎后,WAF 在Webshell 上传、反序列化、命令执行、PHP 代码执行、JAVA 代码执行、XXE 等多个方面检测能力可明显提升。由于 WISE 引擎不是针对 CVE 提取规则,因此其不仅仅能够针对已知的漏洞进行防御,

23、而且对于未知的 0day 漏洞也具备一定的防御能力。当用户业务存在 0day 并被攻击利用时,WISE 引擎能够智能的定位到攻击 Payload的地方,然后对其进行全方位的检测,当其存在 SQL 攻击、XSS、Webshell 上传、反序列化、命令执行、代码注入等高危攻击时将在被 WISE 引擎分析后直接拦截3。在攻防演练前期,Weblogic 爆发了一系列的漏洞,比如,远程代码执行漏洞(CVE-2020-2883)、Weblogic 反序列化远程代码执行漏洞(CVE-2020-2555)。部署有WISE 引擎的设备无需重新编写规则,即可提前防御。参考文献1 吴柳.基于HTML5的跨站脚本攻击

24、检测技术研究与实现D.北京:北京邮电大学,2017.2 马晴.基于深度学习和光流法的行人运动基本图获取方法D.合肥:中国科学技术大学,2020.3 朱若宇.JIT引擎的安全性研究以及保护工具的设计与实现D.西安:西安电子科技大学,2013.表 3 WISE 引擎语法支持Tab.3 WISE engine syntax support命令注入bashbatzsh.代码注入PHPStruts2Groovy.SQL 注入OracleMysqlMSSQL.Web-shellJSPPHPASP.OthersXSSInsecure Deserialization.表 4 WISE 引擎对抗绕过攻击示意Ta

25、b.4 WISE engine anti-bypass attack illustration原始 payloadcat/etc/passwd规则编码绕过cat%20%2Fetc%2Fpasswd 解码+规则注释绕过cat/etc/passwd#anything初阶语义空字符绕过cat$IFS/etc/passwd 初阶语义字符拼接 cat/e tc/passwd初阶语义转义绕过cat/etc/passwd 初阶语义通配符绕过cat/et?/p?*wd高阶语义赋值绕过a=ca;b=t;$a$b/etc/passwd高阶语义正常业务cat/etc highway高阶语义Windows 特定语法 ping-4 127.0.0.1高阶语义缓冲区绕过高阶语义

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服