一种网络攻击测试方法、装置、电子设备及存储介质转让专利

申请号 : CN202110937778.5

文献号 : CN113660265B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 路会园

申请人 : 北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司

摘要 :

本申请涉及一种网络攻击测试方法、装置、电子设备及存储介质,属于计算机技术领域。该网络攻击测试方法包括根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;获取所述被测设备被所述数据攻击策略攻击后的第一数据信息;根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告。本申请实施例提供的网络攻击测试方法不仅可以适用于以太网还可以适用于工控专网,且攻击手段也不限于阻断方式进行攻击,从而解决了现有攻击方法的攻击手段有限,针对性不强的问题。

权利要求 :

1.一种网络攻击测试方法,其特征在于,所述方法包括:根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;

获取所述被测设备被所述数据攻击策略攻击后的第一数据信息;

根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告;

其中,根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,包括:向所述被测设备发送编程模式切换命令,使所述被测设备切换到编程模式,在所述编程模式下所述被测设备的运行数据能够被篡改;

基于所述数据攻击策略对所述被测设备的运行数据进行修改;

待修改完成后,向所述被测设备发送运行命令,使所述被测设备切换到运行模式并运行。

2.根据权利要求1所述的方法,其特征在于,对所述被测设备的运行数据进行修改包括删除或增加运行数据、对运行数据中的数值进行修改、格式化存储介质中的至少一种。

3.根据权利要求1所述的方法,其特征在于,获取所述被测设备被所述数据攻击策略攻击后的第一数据信息,包括:向所述被测设备发送error查询命令获取所述被测设备的错误日志,以及向所述被测设备发送log查询命令获取所述被测设备的运行日志,以及向所述被测设备发送数据存储区读取命令,获取所述数据存储区的攻击结果数据,所述第一数据信息包括所述错误日志、所述运行日志以及所述攻击结果数据。

4.根据权利要求1所述的方法,其特征在于,若所述被测设备的网络连接为TCP连接或UDP连接,所述方法还包括:基于预先制定的用于阻断网络连接的阻断式攻击策略,向基于所述TCP连接的所述被测设备发送Flood攻击数据包或者向基于所述UDP连接的所述被测设备发送释放伪造的UDP阻断数据包进行攻击测试;

获取所述被测设备被所述阻断式攻击策略攻击后的第二数据信息;

根据获取到的所述第二数据信息和第二预设规则,生成第二测试报告。

5.根据权利要求1所述的方法,其特征在于,所述方法包括:根据预先制定的程序攻击策略,对测设备上的运行程序进行攻击;

获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息;

根据获取到的所述设备运行信息和预设规则,生成第二测试报告。

6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:基于所述第一测试报告、所述第二测试报告,按照预设模板生成复合式测试报告。

7.一种网络攻击测试装置,其特征在于,所述装置包括:攻击模块,用于根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;

获取模块,用于获取所述被测设备被所述数据攻击策略攻击后的第一数据信息;

生成模块,用于根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告;

其中,所述攻击模块,用于:向所述被测设备发送编程模式切换命令,使所述被测设备切换到编程模式,在所述编程模式下所述被测设备的运行数据能够被篡改;基于所述数据攻击策略对所述被测设备的运行数据进行修改;待修改完成后,向所述被测设备发送运行命令,使所述被测设备切换到运行模式并运行。

8.一种电子设备,其特征在于,包括:

存储器和处理器,所述处理器与所述存储器连接;

所述存储器,用于存储程序;

所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1‑6中任一项所述的方法。

9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1‑6中任一项所述的方法。

说明书 :

一种网络攻击测试方法、装置、电子设备及存储介质

技术领域

[0001] 本申请属于计算机技术领域,具体涉及一种网络攻击测试方法、装置、电子设备及存储介质。

背景技术

[0002] 随着网络的发展,尤其是工控网络和物联网的广泛应用,伴随着对工控网络以及物联网的攻击造成的损失越来越严重。因此,在工控网络以及物联网实际上线前,对其进行网络攻击测试,来评估工控网络以及物联网的安全系数是保证工控网络以及物联网安全运行的前提。其中,攻击测试的目的是为了发现被测设备或网络中的薄弱点,例如遭受了哪些类型攻击,攻击后造成的毁伤效果等,以便尽早尽快发现网络漏洞,采取防护手段,及时修复漏洞,减少潜在工控网络和物联网安全威胁。
[0003] 传统的网络攻击方式是使用阻断方式对被测设备进行攻击,检测被测设备网络连接是否被阻断。该方式只适用于以太网,不适用于工控专网,此外攻击手段有限,针对性不强。

发明内容

