CN111343184B - 一种通信协议的验证方法和装置 - Google Patents
一种通信协议的验证方法和装置 Download PDFInfo
- Publication number
- CN111343184B CN111343184B CN202010125475.9A CN202010125475A CN111343184B CN 111343184 B CN111343184 B CN 111343184B CN 202010125475 A CN202010125475 A CN 202010125475A CN 111343184 B CN111343184 B CN 111343184B
- Authority
- CN
- China
- Prior art keywords
- data
- attacker
- protocol
- identification
- correspondent
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种通信协议的验证方法和装置,属于通信技术领域,解决了现有技术中测试用例规模庞大、命中率不高、效率较低以及后期发现漏洞后,协议修复成本高的问题。验证方法用于确定通信协议抵御重放攻击的能力,包括:分析通信协议的协议字段;基于协议字段建立通信者模型和攻击者模型,通信者模型包括通信者数据,以及攻击者模型包括攻击者数据,其中,通信者数据包括发送者标识、接收者标识和新鲜性标识,并且攻击者数据包括发送者标识、接收者标识、新鲜性标识和攻击者标识;使用形式化语言进行通信者模型和攻击者模型描述;以及使用形式化工具进行重放攻击检测。实现了准确高效的发现协议漏洞并且在协议设计早期介入,减少修复成本。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种通信协议的验证方法和装置。
背景技术
随着数字化进程在工控领域的推进,工控系统的信息安全越来越受到人们的重视,特别是在核安全相关领域,信息安全研究已成为当下研究的一个热点。网络安全又是信息安全研究的重要部分,而协议的漏洞是实现网络攻击的主要原因。重放攻击是常见的一种网络攻击形式,这种攻击可以绕过软件加密、签名这些防止信息泄露的防御措施,伪装通过身份认证、实现信息注入,攻击结果会导致系统不能正常工作,因此对重放攻击的检查是非常有必要的。
现阶段针对重放攻击检查方法,通常使用基于模糊测试的方式进行。模糊测试技术通过向测试目标发送大量异常数据并监控软件系统是否正常工作来进行漏洞挖掘。然而模糊测试的测试用例规模庞大,命中率不高,效率较低,而且主要在协议实现完成后进行,不能在协议设计阶段介入。
因此,已有检测方法存在以下缺点:(1)模糊测试的测试用例规模庞大,命中率不高,效率较低。(2)不能在协议设计早期介入,发现漏洞后,协议修复成本较高。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种通信协议的验证方法和装置,用以解决现有模糊测试的测试用例规模庞大,命中率不高,效率较低以及不能在协议设计早期介入,发现漏洞后,协议修复成本较高的问题。
一方面,本发明实施例提供了一种通信协议的验证方法,用于确定所述通信协议抵御重放攻击的能力,包括:分析所述通信协议的协议字段;基于所述协议字段建立通信者模型和攻击者模型,所述通信者模型包括通信者数据,以及所述攻击者模型包括攻击者数据,其中,所述通信者数据包括发送者标识、接收者标识和新鲜性标识,并且所述攻击者数据包括所述发送者标识、所述接收者标识、所述新鲜性标识和攻击者标识;使用形式化语言进行所述通信者模型和所述攻击者模型描述;以及使用形式化工具进行重放攻击检测。
上述技术方案的有益效果如下:本发明实施例的通信协议的验证方法通过通信协议分析,使用形式化模型检查技术,检查该通信协议是否存在重放攻击设计漏洞;利用形式化技术严谨的数学理论基础,极易进行计算机处理等特点,保证分析的客观性、有效性;通过形式化工具的使用提高分析效率。从而能够准确高效的发现协议漏洞并且在协议设计早期介入,减少协议修复成本。
基于上述方法的进一步改进,在通信协议的验证方法中,分析所述通信协议的协议字段包括:分析所述协议字段并确定所述协议字段的源地址、所述协议字段的目的地址、以及所述协议字段的流水号。
上述进一步改进方案的有益效果是:通过分析协议字段确定其源地址、所述协议字段的目的地址、以及所述协议字段的流水号作为建立通信者模型和攻击者模型的基础。
基于上述方法的进一步改进,在通信协议的验证方法中,建立所述通信者模型包括生成所述通信者数据并发送所述通信者数据,其中,所述生成所述通信者数据包括:通过设置所述协议字段的源地址生成所述发送者标识;通过设置所述协议字段的目的地址生成接收者标识;以及通过设置所述协议字段的流水号生成所述新鲜性标识。
上述进一步改进方案的有益效果是:生成发送者标识、接收者标识和新鲜性标识使得发送的通信者数据包括这三种标识,以便于接收后对数据进行检测。
基于上述方法的进一步改进,在通信协议的验证方法中,建立所述通信者模型包括接收数据并检测所述数据,其中,接收的所述数据包括所述通信者数据和所述攻击者数据。
基于上述方法的进一步改进,在通信协议的验证方法中,检测所述数据包括:根据所述协议字段的源地址对所述数据的信息源进行检测;根据所述协议字段的目的地址对所述数据的信息接收者进行检测;以及根据所述协议字段的流水号对所述数据的新鲜性进行检测。
基于上述方法的进一步改进,在通信协议的验证方法中,当接收的所述数据包括攻击者数据时,检测所述数据包括检测所述攻击者数据的信息源、信息接收者、和新鲜性,而对所述攻击者标识不作任何处理。
上述进一步改进方案的有益效果是:通过在接收数据后对数据进行检测能够保证正常处理通信者数据,而不处理攻击者标识,以便于后续检测过程中,能够识别出该攻击者数据。
基于上述方法的进一步改进,在通信协议的验证方法中,建立所述攻击者模型包括:截获所述通信者数据;对所述通信者数据增加所述攻击者标识以生成所述攻击者数据;以及立即转发所述攻击者数据。
基于上述方法的进一步改进,在通信协议的验证方法中,建立所述攻击者模型包括:截获并保存所述通信者数据;对所述通信者数据增加所述攻击者标识以生成所述攻击者数据;以及随机转发所述攻击者数据。
上述进一步改进方案的有益效果是:该攻击者模型在协议设计的早期模拟重放攻击的攻击者,从而能够实现对通信协议的重复攻击的检测。
基于上述方法的进一步改进,在通信协议的验证方法中,所述形式化语言包括Promela语言;所述形式化工具为spin工具;以及根据所述重放攻击检测的结果确定所述通信协议是否具备抵御重放攻击能力,其中,根据所述攻击者标识确定所述攻击者数据并展示所述攻击者数据重放攻击的过程路径。
上述进一步改进方案的有益效果是:使用Promela语言对该协议建立通信模型和攻击者模型,通过spin工具来遍历所有状态,检查该通信协议是否存在设计漏洞,并可以展示重放攻击的过程路径,让协议设计者明白防御措施的薄弱环节。
另一方面,本发明实施例提供了一种确定通信协议具备抵御重放攻击能力的验证装置,所述验证装置包括:分析模块,用于分析通信协议的协议字段;以及通信者模型建立模块,用于基于所述协议字段建立通信者模型并且所述通信者模型包括通信者数据,其中,所述通信者数据包括发送者标识、接收者标识和新鲜性标识;攻击者模型建立模块,用于基于所述协议字段建立攻击者模型并且所述攻击者模型包括攻击者数据,其中,所述攻击者数据包括所述发送者标识、所述接收者标识、所述新鲜性标识和攻击者标识;语言描述模块,用于使用形式化语言进行所述通信者模型和所述攻击者模型描述;以及检测模块,用于使用形式化工具进行重放攻击检测。
采用上述进一步改进方案的有益效果是:本发明实施例的通信协议的验证装置通过通信协议分析,使用形式化模型检查技术,检查该通信协议是否存在重放攻击设计漏洞;利用形式化技术严谨的数学理论基础,极易进行计算机处理等特点,保证分析的客观性、有效性;通过形式化工具的使用提高分析效率。从而能够准确高效的发现协议漏洞并且在协议设计早期介入,减少协议修复成本。另外,通过规定攻击者发送的数据包在正常数据的基础上增加攻击者标识以便于区分数据包是攻击者发送的还是正常通信者发送。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为根据本发明的实施例的通信协议的验证方法的流程图;
图2为根据本发明的实施例的通信协议的验证方法的简化流程图;
图3为根据本发明的实施例的通信协议模型的示意图;
图4为根据本发明的实施例的通信者模型的接收示意图;
图5为根据本发明的实施例的通信者模型的发送示意图;
图6为根据本发明的实施例的攻击者模型的发送示意图;
图7为根据本发明的实施例的通信协议的验证装置的框图;以及
图8为当SPIN工具进行模型检查时攻击过程运行结果图。
附图标记:
702-分析模块;704-通信者模型建立模块;706-攻击者模型建立模块;708-语言描述模块;710-检测模块;
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
如图1所示,本发明的一个具体实施例公开了一种通信协议的验证方法用于确定通信协议抵御重放攻击的能力。该通信协议的验证方法包括:步骤S102,分析通信协议的协议字段;步骤S104,基于协议字段建立通信者模型和攻击者模型,通信者模型包括通信者数据,以及攻击者模型包括攻击者数据,其中,通信者数据包括发送者标识、接收者标识和新鲜性标识,并且攻击者数据包括发送者标识、接收者标识、新鲜性标识和攻击者标识;步骤S106,使用形式化语言进行通信者模型和攻击者模型描述;以及步骤S108使用形式化工具进行重放攻击检测。
通信者数据包括发送者标识、接收者标识和新鲜性标识,以便于描述协议双方的通信过程。攻击者数据除了包括以上三种标识之外,还包括攻击者标识以便于区分接收到的数据包是攻击者发送的还是正常通信者发送。
上述技术方案的有益效果如下:通信协议的验证方法通过通信协议分析,使用形式化模型检查技术,检查该通信协议是否存在重放攻击设计漏洞;利用形式化技术严谨的数学理论基础,极易进行计算机处理等特点,保证分析的客观性、有效性;通过形式化工具的使用提高分析效率。从而能够准确高效的发现协议漏洞并且在协议设计早期介入,减少协议修复成本。
下文中,参照图1对通信协议的验证方法进行详细描述。
在步骤S102中,分析通信协议的协议字段。具体地,分析通信协议的协议字段包括:分析协议字段并确定协议字段的源地址、协议字段的目的地址、以及协议字段的流水号。因此,通过分析协议字段确定其源地址、所述协议字段的目的地址、以及所述协议字段的流水号作为建立通信者模型和攻击者模型的基础。
在步骤S104中,基于协议字段建立通信者模型和攻击者模型,通信者模型包括通信者数据,以及攻击者模型包括攻击者数据,其中,通信者数据包括发送者标识、接收者标识和新鲜性标识,并且攻击者数据包括发送者标识、接收者标识、新鲜性标识和攻击者标识。
具体地,建立通信者模型包括生成通信者数据并发送通信者数据,其中,如图5所示,生成通信者数据包括:通过设置协议字段的源地址生成发送者标识;通过设置协议字段的目的地址生成接收者标识;以及通过设置协议字段的流水号生成新鲜性标识。因此生成发送者标识、接收者标识和新鲜性标识使得发送的通信者数据包括这三种标识,以便于接收后对数据进行检测。
具体地,建立通信者模型还包括接收数据并检测数据,其中,接收的数据包括通信者数据和攻击者数据。具体地,如图4所示,检测数据包括:根据协议字段的源地址对数据的信息源进行检测;根据协议字段的目的地址对数据的信息接收者进行检测;以及根据协议字段的流水号对数据的新鲜性进行检测。此外,当接收的数据包括攻击者数据时,检测数据包括检测攻击者数据的信息源、信息接收者、和新鲜性,而对攻击者标识不作任何处理。因此,通过在接收数据后对数据进行检测能够保证正常处理通信者数据,而不处理攻击者标识,以便于后续检测过程中,能够识别出该攻击者数据。
具体地,参见图6,建立攻击者模型包括:截获通信者数据;对通信者数据增加攻击者标识以生成攻击者数据;以及立即转发攻击者数据。在可选实施例中,建立攻击者模型包括:截获并保存通信者数据;对通信者数据增加攻击者标识以生成攻击者数据;以及随机转发攻击者数据。因此,该攻击者模型在协议设计的早期模拟重放攻击的攻击者,从而能够实现对通信协议的重复攻击的检测。
在步骤S106中,使用形式化语言进行通信者模型和攻击者模型描述,其中,形式化语言包括Promela语言。
在步骤S108中,使用形式化工具进行重放攻击检测,其中,形式化工具为spin工具。根据重放攻击检测的结果确定通信协议是否具备抵御重放攻击能力,其中,根据攻击者标识确定攻击者数据并展示攻击者数据重放攻击的过程路径。
因为使用Promela语言对该协议建立通信模型和攻击者模型,通过spin工具来遍历所有状态,所以能够检查该通信协议是否存在设计漏洞,并可以展示重放攻击的过程路径,让协议设计者明白防御措施的薄弱环节。
下文中,参照图2至图6以具体示例的方式对本发明实施例的通信协议的验证方法进行详细描述。
出现重放攻击的主要原因是正常通信方接收到了非预期通信端发送的数据,并进行了正常协议处理,因此只要正常通信方会接收并正常处理非预期通信端数据,那么就会存在重放攻击的可能性。在验证通信双方所遵循的协议是否有抵御重放攻击的能力时,本文使用的技术方案是:针对待检查的协议,分析网络协议通信过程,确定协议中抵御重放攻击的要素,根据协议使用要求明确各字段检查规则,使用形式化语言对该协议建立通信模型和攻击者模型,通过形式化的工具来遍历所有状态,检查该协议是否存在设计漏洞,并可以展示重放攻击的过程路径,让协议设计者明白防御措施的薄弱环节。
下文中,参照图2,对本发明实施例的通信协议的验证方法进行详细描述。
在步骤S202中,进行通信协议分析。对所有需要验证的接口,分析其使用的通信协议,明确所有协议字段的含义,并根据协议使用要求明确各字段检查规则,即明确协议字段的语义描述,分析抵御重放攻击的协议要素,为协议建模打好基础。
本文对一个实际控制系统中的通信协议进行分析验证。该协议格式及控制描述如下所示:本协议描述上位机和下位机之间的数据通信,主要描述了通信的服务、协议。本协议为自定义网络应用协议。通信流程规约为“请求-应答”方式。
表格1-自定义协议控制结构
a | b | c | d | e | f |
目标地址 | 源地址 | 功能码 | 流水号 | 应用数据 | 校验码 |
a、目的地址:描述通信接收方标识,接收端对目的地址做检查。
b、源地址:描述通信发送方标识。在通信请求阶段,通信双方通过一次握手完成通信连接过程。接收后只检测源地址信息。
c、功能码:表示该帧功能含义。
在数据交互过程中,对每类相同(相关)数据的交互进行抽象,把它们定义成若干服务,选择其中某些服务的组合可以完成某一项功能。通信交互阶段,通信双方通过一问一答的方式完成数据交互,不同功能的通信通过功能码来识别。该部分主要说明所有的功能服务。接收端每次对功能码进行检查。
表格2-功能码说明表
d、流水号:表示当前帧流水号,每次累加1,流水号处理机制。流水号确定为重放攻击抵御要素,具体说明如下:
(1)流水号正确性在连接命令请求时不进行校验;
(2)后续通信者发送的每一帧数据均应为前一帧数据的流水号加1;
(3)如果发送帧校验不通过,返回B0功能码,异常码中说明流水号错误;
(4)如果为命令请求帧或回复帧校验不通过,则按照命令重传机制处理;
(5)如果为数据帧校验不通过,则按照丢包重传机制处理。
e、应用数据:表示当前任务的总帧数,有的任务需要多帧发送,规定总帧数用于识别是否接收完整。接收端进行检查。
f、校验码:用于检验数据包的正确性。发送端生成,接收端进行检查。如果校验码不正确则此包丢弃。
在步骤S204中,建立通信者和攻击者模型。
协议描述通信双方通过信道对数据的接收、发送及处理过程,因此协议模型应包含通信者和信道两个基本模块,其中通信者产生和消费数据。由于本方法旨在研究协议是否具备抵御重放攻击的能力,因此在针对数据处理过程仅针对协议关于数据新鲜性的处理过程进行建模。为了便于描述协议双方的通信过程,数据应包含以下几种标识:发送者标识,接收者标识以及新鲜性标识。图4示出了该协议模型的示意图。
具体地,在针对协议建模时,首先分析协议说明书,识别出发送者、接收者及新鲜性相关信息,然后识别攻击者可能利用的信道,通信双方在通信时根据协议的要求设置发送者标识、接收者标识以及新鲜性标识。
根据协议描述,识别通信者对发送者身份的检测机制、预期接收者检测机制,以及信息新鲜性检测机制。
每个通信实体中存在正常消息通道和攻击者消息通道两种类型。通信实体在发送数据的时候会同时向正常通信方和攻击者发送数据,会随机的从正常通信者和攻击者接收数据并处理。
假设攻击者具备截获所有与之相连的通信者的数据包,并能向所有与之相连的通信者转发任意截获包的能力。攻击者模型不具备修改数据的能力,而且,攻击者不针对数据的发送者身份、预期接收者,以及信息新鲜性进行检测,攻击者可以在任何时间向存在信道连接的通信者进行数据发送和接收。为了便于区分数据包是攻击者发送的还是正常通信者发送,我们规定攻击者发送的数据包在正常数据的基础上增加攻击者标识。如下所示:发送者标识,接收者标识、新鲜性标识以及攻击者标识。当正常通信者接收到攻击者发送的数据时对攻击者标识不做任何处理。攻击者截获到的数据不做任何处理进行保存,随机向正常通信者发送。
在图4中示出了为通信者模型的数据接收过程。在图5中示出了通信者模型的数据发送过程。在图6中示出了攻击者模型的数据发送过程。
在步骤S206中,对模型进行形式化描述。
在该示例中,使用Promela语言进行模型的描述,并使用Spin工具进行模型的验证。在模型中使用数据结构的形式定义消息如下:
typedef Msg
{
A,b,c.......;
}
其中a,b,c表示协议中各个字段的内容。
使用chan的形式定义消息通道(类似FIFO先进先出)如下所示:
chan<name>=[<dim>]of{Msg};其中参数name是通道的名称,<dim>是通道所能容纳的消息的个数(最多为255个)。每个通信实体中存在正常消息通道和攻击者消息通道两种类型。通信实体在发送数据的时候会同时向正常通信方和攻击者发送数据,会随机的从正常通信者和攻击者接收数据并处理。
正常通信模型依据协议规定,使用消息、消息通道及发送,接收及等待进行描述;攻击者模型可以接收所有其拥有使用权的消息通道的消息,并能向所有其拥有使用权的消息通道转发任意截获的消息。
协议模型形式化描述为:
攻击者模型形式化描述为:
例如,建立通信者模型。根据上文描述建立通信模型并使用形式化方式描述如下:
B、建立攻击者模型。攻击者模型可以接收所有其拥有使用权的消息通道的消息,并能向所有其拥有使用权的消息通道转发任意截获的消息。使用Promela语言描述如下:
在步骤S208中,使用形式化工具进行检测。
输入Promela语言描述的协议模型和攻击者模型,并使用断言描述重放攻击定义,使用SPIN工具进行状态收索,并给出状态转移路径。
搜索结果如下,图中“errors:1”表示有攻击可以达成,即协议存在重放攻击漏洞。
在步骤S210中,根据检测结果给出评估结论。
按照上述攻击者模型,只要进行重放后收到请求回复表明攻击成功。评价协议的抗重放攻击能力,指出协议存在的具体漏洞,并提供协议加固建议。
使用SPIN工具进行模型检查,攻击过程运行结果如图8所示。
根据以上搜索结果,流水号相差2以内的攻击都可以达成,可以确定该协议不能完全抵御重放攻击。
在该通信协议的验证方法中,协议描述通信双方通过信道对数据的接收、发送及处理过程,因此协议模型应包含通信者和信道两个基本模块,其中通信者产生和消费数据。由于本方法旨在研究协议是否具备抵御重放攻击的能力,因此在针对数据处理过程仅针对协议关于数据新鲜性的处理过程进行建模。为了便于描述协议双方的通信过程,数据应包含以下几种标识:发送者标识,接收者标识以及新鲜性标识。
攻击者模型与通信者模型一致,但攻击者不具备修改数据的能力,为了便于区分数据包是攻击者发送的还是正常通信者发送,我们规定攻击者发送的数据包在正常数据的基础上增加攻击者标识。如下所示:发送者标识,接收者标识、新鲜性标识以及攻击者标识。当正常通信者接收到攻击者发送的数据时对攻击者标识不做任何处理。攻击者截获到的数据不做任何处理进行保存,随机向正常通信者发送。
下文中,将参照图7对通信协议的验证装置进行描述。
如图7所示,通信协议的验证装置用于确定通信协议具备抵御重放攻击的能力,验证装置包括:分析模块702,用于分析通信协议的协议字段;以及通信者模型建立模块704,用于基于协议字段建立通信者模型并且通信者模型包括通信者数据,其中,通信者数据包括发送者标识、接收者标识和新鲜性标识;攻击者模型建立模块706,用于基于协议字段建立攻击者模型并且攻击者模型包括攻击者数据,其中,攻击者数据包括发送者标识、接收者标识、新鲜性标识和攻击者标识;语言描述模块708,用于使用形式化语言进行通信者模型和攻击者模型描述;以及检测模块710,用于使用形式化工具进行重放攻击检测。
通信者数据包括发送者标识、接收者标识和新鲜性标识,以便于描述协议双方的通信过程。攻击者数据除了包括以上三种标识之外,还包括攻击者标识以便于区分接收到的数据包是攻击者发送的还是正常通信者发送。
与现有技术相比,本实施例提供的通信协议的验证装置通过分析模块分析通信协议,建立和使用形式化的通信者模型和攻击者模型,通过检测模块来检查该通信协议是否存在重放攻击设计漏洞;利用形式化技术严谨的数学理论基础,极易进行计算机处理等特点,保证分析的客观性、有效性;通过形式化工具的使用提高分析效率。从而能够准确高效的发现协议漏洞并且在协议设计早期介入,减少协议修复成本。
本实施例提供的通信协议的验证装置还存在其他模块。由于通信协议的验证装置与通信协议的验证方法相对应,所以为了避免赘述,未对这些其他模块进行详细描述。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种通信协议的验证方法,用于确定所述通信协议抵御重放攻击的能力,其特征在于,包括:
分析所述通信协议的协议字段;
基于所述协议字段建立通信者模型和攻击者模型,所述通信者模型包括通信者数据,以及所述攻击者模型包括攻击者数据,其中,所述通信者数据包括发送者标识、接收者标识和新鲜性标识,并且所述攻击者数据包括所述发送者标识、所述接收者标识、所述新鲜性标识和攻击者标识,其中,建立所述通信者模型包括接收数据并检测所述数据,接收的所述数据包括所述通信者数据和所述攻击者数据,当接收的所述数据包括攻击者数据时,检测所述数据包括检测所述攻击者数据的信息源、信息接收者、和新鲜性,而对所述攻击者标识不作任何处理;
使用形式化语言进行所述通信者模型和所述攻击者模型描述;以及
使用形式化工具进行重放攻击检测。
2.根据权利要求1所述的通信协议的验证方法,其特征在于,分析所述通信协议的协议字段包括:分析所述协议字段并确定所述协议字段的源地址、所述协议字段的目的地址、以及所述协议字段的流水号。
3.根据权利要求2所述的通信协议的验证方法,其特征在于,建立所述通信者模型包括生成所述通信者数据并发送所述通信者数据,其中,所述生成所述通信者数据包括:
通过设置所述协议字段的源地址生成所述发送者标识;
通过设置所述协议字段的目的地址生成接收者标识;以及
通过设置所述协议字段的流水号生成所述新鲜性标识。
4.根据权利要求1所述的通信协议的验证方法,其特征在于,检测所述数据包括:
根据所述协议字段的源地址对所述数据的信息源进行检测;
根据所述协议字段的目的地址对所述数据的信息接收者进行检测;以及
根据所述协议字段的流水号对所述数据的新鲜性进行检测。
5.根据权利要求1所述的通信协议的验证方法,其特征在于,建立所述攻击者模型包括:
截获所述通信者数据;
对所述通信者数据增加所述攻击者标识以生成所述攻击者数据;以及
立即转发所述攻击者数据。
6.根据权利要求1所述的通信协议的验证方法,其特征在于,建立所述攻击者模型包括:
截获并保存所述通信者数据;
对所述通信者数据增加所述攻击者标识以生成所述攻击者数据;以及
随机转发所述攻击者数据。
7.根据权利要求1所述的通信协议的验证方法,其特征在于,
所述形式化语言包括Promela语言;
所述形式化工具为spin工具;以及
根据所述重放攻击检测的结果确定所述通信协议是否具备抵御重放攻击能力,其中,根据所述攻击者标识确定所述攻击者数据并展示所述攻击者数据重放攻击的过程路径。
8.一种通信协议的验证装置,用于确定所述通信协议具备抵御重放攻击的能力,其特征在于,所述验证装置包括:
分析模块,用于分析通信协议的协议字段;以及
通信者模型建立模块,用于基于所述协议字段建立通信者模型并且所述通信者模型包括通信者数据,其中,所述通信者数据包括发送者标识、接收者标识和新鲜性标识;
攻击者模型建立模块,用于基于所述协议字段建立攻击者模型并且所述攻击者模型包括攻击者数据,其中,所述攻击者数据包括所述发送者标识、所述接收者标识、所述新鲜性标识和攻击者标识,其中,建立所述通信者模型包括接收数据并检测所述数据,接收的所述数据包括所述通信者数据和所述攻击者数据,当接收的所述数据包括攻击者数据时,检测所述数据包括检测所述攻击者数据的信息源、信息接收者、和新鲜性,而对所述攻击者标识不作任何处理;
语言描述模块,用于使用形式化语言进行所述通信者模型和所述攻击者模型描述;以及
检测模块,用于使用形式化工具进行重放攻击检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010125475.9A CN111343184B (zh) | 2020-02-27 | 2020-02-27 | 一种通信协议的验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010125475.9A CN111343184B (zh) | 2020-02-27 | 2020-02-27 | 一种通信协议的验证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343184A CN111343184A (zh) | 2020-06-26 |
CN111343184B true CN111343184B (zh) | 2022-08-23 |
Family
ID=71186999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010125475.9A Active CN111343184B (zh) | 2020-02-27 | 2020-02-27 | 一种通信协议的验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343184B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726570B (zh) * | 2021-08-30 | 2024-05-31 | 北京广利核系统工程有限公司 | 一种网口配置方法、装置及系统 |
CN114039783B (zh) * | 2021-11-10 | 2024-01-30 | 中国人民解放军战略支援部队信息工程大学 | 一种网络安全协议脆弱性分析方法 |
CN115473837B (zh) * | 2022-02-22 | 2024-03-22 | 北京广利核系统工程有限公司 | 可配置协议的通讯测试工具和基于其的通讯测试方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135397A (zh) * | 2014-07-01 | 2014-11-05 | 浙江工业大学 | 面向无线传感网安全协议设计与实现的形式化验证方法 |
CN106372550A (zh) * | 2016-08-25 | 2017-02-01 | 辽宁工业大学 | 一种基于Hash类函数的MH轻量级安全认证系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409550B2 (en) * | 2004-08-16 | 2008-08-05 | Mitsubishi Electric Research Laboratories, Inc. | Method for binding networked devices |
CN109150833A (zh) * | 2018-07-19 | 2019-01-04 | 华东交通大学 | 一种基于模型检测的安全协议形式化验证方法 |
-
2020
- 2020-02-27 CN CN202010125475.9A patent/CN111343184B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135397A (zh) * | 2014-07-01 | 2014-11-05 | 浙江工业大学 | 面向无线传感网安全协议设计与实现的形式化验证方法 |
CN106372550A (zh) * | 2016-08-25 | 2017-02-01 | 辽宁工业大学 | 一种基于Hash类函数的MH轻量级安全认证系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111343184A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111343184B (zh) | 一种通信协议的验证方法和装置 | |
CN109933980A (zh) | 一种漏洞扫描方法、装置和电子设备 | |
WO2021174870A1 (zh) | 网络安全风险检测方法、系统、计算机设备和存储介质 | |
CN113438225B (zh) | 一种车载终端漏洞检测方法、系统、设备及存储介质 | |
Braga et al. | Understanding how to use static analysis tools for detecting cryptography misuse in software | |
CN112422557A (zh) | 一种工控网络的攻击测试方法及装置 | |
Hofer-Schmitz et al. | Towards formal methods of IoT application layer protocols | |
Morais et al. | Security protocol testing using attack trees | |
CN113347184A (zh) | 网络流量安全检测引擎的测试方法、装置、设备及介质 | |
CN111552967A (zh) | 一种应用软件安全漏洞检测方法 | |
CN114745216B (zh) | 一种动态接入方法及装置 | |
CN103916365A (zh) | 导出和验证恶意代码的网络行为特征的方法和装置 | |
CN109756403A (zh) | 接入验证方法、装置、系统以及计算机可读存储介质 | |
Helovuo et al. | Exploration testing | |
Morais et al. | Generating attack scenarios for the system security validation | |
CN113449034A (zh) | 一种基于区块链网络的智能合约数据安全管理方法、系统及存储介质 | |
KR20170015178A (ko) | 소스 코드를 분석하여 보안 취약점과 웹쉘을 탐지하는 웹 서버 보안 시스템 및 그 방법 | |
Ginesin et al. | A Formal Analysis of SCTP: Attack Synthesis and Patch Verification | |
McMinn | External verification of scada system embedded controller firmware | |
Shi et al. | A formal method for verifying the ability of a protocol to resist replay attacks | |
CN117648262B (zh) | 模糊测试方法、存储介质和电子装置 | |
Neelap et al. | Attack Traffic Generation for Network-based Intrusion Detection System | |
Martins et al. | Generating attack scenarios for the validation of security protocol implementations | |
El-Gendy | Study of the Characteristics of CT-Equivalence with Proves | |
CN116933266B (zh) | 一种跨链智能合约的污点追踪方法 |
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 |