发明内容
技术问题:本发明提出一种智能电网分布式网络协议安全性检测方法,利用模型检验工具对智能电网分布式网络协议安全性进行检测,并对其进行改进。本发明提出的检测方法,将智能电网分布式网络协议主体分为客户端、服务器端及设备端三部分,并对每一部分进行建模,引进攻击者模型分析可能出现的漏洞及威胁,为智能电网分布式网络协议安全性检测提供了一种新的思路。
技术方案:本发明所述的智能电网分布式网络协议安全性检测方法,首先用时间自动机所组成的状态迁移系统分别表示智能电网分布式网络协议中的客户端、服务器端及设备端三部分;然后用模态/时序逻辑公式表示分布式网络协议安全性所需满足的条件,将对智能电网分布式网络协议安全性的检测转化为检测状态迁移系统是否为公式的一个模型;接着添加一个通用的攻击者模型,对分布式网络协议安全性进行检测,如果存在不符合性质的反例,通过模型检验工具的反跟踪特性设计出检测者模型,检测者模型可以指出可能发生不符合安全性质的情况并在发生时进行警告以改进分布式网络协议安全性。
本发明所述的智能电网分布式网络协议安全性检测方法中,将智能电网分布式网络协议主体分为客户端、服务器端及设备端三部分,各部分状态包括初始空闲状态、等待状态、终止状态和有限个非初始空闲状态。本发明所述的检测方法中攻击者模型并不局限于特定的攻击方式,攻击者可以不受限制地发送请求来进行攻击。
本发明所述的智能电网分布式网络协议安全性检测方法包括以下步骤:
步骤1)对分布式网络协议建立基于时间自动机的状态迁移系统及检测
将分布式网络协议主体分为客户端、服务器端以及设备端三部分,为智能电网分布式网络协议的客户端、服务器端、设备端分别建立基于时间自动机的状态迁移系统;所述时间自动机是在有限状态自动机的基础上添加了时钟约束,可以看作实时系统进程的抽象模型,被广泛应用于实时系统的建模和分析;所述状态迁移系统是将系统抽象为一个有穷状态模型,用时间自动机表示系统的迁移结构;
步骤11)对分布式网络协议客户端建立状态迁移系统
步骤111)创建分布式网络协议客户端的基本状态,包括初始空闲状态、等待状态、发送状态、等待应答状态、终止状态、结束状态和有限个非初始空闲状态;在初始空闲状态设立一个状态标志位,记为A,设立一个时钟变量Ta,设立一个传输次数计数器Ca;
步骤112)协议开始执行,客户端由初始空闲状态进入等待状态;
步骤113)客户端在等待状态时收到开始传输数据的信号时,从等待状态进入发送状态,此时,当传输次数计数器Ca的数值大于用户指定的最大允许传输次数Cmax,则进入终止状态,转到第二步进行新一轮的执行;否则,继续执行下一步;
步骤114)客户端在发送数据后进入等待应答状态,此时,当时钟变量Ta的数值超过用户指定的最大允许响应时间Tmax,则进入终止状态,转到第二步进行新一轮的执行;否则,当接收到“否”的响应消息,表明服务器端没有接收到传输的数据,则传输次数计数器Ca的数值加1,转到第三步继续执行,当接受到“是”的响应消息,服务器端确认接收到传输的数据,继续执行下一步;
步骤115)协议执行完毕,客户端再次进入初始空闲状态;
步骤12)对分布式网络协议服务器端建立状态迁移系统
步骤121)创建分布式网络协议服务器端的基本状态,包括初始空闲状态、等待状态、接收状态、确认状态和有限个非初始空闲状态,在服务器端的初始空闲状态设立一个状态标志位,记为B;
步骤122)协议开始执行,接收方由初始空闲状态进入等待状态,等待接收客户端的消息;
步骤123)服务器端接收到客户端发出的消息,由等待状态进入接收状态,确认是否为所需传输的消息,如果是,发送确认消息Y,如果不是,发送确认消息N;
步骤124)协议执行完毕,服务器端再次进入初始空闲状态;
步骤13)对分布式网络协议设备端建立状态迁移系统,设备端在接收到相应的消息后,根据消息选择服务进行操作,将设备的接收消息及响应过程通过状态迁移系统表示出来;
步骤14)对分布式网络协议性质进行检测
步骤141)对建立的分布式网络协议模型的正确性进行检测,检测所建立的分布式网络协议模型是否正确,是否满足协议本身的相关性质,具体操作过程为:首先通过时序逻辑公式表示进行模型正确性检测时需要满足的性质,然后对建立模型的状态空间进行搜索,检测是否满足性质;
步骤142)对建立的分布式网络协议模型安全性进行检测,具体操作过程为:首先通过时序逻辑公式表示进行安全性检测时需要满足的相关性质,然后对建立模型的状态空间进行搜索,检测分布式网络协议在没有任何攻击者时是否满足安全性相关的性质,如果满足相关的性质,则进入步骤2);如果存在不符合的情况,则进入步骤3);
步骤2)建立攻击者模型并对分布式网络协议的安全性进行检测
对分布式网络协议的安全性进行检测,具体操作过程为:首先通过时序逻辑公式表示进行协议安全性检测时需要满足的相关性质,然后建立攻击者模型,对攻击者模型的状态空间进行搜索,检测协议在有攻击者时是否满足安全性相关的性质;如果满足相关的性质,则表明分布式网络协议安全,将结果返回给用户;如果存在反例,则继续进行步骤3);所述攻击者模型是模拟外界对系统进行攻击的模型;
步骤3)建立检测者模型并对分布式网络协议安全性进行改进
当在步骤1)或者步骤2)中发现不满足安全性的实例,通过模型检验工具的反跟踪特性设计出检测者模型,检测者模型指出发生不符合安全性质的情况,用户根据不符合安全性质的情况对分布式网络协议的漏洞及威胁进行改进,再一次重复前步骤1)和步骤2的检测过程,直到分布式网络协议安全性符合要求。所述检测者模型是通过模型检验工具对发现的不安全实例进行反向推导,利用工具分析问题产生的可能情况来建立模型。
有益效果:本发明所述的智能电网分布式网络协议安全性检测方法,将智能电网分布式网络协议用时间自动机组成的状态迁移系统表示,用时序逻辑公式表示智能电网分布式网络协议安全性所需满足的条件,在没有攻击者的情况下对分布式网络协议安全性进行检测。在引入攻击者后,再次对分布式网络协议安全性进行检测。在检测时发现安全性问题后通过引入的检测者模型对可能会产生安全性问题的情况进行检测并改进,从而提高分布式网络协议安全性。具体来说,本发明所述的方法具有如下的有益效果:
(1)本发明提供了一种智能电网分布式网络协议安全性检测方法。
(2)本发明所述检测方法将智能电网分布式网络协议主体分为客户端,服务器端,设备端三部分,引入了攻击者,检测者,分别对以上各部分进行建模。
(3)本发明所述检测方法建模过程中对智能电网的特性进行了充分的考虑,将其特点在模型中显示出来。
(4)本发明所述检测方法中对攻击者的建模不局限于某种特定的攻击,而是针对一般攻击都可以适用。
具体实施方式
下面对本发明附图的某些实施例作更详细的描述。
根据图1,本发明建立在模型检验技术的基础上,具体实施方式为:
1、对分布式网络协议建立基于时间自动机的状态迁移系统及检测
本发明所述的检测方法将智能电网分布式网络协议抽象成一个有穷状态机迁移系统,将分布式网络协议主体分为客户端、服务器端以及设备端三部分,为分布式网络协议的客户端、服务器端、设备端分别建立基于时间自动机的状态迁移系统。
对于分布式网络协议客户端,用时间自动机来刻画其执行协议的状态过程。客户端同服务器端进行通信时,协议开始执行,首先客户端进入初始空闲状态,设立一个状态标志位,记为A,同时设立一个时钟变量Ta,A和Ta随着协议执行不断变化,然后进入到等待状态,收到传输信号时,发送消息,进入发送状态,检查发送的次数是否超过允许的最大发送次数,如果超过,则进入终止状态并重新开始新的一轮通信;如果没有超过允许最大发送次数,则进入等待应答状态,在等待应答状态,如果等待时间超过允许的最长等待时间,则进入终止状态,并进行新一轮的通信;否则如果没有超过允许的最长等待时间,如果接收到否的消息,则返回发送状态重新进行发送;如果接收到是的消息,则这一轮的通信结束。
对于分布式网络协议服务器端,同样使用时间自动机刻画其执行过程。服务器端进行通信时,首先进入初始空闲状态,设立一个状态标志位,记为B,然后进入到等待状态,在等待状态接收到数据后,进入接收状态,对接收的数据进行检查,是否为所需传输的数据,如果是,则发送确认消息Y,如果不是,则发送确认消息N,同时进入等待状态准备进行下一轮的通信。
对于分布式网络协议设备端,设备端在接收到相应的消息后,根据消息选择相应的服务(服务A、服务B、服务C等),进而进行不同的操作,将设备的接收消息及响应过程通过状态迁移系统表示出来。
对分布式网络协议主体建立模型后,首先对模型的正确性进行检测。检测所建立的分布式网络协议模型是否正确,是否满足分布式网络协议本身的相关性质。通过时序逻辑公式表示进行模型正确性检测时需要满足的相关性质,然后对建立模型的状态空间进行搜索,检测是否满足相关性质。然后对建立的分布式网络协议模型安全性进行检测。通过时序逻辑公式表示进行安全性检测时需要满足的相关性质。然后对建立模型的状态空间进行搜索,检测分布式网络协议在没有任何攻击者时是否满足安全性相关的性质,如果满足相关的性质,则继续下一阶段;如果存在不符合的情况,则转入实施的第三点。
2、建立攻击者模型并对分布式网络协议的安全性进行检测
本发明是对分布式网络协议可能存在的安全性问题进行检测,并不是针对某种特定的攻击,所以此处建立基础的攻击者模型,攻击者可以不受限制地发送请求(可以是任意请求及组合并且参数不受任何限制)来进行攻击。
在建立攻击者模型后,对分布式网络协议的安全性进行检测。通过时序逻辑公式表示进行分布式网络协议安全性检测时需要满足的相关性质,然后对建立模型的状态空间进行搜索,检测分布式网络协议在有攻击者时是否满足安全性相关的性质。如果满足相关的性质,则表明分布式网络协议安全;如果存在反例,则继续实施的第三点。
3、建立检测者模型并对分布式网络协议安全性进行改进
如果在实施的第一点或者第二点中发现不满足安全性的实例,通过模型检验工具的反跟踪特性设计出检测者模型,检测者模型可以指出发生不符合安全性质的具体情况,针对具体情况对可能的漏洞及威胁进行改进,再一次重复前两阶段的检测过程,直到分布式网络协议安全性符合要求。