的社交网络系统隐私安全运行时验证方法

文档序号:9888012阅读:599来源:国知局
的社交网络系统隐私安全运行时验证方法
【技术领域】
[0001] 本发明属于计算机应用技术领域,尤其涉及一种基于PPTL3的社交网络系统隐私 安全运行时验证方法。
【背景技术】
[0002] 随着计算机技术的发展,计算机软件广泛的应用于各个领域,其中社交网络 (Social Network Service/Site,SNS)已经渗透到人们生活与工作的各个方面。广义而言, SNS是一群有相同兴趣与活动的人创建的在线社区,为他们提供了快速交流、分享各种信息 的途径,给生活与工作带来了极大的方便。典型的SNS国外有Facebook、Twitter、YouTube 等,国内有微信、新浪微博、百度贴吧、QQ空间等。SNS在方便人们生活的同时,也带来了大量 的安全问题。2009年5月,Koobface蠕虫攻击Facebook,窃取用户信息并在其它SNS上传播; 2011年6月,大量新浪微博用户遭受跨站脚本攻击,自动发送微博和私信、并关注用户 hell〇Samy;2014年9月,大批好莱坞女明星照片通过iCloud泄露,其实质原因是SNS带来的 隐私泄密;2015年3月,乌云漏洞平台发布高危漏洞,显示微信红包存在设计缺陷,黑客可以 设计程序自动领取他人发送的红包;2015年9月,微信等近350款苹果APP发现Xcode "恶意后 门"可致用户私密信息泄露。为减少或者防止SNS中的不安全事件,需重点研究如何提高软 件的可靠性和安全性:测试通过设计特定的测试用例来检测程序中存在的问题,但它并不 具备完备性,且测试只能证明程序中存在问题,而不能证明程序中不存在问题;定理证明使 用数学推理的方法证明系统的正确性,但它不能做到完全的自动化;模型检测通过对模型 的状态空间进行穷尽搜索,以确认该系统模型是否具有某些性质,并且在大型的系统中,模 型检测面临着状态空间爆炸的问题。
[0003] 运行时验证(Runtime Verification,RV)是一种轻量级验证技术,它并不需要对 系统进行建模,而是在系统运行的过程中对其进行监控,监控器通常从系统需求中产生,它 根据系统运行所生成的轨迹来判断是否满足给定的性质。相较于上述的验证技术,运行时 验证技术在验证大型的响应系统时有很大的优势。相比与测试,运行时验证并不给出预期 输出结果,而是给出系统满足的性质,然后根据实际执行的结果来验证该性质;对比模型检 测,则能体现出其轻量级的特性,因为不需要对整个系统建模,而是只考虑一次实际执行中 系统所表现出的行为,因此,对于大型的系统,也不会产生状态爆炸问题;对于处理模型检 测的状态爆炸问题,还有另一种技术,on-the-fly验证技术,相对于传统的模型检测,它并 不存储完整的系统模型,而是只存储使得当前的验证程序可以执行下去的信息,其原因在 于实际的验证过程中,能用到的实时信息只是系统的很小的一部分,因此在使用on-the-fly技术时,若是系统不满足待验证的性质,往往能够在只建立了系统的一小部分模型就可 以得出结果,on-the-fly技术的优势在于它大大的缩减了空间的需求,可以更好的处理大 型系统,但是在缩减空间的同时,也会增加时间的需求,因为它虽然存储的不是完整的系统 模型,但是本质还是根据完整的系统来验证性质,所以在验证的过程中可能会有大量的回 溯,而运行时验证则不存在这些问题,因为它只是针对系统实际运行的一条路径来验证性 质。运行时验证起源于2001年,发展至今,其涉及的领域已经十分的广泛,主要的方面有形 式化验证、Web服务、恶意攻击检测、列车运行控制系统等。
[0004] Andreas Bauer等人将运行时验证应用到了线性时序逻辑(LTL)中,其整体框架 为:首先对LTL的语义进行扩充,引入了三值语义逻辑LTL 3,即在true和false之外增加了一 个不确定(inconclusive ),然后用LTL3来描述给定的性质,并将其转化为自动机,最终生成 一个监控器,监控器根据系统当前运行产生的轨迹,验证性质是否满足,并给出相应的结 果。由于描述性质的逻辑公式具有三值语义,所以生成的监控器可以保证验证的公平性和 预测性,其中公平性指监控器的裁决总是正确的,即能根据当前检测到的信息给出一个正 确的裁决,而预测性是指监控器能够发现一条无穷运行轨迹的最小好(坏)前缀,即监控器 能够尽可能早的发现问题。其大致验证过程为:对于给定性质Φ,根据被监控系统当前执行 的有穷轨迹,给出验证结果为true、false或inconclusive:对于一个有穷前缀u,若存在两 个不同的后继ω和ω '使得11?(?/)能够分别推导出(})与1(}),那么认为11| = (})的取值为 inconclusive,另一方面,如果连接任意后继,都满足性质Φ或-1 Φ,那么认为u | = Φ的取 值为 true 或 false。
[0005] AnaTempura是一个基于Tempura的工具,它可以在运行时分析时间关键系统,验证 其是否满足形式化的描述。Shikun Zhou等人提出了基于AnaTempura的运行时验证的方法: 首先将描述性质的Tempura文件加载进AnaTempura工具中,在对目标程序插入断点后进行 编译,在运行的过程中,通过断点获取到状态值,时间戳等感兴趣的信息,在解释执行 Tempura程序的时候,根据获得的信息去验证相应的性质是否满足。
[0000] 另一种基于ITL的运行时验证方法是由Helge Janicke提出来的ITLTracer,它利 用插入断点的方法从目标系统中获取关键信息,然后作为Tempura的输入生成一条轨迹用 以验证性质。变量值只在发生变化时才会被记录,从而大大的减小存储消耗,同时记录的基 本单位是划分而不是状态,也保证了变量的连续性,使得chop操作符有了更大的功效。在获 取轨迹之后,通过使用ITL公式而非Tempura程序来描述期望的性质,并生成相应的监控器 来验证性质是否满足。
[0007] 国防科大的赵常智等人在基于LTL3的运行时验证方面,做了很多的改进和发展, 实现了基于LTL3的构造监控器的工具monitor_tool,并提出了参数化LTL(parameterized LTL,PaLTL)公式运行时监控器构造方法。
[0008] 但是上述基于LTL和ITL的运行时验证方法都在形式化验证方面取得了一些成果, 但还是存在着不足之处:首先LTL的表达能力不够强,它并不具备Omega完全正则表达能力, 如"命题变元P在一个状态序列的所有偶数状态上为真"就无法用LTL表达;而基于ITL的运 行时验证工具均为原型系统,并未得到广泛的应用。