[0004] 鉴于此,本申请的目的在于提供一种网络攻击测试方法、装置、电子设备及计算机可读存储介质,以改善现有的攻击方法的攻击手段有限、针对性不强的问题。
[0005] 本申请的实施例是这样实现的:
[0006] 第一方面,本申请实施例提供了一种网络攻击测试方法,所述方法包括:根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;获取所述被测设备被所述数据攻击策略攻击后的第一数据信息;根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告。本申请实施例中,增加了新的攻击手段,即根据预先制定的数据攻击策略,对被测设备的运行数据进行攻击测试,该方法不仅可以适用于以太网还可以适用于工控专网,且攻击手段也不限于阻断方式进行攻击,从而解决了现有攻击方法的攻击手段有限,针对性不强的问题。
[0007] 结合第一方面实施例的一种可能的实施方式,根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,包括:向所述被测设备发送编程模式切换命令,使所述被测设备切换到编程模式,在所述编程模式下所述被测设备的运行数据能够被篡改;基于所述数据攻击策略对所述被测设备的运行数据进行修改;待修改完成后,向所述被测设备发送运行命令,使所述被测设备切换到运行模式并运行。本申请实施例中,通过向被测设备发送编程模式切换命令,使被测设备切换到编程模式,方便对被测设备的运行数据进行篡改,之后再向被测设备发送运行命令,使被测设备切换到运行模式并工作起来,便可对被测设备的运行数据进行攻击的测试,解决了现有攻击方法的攻击手段有限的问题。
[0008] 结合第一方面实施例的一种可能的实施方式,对所述被测设备的运行数据进行修改包括删除或增加运行数据、对运行数据中的数值进行修改、格式化存储介质中的至少一种。本申请实施例中,支持对被测设备的运行数据进行各种修改,修改方式多样且灵活。
[0009] 结合第一方面实施例的一种可能的实施方式,获取所述被测设备被所述数据攻击策略攻击后的第一数据信息,包括:向所述被测设备发送error查询命令获取所述被测设备的错误日志,以及向所述被测设备发送log查询命令获取所述被测设备的运行日志,以及向所述被测设备发送数据存储区读取命令,获取所述数据存储区的攻击结果数据,所述第一数据信息包括所述错误日志、所述运行日志以及所述攻击结果数据。本申请实施例中,通过获取被测设备的错误日志、运行日志以及数据存储区的攻击结果数据,即可准确反映出被测设备被所述数据攻击策略攻击后的情况。
[0010] 结合第一方面实施例的一种可能的实施方式,若所述被测设备的网络连接为TCP连接或UDP连接,所述方法还包括:基于预先制定的用于阻断网络连接的阻断式攻击策略,向基于所述TCP连接的所述被测设备发送Flood攻击数据包或者向基于所述UDP连接的所述被测设备发送释放伪造的UDP阻断数据包进行攻击测试;获取所述被测设备被所述阻断式攻击策略攻击后的第二数据信息;根据获取到的所述第二数据信息和第二预设规则,生成第二测试报告。本申请实施例中,若被测设备的网络连接为TCP连接或UDP连接,除了对被测设备的运行数据进行攻击外,还可以对其进行阻断式攻击,采用多种攻击方式进行攻击,具有攻击测试方法多样、测试场景全面的效果。
[0011] 结合第一方面实施例的一种可能的实施方式,获取所述被测设备被所述阻断式攻击策略攻击后的第二数据信息,包括:向所述被测设备发送error查询命令获取所述被测设备的错误日志,以及向所述被测设备发送log查询命令获取所述被测设备的运行日志,所述第二数据信息包括所述错误日志、所述运行日志。本申请实施例中,通过获取被测设备的错误日志以及运行日志即可准确反映出被测设备被阻断式攻击策略攻击后的情况。
[0012] 结合第一方面实施例的一种可能的实施方式,所述方法包括:根据预先制定的程序攻击策略,对测设备上的运行程序进行攻击;获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息;根据获取到的所述设备运行信息和预设规则,生成第二测试报告。本申请实施例中,增加了新的攻击手段,即根据程序攻击策略,对被测设备的运行程序进行攻击,不仅丰富了攻击手段,并且可以适用于工控专网,从而解决了现有攻击方法的攻击手段单一的技术问题。
[0013] 结合第一方面实施例的一种可能的实施方式,所述方法还包括:基于所述第一测试报告、所述第二测试报告,按照预设模板生成复合式测试报告。本申请实施例中,按照预设模板将第一测试报告、第二测试报告进行整合,生成一个复合式的测试报告,使得通过一个份报告即可获取到不同的攻击结果,极大简化了阅读的时间,节约了资源。
[0014] 第二方面,本申请实施例提供了一种网络攻击测试方法,所述方法包括:根据预先制定的程序攻击策略,对被测设备上的运行程序进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息;根据获取到的所述设备运行信息和预设规则,生成测试报告。本申请实施例中,增加了新的攻击手段,即根据程序攻击策略,对被测设备的运行程序进行攻击,该方法不仅丰富了攻击手段,并且可以适用于工控专网,从而解决了现有攻击方法的攻击手段单一的技术问题。
[0015] 结合第二方面实施例的一种可能的实施方式,根据预先制定的程序攻击策略,对被测设备上的运行程序进行攻击,包括:向所述被测设备发送监控模式切换命令,使所述被测设备切换到监控模式,在所述监控模式下能对所述被测设备上的运行程序进行篡改;根据所述程序攻击策略对所述被测设备上的运行程序进行篡改使其异常;待篡改完成后,向所述被测设备发送运行命令,使所述被测设备切换到运行模式执行被篡改的程序。本申请实施例中,通过向被测设备发送监控模式切换命令,使切换到监控模式,以便对被测设备上的程序进行篡改,之后再向被测设备的发送运行命令,使其执行被篡改的程序,这样便实现了对被测设备的运行程序进行攻击,解决了现有攻击方法的攻击手段有限的问题。
[0016] 结合第二方面实施例的一种可能的实施方式,根据所述程序攻击策略对所述被测设备上的运行程序进行篡改使其异常,包括:获取所述被测设备的设备信息,并根据所述设备信息确定所述被测设备上的核心运行程序;根据所述程序攻击策略对所述被测设备核心程序进行篡改使其异常。本申请实施例中,通过获取被测设备的设备信息,便可有针对性的对不同的设备的核心程序进行攻击,攻击方式高效且灵活。
[0017] 结合第二方面实施例的一种可能的实施方式,所述被测设备为管道运输泵,所述核心运行程序为所述管道运输泵的调节程序;或所述被测设备为冷凝设备,所述核心运行程序为所述冷凝设备的冷凝循环程序;或所述被测设备为传感器设备,所述核心运行程序为所述传感器设备的运行程序。本申请实施例中,通过各设备对应的核心程序进行攻击,使其异常,这样便可快速实现攻击测试的目的。
[0018] 结合第二方面实施例的一种可能的实施方式,获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息,包括:向所述被测设备发送error查询命令获取所述被测设备的错误日志,以及向所述被测设备发送log查询命令获取所述被测设备的运行日志,所述设备运行信息包括所述错误日志、所述运行日志。本申请实施例中,通过获取被测设备的错误日志、运行日志,即可了解被测设备被程序攻击策略攻击后的情况。
[0019] 结合第二方面实施例的一种可能的实施方式,所述预设规则包括:所述测试报告的格式、所述测试报告所包含的项目种类以及生成所述测试报告的模板及规则。本申请实施例中,通过实现对测试报告的格式、测试报告所包含的项目种类以及生成测试报告的模板及规则进行执行,使得最终生成的测试报告可以按照所需的方式进行生成。
[0020] 结合第二方面实施例的一种可能的实施方式,所述测试报告包括所述被测设备的类型、攻击测试的方法、所述被测设备所处的网络环境、所述设备运行信息、所述被测设备的毁伤效果。本申请实施例中,通过获取上述几项关键信息,便能准确获悉本次测试中的关键信息。
[0021] 第三方面,本申请实施例还提供了一种网络攻击测试装置,所述装置包括:攻击模块、获取模块以及获取模块。
[0022] 攻击模块,用于根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;
[0023] 获取模块,用于获取所述被测设备被所述数据攻击策略攻击后的第一数据信息;
[0024] 获取模块,用于根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告。
[0025] 第四方面,本申请实施例还提供了一种网络攻击测试装置,所述装置包括:攻击模块、获取模块以及生成模块;攻击模块,用于根据预先制定程序攻击策略,对被测设备上的运行程序进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;获取模块,用于获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息;生成模块,用于根据获取到的所述设备运行信息和预设规则,生成测试报告。
[0026] 第五方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法,或者,以执行上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法。
[0027] 第六方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法,或者,以执行上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法。
[0028] 本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

