APP下载

Android隐式信息流检测的本体模型

2018-03-20刘其源曹宏盛

计算机应用 2018年1期
关键词:信息流分支实例

刘其源,焦 健,曹宏盛

(1.北京信息科技大学 网络文化与数字传播北京市重点实验室,北京 100101; 2.北京信息科技大学 计算机学院,北京 100101)(*通信作者电子邮箱jiaojian@bistu.edu.cn)

0 引言

Android平台上的隐私信息泄漏检测主要采用污点分析技术,该技术先确定敏感信息源Source和泄漏点Sink,然后再对敏感信息从Source到Sink的传播路径进行静态分析[1-2]或动态监控[3-4],最终判断信息源和泄漏点间是否存在一条传播路径。污点分析本质是一种信息流分析技术,信息流分为显式和隐式,显式信息流(Explicit Information Flow, EIF)产生于数据依赖,而隐式信息流(Implicit Information Flow, IIF)产生于控制依赖[5]。然而,现有的污点分析技术如FlowDroid[1]、TaintDroid[3]都只考虑了EIF,它们在EIF(数据依赖)泄露检测领域是有效的;然而对于IIF(控制依赖)而言,由于控制结构无规律的内容转换会对分支结构的执行造成影响,进而影响程序控制流的走向[6],且控制结构的条件语句变量与分支变量间无直接的EIF传递关系,因此,上述方法对隐式流的分析是无效的。

文献[6]的实验表明FlowDroid不支持隐式流漏洞的检测,说明传统的污点分析方法在隐式流中的污点传播存在缺陷,污点标记会在控制结构进行内容转换时丢失,导致基于该技术的隐私泄漏检测出现较高的漏报率。文献[7]将动态污点分析与静态分析结合以追踪IIF,使用Dytan工具首先静态地分析出所有的控制结构,然后将控制结构条件表达式中谓词变量的污点不加区分地传递给每一个分支中的一般语句变量;该方法虽然降低甚至避免了漏报率,但产生了过度污染的问题,使得检测系统的误报率较高。文献[5]专门针对IIF展开研究,分析了Android环境,总结出了五大类能够产生IIF的结构,同时通过构建的PoC(Proof of Concept)对几款Android恶意应用进行了验证;它们虽然对隐式流和控制结构之间的关系进行了研究,但并没有深入地给出控制结构内各关键元素间关系结构的抽象模型。

为了解决Android应用中隐式流的检测问题,使得基于污点分析的检测方法在控制结构中能够获得准确的变量传递关系,最终提高检测的准确率,本文使用本体技术[8]对产生控制依赖的控制结构进行建模,描述控制结构中各关键元素(如结构类型、条件语句谓词变量、操作符、分支语句变量等)间的语义关系。本体能够描述控制结构中各组分的概念以及它们之间的关系[9],并且是可计算的,结合语义网规则语言(Semantic Web Rule Language, SWRL)规则[10]可以实现基于严格控制依赖(Strict Control Dependence, SCD)关系[11]的隐式信息流的准确判定,最终得到隐式流的变量传递关系。本文的创新点在于:利用本体对控制结构建模,建立了可共享的领域知识模型,使得程序源码的语义被明确定义,将静态的程序结构转化为本体实例,结合推理引擎与SWRL规则,解决基于SCD的IIF检测问题。

1 Android隐式信息流分析

Android程序语句间的控制依赖关系是导致隐式信息流的原因,分析隐式信息流首先定义程序语句间的控制依赖关系。控制依赖关系可以分为两类,如图1所示,其中,严格控制依赖关系导致的隐式信息流是本文要研究的内容,它在本质上类似于程序中的数据依赖关系,能够将隐私信息准确地泄露给外界。

图1 控制依赖关系的分类

严格控制依赖关系可以分为两类:基于等价(“==”“!=”)测试和基于非等价(“>”“<”“>=”“<=”)测试,两类SCD关系产生的形式不同,但其本质是一致的,即都能产生变量间的强相关性。比较操作“==”的真分支产生SCD,比较操作“!=”的假分支产生SCD,“!=”操作也会产生一种隐式的SCD,它由执行忽略导致。其余非等价比较操作通过条件语句嵌套产生数值限制,从而产生SCD。

为了描述不同性质信息流的差异,给出变量间相关系数的定理说明,也是变量间相关性的一个粗粒度划分。

