基于FPGA技术的IOT设备防护系统及方法
技术领域
本发明涉及物联网设备安全领域,特别涉及一种基于FPGA技术的IOT设备防护方法及系统。
背景技术
随着互联网信息技术的高速发展,各种硬件具有IP特性的设备,如雨后春笋般涌现。这些设备在功能上,多是针对特定场景进行开发,因此在某一方面具备采集、执行作业、分析等方面的能力。然而,设备自身的安全防护能力较弱,容易遭受攻击,或间接对其他设备产生恶意行为。
发明内容
针对上述问题,本发明提出了一种基于FPGA技术的IOT设备防护方法及系统,通过利用FPGA,实现对物联网设备中数据的获取、分析,来实现对物联网设备的监控。
首先,本发明提出一种基于FPGA技术的IOT设备防护系统,包括:IOT设备防护硬件单元及IOT设备数据行为监测单元;所述IOT设备数据行为监测单元运行于IOT设备防护硬件单元上;
所述IOT设备防护硬件单元包括:FPGA、FPGA片上SOC、以太网IP核、至少两个以太网驱动器、Norflash存储器、SDROM存储器、统时钟源及电源管理;
所述FPGA及FPGA片上SOC,用于为IOT设备数据行为监测单元提供硬件计算处理资源;所述以太网IP核及以太网驱动器,用于构建IOT设备与应用端的数据通信链路;
所述IOT设备数据行为监测单元包括:核心处理模块、流量获取模块、流量过滤模块、设备命令提取模块、设备命令集成模块及流量转发模块;
所述核心处理模块通过调用各功能模块及IOT设备防护硬件单元,实现如下数据行为监测过程:
流量获取模块通过以太网驱动器获取外部应用端数据流量或IOT设备数据流量;
流量过滤模块将获取的数据流量进行初步过滤;
设备命令提取模块调用设备命令集成模块中的设备命令特征库,将过滤后的数据流量与设备命令特征库进行匹配;若所述设备命令非恶意,则通过流量转发模块将所述数据流量转发至目的设备;若所述设备命令为可疑,则将所述数据流量打包备份,并提取日志进行存储,供外部读取;
所述目的设备为外部应用端或IOT设备,若获取的数据流量为从外部应用端得到,则目的设备为IOT设备;若获取的数据流量为从IOT设备得到,则目的设备为外部应用端。
所述的系统中,所述的外部应用端,具体为:外网访问IOT设备的客户端或服务器。
所述的系统中,所述将获取的数据流量进行初步过滤,具体为:将获取的数据流量与白名单列表匹配,对匹配成功的流量放行,将匹配失败的流量丢弃处理;所述白名单列表包括:IP、Mac及端口号。
所述的系统中,所述设备命令特征库中包括:白名单特征库及黑名单特征库,若所述设备命令与白名单特征库中的特征匹配,则所述设备命令非恶意;若所述设备命令与黑名单特征库中的特征匹配,则所述设备命令为可疑。
所述的系统中,所述白名单特征库中包括:IOT设备常规语言、协议及命令的功能性应用;所述黑名单特征库中包括:产生可疑效果的常规命令组合或执行预设次数的非常规操作。
本发明还提出一种基于FPGA技术的IOT设备防护方法,适用于上述系统,包括:
通过以太网驱动器获取外部应用端数据流量或IOT设备数据流量;
将获取的数据流量进行初步过滤;
将过滤后的数据流量与设备命令特征库进行匹配,若所述设备命令非恶意,则将所述数据流量转发至目的设备;若所述设备命令为可疑,则将所述数据流量打包备份,并提取日志进行存储,供外部读取;
所述目的设备为外部应用端或IOT设备,若获取的数据流量为从外部应用端得到,则目的设备为IOT设备;若获取的数据流量为从IOT设备得到,则目的设备为外部应用端。
所述的方法中,所述的外部应用端,具体为:外网访问IOT设备的客户端或服务器。
所述的方法中,所述将获取的数据流量进行初步过滤,具体为:将获取的数据流量与白名单列表匹配,对匹配成功的流量放行,将匹配失败的流量丢弃处理;所述白名单列表包括:IP、Mac及端口号。
所述的方法中,所述设备命令特征库中包括:白名单特征库及黑名单特征库,若所述设备命令与白名单特征库中的特征匹配,则所述设备命令非恶意;若所述设备命令与黑名单特征库中的特征匹配,则所述设备命令为可疑。
所述的方法中,所述白名单特征库中包括:IOT设备常规语言、协议及命令的功能性应用;所述黑名单特征库中包括:产生可疑效果的常规命令组合或执行预设次数的非常规操作。
本发明的优势在于,能够利用FPGA技术,连接物联网设备和外部应用端,并对其间交互的数据流量进行有效的安全监控,以及对通信行为的解析和监控,从而降低IOT设备在网络中的安全风险,提高设备自身安全运行的可靠性。
本发明提出一种基于FPGA技术的IOT设备防护系统及方法,通过FPGA硬件资源的配置,获取外部应用端数据流量或IOT设备数据流量;将获取的数据流量进行初步过滤;对过滤后的数据流量进行分析、通信行为的解析和监控,实现对IOT设备行为及数据流量的有效控制及实时数据流量监控分析。通过本发明方法及系统,能够对在线IOT设备的安全性进行有效监控,从而降低IOT设备在网络中的安全风险,提高设备自身安全运行的可靠性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于FPGA技术的IOT设备防护系统IOT设备防护硬件单元结构示意图;
图2为本发明一种基于FPGA技术的IOT设备防护系统IOT设备数据行为监测单元结构示意图;
图3为本发明一种基于FPGA技术的IOT设备防护方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
IOT设备即物联网设备,能够与网络连接执行作业,如:网络打印机和网络摄像头等。由于这些IOT设备与网络连接,具有IP属性,因此难免携带恶意代码。如,在办公环境下,一台被入侵的系统主机,可以向局域网内的一台打印机发送恶意攻击指令,这种指令可能携带有在打印机或局域网进行恶意传播的攻击载荷;也可能是对用户打印数据的窃取。因此需要提出能够对物联网设备进行网络安全防护的方式。
首先,本发明提出一种基于FPGA技术的IOT设备防护系统,包括:IOT设备防护硬件单元及IOT设备数据行为监测单元;所述IOT设备数据行为监测单元运行于IOT设备防护硬件单元上;
所述IOT设备防护硬件单元如图1所示,包括:FPGA101、FPGA片上SOC102、以太网IP核103、至少两个以太网驱动器104、Norflash存储器105、SDROM存储器106、系统时钟源107及电源管理108;
所述FPGA及FPGA片上SOC,用于为IOT设备数据行为监测单元提供硬件计算处理资源;FPGA是系统的核心,可以根据实际硬件需要进行器件选择,如Virtex-5;FPGA片上SOC即系统处理器,以Virtex-5为例,片上soc采用及高性能
440微处理模块,主要用于运行系统程序,实现对IOT设备流量数据及链路的控制、处理、过滤等功能;
所述以太网IP核及以太网驱动器,用于构建IOT设备与应用端的数据通信链路;以太网IP核可完成以太网MAC控制器功能,通过以太为以太网物理芯片,可选用88E1111实现,以太网驱动器至少为两个,其中一个连接IOT设备,另外一个连接外部应用端;
Norflash存储器用于存储SOC片上系统程序,可通过JS28F128J3D75实现;SDROM存储器为系统随机存储器,主要用于与FPGA芯片进行直接数据交换,可通过XC7VX485TFFG1761实现;系统时钟源用于通过石英晶体振荡器,为系统提供时钟源。
所述IOT设备数据行为监测单元如图2所示,包括:核心处理模块201、流量获取模块202、流量过滤模块203、设备命令提取模块204、设备命令集成模块205及流量转发模块206;
核心处理模块201是系统运行的主程序,所有功能模块运行参数或数据的输入、输出结果的处理,以及调用或访问FPGA系统资源,均通过该模块进行处理;
所述核心处理模块201通过调用各功能模块及IOT设备防护硬件单元的各FPGA外设硬件,实现如下数据行为监测过程:
流量获取模块203通过以太网驱动器获取外部应用端数据流量或IOT设备数据流量;
流量过滤模块203将获取的数据流量进行初步过滤;
设备命令提取模块204调用设备命令集成模块205中的设备命令特征库,将过滤后的数据流量与设备命令特征库进行匹配;若所述设备命令非恶意,则通过流量转发模块206将所述数据流量转发至目的设备;若所述设备命令为可疑,则将所述数据流量打包备份,并提取日志进行存储,供外部读取;
所述目的设备为外部应用端或IOT设备,若获取的数据流量为从外部应用端得到,则目的设备为IOT设备;若获取的数据流量为从IOT设备得到,则目的设备为外部应用端。
所述的系统中,所述的外部应用端,具体为:外网访问IOT设备的客户端或服务器。例如,网络内访问打印机的PC、访问网络摄像头的web浏览器或PC应用软件客户端。
所述的系统中,所述将获取的数据流量进行初步过滤,具体为:将获取的数据流量与白名单列表匹配,对匹配成功的流量放行,将匹配失败的流量丢弃处理;所述白名单列表包括:IP、Mac及端口号。
所述的系统中,所述设备命令特征库中包括:白名单特征库及黑名单特征库,若所述设备命令与白名单特征库中的特征匹配,则所述设备命令非恶意;若所述设备命令与黑名单特征库中的特征匹配,则所述设备命令为可疑。
设备命令特征库中的白名单特征库和黑名单特征库所支持的设备包括已知的IOT设备,如打印机、网络摄像头、工业信息设备采集器等,还可以根据新增的IOT设备对特征库进行更新。
所述的系统中,所述白名单特征库中包括:IOT设备常规语言、协议及命令的功能性应用;所述黑名单特征库中包括:产生可疑效果的常规命令组合或执行预设次数的非常规操作。
白名单特征库中的特征,以EPSON打印机设备的esc/pos语言为例,可以为:ESC!:设置打印方式;ESC r:选择打印颜色;ESC*:设置位映射方式;ESC z:设置或取消两页并行打印;ESC@:初始化打印机;ESC V:发送打印机状态;ESC c0:选择打印页等全部已知的打印机的正常命令。
黑名单特征库中,产生可疑效果的常规命令组合情况,例如,通过命令遍历IOT硬件所有信息,根据硬件信息,进行登录操作,进而进行数据库的访问。这一系列操作,多数情况为,黑客先判断设备类型或型号,再根据初始密码进行登录的行为。因此,该系列操作,被列入黑名单操作。在例如存在如下连续执行的常规命令:
a.使用PJL语言获取打印机型号:@PJL INFO ID;
b.使用Nmap判断打印机运行的系统:nmap-A-O 10.255.183.253;
c.使用PJL语言获取打印机文件系统内容:@PJL FSDIRLIST NAME="pathname"ENTRY=integer COUNT=integer[<CR>]<LF>;
d.使用PJL语言向打印机文件系统发送文件:@PJL FSDOWNLOADFORMAT:BINARYSIZE=int NAME="pathname"[<CR>]<LF>;
以上的行为单独都属于可信的行为,但其连续发生,则可以认为是一种恶意行为,作为黑名单的规则。
本发明还提出一种基于FPGA技术的IOT设备防护方法,适用于上述系统,如图3所示,包括:
S301:通过以太网驱动器获取外部应用端数据流量或IOT设备数据流量;
S302:将获取的数据流量进行初步过滤;
S303:将过滤后的数据流量与设备命令特征库进行匹配,若所述设备命令非恶意,则将所述数据流量转发至目的设备;若所述设备命令为可疑,则将所述数据流量打包备份,并提取日志进行存储,供外部读取;
所述目的设备为外部应用端或IOT设备,若获取的数据流量为从外部应用端得到,则目的设备为IOT设备;若获取的数据流量为从IOT设备得到,则目的设备为外部应用端。
所述的方法中,所述的外部应用端,具体为:外网访问IOT设备的客户端或服务器。
所述的方法中,所述将获取的数据流量进行初步过滤,具体为:将获取的数据流量与白名单列表匹配,对匹配成功的流量放行,将匹配失败的流量丢弃处理;所述白名单列表包括:IP、Mac及端口号。
所述的方法中,所述设备命令特征库中包括:白名单特征库及黑名单特征库,若所述设备命令与白名单特征库中的特征匹配,则所述设备命令非恶意;若所述设备命令与黑名单特征库中的特征匹配,则所述设备命令为可疑。
所述的方法中,所述白名单特征库中包括:IOT设备常规语言、协议及命令的功能性应用;所述黑名单特征库中包括:产生可疑效果的常规命令组合或执行预设次数的非常规操作。
本发明的优势在于,能够利用FPGA技术,连接物联网设备和外部应用端,并对其间交互的数据流量进行有效的安全监控,以及对通信行为的解析和监控,从而降低IOT设备在网络中的安全风险,提高设备自身安全运行的可靠性。
本发明提出一种基于FPGA技术的IOT设备防护系统及方法,通过FPGA硬件资源的配置,获取外部应用端数据流量或IOT设备数据流量;将获取的数据流量进行初步过滤;对过滤后的数据流量进行分析、通信行为的解析和监控,实现对IOT设备行为及数据流量的有效控制及实时数据流量监控分析。通过本发明方法及系统,能够对在线IOT设备的安全性进行有效监控,从而降低IOT设备在网络中的安全风险,提高设备自身安全运行的可靠性。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。