基于线程行为的木马窃取文件检测方法和系统技术方案

技术编号:7224430 阅读:300 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于线程行为的木马窃取文件检测方法,包括:监视线程的文件操作和网络操作;将监视的线程和线程所属的进程以及截获的文件操作及文件读取数据和网络操作及网络发送数据形成行为序列缓冲队列;根据缓冲队列中的行为序列判断线程读取的文件是否为网络发送的文件;如果线程读取的文件为网络发送的文件,并且检查该线程及线程所属的进程具有隐蔽性,则有木马窃取文件行为。本发明专利技术还提供了一种基于线程行为的木马窃取文件检测系统。本方法和系统极大减少对正常文件传输的误报,提高对木马窃取文件的检测。

【技术实现步骤摘要】

本专利技术涉及计算机恶意软件的恶意行为检测领域,特别涉及一种基于线程行为的木马窃取文件检测方法和系统
技术介绍
利用木马传输文件的行为来保护文档安全的技术目前尚未在主流杀软中出现。目前的针对木马检测行为监视主要是通过木马的创建远程线程、服务、等异常动作,而非数据安全方面的监视。现有专利《基于进程关联的文件传输监控方法》中采用常规的网络协议HTTP、FTP、 SMTP的数据内容来判断是否进程文件传输,这种方法较为准确的识别常规的正常程序的文件传输,但由于大部分木马采用的协议是非标准的应用协议进行文件传输,所以标准的协议解析匹配数据无法检测到大部分的木马窃取文件行为。同时在应用上该方法目的是防止信息泄漏但是对于用户主动的IE邮件上传、FTP等工具上传文件产生误报,而对于木马却无法检测产生漏报。另外该专利实现技术中需要用文件访问时间与数据包发送时间一致来判断文件传输,这个方式会导致一部分木马在读取文件后进行压缩处理和特别变换后再发送导致读取文件时间与网络发送时间并不一致。
技术实现思路
针对以上不足,本专利技术要解决的技术问题是提供一种基于线程行为的木马窃取文件检测方法和系统。解决进程、线程的文件传输的准确识别方法,常规的采用NDIS的网络监视方法过于底层导致无法直接获取传输数据的进程和线程,即使通过时间IP关联也只能得到与进程的关联。为了准确获得线程读取文件、网络发送序列,采用内核inline hook方式对于线程的内核API调用过程进行记录,找出符合发送文件的模型,同时由于木马采用非标准应用协议传输文件,通过线程读取文件数据内容与网络发送内容进行应用层协议无关性的BM 匹配方式进行特征匹配,以及大小及压缩格式变换匹配达到更加准确的文件传输特征识别。对于传输文件主体的进程、线程的发送文件过程的隐蔽性的识别用于识别是木马窃取文档而非普通正常文件操作。窃取文件方式隐蔽性主要体现在主体的窗口属性、进程属性和利用傀儡进程的性质。通过检测这些主体的隐蔽性来判断是否是木马窃取,极大减少对正常文件传输的误报,提高对木马窃取文件的检测。为了解决上述技术问题,本专利技术提供一种基于线程行为的木马窃取文件检测方法,包括监视线程的文件操作和网络操作;所述文件操作包括打开文件路径和读取文件数据; 将监视的线程和线程所属的进程以及截获的文件操作及文件读取数据和网络操作及网络发送数据形成行为序列缓冲队列;根据缓冲队列中的行为序列判断线程读取的文件是否为网络发送的文件; 如果线程读取的文件为网络发送的文件,并且检查该线程及线程所属的进程具有隐蔽性,则有木马窃取文件行为。其中,线程是依赖进程存在的,一个进程包括多个线程,进程和线程一起作为动作执行的主体。进一步的,安装内核驱动程序,通过对内核导出函数进行hi ine Hook内联挂钩监视线程的文件操作和网络操作。进一步的,进行hline Hook内联挂钩监视线程的文件操作和网络操作的内核函数包括文件打开函数NtOpenFile、文件读取函数NtReadFile、和网络发送的函数 NtDeviceIoControlFiIe οInline-hook内联挂钩,通过改写目标函数的头部为jmp指令而完成挂钩,在修改的过程中需要将原来的指令复制到新的位置用于hook函数执行完毕后调用,为防止指令截断也就是复制的指令不完整需要进行反汇编得到要复制的指令地长度。复制原有指令后即可覆盖函数头部跳转到监视程序从而得到监视的API调用和参数。进一步的,根据缓冲队列中的行为序列判断线程读取的文件是否为网络发送的文件,包括用缓冲队列中的行为序列与发送文件模型进行模式匹配,如果匹配成功,并且线程读取文件数据的总大小与线程所访问的文件大小相差不超过文件大小的30%,则确认该线程在进行文件发送;将网络发送数据与线程进行文件发送的数据进行协议无关性匹配,如果匹配成功,则线程读取的文件为网络操作发送的文件。进一步的,将网络发送数据与线程进行文件发送的数据进行协议无关性匹配,采用串匹配的快速Boyer-Moore算法。针对相同进程或线程传输的数据与读取文件进行特征匹配,特征匹配过程对网络数据不进行应用层协议解析,而是直接与文件数据进行串匹配的快速Boyer-Moore算法 (BM算法),判断读取文件数据与网络数据是否相同。进一步的,满足隐蔽性条件之一即可判别该线程及线程所属的进程具有隐蔽性, 隐蔽性条件包括进程无窗口、有窗口但是隐藏、后台服务进程、浏览器进程无常规主线程、 线程仅包含一个远程注入的线程。隐蔽性与显示性是对比的,当线程和线程所属进程有下列其中一项即可认为是隐蔽性的进程无窗口、有窗口但是隐藏、服务进程、傀儡进程比如IE等浏览器正常启动又很多线程和窗口,而作为木马的傀儡进程是挂起方式启动,并且窗口被隐藏、或者无窗口。傀儡进程另一个特征是线程只有一个远程注入的线程。本专利技术还提供了一种基于线程行为的木马窃取文件检测系统,包括内核监视模块,用于监视线程的文件操作和网络操作;所述文件操作包括打开文件路径和读取文件数据;行为序列维护模块,用于将监视的线程和线程所属的进程以及截获的文件操作及文件读取数据和网络操作及网络发送数据形成行为序列缓冲队列;逻辑判断模块,用于根据缓冲队列中的行为序列判断线程读取的文件是否为网络发送的文件;如果线程读取的文件为网络发送的文件,并且检查该线程及线程所属的进程具有隐蔽性,则有木马窃取文件行为。进一步的,内核监视模块具体用于安装内核驱动程序,通过对内核导出函数进行 Inline Hook内联挂钩监视线程的文件操作和网络操作。进一步的,进行hline Hook内联挂钩监视线程的文件操作和网络操作的内核函数包括文件打开函数NtOpenFile、文件读取函数NtReadFile、和网络发送的函数 NtDeviceIoControlFiIe ο进一步的,逻辑判断模块具体包括模式匹配模块,用于用缓冲队列中的行为序列与发送文件模型进行模式匹配,如果匹配成功,并且线程读取文件数据的总大小与线程所访问的文件大小相差不超过文件大小的 30%,则确认该线程在进行文件发送;数据匹配模块,将网络发送数据与线程进行文件发送的数据进行协议无关性匹配,如果匹配成功,则线程读取的文件为网络操作发送的文件;隐蔽性检测模块,用于判别线程及线程所属的进程具有隐蔽性。进一步的,将网络操作发送的应用层数据与线程读取的文件数据进行协议无关性匹配,采用串匹配的快速Boyer-Moore算法。进一步的,满足隐蔽性条件之一即可判别该线程及线程所属的进程具有隐蔽性, 隐蔽性条件包括进程无窗口、有窗口但是隐藏、后台服务进程、浏览器进程无常规主线程、 线程仅包含一个远程注入的线程。本专利技术的有益效果是本专利技术通过线程行为序列和发送数据无协议匹配可准确识别线程文件传输行为,同时通过隐蔽性判断,对木马传输文件具有准确的识别率,测试流行的超过二十款远程控制工具进行文件窃取均可检测,包括灰鸽子、红狼、彩虹桥、流萤、小牛、暗组、pcshare、野兽、 zxshelKPoisonlvy、网络人、网络神偷以及一些开源工具的变种。同时对正常的浏览器、即时通讯工具、FTP等传输文件不会产生误报,可作为终端文件保护的方法。附图说明为了更清楚地说明本专利技术或现有技术中的技术本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:康学斌肖新光
申请(专利权)人:哈尔滨安天科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术