CN105653935A - 基于pptl3的社交网络系统隐私安全运行时验证方法 - Google Patents
基于pptl3的社交网络系统隐私安全运行时验证方法 Download PDFInfo
- Publication number
- CN105653935A CN105653935A CN201610012054.9A CN201610012054A CN105653935A CN 105653935 A CN105653935 A CN 105653935A CN 201610012054 A CN201610012054 A CN 201610012054A CN 105653935 A CN105653935 A CN 105653935A
- Authority
- CN
- China
- Prior art keywords
- pptl
- normal form
- formula
- state
- social networking
- 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
Classifications
-
- 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/52—Monitoring 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于PPTL3的社交网络系统隐私安全运行时验证方法,对于待验证的性质P,用PPTL3公式来描述,然后分别将P与非P所对应的逻辑公式转化为范式,并进一步转化为范式图及带标记的范式图,根据后者可求得相应的Buchi自动机,通过改变接受集来定义一个有穷自动机并对其确定化,最终对有穷自动机求积以构造监控器;在此基础上,还公开了运行时验证在社交网络系统中的应用,通过PPTL3公式来描述社交网络应满足的性质,并建立相应的监控器,在系统运行的时候,对其进行监控以判断当前的运行是否满足该性质。
Description
技术领域
本发明属于计算机应用技术领域,尤其涉及一种基于PPTL3的社交网络系统隐私安全运行时验证方法。
背景技术
随着计算机技术的发展,计算机软件广泛的应用于各个领域,其中社交网络(SocialNetworkService/Site,SNS)已经渗透到人们生活与工作的各个方面。广义而言,SNS是一群有相同兴趣与活动的人创建的在线社区,为他们提供了快速交流、分享各种信息的途径,给生活与工作带来了极大的方便。典型的SNS国外有Facebook、Twitter、YouTube等,国内有微信、新浪微博、百度贴吧、QQ空间等。SNS在方便人们生活的同时,也带来了大量的安全问题。2009年5月,Koobface蠕虫攻击Facebook,窃取用户信息并在其它SNS上传播;2011年6月,大量新浪微博用户遭受跨站脚本攻击,自动发送微博和私信、并关注用户hellosamy;2014年9月,大批好莱坞女明星照片通过iCloud泄露,其实质原因是SNS带来的隐私泄密;2015年3月,乌云漏洞平台发布高危漏洞,显示微信红包存在设计缺陷,黑客可以设计程序自动领取他人发送的红包;2015年9月,微信等近350款苹果APP发现Xcode“恶意后门”可致用户私密信息泄露。为减少或者防止SNS中的不安全事件,需重点研究如何提高软件的可靠性和安全性:测试通过设计特定的测试用例来检测程序中存在的问题,但它并不具备完备性,且测试只能证明程序中存在问题,而不能证明程序中不存在问题;定理证明使用数学推理的方法证明系统的正确性,但它不能做到完全的自动化;模型检测通过对模型的状态空间进行穷尽搜索,以确认该系统模型是否具有某些性质,并且在大型的系统中,模型检测面临着状态空间爆炸的问题。
运行时验证(RuntimeVerification,RV)是一种轻量级验证技术,它并不需要对系统进行建模,而是在系统运行的过程中对其进行监控,监控器通常从系统需求中产生,它根据系统运行所生成的轨迹来判断是否满足给定的性质。相较于上述的验证技术,运行时验证技术在验证大型的响应系统时有很大的优势。相比与测试,运行时验证并不给出预期输出结果,而是给出系统满足的性质,然后根据实际执行的结果来验证该性质;对比模型检测,则能体现出其轻量级的特性,因为不需要对整个系统建模,而是只考虑一次实际执行中系统所表现出的行为,因此,对于大型的系统,也不会产生状态爆炸问题;对于处理模型检测的状态爆炸问题,还有另一种技术,on-the-fly验证技术,相对于传统的模型检测,它并不存储完整的系统模型,而是只存储使得当前的验证程序可以执行下去的信息,其原因在于实际的验证过程中,能用到的实时信息只是系统的很小的一部分,因此在使用on-the-fly技术时,若是系统不满足待验证的性质,往往能够在只建立了系统的一小部分模型就可以得出结果,on-the-fly技术的优势在于它大大的缩减了空间的需求,可以更好的处理大型系统,但是在缩减空间的同时,也会增加时间的需求,因为它虽然存储的不是完整的系统模型,但是本质还是根据完整的系统来验证性质,所以在验证的过程中可能会有大量的回溯,而运行时验证则不存在这些问题,因为它只是针对系统实际运行的一条路径来验证性质。运行时验证起源于2001年,发展至今,其涉及的领域已经十分的广泛,主要的方面有形式化验证、Web服务、恶意攻击检测、列车运行控制系统等。
AndreasBauer等人将运行时验证应用到了线性时序逻辑(LTL)中,其整体框架为:首先对LTL的语义进行扩充,引入了三值语义逻辑LTL3,即在true和false之外增加了一个不确定(inconclusive),然后用LTL3来描述给定的性质,并将其转化为自动机,最终生成一个监控器,监控器根据系统当前运行产生的轨迹,验证性质是否满足,并给出相应的结果。由于描述性质的逻辑公式具有三值语义,所以生成的监控器可以保证验证的公平性和预测性,其中公平性指监控器的裁决总是正确的,即能根据当前检测到的信息给出一个正确的裁决,而预测性是指监控器能够发现一条无穷运行轨迹的最小好(坏)前缀,即监控器能够尽可能早的发现问题。其大致验证过程为:对于给定性质φ,根据被监控系统当前执行的有穷轨迹,给出验证结果为true、false或inconclusive:对于一个有穷前缀u,若存在两个不同的后继ω和ω′使得uω(ω′)能够分别推导出φ与φ,那么认为u|=φ的取值为inconclusive,另一方面,如果连接任意后继,都满足性质φ或φ,那么认为u|=φ的取值为true或false。
AnaTempura是一个基于Tempura的工具,它可以在运行时分析时间关键系统,验证其是否满足形式化的描述。ShikunZhou等人提出了基于AnaTempura的运行时验证的方法:首先将描述性质的Tempura文件加载进AnaTempura工具中,在对目标程序插入断点后进行编译,在运行的过程中,通过断点获取到状态值,时间戳等感兴趣的信息,在解释执行Tempura程序的时候,根据获得的信息去验证相应的性质是否满足。
另一种基于ITL的运行时验证方法是由HelgeJanicke提出来的ITLTracer,它利用插入断点的方法从目标系统中获取关键信息,然后作为Tempura的输入生成一条轨迹用以验证性质。变量值只在发生变化时才会被记录,从而大大的减小存储消耗,同时记录的基本单位是划分而不是状态,也保证了变量的连续性,使得chop操作符有了更大的功效。在获取轨迹之后,通过使用ITL公式而非Tempura程序来描述期望的性质,并生成相应的监控器来验证性质是否满足。
国防科大的赵常智等人在基于LTL3的运行时验证方面,做了很多的改进和发展,实现了基于LTL3的构造监控器的工具monitor_tool,并提出了参数化LTL(parameterizedLTL,PALTL)公式运行时监控器构造方法。
但是上述基于LTL和ITL的运行时验证方法都在形式化验证方面取得了一些成果,但还是存在着不足之处:首先LTL的表达能力不够强,它并不具备Omega完全正则表达能力,如“命题变元p在一个状态序列的所有偶数状态上为真”就无法用LTL表达;而基于ITL的运行时验证工具均为原型系统,并未得到广泛的应用。
发明内容
本发明的目的在于提供一种基于PPTL3的社交网络系统隐私安全运行时验证方法,旨在提出一种基于PPTL3的运行时验证方法,通过表达能力更强的PPTL3公式来描述系统应满足的性质,建立相应的监控器,在系统运行的过程中对其实时监控,并能根据当前运行状况输出对该性质的验证结果。
本发明是这样实现的,一种基于PPTL3的社交网络系统隐私安全运行时验证方法,所述基于PPTL3的社交网络系统隐私安全运行时验证方法对于待验证的性质P,用PPTL3公式来描述;然后分别将P与非P所对应的逻辑公式转化为范式,并进一步转化为范式图及带标记的范式图,根据后者可求得相应的Buchi自动机,通过改变接受集来定义一个有穷自动机并对其确定化;最终对有穷自动机求积以构造监控器;运行时验证在社交网络系统中的应用,通过PPTL3公式来描述社交网络应满足的性质,并建立相应的监控器,在系统运行的时候,进行监控以判断当前的运行是否满足该性质。由于只验证运行过程中的表现出的行为是否满足给定的性质,大大缩减了在验证过程中对状态空间的需求,同时也提高了验证效率,只要当前执行过程中的轨迹信息违背了给定的性质,就可以给出验证结果,不需要考虑系统在后面执行中的状态。
进一步,所述基于PPTL3的社交网络系统隐私安全运行时验证方法包括如下步骤:
将传统的命题投影时序逻辑扩展为三值语义逻辑PPTL3;
对于社交网络中所具有的隐私安全相关的性质P,利用PPTL3公式分别描述P与非P;
根据范式和范式图的理论,将逻辑公式分别转化为Buchi自动机;
根据Buchi自动机来定义相应的非确定有穷自动机;
利用子集法对非确定有穷状态自动机确定化;
对性质P和非P所对应的确定有穷自动机求积并化简以获取最终的监控器。
进一步,所述将传统命题投影时序逻辑扩展为三值语义逻辑PPTL3的具体流程如下:
步骤一,定义三值逻辑的值域如下:
B={true,false,inconclusive};
步骤二,在PPTL基础上,扩展语义以建立三值语义逻辑PPTL3;
进一步,若根据当前的信息确定系统当前的执行满足给定的性质,则输出结果为true;若根据当前的信息确定系统当前的执行不满足给定的性质,则输出结果为false;若无法根据当前的信息确定系统当前的执行是否满足给定的性质,则输出结果为inconclusive。
进一步,所述利用PPTL3公式描述社交网络中隐私安全相关性质的具体流程如下:
步骤一,对于社交网络中所具备的一些隐私安全相关的性质P,利用PPTL3公式来描述;
步骤二,用以描述性质的PPTL3公式通过如下语法来定义:
其中p∈Prop,P1,…,Pm和P是PPTL3合式公式,○(next)和prj(projection)是时序操作符;
步骤三,利用PPTL3公式来描述性质P的非;
步骤四,在验证的过程中,根据当前执行的所产生的信息,判断系统的当前执行是否违背了性质P或非P。
进一步,所述根据范式和范式图的理论,将逻辑公式转化为Buchi自动机的具体流程如下:
步骤一,将PPTL3公式转化为范式,其中范式的定义为,令Qp为出现在公式中的原子命题集,则公式Q的范式定义如下:
其中qjk,qih∈Qp,对于任意r属于Qp,表示r或者r;Qi’是不以析取为主操作符的PPTL3公式;若满足∨iQci≡true并且∨i≠j(Qci∧Qcj)≡false,则Q为完全范式;
步骤二,将得到的范式转化为范式图,其中范式图的定义为,对于一个PPTL3公式P,其范式图是一个有向图G={V0,CL(P),EL(P)},其中初始结点集合V0,结点集和CL(P)和连接结点的边的集和EL(P)定义如下:
初始时,令
令P≡∨iPi,对于每一个i,有Pi∈V0,Pi∈CL(P);
对于所有的Q∈CL(P)\{ε,false},如果Q重写为它的范式形式则对于任意j,1≤j≤h,有ε∈CL(P),(Q,Qej,ε)∈EL(P);对于任意i,1≤i≤k,有Qi’∈CL(P),(Q,Qci,Qi’)∈EL(P);
步骤三,对范式图添加标记以解决chop操作符左侧公式具有无穷模型的问题,引入带标记的范式图,通过给一个结点添加标记来表明该结点在环中只能重复出现有穷多次;
步骤四,定义LNFG如下:
G={CL(P),EL(P),V0,L={L1,…,Lm}};
其中CL(P),EL(P)和V0的定义与NFG中的相同,L是标记的集合;
步骤五,根据获得的LNFG构建相应的BA,A={Q,Σ,Q0,δ,F},其中Q为状态集,Σ为字母表,Q0为初始状态,δ为状态转移函数,F是可接受状态集;LNFG中的CL(P),EL(P)和V0分别对应BA中的Q,δ和Q0,而BA中的F对应的是LNFG中的ε结点和无穷多次出现的且不带标记的结点;
步骤六,对ε结点添加一个可执行的但是没有任何实际功效的自环,将其扩展为无穷模型。
进一步,所述利用Buchi自动机来定义非确定有穷自动机的具体流程如下:
步骤一,定义判空函数E(q):Q→B(其中B={true,false}):若在BA中以状态q为开始状态且能到达接受状态集F,即该自动机以q为初始状态时识别的语言不为空,则认为E(q)的值为true;
步骤二,用线性复杂度的Tarjan算法来求BA中包含接受状态的强连通分量,从状态q开始可到达接受状态所在的强连通分量,E(q)的值即为true;
步骤三,定义非确定有穷状态自动机其中只有的定义与BA的不同,其定义为即在BA的所有状态中,只要能够到达接受状态,在NFA中就定义为接受状态;
所述利用子集法对获得的非确定有穷状态自动机的确定化的具体流程如下:
步骤一,根据定义的NFA为
步骤二,定义确定化后的DFA为
步骤三,令且不对中元素做标记;
步骤四,检查中是否有未标记的状态Q,若没有,则输出DFA;
步骤五,标记状态Q,对于每一个输入字符a,令T=smove(Q,a),即状态集T为状态Q经过字符a所到达的所有状态;
步骤六,判断T是否在中,若不在其中,将T作为未标记的状态加入到中;
步骤七,向中添加状态转移move(Q,a)=T并执行检查中是否有未标记的状态Q;
步骤八,输出DFA,其中字母表与NFA中的相同,接受状态集为上述状态中包含NFA的接受状态的状态;
所述对于两个确定化有穷状态自动机求积的具体流程如下:
步骤一,分别求得性质P与非P所对应的确定化有穷状态自动机和
步骤二,对两个自动机求积,得到有穷状态自动机其中:
是从状态到三值值域的映射:Q→B3
步骤三,将自动机进行状态缩减,删除掉冗余的状态,生成最终所需的监控器M={Σ,Q,q,δ,λ};
步骤四,监控器根据当前的执行轨迹来验证当前执行是否满足待验证的性质,其中当前执行的有穷前缀u总是满足如下关系:
[u|=P]=λ(δ(q0,u))。
本发明的另一目的在于提供一种所述基于PPTL3的社交网络系统隐私安全运行时验证方法的社交网络系统隐私安全运行时验证系统,所述社交网络系统隐私安全运行时验证系统包括:
逻辑语义扩展模块,用于对传统命题投影时序逻辑的语义扩展;
性质的形式化描述模块,用于利用扩展语义的逻辑语言来描述性质;
逻辑公式到自动机的转化模块,用于将逻辑公式利用范式的理论转化为Buchi自动机;
自动机上的转化和求积操作模块,用于定义非确定有穷自动机,自动机的确定化,自动机的求积。
本发明的另一目的在于提供一种应用所述基于PPTL3的社交网络系统隐私安全运行时验证方法的任务调度系统。
本发明的另一目的在于提供一种应用所述基于PPTL3的社交网络系统隐私安全运行时验证方法的组合Web服务模拟系统。
本发明提供的基于PPTL3的社交网络系统隐私安全运行时验证方法,在本方法中,通过PPTL3公式来描述社交网络中的性质,可提高验证性质的范围,然后利用范式及范式图的概念将逻辑公式转化为自动机,通过对自动机进行变形处理,最终构建所需的监控器。利用监控器根据系统运行时产生的信息,来验证性质是否满足。本发明提出一种基于PPTL3的运行时验证方法,通过表达能力更强的PPTL3公式来描述系统应满足的性质,建立相应的监控器,在系统运行的过程中对其实时监控,并能根据当前运行状况输出对该性质的验证结果,在验证社交网络系统这样的大规模系统时会更加的简洁有效,本发明的优势在于不用对系统建立模型,而这在传统的验证方法中是很重要也很耗费空间的。同时在社交网络系统中,更加令人关注的是系统在运行的过程中所表现的行为,而本方法正是针对系统运行时产生的轨迹进行验证,得到的验证结果更具有针对性,且由于使用具有omega完全正则表达能力的PPTL3公式来描述性质,从而扩大了可验证性质的范围。
附图说明
图1是本发明实施例提供的基于PPTL3的社交网络系统隐私安全运行时验证方法流程图。
图2是本发明实施例提供的运行时验证监控器构造的流程图。
图3是本发明实施例提供的PPTL3公式转化为BA的流程图。
图4是本发明实施例提供的性质P((a;r)→m)所对应的LNFG。
图5是本发明实施例提供的性质P所对应的BA。
图6是本发明实施例提供的性质P所对应的NFA。
图7是本发明实施例提供的性质P所对应的DFA。
图8是本发明实施例提供的性质非P所对应的LNFG。
图9是本发明实施例提供的性质非P所对应的BA。
图10是本发明实施例提供的性质非P所对应的NFA。
图11是本发明实施例提供的性质非P所对应的DFA。
图12是本发明实施例提供的监控器结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提出了一种以投影时序逻辑(ProjectionTemporalLogic,PTL)为底层逻辑的运行时验证方法,首先其命题子集命题投影时序逻辑(PropositionalPTL,PPTL)具有Omega完全正则表达能力,并且PPTL的可判定性已经得到了证明,且具有MSV支持平台,应用于任务调度系统、C程序验证、组合Web服务模拟,描述和验证、内存管理系统验证。PPTL3(三值语义的命题投影时序逻辑),NF(范式),NFG(范式图),LNFG(带标记的范式图),Prop(原子命题集)。
下面结合附图对本发明的应用原理作详细的描述。
本发明实施例的基于PPTL3的社交网络系统隐私安全运行时验证系统包括如下模块:
逻辑语义扩展模块:所述逻辑语义扩展模块包括对传统命题投影时序逻辑的语义扩展。
性质的形式化描述模块:所述性质的形式化描述模块包括利用扩展语义的逻辑语言来描述性质。
逻辑公式到自动机的转化模块:所述逻辑公式到自动机的转化模块包括将逻辑公式利用范式的理论转化为Buchi自动机。
自动机上的转化和求积操作模块:所述自动机上的转化和求积操作模块包括定义非确定有穷自动机,自动机的确定化,自动机的求积。
如图1所示,本发明实施例的基于PPTL3的社交网络系统隐私安全运行时验证方法包括如下步骤:
S101:将传统的命题投影时序逻辑扩展为三值语义逻辑PPTL3;
S102:对于社交网络中所具有的一些隐私安全相关的性质P,利用PPTL3公式分别描述P与非P;
S103:根据范式和范式图的理论,将步骤S102中的逻辑公式分别转化为Buchi自动机;
S104:根据步骤S103中的Buchi自动机来定义相应的非确定有穷自动机;
S105:利用子集法对步骤S104中的非确定有穷状态自动机确定化;
S106:对性质P和非P所对应的确定有穷自动机求积并化简以获取最终的监控器。
所述步骤S101中将传统命题投影时序逻辑扩展为三值语义逻辑PPTL3的具体流程如下:
步骤1.1,定义三值逻辑的值域如下:
B={true,false,inconclusive};
步骤1.2,在传统的PPTL基础上,扩展其语义以建立三值语义逻辑PPTL3,其原因在于运行时验证的过程中,系统的当前执行信息是增量式获取的,即随着系统的运行而逐渐增加,且得到的信息总是有限的,因此使用三值逻辑能更好的表达验证的结果:
步骤1.2.1,若根据当前的信息可以确定系统当前的执行满足给定的性质,则输出结果为true;
步骤1.2.2,若根据当前的信息可以确定系统当前的执行不满足给定的性质,则输出结果为false;
步骤1.2..3,若无法根据当前的信息确定系统当前的执行是否满足给定的性质,则输出结果为inconclusive。
需要说明的是,所述步骤S102中利用PPTL3公式描述社交网络中隐私安全相关性质的具体流程如下:
步骤2.1,对于社交网络中所具备的一些隐私安全相关的性质P,利用PPTL3公式来描述;
步骤2.2,用以描述性质的PPTL3公式可通过如下语法来定义:
其中p∈Prop,P1,…,Pm和P是PPTL3合式公式,○(next)和prj(projection)是时序操作符;
步骤2.3,利用PPTL3公式来描述性质P的非;
步骤2.4,在验证的过程中,根据当前执行的所产生的信息,判断系统的当前执行是否违背了性质P或非P。
需要说明的是,所述步骤S103中根据范式和范式图的理论,将逻辑公式转化为Buchi自动机的具体流程如下:
步骤3.1,将PPTL3公式转化为范式(NormalForm,NF),其中范式的定义为,令Qp为出现在公式中的原子命题集,则公式Q的范式可定义如下:
其中qjk,qih∈Qp,对于任意r属于Qp,表示r或者r;Qi’是不以析取为主操作符的PPTL3公式;若满足∨iQci≡true并且∨i≠j(Qci∧Qcj)≡false,则Q为完全范式(CompleteNF,CNF)。
步骤3.2,将得到的范式转化为范式图(NormalFormGraph,NFG),其中范式图的定义为,对于一个PPTL3公式P,其范式图是一个有向图G={V0,CL(P),EL(P)},其中初始结点集合V0,结点集和CL(P)和连接结点的边的集和EL(P)定义如下:
步骤3.2.1,初始时,令
步骤3.2.2,令P≡∨iPi,对于每一个i,有Pi∈V0,Pi∈CL(P);
步骤3.2.3,对于所有的Q∈CL(P)\{ε,false},如果Q可以重写为它的范式形式则对于任意j,1≤j≤h,有ε∈CL(P),(Q,Qej,ε)∈EL(P);对于任意i,1≤i≤k,有Qi’∈CL(P),(Q,Qci,Qi’)∈EL(P)。
步骤3.3,对范式图添加标记以解决chop操作符左侧公式具有无穷模型的问题。由于PPTL3公式可以描述无穷模型,因此对于形如P;Q的公式,若P只有无穷模型,则该公式不存在相应的模型,因为按上述的建立NFG,实际上得到的是公式P所对应的NFG。因此,若P只有有穷模型,则chop操作符不会产生影响,若P既有有穷模型,又有无穷模型,则应去掉其中的无穷模型,否则建立的NFG与公式的含义不同。为此引入了带标记的范式图(LabeledNFG,LNFG),通过给一个结点添加标记来表明该结点在环中只能重复出现有穷多次。
步骤3.4,定义LNFG如下:
G={CL(P),EL(P),V0,L={L1,…,Lm}}
其中CL(P),EL(P)和V0的定义与NFG中的相同,L是标记的集合,由于公式中可能出现多个chop操作符,所以可能需要添加多个不同的标记。
步骤3.5,根据获得的LNFG构建相应的BA,A={Q,Σ,Q0,δ,F},其中Q为状态集,Σ为字母表,Q0为初始状态,δ为状态转移函数,F是可接受状态集。LNFG中的CL(P),EL(P)和V0分别对应BA中的Q,δ和Q0,而BA中的F对应的是LNFG中的ε结点和无穷多次出现的且不带标记的结点。
步骤3.6,由于BA是无穷自动机,所有本身并不识别以ε为终止的路径,因此对ε结点添加一个可执行的但是没有任何实际功效的自环,将其扩展为无穷模型。
需要说明的是,所述步骤S104中利用Buchi自动机来定义非确定有穷自动机的具体流程如下:
步骤4.1,定义判空函数E(q):Q→B(其中B={true,false}):若在BA中以状态q为开始状态且能到达接受状态集F,即该自动机以q为初始状态时识别的语言不为空,则认为E(q)的值为true。
步骤4.2,为了更加方便的获取函数E(q)的真值,用线性复杂度的Tarjan算法来求BA中包含接受状态的强连通分量,这样只要从状态q开始可到达接受状态所在的强连通分量,E(q)的值即为true。
步骤4.3,定义有非确定穷状态自动机(NondeterministicFiniteAutomaton,NFA)其中只有的定义与BA的不同,其定义为即在BA的所有状态中,只要能够到达接受状态,在NFA中就定义为接受状态。
需要说明的是,所述步骤S105中利用子集法对获得的非确定有穷状态自动机的确定化的具体流程如下:
步骤5.1,根据上述方法定义的NFA为
步骤5.2,定义确定化后的DFA为
步骤5.3,令且不对中元素做标记;
步骤5.4,检查中是否有未标记的状态Q,若没有,则执行步骤4.8;
步骤5.5,标记状态Q,对于每一个输入字符a,令T=smove(Q,a),即状态集T为状态Q经过字符a所到达的所有状态;
步骤5.6,判断T是否在中,若不在其中,将T作为未标记的状态加入到中;
步骤5.7,向中添加状态转移move(Q,a)=T并执行步骤4.4;
步骤5.8,输出DFA,其中字母表与NFA中的相同,接受状态集为上述状态中包含NFA的接受状态的状态。
需要说明的是,所述步骤S106中对于两个确定化有穷状态自动机求积的具体流程如下:
步骤6.1,根据上述的步骤,可分别求得性质P与非P所对应的确定化有穷状态自动机和
步骤6.2,对两个自动机求积,得到有穷状态自动机其中:
是从状态到三值值域的映射:Q→B3
步骤6.3,将上述步骤的中的自动机进行状态缩减,删除掉冗余的状态,生成最终所需的监控器M={Σ,Q,q,δ,λ};
步骤6.4,监控器根据当前的执行轨迹来验证当前执行是否满足待验证的性质,其中当前执行的有穷前缀u总是满足如下关系:
[u|=P]=λ(δ(q0,u))。
下面结合具体实施例对本发明的应用原理作进一步的描述。
1、社交网络中建立好友关系并发送信息的过程为:两个用户中,首先有一方发送请求,表示希望和对方建立好友关系,之后如果另一方响应请求,则双方之间建立起了好友关系,并可以互相发送信息,若另一方并未响应请求,则双方无法建立好友关系,也不能发送信息。
2、用形式化符号描述上述的情景:
a(ask)表示发送请求;
r(response)表示响应请求;
m(message)表示建立好友关系并可以发送信息。
3、利用PPTL3公式描述上述的社交网络中应满足的性质P:
(a;r)→m;
即若一个用户发送了好友请求,并收到了响应,则双方建立了好友关系,并可以相互发送信息。
4、求该逻辑公式的范式:
5、求与该范式相对于的带标记的范式图的流程如下:
5.1、初始时:
5.2、根据范式添加范式图中的边和结点的流程如下:
步骤1、首先将根节点加入到点集中,即V0=CL(P)={(a;r)→m};
步骤2、由可添加结点{ε}和边
步骤3、由可添加结点{true}和边
步骤3.1、由于true的范式为ε∨○true因此可以添加边(true,true,true)和(true,true,ε);
步骤4、由可添加结点和边
步骤4.1、由于的范式为因此可以添加边和
5.3、由上述的过程,可以得到图4所示的LNFG(为了方便在图中表示,对结点进行了编号):
V0={(a;r)->m};
6、根据LNFG中的信息,构建如图5所示的BA:I={1},Q={1,2,3,ε},F={2,3,ε},δ(2,true)={2,ε},
7、定义NFA:将BA中所有可以到达接受状态的状态定义为NFA中的接受状态,为简化这一步操作,可利用Tarjan算法求接受状态所在的强连通分量,此时一个状态只要可达接受状态所在的强连通分量,就将其定义为NFA中的接受状态。得到的NFA如图6所示。
8、对NFA确定化,可得到如图7所示的DFA:
8.1,令初始状态1为A
B
C
D
E
Smove(B,true)={2,ε}B
Smove(C,true)={2,ε}B
F
F
8.2,其中,状态B和C是不可区分的,D和F是不可区分的,因此将其合并,并依次重新编号为1,2,3,4。
9、对性质P取非,并进行等价的转化:
10、该公式是一个chop公式,因此对其添加一个fin标记以表明包含该标记的结点不能重复出现无穷多次:
11、求该逻辑公式的范式:
12、求与该范式相对于的带标记的范式图的流程如下:
12.1、初始时:
12.2、根据范式添加范式图中的边和结点的流程如下:
步骤1、首先将根节点加入到点集中,即由于结点中包含fin标记,因此,将该结点加入到L1集合中;
步骤2、由可添加结点{ε}和边
步骤3、由可添加结点{true}和边
步骤3.1、由于true的范式为ε∨○true因此可以添加边(true,true,true)和(true,true,ε);
步骤4、由可添加结点{fin(l1);r}和边
步骤4.1、由于fin(l1);r的范式为因此可以添加边(fin(l1);r,r∧l1,ε),(fin(l1);r,r∧l1,true)和(fin(l1);r,true,fin(l1);r)。
12.3、由上述的过程,可以得到图8所示的LNFG(为了方便在图中表示,对结点进行了编号):
L=L1,L1={1,3}。
13、根据LNFG中的信息,构建如图9所示的BA:
I={1},Q={1,2,3,ε},F={2,ε},δ(3,r)={3,ε},δ(3,true)={2},δ(2,true)={2,ε},δ(ε,tau)={ε}}。
14、定义NFA:将BA中所有可以到达接受状态的状态定义为NFA中的接受状态,为简化这一步操作,可利用Tarjan算法求接受状态所在的强连通分量,此时一个状态只要可达接受状态所在的强连通分量,就将其定义为NFA中的接受状态。得到的NFA如图10所示。
15、对NFA确定化,可得到如图11所示的DFA:
令初始状态1为A
B
C
Smove(B,true)={2,ε}B
Smove(C,true)={3}C
Smove(C,r)={2,ε}B
上述所得的DFA显然是最小化的,将上述的状态A,B,C分别重新编号为1,2,3。
16、将图11与图6求积并进行化简,可得到需要如图12所示的监控器,并能根据该系统运行的轨迹给出对该性质的裁决:若双方已经可以发送信息,则违背了性质非P,表明双方已经建立好友关系,则当前的执行中已经满足性质P;若一方已经发送好友请求,且得到响应,但是却不能互相发送信息,则违背了性质P;若一方发送好友请求,但是一直得不到响应,该轨迹并未违背以性质P或者非P,说明当前的执行轨迹并不能得出一个正确的裁决,无法确定当前的执行是否满足性质P。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于PPTL3的社交网络系统隐私安全运行时验证方法,其特征在于,所述基于PPTL3的社交网络系统隐私安全运行时验证方法对于待验证的性质P,用PPTL3公式来描述;然后分别将P与非P所对应的逻辑公式转化为范式,并进一步转化为范式图及带标记的范式图,根据后者可求得相应的Buchi自动机,通过改变接受集来定义一个有穷自动机并对其确定化;最终对有穷自动机求积以构造监控器;运行时验证在社交网络系统中的应用,通过PPTL3公式来描述社交网络应满足的性质,并建立相应的监控器,在系统运行的时候,进行监控以判断当前的运行是否满足该性质。
2.如权利要求1所述的基于PPTL3的社交网络系统隐私安全运行时验证方法,其特征在于,所述基于PPTL3的社交网络系统隐私安全运行时验证方法包括如下步骤:
将传统的命题投影时序逻辑扩展为三值语义逻辑PPTL3;
对于社交网络中所具有的隐私安全相关的性质P,利用PPTL3公式分别描述P与非P;
根据范式和范式图的理论,将逻辑公式分别转化为Buchi自动机;
根据Buchi自动机来定义相应的非确定有穷自动机;
利用子集法对非确定有穷状态自动机确定化;
对性质P和非P所对应的确定有穷自动机求积并化简以获取最终的监控器。
3.如权利要求2所述的基于PPTL3的社交网络系统隐私安全运行时验证方法,其特征在于,所述将传统命题投影时序逻辑扩展为三值语义逻辑PPTL3的具体流程如下:
步骤一,定义三值逻辑的值域如下:
B={true,false,inconclusive};
步骤二,在PPTL基础上,扩展语义以建立三值语义逻辑PPTL3。
4.如权利要求3所述的基于PPTL3的社交网络系统隐私安全运行时验证方法,其特征在于,若根据当前的信息确定系统当前的执行满足给定的性质,则输出结果为true;若根据当前的信息确定系统当前的执行不满足给定的性质,则输出结果为false;若无法根据当前的信息确定系统当前的执行是否满足给定的性质,则输出结果为inconclusive。
5.如权利要求2所述的基于PPTL3的社交网络系统隐私安全运行时验证方法,其特征在于,所述利用PPTL3公式描述社交网络中隐私安全相关性质的具体流程如下:
步骤一,对于社交网络中所具备的一些隐私安全相关的性质P,利用PPTL3公式来描述;
步骤二,用以描述性质的PPTL3公式通过如下语法来定义:
其中p∈Prop,P1,…,Pm和P是PPTL3合式公式,○(next)和prj(projection)是时序操作符;
步骤三,利用PPTL3公式来描述性质P的非;
步骤四,在验证的过程中,根据当前执行的所产生的信息,判断系统的当前执行是否违背了性质P或非P。
6.如权利要求2所述的基于PPTL3的社交网络系统隐私安全运行时验证方法,其特征在于,所述根据范式和范式图的理论,将逻辑公式转化为Buchi自动机的具体流程如下:
步骤一,将PPTL3公式转化为范式,其中范式的定义为,令Qp为出现在公式中的原子命题集,则公式Q的范式定义如下:
其中qjk,qih∈Qp,对于任意r属于Qp,表示r或者Qi’是不以析取为主操作符的PPTL3公式;若满足并且则Q为完全范式;
步骤二,将得到的范式转化为范式图,其中范式图的定义为,对于一个PPTL3公式P,其范式图是一个有向图G={V0,CL(P),EL(P)},其中初始结点集合V0,结点集和CL(P)和连接结点的边的集和EL(P)定义如下:
初始时,令
令对于每一个i,有Pi∈V0,Pi∈CL(P);
对于所有的Q∈CL(P)\{ε,false},如果Q重写为它的范式形式则对于任意j,1≤j≤h,有ε∈CL(P),(Q,Qej,ε)∈EL(P);对于任意i,1≤i≤k,有Qi’∈CL(P),(Q,Qci,Qi’)∈EL(P);
步骤三,对范式图添加标记以解决chop操作符左侧公式具有无穷模型的问题,引入带标记的范式图,通过给一个结点添加标记来表明该结点在环中只能重复出现有穷多次;
步骤四,定义LNFG如下:
G={CL(P),EL(P),V0,L={L1,…,Lm}};
其中CL(P),EL(P)和V0的定义与NFG中的相同,L是标记的集合;
步骤五,根据获得的LNFG构建相应的BA,A={Q,Σ,Q0,δ,F},其中Q为状态集,Σ为字母表,Q0为初始状态,δ为状态转移函数,F是可接受状态集;LNFG中的CL(P),EL(P)和V0分别对应BA中的Q,δ和Q0,而BA中的F对应的是LNFG中的ε结点和无穷多次出现的且不带标记的结点;
步骤六,对ε结点添加一个可执行的但是没有任何实际功效的自环,将其扩展为无穷模型。
7.如权利要求2所述的基于PPTL3的社交网络系统隐私安全运行时验证方法,其特征在于,所述利用Buchi自动机来定义非确定有穷自动机并进一步确定化求积的具体流程如下:
步骤一,定义判空函数E(q):Q→B(其中B={true,false}):若在BA中以状态q为开始状态且能到达接受状态集F,即该自动机以q为初始状态时识别的语言不为空,则认为E(q)的值为true;
步骤二,用线性复杂度的Tarjan算法来求BA中包含接受状态的强连通分量,从状态q开始可到达接受状态所在的强连通分量,E(q)的值即为true;
步骤三,定义非确定有穷状态自动机其中只有的定义与BA的不同,其定义为即在BA的所有状态中,只要能够到达接受状态,在NFA中就定义为接受状态;
步骤四,利用子集法分别求得性质P与非P所对应的确定化有穷状态自动机和
步骤五,对两个自动机求积,得到有穷状态自动机其中:
是从状态到三值值域的映射:Q→B3
步骤六,将自动机进行状态缩减,删除掉冗余的状态,生成最终所需的监控器M={Σ,Q,q,δ,λ};
步骤七,监控器根据当前的执行轨迹来验证当前执行是否满足待验证的性质,其中当前执行的有穷前缀u总是满足如下关系:
[u|=P]=λ(δ(q0,u))。
8.一种如权利要求1-7任意一项所述基于PPTL3的社交网络系统隐私安全运行时验证方法的社交网络系统隐私安全运行时验证系统,其特征在于,所述社交网络系统隐私安全运行时验证系统包括:
逻辑语义扩展模块,用于对传统命题投影时序逻辑的语义扩展;
性质的形式化描述模块,用于利用扩展语义的逻辑语言来描述性质;
逻辑公式到自动机的转化模块,用于将逻辑公式利用范式的理论转化为Buchi自动机;
自动机上的转化和求积操作模块,用于定义非确定有穷自动机,自动机的确定化,自动机的求积。
9.一种应用权利要求1-7任意一项所述基于PPTL3的社交网络系统隐私安全运行时验证方法的任务调度系统。
10.一种应用权利要求1-7任意一项所述基于PPTL3的社交网络系统隐私安全运行时验证方法的组合Web服务模拟系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610012054.9A CN105653935B (zh) | 2016-01-08 | 2016-01-08 | 基于pptl3的社交网络系统隐私安全运行时验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610012054.9A CN105653935B (zh) | 2016-01-08 | 2016-01-08 | 基于pptl3的社交网络系统隐私安全运行时验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653935A true CN105653935A (zh) | 2016-06-08 |
CN105653935B CN105653935B (zh) | 2018-12-18 |
Family
ID=56484170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610012054.9A Active CN105653935B (zh) | 2016-01-08 | 2016-01-08 | 基于pptl3的社交网络系统隐私安全运行时验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653935B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679400A (zh) * | 2017-08-31 | 2018-02-09 | 西安电子科技大学 | 基于源代码插桩的社交网络安全运行时验证方法及系统 |
CN108197314A (zh) * | 2018-02-01 | 2018-06-22 | 江南大学 | 一种对历史事务的建模验证方法 |
CN109522713A (zh) * | 2018-11-15 | 2019-03-26 | 桂林电子科技大学 | 一种基于Büchi自动机化简运行时验证监控器的方法 |
CN111352848A (zh) * | 2020-03-09 | 2020-06-30 | 南京航空航天大学 | 一种运行时验证中性质的可监控性概率的度量方法 |
CN111767739A (zh) * | 2020-05-26 | 2020-10-13 | 西安电子科技大学 | 一种基于pptl3的微信群在线监控方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186451A (zh) * | 2013-03-21 | 2013-07-03 | 中国人民解放军国防科学技术大学 | 一种具有故障预测能力的时序属性监控方法 |
CN104657542A (zh) * | 2015-01-27 | 2015-05-27 | 西安电子科技大学 | 一种基于MSVL的Petri网模型检测方法 |
CN104731582A (zh) * | 2015-02-13 | 2015-06-24 | 西安电子科技大学 | 一种基于msvl的社交网络系统建模及隐私策略性质验证方法 |
-
2016
- 2016-01-08 CN CN201610012054.9A patent/CN105653935B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186451A (zh) * | 2013-03-21 | 2013-07-03 | 中国人民解放军国防科学技术大学 | 一种具有故障预测能力的时序属性监控方法 |
CN104657542A (zh) * | 2015-01-27 | 2015-05-27 | 西安电子科技大学 | 一种基于MSVL的Petri网模型检测方法 |
CN104731582A (zh) * | 2015-02-13 | 2015-06-24 | 西安电子科技大学 | 一种基于msvl的社交网络系统建模及隐私策略性质验证方法 |
Non-Patent Citations (1)
Title |
---|
赵常智 等: "面向参数化LTL的预测监控器构造技术", 《软件学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679400A (zh) * | 2017-08-31 | 2018-02-09 | 西安电子科技大学 | 基于源代码插桩的社交网络安全运行时验证方法及系统 |
CN107679400B (zh) * | 2017-08-31 | 2020-09-25 | 西安电子科技大学 | 基于源代码插桩的社交网络安全运行时验证方法及系统 |
CN108197314A (zh) * | 2018-02-01 | 2018-06-22 | 江南大学 | 一种对历史事务的建模验证方法 |
CN108197314B (zh) * | 2018-02-01 | 2020-06-09 | 江南大学 | 一种对历史事务的建模验证方法 |
CN109522713A (zh) * | 2018-11-15 | 2019-03-26 | 桂林电子科技大学 | 一种基于Büchi自动机化简运行时验证监控器的方法 |
CN111352848A (zh) * | 2020-03-09 | 2020-06-30 | 南京航空航天大学 | 一种运行时验证中性质的可监控性概率的度量方法 |
CN111352848B (zh) * | 2020-03-09 | 2021-07-20 | 南京航空航天大学 | 一种运行时验证中性质的可监控性概率的度量方法 |
CN111767739A (zh) * | 2020-05-26 | 2020-10-13 | 西安电子科技大学 | 一种基于pptl3的微信群在线监控方法及系统 |
CN111767739B (zh) * | 2020-05-26 | 2024-01-23 | 西安电子科技大学 | 一种基于pptl3的微信群在线监控方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105653935B (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653935A (zh) | 基于pptl3的社交网络系统隐私安全运行时验证方法 | |
CN107783758B (zh) | 一种智能合约工程方法 | |
CN103488568B (zh) | 一种嵌入式软件可信属性建模与验证方法 | |
CN111092775A (zh) | 基于模型学习的网络协议安全测试评估方法 | |
Ma et al. | Model checking based security policy verification and validation | |
Hanna et al. | Slede: a domain-specific verification framework for sensor network security protocol implementations | |
Mittal et al. | Theory and Practice of M & S in Cyber Environments | |
Alvi et al. | A security pattern detection framework for building more secure software | |
Mo et al. | Network simplification and K-terminal reliability evaluation of sensor-cloud systems | |
CN107679400B (zh) | 基于源代码插桩的社交网络安全运行时验证方法及系统 | |
Carter et al. | Systems‐theoretic security requirements modeling for cyber‐physical systems | |
Benharrat et al. | Constraint-based oracles for timed distributed systems | |
Bhurke et al. | Methods of Formal Analysis for ICS Protocols and HART-IP CPN modelling | |
Wang et al. | Causality Based Propagation History Ranking in Social Networks. | |
Boussif et al. | A semi‐symbolic diagnoser for fault diagnosis of bounded labeled petri nets | |
Dureja et al. | Formal framework for safety, security, and availability of aircraft communication networks | |
Afzaal et al. | Formal verification of persistence and liveness in the trust-based blockchain crowdsourcing consensus protocol | |
Ye et al. | Quantitative analysis of the dynamic relevance of systems | |
Lee et al. | Verification and conformance test generation of communication protocol for railway signaling systems | |
Ahmed Khan et al. | Generating realistic IoT‐based IDS dataset centred on fuzzy qualitative modelling for cyber‐physical systems | |
Suresh Kumar et al. | Abstracting IoT protocols using timed process algebra and SPIN model checker | |
Li et al. | Test generation for web applications using model-checking | |
Rahim et al. | Recursive ECATNets‐based approach for formally verifying System Modelling Language activity diagrams | |
Zhu et al. | Mimic automata: A novel formal model for mimic computing | |
Jiao et al. | Fault Diagnosis of Simplified Fault Trees using State Transition Diagrams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |