CN107679400A - 基于源代码插桩的社交网络安全运行时验证方法及系统 - Google Patents
基于源代码插桩的社交网络安全运行时验证方法及系统 Download PDFInfo
- Publication number
- CN107679400A CN107679400A CN201710772215.9A CN201710772215A CN107679400A CN 107679400 A CN107679400 A CN 107679400A CN 201710772215 A CN201710772215 A CN 201710772215A CN 107679400 A CN107679400 A CN 107679400A
- Authority
- CN
- China
- Prior art keywords
- social networks
- property
- pitching pile
- source code
- monitoring module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012795 verification Methods 0.000 title claims abstract description 31
- 238000012544 monitoring process Methods 0.000 claims abstract description 82
- 230000000875 corresponding effect Effects 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims description 45
- 230000009471 action Effects 0.000 claims description 22
- 230000014509 gene expression Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 2
- 238000007689 inspection Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000004880 explosion Methods 0.000 abstract description 7
- 238000001514 detection method Methods 0.000 abstract description 6
- 244000097202 Rathbunia alamosensis Species 0.000 description 4
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
- G06F21/54—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 by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Computing Systems (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于计算机应用技术领域,公开了一种基于源代码插桩的社交网络安全运行时验证方法及系统,通过对开源社交网络进行代码插桩来捕获事件,用PPTL3来描述性质并生成相应的性质监控模块,然后将事件和性质监控模块输入运行时监控器,运行时监控器自动的监控开源社交网络的运行是否符合给定的性质,并可以在社交网络不满足性质时给出监控信息,避免了模型检测状态空间爆炸的问题,也不需要复杂的定理证明,而且具有良好的实时性。本发明在不影响社交网络正常运行的前提下进行代码的插桩,以此实时的捕获关注的事件并验证性质,解决在大型开源社交网络中,传统模型检测方法的状态爆炸和不具备实时性的问题。
Description
技术领域
本发明属于计算机应用技术领域,尤其涉及一种基于源代码插桩的社交网络安全运行时验证方法及系统。
背景技术
近年来,随着互联网的飞速发展,社交网络(Social Network,SN)已经进入大多数人的生活之中。SN旨在帮助人们建立社会性网络的互联网应用服务,由代表不同的人或群体组成。SN作为虚拟的社交媒介,提供了一种快速交流和共享信息的途径,为生活和工作带来了极大的便利。国内典型的SN有百度贴吧、开心网、人人网、新浪微博、微信等,国外有Facebook、YouTube、Twitter、Tumblr、LinkedIn等。这些SN的用户群体都有资料页面,也在SN中分享大量信息包括文字、图片、视频等,以新浪微博为例,新浪微博的“账号设置”一栏,“昵称”、“所在地”、“性别”这三个必填信息都不能设置查看权限。再比如新浪微博官方客户端有分享地理位置的功能,如果用户经常用它签到,那么个人行踪很可能被用心不良者掌握。因此,安全是SN中不可忽视的问题,为了减少类似事件发生,需要提高SN系统的正确性和可靠性,传统的方法有三种方法:测试、定理证明和模型检测。测试只能通过测试用例来证明程序中存在问题,而不能证明其不存在问题;定理证明需使用数学推理的方式证明系统的正确性,较为繁琐;模型检测则对软件进行建模,使用自动验证技术搜索模型的状态空间来判断系统是否具备某些性质,两者都不具备实时性,而且对于复杂的SN系统,建模面临着状态空间爆炸的问题。运行时验证是一种轻量级验证技术,运行时验证技术通过监控系统运行时的行为,来判断系统的行为是否违背某些性质,一旦系统的行为违背性质,监控器能立即给出警告。运行时验证同样需要使用形式化的方法对性质进行描述,例如LTL3(Three-Valued Linear Temporal Logic),FSM(Finite State Machine),PPTL3(Three-Valued Propositional Projection Temporal Logic)等。运行时验证只关注系统当前的执行路径产生的信息,不需要对整个系统进行建模,可以避免定理证明和模型检测产生的问题。运行时验证技术从诞生至今已应用与各个领域,如恶意攻击检测,列车运行控制系统,C语言内存溢出检测,网络协议检测等。开源社交网络是社交网络开放源代码的版本,比较著名的有Elgg、DolphinSNS、ThinkSNS等,其功能比实际流行的社交网络相比要精简许多,但优点在于源代码易获取,易扩展,对其进行验证分析的方法同样也适用于当前流行的社交网络。若采用传统的模型检测对开源社交网络进行验证分析,由于模型检测是基于对状态空间的穷举,系统所对应的状态数会随着系统的大小成指数级增长,而社交网络系统功能多,代码量大,必然存在状态空间爆炸的问题,建模显得十分不方便。同时,若采用模型检测的方法,模型和实际社交网络系统是分离的,模型并不能反映社交网络的实际行为,即不具备实时性。而基于代码插桩的运行时验证方法很好的解决了上述两个问题,能够实时的验证复杂社交网络系统。
综上所述,现有技术存在的问题是:采用传统的模型检测对开源社交网络进行验证分析,由于开源社交网络系统功能多,代码量大,必然存在状态空间爆炸的问题,且不具备实时性。
发明内容
针对现有技术存在的问题,本发明提供了一种基于源代码插桩的社交网络安全运行时验证方法及系统。
本发明是这样实现的,一种基于源代码插桩的社交网络安全运行时验证方法,所述基于源代码插桩的社交网络安全运行时验证方法通过对开源社交网络进行代码插桩来捕获事件,用PPTL3公式描述性质并生成相应的性质监控模块,然后将事件和性质监控模块输入运行时监控器,通过运行时监控器自动的实时监控开源社交网络的运行是否符合给定的性质。
进一步,所述基于源代码插桩的社交网络安全运行时验证方法包括以下步骤:
步骤一,根据性质生成性质监控模块;
步骤二,对开源社交网络进行源代码插桩,以捕获事件和发送事件;
步骤三,实现运行时监控器,并在运行时监控器中监控步骤二中所述开源社交网络的运行过程是否满足性质监控模块。
进一步,所述步骤一需确定待验证的开源社交网络中的性质,并采用PPTL3公式P描述这些性质,使用PPTL3监控模块生成器将公式P转换为有限状态自动机(性质监控模块)。
进一步,所述步骤二中进行源代码插桩的方法包括:确定开源社交网络中与待验证的性质相关的事件,并定位这些事件在源代码中对应的位置,接着将捕获事件和发送事件的桩代码插入开源社交网络源代码的正确位置,具体为:
定义一个字符串来存储捕获的事件,字符串的格式为:“action:name={$user->name};time={$action_time};flag={$action_flag};”。action表示用户的操作或者内容的提交,name表示触发这次action的用户主体,time表示action触发的时间,flag表示action触发是否成功,flag有两个值,0表示失败,1表示成功,上述字符串即为一个完整的事件;
定义通信函数send_rv_data:用来发送捕获的事件,send_rv_data函数使用socket与运行时监控器的接收服务器通信。
进一步,所述运行时监控器是一个Java应用程序,具体为:
定义类Edge:用于描述性质监控模块中的边;
定义类MonitorSNSTrace:用于完成运行时验证的主类,下面是其中主要函数的定义及功能:
定义函数readGraph:用于从文件中读取性质监控模块的边以及节点信息;
定义函数RVServer:用于接收从桩代码发来的数据;
定义函数getSingleTrace:用于分析从桩代码接收到数据,并根据数据计算原子命题的值,然后将原子命题组合起来;
定义函数matchEdgeWithProperties:判断当前已经赋值的原子命题的组合是否满足性质监控模块的边上信息;
定义函数verificationSingle:监控原子命题的组合输入后性质监控模块的状态变化;
定义函数monitor:监控性质以及输出监控结果。
进一步,所述运行时监控器对开源社交网络监控的方法具体包括:运行时监控器接收从桩代码发来的事件,并根据事件给性质中的每个原子命题赋值,并将已经赋值的原子命题作为性质监控模块的输入,根据已经赋值的原子命题得到性质监控模块的下一个节点,通过性质监控模块的状态来判断社交网络是否满足给定性质。
本发明的另一目的在于提供一种所述基于源代码插桩的社交网络安全运行时验证方法的基于源代码插桩社交网络安全运行时验证系统,所述基于源代码插桩社交网络安全运行时验证系统包括:
性质监控生成模块,意义根据性质生成性质监控模块;
插桩模块,用于对开源社交网络进行源代码插桩,以捕获事件和发送事件;
运行判断模块,用于实现运行时监控器,并在运行时监控器中监控开源社交网络的运行过程是否满足性质监控模块。
本发明的另一目的在于提供一种应用所述基于源代码插桩的社交网络安全运行时验证方法的社交网络。
本发明的优点及积极效果为:通过对开源社交网络进行代码插桩来捕获事件,用PPTL3来描述性质并生成相应的性质监控模块,然后将事件和性质监控模块输入运行时监控器,运行时监控器自动的监控开源社交网络的运行是否符合给定的性质,并可以在社交网络不满足性质时给出监控信息,避免了模型检测状态空间爆炸的问题,也不需要复杂的定理证明,而且具有良好的实时性。
附图说明
图1是本发明实施例提供的基于源代码插桩的社交网络安全运行时验证方法流程图。
图2是本发明实施例提供的基于源代码插桩的社交网络安全运行时验证方法的实现流程示意图。
图3是本发明实施例提供的运行时监控器中保存事件数据的Map数据结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明在不影响社交网络正常运行的前提下进行代码的插桩,以此实时的捕获关注的事件并验证性质,解决在大型开源社交网络中,传统模型检测方法的状态爆炸和不具备实时性的问题。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于源代码插桩的社交网络安全运行时验证方法包括以下步骤:
S101:根据性质生成相应的性质监控模块,性质可以是社交网站自身的性质,也可以是用户定义的性质;
S102:对开源的社交网络进行分析后,在与性质有关事件的位置进行源代码插桩来捕获事件和发送事件;
S103:用Java实现运行时监控器,将S101中得到的性质监控模块和S102中得到的事件作为运行时监控器的输入,实时的监控社交网络是否满足性质。
下面结合附图对本发明的应用原理作进一步的描述。
本发明通过对开源社交网络进行代码插桩来捕获事件,用PPTL3来描述性质并生成相应的性质监控模块,然后将事件和性质监控模块输入运行时监控器,通过运行时监控器自动的实时监控开源社交网络的运行是否符合给定的性质。
根据图2所示,本发明实施例的基于源代码插桩的开源社交网络安全运行时验证方法具体包括:
(1)生成性质监控模块的过程:首先确定关心的性质,然后采用PPTL3公式P来描述性质:PPTL3公式P的确定需要根据待验证的性质来定义命题,然后将命题按照逻辑关系组合成相应的PPTL3公式。最后将PPTL3公式输入PPTL3监控模块生成器经转换得到有限状态自动机,也就是性质监控模块,并将自动机的边和节点信息存入文件,以便步骤S103中运行时监控器来读取。
PPTL3表示三值语义的PPTL(Propositional Projection Temporal Logic),PPTL3仅将PPTL的值域扩展为B={true,false,inconclusive},PPTL3语法定义与PPTL相同,PPTL公式p的语法定义如下:
其中π是原子命题,p1,...pm和p都是定义良好的PPTL公式。○(next)和prj(projection)是基本的时序操作符。连接符∨和→的定义和经典逻辑中的定义相同,特别地,对于任意公式p有和PPTL中一些常用的导出公式定义如下:
PPTL3监控模块生成器是一个Java应用程序,用于将输入的PPTL3公式自动转换为有限状态自动机,也就是性质监控模块。PPTL3监控模块生成器界面上方的编辑框用于输入待验证的性质,然后点击右侧的“生成监控模块”按钮即可根据输入的性质自动生成对应的性质监控模块。界面左下方是状态转移图,图中有三种节点类型:标有TRUE和FALSE节点表示若根据系统的运行时的事件序列转移到该状态,则当前的验证结果是true或false,而标有数字的节点则表示当前状态下还不能准确的判断性质是否满足,而需要更多信息,此时验证结果为inconclusive。界面右下方显示的是性质监控模块中每条转移边上的信息,该信息保存于monitor_Info.txt文件中。
(2)对开源的社交网络进行源代码插桩的具体方法为:先根据上述PPTL3公式P中所定义的原子命题来确定社交网络中的对应事件,并定位事件在源代码中的位置,接着将捕获事件发送事件的桩代码插入对应的位置。具体为:
在社交网络源代码的对应位置定义一个字符串来存储捕获的事件,该字符串可在在不同的源代码文件中定义多个,表示捕获不同的事件,字符串的格式定义:“action:name={$user->name};time={$action_time};flag={$action_flag};”。action表示用户的操作或者内容的提交,name表示触发这次action的用户主体,time表示action触发的时间,flag表示action触发是否成功,flag有两个值,0表示失败,1表示成功。比如有下面的字符串:
joingroup:name=alice;time=1501920731;flag=1;
该字符串表示的意思:joingroup表示发生的动作是加入小组;name=alice表示用户alice是触发该动作的主体;time=1501920731表示动作发生的时刻为1501920731(时间戳);flag=1表示动作触发成功,即alice加入小组成功。
定义通信函数send_rv_data:用来发送捕获的事件,即上述定义的字符串,send_rv_data函数使用socket向运行时监控器的接收服务器发送数据。
(3)运行时监控器是一个Java应用程序,用于接收桩代码发来的数据并分析数据生成相应原子命题的组合,并判断原子命题的组合是否满足(1)中得到的性质监控模块,具体为:
定义类Edge:用于描述性质监控模块中的边;
定义类MonitorSNTrace:用于完成运行时验证的主类,下面是其中主要函数的定义及功能:
定义函数readGraph:用于从文件中读取性质监控模块的边以及节点信息,运行时监控器执行时调用它来读取监控模块信息;
定义函数RVServer:通过socket与桩代码通信,用于接收从桩代码发来的数据;
定义函数getSingleTrace:用于分析从桩代码接收到数据,将数据处理保存于Map中,方便计算原子命题的值,然后将原子命题组合起来;
定义函数matchEdgeWithProperties:判断当前原子命题的组合是否满足性质监控模块的边上信息;
定义函数verificationSingle:监控原子命题的组合输入后性质监控模块的状态变化;
定义函数monitor:将函数getSingleTrace的返回值和作为输入,并在其中调用函数verificationSingle监控原子命题的组合,根据其返回值输出监控结果。
运行时监控器对开源社交网络监控的方法具体包括:首先运行时监控器通过调用RVServer函数接收到从桩代码发来的数据,然后将数据传递给getSingleTrace函数处理,根据处理后的数据给待验证的性质中的每个原子命题赋值,并将这些已经赋值的原子命题组合起来,接着在verificationSingle函数中调用matchEdgeWithProperties函数来判断当前原子命题的组合是否满足性质监控模块边上的信息,并监控原子命题的组合输入后整个性质监控模块的状态变化,即判断系统的运行是否满足给定性质,具体包括:
a)如果性质监控模块到达TRUE节点,则说明给定性质成立,返回true,即满足性质,停止对开源社交网络的监控;
b)如果性质监控模块到达FALSE节点,则说明给定性质不成立,返回false,即违背性质,停止对开源社交网络的监控;
c)对于性质监控模块的其他节点,则说明当前还无法判断给定性质是否成立,如果还有剩余的事件到达,则返回RVServer函数接收数据的步骤,否则返回inconclusive,并结束。
下面结合具体实施例对本发明的应用原理作进一步的描述。
1、开源社交网络的选取:本实施例选取开源社交网络Elgg。Elgg是一款免费开源的社交网络程序,基于PHP+Mysql开发,拥有众多的自定义插件,且易于扩展。
2、性质监控模块的生成:安装Elgg源码并部署使用,发现Elgg也拥有大部分社交网络都有的群组(Group)功能,即拥有相同兴趣爱好的人可以加入同一个兴趣群组,在里面分享讨论。而群组一定是先创建后加入,若加入一个不存在的群组,则违反了社交网络的性质。
用形式化的符号描述上述性质:
p(creatgroup)表示用户B创建群组;
q(jiongroup)表示用户A加入该群组;
利用PPTL3公式描述上述的性质,描述性质的公式为□!q;p,符号!表示逻辑运算符符号□(always)和符号;(chop)为时序操作符,例如□s表示s总是为真,s;t成立表示状态区间被分为两个子区间,s在前一个上成立,t在后一个上成立。所以该公式表示的意思是群组创建之前不能够加入。
然后将□!q;p输入PPTL3监控模块生成器,得到有限状态自动机(性质监控模块),自动机边和节点信息即保存于monitor_Info.txt文件中。
3、通过2的分析可知,该性质核心的事件为创建群组和加入群组,因此,在分析社交网络源代码后,定位源代码中groups模块中的action文件夹,其中的edit.php(elgg\mod\groups\actions\groups\)控制群组的创建和群组的编辑以及子目录membership中的join.php(elgg\mod\groups\actions\groups\membership)则控制加入群组这一事件,两者就是需要进行代码插桩的文件。在edit.php的源代码起始位置插入如下代码,其中elgg_get_logged_in_user_entity()为Elgg内核中的函数,其作用为获取当前登录的用户,可以直接调用:
$user=elgg_get_logged_in_user_entity();
$create_flag=0;
在源代码创建群组成功后的位置,插入如下代码:
4、运行时监控器中用于接收桩代码数据的RVServer函数代码为:
该函数在接收到桩代码发来的数据后,通过monitor(getSingleTrace(msg),Integer.valueOf(PropNum))来对读取monitor_Info.txt中性质监控模块的信息,并验证函数getSingleTrace处理后的数据是否满足性质监控模块,并给出监控信息,其具体代码为:
5、进一步,执行运行时监控器程序,接收服务器开启并等待接收数据。接下来,在开源社交网络Elgg中模拟2中描述的情景:注册两个用户alice和bob,并通过用户bob创建群组Bob’s Group,然后登录用户alice并加入该群组。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于源代码插桩的社交网络安全运行时验证方法,其特征在于,所述基于源代码插桩的社交网络安全运行时验证方法通过对开源社交网络进行代码插桩来捕获事件,用PPTL3描述性质并生成相应的性质监控模块,然后将事件和性质监控模块输入运行时监控器,通过运行时监控器自动的实时监控开源社交网络的运行是否符合给定的性质。
2.如权利要求1所述的基于源代码插桩的社交网络安全运行时验证方法,其特征在于,所述基于源代码插桩的社交网络安全运行时验证方法包括以下步骤:
步骤一,根据性质生成性质监控模块;
步骤二,对开源社交网络进行源代码插桩,以捕获事件和发送事件;
步骤三,实现运行时监控器,并在运行时监控器中监控步骤二中所述开源社交网络的运行过程是否满足性质监控模块。
3.如权利要求2所述的基于源代码插桩的社交网络安全运行时验证方法,其特征在于,所述步骤一需确定待验证的开源社交网络中的性质,并采用PPTL3公式P描述性质,使用PPTL3监控模块生成器将公式P转换为有限状态自动机。
4.如权利要求2所述的基于源代码插桩的社交网络安全运行时验证方法,其特征在于,所述步骤二中进行源代码插桩的方法包括:确定开源社交网络中与待验证的性质相关的事件,并定位这些事件在源代码中对应的位置,接着将捕获事件和发送事件的桩代码插入开源社交网络源代码的正确位置,具体为:
定义一个字符串来存储捕获的事件,字符串的格式为:“action:name={$user->name};time={$action_time};flag={$action_flag};”;action表示用户的操作或者内容的提交,name表示触发这次action的用户主体,time表示action触发的时间,flag表示action触发是否成功,flag有两个值,0表示失败,1表示成功,上述字符串即为一个完整的事件;
定义通信函数send_rv_data:用来发送捕获的事件,send_rv_data函数使用socket与运行时监控器的接收服务器通信。
5.如权利要求2所述的基于源代码插桩的社交网络安全运行时验证方法,其特征在于,所述运行时监控器是一个Java应用程序,具体为:
定义类Edge:用于描述性质监控模块中的边;
定义类MonitorSNSTrace:用于完成运行时验证的主类,下面是其中主要函数的定义及功能:
定义函数readGraph:用于从文件中读取性质监控模块的边以及节点信息;
定义函数RVServer:用于接收从桩代码发来的数据;
定义函数getSingleTrace:用于分析从桩代码接收到数据,并根据数据计算原子命题的值,然后将原子命题组合起来;
定义函数matchEdgeWithProperties:判断当前原子命题的组合是否满足性质监控模块的边上信息;
定义函数verificationSingle:监控原子命题的组合输入后性质监控模块的状态变化;
定义函数monitor:监控性质以及输出监控结果。
6.如权利要求2所述的基于源代码插桩的社交网络安全运行时验证方法,其特征在于,所述运行时监控器对开源社交网络监控的方法具体包括:运行时监控器接收从桩代码发来的事件,并根据事件给性质中的每个原子命题赋值,并将已经赋值的原子命题作为性质监控模块的输入,根据这些原子命题得到性质监控模块的下一个节点,通过性质监控模块的状态来判断社交网络是否满足给定性质。
7.一种如权利要求1所述基于源代码插桩的社交网络安全运行时验证方法的基于源代码插桩社交网络安全运行时验证系统,其特征在于,所述基于源代码插桩社交网络安全运行时验证系统包括:
性质监控生成模块,用于根据性质生成性质监控模块;
插桩模块,用于对开源社交网络进行源代码插桩,以捕获事件和发送事件;
运行判断模块,用于实现运行时监控器,并在运行时监控器中监控开源社交网络的运行过程是否满足性质监控模块。
8.一种应用权利要求1~6任意一项所述基于源代码插桩的社交网络安全运行时验证方法的社交网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710772215.9A CN107679400B (zh) | 2017-08-31 | 2017-08-31 | 基于源代码插桩的社交网络安全运行时验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710772215.9A CN107679400B (zh) | 2017-08-31 | 2017-08-31 | 基于源代码插桩的社交网络安全运行时验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107679400A true CN107679400A (zh) | 2018-02-09 |
CN107679400B CN107679400B (zh) | 2020-09-25 |
Family
ID=61134799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710772215.9A Active CN107679400B (zh) | 2017-08-31 | 2017-08-31 | 基于源代码插桩的社交网络安全运行时验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107679400B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767739A (zh) * | 2020-05-26 | 2020-10-13 | 西安电子科技大学 | 一种基于pptl3的微信群在线监控方法及系统 |
CN113778860A (zh) * | 2021-08-16 | 2021-12-10 | 北京仿真中心 | 基于模型检测的系统运行时验证方法、系统和计算机设备 |
CN115904937A (zh) * | 2022-10-24 | 2023-04-04 | 青岛丰拓力行科技服务有限公司 | 一种基于人工智能与物联网的可视化编程工具系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053906A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于收集程序运行时信息的系统和方法 |
CN103049504A (zh) * | 2012-12-11 | 2013-04-17 | 南京大学 | 基于源代码查询的半自动插桩方法 |
CN104731582A (zh) * | 2015-02-13 | 2015-06-24 | 西安电子科技大学 | 一种基于msvl的社交网络系统建模及隐私策略性质验证方法 |
CN105653935A (zh) * | 2016-01-08 | 2016-06-08 | 西安电子科技大学 | 基于pptl3的社交网络系统隐私安全运行时验证方法 |
-
2017
- 2017-08-31 CN CN201710772215.9A patent/CN107679400B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053906A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于收集程序运行时信息的系统和方法 |
CN103049504A (zh) * | 2012-12-11 | 2013-04-17 | 南京大学 | 基于源代码查询的半自动插桩方法 |
CN104731582A (zh) * | 2015-02-13 | 2015-06-24 | 西安电子科技大学 | 一种基于msvl的社交网络系统建模及隐私策略性质验证方法 |
CN105653935A (zh) * | 2016-01-08 | 2016-06-08 | 西安电子科技大学 | 基于pptl3的社交网络系统隐私安全运行时验证方法 |
Non-Patent Citations (2)
Title |
---|
XIAOBING WANG,ET AL: "Runtime Verification Monitor Construction for Three-valued PPTL", <STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD:6TH INTERNATIONAL WORKSHOP> * |
朱云龙: "C程序运行时监控和验证的插桩方法研究与应用", <中国优秀硕士学位论文全文数据库信息科技辑(月刊)> * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767739A (zh) * | 2020-05-26 | 2020-10-13 | 西安电子科技大学 | 一种基于pptl3的微信群在线监控方法及系统 |
CN111767739B (zh) * | 2020-05-26 | 2024-01-23 | 西安电子科技大学 | 一种基于pptl3的微信群在线监控方法及系统 |
CN113778860A (zh) * | 2021-08-16 | 2021-12-10 | 北京仿真中心 | 基于模型检测的系统运行时验证方法、系统和计算机设备 |
CN113778860B (zh) * | 2021-08-16 | 2023-11-28 | 北京仿真中心 | 基于模型检测的系统运行时验证方法、系统和计算机设备 |
CN115904937A (zh) * | 2022-10-24 | 2023-04-04 | 青岛丰拓力行科技服务有限公司 | 一种基于人工智能与物联网的可视化编程工具系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107679400B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gupta et al. | PHP-sensor: a prototype method to discover workflow violation and XSS vulnerabilities in PHP web applications | |
Ryan | Mathematical models of computer security | |
Rasool et al. | Multi-label fake news detection using multi-layered supervised learning | |
CN110298421A (zh) | 一种二维码的在线生成、离线生成和验证方法及装置 | |
CN107113183A (zh) | 大数据的受控共享的系统和方法 | |
CN105653935B (zh) | 基于pptl3的社交网络系统隐私安全运行时验证方法 | |
CN107679400A (zh) | 基于源代码插桩的社交网络安全运行时验证方法及系统 | |
Ma et al. | Model checking based security policy verification and validation | |
CN110460617A (zh) | 机考考试系统及相关产品 | |
Xia et al. | Characterizing and detecting malicious accounts in privacy-centric mobile social networks: A case study | |
Elyusufi et al. | Social networks fake profiles detection based on account setting and activity | |
CN111767739B (zh) | 一种基于pptl3的微信群在线监控方法及系统 | |
Jaafor et al. | Multi-layered graph-based model for social engineering vulnerability assessment | |
Karabiyik et al. | A survey of social network forensics | |
Ouchani et al. | Model-based systems security quantification | |
CN112364286A (zh) | 基于ueba进行异常侦测的方法、装置及相关产品 | |
CN114500347B (zh) | 一种对安全互联协议进行形式化验证的方法和系统 | |
Ahmed Khan et al. | Generating realistic IoT‐based IDS dataset centred on fuzzy qualitative modelling for cyber‐physical systems | |
Ceolin et al. | Calculating the Trust of Event Descriptions using Provenance. | |
Laibinis et al. | A formal approach to identifying security vulnerabilities in telecommunication networks | |
Huget | Model checking agent UML protocol diagrams | |
Madhusudan | On a text-processing approach to facilitating autonomous deception detection | |
Kurkowski et al. | Using backward induction techniques in (timed) security protocols verification | |
Hafaiedh | Formal models for the verification, performance evaluation, and comparison of IoT communication protocols | |
Ciortea et al. | Designing privacy-aware social networks: A multi-agent approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |