CN113127884A - 一种基于虚拟化的漏洞并行验证方法及装置 - Google Patents

一种基于虚拟化的漏洞并行验证方法及装置 Download PDF

Info

Publication number
CN113127884A
CN113127884A CN202110466572.9A CN202110466572A CN113127884A CN 113127884 A CN113127884 A CN 113127884A CN 202110466572 A CN202110466572 A CN 202110466572A CN 113127884 A CN113127884 A CN 113127884A
Authority
CN
China
Prior art keywords
vulnerability
task
environment
verification
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110466572.9A
Other languages
English (en)
Inventor
梁利
杨韬
熊克琦
陈琳
吴金灿
李海玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Information Technology Security Research Center
Original Assignee
National Information Technology Security Research Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Information Technology Security Research Center filed Critical National Information Technology Security Research Center
Priority to CN202110466572.9A priority Critical patent/CN113127884A/zh
Publication of CN113127884A publication Critical patent/CN113127884A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Abstract

一种基于虚拟化的漏洞并行验证方法及装置,属于计算机安全技术领域。采用在虚拟机中构建仿真环境的方式,通过生成不同操作系统的虚拟机实例,在多个实例中部署漏洞程序、统一任务提交、并行执行漏洞程序;同时记录样本漏洞程序在多个不同环境中的执行过程,并同时分析不同环境中样例触发漏洞的情况,从而实现并行进行漏洞验证功能,判断漏洞被触发的原因及危害。

Description

