一种自动化协议形式化分析方法技术

技术编号:27009503 阅读:70 留言:0更新日期:2021-01-08 17:17
本发明专利技术涉及一种自动化协议形式化分析方法,可以适用于多种协议的安全分析。协议作为安全分析的基本手段,可以利用形式化分析模型对某种协议进行数据建模,填充字段,设计工作流程,再用自动化脚本工具进行测试。形式化分析工具可以发现协议中存在的基础性漏洞,这些漏洞往往会造成设备、系统的重大安全问题。

【技术实现步骤摘要】
一种自动化协议形式化分析方法
本专利技术涉及一种自动化协议形式化分析方法,属于协议测试

技术介绍
所谓形式化分析方法,是概念或者方法经过高度抽象后,使用一定的数学模型进行表示,通过程式化的推演计算来研究数学模型,进而揭示概念和方法内在规律的研究方法,安全协议的形式化分析则是采用一种正规标准的方法对安全协议进行分析,检查协议是否满足其预期的目标。形式分析过程包括形式化描述协议运行的环境,准确的形式化描述安全协议的动作行为,准确的定义安全协议的安全属性,验证安全协议是否满足预期的目标。安全协议形式化分析的目标主要有:分析协议的可行性也就是分析协议的正确性,分析协议的目标性,即分析协议能否达到预期的目标(其中安全性是诸多目标中重要的一个目标);分析协议的冗余性,即分析协议的步骤是否达到最优化,使用形式化分析工具的侧重点在于分析协议是否能达到预计的安全目标。形式化方法在信任算法的安全强度前提下,可以忽略算法的数学细节、来讨论协议的安全性质,由符号以及使用这些符号的规则工作组成形式化分析系统,是信息安全领域中一个受到重视的安全研究方向。
技术实现思路
本专利技术所要解决的技术问题是提供一种自动化协议形式化分析方法,采用全新设计架构,能够高效实现协议测试,提高工作效率。本专利技术为了解决上述技术问题采用以下技术方案:本专利技术设计了一种自动化协议形式化分析方法,用于针对各目标协议实现安全测试,包括如下步骤:步骤A.分别针对各目标协议,设计目标协议所对应的形式化分析工具,包括形式规约和形式验证,然后进入步骤B;步骤B.分别针对各目标协议,根据目标协议所对应的功能、以及预设测试分支,定义该目标协议所对应形式化分析工具中的各个测试套件,并进一步分别针对各个测试套件,根据预设各测试方法,定义测试套件所对应的各个测试脚本,待完成对应各目标协议的上述操作后,然后进入步骤C;步骤C.分别针对各目标协议所对应形式化分析工具中、各测试套件所对应的各个测试脚本,生成各测试脚本分别所对应的测试策略和测试用例,然后进入步骤D;步骤D.根据各测试脚本分别所对应的测试策略和测试用例,生成相对应的测试报文,即作为各目标协议分别所对应形式化分析工具中的各个测试报文,然后进入步骤E;步骤E.分别针对各目标协议,应用目标协议所对应形式化分析工具中各个测试报文,结合该形式化分析工具中的形式化分析工具,针对该目标协议进行安全测试。作为本专利技术的一种优选技术方案:所述形式化分析工具中的形式规约包括面向模型规约方法或面向性质规约方法。作为本专利技术的一种优选技术方案:所述测试脚本支持用XML格式描述测试报文的序列,用于Fuzzer的测试。作为本专利技术的一种优选技术方案:所述测试脚本包括收发包通道、采取的动作、以及收发动作中数据单元PDU的定义。本专利技术所述一种自动化协议形式化分析方法,采用以上技术方案与现有技术相比,具有以下技术效果:本专利技术所设计自动化协议形式化分析方法,可以适用于多种协议的安全分析。协议作为安全分析的基本手段,可以利用形式化分析模型对某种协议进行数据建模,填充字段,设计工作流程,再用自动化脚本工具进行测试。形式化分析工具可以发现协议中存在的基础性漏洞,这些漏洞往往会造成设备、系统的重大安全问题。附图说明图1是本专利技术设计自动化协议形式化分析方法中协议逻辑模型示意图;图2是本专利技术设计自动化协议形式化分析方法中报文结构的层次关系示意图。具体实施方式下面结合说明书附图对本专利技术的具体实施方式作进一步详细的说明。本专利技术设计一种自动化协议形式化分析方法,用于针对各目标协议实现安全测试,包括如下步骤:步骤A.分别针对各目标协议,设计目标协议所对应的形式化分析工具,包括形式规约和形式验证,然后进入步骤B。形式化分析工具用于开发计算机系统的形式化方法是描述系统性质的基于数学的技术,这样的形式化方法提供了一个框架,可以在框架中以系统的而不是特别的方式刻划、开发和验证系统。如果一个方法有良好的数学基础,那么它就是形式化的,典型地以形式化规约语言给出。这个基础提供一系列精确定义的概念,如:一致性和完整性,以及定义规范的实现和正确性。形式化方法的本质是基于数学的方法来描述目标软件系统属性的一种技术。形式化方法的一个重要研究内容是形式规约(FormalSpecification,也称形式规范或形式化描述),它是对程序“做什么”(whattodo)的数学描述,是用具有精确语义的形式语言书写的程序功能描述,它是设计和编制程序的出发点,也是验证程序是否正确的依据。对形式规约通常要讨论其一致性(自身无矛盾)和完备性(是否完全、无遗漏地刻画所要描述的对象)等性质。形式规约的方法主要可分为两类:一类是面向模型的方法,也称为系统建模,该方法通过构造系统的计算模型来刻画系统的不同行为特征;另一类是面向性质的方法,也称为性质描述,该方法通过定义系统必须满足的一些性质来描述一个系统。不同的形式规约方法要求不同的形式规约语言,即用于书写形式规约的语言(也称形式化描述语言),如代数语言OBJ、Clear、ASL、ACTOne/Two等;进程代数语言CSP、CCS、π演算等;时序逻辑语言PLTL、CTL、XYZ/E、UNITY、TLA等;这些规约语言由于基于不同的数学理论及规约方法,因而也千差万别,但它们有一个共同的特点,即每种规约语言均由基本成分和构造成分两部分构成。前者用来描述基本(原子)规约,后者把基本部分组合成大规约。构造成分是形式规约研究和设计的重点,也是衡量规约语言优劣的主要依据。形式验证形式化方法的另一重要研究内容是形式验证(FormalVerification)。形式验证与形式规约之间具有紧密的联系,形式验证就是验证已有的程序(系统)P,是否满足其规约(φ,ψ)的要求(即P(φ,ψ)),它也是形式化方法所要解决的核心问题。传统的验证方法包括模拟(simulation)和测试(testing),它们都是通过实验的方法对系统进行查错,模拟和测试分别在系统抽象模型和实际系统上进行,一般的方法是在系统的某点给予输入,观察在另一点的输出,这些方法花费很大,而且由于实验所能涵盖的系统行为有限,很难找出所有潜在的错误。基于此,早期的形式验证主要研究如何使用数学方法,严格证明一个程序的正确性(即程序验证)。步骤B.分别针对各目标协议,根据目标协议所对应的功能、以及预设测试分支,定义该目标协议所对应形式化分析工具中的各个测试套件,并进一步分别针对各个测试套件,根据预设各测试方法,定义测试套件所对应的各个测试脚本,待完成对应各目标协议的上述操作后,然后进入步骤C。步骤C.分别针对各目标协议所对应形式化分析工具中、各测试套件所对应的各个测试脚本,生成各测试脚本分别所对应的测试策略和测试用例,构成协议逻辑模型,然后进入步骤D。如图1所示,协议逻辑模型中除了其中的测试协议、测试套件和测试脚本外,脚本内部还包含测试策略和测试用例本文档来自技高网...