【发明内容】

[0009] 本发明的目的在于提供一种基于PPTL3的社交网络系统隐私安全运行时验证方 法,旨在提出一种基于PPTL3的运行时验证方法,通过表达能力更强的PPTL 3公式来描述系统 应满足的性质,建立相应的监控器,在系统运行的过程中对其实时监控,并能根据当前运行 状况输出对该性质的验证结果。
[0010] 本发明是这样实现的,一种基于PPTL3的社交网络系统隐私安全运行时验证方法, 所述基于PPTL3的社交网络系统隐私安全运行时验证方法对于待验证的性质P,用PPTL3公式 来描述;然后分别将P与非P所对应的逻辑公式转化为范式,并进一步转化为范式图及带标 记的范式图,根据后者可求得相应的Buchi自动机,通过改变接受集来定义一个有穷自动机 并对其确定化;最终对有穷自动机求积以构造监控器;运行时验证在社交网络系统中的应 用,通过PPTL 3公式来描述社交网络应满足的性质,并建立相应的监控器,在系统运行的时 候,进行监控以判断当前的运行是否满足该性质。由于只验证运行过程中的表现出的行为 是否满足给定的性质,大大缩减了在验证过程中对状态空间的需求,同时也提高了验证效 率,只要当前执行过程中的轨迹信息违背了给定的性质,就可以给出验证结果,不需要考虑 系统在后面执行中的状态。
[0011] 进一步,所述基于PPTL3的社交网络系统隐私安全运行时验证方法包括如下步骤:
[0012] 将传统的命题投影时序逻辑扩展为三值语义逻辑PPTL3;
[0013]对于社交网络中所具有的隐私安全相关的性质P,利用PPTL3公式分别描述P与非 P;
[0014] 根据范式和范式图的理论,将逻辑公式分别转化为Buchi自动机;
[0015] 根据Buchi自动机来定义相应的非确定有穷自动机;
[0016] 利用子集法对非确定有穷状态自动机确定化;
[0017] 对性质P和非P所对应的确定有穷自动机求积并化简以获取最终的监控器。
[0018] 进一步,所述将传统命题投影时序逻辑扩展为三值语义逻辑PPTL3的具体流程如 下:
[0019]步骤一,定义三值逻辑的值域如下:
[0020] B= {true,false, inconclusive};
[0021] 步骤二,在PPTL基础上,扩展语义以建立三值语义逻辑PPTL3;
[00
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1