一种基于虚拟化的漏洞并行验证方法及装置
技术领域
本发明涉及一种基于虚拟化的漏洞并行验证方法及装置,属于计算机安全技术领域。
背景技术
漏洞分析验证主要包含筛选,静态分析,搭建动态调试环境,调试分析,漏洞攻击点追踪,危害评估等,需要开展大量工作,各个安全系统等每天都会捕获很多样本文件,人工可疑样本筛选不适应复杂网络环境下快速大量的样本分析。基于软件安全人员切实使用需求,开展不同平台下待验证漏洞样本在目标软件执行过程中的行为研究工作,重点关注样本文件触发软件中的漏洞以及触发漏洞之后的恶意行为。
现有的程序行为分析主要通过人工的静态分析和动态分析,工具分析结果不便有效使用,准确程度也难以提高,需要工作量大,实际漏洞检测不便。
发明内容
为了克服现有技术的不足,本发明提供一种基于虚拟化的漏洞并行验证方法及装置。
一种基于虚拟化的漏洞并行验证装置,包含服务端组件、用户客户端组件、多平台系统环境代理端组件及虚拟化基础环境组件。
服务端组件起到连接沟通控制流程和执行流程的作用,服务端组件一方面连接客户端组件,接收客户端发送的各项控制指令和配置信息,另一方面维护代理端组件连接,分发执行漏洞验证任务所需要的信息,并汇总验证结果,为实现这两方面的连接,服务端组件还实现配置信息存储,任务调度,报告存储功能;
用户客户端组件客是用户和系统间的桥梁,通过和服务端组件通信,使系统功能可以完全被客户所使用;一方面客户端负责将用户提供的信息输入系统,如提交验证任务,输入配置参数,另一方面将系统产生的信息反馈给用户,如展示验证任务进度,显示验证任务结果;
多平台系统环境代理端组件直接执行漏洞验证任务的终端组件,是整个系统的核心所在;代理端组件从服务端组件接收执行任务的指令,以及相应的漏洞环境配置信息;依据配置启动漏洞程序,并动态执行分析漏洞验证任务,收集程序的运行情况和漏洞出发情况;等待任务执行完毕,代理端组件收集整个流程中产生的信息发送至服务端进行汇总;
虚拟化基础环境组件并行化验证的基础设施,利用虚拟化技术管理维护代理机集群环境,内部可提供高效完整的系统环境,各个系统环境内运行环境代理组件,等待任务分析;虚拟化组件提供漏洞验证环境管理、更新、回滚和备份功能。
一种基于虚拟化的漏洞并行验证方法,含有以下步骤:采用在虚拟机中构建仿真环境的方式,通过生成不同操作系统的虚拟机实例,在多个实例中部署漏洞程序、统一任务提交、并行执行漏洞程序;同时记录样本漏洞程序在多个不同环境中的执行过程,并同时分析不同环境中样例触发漏洞的情况,从而实现并行进行漏洞验证功能,判断漏洞被触发的原因及危害。
本发明的优点是:基于虚拟化多环境的漏洞并行验证辅助系统,基于实际使用需求,开展不同平台下待验证漏洞样本在目标软件执行过程中的行为研究工作,重点关注无交互样本文件动态执行中触发的软件漏洞。
主要支持了Windows、Linux平台下的各种环境,可快速切换和反复部署,进行样本文件执行分析工作,主要特点是多种运行环境下漏洞快速并行验证,运行环境开放可控。
附图说明
当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,如图其中:
图1为本发明的程序流程之一图。
图2为本发明的程序流程之二图。
图3为本发明的结构示意图。
下面结合附图和实施例对本发明进一步说明。
具体实施方式
显然,本领域技术人员基于本发明的宗旨所做的许多修改和变化属于本发明的保护范围。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当称元件、组件被“连接”到另一元件、组件时,它可以直接连接到其他元件或者组件,或者也可以存在中间元件或者组件。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与所属领域中的普通技术人员的一般理解相同的意义。
为便于对实施例的理解,下面将结合做进一步的解释说明,且各个实施例并不构成对本发明的限定。
实施例1:如图1、图2及图3所示,一种基于虚拟化的漏洞并行验证方法,具体包括以下步骤:
步骤1.准备基础环境,包括:虚拟化环境、服务端、用户客户端、多平台系统环境代理端。
步骤2.准备漏洞运行分析环境集,植入环境代理端。
步骤3.提交漏洞验证任务:
步骤3-1:准备验证对象,包括:存在漏洞的程序、可触发漏洞的样本文件等。
步骤3-2:配置任务执行参数,如漏洞程序路径等。
步骤3-3:生成任务校验信息。
步骤3-4:任务信息提交服务端
步骤3-5:向选定的操作系统的环境实例分发漏洞验证任务。
步骤4.执行漏洞验证任务,进行如下操作:
步骤4-1:选定的代理虚拟机接受任务并校验。
步骤4-2:代理端部署漏洞程序。
步骤4-3:代理端导入可触发漏洞的样本文件。
步骤4-4:代理端根据任务配置信息,启动执行分析漏洞程序。
步骤4-5:代理端检测漏洞触发行为,记录相关数据,生成分析报告。
步骤5.获取验证结果;
步骤5-1:服务端将各代理环境分析结果汇总。
步骤5-2:根据漏洞验证结果,评估漏洞危害等级。
实施例2:如图1、图2及图3所示,一种基于虚拟化的漏洞并行验证装置,基于虚拟化的漏洞并行验证方法,基于漏洞验证系统(下称“本系统”)集成实现。
基于虚拟化多环境的漏洞并行验证辅助系统,基于实际使用需求,开展不同平台下待验证漏洞样本在目标软件执行过程中的行为研究工作,重点关注无交互样本文件动态执行中触发的软件漏洞。
主要支持了Windows、Linux平台下的各种环境,可快速切换和反复部署,进行样本文件执行分析工作,主要特点是多种运行环境下漏洞快速并行验证,运行环境开放可控。
一种基于虚拟化的漏洞并行验证装置,主要包含服务端组件、用户客户端组件、多平台系统环境代理端组件及虚拟化基础环境组件。
服务端组件:服务端组件起到连接沟通控制流程和执行流程的作用。服务端组件一方面连接客户端组件,接收客户端发送的各项控制指令和配置信息,另一方面维护代理端组件连接,分发执行漏洞验证任务所需要的信息,并汇总验证结果。为实现这两方面的连接,服务端组件还实现配置信息存储,任务调度,报告存储等功能。
用户客户端组件:客户端组件是用户和系统间的桥梁,通过和服务端组件通信,使系统功能可以完全被客户所使用。一方面客户端负责将用户提供的信息输入系统,如提交验证任务,输入配置参数等,另一方面将系统产生的信息反馈给用户,如展示验证任务进度,显示验证任务结果等。
多平台系统环境代理端组件:代理端组件是直接执行漏洞验证任务的终端组件,是整个系统的核心所在。代理端组件从服务端组件接收执行任务的指令,以及相应的漏洞环境配置信息;依据配置启动漏洞程序,并动态执行分析漏洞验证任务,收集程序的运行情况和漏洞出发情况;等待任务执行完毕,代理端组件收集整个流程中产生的信息发送至服务端进行汇总。
虚拟化基础环境组件:虚拟化组件是并行化验证的基础设施,利用虚拟化技术管理维护代理机集群环境,内部可提供高效完整的系统环境,各个系统环境内运行环境代理组件,等待任务分析。虚拟化组件提供漏洞验证环境管理、更新、回滚和备份等功能。
虚拟化基础环境能实现系统和验证环境的快速部署和统一管理。
如果需要增加验证环境,不需要增加额外硬件设备,只需要在虚拟化环境上添加新的虚拟机实例即可。
这就减少了对硬件的要求,快速实现验证环境的大规模拓展。
服务端和用户客户端主要实现任务提交、任务分发和结果查询的功能。
任务提交主要包含选定样本文件、配置执行参数、数据文件,以及选定验证环境等工作。
提交后系统自动进行任务并行分发,各个代理端执行环境接收后校验任务,并行执行分析任务,并上报执行结果和漏洞详情。
最终结果查询可提供统一的验证报告输出结果。
实施例3:如图1、图2及图3所示,一种基于虚拟化的漏洞并行验证方法,含有以下步骤:用户客户端准备样本,填写样本文件分析任务;
选定样本文件,执行参数,数据文件,运行平台选择,提交服务端;
服务端接收任务创建ID,对任务计算散列值;
服务端按选定代理环境对任务并行进行分发;
各个代理环境接收到分析任务后,进行一致性校验;
代理按照任务发布配置独立启动任务;
结合操作系统环境支持对进程执行信息记录;
各个代理端将执行结果回传到服务端;
客户端查看任务执行进度和结果,汇总判断,完成验证;
代理端部署在虚拟化环境中,主要执行漏洞触发和检测分析工作。本系统主要采用各种动态执行检测方法达到检测漏洞触发的目的。
动态执行主要包含多种高危行为判定技术,包含缓冲区溢出、动态污点分析、控制流图判断、用户提权、堆喷射行为等检查,依托于Intel Pin二进制动态分析工具和操作系统支持,构建了丰富的样本执行行为的漏洞判定规则。
具体检测技术包括通过对任务目标进行动态二进制插桩(综合运用指令、函数、镜像插桩)对目标程序高危行为判定,包含缓冲区溢出、动态污点分析、控制流图判断、用户提权、堆喷射行为等检查,并记录行为上下文,记录执行结果和判定结果;
通过对不同虚拟机实例中代理端生成的结果进行汇总,可以实现对漏洞触发行为更全面的评估,而非局限于某一固定的操作系统版本。
本发明通过代理检测环境,并可对环境安全管理,对任务目标并行进行漏洞分析验证,验证结果准确,快速精确对各个环境进行漏洞影响验证,并且自动定位关键触发指令。
实施例4:如图1、图2及图3所示,一种基于虚拟化的漏洞并行验证方法,含有以下步骤:主要包括以典型的缓冲区溢出样本为例:
用户提交样本,启动参数到服务器端,选定代理环境包括Windows64和Windows32平台;
服务端将任务下发到Win7x32、Win10x32、Win7x64及Win10x64等代理环境端;
各虚拟机代理端收到任务后,分别开始准备执行环境,并启动动态二进制插桩,包括镜像、函数、指令插装,动态执行分析;
在各虚拟机实例中,样本执行时对序利用call指令调用函数时将下一条指令地址存入影子栈中,当执行ret指令从函数返回时检测当前线程栈中的返回地址是否与影子栈中的返回地址相同,如不相同则可以判定发生了缓冲区溢出攻击;
程序执行call MyPrintf(4010B0h)语句,将下一条指令地址(0x401023)存入当前线程栈中;
漏洞触发判定模块检测到call指令,将下一条指令地址(0x401023)存入影子栈中;程序执行ret语句从MyPrintf函数中返回,跳转到0x401023处;
漏洞触发判定模块检测到ret指令,从影子栈中取出返回地址与当前线程栈中的返回地址比对,当结果比对结果不一样可以判定当前程序受到了缓冲区溢出攻击。
各虚拟机代理端记录该信息;
执行阶段完成后,各虚拟机代理端将执行结果回传到服务端;
客户端查看任务执行完成和结果均已经回传;
完成验证:Windows环境下样本缓冲区溢出验证成功;
客户端查看服务端汇总样本漏洞验证信息。
如上所述,对本发明的实施例进行了详细地说明,但是只要实质上没有脱离本发明的发明点及效果可以有很多的变形,这对本领域的技术人员来说是显而易见的。因此,这样的变形例也全部包含在本发明的保护范围之内。

Claims (4)

1.一种基于虚拟化的漏洞并行验证方法,其特征在于含有以下步骤:采用在虚拟机中构建仿真环境的方式,通过生成不同操作系统的虚拟机实例,在多个实例中部署漏洞程序、统一任务提交、并行执行漏洞程序;同时记录样本漏洞程序在多个不同环境中的执行过程,并同时分析不同环境中样例触发漏洞的情况,从而实现并行进行漏洞验证功能,判断漏洞被触发的原因及危害。
2.根据权利要求1所述的一种基于虚拟化的漏洞并行验证方法,其特征在于含有以下步骤:
步骤1.准备基础环境,包括:虚拟化环境、服务端、用户客户端、多平台系统环境代理端;
步骤2.准备漏洞运行分析环境集,植入环境代理端;
步骤3.提交漏洞验证任务:
步骤3-1:准备验证对象,包括:存在漏洞的程序、可触发漏洞的样本文件;
步骤3-2:配置任务执行参数,如漏洞程序路径;
步骤3-3:生成任务校验信息;
步骤3-4:任务信息提交服务端
步骤3-5:向选定的操作系统的环境实例分发漏洞验证任务;
步骤4.执行漏洞验证任务,进行如下操作:
步骤4-1:选定的代理虚拟机接受任务并校验;
步骤4-2:代理端部署漏洞程序;
步骤4-3:代理端导入可触发漏洞的样本文件;
步骤4-4:代理端根据任务配置信息,启动执行分析漏洞程序;
步骤4-5:代理端检测漏洞触发行为,记录相关数据,生成分析报告;
步骤5.获取验证结果;
步骤5-1:服务端将各代理环境分析结果汇总;
步骤5-2:根据漏洞验证结果,评估漏洞危害等级。
3.一种基于虚拟化的漏洞并行验证装置,其特征在于包含服务端组件、用户客户端组件、多平台系统环境代理端组件及虚拟化基础环境组件。
4.根据权利要求3所述的一种基于虚拟化的漏洞并行验证装置,其特征在于服务端组件起到连接沟通控制流程和执行流程的作用,服务端组件一方面连接客户端组件,接收客户端发送的各项控制指令和配置信息,另一方面维护代理端组件连接,分发执行漏洞验证任务所需要的信息,并汇总验证结果,为实现这两方面的连接,服务端组件还实现配置信息存储,任务调度,报告存储功能;
用户客户端组件客是用户和系统间的桥梁,通过和服务端组件通信,使系统功能可以完全被客户所使用;一方面客户端负责将用户提供的信息输入系统,如提交验证任务,输入配置参数,另一方面将系统产生的信息反馈给用户,如展示验证任务进度,显示验证任务结果;
多平台系统环境代理端组件直接执行漏洞验证任务的终端组件,是整个系统的核心所在;代理端组件从服务端组件接收执行任务的指令,以及相应的漏洞环境配置信息;依据配置启动漏洞程序,并动态执行分析漏洞验证任务,收集程序的运行情况和漏洞出发情况;等待任务执行完毕,代理端组件收集整个流程中产生的信息发送至服务端进行汇总;
虚拟化基础环境组件并行化验证的基础设施,利用虚拟化技术管理维护代理机集群环境,内部可提供高效完整的系统环境,各个系统环境内运行环境代理组件,等待任务分析;虚拟化组件提供漏洞验证环境管理、更新、回滚和备份功能。
CN202110466572.9A 2021-04-28 2021-04-28 一种基于虚拟化的漏洞并行验证方法及装置 Pending CN113127884A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110466572.9A CN113127884A (zh) 2021-04-28 2021-04-28 一种基于虚拟化的漏洞并行验证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110466572.9A CN113127884A (zh) 2021-04-28 2021-04-28 一种基于虚拟化的漏洞并行验证方法及装置