定理1 变量相关系数。给定同一程序中存在的两个变量var1与var2,变量间的关系为一个二元函数:

r=R(var1,var2); 0≤r≤1

其中,r称为变量var1与var2间的相关系数,通过相关系数r的值表示变量间相关性的强弱,计算规则如式(1):

(1)

1)r=0时,变量间无直接相关性,变量var1值的任何变化不会影响变量var2的值。

2)0

3)r=1时,变量间存在强相关性,变量var1值的任何变化一定会影响变量var2的值。

以程序1为例,变量secret的值表示接收的隐私数据,而变量pub是受条件语句限制的一般语句变量。语句S2的执行是一种显式的信息流传递,变量间的数值传递通过赋值操作完成,此时相关系数r=1;观察语句S3~S5,变量secret与变量pub间也存在一种信息流传递关系,这种传递关系控制依赖于对应的条件表达式满足与否,与S2的显式值传递关系有本质不同,这种信息流被称为隐式信息流。

程序1

S1 secret=get_input();

S2 m=secret;

S3 if (secret==0) pub=0;

S4 else if (secret>0) pub=1;

S5 else pub=-1;

对于IIF而言,尽管两个变量间无直接的数据流传递关系,但依据不同的控制依赖关系仍可由pub值推导出关于secret值的部分或全部信息[12];例如:由变量pub值为0知语句S3被执行,能推知变量secret值也为0,这种语句分支称之为SCD分支,仅考虑S3的单个分支时,变量相关系数也为r=1;由变量pub值为1知语句S4被执行,只能推知变量secret的值大于0,这种分支的控制依赖关系是松散控制依赖。两种控制依赖关系的本质区别在于其条件表达式的控制条件不同,松散控制依赖存在多个满足控制条件的值,而SCD只有一个。根据污点分析技术[3]可知,若变量secret为污点变量,污点标记会随着控制转换的发生停止传播,变量pub不会被污染;攻击者若能够根据获取的pub值准确推知变量secret的值,那么存在一条隐式的隐私信息泄露路径(因为未被污染的变量在离开系统边界时不会被检出),它是基于SCD的隐式流;攻击者利用松散控制依赖引发的IIF只能得到变量的值范围,威胁较小;因此,相较于松散控制依赖引发的IIF,基于SCD的IIF更具威胁,也是本文要研究的内容。IIF分析的关键在于得到准确的变量传递关系。

2 基于本体的检测模型

为实现Android隐式信息流的检测,给出控制结构领域本体的定义和模型构建说明,包括类的划分与属性的确定。其次,结合该本体模型分析基于SCD的IIF的产生条件并给出判定规则,最后给出判定规则对应的SWRL推理规则。

2.1 控制结构领域本体

程序控制结构中存在多种元素。在构建控制结构本体的时候,把控制结构及它的变量、变量值、操作符和参数设置为类或数据属性,类与类之间的关系设置成关联属性[13]。文献[5]对能够产生Android应用中存在的IIF的控制结构类型进行了总结,本文归纳如表1所示;综合分析给出控制结构的六元组模型,该模型能准确描述单分支或多分支组合控制结构。

表1 控制语句结构特征

除了For循环和Exception-prone控制结构外,其他4类分支数最多可达n的控制结构均能构造出符合六元组模型的程序段,本研究在本体构建中单独对这两种分支数为2的结构进行了相应的处理。

定义3 控制结构。基本控制结构是一个六元组K,K=(secret,Sa,Vi,cb,Nc,Pv),其中:secret是各分支条件表达式中的共有谓词变量,且secret∉Nc;Sa是各分支语句比较操作符的集合,记作Sa={si|si∈{“==”,“!=”,“>”,“>=”,“<”,“<=”}};Vi是各分支条件表达式中与变量secret参与条件判定操作的谓词变量或常量集;cb为控制结构K的分支数;Nc是各分支中一般语句P的变量集;Pv为变量在各分支中的取值集合,v∈Nc。

根据基本控制结构K中的元素组成,定义控制结构领域本体,给出本体类及其对象属性和数据属性,如表2~3所示。由控制结构定义可以描述恶意代码中的基本控制结构,根据相应的推理规则可判定该结构中是否存在隐式流,进而使得恶意代码中的隐式流漏洞显式输出。程序1的解析说明了结构模型与恶意代码功能间的联系。