附图说明

[0029] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
[0030] 图1示出了本申请实施例提供的网络攻击测试方法所涉及到的被测设备与攻击测试设备的网络拓扑图。
[0031] 图2示出了本申请实施例提供的一种网络攻击测试方法的流程示意图。
[0032] 图3为图2中S1的一种具体实现方式的示意图。
[0033] 图4示出了本申请实施例提供的又一种网络攻击测试方法的流程示意图。
[0034] 图5示出了本申请实施例提供的又一种网络攻击测试方法的流程示意图。
[0035] 图6为图5中S10的一种具体实现方式的示意图。图7示出了本申请实施例提供的一种网络攻击测试装置的模块示意图。
[0036] 图8示出了本申请实施例提供的又一种网络攻击测试装置的模块示意图。
[0037] 图9示出了本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0038] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0039] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0040] 再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
[0041] 鉴于现有的攻击方法的攻击手段有限(使用阻断方式对被测设备进行攻击,且该方式仅适用于以太网)。本申请实施例提供了一种网络攻击测试方法,该方法不仅可以适用于以太网还可以适用于工控专网,且增加了新的攻击手段,攻击手段也不限于阻断方式进行攻击,从而解决了现有攻击方法的攻击手段有限,针对性不强的问题。图1为本申请实施例提供的网络攻击测试方法所涉及到的被测设备(为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备)与攻击测试设备的网络拓扑图。攻击测试设备以及被测设备均与工控网络或以太网络数据交换设备(如工业交换机、专用交换设备、集线器、流量汇聚装置等)通信。攻击测试设备通过该数据交换设备对被测设备进行攻击测试。其中,工控网络和以太网络是两种不同的网络。工控网络可以是Host Link、Controller Link、SYSMAC LINK、SYSMAC WAY、Toolbus等工控专网网络。基于Omron Fins协议通信的设备,具有完成本申请提供的网络攻击测试方法所需的编程模式、监控模式及运行模式。
[0042] 其中,Host Link即上位机链接网络,使用专用线缆,允许一台上位机通过上位机链接命令向Host Link系统的可编程逻辑控制器(Programmable Logic Controller,PLC)发送命令,PLC处理来自上位机的每条指令,并把结果传回上位机。
[0043] Controller  Link是Omron(欧姆龙)推出的一种工厂自动化(Factory Automation,FA)网络,通过专用线缆,能在PLC、计算机等节点间方便、灵活地发送和接收大容量数据包,且实时性,可靠性较高。
[0044] SYSMAC LINK网络,使用专用线缆,在企业加工的生产中,它把相关工序的中央处理器(CentralProcessing Unit,CPU)之间组成网络,传递数据和信号,使生产控制简化,稳定可靠。
[0045] SYSMAC WAY是一种Host Link(上位链接协议)工控专网下面的一种上位机网络,需要专门电缆。
[0046] Omron(欧姆龙)的Tool bus协议网络,使用计算机串口和Omron的专用通讯线缆与PLC通讯,进行命令收发以及数据传输。
[0047] 第一实施例
[0048] 下面将结合图2,对本申请一实施例提供的网络攻击测试方法进行说明。
[0049] S1:根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击。
[0050] 其中,被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备,当需要对被测设备进行攻击测试时,需要事先制定对被测设备进行攻击的攻击策略,例如,制定用于对设备运行数据进行攻击的数据攻击策略,该数据攻击策略包括被攻击的运行数据的类型、对运行数据的攻击方式如删除或增加运行数据、对运行数据中的数值进行修改、格式化存储介质中的至少一种等。之后,在对被测设备进行攻击测试时,攻击测试设备便可根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备进行攻击测试。
[0051] 其中,被攻击的运行数据的类型可以有多种,也即可以对不同类型的运行数据进行修改,且不同类型的运行数据的修改方式可以不同。
[0052] 一种实施方式下,上述S1的攻击过程可以如图3所示:攻击测试设备首先向被测设备发送编程模式切换命令,使被测设备切换到编程模式,其中,在编程模式下被测设备的运行数据能够被篡改,之后基于数据攻击策略对被测设备的运行数据进行修改,待修改完成后,向被测设备发送运行命令,使被测设备从编程模式切换到运行模式并运行,使被测设备工作起来。
[0053] 其中,对被测设备的运行数据进行修改时,是基于数据攻击策略中指定的被攻击的运行数据,按照指定的攻击方式进行修改,例如,可以是删除或增加运行数据、对运行数据中的数值进行修改、格式化存储介质中的至少一种。
[0054] 需要说明的是,上述的根据数据攻击策略对被测设备进行攻击测试时,被测设备所处的网络环境可以是以太网或工控网络。
[0055] 其中,上述的运行数据包括输入的参数数据,以及设备根据输入的参数运行的结果数据。所述输入的参数数据包括设备运行需要输入的必要运行参数,如转速,温度,湿度,压强,输入的配置文件,网络号,节点号,单元号等输入参数;所述结果数据包括设备运行一段时间后的结果数据,以及是否达到输入参数的要求等数据,例如,按照某个转数旋转而获取的转数,是否达到某个实验浓度,设备在运行后是否保证某个空间的压力在输入参数范围内,冶炼设备在加热某些物质后是否达到输入的熔点温度等。
[0056] S2:获取所述被测设备被所述数据攻击策略攻击后的第一数据信息。
[0057] 在根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备进行攻击测试后,获取被测设备被数据攻击策略攻击后的第一数据信息。
[0058] 一种实施方式下,上述获取第一数据信息的过程可以是:向被测设备发送error查询命令获取被测设备的错误日志,以及向被测设备发送log查询命令获取被测设备的运行日志,以及向被测设备发送数据存储区读取命令,获取数据存储区的攻击结果数据,第一数据信息包括错误日志、运行日志以及攻击结果数据。
[0059] 其中,设备根据篡改的输入参数(如输入的压强,温度,湿度,浓度,含氧量等参数)或结果数据运行后,必然会产生错误的运行结果,这样便能获取基于错误输入产生的错误运行日志及错误日志。
[0060] 需要说明的是,第一数据信息可以仅包括上述的错误日志、运行日志以及数据存储区的攻击结果数据中的部分数据。此外,第一数据信息并不限于包括错误日志、运行日志以及攻击结果数据,还可以包括其他数据,如设备信息等。因此不能将上述的同时包含错误日志、运行日志以及攻击结果数据的实施方式理解成是对第一数据信息的限制。
[0061] S3:根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告。
[0062] 在获取到被测设备被数据攻击策略攻击后的第一数据信息后,便可根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告。
[0063] 其中,第一预设规则为事先根据需要进行设定的规则,可以是第一测试报告的格式(如表格、word、PDF)、所包含的项目种类以及生成测试报告的模板等进行设定。在生成第一测试报告时,便可按照第一预设规则进行生成。
[0064] 一种实施方式下,该第一测试报告包含的项目种类包括:被测设备的类型、攻击测试的方法、被测设备所处的网络环境(以太网或工控网)、被测设备运行错误日志、运行日志以及攻击结果数据,被测设备的毁伤效果等。其中,被测设备的毁伤效果可以根据被测设备运行错误日志、运行日志以及攻击结果数据分析得到,例如,攻击结果数据、运行日志以及运行错误日志中的错误越多毁伤效果越严重。可选地,被测设备所处的网络环境可以事先确定,也即在配置第一预设规则时,便根据测被测设备所处的网络环境对其配置项进行配置。
[0065] 一种实施方式下,在对被测设备进行攻击时,除了基于预先制定的用于对设备运行数据进行攻击的数据攻击策略对被测设备进行攻击测试外,还可以对该被测设备进行其他类型的攻击测试,例如,若被测设备的网络连接为传输控制协议(Transmission Control Protocol,TCP)连接或用户数据报协议(User Data Protocol,UDP)连接,则还可以对被测设备进行阻断式攻击。例如,基于预先制定的用于阻断网络连接的阻断式攻击策略,向基于TCP连接的被测设备发送Flood攻击数据包或者向基于UDP连接的被测设备发送释放伪造的UDP阻断数据包进行攻击测试,在基于阻断式攻击策略对被测设备进行攻击测试之后,获取被测设备被阻断式攻击策略攻击后的第二数据信息,根据获取到的第二数据信息和第二预设规则,便可生成第二测试报告,其流程示意图如图4所示。
[0066] 在该种实施方式下,需要事先对用于阻断网络连接的阻断式攻击策略进行制定。例如,包括对阻断式攻击策略中的阻断时间、阻断方法(包括但不限于向基于TCP连接的被测设备发送Flood攻击数据包进行攻击测试、向基于UDP连接的被测设备发送释放伪造的UDP阻断数据包进行攻击测)等进行制定。
[0067] 其中,Flood是基于TCP协议栈发起的攻击,在TCP/IP协议中,TCP协议提供可靠的连接服务,无论是从哪一个方向另一方发送数据前,都必须先在双方之间建立一条连接通道,这就是常说的TCP三次握手。下面以客户端和被测设备的三次握手为例进行说明。第一次握手:客户端向被测设备端发送一个SYN(Synchronize)报文,指明想要建立连接的被测设备端口,以及序列号ISN。第二次握手:被测设备在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时在SYN+ACK报文中将确认号设置为客户端的ISN号加1。其中,ACK即表示确认(Acknowledgment)。第三次握手:客户端收到被测设备的SYN+ACK报文,向被测设备发送ACK报文进行确认,ACK报文发送完毕,三次握手建立成功。Flood攻击正是利用了TCP三次握手的这种机制。攻击者向被测设备发送大量的SYN报文请求,当被测设备回应SYN+ACK报文时,不再继续回应ACK报文,导致被测设备上建立大量的半连接,直至老化。这样,被测设备的资源会被这些半连接耗尽,导致正常的请求无法回应。
[0068] 发送的UDP阻断数据包用于阻断UDP会话。当需要阻断被测设备与某个设备建立的UDP会话时,根据监听到的UDP数据包信息组装一个伪造的UDP阻断数据包,例如ICMP(Internet Control Message Protocol,Internet控制报文协议)数据包,然后将这个伪造的数据包直接发送到被测设备,被测设备收到这个伪造的UDP阻断数据包,此时它会认为会话的另一端发送了错误通知信息,根据标准协议,操作系统会通知应用程序此UDP数据包发送错误。这样拥有此会话的应用程序就会断开此次UDP会话,从而达到阻止非法网络访问的目的。
[0069] 其中,获取被测设备被阻断式攻击策略攻击后的第二数据信息的过程可以是:向被测设备发送error查询命令获取被测设备的错误日志,以及向被测设备发送log查询命令获取被测设备的运行日志,第二数据信息包括错误日志、运行日志。需要说明的是,第二数据信息并不限于错误日志+运行日志,还可以包括设备信息等。此外,查询命令并不限于上述的查询命令,日志也不限于上述的日志。
[0070] 其中,第二预设规则为事先根据需要进行设定的规则,可以是第二测试报告的格式(如表格、word、PDF)、所包含的项目种类以及生成测试报告的模板等进行设定。在生成第二测试报告时,便可按照第二预设规则进行生成。
[0071] 一种实施方式下,该第二测试报告包含的项目种类包括:被测设备的类型、攻击测试的方法、被测设备所处的网络环境(默认为以太网)、被测设备运行错误日志、运行日志,被测设备的毁伤效果等。其中,被测设备的毁伤效果可以根据被测设备运行错误日志、运行日志分析得到,例如,运行日志以及运行错误日志中的错误越多毁伤效果越严重。可选地,被测设备所处的网络环境可以事先确定,也即在配置第二预设规则时,便根据测被测设备所处的网络环境对其配置项进行配置。
[0072] 一种实施方式下,在得到第一测试报告和第二测试报告后,还可以基于第一测试报告、第二测试报告,按照预设模板生成复合式测试报告。当涉及多种类型的攻击测试时,通过将多个测试报告进行整合,生成一份复合式测试报告输出,以简化阅读的时间。
[0073] 其中,预设模板为事先制定,包括多种攻击类型(阻断式攻击、运行数据攻击等),每种攻击类型下的预设项目,例如,预设项目可以包括被测设备的类型、攻击测试的方法、被测设备所处的网络环境、被测设备运行错误日志、运行日志,被测设备的毁伤效果。
[0074] 第二实施例
[0075] 基于同样的发明构思,本申请还提供了又一种解决上述技术问题的网络攻击测试方法,下面将结合图5,对本申请实施例提供的网络攻击测试方法进行说明。
[0076] S10:根据预先制定的程序攻击策略,对被测设备上的运行程序进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备。
[0077] 本申请中,所说的运行程序,是指设备正常运行实现其正常功能所需的程序。当需要对被测设备进行攻击测试时,需要事先制定对被测设备进行攻击的攻击策略,例如,制定用于对设备运行程序进行攻击的程序攻击策略,该数据攻击策略包括对被测设备的指定程序进行攻击、攻击的方式如篡改程序、替换程序等。
[0078] 其中,被测设备不同,对应的指定程序可以不同,例如,被测设备为管道运输泵,对应的指定程序可以为管道运输泵的调节程序;或者,被测设备为冷凝设备,对应的指定程序可以为冷凝设备的冷凝循环程序;或者,被测设备为传感器设备,对应的指定程序可以为传感器设备的运行程序。
[0079] 一种实施方式下,S10的攻击过程可以如图6所示:攻击测试设备向被测设备发送监控模式切换命令,使被测设备切换到监控模式,在监控模式下可以对被测设备的运行程序进行篡改,之后根据程序攻击策略对被测设备的运行程序进行篡改使其异常,待篡改完成后,向被测设备发送运行命令,使被测设备切换到运行模式执行被篡改的程序,使其运行起来。
[0080] 其中,被测设备的运行程序有很多,在对被测设备的运行程序进行篡改时,是对程序攻击策略中指定的程序进行篡改,且是按照程序攻击策略中的篡改方式进行篡改。不同的被测设备的指定程序可以相同,在该种实施方式下,可以对不同的被测设备共有的指定程序进行攻击。
[0081] 一种可选实施方式下,可以是对被测设备的核心程序进行攻击,由于不同的设备,其核心程序不同,因此,在该种实施方式下,根据程序攻击策略对被测设备的运行程序进行篡改使其异常的过程可以是:首先获取被测设备的设备信息(如序列号、MAC(Media Access Control,媒体接入控制)地址等),并根据设备信息确定被测设备的核心运行程序,然后根据程序攻击策略对被测设备核心程序进行篡改使其异常。通过获取被测设备的设备信息,便可对其程序进行有针对性地攻击,例如,若设备信息表征被测设备为管道运输泵,则对管道运输泵的调节程序进行篡改使管道失去运输能力或超量运输;若设备信息表征被测设备为冷凝设备,则对冷凝设备的冷凝循环程序进行篡改,对冷凝系统进行致命攻击,使其异常;若设备信息表征被测设备为传感器设备,则对传感器设备的运行程序进行修改,使其产生错误数据,进而使使用该传感器的相应设备失灵。
[0082] 其中,可以通过事先配置设备信息与核心运行程序的关系表,该关系表中配置有多个设备信息与其对应的核心运行程序的对应关系。在后续获取到设备信息后,通过查找该关系表即可确定对应的核心运行程序。
[0083] 需要说明的是,所述程序攻击策略包括但不限于运输管道泵压力变化异常,冷凝设备异常,传感器数据伪造等策略。
[0084] S20:获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息。
[0085] 在根据预先制定的程序攻击策略,对被测设备上的运行程序进行攻击后,获取运行程序被程序攻击策略攻击后,被测设备的设备运行信息。
[0086] 一种实施方式下,上述获取设备运行信息的过程可以是:向被测设备发送error查询命令获取被测设备的错误日志,以及向被测设备发送log查询命令获取被测设备的运行日志,其中,设备运行信息包括错误日志、运行日志。需要说明的是,设备运行信息并不限于上述的错误日志、运行日志,还可以包括设备信息、内存读取数据、文件读取数据等。上述的错误日志是指按照被篡改的程序运行后产生的错误日志,同理,运行日志是指按照篡改的程序运行后的日志信息。错误日志及运行日志都是通过命令获取,本申请实施例中所涉及的获取设备运行信息的命令并不限于上述的error查询命令、log查询命令,还可以是内存读取,文件读取等命令。
[0087] S30:根据获取到的所述设备运行信息和预设规则,生成测试报告。
[0088] 在获取到被测设备被程序攻击策略攻击后的设备运行信息后,便可根据获取到的设备运行信息和预设规则,生成测试报告。
[0089] 其中,预设规则为事先根据需要设定的规则,例如,预设规则包括:测试报告的格式、测试报告所包含的项目种类以及生成测试报告的模板及规则,也即可以事先对测试报告的格式(如表格、word、PDF)、所包含的项目种类以及生成测试报告的模板等进行设定。在生成测试报告时,便可按照预设规则进行生成。
[0090] 一种实施方式下,该测试报告包含的项目种类包括:被测设备的类型(如运输管道泵、冷凝设备等)、攻击测试的方法(如对运行程序进行攻击)、被测设备所处的网络环境(以太网或工控网)、被测设备运行错误日志和运行日志、被测设备的毁伤效果等。其中,被测设备的毁伤效果可以根据被测设备运行错误日志、运行日志分析得到,例如,运行日志以及运行错误日志中的错误越多毁伤效果越严重。
[0091] 可选地,被测设备所处的网络环境可以事先确定,也即在配置预设规则时,便根据测试被测设备所处的网络环境对该测试项目进行配置好,例如处于工控网。
[0092] 需要说明的是,上述的第一实施例和第二实施例可以结合,也即在对被测设备进行攻击时,可以是采用图1+图5所示的方式进行攻击,也即此时可以基于数据攻击策略对被测设备进行攻击生成第一测试报告,又可以基于程序攻击策略对被测设备进行攻击生成第二测试报告,然后再将第一测试报告和第二测试报告进行整合,生成复合式测试报告;同理,也可以是采用图4+图5所示的方式进行攻击,还可以是同时采用图1+图4+图5的方式进行攻击。当采用三种不同的攻击方式对被测设备进行攻击,生成三份测试报告时,为了便于测试阅读,简化阅读的时间,在得到三份测试报告后,还可以按照预设模板生成复合式测试报告,也即基于数据攻击策略对被测设备进行攻击后会生成一份测试报告,基于程序攻击策略对被测设备进行攻击后会生成一份测试报告,基于阻断式攻击策略对被测设备进行攻击后会生成一份测试报告,共三份测试报告,在得到三份测试报告后,还可以按照预设模板生成复合式测试报告。
[0093] 基于同样的发明构思,如图7所示,本申请实施例还提供了一种网络攻击测试装置100,该网络攻击测试装置100包括:攻击模块110、获取模块120以及生成模块130。
[0094] 攻击模块110,用于根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备。
[0095] 获取模块120,用于获取所述被测设备被所述数据攻击策略攻击后的第一数据信息。
[0096] 生成模块130,用于根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告。
[0097] 一种实施方式下,攻击模块110,用于向所述被测设备发送编程模式切换命令,使所述被测设备切换到编程模式,在所述编程模式下所述被测设备的运行数据能够被篡改;基于所述数据攻击策略对所述被测设备的运行数据进行修改;待修改完成后,向所述被测设备发送运行命令,使所述被测设备切换到运行模式并运行。
[0098] 其中,对所述被测设备的运行数据进行修改包括删除或增加运行数据、对运行数据中的数值进行修改、格式化存储介质中的至少一种。
[0099] 一种实施方式下,获取模块120,用于向所述被测设备发送error查询命令获取所述被测设备的错误日志,以及向所述被测设备发送log查询命令获取所述被测设备的运行日志,以及向所述被测设备发送数据存储区读取命令,获取所述数据存储区的攻击结果数据,所述第一数据信息包括所述错误日志、所述运行日志以及所述攻击结果数据。
[0100] 若所述被测设备的网络连接为TCP连接或UDP连接,可选地,攻击模块110,还用于基于预先制定的用于阻断网络连接的阻断式攻击策略,向基于所述TCP连接的所述被测设备发送Flood攻击数据包或者向基于所述UDP连接的所述被测设备发送释放伪造的UDP阻断数据包进行攻击测试。
[0101] 获取模块120,还用于获取所述被测设备被所述阻断式攻击策略攻击后的第二数据信息。
[0102] 生成模块130,还用于根据获取到的所述第二数据信息和第二预设规则,生成第二测试报告。
[0103] 一种实施方式下,生成模块130,用于向所述被测设备发送error查询命令获取所述被测设备的错误日志,以及向所述被测设备发送log查询命令获取所述被测设备的运行日志,所述第二数据信息包括所述错误日志、所述运行日志。
[0104] 可选地,攻击模块110,还用于根据预先制定的程序攻击策略,对测设备上的运行程序进行攻击。获取模块120,还用于获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息。生成模块130,还用于根据获取到的所述设备运行信息和预设规则,生成第二测试报告。
[0105] 可选地,生成模块130,还用于基于所述第一测试报告、所述第二测试报告,按照预设模板生成复合式测试报告。本申请实施例所提供的网络攻击测试装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0106] 基于同样的发明构思,如图8所示,本申请实施例还提供了一种网络攻击测试装置200,该网络攻击测试装置200包括:攻击模块210、获取模块220以及生成模块230。
[0107] 攻击模块210,用于根据预先制定的程序攻击策略,对被测设备上的运行程序进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备。
[0108] 获取模块220,用于获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息。
[0109] 生成模块230,用于根据获取到的所述设备运行信息和预设规则,生成测试报告。
[0110] 一种实施方式下,攻击模块210,用于向所述被测设备发送监控模式切换命令,使所述被测设备切换到监控模式,在所述监控模式下能对所述被测设备上的运行程序进行篡改;根据所述程序攻击策略对所述被测设备上的运行程序进行篡改使其异常;待篡改完成后,向所述被测设备发送运行命令,使所述被测设备切换到运行模式执行被篡改的程序。
[0111] 攻击模块210,用于获取所述被测设备的设备信息,并根据所述设备信息确定所述被测设备上的核心运行程序;根据所述程序攻击策略对所述被测设备核心程序进行篡改使其异常。
[0112] 一种实施方式下,获取模块220,用于向所述被测设备发送error查询命令获取所述被测设备的错误日志,以及向所述被测设备发送log查询命令获取所述被测设备的运行日志,所述设备运行信息包括所述错误日志、所述运行日志。
[0113] 本申请实施例所提供的网络攻击测试装置200,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0114] 如图9所示,图9示出了本申请实施例提供的一种电子设备300的结构框图。所述电子设备300包括:收发器310、存储器320、通讯总线330以及处理器340。
[0115] 所述收发器310、所述存储器320、处理器340各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线330或信号线实现电性连接。其中,收发器310用于收发数据。存储器320用于存储计算机程序,如存储有图7或图8中所示的软件功能模块,即图7所示的网络攻击测试装置100,或图8所示的网络攻击测试装置200。其中,网络攻击测试装置100或网络攻击测试装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器320中或固化在所述电子设备300的操作系统(operating system,OS)中的软件功能模块。所述处理器340,用于执行存储器320中存储的可执行模块,例如网络攻击测试装置100或网络攻击测试装置200包括的软件功能模块或计算机程序。
[0116] 例如,处理器340在执行网络攻击测试装置100包括的软件功能模块或计算机程序时,用于根据预先制定的用于对设备运行数据进行攻击的数据攻击策略,对被测设备上的运行数据进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;获取所述被测设备被所述数据攻击策略攻击后的第一数据信息;根据获取到的所述第一数据信息和第一预设规则,生成第一测试报告。
[0117] 例如,处理器340在执行网络攻击测试装置200包括的软件功能模块或计算机程序时,用于根据预先制定的程序攻击策略,对被测设备上的运行程序进行攻击,所述被测设备为基于Omron Fins协议通信的被测工控设备或基于Omron Fins协议通信的被测物联网设备;获取所述运行程序被所述程序攻击策略攻击后,所述被测设备的设备运行信息;根据获取到的所述设备运行信息和预设规则,生成测试报告。
[0118] 其中,存储器320可以是,但不限于,随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read‑Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read‑Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read‑Only Memory,EEPROM)等。
[0119] 处理器340可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing  Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器340也可以是任何常规的处理器等。
[0120] 其中,上述的电子设备300可以是上述的攻击测试设备,攻击测试设备包括但不限于上位机、计算机等。
[0121] 本申请实施例还提供了一种非易失性的计算机可读取储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备300运行时,执行上述所示的网络攻击测试方法。
[0122] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0123] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0124] 另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0125] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0126] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。