Publications (1)

Publication Number Publication Date
CN113127884A true CN113127884A (zh) 2021-07-16

Family

ID=76780478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110466572.9A Pending CN113127884A (zh) 2021-04-28 2021-04-28 一种基于虚拟化的漏洞并行验证方法及装置

Country Status (1)

Country Link
CN (1) CN113127884A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451228A (zh) * 2023-04-23 2023-07-18 北京安普诺信息技术有限公司 动态污点追踪方法、装置及相关在线污点传播分析系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751056A (zh) * 2014-12-19 2015-07-01 中国航天科工集团第二研究院七〇六所 一种基于攻击库的漏洞验证系统与方法
CN106203126A (zh) * 2016-07-15 2016-12-07 国家计算机网络与信息安全管理中心 一种基于模拟环境的漏洞验证方法及系统
WO2018088588A1 (ko) * 2016-11-11 2018-05-17 엘에스웨어(주) 호스트를 기반으로 한 클라우드 컴퓨팅 환경에서의 취약점 분석 시스템 및 방법
CN109325351A (zh) * 2018-08-23 2019-02-12 中通服咨询设计研究院有限公司 一种基于众测平台的安全漏洞自动化验证系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751056A (zh) * 2014-12-19 2015-07-01 中国航天科工集团第二研究院七〇六所 一种基于攻击库的漏洞验证系统与方法
CN106203126A (zh) * 2016-07-15 2016-12-07 国家计算机网络与信息安全管理中心 一种基于模拟环境的漏洞验证方法及系统
WO2018088588A1 (ko) * 2016-11-11 2018-05-17 엘에스웨어(주) 호스트를 기반으로 한 클라우드 컴퓨팅 환경에서의 취약점 분석 시스템 및 방법
CN109325351A (zh) * 2018-08-23 2019-02-12 中通服咨询设计研究院有限公司 一种基于众测平台的安全漏洞自动化验证系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451228A (zh) * 2023-04-23 2023-07-18 北京安普诺信息技术有限公司 动态污点追踪方法、装置及相关在线污点传播分析系统
CN116451228B (zh) * 2023-04-23 2023-10-17 北京安普诺信息技术有限公司 动态污点追踪方法、装置及相关在线污点传播分析系统

