产学研创新服务平台(开云优惠体育网页版入口)
专利申请类型:发明专利;专利名称:一种针对反虚拟化恶意程序的检测方法及系统
专利类型:发明专利
专利申请号:CN202311506527.7
专利申请(专利权)人:中国人民解放军92493部队信息技术中心
权利人地址:辽宁省葫芦岛市龙港区海滨南路1号
专利发明(设计)人:吴磊涛,姜山,沈斌,朱淼,张恒博,刘继光,贺英杰,常秀丰
专利摘要:本发明公开了一种针对反虚拟化恶意程序的检测方法及系统,其中的方法包括如下步骤:获取待测程序的文件格式及所需运行环境;根据待测程序的文件格式及所需运行环境构建并部署虚拟环境;在虚拟环境下第一次执行待测程序,并获取待测程序执行时的第一行为数据;根据预设恶意行为规则对第一行为数据进行分析,判断待测程序是否有恶意行为;当待测程序有恶意行为时,分析恶意行为并生成分析开云优惠体育网页版入口;当待测程序没有恶意行为时,在隐藏虚拟化特征后的虚拟环境下第二次执行待测程序,并获取待测程序执行时的第二行为数据;根据预设恶意行为规则对第二行为数据进行分析。通过执行本发明中的方法,能够有效有效识别、检测、防御反虚拟化的恶意程序。
主权利要求:
1.一种针对反虚拟化恶意程序的检测方法,其特征在于,包括如下步骤:
获取待测程序的文件格式及所需运行环境;
根据所述待测程序的文件格式及所需运行环境构建并部署虚拟环境;
在所述虚拟环境下第一次执行所述待测程序,并获取所述待测程序执行时的网络层、系统层和应用层的第一行为数据;
根据预设恶意行为规则对第一行为数据进行分析,判断所述待测程序是否有恶意行为;
当所述待测程序有恶意行为时,分析所述恶意行为并生成分析开云优惠体育网页版入口;
当所述待测程序没有恶意行为时,在隐藏虚拟化特征后的所述虚拟环境下第二次执行所述待测程序,并获取所述待测程序执行时的网络层、系统层和应用层的第二行为数据;
根据预设恶意行为规则对第二行为数据进行分析,判断所述待测程序是否有恶意行为;
当所述待测程序有恶意行为时,分析所述恶意行为并生成分析开云优惠体育网页版入口;
当所述待测程序没有恶意行为时,在隐藏虚拟化特征且模拟仿真人在回路后的所述虚拟环境下第三次执行所述待测程序,并获取所述待测程序执行时的网络层、系统层和应用层的第三行为数据;所述模拟仿真人在回路是指在所述虚拟环境部署一套内部论坛形式的网站,并进行基于伪随机数的不定周期模拟操作,模仿用户在不同时间间隔内执行浏览、读写、上传、下载操作;
根据预设恶意行为规则对所述第三行为数据进行分析。
2.根据权利要求1所述的针对反虚拟化恶意程序的检测方法,其特征在于,所述隐藏虚拟化特征是指对所述虚拟环境中的注册表、进程、文件和命令行进行修改,隐藏其中的虚拟化特征。
3.根据权利要求1或2所述的针对反虚拟化恶意程序的检测方法,其特征在于,所述获取待测程序的文件格式及运行环境的步骤之前,还包括如下步骤:使用反汇编技术对所述待测程序进行检测,判断所述待测程序是否存在加壳或者混淆;
根据预设虚拟化检测规则,检查所述待测程序中是否有与所述虚拟化检测规则相匹配的关键词;
当所述待测程序既不存在加壳也不存在混淆时,判定所述待测程序为无害程序并生成分析开云优惠体育网页版入口;
当所述待测程序中具有与所述虚拟化检测规则相匹配的关键词时,判定所述待测程序为恶意程序并生成分析开云优惠体育网页版入口;
当所述待测程序中没有与所述虚拟化检测规则相匹配的关键词,但是存在加壳或者混淆时,执行所述获取所述待测程序的文件格式及运行环境的步骤。
4.一种针对反虚拟化恶意程序的检测系统,其特征在于,包括:
静态分析模块,用于对待测程序的文件格式和所需运行环境要素进行分析;
环境构建模块,与所述静态分析模块和检测控制模块相连接,用于在接收到所述检测控制模块的构建指示时根据所述静态分析模块发送的所述待测程序的文件格式和所需运行环境构建虚拟环境;
环境部署模块,与所述检测控制模块相连接,用于安装所述虚拟环境运行所需的业务软件、办公软件;
特征隐藏模块,与所述检测控制模块相连接,用于在接收到所述检测控制模块的隐藏指令时对所述虚拟环境的虚拟化特征进行隐藏;
恶意行为跟踪模块,用于根据所述待测程序的网络层、系统层和应用层的行为,得到所述待测程序执行期间的行为数据;
恶意行为分析模块,用于对所述行为数据进行解析,并根据预设恶意行为规则判断所述待测程序是否存在恶意行为;
检测控制模块,用于在所述虚拟环境部署结束后将所述待测程序上传至所述虚拟环境,并控制所述虚拟环境运行、所述待测程序开始第一次执行;还用于在所述待测程序第一次执行后的行为数据被判断为不存在恶意行为时,给所述特征隐藏模块下发隐藏指令,并在所述特征隐藏模块完成虚拟化特征隐藏后控制所述待测程序开始第二次执行;
模拟仿真模块,与所述检测控制模块相连接,用于在接收到所述检测控制模块的模拟指令时在所述虚拟环境内部署仿真人在回路的虚拟化业务环境,并监控所述虚拟化业务环境的运行状态;所述模拟仿真人在回路是指在所述虚拟环境部署一套内部论坛形式的网站,并进行基于伪随机数的不定周期模拟操作,模仿用户在不同时间间隔内执行浏览、读写、上传、下载操作;
检测控制模块还用于在所述待测程序第二次执行后的行为数据被判断为不存在恶意行为时,给所述模拟仿真模块下发模拟指令,并在所述模拟仿真模块完成部署的所述虚拟化业务环境运行后控制所述待测程序开始第三次执行。
5.根据权利要求4所述的针对反虚拟化恶意程序的检测系统,其特征在于,所述模拟仿真模块部署的所述虚拟化业务环境为多个,所述模拟仿真模块还用于在运行中的一个所述虚拟化业务环境故障时,强制销毁故障的所述虚拟化业务环境,并调用另一个所述虚拟化业务环境进行替换。
6.根据权利要求4或5所述的针对反虚拟化恶意程序的检测系统,其特征在于,所述模拟仿真模块采用JAVA+SpringBoot+VUE+MySQL+Redis的框架进行论坛搭建,并采用Selenium+Yaml+Xpath+Sleep+Python的框架搭建用户操作模拟部分,以进行基于伪随机数的不定周期模拟操作,模仿用户在不同时间间隔内执行浏览、读写、上传、下载操作。
7.根据权利要求4所述的针对反虚拟化恶意程序的检测系统,其特征在于,所述静态分析模块还用于采用反汇编技术检测所述待测程序是否存在加壳或者混淆,并在所述待测程序既不存在加壳也不混淆时,生成所述待测程序为无害程序的分析开云优惠体育网页版入口;所述静态分析模块还用于检查待测程序中是否有与虚拟化检测规则相匹配的关键词,并在所述待测程序具有与所述虚拟化检测规则相匹配的关键词时,生成所述待测程序为恶意程序的分析开云优惠体育网页版入口;
所述检测控制模块用于在所述待测程序没有与所述虚拟化检测规则相匹配的关键词,但是存在加壳或者混淆时,向所述环境构建模块下发构建指示。 说明书 : 一种针对反虚拟化恶意程序的检测方法及系统技术领域[0001] 本发明涉及网络空间安全技术领域,尤其涉及到一种针对反虚拟化恶意程序的检测方法及系统。背景技术[0002] 当前,主流的防病毒软件根据病毒特征码匹配来识别可疑文件,可有效对抗大部分计算机病毒;为躲避检测,非法黑客不断修改恶意程序的特征码以隐藏程序特征、突破防护软件的防御。为应对病毒迭代进化,基于程序行为自主分析判断的主动防御技术应运而生,从病毒本源出发,以程序的行为作为判断病毒的依据,取得较好的防护效果;然而,部分程序行为是否合法存在边界:那榭,需要用户运用专业知识进行实时判断,不仅工作量大、效率低,而且对用户的专业水平提出了较高的要求。[0003] 由于虚拟云技术发展,网络安全人员利用虚拟环境测试、评估恶意程序的研究不断深化。为躲避虚拟环境的分析、检测,非法黑客嵌入反虚拟化字段以检测恶意程序运行环境,自动在虚拟环境停止运行以减少脆弱点暴露;随着大规模云应用上线,虚拟化环境攻击价值急剧上升,部分高级病毒增加了检测虚拟应用、检测人工参与的功能,隐蔽性大为提高,给病毒检测、病毒防护带来了新的挑战。发明内容[0004] 有鉴于此,本发明提供了一种对虚拟化测试环境的特征进行修改、隐藏,躲避部分高级恶意程序对虚拟化运行环境侦测手段,能够有效识别、检测、防御反虚拟化恶意程序的检测方法及检测系统。[0005] 根据第一方面,本发明提供了一种针对反虚拟化恶意程序的检测方法,包括如下步骤:[0006] 获取待测程序的文件格式及所需运行环境;[0007] 根据待测程序的文件格式及所需运行环境构建并部署虚拟环境;[0008] 在虚拟环境下第一次执行待测程序,并获取待测程序执行时的网络层、系统层和应用层的第一行为数据;[0009] 根据预设恶意行为规则对第一行为数据进行分析,判断待测程序是否有恶意行为;[0010] 当待测程序有恶意行为时,分析恶意行为并生成分析开云优惠体育网页版入口;[0011] 当待测程序没有恶意行为时,在隐藏虚拟化特征后的虚拟环境下第二次执行待测程序,并获取待测程序执行时的网络层、系统层和应用层的第二行为数据;[0012] 根据预设恶意行为规则对第二行为数据进行分析。[0013] 作为本发明的一种可选实现方式,隐藏虚拟化特征是指对虚拟环境中的注册表、进程、文件和命令行进行修改,隐藏其中的虚拟化特征。[0014] 作为本发明的一种可选实现方式,根据预设恶意行为规则对第二行为数据进行分析的步骤,具体包括如下步骤:[0015] 根据预设恶意行为规则对第二行为数据进行分析,判断待测程序是否有恶意行为;[0016] 当待测程序有恶意行为时,分析恶意行为并生成分析开云优惠体育网页版入口;[0017] 当待测程序没有恶意行为时,在隐藏虚拟化特征且模拟仿真人在回路后的虚拟环境下第三次执行待测程序,并获取待测程序执行时的网络层、系统层和应用层的第三行为数据;[0018] 根据预设恶意行为规则对第三行为数据进行分析。[0019] 作为本发明的一种可选实现方式,模拟仿真人在回路是指在虚拟环境部署一套内部论坛形式的网站,并进行基于伪随机数的不定周期模拟操作,模仿用户在不同时间间隔内执行浏览、读写、上传、下载等操作。[0020] 作为本发明的一种可选实现方式,获取待测程序的文件格式及运行环境的步骤之前,还包括如下步骤:[0021] 使用反汇编技术对待测程序进行检测,判断待测程序是否存在加壳或者混淆;[0022] 当待测程序既不存在加壳也不存在混淆时,判定待测程序为无害程序并生成分析开云优惠体育网页版入口;[0023] 根据预设虚拟化检测规则,检查待测程序中是否有与虚拟化检测规则相匹配的关键词;[0024] 当待测程序既不存在加壳也不存在混淆时,判定待测程序为无害程序并生成分析开云优惠体育网页版入口;[0025] 当待测程序中具有与虚拟化检测规则相匹配的关键词时,判定待测程序为恶意程序并生成分析开云优惠体育网页版入口;[0026] 当待测程序中没有与虚拟化检测规则相匹配的关键词,但是存在加壳或者混淆时,执行获取待测程序的文件格式及运行环境的步骤。[0027] 根据第二方面,本发明实施例提供了一种针对反虚拟化恶意程序的检测系统,包括:[0028] 静态分析模块,用于对待测程序的文件格式和所需运行环境等要素进行分析;[0029] 环境构建模块,与静态分析模块和检测控制模块相连接,用于在接收到检测控制模块的构建指示时根据静态分析模块发送的待测程序的文件格式和所需运行环境构建虚拟环境;[0030] 环境部署模块,与检测控制模块相连接,用于安装虚拟环境运行所需的业务软件、办公软件等;[0031] 特征隐藏模块,与控制模块相连接,用于在接收到检测控制模块的隐藏指令时对虚拟环境的虚拟化特征进行隐藏;[0032] 恶意行为跟踪模块,用于根据待测程序的网络层、系统层和应用层的行为,得到待测程序执行期间的行为数据;[0033] 恶意行为分析模块,用于对行为数据进行解析,并根据预设恶意行为规则判断待测程序是否存在恶意行为;[0034] 检测控制模块,用于在虚拟环境部署结束后将待测程序上传至虚拟环境,并控制虚拟环境运行、待测程序开始第一次执行;还用于在待测程序第一次执行后的行为数据被判断为不存在恶意行为时,给特征隐藏模块下发隐藏指令,并在特征隐藏模块完成虚拟化特征隐藏后控制待测程序开始第二次执行。[0035] 作为本发明的一种可选实现方式,针对反虚拟化恶意程序的检测系统还包括:[0036] 模拟仿真模块,与检测控制模块相连接,用于在接收到检测控制模块的模拟指令时在虚拟环境内部署仿真人在回路的虚拟化业务环境,并监控虚拟化业务环境的运行状态;[0037] 检测控制模块还用于在待测程序第二次执行后的行为数据被判断为不存在恶意行为时,给模拟仿真模块下发模拟指令,并在模拟仿真模块完成部署的虚拟化业务环境运行后控制待测程序开始第三次执行。[0038] 作为本发明的一种可选实现方式,模拟仿真模块部署的虚拟化业务环境可以为多个,模拟仿真模块还用于在运行中的一个虚拟化业务环境故障时,强制销毁故障的虚拟化业务环境,并调用另一个虚拟化业务环境进行替换。[0039] 作为本发明的一种可选实现方式,模拟仿真模块采用JAVA+SpringBoot+VUE+MySQL+Redis的框架进行论坛搭建,并采用Selenium+Yaml+Xpath+Sleep+Python的框架搭建用户操作模拟部分,以进行基于伪随机数的不定周期模拟操作,模仿用户在不同时间间隔内执行浏览、读写、上传、下载等操作。[0040] 作为本发明的一种可选实现方式,静态分析模块还用于采用反汇编技术检测待测程序是否存在加壳或者混淆,并在待测程序既不存在加壳也不混淆时,生成待测程序为无害程序的分析开云优惠体育网页版入口;静态分析模块还用于检查待测程序中是否有与虚拟化检测规则相匹配的关键词,并在待测程序具有与虚拟化检测规则相匹配的关键词时,生成待测程序为恶意程序的分析开云优惠体育网页版入口;[0041] 检测控制模块用于在待测程序没有与虚拟化检测规则相匹配的关键词,但是存在加壳或者混淆时,向环境构建模块下发构建指示。[0042] 本发明提供的技术方案,具有如下优点:[0043] 1、本发明提供的针对反虚拟化恶意程序的检测方法,通过修改(如采用填入随机数列、字符串的方式)虚拟环境的虚拟化特征(如虚拟环境的进程、文件、驱动程序、注册表等),将虚拟环境的虚拟化特征隐藏(特征隐藏发生在虚拟环境加载前,不影响虚拟化文件),并对被测程序进行二次执行和恶意行为判定,能够防止部分高级恶意程序绕过自动检测分析系统的行为分析,有效识别、检测、防御反虚拟化的恶意程序。[0044] 2、本发明提供的针对反虚拟化恶意程序的检测方法,基于部分高级恶意程序对虚拟化环境进行业务真实性检测,如是否承担实际业务、存在价值流量、是否人工操作等要素;本发明通过对虚拟环境进行人在回路的动作模拟,有效躲避高级恶意程序对虚拟化环境甄别,提高了对反虚拟化程序的检测成功率。[0045] 3、本发明提供的针对反虚拟化恶意程序的检测方法,在对被测程序进行动态检测之前,先对待测程序进行静态检测,判断其是否存在混淆、加壳或者进行虚拟化检测关键词检索,兼顾静态检测高效、动态检测全面的优势。附图说明[0046] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0047] 图1为本发明实施例1提供的一种针对反虚拟化恶意程序的检测方法的方法流程图;[0048] 图2为本发明实施例1提供的另一种针对反虚拟化恶意程序的检测方法的方法流程图;[0049] 图3为本发明实施例1提供的一种人在回路的模拟业务环境框架示意图;[0050] 图4为本发明实施例1提供的另一种针对反虚拟化恶意程序的检测方法的方法流程图;[0051] 图5为本发明实施例2提供的一种针对反虚拟化恶意程序的检测系统的结构示意图;[0052] 图6为本发明实施例3提供的另一种针对反虚拟化恶意程序的检测系统的结构示意图。具体实施方式[0053] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0054] 在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。[0055] 实施例1[0056] 图1示出了本发明实施例中的一种针对反虚拟化恶意程序的检测方法的流程图,具体地,如图1所示,该方法可以包括如下步骤:[0057] S101:获取待测程序的文件格式及所需运行环境。[0058] 具体地,对于存在扩展名的文件类程序,如xxx.doc、xxx.pdf等类型,可通过名称得到其格式信息;对于无扩展名的文件,可通过十六进制下的数据段特征获得其签名信息,进而判断,如ELF文件在DOS头中存在“0x5A4D”、JPG文件在头文件中存在“0xD8FF”,等等。针对常见无扩展名文件,可以预设类型特征码库,并与其运行的所需环境进行了匹配,基于此,实现对待测程序的文件格式及所需运行环境。[0059] S102:根据待测程序的文件格式及所需运行环境构建并部署虚拟环境。[0060] 用以实现本实施例中的方法的系统中可以设置相应的环境构建模块和环境部署模块。具体地,环境构建模块负责两方面功能:一是管理涵盖常见操作系统的基础镜像库,并可根据使用需求,添加新的系统镜像;二是负责构建虚拟环境模板及对应环境,以文案+拓扑图的方式,将环境运行所需操作系统、计算资源、业务软件以及数据库类型等信息填入模板中,生成定制化的环境构建模板,完成环境的构建。具体地,环境部署模块依托已有镜像资源,根据模板信息安装所须的业务软件、办公软件等,并上传待测程序至指定虚拟机,等待检测控制模块的测试指令,例如,当被测程序为word文档时,在检测环境中安装office程序,当被测程序为pcap文件时,安装wireshark程序。[0061] S103:在虚拟环境下第一次执行待测程序,并获取待测程序执行时的网络层、系统层和应用层的第一行为数据。[0062] 具体实施时,可以基于dump文件,从待测程序执行前和待测程序执行后2个时间点跟踪程序的网络层、系统层和应用层的行为,并将行为要素抽象为“五元组”的形式进行描述;再对比不同时间的行为数据,筛选出待测程序执行期间的行为数据,以减少恶意行为判断的工作量。[0063] 示例性地,可以使用以下“五元组”进行行为描述:[0064] [0065] 其中,Type包括:File(文件行为)、Reg(注册表行为)、Network(网络行为)、Proc(进程行为)、Other(其他行为);Timestamp为动作发生的时间戳;Proc_ID为进程ID;Action为执行动作,包括:Open(打开)、Read(读)、Write(写)、Delete(删除)、Rename(重命名)、Download(下载)、Install(安装);Information记录了动作执行的具体对象,包括文件路径、注册表键、进程名称、远程连接IP地址和本地端口号等信息。[0066] S104:根据预设恶意行为规则对第一行为数据进行分析,判断待测程序是否有恶意行为。[0067] 具体地,当待测程序有恶意行为时,执行下述步骤S105;当待测程序没有恶意行为时,执行下述步骤S106。[0068] 具体实施时,通过对抽象的“五元组”数据进行识别和解析,从文件操作、注册表变化、网络动作、进程变化和其他行为五个方面,分析待测程序执行过程中是否发生了权限提升、异常执行、异常访问、异常检测等操作。[0069] 具体实施时,网络层方面,主要提取网络连接记录和网络数据包发送记录,通过在网关处进行流量抓包,获取数据包记录,筛选网络数据,获取套接字行为和连接行为。从套接字行为中可以得到系统开启了哪些远程服务的信息、从连接行为中可以得到系统与哪些远程地址建立了连接。[0070] 具体实施时,系统层方面,对不同系统的关注重点各有侧重。Windows操作系统重点关注注册表是否被篡改、目录文件是否变化等信息,如Microsoft\Windos\CurrentVersion\Run注册表控制系统的开机启动项,需要检查启动项中是否有增加其他程序等。Linux操作系统主要关注~/.*文件和/etc/目录下的文件信息,如/etc/profile下的系统环境变量、/etc/hosts的主机名、/etc/passwd的系统用户数据库文件等系统重要文件是否被篡改。通过对比不同状态下dump文件中上述文件的差异,得到待测程序对操作系统层的修改动作。[0071] 具体实施时,应用层方面,关注进程的信息。在进程的结构体中包含ActiveProcessLinks的双向链表,该链表中的Flink指向下一个进程,Blink指向上一个进程。通过对解析后的dump文件中进程的双向链表进行查找,可以得到包含进程偏移量、进程名、进程ID、进程父ID、线程数量、句柄数量、会话ID以及开始时间等信息。据此信息,生成进程树,展现进程中的父子关系,方便后续进行恶意行为分析。[0072] 具体实施时,可以根据恶意行为的非授权性和破坏性,以及对系统资源的非授权访问或篡改主要表现,进行预设恶意行为规则制定。示例性地,预设恶意行为判定规则可以如表1所示,一旦发现待测程序执行过程中的行为数据中包含下述表1中的行为,即判定该待测文件为恶意程序:[0073] 表1恶意行为判定规则[0074][0075][0076] S105:分析恶意行为并生成分析开云优惠体育网页版入口。[0077] S106:在隐藏虚拟化特征后的虚拟环境下第二次执行待测程序,并获取待测程序执行时的网络层、系统层和应用层的第二行为数据。[0078] 具体地,可以通过对虚拟环境中的注册表、进程、文件和命令行进行修改,隐藏其中的虚拟化特征。[0079] 示例性地,可以采用以下六个手段隐藏虚拟化特征:[0080] (1)修改包含虚拟化特征的注册表项键值;[0081] (2)重命名包含虚拟化特征的注册表项名称;[0082] (3)停止虚拟化特征进程;[0083] (4)删除虚拟化驱动程序文件;[0084] (5)删除或重命名系统目录下包含虚拟化特征的文件;[0085] (5)伪装命令行,待测程序使用命令行进行命令执行时,系统先在后台执行命令,当返回信息中包含虚拟化环境信息时,会返回一个伪装命令行结果。[0086] 具体实施时,可以从a?z、0?9范围中随机生成字符串,并在上述修改需要进行环境特征值修改时,填入随机数列。且需要说明的是,对驱动程序文件和进程的更改,不会影响到虚拟化环境的稳定;上述文件的修改均发生在磁盘上,在修改之前,虚拟化环境已被加载进内存中,上述修改并不会影响到内存上的虚拟化文件,只用来欺骗恶意程序的虚拟化检测。[0087] S107:根据预设恶意行为规则对第二行为数据进行分析。[0088] 该步骤的具体实施可以参照上述步骤S104的内容进行理解,在此不再赘述。[0089] 基于发明人发现反虚拟化恶意程序为甄别虚拟化环境为测试环境亦或是实际业务环境,会对其所在环境进行真实性检测,因而,为了提高本实施例中的反虚拟化恶意程序的检测方法对反虚拟化程序的检测成功率,如图2所示,作为本实施例中的针对反虚拟化恶意程序的检测方法的一种可选的具体实施方式,上述步骤S107具体可以包括如下步骤:[0090] S701:根据预设恶意行为规则对第二行为数据进行分析,判断待测程序是否有恶意行为。[0091] 具体地,当待测程序有恶意行为时,执行下述步骤S702;当待测程序没有恶意行为时,执行下述步骤S703和步骤S704。[0092] S702:分析恶意行为并生成分析开云优惠体育网页版入口。[0093] S703:在隐藏虚拟化特征且模拟仿真人在回路后的虚拟环境下第三次执行待测程序,并获取待测程序执行时的网络层、系统层和应用层的第三行为数据。[0094] 具体实施时,可以在虚拟环境部署一套内部论坛形式的网站,并进行基于伪随机数的不定周期模拟操作,模仿用户在不同时间间隔内执行浏览、读写、上传、下载等操作,实现人在回路的模拟仿真。[0095] 具体实施时,如图3所示,可以在虚拟化检测环境部署一套内部论坛形式的网站,论坛采用JAVA+SpringBoot+VUE+MySQL+Redis的框架进行搭建,包含论坛服务器和数据库,论坛服务器提供网页访问、数据处理等服务,数据库存储各类服务数据、流量数据等;同时,采用Selenium+Yaml+Xpath+Sleep+Python的框架搭建用户操作模拟部分,借鉴了自动化测试思想,通过自动化脚本的形式模拟用户访问,使用伪随机数生成模块,在1?60秒内随机选取数字,并将数字输入时间计数器作为访问时间间隔,用户操作模拟模块则模仿用户在不同时间间隔内执行浏览、读写、上传、下载等操作,镜像库提供必要的系统、应用镜像,支持用户操作模拟模块构建逼真的操作系统环境。[0096] S704:根据预设恶意行为规则对第三行为数据进行分析。[0097] 由于上述基于待测程序执行的动态检测虽然具有检测全面的优点,但也具有检测效率相对较低的问题,因此,在本实施例的一种可选的具体实施方式中,采用动态、静态结合的检测方式,兼顾静态检测高效、动态检测全面的优势。如图4所示,在本发明的一种可选的具体实施方式中,在上述步骤S101之前,该方法还包括:[0098] S108:使用反汇编技术对待测程序进行检测,判断待测程序是否存在加壳或者混淆。[0099] 具体地,当待测程序既不存在加壳也不存在混淆时,执行下述步骤S110;当待测程序存在加壳或者混淆时,执行上述步骤S101。[0100] 具体实施时,使用反汇编技术,检查其内部是否存在LoadLibrary、GetProcAddress等加壳程序常见函数,统计汇编代码中函数名是否为乱码,检索汇编代码中字符串是否为不可识别的内容等,满足上述任一条件,则证明被测程序存在混淆或加壳,需进一步进行行为跟踪和分析;如果被测程序不存在混淆或加壳,则判定该程序为无害程序,经反汇编检测后,统计其调用系统库信息,构建程序执行流图,形成分析开云优惠体育网页版入口。[0101] S109:判定待测程序为无害程序并生成分析开云优惠体育网页版入口。[0102] S110:根据预设虚拟化检测规则,检查待测程序中是否有与虚拟化检测规则相匹配的关键词。[0103] 具体地,当待测程序中具有与虚拟化检测规则相匹配的关键词时,执行下述步骤S111;当待测程序中没有与虚拟化检测规则相匹配的关键词,执行上述步骤S101。[0104] 具体地,此步骤可以对检查注册表键值、检查进程名称、检查系统版本等进行检查。示例性地,虚拟化检测规则可以如表2所示,若待测程序中存在表2中的探测字段,可直接判定为恶意程序,本次检测结束:[0105] 表2虚拟化检测规则[0106][0107][0108][0109][0110][0111][0112] S111:判定待测程序为恶意程序并生成分析开云优惠体育网页版入口。[0113] 综上,本实施例中的针对反虚拟化恶意程序的检测方法,通过关键词匹配检查程序是否自带虚拟化检测,而后通过虚拟环境特征隐藏和模拟人在回路的业务环境方式,揭露高级恶意程序的伪装,暴露其恶意行为。本发明采用动态、静态结合的检测方式,兼顾静态检测高效、动态检测全面的优势;特有的对人在回路的业务环境模拟,有效躲避恶意程序对虚拟化环境甄别,提高了系统对反虚拟化程序的检测成功率。[0114] 实施例2[0115] 本发明实施例提供了一种针对反虚拟化恶意程序的检测系统,其为根据上述实施例1中的针对反虚拟化恶意程序的检测方法构建,也是上述实施例1中的针对反虚拟化恶意程序的检测方法的实现基础。[0116] 如图5所示,该系统包括静态分析模块、环境构建模块、环境部署模块、特征隐藏模块、恶意行为跟踪模块、恶意行为分析模块和检测控制模块。[0117] 静态分析模块用于对待测程序的文件格式和所需运行环境等要素进行分析。该静态分析模块的具体功能实现可以参照上述实施例1中步骤S101的内容进行理解。[0118] 环境构建模块与静态分析模块和检测控制模块相连接,用于在接收到检测控制模块的构建指示时根据静态分析模块发送的待测程序的文件格式和所需运行环境构建虚拟环境。环境部署模块与检测控制模块相连接,用于安装虚拟环境运行所需的业务软件、办公软件等。该环境构建模块和环境部署模块的具体功能实现可以参照上述实施例1中步骤S102的内容进行理解。[0119] 特征隐藏模块与控制模块相连接,用于在接收到检测控制模块的隐藏指令时对虚拟环境的虚拟化特征进行隐藏。该特征隐藏模块的具体功能实现可以参照上述实施例1中步骤S703的内容进行理解。[0120] 恶意行为跟踪模块用于根据待测程序的网络层、系统层和应用层的行为,得到待测程序执行期间的行为数据。恶意行为跟踪模块采用离线分析的方式。该恶意行为跟踪模块的具体功能实现可以参照上述实施例1中步骤S103的内容进行理解。[0121] 恶意行为分析模块用于对行为数据进行解析,并根据预设恶意行为规则判断待测程序是否存在恶意行为。该恶意行为分析模块的具体功能实现可以参照上述实施例1中步骤S104的内容进行理解。[0122] 检测控制模块用于在虚拟环境部署结束后将待测程序上传至虚拟环境,并控制虚拟环境运行、待测程序开始第一次执行;还用于在待测程序第一次执行后的行为数据被判断为不存在恶意行为时,给特征隐藏模块下发隐藏指令,并在特征隐藏模块完成虚拟化特征隐藏后控制待测程序开始第二次执行。也即,检测控制模块用于进行资源调度,对虚拟化测试环境进行全生命周期管理,包括启动、暂停、恢复和归零;还用于进行任务管理,当待测程序传入时,进行虚拟化环境的构建、部署,并分别在初始环境测试和特征隐藏测试阶段控制测试过程。[0123] 具体实施时,还可以设置检测控制模块具有强制销毁功能;为了提供检测效率,虚拟化环境未安装反病毒软件,遇到部分环境破坏、资源消耗类的恶意程序时,可能无法正常结束任务,因此需通过定时轮询虚拟化环境状态,销毁超时未关闭的环境。[0124] 基于发明人发现反虚拟化恶意程序为甄别虚拟化环境为测试环境亦或是实际业务环境,会对其所在环境进行真实性检测,因而,为了提高本实施例中的反虚拟化恶意程序的检测系统对反虚拟化程序的检测成功率,如图6所示,作为一种可选的具体实施方式,本实施例中的针对反虚拟化恶意程序的检测系统还可以包括模拟仿真模块,该模拟仿真模块与检测控制模块相连接,用于在接收到检测控制模块的模拟指令时在虚拟环境内部署仿真人在回路的虚拟化业务环境,并监控虚拟化业务环境的运行状态。此时,检测控制模块还用于在待测程序第二次执行后的行为数据被判断为不存在恶意行为时,给模拟仿真模块下发模拟指令,并在模拟仿真模块完成部署的虚拟化业务环境运行后控制待测程序开始第三次执行。[0125] 具体地,模拟仿真模块采用JAVA+SpringBoot+VUE+MySQL+Redis的框架进行论坛搭建,并采用Selenium+Yaml+Xpath+Sleep+Python的框架搭建用户操作模拟部分,以进行基于伪随机数的不定周期模拟操作,模仿用户在不同时间间隔内执行浏览、读写、上传、下载等操作,且模拟仿真模块部署的虚拟化业务环境可以为多个,模拟仿真模块还用于在运行中的一个虚拟化业务环境故障时,强制销毁故障的虚拟化业务环境,并调用另一个虚拟化业务环境进行替换。[0126] 模拟仿真模块的具体功能实现可以参照上述实施例1中步骤S703的内容进行理解。[0127] 由于上述基于待测程序执行的动态检测虽然具有检测全面的优点,但也具有检测效率相对较低的问题,因此,在本实施例的一种可选的具体实施方式中,采用动态、静态结合的检测方式,兼顾静态检测高效、动态检测全面的优势;此时,如图6所示,静态分析模块还用于采用反汇编技术检测待测程序是否存在加壳或者混淆,并在待测程序既不存在加壳也不混淆时,生成待测程序为无害程序的分析开云优惠体育网页版入口;静态分析模块还用于检查待测程序中是否有与虚拟化检测规则相匹配的关键词,并在待测程序具有与虚拟化检测规则相匹配的关键词时,生成待测程序为恶意程序的分析开云优惠体育网页版入口;检测控制模块用于在待测程序没有与虚拟化检测规则相匹配的关键词,但是存在加壳或者混淆时,向环境构建模块下发构建指示。[0128] 此时,静态分析模块的具体功能实现可以参照上述实施例1中步骤S101、步骤S108和步骤S109的内容进行理解。[0129] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
专利地区:辽宁
专利申请日期:2023-11-13
专利公开日期:2024-09-03
专利公告号:CN117540381B