基于Windows服务的恶意行为特征检测技术

来源 :智能计算机与应用 | 被引量 : 0次 | 上传用户:m116730647
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要
  随着信息化时代的到来,网络安全越来越取得人们的重视,恶意病毒与程序一直是安全工作者的防护中心,网络安全攻与防的博弈从未停止。本文围绕恶意程序对主机系统状态更改的监测为核心,提出了一种基于Windows服务的后台监测方式,利用DLL注入与HOOK API技术从多个维度监测系统的异常行为,进而拦截异常行为。该方法弥补了当前恶意行为监测维度单一的不足。更值得一提的是,本文采用一种内核层次的注入方式,通过分析注入过程的系统调用,将内核级API作为注入的切入点,解决了当前主流操作系统对注入行为的限制,使跨平台的通用注入成为可能。最后,系统以Windows服务的形式运行于后台,降低能耗,提高运行稳定性,同时本文提出了本体自御集的概念,为恶意行为监测提供了更深层次的研究方向。
  关键字:Windows服务, 内核级注入, API HOOK, 本体自御集
  0 引言
  计算机发展至今,纵观中国互联网安全25年的演进历史[1],互联网用户的隐私与财产安全等正遭受到前所未有的严峻挑战。为此,本文提出了一种基于恶意行为特征检测的主动防御策略,弥补现有检测方案健壮性不足的缺陷,从注册表、文件、进程、建立本体自御集等多个方面综合抵御恶意行为,从源头杜绝危害。
  Windows平台面临的威胁主要有宏病毒、网页病毒、脚本病毒、Win32 PE文件病毒等。尽管病毒种类千变万化,各类病毒却仍然保持自我复制性、传播性、潜伏性、破坏性等常态特征。病毒通过对FSO的创建,进而对文件施行添加、删除、修改、拷贝等操作以达到病毒的自我复制。病毒感染主机后,利用注册表获取操作系统与软件相关版本信息,探测相关漏洞加以利用。通过修改注册表,实现开机自启、常驻内存及一系列的恶意行为[2]。
  文献[3-4]提到基于特征码数据库的检测技术,当前主流的云查杀通过网络传输数据进行特征码匹配而获得快速查杀。但基于特征码的检测只能对数据库中存在的病毒进行检测,无法实现未知病毒的防御技术,呈现出一定的功能缺失。文献[5]提出了一种基于静态特征来展开机器学习的检测方法,通过对网页静态特征标签的提取,利用机器学习的方法对网页提供设计分类,但实验结果表明,这类基于静态特征的机器学习/统计学检测方法却有着较高的漏报率。文献[6-7]重点研究了基于注册表监控的检测技术,但是,通过对病毒运行原理的剖析就会知道,病毒对系统造成的威胁复杂而繁琐,仅是依靠注册表检测未免失于片面。文献[8]对杀毒软件升级流程的安全性给出深入分析后可知,其防护方法需运用多种杀软,并且过程中更加关注漏洞的挖掘,而且也并未构建实际的防护措施。经过如上解析探讨后表明,这些检测技术在性能上各有千秋,但在整体却都未曾具备自我防御的能力,很难抵御病毒对检测系统自身的恶意终止。为此,综合大量文献的研究成果,本文从主动防御的角度出发,提出了一种基于恶意行为检测的改进技术,利用API HOOK技术全面监控操作系统的进程状态、注册表状态及文件状态,再通过与本体自御集的功能比对,从恶意行为发生的源头来实现防微杜渐。除此之外,考虑到检测系统的健壮性,为防止病毒对防护系统采取轮询性恶意终止的反杀策略,本文继而又提出了一种基于Windows服务注册及DLL注入技术的联合守护技术,经过测试,该方案能够完成有关恶意程序对本机的恶意行为特征的检测。
  1 系统设计
  恶意行为特征检测是对Windows操作系统的行为防护。出于功能性、健壮性、与实用性等多方考量,系统框架设计如图1所示。进程守护模块负责维护系统的健壮性,监测模块负责记录windows系统行为,并拦截本体自御集中记录的恶意行为。注入模块实现了监测模块在进程中的注入,用以监控系统进程状态,拦截注册表与文件的异常行为。系统同样设置日志模块,用以保存其过程工作状态。在此,针对系统设计中的重点功能做出如下论述。
  图1 系统框架设计图
  Fig.1 System framework design
  1.1 系统稳定性设计
  本文利用Windows服务对检测系统进行健壮性守护,根据Windows服务技术[9],选用ServiceMain作为监控程序的入口函数。在此过程中,ServiceMain函数将通过调用RegisterServiceCtrlHandler函数来回调控制请求处理函数CtrlHandler,而CtrlHandle则负责响应来自SCP的控制命令并告之SCM服务状态信息。
  1.2 监测注入设计
  动态链接库(dynamic-link library,DLL)是Windows操作系统提供的一种可执行文件,本系统使用DLL作为监控模块的容器。为了监控系统进程状态,需将监控DLL注入至系统进程空间内,但Microsoft出于系统稳定性的现实需要,在设计操作系统时对进程内存享有访问控制权限。这种设计阻碍了进程资源共享,为此可利用远程线程注入技术打破界限[10]。但常规注入方法却附生有一定的局限性,对64 bit操作系统及win7以上版本操作系统都不能提供有效支持,利用该技术实现的应用程序在跨平台性及实用性上都将陷入明显困境。为应对这一挑战,研究应对这一缺陷,我们采用一种更为贴近的内核级别的注入方式解决进程注入的跨平台问题,该技术将在后文的系统实现章节中详细解读。
  1.3 监测拦截设计
  监测拦截模块时利用API HOOK技术来组织构建整个配置过程的。HOOK技术是当前实现Windows API拦截的主要技术,总而言之就是API函数的重定向操作[11]。PE文件载入内存后,随即将动态引进导入模块及调用函数,同时由IAT表记录导入函数的实际地址。监测模块通过将IAT表中原函数地址改为相应钩子函数的实际地址,当病毒程序尝试调用被拦截函数时,将跳转至本次研究自定义的钩子函数,若为正常的应用程序,钩子函数仅负责记录工作日志,执行结束后则将返回继续执行原函数工作,至此监测系统完成一次拦截工作。   2 系统实现
  2.1 建立“本体自御集”
  文献[12]提出了一种以“生物体免疫”为核心思想的注册表异常行为检测技术。受该技术启发,本文通过建立“本体自御集”对恶意网页特征行为进行检测。
  “本体自御集”以计算机进程为研究对象,主要数据来源分为2部分。其一,系统正常进程常见的仿冒进程。病毒制造者经常以假乱真,通过更换相似字符、添加字符等手段为病毒进程命名,借此与系统正常的进程名混淆视听,使病毒进程长期潜伏在操作系统中。其二,通过访问恶意网页,积极响应网页的恶意行为,记录新创建进程。绝大多数恶意网页中都包含恶意脚本,恶意脚本的实际执行后可能在本地创建新进程,为此可将访问恶意网页期间新创建的进程作为恶意进程,让其作为本体自御集的一部分。通过综合分析常见的系统正常进程和已知病毒进程,建立本地自御集,列举部分基础防御进程如表1所示。
  2.2 特征行为检测
  计算机被感染后,病毒为了隐藏自身或对系统形成恶意破坏,都会不同程度地修改注册表,或删除系统重要文件等。以Win32 PE病毒为例,由于其具备的寄生特性,通过加载动态链接库kernel32.dll,同时一并取得修改注册表函数的API地址,进而调用Windows API对注册表启动打开、查询、读写、删除等操作进程。系统采用API HOOK 技术,拦截相关操作的Windows API函数以监测系统注册表及文件的状态变化,部分用于注册表/文件状态监控的被HOOK函数及替换函数如表2所示。
  特征行为检测模块在定制开发成动态链接库后,被系统所有进程导入加载,以此达到监控系统安全的目的。当负责监控的DLL被加载送入后,DLL_PROCESS_ATTACH将触发IAT表的修改,对API进行HOOK,同时判断进程是否属于本体自御集,若某进程处于自御集就可设置标志位为TRUE,反之置为FALSE。DLL_PROCESS_DETACH则触发IAT表的还原,即结束对Windows API的HOOK工作。特征行为检测模块被进程加载后,其基础检测原理如图2所示。
  2.3 进程防护
  进程是恶意行为特征检测的对象之一。经测试,病毒运行总伴随着新进程创建,监控系统监测新进程创建与进程行为。进程防护模块通过维护新、旧2个进程链表,配合定时刷新获取系统快照的方式发现新创建进程。技术研发中,pastList用于保存上一时刻系统进程快照,currentList用于保存定时刷新后系统进程快照,通过对比链表元素,发现新创建进程,利用远程线程注入技术,向新创建进程注入特征行为检测模块,以此监控新创建进程行为,并检测新创建进程是否为恶意进程。除此之外,程序运行初始时刻,则将枚举所有进程。为保证系统所有进程的安全,将为所有进程完成特征行为检测模块的注入。
  研究中,利用创建远程线程的方法向目标进程注入特征行为检测模块。前文提到传统注入方式并不可靠,本文采用了一种构造内核函数原型的改进方法来弥补这一缺陷。以Win7为调试环境,利用OD工具对CreateRemoteThread函数进行堆栈调用分析,由此发现,CreateRemoteThread并没有直接向内核级请求调用ntdll.dll-->ZwCreateThreadEx,而是请求调用了kernelbase.dll-->CreateRemoteThreadEx函数,其中CreateRemoteThreadEx函数与CreateRemoteThread函数具有相同的参数原型,并执行相同的函数行为。CreateRemoteThreadEx函数又进一步调用了ntdll.dll-->ZwCreateThreadEx完成用户级到内核级的调用转换。综上,通过动态实现NtCreateThreadEx系统调用,即可完成任意版本操作系统的远程注入。NtCreateThreadEx是内核级系统调用函数,MSDN未公开内核API 文档,故该函数不可被直接调用。在本次研究中,有针对性地定义具有相同原型的函数指针以完成NtCreateThreadEx的系统调用。
  根据如上分析,当操作系统版本不支持CreateRemoteThread创建远程线程时,用NtCreateThreadEx函数对其进行替换。注入的前期工作与传统注入方式相同,随后判断当前操作系统版本,若操作系统为Windows XP/Server 2003,利用传统方式完成DLL注入。若操作系统为Windows Vista/7/Server 2008,利用本文构造的PFNtCreateThreadEx函数创建远程线程,进而完成DLL注入。特征行为检测DLL注入进程伪代码如下。
  2.4 健壮性维护
  为减小系统运行压力并提高系统健壮性,行为特征检测功能以Windows服务的方式在后台运行。同时,为了防止检测系统意外崩溃或被病毒程序恶意终止,系统创建了独立的进程来守护特征行为检测服务。通过定时遍历系统服务列表,查找目标服务运行状况,若目标服务被意外终止,则检测服务立即重启。
  3 结束语
  本文提出了一种基于Windows服务的恶意行为特征检测方案。与现有的检测技术相比,从多个维度监测防护恶意行为。同时,在监测模块的注入实现上,摒弃了CreateRemoteThread的传统注入技术,采用了内核级的远程线程注入方法,通过动态调用NtCreateThreadEx系统函数来大幅提升进程注入的成功率,同时增强系统的跨平台能力。研究中还提出了“本体自御集”的概念,通过对当前主流恶意进程的统计,建立本体自御集,基于本体自御集判断进程的异常行为。但是,本文还存在一定不足。本体自御集的建立应该是一个反复训练学习的过程,通过不断丰富仿冒进程、大量访问恶意网页,记录访问过程中新创建的病毒进程,以此来扩充本体自御集的容量,进而扩展恶意网页行为特征的检测范围。   本文的下一步研究将围绕扩充本体自御集展开,利用自动化手段,访问大量的恶意网页,然后利用机器学习/统计学手段对恶意网页的行为特征进行更深层次的探索。
  4 参考文献
  [1]信息安全25年发展史[EB/OL]. [2013-05-06]. http://security.zdnet.com.cn/security_zone/2013/0506/2158048.shtml.
  [2] 谢亿鑫, 孙乐昌. 计算机病毒修改Windows操作系统注册表原理解析[J]. 计算机安全, 2008(8):117-121.
  [3] 张慧琳, 邹维, 韩心慧. 网页木马机理与防御技术[J]. 软件学报, 2013, 24(4):843-858.
  [4] WU Shaohua, HU Yong. Study of Trojans Detection and Prevention Technology[J]. Computer Science and Application, 2015, 5(12):429-435.
  [5] CANALI D, COVA M, VIGNA G, et al. Prophiler: a fast filter for the large-scale detection of malicious web pages[C]// International Conference on World Wide Web, WWW 2011. Hyderabad, India:ACM, 2011:197-206.
  [6] 李珂泂, 宁超. 恶意脚本程序研究以及基于API HOOK的注册表监控技术[J]. 计算机应用, 2009, 29(12):3197-3200.
  [7] 李伟斌, 王华勇, 罗平. 通过注册表监控实现木马检测[J]. 计算机工程与设计, 2006, 27(12):2220-2222.
  [8] 傅建明, 刘高, 李鹏伟. 一种杀毒软件升级流程的安全性分析方法[J]. 武汉大学学报(理学版), 2015, 61(6):509-516.
  [9] 曹磊, 蔡皖东. Windows服务隐藏技术研究与实现[J]. 微电子学与计算机, 2011, 28(12):10-13.
  [10] 张懿, 刘嘉勇. 剖析远程控制免杀DLL木马[J]. 信息安全与通信保密, 2011(4):56-57,60.
  [11] SHAID S Z M, MAAROF M A. In memory detection of Windows API call hooking technique[C]// International Conference on Computer, Communications, and Control Technology, IEEE 2015. Malaysia, Kuching:IEEE, 2015:294-298.
  [12] 鲍欣龙, 罗文坚, 曹先彬,等. 可用于恶意脚本识别的注册表异常行为检测技术[J]. 计算机工程, 2005, 31(8):137-139.
  Malicious Behavior Monitoring Technology
  Based On Windows Service
  Hou Xeimei*, Dong Kaikun*
  (*School of Computer Science and Technology,Harbin Institute of
  Technology,Harbin 150001)
  Abstract
  With the advent of the information age, more and more people pay attention to the network security. safety engineers have treated malicious virus and programs as the protection key, network security offensive and defensive game never stops. This paper proposes a malicious behavior backend monitoring scheme based on Windows Service, detecting and intercepting the abnormal behaviors with DLL Injection and API HOOK caused by virus from Multi-Demensions. This method covers the shortage of single detection dimension. It is particularly worth mentioning here that this paper adopts a way of kernel-level injection by analysing kernel-level System Calls, and works out the limitation on injection behaviors by mainstream OS, makes the Cross-platform general injection possible. Finally, this system runs in backend in a Windows Service way, reduces the energy consumption and improves the operation stability. Meanwhile, we propose the conception of “Selfish Protection Set” providing a deeper research direction for Malicious behaviors monitoring.
  Keywords: Windows Service, kernel-level Injection, API HOOK, Selfish Protection Set
