一种设备行为模拟方法、装置、硬件芯片及电子设备与流程

文档序号:30965395发布日期:2022-07-30 16:57阅读:87来源:国知局
一种设备行为模拟方法、装置、硬件芯片及电子设备与流程

1.本发明涉及信息安全技术领域,尤其涉及一种设备行为模拟方法、装置、硬件芯片及电子设备。


背景技术:

2.随着工业互联网的快速发展,工业互联网技术逐渐应用到了化工、汽车、智能制造等工业行业。工业控制网络作为工业互联网的重要组成部分,其安全问题也逐渐凸显。在工业互联网安全领域,针对人员攻击行为与模式的认识仍然处于一个模糊的状态,攻击和防护之间始终存在着差距。这使得针对工业互联网的安全研究处于一个不利的局面。当前工业互联网智能设备蜜罐主要存在两大缺陷:
3.1、传统的工业互联网蜜罐主要通过软件方式模拟设备通信行为,极易被攻击者识破,导致无法有效捕获或者分析攻击软件的行为,难以发现其攻击意图。
4.2、如果使用真实设备搭建蜜罐网络,造成资源浪费并且不便于蜜罐网络的维护。


技术实现要素:

5.有鉴于此,本发明提供一种设备行为模拟方法、装置、硬件芯片及电子设备,至少部分解决现有技术中存在的问题。
6.根据本技术的一个方面,提供一种设备行为模拟方法,应用于硬件芯片,所述硬件芯片用于模拟目标设备的工作行为;
7.所述方法包括:
8.获取所述目标设备对应的环境参数和运行文件;
9.根据所述环境参数在所述硬件芯片内建立运行环境;
10.在所述运行环境中,执行所述运行文件,以使所述硬件芯片模拟所述目标设备的工作行为。
11.在本技术的一种示例性实施例中,所述根据所述环境参数在所述硬件芯片内建立运行环境,包括:
12.根据所述环境参数确定目标设备的至少一个原始数据交换接口;
13.确定每一原始数据交换接口对应的目标数据交换接口,所述目标数据交换接口为所述硬件芯片的物理接口;
14.配置所述目标数据交换接口,以使所述目标数据交换接口能够执行对应的所述原始数据交换接口的相同功能。
15.在本技术的一种示例性实施例中,所述运行环境包括操作系统;
16.所述方法还包括:
17.确定所述操作系统对应的内存地址集合;
18.根据所述内存地址集合对所述操作系统对应的物理内存进行直接内存访问,以获取所述操作系统的运行信息。
19.在本技术的一种示例性实施例中,所述方法还包括:
20.确定所述运行信息中的异常数据;
21.根据所述异常数据对应的数据源,持续对所述数据源发送的数据进行监控。
22.在本技术的一种示例性实施例中,所述硬件芯片内设置有防火墙,所述防火墙设置有目标漏洞,所述目标漏洞具有对应的调用接口;
23.所述方法还包括:
24.对所述调用接口接收的数据包进行捕获。
25.在本技术的一种示例性实施例中,所述方法还包括:
26.接收重置指令,以对所述运行环境进行重置。
27.在本技术的一种示例性实施例中,所述目标设备具有与其通信连接的上游设备和下游设备;
28.所述硬件芯片与所述上游设备和所述下游设备连接;
29.所述硬件芯片能接收所述上游设备的发送的输入信息,并根据所述运行文件对所述输入信息进行处理得到输出信息;
30.所述输出信息用于发送至所述下游设备,所述输出信息被配置为不会被所述下游设备所响应。
31.根据本技术的一个方面,提供一种设备行为模拟装置,应用于硬件芯片,所述硬件芯片用于模拟目标设备的工作行为;
32.所述装置包括:
33.获取模块,用于获取所述目标设备对应的环境参数和运行文件;
34.建立模块,用于根据所述环境参数在所述硬件芯片内建立运行环境;
35.运行模块,用于在所述运行环境中,执行所述运行文件,以使所述硬件芯片模拟所述目标设备的工作行为。
36.根据本技术的一个方面,提供一种硬件芯片,所述硬件芯片用于执行上述任一项所述方法的步骤。
37.根据本技术的一个方面,提供一种电子设备,所述电子设备包括硬件芯片,所述硬件芯片用于执行上述任一项所述方法的步骤。
38.本技术提供的一种设备行为模拟方法,能够通过目标设备的环境参数和运行文件,在硬件芯片中建立与目标设备相同的运行环境,并在运行环境中运行目标设备的运行文件,以实现对目标设备的工作行为模拟。本技术中,通过硬件芯片直接对目标设备的工作行为进行模拟,使得目标设备的工作行为在硬件芯片进行实际的运行,而不是通过软件实现虚拟运行,如此提高了硬件芯片的隐蔽性,不易被恶意用户识破,提高安全性。
附图说明
39.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
40.图1为本实施例提供的一种设备行为模拟方法的流程图;
41.图2为本实施例提供的一种设备行为模拟装置的结构框图;
42.图3为本实施例提供的一种硬件芯片的使用状态结构示意图。
具体实施方式
43.下面结合附图对本发明实施例进行详细描述。
44.需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本发明,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
46.请参考图1所示,根据本技术的一个方面,提供一种设备行为模拟方法,应用于硬件芯片,所述硬件芯片用于模拟目标设备的工作行为。
47.所述方法包括以下步骤:
48.步骤s100,获取所述目标设备对应的环境参数和运行文件。
49.步骤s200,根据所述环境参数在所述硬件芯片内建立运行环境。
50.步骤s300,在所述运行环境中,执行所述运行文件,以使所述硬件芯片模拟所述目标设备的工作行为。
51.其中,所述硬件芯片内设置有防火墙,所述防火墙设置有目标漏洞。
52.本实施例中,目标设备为工业互联网设备,如plc、嵌入式控制器或单片机等。
53.在传统的行为模拟方式中,若要对plc行为模拟,由于使用pc只能进行软件层面的通讯模拟,其属于低交互行为模拟,被恶意用户识破的几率很高。而进行高交互行为模拟需要使用和被模拟设备相同的设备进行模拟运行,但由于单件设备的造价往往很高,故而这种行为模拟方式的成本非常高。
54.本实施例中,硬件芯片本身为可编程并进行逻辑处理的硬件芯片,其自身也带有若干的数据交互接口,可以实现对plc等工业互联网设备的接口模拟和实际运行行为的模拟。故而,可以在硬件芯片中实际建立一个和目标设备相同的运行环境,并使运行稳健在运行环境中实际运行,从而实现高交互行为模拟。即硬件芯片与目标设备的运行环境和运行动作(执行运行文件)均保持相同,并没有哪些行为或数据是通过软件模拟产生的,故而实施时对恶意用户的欺骗性较强。
55.同时,硬件芯片内的防火墙设置有目标漏洞,目标漏洞用于引诱恶意用户进行攻击,使得硬件芯片能够通过在控制下的目标漏洞捕获和监控到恶意用户的攻击行为。
56.本实施例提供的一种设备行为模拟方法,能够通过目标设备的环境参数和运行文件,在硬件芯片中建立与目标设备相同的运行环境,并在运行环境中运行目标设备的运行文件,以实现对目标设备的工作行为模拟。本实施例中,通过硬件芯片直接对目标设备的工作行为进行模拟,使得目标设备的工作行为在硬件芯片进行实际的运行,而不是通过软件
实现虚拟运行,如此提高了硬件芯片的隐蔽性,不易被恶意用户识破,提高安全性。且单个硬件芯片的造价低于目标设备的造价,实现了低成本的高交互行为模拟。
57.在本技术的一种示例性实施例中,所述根据所述环境参数在所述硬件芯片内建立运行环境,包括:
58.根据所述环境参数确定目标设备的至少一个原始数据交换接口;
59.确定每一原始数据交换接口对应的目标数据交换接口,所述目标数据交换接口为所述硬件芯片的物理接口;
60.配置所述目标数据交换接口,以使所述目标数据交换接口能够执行对应的所述原始数据交换接口的相同功能。
61.其中,原始数据交换接口和目标数据交换接口均可以为i/o接口。配置所述目标数据交换接口具体可以为,根据对应的原始数据交换接口的接口名称、接口对应函数、接口连接关系等对目标数据交换接口进行配置,以使得目标数据交换接口具备与原始数据交换接口相同的上述配置,并实现相同的功能。
62.本实施例中,在建立运行环境时,区别于软件行为模拟的方式中使用模拟数据接口(没有实际接口,只有一个虚拟的地址),采用的是硬件芯片的物理接口来进行目标设备响应数据交换接口的相同工作,实现了接口功能的实际运行,故而恶意用户难以通过目标数据交换接口的行为和相关数据识破该接口不是实际工业互联网设备中的数据交换接口,进一步提高设备行为模拟方法的隐蔽性。
63.在本技术的一种示例性实施例中,所述目标设备具有与其通信连接的上游设备和下游设备;
64.所述硬件芯片与所述上游设备和所述下游设备连接;
65.所述硬件芯片能接收所述上游设备的发送的输入信息,并根据所述运行文件对所述输入信息进行处理得到输出信息;
66.所述输出信息用于发送至所述下游设备,所述输出信息被配置为不会被所述下游设备所响应。
67.本实施例中,硬件芯片与目标设备对应的上游设备和下游设备实际连接,并也会接受上游设备的输入信息并向下游设备发送输出信息。这样,使得硬件芯片在恶意用户的视角下,是实际连接在工业互联网网络中并进行设备间的通讯的。
68.同时,硬件芯片对输入信息的处理采用的运行文件和目标设备中使用的运行文件相同,也对输入信息进行实际处理,并不是如软件模拟中通过映射表等简单对照关系直接确定出输出信息,使得硬件芯片的所有模拟行为在恶意用户的视角下是与目标设备相同的,如此,进一步提高了硬件芯片的隐蔽性,不易被恶意用户识破。
69.具体的,本实施例中,硬件芯片可以在一定程度上看作为和目标设备是并联的,二者获得的输入信息和生成的输出信息在信息路径和信息内容上均相同。但硬件芯片的输出信息不会被其连接的下游设备所响应,避免恶意用户通过目标漏洞入侵后,更改输出信息从而影响下游设备正常工作的情况发生。
70.输出信息被配置为不会被所述下游设备所响应的实现方法可以为,在硬件芯片的输出信息的设定字节处嵌入设定标识或字符,使得下游设备在接收到具有设定标识或字符的信息后直接对信息进行丢弃。或直接将下游设备与目标芯片连接的i/o端口设置为空端
口。
71.在本技术的一种示例性实施例中,所述运行环境包括操作系统;
72.所述方法还包括:
73.确定所述操作系统对应的内存地址集合;
74.根据所述内存地址集合对所述操作系统对应的物理内存进行直接内存访问,以获取所述操作系统的运行信息。
75.在一些高端工业互联网设备中,其内部具有自己的操作系统,以对一些软件程序等进行运行。但由于工业互联网设备的操作系统大多为密闭系统,故而使用实际的工业互联网设备进行高交互行为模拟,也无法通过代理方式获取其内部行为数据,所以采集的数据有限。
76.本实施例提供的硬件信息在建立运行环境时也会建立对应的操作系统,根据工作环境中的操作系统对应的内存地址集合,对该操作系统运行时所依托的物理内存(硬件内存)进行直接内存访问(dma,direct memory access),以此直接读取操作系统的运行过程中的相关数据,并通过对读取到的系统内存数据(运行信息)进行分析,从而确定出恶意用户的攻击行为。例如通过读取网卡流量数据,记录网卡中的全部通信数据。采集的数据可以包括:主机键盘输入、网络通信端口、系统日志、主机文件变化、网络通信数据包、设备的运行状态和远程操作日志等,从而能够隐蔽地记录攻击者的键盘输入、通信端口、日志、文件变化、网络通信等。
77.本实施例通过直接内存读取获取系统数据相较于通过hook系统api方式读取,实现无痕行为数据采集,增加了设备行为模拟的隐蔽性,同时也提高了采集数据的全面性。
78.在本技术的一种示例性实施例中,所述方法还包括:
79.确定所述运行信息中的异常数据;
80.根据所述异常数据对应的数据源,持续对所述数据源发送的数据进行监控。
81.具体的,工业互联网中的智能设备的接收信息和输出信息相对单一且信息结构和内容相对统一,故而确定所述运行信息中的异常数据的方法可以为,通过对运行信息中的每一输入信息和输出信息与正常的信息模板进行比较,从而将差异性较大的信息对应的数据确定为异常数据。也可以通过每一运行信息对应的功能和安全功能进行比较,确定出异常数据。
82.确定出异常数据后,可以根据异常数据对应的数据来源信息确定出对应的数据源(恶意用户)。从而直接对该数据源进行数据监控,以实现针对性的攻击行为数据获取和监控。
83.在本技术的一种示例性实施例中,所述硬件芯片内设置有防火墙,所述防火墙设置有目标漏洞,所述目标漏洞具有对应的调用接口;
84.所述方法还包括:
85.对所述调用接口接收的数据包进行捕获。
86.其中,由于目标漏洞是有目的性的设置好的,故而恶意用户通过目标漏洞对应的调用接口进行攻击的概率较大,所以可以有目的性的直接对该调用接口进行监控和数据包捕获。捕获方法可以为调用接口设置为在接收到数据包后,将每一数据包除了进行正常处理的发送和转发外,还将每一数据包发送至硬件芯片中的分析模块,分析模块可以对数据
包进行内容分析,以及时发现恶意用户的攻击。
87.在本技术的一种示例性实施例中,所述方法还包括:
88.接收重置指令,以对所述运行环境进行重置。
89.其中,运行环境的重置指将运行环境还原到该运行环境的初始建立时刻,即根据环境参数刚建立处理的运行环境。
90.传统方法中,通过相同的实际设备对目标设备进行行为模拟,在该实际设备受到攻击后,若对其进行重置,只能通过恢复出厂后设置进行重置,但这种方法的重置也会导致该设备中根据目标设备设置好的运行环境和可执行文件也被还原删除,故而重置后还需要大量的操作来设置相关的参数等。
91.本实施例提供的设备行为模拟方法可以周期性获取行为模拟芯片(硬件芯片)的攻击来源识别数据以及攻击过程记录数据,判断网络空间欺骗系统是否遭受攻击。当发现硬件芯片遭到攻击后进行报警及记录。并且对于遭受攻击的硬件芯片可以快速重置,恢复到被攻击之前状态,再次诱导黑客攻击,捕获其攻击武器,分析其攻击过程、攻击手段、攻击技术等。相较于使用实际设备进行行为模拟,重置速度快且不需要额外的操作成本。
92.请参考图2,根据本技术的一个方面,提供一种设备行为模拟装置,应用于硬件芯片,所述硬件芯片用于模拟目标设备的工作行为;
93.所述装置包括:
94.获取模块,用于获取所述目标设备对应的环境参数和运行文件;
95.建立模块,用于根据所述环境参数在所述硬件芯片内建立运行环境;
96.运行模块,用于在所述运行环境中,执行所述运行文件,以使所述硬件芯片模拟所述目标设备的工作行为;
97.其中,所述硬件芯片内设置有防火墙,所述防火墙设置有目标漏洞。
98.此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
99.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
100.请参考图3,根据本技术的一个方面,提供一种硬件芯片,所述硬件芯片用于执行上述任一项所述方法的步骤。
101.根据本技术的一个方面,提供一种电子设备,所述电子设备包括硬件芯片,所述硬件芯片用于执行上述任一项所述方法的步骤。
102.根据本发明的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
103.电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述
至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。
104.其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
105.储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(ram) 和/或高速缓存储存器,还可以进一步包括只读储存器(rom)。
106.储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
107.总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
108.电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/ 或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
109.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
110.在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
111.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器 (cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
112.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、
光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
113.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
114.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++ 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
115.此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
116.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
117.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1