表2 控制结构本体的部分类信息

表3 控制结构本体的部分对象属性和数据属性信息

表2中,K-structure、For-loop、Secret_var_name、Pub_var_name、First_operator、Second_operator是六个平行的基本类。分别代表控制结构的名称、for循环类结构的名称、条件表达式谓词变量、一般语句变量以及for循环结构的循环控制条件的第一个变量和第二个变量。对象属性和数据属性的部分信息如表3所示。

2.2 基于SCD的IIF判定规则

首先给出基本SCD关系的识别及其特殊形式转化的方法,使其能在模型中被实例化[14];其次,根据SCD隐式流(单分支或多分支组合)的产生特点给出变量间关系的判定规则。

SCD关系产生的来源分为两类:基于等价测试与非等价测试。等价测试操作“==”和“!=”能直接产生SCD,可以直接处理。对于由“!=”操作产生的隐式SCD如图2(a)所示,“!=”操作的假分支产生SCD关系,但是当假分支被执行,通过发送变量x1(x1为真分支变量)可以知道变量x1的值为0,此时可知真分支未被执行,假分支条件满足,确定a的值为5,这种SCD产生的原因是假分支中忽略了x1的存在;解决方法如图2(a)、(b)所示:“!=”操作的真分支变量集T1减去假分支变量集T2有{x1}-{x2}={x1},在假分支中添加语句x1=x1;不会改变原程序的语义,同时变量x1对假分支的SCD关系也被转化为显式的,问题得解。

图2 隐式SCD及处理方法

非等价测试操作“<”“>=”等不能直接产生SCD,需要在实例化前进行处理转化成一般的SCD,处理步骤为:

1)确定各层嵌套条件表达式谓词变量是否一致;

2)若一致,确定谓词变量数据类型;

3)若为整型数据,将最外层条件逐步与内层条件结合,分析能否确定谓词变量的值;

4)若前n层的条件结合确定了谓词变量值,那么在第n层产生了SCD。

基于“==”操作的SCD非常普遍,If-else语句、Switch语句、Throw异常抛出语句以及Polymorphism多态语句等结构均能通过“==”操作(或本质是等价比较操作)构造实用的SCD,通过不同的方式完成基于SCD的数据控制转换。基于SCD的多分支结构判定规则为:多个分支的条件表达式存在一致的谓词变量,变量不一致时的处理方法是先将分支按不同谓词变量分类,再分别处理。基于SCD的隐式流变量间关系判定规则分两种情况:1)基于SCD的单分支语句结构。变量间相关性恒为1。2)基于SCD的多分支组合语句结构。变量间关系的判定规则与定理1中的式(1)一致。根据以上的判定规则有3种变量关系存在,去除变量相关性为零的情况,还有弱相关性与强相关性两种:r∈(0,1)表示变量间具有弱相关性,这是由一般语句变量在多个分支中存在相同版本值导致的;r=1表示变量间具有强相关性,变量在多个分支中的版本值均不等,存在当条件语句变量secret值变化,变量的值一定随之变化的严格对应关系。

隐式泄露判断条件为:相关性r∈(0,1)与r=1的变量间存在基于SCD的隐式信息泄露。

2.3 构建SWRL规则

根据2.1节控制结构领域本体的定义以及2.2节基于SCD的IIF判定部分得到的结论,分别给出基于SCD的单分支结构和多分支组合结构的SWRL规则。3.1节的推理实验表明:由这些规则得到的推理结果与隐式流样本集中所标识的情况基本一致,所以该推理规则具有一定的合理性。

1)单分支结构。单分支一般语句中每个变量的取值仅有一个,条件表达式的判定操作直接决定了该隐式流的性质。单分支结构的一条SWRL规则如Rule- 1所示:

Rule- 1: K-structure(?x)∧hasbranch(?x,1)∧

hassecretname(?x,?sn)∧hasoperator1(?x,?op)∧

swrlb:equal(?op,"==")∧haspubname(?x,?pub)→

strongRbetween(?sn,?pub)

对规则1解析如下:K-structure(?x)表示x是K-structure类的一个实例;hasbranch(?x,1)表示实例x为单分支结构;hassecretname(?x,?sn)表示实例x的条件语句谓词变量为“sn”;hasoperator1(?x,?op)表示实例x的比较操作为“op”;swrlb:equal(?op,“==”)表示op为等价判定操作;haspubname(?x,?pub)表示实例x的一般语句变量为“pub”;strongRbetween(?sn,?pub)表示变量“sn”与变量“pub”间存在强相关性。其他基于SCD的单分支结构SWRL规则与规则1类似,限于篇幅,不再作详细解释。

