基于文件和行为特征的WebShell检测系统的研究与实现
【摘要】:随着互联网技术的飞速发展,Web应用系统所提供的服务也越来丰富,越来越多的Web应用系统被广泛地应用在各行各业,Web应用系统的安全问题也变得日益突出,攻击者对Web系统攻击成功后,往往会利用SQL注入、文件上传漏洞等上传WebShell,来达到对服务器的长久控制,因此,研究如何有效的检测WebShell对保护Web系统具有重要的意义。本文主要对WebShell检测方法进行了研究。通过分析当前检测方法的优势与不足,基于文件和行为特征分别提出了静态检测与动态检测方法,其中静态检测方法采用了改进遗传算法优化的BP神经网络检测模型进行检测,动态检测方法采用Hook机制实现对系统的实时监控,最后基于这两种检测方法设计了WebShell检测系统,为Web网站的安全提供保障。本文的主要工作如下:1.通过对WebShell文件的属性和功能进行研究,针对当前检测方法提取特征单一、覆盖能力差的问题,从文件的文档属性和操作属性两个层面提取了多维特征用于静态检测,并通过实验对比证明所提取的特征可以提高分类算法的检测率。2.通过对WebShell静态检测方法的研究,针对现有方法采用传统机器学习分类器在面对复杂非线性环境时泛化能力较弱的问题,提出一种基于BP神经网络的WebShell检测方法,并采用遗传算法来对BP神经网络进行权值和阈值初始化来提高算法的全局搜索能力,同时提出了一种基于排序的改进轮盘赌选择算子,来提高种群的质量,进而提高检测模型的检测性能。通过对比实验,证明了改进算法收敛速度更快、检测率更高。3.通过对WebShell的行为特征进行研究,针对单一检测方法的弊端,提出了采用Hook机制的动态检测方案,该方案主要通过对WebShell运行时可能会调用的敏感函数进行Hook,结合污点标记追踪技术和黑白名单机制来判定是否为恶意行为,以此来对系统进行实时的保护。4.对WebShell检测系统的实现与测试。将两种检测方法应用于WebShell检测系统,实现既可以对指定文件进行扫描检测,又可以对Web系统进行实时的防护功能。最后对系统的检测性能和功能进行了测试。通过对系统进行测试,表明本文的检测方案可以有效提高WebShell检测率,并对系统起到防护作用。