APP下载

基于概率推理的起源过滤安全评估模型

2019-04-10孙连山刘锦华徐艳艳

陕西科技大学学报 2019年2期
关键词:结构图攻击者视图

孙连山, 刘锦华, 徐艳艳

(陕西科技大学 电气与信息工程学院, 陕西 西安 710021)

0 引言

大数据时代,海量数据在不同组织之间共享.用户在使用数据制定关键决策之前必须验证其可信性.为此,研究者提出了数据起源(data prove-nance)的概念[1,2].数据起源本质上是一种描述数据演变历史的元数据[3],它记录了数据在其整个生命周期过程中的归属权、中间制品与处理过程.数据起源通常用于数据质量评估[4]、数据错误检测和恢复[5]、数据审计以及流程合规性分析[6]等.

数据起源通常呈现为复杂的有向无环图,其中可能包含各种敏感信息,如身份信息、信用卡号等.为保护起源图安全,研究者提出了起源过滤技术,在不破坏起源图连通性的前提下,隐藏或抽象其中敏感的节点或边,以得到安全的起源过滤视图[7,8].现有研究大都关注于基本的过滤机制,较少研究起源图的安全定义及评估问题.例如,Blaustein等[9]未明确定义攻击者的威胁模型,但提出了一种基于攻击者关注节点或边的先验概率的起源安全定义框架,其合理性存疑;Nagy等[10]认识到起源过滤视图面临IPO推理威胁,例如,已知输入I和处理过程P的知识,则可以推断甚至准确地确定输出O,但Nagy等侧重于研究基于过滤需求自动补全的安全过滤机制,并没有明确地将IPO规则作为威胁模型,也未明确定义起源安全以及相关的过滤视图安全评估模型;Davidson等[11]仅定义了针对工作流起源中活动模块的Γ-隐私;Lin等[12]假定任意起源子图均可作为攻击者的先验知识,定义了相应的起源安全威胁模型及类似于K-匿名的起源安全定义,但这种起源安全威胁模型不能反映起源图的特殊性质,而且实现这种起源安全往往导致过滤视图的溯源效用偏低,不具有实用性.

总之,现有研究对起源图所面临的安全威胁、起源安全定义以及评估模型尚未达成一致,无法客观地评估和对比不同过滤机制所产生的过滤视图安全性.为此,本文深入分析起源图的特点,指出IPO推理是数据起源面临的特殊安全威胁,提出一种基于IPO推理的安全威胁模型,并在此基础上定义起源安全以及定量评估模型.

1 数据起源与案例

根据W3C发布的标准数据起源模型PROV-DM[13],起源图包括实体、活动和代理等三类节点.代理节点通常位于起源图的边缘,对起源过滤的影响较小,因此本文仅关注含有实体节点和代理节点的起源图.如图1所示,椭圆e1~e8是表示数据的实体节点,矩形a1~a5是表示数据加工处理过程的活动节点,两类节点之间存在由有向边表示的依赖关系,如〈a2,e2〉为表示活动a2使用实体e2,〈e4,a2〉表示实体e4由活动a2产生.下面形式地定义起源相关概念.

定义起源图PG= (V,E)

V={v1,v2,…,vL}为起源图PG的L个节点构成的集合;对任意节点v∈V,其类型T(v)∈{En,Act},En表示实体类型,Act表示活动类型.E={ei|ei=〈u,v〉,u,v∈V,i= 1,…,K}为边集合,表示PG的K条有向边.边〈u,v〉表示从节点u可以追溯到节点v,称v为u的直接前因,u为v的直接后果.

图1 起源图示例

起源图中的活动节点通常表示计算系统中的加工处理过程,即对输入的一组实体进行加工处理,输出得到另一组实体.这种加工处理过程的语义通常可解释为一个函数关系.即对任意活动节点v,存在函数关系fv:Xm→Xn,其中X={v|T(v)=En,v∈V}为起源图中的实体节点集合,m表示该活动有m个输入,n表示该活动有n个输出.起源图中所有活动节点对应的函数关系集合P可形式地表示为P={fv|fv:Xm→Xn,T(v)=Act,v∈V}.P中部分公开的函数关系是攻击者推理起源图中敏感节点的重要依据.

