[发明专利]一种实现沙箱智能检测文件的方法及其沙箱智能检测系统有效

专利信息
申请号: 201410381591.1 申请日: 2014-08-05
公开(公告)号: CN104200161B 公开(公告)日: 2017-01-25
发明(设计)人: 李凯;李海彬;范渊 申请(专利权)人: 杭州安恒信息技术有限公司
主分类号: G06F21/56 分类号: G06F21/56;G06F21/53
代理公司: 杭州中成专利事务所有限公司33212 代理人: 周世骏
地址: 310051 浙江省杭*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及恶意代码检测领域,旨在提供一种实现沙箱智能检测文件的方法及其沙箱智能检测系统。该种实现沙箱智能检测文件的方法,通过在沙箱进行文件行为检测时,将被检测文件提交到沙箱运行后,检测模块调用被检测文件,并通过API HOOK模块监控程序的运行行为,同时通过检测模块的智能模拟模块来充分还原被检测文件在真实环境下的运行情况。本发明通过专有程序实现了模拟人工操作,解决了当前动态行为分析过程中无法完整还原程序运行轨迹而导致恶意行为漏报的问题;通过API HOOK劫持技术解决了文件检测过程中被检测文件反虚拟化的问题。
搜索关键词: 一种 实现 智能 检测 文件 方法 及其 系统
【主权项】:
一种实现沙箱智能检测文件的方法,用于对文件进行文件执行行为检测,其特征在于,具体包括下述步骤:步骤一:沙箱模块接收待检测文件,根据规则生成检测任务,并将检测任务写入数据库中,检测任务状态标记为待检测;所述检测任务包括自增类型的任务ID、检测文件的文件保存路径和文件类型、检测文件的校验值、指定当次检测文件的检测时间;步骤一重复执行,且步骤一使用单独线程循环执行;步骤二:沙箱模块连接并查询数据库,查询数据库中是否存在检测任务状态为待检测的任务,若无该状态的检测任务,则沙箱模块等待特定时间后重新进行查询操作;若沙箱模块查询到检测任务状态为待检测的任务,沙箱模块调用虚拟主机公开接口函数查询当前是否存在可用于执行检测任务的虚拟主机:若当前虚拟主机均无法进行任务检测,则沙箱模块等待特定时间重新获取虚拟主机状态,若当前存在能用于进行任务检测的虚拟主机,则调用虚拟主机公开接口启动虚拟主机;虚拟主机启动后,随虚拟主机一同启动的检测模块启动指定端口的监听工作;沙箱模块连接虚拟主机的监听端口,沙箱模块通过网络方式,将待检测任务提交给用于本次任务检测的虚拟主机中的检测模块;沙箱模块将当前提交的任务状态标记为已提交,并保持连接等待检测模块数据返回;检测模块接收到检测任务,读取任务中的文件类型,并查询当前系统中是否存在对应的执行程序可用于执行该待检测文件,若存在则返回初始化成功,否则返回初始化失败;步骤三:沙箱模块接收步骤二中检测模块返回的初始化信息,根据初始化是否成功来判断该虚拟主机是否可以进行当前检测任务,若初始化成功则表示可以检测当前文件,继续步骤四的处理;若初始化失败则表示不能执行当前检测任务,检测任务结束;沙箱模块将数据库中的当前检测任务状态标记为不可检测;步骤四:沙箱模块通过网络方式上传待检测文件给检测模块,待检测文件传输完毕,沙箱模块保存与虚拟主机的连接,用来接收检测结果信息;沙箱模块标记当前任务状态为检测中;步骤五:虚拟主机中的检测模块接收待检测文件,计算待检测文件的校验值,并与检测任务中的校验值进行比较,确认待检测文件是否完整;若待检测文件传输不完整,则检测模块与沙箱模块通信,要求沙箱模块重传待检测文件;若待检测文件传输完整,检测模块启动待检测文件,并使用suspend参数暂停该文件进程,同时启动定时器来记录该文件已经执行的时间;文件被暂停运行后,检测模块调用API HOOK模块注入到被检测文件的运行空间中,API HOOK模块注入成功后,检测模块恢复被检测文件运行,APIHOOK模块记录被检测文件的相关行为信息并将检测结果返回给检测模块;API HOOK模块在特定时间内未检测到被检测文件调用API HOOK模块中HOOK的系统函数,返回“特定时间无操作”给检测模块,检测模块根据该特征判断文件检测完成,跳转到步骤七执行;检测模块将接收到的API HOOK模块返回的文件行为信息通过网络方式传输给沙箱模块;若待检测文件启动失败或API HOOK模块注入失败则检测结束,同时返回检测异常指令给沙箱模块;沙箱模块在接受到检测失败的信息后,标记数据库中当前检测任务状态为检测失败,并跳到步骤七执行;步骤六:检测模块启动智能模拟模块,智能模拟模块指通过程序方式识别被检测文件的运行窗口,并通过获取窗口内按钮及按钮标题,对比获取到的窗口标题与程序中预先设置的标题是否一致,用于判断是否需要对被检测文件施行人工模拟干预,来达到还原文件运行环境的目的,尝试获取被检测文件运行窗口、子窗口及窗口按钮;若智能模拟模块获取被检测文件运行窗口、子窗口及窗口按钮成功,则匹配获取到的窗口按钮标题与预先设置的标题进行匹配:若匹配成功,智能模拟模块移动鼠标至匹配上标题的按钮上,执行鼠标左键单击操作,然后重复执行步骤六;若匹配不成功,则以当次检测任务中设置的检测时间来判断被检测文件运行是否结束,若在检测时间范围内,程序正常退出,则执行步骤八,若被检测文件运行时间达到检测任务中设置的检测时间,被检测文件依然在运行,执行步骤七;步骤七:检测模块调用Processkill函数结束被检测文件;步骤八:检测模块返回检测完成指令给沙箱模块;步骤九:若沙箱模块接收到检测模块返回的检测异常指令,则标记当次检测任务为检测异常;若沙箱模块在接收到检测完成指令前未接收到检测异常指令,则沙箱模块标记当次检测任务为检测完成,保存文件检测结果到文件,并将检测结果文件路径附加至当前检测任务中,以供其他程序使用;沙箱模块在接收到检测完成的指令后,调用虚拟主机公开接口函数关闭执行当前检测任务的虚拟主机;虚拟主机关闭完成后,沙箱模块调用镜像恢复函数恢复虚拟主机镜像,当次检测任务完成,重复执行步骤二。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术有限公司,未经杭州安恒信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410381591.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top