2)多分支结构。三分支结构的一条SWRL规则如Rule- 2所示。其他的多分支情况对应的SWRL规则在这里不予展示,其基本原理是一致的。

Rule- 2:K-structure(?x)∧hasbranch(?x,3)∧

hassecretname(?x,?sn)∧hasoperator1(?x,?op1)∧

swrlb:equal(?op1,"==")∧hasoperator2(?x,?op2)∧

swrlb:equal(?op2,"==")∧hasoperator3(?x,?op3)∧

swrlb:equal(?op3,"==")∧haspubname(?x,?pub)∧

haspubvalue1(?x,?pv1)∧haspubvalue2(?x,?pv2)∧

haspubvalue3(?x,?pv3)∧swrlb:notEqual(?pv1,

?pv2)∧swrlb:notEqual(?pv1,?pv3)∧

swrlb:notEqual(?pv2,?pv3)→strongRbetween(?sn,?pub)

3 实验结果与分析

本文实验环境为Windows 7操作系统,内存4 GB,CPU是Intel Core i5- 4590 3.30 GHz。本体编辑软件为Protégé 3.4.7[15],推理引擎使用的是Jess 7.1p2。实验分为三个部分:首先,将构建的控制结构本体与SWRL规则导入Jess[16]推理引擎中进行推理,得到隐含的变量间关系,从而验证本文中方法的可行性;其次,采用公开样本集进行测试,分析该方法的实用性;最后,针对推理引擎的推理性能进行大量的推理实验,给出系统的性能分析。

3.1 推理实现

安装并配置推理引擎Jess,在规则编辑处添加设定的所有SWRL规则;通过Protégé本体构建工具添加控制结构的本体实例,实例的自动化添加可采用Jena提供的接口。

以程序2、3为例,程序3来自EC-SPRIDE(European Center for Security and Privacy by Design)研究机构贡献的DroidBench1.2,它用来对手机的IMEI进行转换以逃避检测;将其与图2(b)中的程序段添加到本体实例。详细的SWRL规则和实验结果示例如图3所示。图3的SWRL规则中,Branch1-Rule1和Branch1-Rule2表达的意思为:如果实例为单分支结构,且条件表达式的谓词变量和一般语句变量均存在,那么操作为等价操作与非等价操作时的变量间关系不同,输出不同推理结果。Branch2-Rule和Branch3-Rule等分别表示分支数为2和3等情况下的规则。

程序2

S1 secret1=get_input();

S2 switch(secret1){

S3 case ′a′:pub1=′a′;pub2=0;mt="post";break;

S4 case′b′:pub1=′b′;pub2=0;mt="post";break;

为了分析深港股市股指收益率波动动态传递程度是否在“深港通”开通前后两阶段发生变化,将两地市场的日收益率动态关联性的数据分为前后两段,然后进行配对样本T检验,结果如表5所示。

S5 case ′c′:pub1=′c′;pub2=1;mt="post";break;

S6 case ′d′:pub1=′d′;pub2=1;mt="post";break;}

S7 send(pub1,pub2,mt);

图3 SWRL规则和实验结果示例

程序3

