[发明专利]webshell的检测方法以及web服务器有效
申请号: | 201410602604.3 | 申请日: | 2014-10-31 |
公开(公告)号: | CN104331663B | 公开(公告)日: | 2017-09-01 |
发明(设计)人: | 唐海;陈卓;邢超;杨康 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;H04L29/06 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙)11348 | 代理人: | 王伟锋,刘铁生 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | web shell 检测 方法 以及 服务器 | ||
1.一种web shell检测方法,其特征在于,包括:
构造运行web服务器脚本的web脚本虚拟机,包括:构造web服务器脚本词法和语法分析器,所述词法和语法分析器用于对检测的web服务器脚本进行分析,得到语法树,所述语法树的根结点是运行web服务器脚本的程序入口;建立所述语法树的执行环境,所述执行环境至少包括:变量空间、内置对象以及内置函数;
根据测试目的的不同获取不同的web脚本运行的web脚本参数;
将所述web脚本参数和检测的web服务器脚本在所述web脚本虚拟机上运行,记录所述web服务器脚本运行过程中的过程行为,所述过程行为包括:调用的函数、调用函数的次序,调用的参数,参数处理的过程,参数处理的中间结果,变量的处理以及进行加法、减法运算;
将所述过程行为与预定恶意脚本规则库进行匹配,所述恶意脚本规则库中包含了已知恶意脚本的判断规则;
若匹配成功,则确定所述web服务器脚本为web shell。
2.根据权利要求1所述的方法,其特征在于,根据测试目的的不同获取不同的web脚本运行的web脚本参数包括:
根据测试的目的确定待获取参数的类型;
根据所述待获取参数的类型查询web脚本参数库,获取web脚本运行的web脚本参数,所述web脚本参数库存储有根据经验积累的黑客经常使用的web脚本参数,所述web脚本参数根据黑客入侵的类型进行分类。
3.根据权利要求2所述的方法,其特征在于,将所述web脚本参数和检测的web服务器脚本在所述web脚本虚拟机上运行,记录所述web服务器脚本运行过程中的过程行为包括:
依次从获取的web脚本参数中读取web脚本参数;
每次从语法树的根结点开始,逐一执行所述语法树中的每一条语句;
记录所述语法树执行过程中的过程行为。
4.根据权利要求1-3中任一项所述的方法,其特征在于,将所述过程行为与预设恶意脚本规则库进行匹配包括:
获取预定恶意脚本规则库中的规则;
利用所述规则对所述过程行为进行分析;
若得到分析结果,则确定检测的web服务器脚本为web shell。
5.一种web服务器,其特征在于,包括:
构造单元,用于构造运行web服务器脚本的web脚本虚拟机,包括:构造模块,用于构造web服务器脚本词法和语法分析器,所述词法和语法分析器用于对检测的web服务器脚本进行分析,得到web服务器脚本语法树,所述语法树的根结点是运行web服务器脚本的程序执行入口;建立模块,用于建立所述构造模块得到的语法树的执行环境,所述执行环境至少包括:变量空间、内置对象以及内置函数;
获取单元,用于根据测试目的的不同获取不同的web脚本运行的web脚本参数;
操作单元,用于将所述获取单元获取的web脚本参数和检测的web服务器脚本在所述构造单元构造的web脚本虚拟机上运行,记录所述web服务器脚本运行过程中的过程行为,所述过程行为包括:调用的函数、调用函数的次序,调用的参数,参数处理的过程,参数处理的中间结果,变量的处理以及进行加法、减法运算;
匹配单元,用于将所述操作单元记录的过程行为与预定恶意脚本规则库进行匹配,所述恶意脚本规则库中包含了已知恶意脚本的判断规则;
确定单元,用于当所述匹配单元匹配成功时,确定所述web服务器脚本为web shell。
6.根据权利要求5所述的web服务器,其特征在于,所述获取单元包括:
确定模块,用于根据测试的目的确定待获取参数的类型;
获取模块,用于根据所述确定模块确定的待获取参数的类型查询web脚本参数库,获取web脚本运行的web脚本参数,所述web脚本参数库存储有根据经验积累的黑客经常使用的web脚本参数,所述web脚本参数根据黑客入侵的类型进行分类。
7.根据权利要求6所述的web服务器,其特征在于,所述操作单元包括:
读取模块,用于依次从获取的web脚本参数中读取web脚本参数;
执行模块,用于每次从语法树的根结点开始,逐一执行所述语法树中的每一条语句;
记录模块,用于记录所述语法树在执行模块执行所述语法树中的每一条语句过程中的过程行为。
8.根据权利要求5-7中任一项所述的web服务器,其特征在于,所述匹配单元包括:
获取模块,用于获取预定恶意脚本规则库中的规则;
分析模块,用于利用所述获取模块获取的规则对所述过程行为进行分析;
确定模块,用于当分析模块得到分析结果时,确定检测的web服务器脚本为web shell。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410602604.3/1.html,转载请声明来源钻瓜专利网。