其他文献
应用游离肩胛旁皮瓣整复颌面颈部缺损8例,成功7例,失败1例。对该皮瓣的有关解剖、设计和手术方法作了介绍,分析了失败原因,提出术中注意事项。认为该皮瓣血管蒂解剖部位置恒
作为小学教育体系中的重要课程,科学课程涉及的诸多知识都是对生活现象的解释,旨在让学生更好地理解生活,有利于促进学生知识视野的开阔和思维能力的培养。在新时期背景下,小
各有关单位和企业:为推进贵州省工业及省属国有企业绿色发展基金快速运营,制定了《贵州省工业及省属国有企业绿色发展基金管理办法》,现印发给你们,请认真贯彻执行。第一条为
本文分析最近8年所收治的滑膜软骨瘤病14例,结合文献探讨发病机理,认为外伤学说与滑膜化生学说较为合理,治疗上按Milgram氏分为三期。I~Ⅱ期作游离体切除加滑膜部分或全部切除
在我校一次月考试卷中曾出现这样一道单选题:——Hellen, will you be at the party to-night?
开发科研管理信息系统是实现科研管理自动化、信息化的必要手段,系统开发时首先要进行系统的分析与设计。本文根据华南师范大学科研管理信息系统的开发经验,在分析系统需求的基
推进国家治理体系和治理能力现代化建设,是法治国家建设的内在需求,更是实现中华民族伟大复兴的重要保障。新型政党制度孕育并生长于中国大地,是中国特色社会主义制度的重要
指导大学生参加科研活动具有重要的实践意义。实践中应根据文科大学生科研活动的独有特点有针对性地开展指导工作。指导过程中一般存在选题申报前师生缺乏交流、跟进不足或完
外语教学的主要目的是培养学生语言交际能力。长期以来,我国的大专的外语教学把焦点基于学生语言技能上,忽略了对学生交际能力的培养。交际策略在外语习得中起着重要的作用,因此
目的:探究分析牙周夹板治疗牙周炎伴牙周缺失的应用价值。方法:选取本院收治的牙周炎伴牙周缺失患者90例进行研究,以随机数字表法分为对照组(树脂夹板治疗)和观察组(高强纤维