【技术保护点】
1.一种自动化协议形式化分析方法,用于针对各目标协议实现安全测试,其特征在于,包括如下步骤:/n步骤A.分别针对各目标协议,设计目标协议所对应的形式化分析工具,包括形式规约和形式验证,然后进入步骤B;/n步骤B.分别针对各目标协议,根据目标协议所对应的功能、以及预设测试分支,定义该目标协议所对应形式化分析工具中的各个测试套件,并进一步分别针对各个测试套件,根据预设各测试方法,定义测试套件所对应的各个测试脚本,待完成对应各目标协议的上述操作后,然后进入步骤C;/n步骤C.分别针对各目标协议所对应形式化分析工具中、各测试套件所对应的各个测试脚本,生成各测试脚本分别所对应的测试策略和测试用例,然后进入步骤D;/n步骤D.根据各测试脚本分别所对应的测试策略和测试用例,生成相对应的测试报文,即作为各目标协议分别所对应形式化分析工具中的各个测试报文,然后进入步骤E;/n步骤E.分别针对各目标协议,应用目标协议所对应形式化分析工具中各个测试报文,结合该形式化分析工具中的形式化分析工具,针对该目标协议进行安全测试。/n

【技术特征摘要】
1.一种自动化协议形式化分析方法,用于针对各目标协议实现安全测试,其特征在于,包括如下步骤:
步骤A.分别针对各目标协议,设计目标协议所对应的形式化分析工具,包括形式规约和形式验证,然后进入步骤B;
步骤B.分别针对各目标协议,根据目标协议所对应的功能、以及预设测试分支,定义该目标协议所对应形式化分析工具中的各个测试套件,并进一步分别针对各个测试套件,根据预设各测试方法,定义测试套件所对应的各个测试脚本,待完成对应各目标协议的上述操作后,然后进入步骤C;
步骤C.分别针对各目标协议所对应形式化分析工具中、各测试套件所对应的各个测试脚本,生成各测试脚本分别所对应的测试策略和测试用例,然后进入步骤D;
步骤D.根据各测试脚本分别所对应的测试策略和测试用例,生成相对应的测试报文,...

【专利技术属性】
技术研发人员:赵蕾李楠芳李宗容马先钟应寿景延嵘王旭李胜春尚西元马学智
申请(专利权)人:国网青海省电力公司电力科学研究院国网青海省电力公司国家电网有限公司
类型:发明
国别省市:青海;63

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1