S1 private String obfuscateIMEI(String secret){

S2 String pub="";

S4 switch(c){

S5 case ′0′:pub+=′a′;break;

S6 case ′1′:pub+=′b′;break;

S7 case ′2′:pub+=′c′;break;

S8 case ′3′:pub+=′d′;break;

S9 case ′4′:pub+=′e′;break;

S10 case ′5′:pub+=′f′;break;

S11 case ′6′:pub+=′g′;break;

S12 case ′7′:pub+=′h′;break;

S13 case ′8′:pub+=′i′;break;

S14 case ′9′:pub+=′j′;break;

S15 default:System.err.println("Problem in obfuscate IMEI for

character:"+c);}

S16 }

S17 return pub;

S18 }

从实验结果看,该推理系统可以对secret、pub、secret1、pub1、pub2、mt等变量之间是否存在隐式信息泄露作出准确判断,图3中的实验推理结果如表4所示,推理结果是多个隐式流的变量关系集合,称其为隐式流集。

在表4中:相关系数r为1的变量间存在基于SCD的隐式信息泄露,信息的映射关系是1- 2- 1(一对一);r∈(0,1)的变量间也存在基于SCD的隐式信息泄露,同时存在1- 2- 1与n- 2- 1(多对一)映射(或同时存在多个n- 2- 1映射);所谓多对一映射就是指多个基于SCD的分支语句中,存在两个或以上分支的条件表达式对应的一般语句变量值相同;r=0的变量间不存在基于SCD隐式信息泄露。

表4 实验推理结果

3.2 公开样本集测试

为验证方法的实用性,实验采用了样本库DroidBench[1]中的4个隐式流用例ImplicitFlow1~4以及样本库Android Malware Genome Project[17]中的3款隐私窃取恶意软件GoldDream、DroidKungFu、GamblerSMS进行了测试,漏洞在DroidBench中的位置是已知的,3款恶意软件均在特定的位置添加了隐式流漏洞;辅助工具为apk反编译工具apktool、dex2jar。结果如表5所示,其中:“LOC”表示程序的规模,“Source/Sink”表示程序拥有的Source和Sink要素数量[18],R表示检出的隐式流漏洞数,TR表示检查后确认的真实隐式流漏洞数。

由表5的测试结果可知,本体模型能够检测出所有样本中的隐式流漏洞24个,其中真实漏洞20个,检测准确率达到83.3%。该结果表明,使用本体模型进行隐式流的检测具有显著的效果。

表5 样本集实验结果

3.3 推理性能分析

本体模型与推理引擎结合的推理效率分析是必要的,结构合理的本体模型能够提升推理效率。性能分析从两个方面进行:首先,在本体中添加30个实例,该实例来源于恶意样本中已知的隐式流控制结构,考虑30个本体实例的控制结构分支数依次递增时的平均推理耗时,平均耗时数据取6组测试的平均值,单位均为ms,如图4所示。其次,以6个本体实例为一组,6个实例分别为6种不同分支数的结构,递增组数,观察平均推理耗时的变化情况,如图5所示。

图4 分支数递增的平均耗时曲线

对于只是实例数量增加的图5,其耗时上升速度明显低于图4的分支数递增导致的耗时上升速度,从而可得结论:推理性能的好坏取决于推理规则的复杂程度,随着分支数的增加,规则变得复杂,因而耗时上升较快。

图5 实例数递增的平均耗时曲线

4 结语

本文从Android隐式信息流的产生原因入手,分析了能够产生隐式信息流的控制结构,并对控制结构的基本控制依赖关系与SCD关系进行了定义;分析出基于SCD的隐式流是导致隐式信息泄露的主要原因。为解决Android应用中隐式流的准确检测问题,构建了控制结构领域本体模型,给出由隐式流分析得到的SWRL规则,并在本体中添加了样本实例,共同导入到Jess进行了推理分析。对DroidBench和Malware Genome Project恶意软件样本的实验结果表明,该模型能够有效地进行隐式信息泄露的推理,且推理结果与人工分析得出的结论一致。

需要指出的是:基于松散控制依赖的隐式流无法建立变量间的一对一映射关系,对信息泄露威胁较小,故本文未予考虑;不足之处在于文中的本体实例尚未实现自动化添加,下一步可以采用Jena接口实现自动添加,提升效率。

References)

[1] ARZT S, RASTHOFER S, FRITZ C, et al. FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps [J]. ACM SIGPLAN Notices, 2014, 49(6): 259-269.

[2] GORDON M I, KIM D, PERKINS J, et al. Information-flow analysis of Android applications in DroidSafe [C]// Proceedings of the 22nd Network and Distributed System Security Symposium. San Diego, CA: ISOC, 2015: 1-16.

[3] ENCK W, GILBERT P, HAN S, et al. TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones [J]. ACM Transactions on Computer Systems, 2014, 32(2): 5-19.

[4] SCHWARTZ E J, AVGERINOS T, BRUMLEY D. All you ever wanted to know about dynamic taint analysis and forward symbolic execution (but might have been afraid to ask) [C]// Proceedings of the 2010 IEEE symposium on Security and Privacy. Piscataway, NJ: IEEE, 2010: 317-331.

