CN103279414A - 一种适用于Xen虚拟化平台的隐蔽通道检测方法 - Google Patents
一种适用于Xen虚拟化平台的隐蔽通道检测方法 Download PDFInfo
- Publication number
- CN103279414A CN103279414A CN201310195439XA CN201310195439A CN103279414A CN 103279414 A CN103279414 A CN 103279414A CN 201310195439X A CN201310195439X A CN 201310195439XA CN 201310195439 A CN201310195439 A CN 201310195439A CN 103279414 A CN103279414 A CN 103279414A
- Authority
- CN
- China
- Prior art keywords
- variable
- function
- description symbol
- attribute
- channel
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种适用于Xen虚拟化平台的隐蔽通道检测方法,本方法为:1)查找Xen虚拟化平台的元操作,并确定每一元操作的入口函数;2)对每个入口函数构造一变量描述符表,并给出输出参数列表;3)将得到的变量描述符表两两取交集,如果交集中存在一变量,该变量在一变量描述符表中有读属性R,在另一变量描述符表中有写属性W,且该变量与该有读属性R的变量描述符表所对应的入口函数的传出参数等价,则判定该变量为潜在隐蔽通道;4)对检测出的潜在隐蔽通道进行场景构建,验证该潜在隐蔽通道是否为真实隐蔽通道。本发明大幅降低了工作量,可以准确定位潜在隐蔽通道的共享资源的位置和调用关系。
Description
技术领域
本发明属于虚拟化平台的安全领域,主要涉及一种对Xen虚拟化平台进行隐蔽通道的检测方法。
背景技术
Xen虚拟化平台是源于英国剑桥大学计算机实验室在2002年4月开始的一个开源虚拟机项目,现广泛部署于大型服务器,对其进行安全研究具有重要的理论和现实意义。
隐蔽通道的概念最早是由Lampson在1973年提出来的,我国国家标准GB17859-1999规定隐蔽通道是运行进程以危害***策略的方式传输信息的通信信道。现今安全操作***处在从第三级向第四级跨越的关键时间,隐蔽通道分析就是其中的关键一环。
从隐蔽通道问题提出至今40年的时间里,隐蔽通道的研究对象包括了从操作***、数据库、网络直至现在的云环境。但就研究深度而言,现今所有的研究方法和工程实践大多针对操作***层面进行。随着云计算的兴起,包括隐蔽通道在内的云安全问题也日渐突出。
云计算是继大型计算机到客户端-服务器的大转变之后的又一巨变,被视为信息技术的第三次浪潮。虚拟化技术是云计算***的核心组成部分,是将各种计算及存储资源充分整合和高效利用的关键技术,是云计算基础设施灵活性的基石。因此对虚拟化技术的安全研究对云安全有深远的意义,而Xen虚拟化平台作为当今应用最广泛的虚拟化软件之一,研究其上的隐蔽通道问题不仅对隐蔽通道理论的完善和拓展有很大推动作用,也对云安全、云环境中的隐蔽通道问题有很好的启发意义。
以下是目前可查到的与虚拟化平台的隐蔽通道标识相关的专利情况。
公开号为101364203,发明名称为“一种面向隐蔽通道分析的***分析和划分方法”的发明公开了一种属于隐蔽通道分析技术领域的专利。所述方法包括:面向隐蔽通道分析的***分析和划分方法,步骤10:初始化动作;步骤11:判断函数调用图是否为空,如果为空转步骤12,表示分析划分算法结束,否则转步骤13;步骤12:输出分析的结果;步骤13:判断函数调用图是否连通;步骤14:找出函数调用图所有不连通的分支;步骤15:循环分析函数调用图的每个连通分支;步骤16:判断函数调用图中是否存在不依赖其他节点的节点;步骤18:把出度为0的节点从函数调用图中删除,并且把该节点加入结果链表的末尾;步骤19:判断函数调用图中是否存在极大强连通子图;如存在转步骤1A,否则转步骤11;步骤1A:找到函数调用图中极大强连通子图;步骤1B:删除此极大强连通子图,步骤1C:结束。
该专利虽然也隶属于隐蔽通道分析技术领域,但是其关注的焦点主要放在分析整个***的函数调用关系,并把***分成连通分支而进行分析。
公开号为101257417,发明名称为“基于模糊神经网络的TCP/IP协议隐蔽通道检测方法”的发明公开了基于模糊神经网络的TCP/IP协议隐蔽通道检测方法。该方法采用模糊神经网络的方法对通过网络接口的TCP/IP数据包头结构中的域进行分析,引入了一种检测网络隐蔽通道的新方法,该方法首先获取从网络接口上流出的TCP/IP数据包,对数据包头结构中的选项域进行分析得到网络连接特征向量,将特征向量送入模糊神经网络,利用自适应模糊神经推理***对模糊神经网络进行训练,得到模糊神经网络的模型,然后将特征向量送入到训练完毕的模糊神经网络的模型中,得到输出值,最后对输出值进行模糊聚类,从而分辨出输出的数据中是否存在隐蔽通道。此发明适用于主流操作***,具有广泛地应用范围,能增加操作***的安全性,有效防止机密信息泄露。
此专利虽然也是涉及到隐蔽通道检测方法的实现。但它的对象是针对TCP/IP协议等网络隐蔽通道的分析,采用模糊神经网络的方法进行实现。
发明内容
针对Xen虚拟化平台的隐蔽通道分析问题,当前并没有相关专利涉及到这一领域。但是随着云计算的兴起,包括隐蔽通道在内的云安全问题也日渐突出。虚拟化技术作为云计算***的核心组成部分,对Xen虚拟化平台的隐蔽通道进行分析就更具有理论和现实意义。本发明针对此需求,提供一种适用于Xen虚拟化平台的隐蔽通道检测方法,本发明采取分析Xen虚拟化平台相关机制和策略的关键操作的入口函数,对其外部变量进行分析给出其变量描述符,进而得到函数的变量描述符表。对不同函数的变量描述符表进行比较,即可标识出潜在的隐蔽通道。
以下首先阐述发明中涉及的一些术语:
一、元操作:一个元操作是指在Xen***中,用于实现Xen基本机制和策略的某个功能的基本操作,通常Xen***为它的每一种基本机制/策略都定义了一组固定的元操作。
与Xen基本机制和策略相关的所有元操作,可以从Xen***功能规范描述或其代码实现中分析得出。从代码级分析,每一个元操作是其对应处理函数中switch语句的每一个case分支对应的操作。
二、变量标识:假设变量a是函数f访问的外部变量(外部变量是指函数f中作用域在函数体外的变量。寻找一个函数的外部变量的方法是看函数所引用的变量是否在函数体内有其定义,若无,则为函数的外部变量),则将变量a所对应的核心数据结构标识出来就形成了变量a的变量标识。变量标识的书写形式为“数据结构.变量”,若核心数据结构存在嵌套,则按照“最外层数据结构.….最内层数据结构.变量”的方式书写。
三、变量描述符:函数中的变量描述符用<变量标识,函数名,函数对变量的操作,读取操作所需的条件,修改操作所需的条件>表示。(这里的变量特指作用域在函数体外的部分变量)
其中,函数对变量的操作有读取、修改和两者兼有三种(其中在函数中新创建的变量视为可读可修改),分别用R、W和RW表示;读取或修改操作所需的条件是指函数对该变量进行读取或修改所必须满足的条件,如果不存在限制条件即用NULL代替。
四、变量描述符表:将函数所有的外部变量的描述符组成集合就构成该函数的变量描述符表。其中,该函数调用的所有其他函数的变量描述符表也包含在内。
若对函数中所有的外部变量进行分析,可以得到对应的变量描述符集合。由于去除函数递归调用和函数调用环的前提下,对一个函数来说,它的函数调用关系是有穷的。故将该函数调用的其他函数的变量描述符表包含在得到的集合中。
五、变量等价:根据别名规则,若对变量a是变量b的别名;或变量a的数值变化与变量b存在对应关系的话,这两个变量可以视为是等价的。
基于Xen虚拟化平台的隐蔽通道检测方法如图1所示,具体步骤为:
1)根据Xen的基本机制和策略找出所有的元操作,并确定其入口函数;
2)对每个入口函数构造变量描述符表,并给出输出参数列表(可以从函数返回值或类似copy_to_user()等数据传输函数中分析得出);其中构造变量描述符表的方法是:分析入口函数及其所有调用函数中的外部变量,得到外部变量的描述符<变量标识,函数名,函数对变量的操作,读取操作所需的条件,修改操作所需的条件>。将这些变量描述符构成集合即形成该入口函数的变量描述符表。
3)将得到的变量描述符表以变量标识属性为标准两两取交(两个变量描述符表可为同一个)。在交集合不为空的前提下,若交集合中存在某一变量在原来两个变量描述符表中的变量的读写属性分别有R和W,且该变量与权限有R的变量描述符表所对应的入口函数的传出参数等价的话,该变量就可以构成潜在的隐蔽通道,如图2所示。这里所说的参数等价是指,可以利用别名规则或变量影响关系得到的两个变量可以视为是等价的。
4)对标识出的潜在隐蔽通道进行场景构建,以验证是否为真实隐蔽通道。一般的场景构建是通过对该变量读写属性为W的元操作对该变量进行写操作,然后读写属性为R的元操作进行读取,进而分析得出所接收的隐秘信息。
与现有技术相比,本发明的积极效果为:
一、由于针对Xen的基本机制和策略的关键操作的入口函数入手,解决了因***源代码庞大,结构复杂等因素造成的分析工作指数增长的问题,大幅降低了工作量。
二、由于方法是在对函数的外部变量的详细分析基础上进行的,可以准确定位潜在隐蔽通道的共享资源的位置和调用关系。
附图说明
图1为本发明整体方法流程图;
图2为变量描述符表以变量标识属性为标准两两取交方法流程图。
具体实施方式
本发明是采取分析Xen虚拟化平台相关机制和策略的关键操作的入口函数,对其外部变量进行分析给出其变量描述符,进而得到函数的变量描述符表。对不同函数的变量描述符表进行比较,即可标识出潜在的隐蔽通道。具体实施如下:(以查询事件通道状态操作为例)
1)根据Xen的机制和策略找出所有的元操作,并确定其入口函数;
Xen虚拟化平台控制和管理相关的基本原理和核心技术包括与虚拟机特权级控制和通信相关的超级调用(Hypercalls)和事件通道(Event Channels),与虚拟机数据共享和传输相关的授权表(Grant Tables),与虚拟设备模型相关的设备I/O环和XenStore等。
在Xen***的事件通道机制中,相应的所有元操作包括创建事件通道操作EVTCHNOP_alloc_unbound、域间绑定操作EVTCHNOP_bind_interdomain、绑定虚拟中断操作EVTCHNOP_bind_virq、绑定物理中断操作EVTCHNOP_bind_pirq、绑定虚拟IPI操作EVTCHNOP_bind_ipi、关闭事件通道操作EVTCHNOP_close、发送事件通知操作EVTCHNOP_send、查询事件通道状态操作EVTCHNOP_status、绑定VCPU操作EVTCHNOP_bind_vcpu、清除mask位操作EVTCHNOP_unmask、重置事件通道操作EVTCHNOP_reset等。
其中,查询事件通道状态的元操作的入口函数为函数evtchn_status();事件通道的域间绑定操作的入口函数为函数evtchn_bind_interdomain()。
2)对每个入口函数构造变量描述符表,并给出输出参数列表;
在查询事件通道状态的元操作中,变量chn->state为其入口函数evtchn_status()的外部变量,其所对应的核心结构体为struct evtchn,则其变量标识为struct evtchn.state。则变量chn->state在函数evtchn_status()中的变量描述符为:
<struct evtchn.state,evtchn_status,R,NULL,NULL>;
分析得到函数evtchn_status()中所有外部变量的变量描述符后得到该函数的变量描述符表:
{<struct evtchn.state,evtchn_status,R,NULL,NULL>};
同理,得到事件通道的域间绑定操作入口函数evtchn_bind_interdomain()的变量状态描述符表为:{
<struct task_struct.domain.domain_id,evtchn_bind_interdomain,R,structevtchn_bind_interdomain.remote_dom=DOMID_SELF,NULL>,
<struct evtchn.state,evtchn_bind_interdomain,RW,NULL,NULL>,
<struct evtchn.u.unbound.remote_domid,evtchn_bind_interdomain,R,NULL,NULL>,
<struct evtchn.u.unbound.remote_port,evtchn_bind_interdomain,W,NULL,NULL>}。
3)将得到的变量描述符表以变量标识属性为标准取两两的交集(两个变量描述符表可为同一个)。
将EVTCHNOP_status和EVTCHNOP_bind_interdomain元操作的变量描述符表取两两的交集,交集合为{
<struct evtchn.state,evtchn_status,R,NULL,NULL>,
<struct evtchn.state,evtchn_bind_interdomain RW,NULL,NULL>}
且chn->state与EVTCHNOP_status功能操作入口函数evtchn_status的传出参数等价,所以struct evtchn.state变量就构成一个潜在的隐蔽通道。
4)对标识出的潜在隐蔽通道进行场景构建,以验证是否为真实隐蔽通道。当前的场景构建的方法是:发送方虚拟机进程通过EVTCHNOP_bind_interdomain功能操作实现对structevtchn.state变量的写操作,接收方虚拟机进程通过EVTCHNOP_status功能操作实现对structevtchn.state变量的读操作,通过感知struct evtchn.state变量的变化来确定发送方传输的数据。
对其他元操作重复上述操作即可。
Claims (10)
1.一种适用于Xen虚拟化平台的隐蔽通道检测方法,其步骤为:
1)查找Xen虚拟化平台的元操作,并确定每一元操作的入口函数;其中,所述元操作为实现Xen虚拟化平台中基本机制和策略的某功能的基本操作;
2)对每个入口函数构造一个变量描述符表,并给出输出参数列表;其中,构造所述变量描述符表的方法为:获取入口函数及该入口函数所有调用函数中的外部变量,对得到的每一外部变量构建一个变量描述符,将这些变量描述符构成集合即形成该入口函数的变量描述符表;
3)将得到的变量描述符表两两取交集,如果交集中存在一个变量,该变量在一个变量描述符表中有读属性R,在另一个变量描述符表中有写属性W,且该变量与该有读属性R的变量描述符表所对应的入口函数的传出参数等价,则判定该变量为潜在隐蔽通道;
4)对检测出的潜在隐蔽通道进行场景构建,验证该潜在隐蔽通道是否为真实隐蔽通道。
2.如权利要求1所述的方法,其特征在于所述变量描述符的表示方法为:<变量标识,函数名,函数对变量的操作,读取操作所需的条件,修改操作所需的条件>。
3.如权利要求2所述的方法,其特征在于所述变量标识的表示方法为:设变量a是函数f访问的外部变量,变量a所对应的核心数据结构为H,则变量a的变量标识形式为H.a。
4.如权利要求3所述的方法,其特征在于,如果变量的核心数据结构存在嵌套,则按照“最外层数据结构.….最内层数据结构.变量”的方式表示。
5.如权利要求1所述的方法,其特征在于所述调用函数中不包括递归函数和函数调用环。
6.如权利要求1所述的方法,其特征在于利用别名规则判断该变量与该有读属性R的变量描述符表所对应的入口函数的传出参数等价关系,如果变量a是变量b的别名,则变量a与变量b等价;或利用变量影响关系判断该变量与该有读属性R的变量描述符表所对应的入口函数的传出参数等价关系,如果变量a的数值变化与变量b存在对应关系,则变量a与变量b视为等价。
7.如权利要求1所述的方法,其特征在于所述外部变量在变量描述符表中的属性包括:写属性W,读属性R,或同时具有读、写属性RW。
8.如权利要求1~7任一项所述的方法,其特征在于将得到的变量描述符表以变量标识属性为标准两两取交。
9.如权利要求1所述的方法,其特征在于根据Xen虚拟化平台的基本机制和策略从Xen虚拟化平台中得出所述元操作。
10.如权利要求9所述的方法,其特征在于所述Xen虚拟化平台的基本机制和策略包括:与虚拟机特权级控制和通信相关的超级调用、与虚拟机特权级控制和通信相关的事件通道、与虚拟机数据共享和传输相关的授权表、以及与虚拟设备模型相关的设备I/O环和XenStore。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310195439.XA CN103279414B (zh) | 2013-05-23 | 2013-05-23 | 一种适用于Xen虚拟化平台的隐蔽通道检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310195439.XA CN103279414B (zh) | 2013-05-23 | 2013-05-23 | 一种适用于Xen虚拟化平台的隐蔽通道检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103279414A true CN103279414A (zh) | 2013-09-04 |
CN103279414B CN103279414B (zh) | 2016-04-20 |
Family
ID=49061943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310195439.XA Expired - Fee Related CN103279414B (zh) | 2013-05-23 | 2013-05-23 | 一种适用于Xen虚拟化平台的隐蔽通道检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103279414B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763399A (zh) * | 2014-02-18 | 2014-04-30 | 苏州云拓网络科技有限公司 | 基于xen虚拟化架构的云服务器运营支撑*** |
CN105678176A (zh) * | 2016-01-15 | 2016-06-15 | 瑞达信息安全产业股份有限公司 | 一种虚拟环境下的强制访问控制方法 |
CN106355250A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 基于神经网络的判断隐蔽信道的优化方法及装置 |
CN106502650A (zh) * | 2016-09-28 | 2017-03-15 | 乐视控股(北京)有限公司 | 一种只读属性修改方法、装置 |
CN108512645A (zh) * | 2017-02-24 | 2018-09-07 | 智能Ic卡公司 | 将掩蔽自动***到算法中 |
CN109858510A (zh) * | 2018-11-28 | 2019-06-07 | 南京知常容信息技术有限公司 | 一种针对HTTP协议ETag值隐蔽通信的检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257417A (zh) * | 2008-03-25 | 2008-09-03 | 浙江大学 | 基于模糊神经网络的tcp/ip协议隐蔽通道检测方法 |
US20110013427A1 (en) * | 2006-08-04 | 2011-01-20 | Eestor, Inc. | Utility grid power averaging and conditioning |
CN102402466A (zh) * | 2011-08-10 | 2012-04-04 | 华为技术有限公司 | 一种解决虚拟化平台多边冲突的方法及*** |
-
2013
- 2013-05-23 CN CN201310195439.XA patent/CN103279414B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110013427A1 (en) * | 2006-08-04 | 2011-01-20 | Eestor, Inc. | Utility grid power averaging and conditioning |
CN101257417A (zh) * | 2008-03-25 | 2008-09-03 | 浙江大学 | 基于模糊神经网络的tcp/ip协议隐蔽通道检测方法 |
CN102402466A (zh) * | 2011-08-10 | 2012-04-04 | 华为技术有限公司 | 一种解决虚拟化平台多边冲突的方法及*** |
Non-Patent Citations (2)
Title |
---|
卿斯汉 等: "高等级安全操作***的设计", 《中国科学E辑:信息科学》 * |
沈晴霓 等: "虚拟可信平台层次化安全体系结构设计", 《北京工业大学学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763399A (zh) * | 2014-02-18 | 2014-04-30 | 苏州云拓网络科技有限公司 | 基于xen虚拟化架构的云服务器运营支撑*** |
CN105678176A (zh) * | 2016-01-15 | 2016-06-15 | 瑞达信息安全产业股份有限公司 | 一种虚拟环境下的强制访问控制方法 |
CN106355250A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 基于神经网络的判断隐蔽信道的优化方法及装置 |
CN106502650A (zh) * | 2016-09-28 | 2017-03-15 | 乐视控股(北京)有限公司 | 一种只读属性修改方法、装置 |
CN108512645A (zh) * | 2017-02-24 | 2018-09-07 | 智能Ic卡公司 | 将掩蔽自动***到算法中 |
CN108512645B (zh) * | 2017-02-24 | 2021-06-25 | 智能Ic卡公司 | 将掩蔽自动***到算法中的方法、***和存储介质 |
CN109858510A (zh) * | 2018-11-28 | 2019-06-07 | 南京知常容信息技术有限公司 | 一种针对HTTP协议ETag值隐蔽通信的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103279414B (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bunte et al. | The mCRL2 toolset for analysing concurrent systems: improvements in expressivity and usability | |
Girault et al. | Petri nets for systems engineering: a guide to modeling, verification, and applications | |
CN103279414A (zh) | 一种适用于Xen虚拟化平台的隐蔽通道检测方法 | |
CN109947998A (zh) | 跨异构***的网络的计算数据沿袭 | |
CN109150833A (zh) | 一种基于模型检测的安全协议形式化验证方法 | |
Sun et al. | Ethereum analysis via node clustering | |
Toahchoodee et al. | On the formalization and analysis of a spatio-temporal role-based access control model | |
Zeng et al. | EtherGIS: a vulnerability detection framework for Ethereum smart contracts based on graph learning features | |
Gui et al. | IFC-based partial data model retrieval for distributed collaborative design | |
Baccelli et al. | Quantitative Methods in Parallel Systems | |
Sanchez et al. | Bigraphical modelling of architectural patterns | |
CN113918149A (zh) | 接口开发方法、装置、计算机设备和存储介质 | |
Gadducci et al. | A concurrent graph semantics for mobile ambients | |
Alencar et al. | A logical theory of interfaces and objects | |
Zhang et al. | Distributed system model using SysML and event-B | |
CN115292353A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
Zhu et al. | Verifiable access control for augmented reality localization and mapping | |
Capra et al. | A tool for symbolic manipulation of arc functions in symmetric net models | |
Wiik et al. | Specification and automated verification of dynamic dataflow networks | |
CN111949830A (zh) | 离散式索引方法与*** | |
Bera et al. | Modeling hybrid systems with petri nets | |
CN104715087A (zh) | 新式交互式仿真状态的旅游运作方法合成*** | |
Alfano et al. | An incremental algorithm for computing the grounded extension of dynamic abstract argumentation frameworks | |
Chechik et al. | Reasoning about compositions of concerns | |
Jin et al. | Intelligent Vulnerability Association Algorithm Based on Association Rule Mining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160420 |