CN111796911A - 一种面向云平台虚拟设备的攻击检测方法及电子装置 - Google Patents
一种面向云平台虚拟设备的攻击检测方法及电子装置 Download PDFInfo
- Publication number
- CN111796911A CN111796911A CN202010652391.0A CN202010652391A CN111796911A CN 111796911 A CN111796911 A CN 111796911A CN 202010652391 A CN202010652391 A CN 202010652391A CN 111796911 A CN111796911 A CN 111796911A
- Authority
- CN
- China
- Prior art keywords
- jump
- legal
- information
- indirect
- branch
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000008569 process Effects 0.000 claims abstract description 38
- 238000005516 engineering process Methods 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 abstract description 28
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000004088 simulation Methods 0.000 description 9
- 238000010276 construction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002435 venom Substances 0.000 description 1
- 210000001048 venom Anatomy 0.000 description 1
- 231100000611 venom Toxicity 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种面向云平台中虚拟设备的攻击检测方法及电子装置,包括:在一虚拟设备上运行一I/O指令,使用Intel PT技术收集控制流相关的信息并对产生的数据包解码,得到条件跳转信息和间接跳转信息;依据条件跳转信息、间接跳转信息与所述虚拟设备的基线模型,检测所述I/O指令的合法性。本发明使用硬件技术Intel PT高效收集程序执行时控制流相关的信息,从而降低收集操作带来的性能开销;使用模糊测试技术构建虚拟设备的基线模型,可以在避免繁重的人工分析的基础上有效检测未知攻击;基于与虚拟设备执行过程合法性相关的影响因素设计了阈值公式,并进一步构建了判断方法,有效地提升了检测率。
Description
技术领域
本发明属于系统安全技术领域,涉及一种攻击检测方法,尤其涉及一种面向云平台中虚拟设备的攻击检测方法及电子装置。
背景技术
随着云计算技术的加速发展,社会中各行业的信息技术基础架构向云上迁移成为了当前的主流趋势。云计算的安全性与数据安全性、业务稳定性密切相关,是企业或组织将服务部署到云环境时需要考虑的关键因素。虚拟化技术作为云计算的基础核心技术,其安全性是保证整个云环境安全的关键。
KVM集成在Linux2.6.20及之后的各个主要发行版本中,是大多数Linux发行版的默认虚拟化机制。KVM逐渐超越了XEN,成为了大多数企业首选的开源裸机虚拟化技术,是时下最流行、应用范围最广的虚拟化模式。KVM主要负责CPU和内存的虚拟化,并修改QEMU,构成了负责设备虚拟化的qemu-kvm模块。虚拟设备由于代码量大、复杂陈旧且直接与虚拟化通信,成为了云计算架构中的软肋。因此针对云平台中的虚拟设备进行安全方面的研究是很有必要的。
攻击者利用虚拟设备中的漏洞可能会造成当前虚拟机拒绝服务攻击,甚至产生虚拟机逃逸攻击(攻击者从受害虚拟机中逃逸并控制底层VMM,以此调用很多功能例如用于创建虚拟机或管理I/O设备)、虚拟机跳跃攻击(攻击者通过逃出受害虚拟机以破坏同一台主机的另一个虚拟机)等,由此可以触及到云平台上多个企业的数据核心资产,从而造成难以估量的损失。例如2015年发布的QEMU虚拟软盘VENOM漏洞。攻击者可以利用该漏洞实现虚拟机逃逸,进而对虚拟机管理程序、宿主机甚至其他用户的虚拟机造成破坏,由此极大地威胁论云用户的数据隐私。该漏洞涉及范围极广,影响极大,以亚马逊为首的云提供商纷纷中招,诸多厂商重启服务器来修复漏洞,导致用户业务中断,损失严重。因此,如何检测利用虚拟设备漏洞发起的攻击已成为亟待解决的技术问题。
目前针对虚拟设备进行攻击检测的方法主要分为三类。第一种是基于已知攻击特征的检测方法,通过收集现有攻击提取攻击特征,基于特征进行运行时检测。由于特征全部来自已有攻击,该方法无法检测未知攻击。第二种基于I/O序列的检测方法,通过线下收集I/O序列训练学习模型,进而利用模型进行运行时检测。该方法模型构建依赖于足量的数据集,数据集较小会导致模型的不完备,进而降低检测率。第三种基于设备状态自动机的检测方法,通过划分设备运行状态构建设备状态转换的自动机,进而实时监测设备运行过程的合法性。该方法需要对自然语言编写的设备规范进行总结,由于设备规范细节缺失、过时或者具体实现与其不一致的问题,模型的构建可能存在错误。另外,这种方法需要为不同类型的设备构建不同的模型,可扩展性较差。
发明内容
为解决目前方法中存在的不足,本发明提出了一种面向云平台中虚拟设备的攻击检测方法及电子装置,能够检测影响三种类型控制流的攻击:控制流劫持、触发正常情况下几乎不会到达的控制流分支、颠倒控制流分支的先后执行顺序。本发明通过在真实的虚拟化环境中实时检测控制流相关的攻击,进而提高云计算环境的安全性。
为达到上述目的,本发明采用的具体技术方案如下:
一种面向云平台中虚拟设备的攻击检测方法,其步骤包括:
1)在一虚拟设备上运行一I/O指令,对产生的数据包解码,得到条件跳转信息和间接跳转信息;
2)依据条件跳转信息、间接跳转信息与所述虚拟设备的基线模型,检测所述I/O指令的合法性;
其中,通过以下步骤建立所述基线模型:
a)在所述虚拟设备运行若干合法I/O指令,对产生的合法数据包解码,得到合法条件跳转信息和合法间接跳转信息;
b)获取合法条件跳转分支和合法间接跳转分支的运行信息,并依据合法条件跳转信息、合法间接跳转信息及运行信息,设置若干源结点及若干目标节点,构建间接分支相连图,其中每一源节点存放合法条件跳转分支或合法间接跳转分支的源地址,每一目标结点存放合法条件跳转分支或合法间接跳转分支的目标地址;
c)对每一源结点和目标结点添加合法条件跳转分支或合法间接跳转分支的运行结果信息;
d)通过每一合法I/O指令相应的间接分支相连图及运行结果信息,构建所述虚拟设备的基线模型。
进一步地,通过IntelPT硬件技术,采集所述I/O指令产生的数据包。
进一步地,所述数据包包括跳转成功或非成功包和目标地址包。
进一步地,通过以下步骤检测所述I/O指令的合法性:
1)依据条件跳转信息和间接跳转信息,获取间接跳转分支的目标地址和条件跳转分支的跳转成功与否;
2)结合条件跳转分支和间接跳转分支到达目标结点的数量、条件跳转分支和间接跳转分支的总跳转次数及各目标结点被跳转到的次数,计算所述I/O指令执行过程的得分;
3)将执行过程的得分、条件跳转分支与间接跳转分支的执行顺序与基线模型匹配,得到所述I/O指令的合法性。
进一步地,对合法数据包解码的方法包括使用Intel的解码库libipt。
进一步地,合法条件跳转信息包括合法条件跳转分支的目标地址、源地址和跳转成功与否;合法间接跳转信息包括合法条件跳转分支的目标地址和源地址。
进一步地,所述运行信息包括合法间接跳转分支和合法条件跳转分支的执行次数和执行顺序。
进一步地,所述运行结果信息包括合法间接跳转分支的执行次数、执行顺序或合法条件跳转分支的跳转成功与否、执行次数、执行顺序。
一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述所述的方法。
一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机以执行上述所述的方法。
与现有技术相比,本发明具有以下有益效果:
1)使用硬件技术IntelPT高效收集程序执行时控制流相关的信息,从而降低收集操作带来的性能开销;
2)使用模糊测试技术构建虚拟设备的基线模型,可以在避免繁重的人工分析的基础上有效检测未知攻击;
3)基于与虚拟设备执行过程合法性相关的影响因素设计了阈值公式,并进一步构建了判断方法,有效地提升了检测率。
附图说明
图1为本发明方法的流程图。
图2为本发明中针对虚拟设备构建的轻量级自动化测试框架示意图。
图3为本发明中设置检测点后虚拟设备工作的流程图。
具体实施方式
为了使得本技术领域的研究人员更全面地理解本发明,下面将结合附图和实施例对本发明中的核心技术做详细的说明。
一种针对云平台虚拟设备的攻击检测系统,其内容包括:
1)执行信息收集模块
本模块使用高精度、低开销的IntelPT硬件技术来收集I/O指令执行过程中控制流相关的数据包,并将其处理为执行信息。本发明中的执行信息是影响控制流转移的跳转信息,包含条件跳转信息和间接跳转信息。其中,条件跳转具有多个目标地址,在程序正常的执行过程中有些分支不会到达,但是由于程序逻辑漏洞及分支条件判断错误的存在,这些分支被访问。条件跳转对应到IntelPT的数据包为TNT包(跳转成功或非成功包)。间接跳转具有不确定性,这种跳转易被利用,从而产生异常控制流,例如ROP攻击。间接跳转对应到IntelPT的数据包为TIP包(目标地址包)。执行信息不包括无条件直接跳转的相关信息,因为无条件直接跳转的目标地址是固定的,不会产生异常控制流。
为了在收集控制流相关信息的同时尽可能消除无关的执行信息,本模块根据虚拟设备的工作流程设置了收集的开始点和结束点。本模块将虚拟设备的工作流程分为以下三个阶段:接收命令码和参数、模拟执行命令、返回结果,并将开始点设置在虚拟设备接收命令码之前。由于存在少数指令的执行不会产生结果,没有返回结果这一阶段,所以将结束点设置在返回结果或者模拟执行完命令之后。
2)基线模型构建模块
本模块主要分为两部分:1、根据执行信息设计了虚拟设备的基线模型,进而完成实时的检测;2、使用自动化测试技术完成I/O测试用例的自动化生成,从而获得了足够数量的测试用例。
本发明提出的基线模型可以认为是程序合法执行过程的抽象。I/O指令作为虚拟设备的输入,当合法I/O指令输入足够时,即可构建一个虚拟设备的基线模型。模型中的结点分为两种,包括若干个源结点和每个源结点所对应的若干个目标结点。每个源结点存放一个条件跳转或间接跳转分支的源地址,每个目标结点存放源结点所到达的若干个目标地址之一。本模块在源节点与目标结点的边上添加标记,具体为条件跳转成功与否、执行次数以及跳转分支的执行顺序。
在第一部分中,本模块每次训练后得到一个间接分支相连的图,训练结束后将所有的图合并并添加标记,由此构成一个虚拟设备的基线模型。利用QEMU二进制提供的额外信息的基础上对执行信息进行了完整解码,本模块可以针对虚拟设备中的每条跳转指令得到:1、跳转指令的具体类型,即间接跳转或条件跳转;2、间接跳转分支的目标地址、源地址;3、条件跳转目标地址、源地址及跳转成功与否这些详细信息,由此构建间接分支相连的图,并将条件跳转成功与否作为图中边的标记。尽可能地涵盖与I/O指令执行合法性相关的信息从而保证模型的精确度是本模块考虑的重点。为了进一步提高模型的精确度,本模块为基线模型的边添加了除分支被选择与否外的其他标记。通过对多种控制流相关的攻击过程进行研究,本发明总结出其他两个影响执行的因素:执行次数和跳转分支的执行顺序,并将其添加在模型的边上。
在第二部分中,本模块基于AFL和qtest轻量级测试框架构建面向虚拟化设备I/O过程的自动化测试框架。qtest作为QEMU原生的单元测试框架,可以提供针对性的设备测试用例,但是现成的测试用例数量较少,无法涉及到一个设备所有的I/O执行情况。而模型的构建需要大量正确的I/O指令执行来保证路径覆盖率,以较大程度地降低后续检测的误报率。为了解决大量I/O测试用例的需求,本模块引入了模糊测试技术来自动化生成I/O测试用例。本模块使用模糊测试工具AFL为虚拟设备程序提供随机输入,由此不断触发新的代码执行路径。之后将基于这些触发新路径的输入进行信息收集从而构建基线模型。
3)运行时检测模块
本模块主要分为两部分:1、合理设置检测点,以尽可能地降低检测过程所引入的性能开销;2、设计一种判断I/O指令的执行过程是否合法的方法,并以此为基础进行攻击检测。
在第一部分中,为了尽可能降低插入检测点带来的性能开销,本模块在综合考虑I/O指令模拟执行的完整过程以及检测的有效性之后,最终决定将检测点设置在信息收集的结束点之前。由于实际分配的内存输出区域的大小足以满足实时产生的数据包,因此设置单个检测点就可以覆盖指令的完整执行流程。虚拟设备进入初始工作状态后,将启动执行信息收集过程。设备执行命令返回结果后进入检测阶段,将实时收集的执行信息与离线构建的基线模型进行匹配,最终根据后续判断方法确定虚拟设备执行的合法性。如果非法,则报告异常。如果合法,则结束信息收集过程,进入下一次I/O指令的模拟执行流程。
在第二部分中,为了确定执行过程的合法性,本模块通过对多种非法执行场景进行研究,总结了几点影响合法性的因素,并在此基础上提出了一个阈值公式来量化I/O操作的合法性,在实际场景中根据该公式和其他影响因素(即执行顺序)来综合判断I/O指令模拟执行过程的合法性,如果判断为非法,则代表发生了控制流相关的攻击。
本发明还公开了一种面向云平台中虚拟设备的攻击检测方法,图1为本发明提供的面向云平台虚拟设备的攻击检测方法的流程图。该方法包括:基线模型的离线构建阶段、运行时检测阶段。
在离线阶段时,本发明使用IntelPT硬件技术来收集虚拟设备每次训练时的执行信息,并结合QEMU二进制文件对收集到的执行信息进行完整的解码,通过分析解码后的信息构建虚拟设备的基线模型。该基线模型包括条件跳转分支的源地址、目标地址、跳转成功与否、执行次数、执行顺序以及间接跳转分支的源地址、目标地址、执行次数、执行顺序。如图2所示,本发明修改了AFL和qtest,针对QEMU虚拟设备构建了一套轻量级的自动化测试框架,为基线模型的构建提供了大量自动化生成的测试用例,大大提高了基线模型的完备性。
在实际运行阶段,本发明同样使用IntelPT实时收集QEMU虚拟设备的执行信息。为了提高检测时的效率,本发明采用Intel所提供的快速解码方式处理收集到的执行信息。快速解码只解析实时生成的数据包,解码速度快,获取的信息仅包括跳转指令的具体类型、间接跳转分支的目标地址和条件跳转分支的成功与否。本发明所构建的基线模型可以直接与获取的信息比较,通过两个运行阶段之间的合作来尽可能保证检测的实时性。本发明设计了一种判断攻击是否发生的方法,该方法包括一个可以量化I/O指令模拟执行过程合法性的阈值公式以及其他影响因素。在设置的检测点上使用该判断方法对此次I/O指令模拟执行的过程进行合法性的判定,如图3所示。具体过程为在虚拟设备完成初始化操作后,首先开启执行信息收集,然后在虚拟设备完成其接收命令码及参数、执行I/O指令、返回结果这些步骤后进入检测点开始检测此次I/O指令模拟执行过程的合法性。若此次执行过程是合法的,则正常结束此次信息收集的过程,进入到下一条I/O指令的模拟执行过程中。若此次执行过程是非法的,则在结束此次收集过程之后报告异常。
本发明通过深入研究非法执行的场景提炼出两个影响合法性的因素:执行次数以及执行的先后顺序。对于执行次数这一影响因素,本发明通过以下公式计算此次I/O指令模拟执行过程的得分S:
其中,n代表此次实际执行时条件跳转与间接跳转所到达的目标结点总数,T代表条件跳转与间接跳转的总跳转次数,ti代表条件跳转或间接跳转到达第i个目标结点的次数。本发明通过合理设置阈值进行此次I/O指令是否合法执行的判断。当得分大于阈值时,判断此次执行过程是合法的,否则为非法,即在此次I/O指令模拟执行的过程中发生了与控制流相关的攻击。对于执行先后顺序这一影响因素,由于该因素对执行合法性的影响难以进行数学化的表达且本发明认为该因素对合法性判断的影响极大,所以本发明采取的方法是如果在实际执行过程中出现了执行先后顺序违规的情况则判断为非法。
上述方案只是对本发明中一个实施例的详细说明。但本申请的保护范围不仅限于此,任何熟悉该技术的人能在本申请描述的范围内轻易实现,而不改变权利要求涉及基本原理的变化或替换,都应涵盖在本申请的保护范围之内,即本申请保护范围应以权利要求保护范围为准。下面将给出一个具体的实施例对本发明进行进一步的说明:
用户为IAAS云产品提供厂商,旨在及时检测来自虚拟机的恶意攻击进而提高云产品的安全性。在此种情形下,可以利用本发明中的攻击检测方法为云中虚拟设备的攻击检测提供技术方面的支持。
在本实施例中以FDC虚拟设备为例进行说明。用户首先使用与IntelPT交互的内核模块进行执行信息收集过程的配置操作。具体操作是在/hw/block/fdc.c文件中,用户在FDC虚拟设备接收参数前调用disable_pt()函数启动信息收集,在返回结果后调用disable_pt()函数关闭信息收集。最后将实时收集的数据包写入到文件中。
然后用户完成FDC虚拟设备基线模型的构建过程。具体操作为先读取文件,使用Intel提供的解码库libipt对文件中的数据包进行完整解码,分析解码后的信息可获得间接跳转分支的源地址、目标地址以及条件跳转分支的源地址、目标地址、跳转的成功与否。然后在使用自动化测试技术后可以获得执行次数、执行顺序信息,结合前后两类信息最终完成基线模型的构建。
最后用户在实时运行过程中读取基线模型,并在检测点快速解码IntelPT的数据包,使用本发明提供的判断方法检测FDC虚拟设备中是否有攻击发生。本发明中将阈值设定为0,代表在实时运行过程中,若某条执行路径不存在于基线模型时则判断为非法,即发生了影响正常控制流的相关攻击。由此从控制流的角度出发,本发明完成了针对虚拟设备的攻击检测流程。
本发明首先对攻击检测方法的有效性做了实验测试,从合法I/O序列、非法I/O序列两方面进行测试,由此分析方法的误报率、漏报率以及检测率。
本发明为FDC虚拟设备准备了669个合法的I/O序列集合,为IDE虚拟设备准备了718个,为PCNET虚拟设备准备了540个。针对各个虚拟设备执行这些合法的I/O序列,获得的误报率结果如表1所示。
表1.合法I/O序列结合的检测结果
通过表1中的结果分析检测方法的误报率,判断其产生的主要原因在于基线模型具有不完备性。在基线模型构建过程中自动化测试阶段的运行时间有限,而使用自动化测试技术产生足够的测试用例又需要非常长的时间,由此导致基线模型中不包含一些原本正确的执行路径,由此产生了误报。日后在实际生产环境中可通过拉长此方面的运行时长来降低基线模型的不完备性。
本发明中攻击检测方法的漏报率为0。因为在基线模型构建时所使用的测试用例是自动化生成的合法I/O序列,由此在基线模型中不会引入非法的执行路径。
在非法I/O序列测试方面,本发明利用了FDC、PCNET虚拟设备中五种控制流相关的漏洞进行攻击,攻击的检测结果如表2所示。这五种漏洞的执行路径不同,但最终将导致虚拟机崩溃或任意代码执行。本发明可以成功检测到上述五种攻击,由此验证了方法的有效性。
表2.真实攻击的检测结果
除此之外还对本发明进行了性能方面的实验测试。首先在实际运行的场景中进行了整体的性能开销测试。使用clock_gettime()函数针对FDC、PCNET两类虚拟设备进行测试,得到攻击检测的方法在FDC虚拟设备中引入的平均性能开销为30.69%,在PCNET虚拟设备中引入的平均性能开销为28.90%。然后使用基准测试比较了使用硬件技术、软件技术进行信息收集的性能差异,得到本发明中使用硬件技术的信息收集方法引入的平均性能开销为4.32%,而使用软件方法所引入的平均性能开销为14%。通过性能测试证明了本发明中的攻击检测方法在性能上具有一定的优势。
上述实验验证了本发明中攻击检测方法的有效性和可行性,充分证明了本发明可以针对虚拟设备进行实时高效地攻击检测。
以上通过形式表达和实施例对本发明方法进行了详细的说明,但本发明的具体实现形式并不局限于此。本领域的一般技术人员,可以在不背离本发明所述方法的精神和原则的情况下对其进行各种显而易见的变化与修改。本发明的保护范围应以权利要求书所述为准。
Claims (10)
1.一种面向云平台中虚拟设备的攻击检测方法,其步骤包括:
1)在一虚拟设备上运行一I/O指令,对产生的数据包解码,得到条件跳转信息和间接跳转信息;
2)依据条件跳转信息、间接跳转信息与所述虚拟设备的基线模型,检测所述I/O指令的合法性;
其中,通过以下步骤建立所述基线模型:
a)在所述虚拟设备运行若干合法I/O指令,对产生的合法数据包解码,得到合法条件跳转信息和合法间接跳转信息;
b)获取合法条件跳转分支和合法间接跳转分支的运行信息,并依据合法条件跳转信息、合法间接跳转信息及运行信息,设置若干源结点及若干目标节点,构建间接分支相连图,其中每一源节点存放合法条件跳转分支或合法间接跳转分支的源地址,每一目标结点存放合法条件跳转分支或合法间接跳转分支的目标地址;
c)对每一源结点和目标结点添加合法条件跳转分支或合法间接跳转分支的运行结果信息;
d)通过每一合法I/O指令相应的间接分支相连图及运行结果信息,构建所述虚拟设备的基线模型。
2.如权利要求1所述的方法,其特征在于,通过Intel PT硬件技术,采集所述I/O指令产生的数据包。
3.如权利要求2所述的方法,其特征在于,所述数据包包括跳转成功或非成功包和目标地址包。
4.如权利要求1所述的方法,其特征在于,通过以下步骤检测所述I/O指令的合法性:
1)依据条件跳转信息和间接跳转信息,获取间接跳转分支的目标地址和条件跳转分支的跳转成功与否;
2)结合条件跳转分支和间接跳转分支到达目标结点的数量、条件跳转分支和间接跳转分支的总跳转次数及各目标结点被跳转到的次数,计算所述I/O指令执行过程的得分;
3)将执行过程的得分、条件跳转分支与间接跳转分支执行顺序与基线模型匹配,得到所述I/O指令的合法性。
5.如权利要求1所述的方法,其特征在于,对合法数据包解码的方法包括使用Intel的解码库libipt。
6.如权利要求1所述的方法,其特征在于,合法条件跳转信息包括合法条件跳转分支的目标地址、源地址和跳转成功与否;合法间接跳转信息包括合法条件跳转分支的目标地址和源地址。
7.如权利要求1所述的方法,其特征在于,所述运行信息包括合法间接跳转分支和合法条件跳转分支的执行次数和执行顺序。
8.如权利要求1所述的方法,其特征在于,所述运行结果信息包括合法间接跳转分支的执行次数、执行顺序或合法条件跳转分支的跳转成功与否、执行次数、执行顺序。
9.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1-8中任一所述方法。
10.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如权利要求1-8中任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010652391.0A CN111796911A (zh) | 2020-07-08 | 2020-07-08 | 一种面向云平台虚拟设备的攻击检测方法及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010652391.0A CN111796911A (zh) | 2020-07-08 | 2020-07-08 | 一种面向云平台虚拟设备的攻击检测方法及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111796911A true CN111796911A (zh) | 2020-10-20 |
Family
ID=72810548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010652391.0A Pending CN111796911A (zh) | 2020-07-08 | 2020-07-08 | 一种面向云平台虚拟设备的攻击检测方法及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796911A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989344A (zh) * | 2021-03-16 | 2021-06-18 | 北京理工大学 | 基于硬件追踪技术的恶意程序智能检测方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103620613A (zh) * | 2011-03-28 | 2014-03-05 | 迈克菲股份有限公司 | 用于基于虚拟机监视器的反恶意软件安全的系统和方法 |
CN105636053A (zh) * | 2016-02-04 | 2016-06-01 | 中国人民解放军装甲兵工程学院 | 一种面向WSN中Sybil攻击的检测方法 |
CN107506638A (zh) * | 2017-08-09 | 2017-12-22 | 南京大学 | 一种基于硬件机制的内核控制流异常检测方法 |
-
2020
- 2020-07-08 CN CN202010652391.0A patent/CN111796911A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103620613A (zh) * | 2011-03-28 | 2014-03-05 | 迈克菲股份有限公司 | 用于基于虚拟机监视器的反恶意软件安全的系统和方法 |
CN105636053A (zh) * | 2016-02-04 | 2016-06-01 | 中国人民解放军装甲兵工程学院 | 一种面向WSN中Sybil攻击的检测方法 |
CN107506638A (zh) * | 2017-08-09 | 2017-12-22 | 南京大学 | 一种基于硬件机制的内核控制流异常检测方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989344A (zh) * | 2021-03-16 | 2021-06-18 | 北京理工大学 | 基于硬件追踪技术的恶意程序智能检测方法、装置及系统 |
CN112989344B (zh) * | 2021-03-16 | 2022-07-05 | 北京理工大学 | 基于硬件追踪技术的恶意程序智能检测方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qasem et al. | Automatic vulnerability detection in embedded devices and firmware: Survey and layered taxonomies | |
Ji et al. | The coming era of alphahacking?: A survey of automatic software vulnerability detection, exploitation and patching techniques | |
CN112463581B (zh) | 一种对分布式系统进行模糊测试的方法及系统 | |
CN108694320B (zh) | 一种多安全环境下敏感应用动态度量的方法及系统 | |
EP3958152B1 (en) | Attack scenario simulation device, attack scenario generation system, and attack scenario generation method | |
JP6282217B2 (ja) | 不正プログラム対策システムおよび不正プログラム対策方法 | |
Zheng et al. | An efficient greybox fuzzing scheme for linux-based iot programs through binary static analysis | |
Fu et al. | A critical-path-coverage-based vulnerability detection method for smart contracts | |
Christensen et al. | {DECAF}: Automatic, adaptive de-bloating and hardening of {COTS} firmware | |
Ma et al. | Gasfuzz: Generating high gas consumption inputs to avoid out-of-gas vulnerability | |
KR20200057402A (ko) | 가상 및 리얼 머신 기반의 악성코드 탐지 시스템 및 방법 | |
Wang et al. | {MetaSymploit}:{Day-One} Defense against Script-based Attacks with {Security-Enhanced} Symbolic Analysis | |
CN111428233A (zh) | 一种嵌入式设备固件的安全性分析方法 | |
CN111796911A (zh) | 一种面向云平台虚拟设备的攻击检测方法及电子装置 | |
CN111767548A (zh) | 一种漏洞捕获方法、装置、设备及存储介质 | |
Totel et al. | Inferring a distributed application behavior model for anomaly based intrusion detection | |
CN113378182B (zh) | 一种提权漏洞检测方法、装置、设备及介质 | |
Musliner et al. | Fuzzbomb: Autonomous cyber vulnerability detection and repair | |
Kwon et al. | OCTOPOCS: automatic verification of propagated vulnerable code using reformed proofs of concept | |
Dhatchayani et al. | Test Case Generation and Reusing Test Cases for GUI Designed with HTML. | |
Benameur et al. | {MINESTRONE}: Testing the {SOUP} | |
Jiang et al. | An exploitability analysis technique for binary vulnerability based on automatic exception suppression | |
Ma et al. | V-gas: Generating high gas consumption inputs to avoid out-of-gas vulnerability | |
US11989296B2 (en) | Program execution anomaly detection for cybersecurity | |
CN116414722B (zh) | 模糊测试处理方法、装置、模糊测试系统及存储介质 |
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 |