[5] YOU W, LIANG B, LI J, et al. Android implicit information flow demystified [C]// Proceedings of the 10th ACM Symposium on Information, Computer and Communications Security. Now York: ACM, 2015: 585-590.

[6] 过辰楷,许静,司冠南,等.面向移动应用软件信息泄露的模型检测研究[J].计算机学报,2016,39(11):2324-2343.(GUO C K, XU J, SI G N, et al. Model checking for software information leakage in mobile application [J]. Chinese Journal of Computers, 2016, 39(11): 2324-2343.)

[7] CLAUSE J, LI W, ORSO A. Dytan: a generic dynamic taint analysis framework [C]// Proceedings of the 2007 International Symposium on Software Testing and Analysis. New York: ACM, 2007: 196-206.

[8] 杜小勇,李曼,王珊.本体学习研究综述[J].软件学报,2006,17(9):1837-1847.(DU X Y, LI M, WANG S. A survey on ontology learning research [J]. Journal of Software, 2006, 17(9): 1837-1847.)

[9] 葛强,沈国华,黄志球,等.Web服务中支持本体推理的隐私保护研究[J].计算机科学与探索,2013,7(6):536-544.(GE Q, SHEN G H, HUANG Z Q, et al. Research on privacy protection based on ontology in Web service [J]. Journal of Frontiers of Computer Science and Technology, 2013, 7(6): 536-544.)

[10] HORROCKS I, PATEL-SCHNEIDER P F, BOLEY H, et al. SWRL: a semantic Web rule language combining OWL and RuleML [R]. [S.l.]: W3C Member Submission, 2004.

[11] BAO T, ZHENG Y, LIN Z, et al. Strict control dependence and its effect on dynamic information flow analyses [C]// Proceedings of the 19th International Symposium on Software Testing and Analysis. New York: ACM, 2010: 13-24.

[12] KWON Y, KIM D, SUMNER W N, et al. LDX: Causality inference by lightweight dual execution [C]// Proceedings of the 2016 International Conference on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 2016: 503-515.

[13] 周亮,黄志球,倪川.基于SWRL规则的本体推理研究[J].计算机技术与发展,2015,25(10):67-70.(ZHOU L, HUANG Z Q, NI C. Research on ontology reasoning based on SWRL rules [J]. Computer Technology and Development, 2015, 25(10): 67-70.)

[14] YADAV U, NARULA G S, DUHAN N, et al. Development and visualization of domain specific ontology using Protégé [J]. Indian Journal of Science and Technology, 2016, 9(16): 1-7.

[15] MUSEN M A. The Protégé project: a look back and a look forward [J]. AI Matters, 2015, 1(4): 4-12.

[16] BAK J, JEDRZEJEK C, FALKOWSKI M. Usage of the Jess engine, rules and ontology to query a relational database [C]// Proceedings of the 2009 International Workshop on Rules and Rule Markup Languages for the Semantic Web. Berlin: Springer, 2009: 216-230.

[17] ZHOU Y, JIANG X. Dissecting android malware: characterization and evolution [C]// Proceedings of the 2012 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2012: 95-109.

[18] RASTHOFER S, ARZT S, BODDEN E. A machine-learning approach for classifying and categorizing Android sources and sinks [C]// Proceedings of the 21nd Network and Distributed System Security Symposium. San Diego, CA: ISOC, 2014: 1-15.

This work is partially supported by the National Natural Science Foundation of China (61370065, 61502040),the National Key Technology Research and Development Program of the Ministry of Science and Technology of China (2015BAK12B03- 03),the Opening Foundation of Key Laboratory of Internet Culture and Digital Dissemination (ICDDXN001).

LIUQiyuan, born in 1992, M. S. candidate. His research interests include network security, malicious code analysis of intelligent terminal.

JIAOJian, born in 1978, Ph. D., associate professor. His research interests include network measurement, network security.

CAOHongsheng, born in 1989, M. S. candidate. His research interests include network security.

猜你喜欢

信息流分支实例
一类离散时间反馈控制系统Hopf分支研究
软件多分支开发代码漏合问题及解决途径①
基于约束逻辑的网络非集中式信息流整合系统设计
基于信息流的作战体系网络效能仿真与优化
巧分支与枝
战区联合作战指挥信息流评价模型
Facebook根据用户兴趣推送信息流
完形填空Ⅱ
完形填空Ⅰ
硕果累累