2 威胁模型

起源安全的内涵与起源图面临的威胁密切相关.本节提出一种典型数据起源安全威胁模型,阐明攻击者可采用的推理规则及推理方式.

2.1 推理规则

规则1I、O→P

已知输入I与对应的输出O,则可推理二者之间的映射法则P.如图1所示,若匿名活动节点a1,则根据a1的输入10和输出100,推理a1对应的映射法则可能为平方、乘10或加90等.

规则2I、P→O

已知输入I与映射法则P,则可执行映射法则P处理输入I,重新得到输出O.如图1所示,若匿名e2,则可重新执行活动a1对应的映射法则x^2,处理输入10,计算输出e2为100.

规则3P、O→I

已知输出O与映射法则P,则可根据逆映射法则推理输入I.如图1所示,若匿名输入e1,则可根据输出100和映射法则x^2,推理出e1可能为10或-10等.

上述推理规则可直观地表示为如图2所示的有向无环图.图2(a)表示规则1,根据已知的i个输入节点与n个输出节点,推理活动a1的行为.图2(b)和图2(c)分别表示规则2与规则3.总之,若已知I、P、O中任意两类元素,则可推理剩余未知元素,即所谓知二推一原则.本文认为IPO推理是起源图面临的特殊安全威胁,需要深入分析其威胁方式并加以防范.

(a)规则1推理结构图 (b)规则2推理结构图 (c)规则3推理结构图图2 推理规则示意图

2.2 推理方式

推理敏感节点时,攻击者首先需要在过滤视图中确定待推理的敏感节点.不同过滤机制改造起源图得到的过滤视图具有不同特点.如匿名或抽象所得的过滤视图中会出现空节点[14];删除+修复机制所得的过滤视图中会出现同类型节点直接连接的异常结构[14].攻击者可根据过滤视图中的空节点或同类型节点之间关联的异常结构确定待推理节点.

确定待推理的敏感节点后,攻击者需分析并选择包含该节点的起源子图,并根据与该子图对应的推理规则进行推理.本文将这种用于推理敏感节点的起源子图称为推理结构图.推理结构图是推理规则实例的图形化表示.

当待推理节点为过滤视图中的空节点时,攻击者往往可根据待推理节点的类型,直接在过滤视图中找到适当的推理结构图.具体来讲,当待推理节点为活动节点时,对应的推理结构图应为图2(a)的实例图;当待推理节点为实体,且作为其直接前因活动节点的输出时,对应的推理结构图应为图2(b)的实例图;当待推理节点为实体,且作为其直接后果活动节点的输入时,对应的推理结构图应为图2(c)的实例图.

当待推理节点为如图3和图5所示的同类型节点之间直连结构所隐含的其它类型节点时,攻击者不能直接确定其推理结构图,需先推断如图4和图6所示的可能的推理结构图.

此外,为提高敏感节点的安全性,起源过滤不仅会过滤相关敏感节点,可能还会过滤与敏感节点相关的非敏感节点[14].因此,敏感节点的推理结构图中可能还存在其他被过滤的非敏感节点.为此,攻击者必须采用级联推理的方法推理敏感节点,即首先从信息完整的推理结构图入手,推理被过滤的节点,再根据由前序推理补充完整的推理结构图进一步推理目标节点.但推理步骤越多,推理结果的可信性就越低.

总之,IPO推理过程通常分为三步.首先,在过滤视图中选定待推理的敏感节点;其次,确定敏感节点的推理结构图;最后,根据推理结构图对应的推理规则推理敏感节点.例如,在图1中,若活动a1为空节点,则可推断a1为敏感活动节点;可确定a1的推理结构图是图2(a)的实例图;最后,根据规则1推理a1的语义.

3 安全评估模型

本文将起源安全定义为敏感节点的抗推理性.这种抗推理性不仅与推理结构图的结构推理概率有关,还与敏感节点的节点推理概率有关.本节介绍结构推理概率与节点推理概率的量化原理和方法,建立起源安全评估模型并实现相应的安全评估算法.

3.1 结构推理概率

过滤视图的异常结构分为活动直连结构和实体直连结构,分别表示实体与活动节点之间直接连接.过滤视图中的异常结构可能来源于多种不同的原始拓扑结构,对应多种推理结构.

3.1.1 活动直连结构

如图3所示,虚线矩形内活动a1与a2~an之间存在直接依赖关系,暗示原始起源图中的a1与a2~an之间存在一个或多个敏感实体节点.

图3 活动直连结构

若已知a1的行为,则可推断出a1所有的输出节点均为敏感节点.若a1只有一个输出节点u,u必然被a2~an同时使用,其推理结构图如图4(a)矩形所示.若a1具有多个输出节点,每个输出节点均可能被a2~an的任意组合所使用,如其中任一敏感节点u可能同时被a2~an所使用,其推理结构图如图4(a)矩形所示,也可能仅被a2与a3所使用,其推理结构图如图4(b)矩形所示.

(a)推理结构图1 (b)推理结构图2图4 节点u的反向推理图

过滤视图中可能还存在多对多的活动直连结构.由于实体节点只能由一个活动节点产生[13],因此,可将多活动直连结构拆分为多个活动直连结构分析计算.对于任意敏感节点u,其活动直连结构推理概率O1可表示为:

(1)

式(1)中:分母表示使用敏感节点的活动节点所有可能的排列组合,n为活动节点个数.

3.1.2 实体直连结构

如图5所示,虚线矩形内实体e0与e1~en之间分别存在直接依赖关系,暗示原始起源图中的实体e0与e1~en之间存在若干敏感活动节点.

图5 实体直连结构

若实体e0与e1~en之间只存在一个敏感活动v,可确定v的输入为e0、输出为e1~en,其推理结构图如图6(a)所示.若实体e0与e1~en之间存在多个敏感活动节点,敏感活动节点的输入均为e0,输出为e1~en中任意互不相交的实体组合.如其中任一敏感节点v的输出可能是e1、e2,其推理结构图如图6(b)所示,也可能只有e1,其推理结构图如图6(c)所示.

(a)推理结构图1 (b)推理结构图2 (c)推理结构图3图6 节点v的反向推理图

过滤视图中可能还存在多对多实体直连结构.实体之间相互关联,表明这些实体之间均可能存在依赖关系.此时,敏感活动节点的输入为前因实体节点中任意的实体组合,输出为后果实体节点中任意的实体组合.对于任意敏感节点v,其结构推理概率可表示为:

(2)

式(2)中:n为敏感节点的直接前因实体节点个数,m为敏感节点的直接后果实体节点个数.

3.2 节点推理概率

攻击者根据不同规则推理敏感节点的难度不同.本节阐明节点推理概率的量化原理和方法.

规则1的推理结果P可能不唯一,即存在多种满足映射关系的映射法则,其推理概率p1一定小于1.如输入为4,输出为2,对应的映射法则可能是开方、除以2等.事实上,发布者在过滤敏感节点时,I或O可能并不完整,可将这种推理结构图不完整的推理规则称为非完整推理规则.非完整推理规则不满足推理规则的知二推一原则,其推理概率为0.

规则1的推理过程类似于函数拟合的过程,其推理概率p1可通过机器学习的方法获取.步骤如下:首先,攻击者可从多张实现相同过滤需求的过滤视图中获取机器学习的样本,并将样本分为训练样本与测试样本;其次,对训练样本进行无监督学习;最后,将检测测试样本的正确率表示为推理规则的推理概率.如攻击者在100个测试样本中成功匹配出50个测试样本,则表明其推理概率为0.5.

根据映射的定义可知,规则2的推理结果确定且唯一,其推理概率p2=1.规则2也可能存在非完整推理规则,即I或P缺失.

规则3的推理结果I可能也不唯一,即可能存在多种满足映射关系的输入,其推理概率p3一定小于1.如输出为4,映射法则为平方,对应的输入可能是2、-2.规则3也可能存在非完整推理规则,即O或P缺失.

规则3的推理过程类似于逆向推理的过程,其推理结果与攻击者所具备的推理能力有关,推理能力包括计算能力、先验知识等等,因此,其推理概率p3非定值,一般由发布者拟定.

规则3还存在一种衍生推理规则4,即已知多组P、O,可推理出I,如图4(a)所示.该推理规则的推理结果I应为各个映射法则推理结果的交集,且映射法则越多,推理结果越准确.其推理概率p4也非定值,大小与映射法则的个数有关,但显然大于p3,一般也由发布者拟定.

总之,p1、p2、p3、p4均是安全评估模型的参数,且p2为定值1,p1、p3、p4在不同应用场景下的大小各不相同,由起源数据发布者确定.通常情况下p2>p4>p3>p1.

3.3 敏感节点安全性

本文将起源安全定义为敏感节点的抗推理性,记为S,形式化地表示为:

S=1-O*Q

(3)

式(3)中:O表示敏感节点的结构推理概率,Q表示敏感节点的推理概率.

当存在级联推理的敏感节点时,起源安全S可形式化地表示为:

(4)

式(4)中:n表示推理敏感节点采用推理规则的个数,sk表示推理其他敏感节点的安全性.

当敏感节点存在多个推理结构图推理时,会产生多个安全性评估值,而安全性越低,表明敏感节点越容易被推理.显然,应选取安全性的最小值作为该敏感节点的安全性.敏感节点安全性的最小评估值可形式化地表示为:

S(v)=Min(s1,s2,…,sn)

(5)

式(5)中:s1,s2,…,sn等表示敏感节点v在不同推理结构图下的安全性,S(v1)>S(v2)表示敏感节点v1相对于敏感节点v2越难被推理.

3.4 安全评估算法

本节通过递归的思想实现安全评估算法.首先,随机获取一个敏感节点,确定其节点类型;其次,分析该敏感节点直接前因、后果节点的结构类型,确定其结构推理概率;再检查该敏感节点直接前因、后果节点是否包含敏感节点,确定其节点推理概率,若不包含,直接根据引入参数确定敏感节点的安全性,若包含敏感节点,采用递归的思想重新计算;最后,选择安全性最小值作为该敏感节点的安全性.

设原起源图为G,敏感节点集为Vhs,起源过滤视图为H,相关参数为C.设计级联推理算法(SecurityEvaluation)如下:

输入:G,Vhs,H,C

输出:敏感节点的安全性S

1.SecurityEvaluation(H,G,C,Vhs)

2.foreachv∈Vhsdo

3.if(τ(v)==En)

4.U=PreV(v);//获取节点v的前因节点集

5.ifU为空或包含敏感节点

6.s(v)=1-O*0=1;

7.else

8.u=get(U); //获取U中节点u

9.U′=PreV(u);

10.ifU′不存在敏感节点

11.s(v)=1-O*p2;

12.else获取u的前因敏感节点集U″

13. SecurityEvaluation(H,G,C,U″);

14. 计算根据前因推理v的安全性

15.W=SubV(v);//获取节点v的后果节点集

16.ifW为空或所有节点均为敏感节点

17.S(v)=1-O*0=1;

18.else

19.w=get(W); //获取W中节点w

20.W′=SubV(w);

21.if(!Check(W′)

22.s(v)=1-O*p2;

23.else获取w的后果敏感节点集W″

24. SecurityEvaluation(H,G,C,W″);

25. 计算根据后果推理v的安全性;

26.S(v)=Min(s1,s2,…,sn);

27.if(τ(v)==Act)

28.U=PreV(v); //获取节点v的前因节点集

29.W=SubV(v); //获取节点v的后果节点集

30.ifU与W中不存在敏感节点

31.s(v)=1-O*p1;

32.else

33.U′=Screen(U′);

34.W′=Screen(W′);

35. SecurityEvaluation(H,G,C,U′);

36. SecurityEvaluation(H,G,C,W′);

37. 根据前因与后果计算节点v的安全性;

38.S(v)=Min(s1,s2,…,sn);

39.endfor

40.endSecurityEvaluation

上述算法中,第3~26行计算敏感节点为实体时的安全性,其中4~14行计算根据敏感节点的前因活动节点推理敏感节点,15~25行计算根据敏感节点的后果活动节点推理敏感节点.第26行输出被过滤节点的安全性.第27~37行计算敏感节点为活动类型时的安全性,其中30~31行判断敏感节点的前因实体节点与后果实体节点均未被过滤时的相关操作,33~37行判断敏感节点的前因实体节点与后果实体节点存在被过滤时的相关操作,第38行输出被过滤节点的安全性.

4 实验与结果分析

本文的实验目的是对所提出的安全评估模型进行实证和分析.通过对比分析安全评估模型得到的安全性与专家主观经验的差异,说明本文在评估安全性的可靠性.

本文实验环境为ASUS X455U笔记本电脑,Intel Core i5-5200U 2.19 GHz CPU,4 GB内存,Windows10的64位操作系统.所有代码用Java语言实现.根据专家经验将实验的评估模型参数设置为p1=0.2,p2=1,p3=0.3,p4=0.4.

实验步骤:模拟三组工作流数据起源图,在每组起源图中随机选取三个敏感节点;分别使用匿名、多次匿名1(只匿名一个直接前因节点)、多次匿名2(匿名一个直接前因节点与一个直接后果节点)、抽象、删除+修复+匿名1(只匿名一个直接前因节点)、删除+修复+匿名2(匿名一个直接前因节点与一个直接后果节点)[14]等过滤机制过滤模拟其中的敏感节点;评估所得过滤视图安全性.重复执行以上步骤1 000次,记录运行时间;最后,对比分析实验结果与专家主观经验.

例如,图7为一组模拟工作流数据起源,其中e1~e9为实体节点,a1~a5为活动节点.随机选取e1、e4、a5为敏感节点,分别进行上述6种方式的过滤实验,实验结果如表1所示.

图7 模拟工作流数据起源表1 过滤视图安全性评估实验结果

敏感节点匿名删除+修复+匿名1抽象多次匿名1删除+修复+匿名2多次匿名2e180%100%100%100%100%100%e410%85%100%70%80%100%a570%73%100%73%100%100%

对表1分析发现,采用抽象机制所得过滤视图的安全性最高,均为100%;采用删除+修复+匿名机制所得过滤视图的安全性与匿名的节点个数有关,匿名节点个数越多,安全性越高,可接近100%;采用多次匿名机制所得的过滤视图的安全性较高,其安全性也与匿名节点个数有关,匿名节点个数越多,安全性越高,接近100%;采用匿名机制所得的过滤视图的安全性与敏感节点类型有关,匿名活动节点的安全性高于匿名实体节点的安全性,但均低于其余三种方式的安全性.上述实验结果与专家主观经验一致,说明本文提出的评估模型具有一定的可靠性.

图8为评估算法性能结果,纵轴表示三组工作流模拟三个敏感节点重复执行1 000次的耗时.

实验结果表明,本文的算法实际可行.

图8 性能结果

5 结论

本文针对现有起源过滤研究尚无法客观地评估和对比不同过滤机制所产生的过滤视图安全性的问题,提出了一种基于IPO的安全威胁模型,在此基础上定义了起源安全以及定量评估模型,实现了评估算法并开展了模拟实验.实验结果与专家经验一致,表明本文提出的模型具有一定的可靠性.未来将针对更大规模的数据开展实验,验证本文模型的可靠性.

猜你喜欢

结构图攻击者视图
中国共产党第二十届中央组织结构图
概率知识结构图
正面迎接批判
正面迎接批判
第十九届中共中央组织结构图
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
Django 框架中通用类视图的用法
有限次重复博弈下的网络攻击行为研究