Similar Documents

Publication Publication Date Title
CN110162977B (zh) 一种Android车载终端系统漏洞检测系统及方法
CN105094783B (zh) 安卓应用稳定性测试的方法及装置
CN102567203B (zh) 一种测试分布式文件系统性能的方法及系统
CN103970650B (zh) 分布式测试方法和装置
KR101008977B1 (ko) OSGi 서비스 플랫폼 테스트 방법 및 이를 이용한테스트 툴
US20150082094A1 (en) Test Execution Spanning Cloud and Local Devices
CN105404580B (zh) 分布式压力测试系统和方法
CN103530162A (zh) 一种虚拟机在线自动软件安装的方法及系统
CN103514023A (zh) 一种虚拟机离线自动软件安装的方法及系统
CN104751056A (zh) 一种基于攻击库的漏洞验证系统与方法
CN110309051A (zh) 管理测试用例的方法、系统、设备及存储介质
CN107102949B (zh) 应用程序离线测试方法及工具
CN110717184A (zh) 一种分布式安全测试系统
CN113779585A (zh) 越权漏洞检测方法和装置
CN109543417B (zh) 一种基于Qemu平台的漏洞挖掘方法和装置
CN109408310B (zh) 服务器的调试方法、服务器及可读存储介质
CN114297666A (zh) 一种基于模糊测试的云部署自动化漏洞挖掘系统
CN106708727B (zh) 一种分布式病毒特征样本验证方法及系统
CN113127884A (zh) 一种基于虚拟化的漏洞并行验证方法及装置
CN102546628B (zh) 一种样本鉴定方法及系统
CN101969442B (zh) 基于进程运行环境感知与迁移的网络模拟框架实现方法
CN111949548B (zh) 一种自动化越权渗透测试方法和存储设备
KR20150030297A (ko) 애플리케이션 자동 검증을 위한 검증장치, 단말장치, 시스템, 방법 및 컴퓨터로 판독 가능한 기록 매체
CN116010254A (zh) 一种系统研发阶段的性能检测方法和系统
CN110795330A (zh) 一种Monkey压力测试的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination