一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种指纹识别方法、装置及电子设备与流程

2023-08-29 18:05:50 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域。更具体地讲,涉及一种指纹识别方法、装置及电子设备。


背景技术:

2.随着企业中网络设备和终端越来越多,互联网(internet technology,it)管理员在进行资产清点和管理时也会遇到诸多问题。例如,如何在海量的i t资产中识别网络资产(如网络上不同的电子设备、操作系统、应用软件、应用程序、服务组件和中间件等);又如,在网络资产进行初始化或更改配置后,如何自动识别最新的网络资产信息。
3.在网络安全领域,指纹可以对网络资产逐一标识,以便可以对网络资产进行识别。目前,指纹识别是主要通过一些开源的工具、平台或者手工检测网络资产,从而帮助i t管理员快速有效的去验证已知的漏洞,进而提高网络的安全性和可靠性。
4.然而,通过指纹识别工具识别网络资产主要是针对流量不大的指纹识别场景,且是主动识别网络资产,这就会存在误报率高、指纹比较单一、工作效率不高的问题。


技术实现要素:

5.鉴于上述问题,本技术实施例提供了一种指纹识别方法、装置及电子设备,用于解决现有指纹识别工具针对流量不大的指纹识别场景,且是主动识别网络资产,存在误报率高、指纹比较单一、工作效率不高的问题。
6.第一方面,本技术实施例提供一种指纹识别方法,该指纹识别方法可以包括:确定指纹识别规则集;指纹识别规则集至少包括一条指纹识别规则,指纹识别规则用于检测指纹信息,指纹信息用于表征网络资产的特征;获取待检测网络的网络数据;根据网络数据与指纹识别规则集,得到匹配结果,其中,匹配结果用于指示网络数据中是否存在指纹信息。
7.结合第一方面,在一种可选的方式中,指纹识别规则可以包括:规则头部和规则选项;所述规则头部用于确定规则的行为,所述规则选项用于确定规则的特征以及内容。
8.结合第一方面,在一种可选的方式中,规则头部可以包括:规则行为;规则行为用于指示在匹配到行为时所执行的动作;规则选项可以包括:选项关键字和选项内容,选项关键字用于指示规则选项,选项内容为规则选项对应的内容。
9.结合第一方面,在一种可选的方式中,规则行为可以包括指纹识别行为;选项关键字可以包括网络资产名称、限定内容和网络资产标签,网络资产名称用于识别网络数据中是否存在网络名称;限定内容用于限定网络数据的方向以及形式;网络资产标签用于标识网络资产。
10.结合第一方面,在一种可选的方式中,选项关键字,还可以包括网络资产版本,网络资产版本用于识别网络数据中是否存在网络资产版本。
11.结合第一方面,在一种可选的方式中,指纹识别规则可以包括sur icate指纹识别规则。
12.结合第一方面,在一种可选的方式中,获取待检测网络的网络数据,可以包括:获取待检测网络的网络数据包;将网络数据包分组重组,得到重组后的网络数据,以得到完整的网络数据包;将重组后的网络数包进行协议解码,得到网络数据。
13.结合第一方面,在一种可选的方式中,该指纹识别方法,还可以包括:在匹配结果为网络数据包括指纹信息的情况下,生成指纹信息的日志记录;存储并输出日志记录。
14.第二方面,本技术实施例还提供一种指纹识别装置。该指纹识别装置可以包括:确定模块、获取模块和匹配模块等。
15.其中,确定模块,可以用于确定指纹识别规则集;指纹识别规则集至少包括一条指纹识别规则,指纹识别规则可以用于检测指纹信息,指纹信息可以用于表征网络中存在网络资产。
16.获取模块,可以用于获取待检测网络的网络数据。
17.匹配模块,可以用于根据网络数据与指纹识别规则集,得到匹配结果,其中,匹配结果可以用于指示网络数据中是否存在指纹信息。
18.第三方面,本技术实施例提供一种电子设备,包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如第一方面或第一方面的可能的实现方式所述的指纹识别方法。
19.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如第一方面或第一方面的可能的实现方式所述的指纹识别方法。
20.第五方面,本技术实施例提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现如第一方面或第一方面的可能的实现方式所述的指纹识别方法。
21.本技术提供的方案,首先确定用于识别指纹信息的指纹识别规则集;然后获取待检测网络的网络数据;最后根据网络数据与指纹识别规则集,得到用于指示所述网络数据中是否存在指纹信息的匹配结果。
22.本技术的方案是获取待检测网络的网络数据,即被动式获取网络数据。在获取到网络数据后,将网络数据与确定出的指纹识别规则集进行匹配,然后确定出网络数据中的指纹信息(即网络资产)。也就是说,本技术的方案是仅对获取到的网络数据进行识别,即被动地识别网络资产,在一定程度上能够保证网络安全,提高工作效率。
23.此外,本技术提供的方案通过suricata引擎将suricata指纹识别规则集与网络数据进行匹配,从而识别出网络资产。由于suricata指纹识别规则集可以支持http、dns、tcp、tls、udp、smb等协议的指纹识别,同时可以支持十六进制、字符串以及正则表达式进行匹配。因此,本技术提供的方案可以针对大流量的较多的指纹识别场景,并且能够解决指纹识别兼容性差的问题。
24.上述说明仅是本技术实施例技术方案的概述,为了能够更清楚了解本技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
25.附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
26.图1示出了本实施例提供的一种电子设备的结构示意图;
27.图2示出了本技术提供的一种指纹识别方法的流程示意图;
28.图3示出了本技术提供的另一种指纹识别方法的流程示意图;
29.图4示出了本技术提供的电子设备的日志信息的显示界面;
30.图5示出了本技术提供的一种指纹识别装置的结构示意图。
具体实施方式
31.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
32.术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
33.随着企业中网络设备和终端越来越多,互联网(internet technology,it)管理员在进行资产清点和管理时也会遇到诸多问题。例如,如何在海量的it资产中识别网络资产(如网络上不同的电子设备、操作系统、应用软件、应用程序、服务组件和中间件等);又如,在网络资产进行初始化或更改配置后,如何自动识别最新的网络资产信息。
34.在网络安全领域,指纹可以对网络资产逐一标识,以便可以对网络资产进行识别。目前,指纹识别主要通过一些开源的工具、平台或者手工检测网络资产,能够准确的获取到中间件类型、服务组件类型以及版本信息,从而帮助it管理员快速有效的去验证已知的漏洞,进而提高网络的安全性和可靠性。
35.目前,常见的指纹检测对象可以包括:内容管理系统(content management system,cms)信息、前端技术、web服务器、应用服务器、开发语言、操作系统信息、内容分发网络(content delivery network,cdn)信息、web应用防火墙(web application firewall,waf)信息、网络协议(intellectual property,ip)及域名信息、端口信息等。
36.其中,cms信息可以包括:大汉cms、织梦、帝国cms、phpcms、ecshop等。
37.前端技术可以包括:超文本标记语言(hypertext markup language,html5)、jquery、bootstrap、pure、ace等。
38.web服务器可以包括:apache、lighttpd,nginx,iis等。
39.应用服务器可以包括:tomcat、jboss、weblogic、websphere等。
40.开发者语音可以包括:超级文本预处理语言(hypertext preprocessor,php)、java、ruby、python、c#。操作系统信息可以包括:linux、win2k8、win7、kali、centos等系统。(contentdeliverynetwork,cdn)信息:是否使用cdn,如cloudflare、360cdn、365cyd、yunjiasu等。ip及域名信息可以包括:ip和域名注册信息、服务商信息等。端口信息可以包括:有些软件或平台会探测服务器开放的常见端口。
41.常见的指纹识别方式可以包括:特定文件的信息-摘要算法(message-digest algorithm5,md5)正常页面或错误页面中包含的关键字、请求头信息的关键字匹配、部分统一资源定位符(uniform resource locator,url)中包含的关键字(例如wp-includes、dede等url关键特征)、开发语言的识别。
42.可以通过指纹识别工具对上述指纹检测对象进行指纹识别。其中,常见的指纹识别工具有nmap、whatweb、wapplyzer、whatruns、webeye、goby、nuclei、tidefinger。nmap用于扫描目标主机是否在线,目标主机开发的端口、操作系统类型等基本信息。whatweb是kail中网站指纹识别工具,使用ruby语言开发。whatweb可识别web技术,包括内容管理系统(cms)、博客平台、统计/分析包、javascript库,web服务器和嵌入式设备等。whatweb还可以识别版本号,电子邮件地址、账户id、web框架模块,sql错误等。wapplyzer是一种浏览器插件,可以用于识别出目标网站采用的web技术的类型,能够检测出cms和电子商务系统、留言板、javascript框架,主机面板,分析统计工具和其它的一些web系统。nuclei是基于yaml语法模板的开发的定制化快速漏洞扫描器,主要用于web应用。tidefinger用于扫描web应用。
43.然而,采用不同的指纹识别工具,得到的指纹类型就会不同,比如nmap侧重与主机系统,而nuclei,tidefinger则侧重于web应用,上述指纹识别工具不论是nmap,还是nuclei或者tidefinger都是侧重于某一个方面的应用,其兼容性较差。
44.此外,目前现有指纹识别工具主要是针对流量不大的指纹识别场景,且只能主动发包探测,进而识别网络资产。这就会对网络产生一定的影响,并且容易被安全设备拦截,会存在误报率高、指纹比较单一、工作效率不高的问题。
45.为了解决上述问题,本技术提供了一种指纹识别方法,该指纹识别方法首先确定用于识别指纹信息的指纹识别规则集;然后获取待检测网络的网络数据;最后根据网络数据与指纹识别规则集,得到用于指示所述网络数据中是否存在指纹信息的匹配结果。
46.本技术的方案是获取流经的待检测网络的网络数据,即被动式获取网络数据。在获取到网络数据后,将网络数据与确定出的指纹识别规则集进行匹配,然后确定出网络数据中的指纹信息(即网络资产)。也就是说,本技术的方案是仅对获取到的网络数据进行识别,即被动地识别网络资产,在一定程度上能够保证网络安全,提高工作效率。
47.此外,本技术提供的方案通过suricata引擎将suricata指纹识别规则集与网络数据进行匹配,从而识别出网络资产。由于suricata指纹识别规则集可以支持http、dns、tcp、tls、udp、smb等协议的指纹识别,同时可以支持十六进制、字符串以及正则表达式进行匹配。因此,本技术提供的方案可以针对大流量的较多的指纹识别场景,并且能够解决指纹识别兼容性差的问题。
48.下面对本技术提供的指纹识别方法进行描述。
49.本技术实施例提供的指纹识别方法可以应用于电子设备。该电子设备可以是具有指纹识别功能的设备。
50.在一些实施例中,该电子设备可以是笔记本电脑、平板电脑、手持计算机,pc,个人数字助理(personal digital assistant,pda),可穿戴式设备等电子设备。本技术实施例在此对电子设备的具体形态不做限制。本技术实施例中以电子设备为笔记本电脑为例进行示意说明。
51.在一些示例中,以电子设备为笔记本电脑为例,图1示出了本技术实施例提供的一
种电子设备的结构示意图。
52.如图1所示,该电子设备(即笔记本电脑)可以包括:处理器110,风扇111,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,显示屏150,天线,无线通信模块160,音频模块170,扬声器(即喇叭)170a,麦克风170c,耳机接口170b,触控板180,键盘190,以及摄像头191等。
53.其中,上述除显示屏150之外的其他器件(如处理器110,风扇111,外部存储器接口120,内部存储器121,usb接口130,充电管理模块140,电源管理模块141,电池142,天线,无线通信模块160,音频模块170,触控板180,扬声器170a,麦克风170c,耳机接口170b,键盘190和摄像头191等)均可以设置在笔记本电脑的底座。上述摄像头191还可设置于笔记本电脑的显示屏150的边框上。
54.可以理解的是,本实施例示意的结构并不构成对笔记本电脑的具体限定。在另一些实施例中,笔记本电脑可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
55.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
56.控制器可以是笔记本电脑的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
57.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
58.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
59.可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对笔记本电脑的结构限定。在另一些实施例中,笔记本电脑也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
60.充电管理模块140用于从充电器(如无线充电器或有线充电器)接收充电输入,为电池142充电。笔记本电脑的无线通信功能可以通过天线和无线通信模块160,调制解调处理器以及基带处理器等实现。
61.天线用于发射和接收电磁波信号。笔记本电脑中的每个天线可用于覆盖单个或多
个通信频带。不同的天线还可以复用,以提高天线的利用率。
62.在一些实施例中,笔记本电脑的天线和无线通信模块160耦合,使得笔记本电脑可以通过无线通信技术与网络以及其他设备通信。无线通信模块160可以提供应用在笔记本电脑上的包括无线局域网(wireless local area networks,wlan)(如wi-fi网络,蓝牙(blue tooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。
63.笔记本电脑可以通过gpu,显示屏150,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏150和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。显示屏150用于显示图像,视频等。
64.笔记本电脑可以通过isp,摄像头191,视频编解码器,gpu,显示屏150以及应用处理器等实现拍摄功能。isp用于处理摄像头191反馈的数据。在一些实施例中,isp可以设置在摄像头191中。摄像头191用于捕获静态图像或视频。在一些实施例中,笔记本电脑可以包括1个或n个摄像头291,n为大于1的正整数。
65.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展笔记本电脑的存储能力。内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行笔记本电脑的各种功能应用以及数据处理。例如,在本技术实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
66.笔记本电脑可以通过音频模块170,扬声器170a,麦克风170c,耳机接口170b,以及应用处理器等实现音频功能。例如音乐播放,录音等。
67.当然,可以理解的,上述图1所示仅仅为电子设备的形态为笔记本电脑时的示例性说明。若电子设备是手持计算机,pda,个人计算机、服务器等其他设备形态时,电子设备的结构中可以包括比图1中所示更少的结构,也可以包括比图1中所示更多的结构,在此不作限制。
68.以下实施例中的方法均可以在具有上述硬件结构的电子设备中实现。本技术实施例中以电子设备为笔记本电脑为例进行示意说明。
69.图2示出了本技术实施例提供的一种指纹识别方法的流程图。如图2所示,该指纹识别方法可以包括:s201-s203。
70.s201、确定指纹识别规则集;指纹识别规则集至少包括一条指纹识别规则,指纹识别规则用于检测指纹信息,指纹信息用于表征网络资产的特征。
71.确定指纹识别规则集,指纹识别规则集中至少包括一条用于检测指纹信息的指纹识别规则。
72.每一条指纹识别规则均可以包括规则头部和规则选项,规则头部可以用于确定规则的行为,规则选项可以用于确定规则的特征以及内容。
73.在一些实施例中,规则头部可以包括规则行为。规则行为可以用于指示在匹配到行为时所执行的动作。
74.例如,规则行为可以包括指纹识别行为、报警行为、记录行为、通过行为以及丢弃
行为等。
75.在一些实施例中,规则头部还可以包括规则条件。规则条件可以用于在网络数据识别时需要的一些条件。
76.例如,规则条件可以包括协议类型、源地址及端口、目的地址及端口以及流量方向。
77.在一些实施例中,规则选项可以包括选项关键字和选项内容。选项关键字可以用于指示规则选项,选项内容为规则选项对应的内容。
78.在一些实施例中,选项关键字可以包括网络资产名称、限定内容和网络资产标签。网络资产名称可以用于识别网络数据中是否存在网络名称;限定内容可以用于限定网络数据的方向以及形式;网络资产标签可以用于标识网络资产。
79.在一些实施例中,选项关键字还可以包括网络资产版本。网络资产版本用于识别网络数据中是否存在网络资产版本。
80.在一些实施例中,选项关键字还可以包括:特征标识符、修订、引用、优先级、类别、修饰语、流量方向等。特征标识符可以用于唯一性地表示规则。修订可以用于表示规则发生了修改。引用可以用于链接外部消息来源。优先级可以用于手动设置规则的优先级。类别可以用于根据指纹识别规则所识别的活动类型对指纹识别规则进行分类。修饰语可以用于在匹配内容后添加修饰语,以使能够精确控制引擎在网络数据中匹配内容的方式。流量方向可以用于限定流量来源。
81.通过规定上述指纹识别规则,可以确定出指纹识别规则集,从而可以通过指纹识别规则集识别出网络数据中的是否存在指纹信息(即网络资产)。
82.s202、获取待检测的网络数据。
83.在待检测网络的网络数据流经电子设备时,电子设备可以获取流经的待检测的网络数据。
84.在一些实施例中,首先获取待检测网络的网络数据包;然后将网络数据包分组重组,得到重组后的网络数据,以得到完整的网络数据包;之后将重组后的网络数包进行协议解码,得到网络数据。以使能够对获取到的网络数据进行深度地指纹识别,从而在网络数据中识别出指纹信息(即网络资产)。
85.综上,可以看出获取的是流经电子设备的网络数据,即被动式地获取待检测网络数据,从而能够被动地识别网络数据中的指纹信息(即网络资产)。也就是说,本技术的方案不会主动发数据包,而仅对接收到的网络数据进行指纹识别,不会影响网络安全,从而能够避免网络数据被拦截。
86.s203、根据网络数据与指纹识别规则集,得到匹配结果,其中,匹配结果用于指示网络数据中是否存在指纹信息。
87.在获取到网络数据之后,电子设备可以将网络数据与指纹识别规则进行匹配,得到用于指示网络数据中是否存在指纹信息的匹配结果。
88.在一些实施例中,根据网络数据与指纹识别规则集,得到匹配结果可以包括:根据网络数据的类型,在指纹识别规则集中确定指纹识别规则;将网络数据与所述指纹识别规则进行匹配,得到匹配结果。
89.在网络数据与指纹识别规则匹配的情况下,得到网络数据包括指纹信息的匹配结
果,即识别出网络资产。在网络数据与指纹识别规则不匹配的情况下,得到网络数据不包括指纹信息的匹配结果,即未识别出网络资产,可以结束本次指纹识别。
90.本技术的方案提供了一种指纹识别方法,首先确定用于识别指纹信息的指纹识别规则集;然后获取待检测网络的网络数据;最后根据网络数据与指纹识别规则集,得到用于指示所述网络数据中是否存在指纹信息的匹配结果。
91.本技术的方案是获取的是流经的待检测网络的网络数据,即被动式获取网络数据。在获取到网络数据后,将网络数据与确定出的指纹识别规则集进行匹配,然后确定出网络数据中的指纹信息(即网络资产)。也就是说,本技术的方案是仅对获取到的网络数据进行识别,即被动地识别网络资产,在一定程度上能够保证网络安全,提高工作效率。
92.suricata引擎是一个免费、开源、成熟、快速、健壮的网络威胁检测引擎。suricata引擎能够进行实时入侵检测(ids)、内联入侵预防(ips)、网络安全监控(nsm)和离线pcap处理。suricata使用强大而广泛的规则和签名语言来检查网络流量,并提供强大的lua脚本支持来检测复杂的威胁。使用标准的输入和输出格式(如yaml和json),使用现有的siems、splunk、logstash/elasticsearch、kibana和其他数据库等工具进行集成将变得非常简单。
93.为了便于理解,以下结合附图3,以指纹识别规则集为suricata指纹识别规则集为例,对本技术提供的一种指纹识别方法的具体实现方式进行详细说明。如图3所示,本技术实施例提供的指纹识别方法可以包括:s301-s309。
94.s301、确定suricata指纹识别规则集,其中suricata指纹识别规则集至少包括一条suricata指纹识别规则,suricata指纹识别规则用于检测指纹信息,指纹信息用于表征网络资产的特征。
95.每一条suricata指纹识别规则均包括规则头部和规则选项,规则头部可以用于确定规则的行为,规则选项可以用于确定规则的特征以及内容。
96.规则头部可以包括规则行为。规则行为可以用于指示在匹配到行为时所执行的动作。
97.规则行为可以包括指纹识别行为(fingerprint),指纹识别行为用于通知suricata引擎对网络数据进行指纹识别。
98.在一些实施例中,规则行为还可以包括报警(alert)行为、记录(log)行为、通过(pass)行为和丢弃(drop)行为等。报警行为是指报警通知suricata引擎记录所有匹配的规则、与匹配规则相关的网络数据。记录行为是指通知suricata引擎记录所有匹配的规则、不记录与匹配规则相关的网络数据。通过行为是指对该网络数据不做任何处理。丢弃行为则是对该网络数据做丢弃处理。
99.在一些实施例中,选项头部还可以包括协议。协议可以用于通知suricta引擎该suricata指纹识别规则适用的协议类型。例如,协议类型可以为tcpb、udpc、icmpdip;在同时适用于tcp和udp协议时,可以使用any。
100.在一些实施例中,规则头部还可以包括源/目标主机。源/目标主机可以用于确定在匹配(即指纹识别)时源/目标对应的主机。例如,源/目标主机可以是ip列表,也可以是无类别域际路由选择分类(classless interdomain routing,cidr)形式的ip范围。也可以在配置文件中指定来源ip:3.[missing image:,]home_net suricata配置文件:suricate.yaml。若无法将suricata指纹识别规则局限于特定类型的主机,可以用关键词“any”匹配任意主机。
[0101]
在一些实施例中,规则头部还可以包括源/目标端口。源/目标端口可以用于确定在匹配时源/目标主机对应的端口。对端口的设置可以指定,例如,指定具体端口可以为如80b。端口的设置也可以指定任意端口,例如,指定任意端口可以为any。
[0102]
在一些实施例中,规则头部还可以包括流量方向(即网络数据方向)。流量方向可以用于指示流量的来源,即仅对规定方向的流量(即网络数据)进行识别。流量方向根据tcp网络流量状态编写规则三次握手。其中,三次握手包括:第一次握手为客户端向服务器监听端口发送第一次握手报文(即syn包);第二次握手为在服务器接收到第一次握手报文后,服务器向客户端发送第二次握手报文(即syn/ack包);第三次握手为客户端接收到第二次握手报文后,客户端会向服务器发送第三次握手报文(即ack包)。
[0103]
流量方向的配置格式为flow:《option》,《option》,《option》。第一个option为状态选项,第二个option为定向选项;第三个option为流量模式状态。
[0104]
其中,状态选项可以包括:established和stateless。established表示职匹配已经建立tcp会话连接的流量。stateless表示无论是否已建立tcp会话连接均匹配。
[0105]
定向选项可以包括to_server、from_server、to_client以及from_client。to_server表示客户端到服务端的流量;from_server表示服务端到客户端的流量;to_client表示服务端到客户端的流量;to_client表示客户端到服务端的流量。
[0106]
流量模式状态可以包括:no_stream和only_stream。no_stream表示待匹配数据是重组后的网络数据;only_stream表示待匹配数据是单独的网络数据包。
[0107]
规则选项可以包括选项关键字和选项内容。选项关键字可以用于指示规则选项,选项内容可以为规则选项对应的内容。选项关键字可以包括网络资产名称、网络资产版本、限定内容和网络资产标签等。
[0108]
网络资产名称(product.name.set)可以用于识别网络数据中是否存在网络资产名称。
[0109]
在一些实施例中,确定网络资产名称的正则表达式,匹配以后,可以用网络数据中的内容设置网络资产名称,也可以自定义设置网络资产名称。
[0110]
例如,网络资产名称的正则表达式如下所示:
[0111]
http.server;product.name.set:"microsoft-iis,iis";。
[0112]
上述指纹识别规则中,http.server可以表示从http头部的sever字段中进行匹配。product.name.set需要使用
””
括起来;格式为:”[pattern,[middle ware name setting]]”。用”,”分割匹配的内容和设置的网络资产名称。表明如果匹配上了“microsoft-iis”,则设置网络资产的名称iis。
[0113]
其中,”,”后面的内容是可选的;如果没有”,”,则将“microsoft-iis”设置为网络资产的名称。
[0114]
网络资产版本(product.ver.set)可以用于识别网络数据中是否存在网络资产版本。
[0115]
在一些实施例中,确定网络资产版本的正则表达式,匹配以后,可以用网络数据中的内容作为网络资产版本。
[0116]
例如,网络资产名称的正则表达式如下所示:
[0117]
http.server;product.ver.set:"|28 28 28 34 7c 35 29 5c 2e 5b 30 2d 39 5d 29 7c 36 5c 2e 28 30 7c 31 29 29|";。
[0118]
上述指纹识别规则中http.server表示从http头部的server字段中匹配。product.ver.set需要使用
“”
括起来;格式为:”[pattern]”。网络资产版本可以由上述十六进制转换为字符串。
[0119]
上述指纹识别规则中的网络资产版本为(((4|5)\.[0-9])|6\.(0|1))。如果命中了该指纹识别规则,则将这个表达式代码的字符串设置为网络资产的版本。
[0120]
限定内容可以用于限定网络数据的方向以及形式。限定内容可以包括服务端到客户端限定内容、客户端到服务端限定内容。服务端到客户端限定内容可以用于限定服务端到客户端的内容以及存储形式;服务端到客户端可以用于限定服务端到客户端的内容以及存储形式。
[0121]
服务端到客户端限定内容可以包括服务端到客户端临时存储字段以及服务端到客户端大小写字段。
[0122]
其中,服务端到客户端临时存储字段(即var.toclient.set)可以用于在基于toclient方向的网络数据中提取一个临时的变量保存在会话中,以方便二次提取网络资产名称和网络资产版本。该服务端到客户端临时存储字段可以修饰识别内容。
[0123]
例如,服务端到客户端临时存储字段(即var.toclient.set)的正则表达式如下所示:
[0124]
http.server;var.toclient.set:"microsoft-iis/|28 28 28 34 7c 35 29 5c 2e 5b 30 2d 39 5d 29 7c 36 5c 2e 28 30 7c 31 29 29|";fast_pattern;。
[0125]
上述指纹识别规则中的http.server表示从http头部的server字段中进行匹配。其中,var.toclient.set需要使用
””
进行括起来;格式为:”[pattern]”。上述网络资产版本为十六进制数据,将十六进制数据转换为字符串,则网络资产版本为:(((4|5)\.[0-9])|6\.(0|1))。基于toclient方向的网络数据中先提取一个临时的变量存储在会话中,在会话中在网络数据与上述正则表达式进行匹配时,如果命中了该表达式,则将这个表达式代码的字符串设置为网络资产的版本。
[0126]
上述指纹识别规则采用fast_pattern,表示该指纹识别规则优先在预过滤器(prefilter)过程中执行,优先于其他匹配字段执行,即优先在服务端到客户端的临时变量中进行匹配。
[0127]
上述服务端到客户端临时存储字段在服务端到客户端的方向上,设置临时变量,且优先对该临时变量进行网络资产识别(即指纹信息),这样能够在保证指纹识别效率的同时,节省网络资源。
[0128]
服务端到客户端大小写字段(即var.toclient字段)可以用于采集服务端到客户端时的网络数据,其中网络数据可以包括大写和/或小写数据。该服务端到客户端大小写字段是一个缓冲区类型(buffer type)修饰符,可以修饰识别内容,表示从toclient方向的不区分大小写的临时变量中进行指纹规则匹配;方便后面字段提取网络名称以及网络资产版本。
[0129]
例如,服务端到客户端大小写字段(即var.toclient字段)的正则表达式如下所示:
[0130]
http.server;var.toclient.set:"microsoft-iis/|28 28 28 34 7c 35 29 5c 2e 5b 30 2d 39 5d 29 7c 36 5c 2e 28 30 7c 31 29 29|";fast_pattern;var.toclient;product.name.set:"microsoft-iis";var.toclient;pro duct.ver.set:"|28 28 28 34 7c 35 29 5c 2e 5b 30 2d 39 5d 29 7c 36 5c 2e 28 30 7c 31 29 29|";。
[0131]
在上述指纹识别规则中,var.toclient可以从会话var.toclient.set提取的临时变量中进行匹配。
[0132]
var.toclient字段修饰product.name字段,即var.toclient修饰网络资产名称,表示microsoft-iis要从var.toclient.set提取的内容中进行匹配,然后设置网络资产名称为microsoft-iis。
[0133]
上述服务端到客户端大小写字段在限定流量方向的同时,默认接收该方向上的所有流量,即不用区分流量的大小写。这样,能够在限定流量来源的同时,保证网络资产(即指纹信息)识别的效率;即不需要再对网络资产名称或网络资产版本的大小写进行限定。
[0134]
客户端到服务端限定内容可以包括客户端到服务端临时存储字段以及客户端到服务端大小写字段。
[0135]
其中,客户端到服务端临时存储字段(即var.toserver.set)可以用于在基于toserver方向的网络数据中提取一个临时的变量保存在会话中,以方便二次提取网络资产名称和网络资产版本。该服务端到客户端临时存储字段可以修饰识别内容。
[0136]
例如,服务端到客户端临时存储字段(即var.toserver.set)的正则表达式如下所示:
[0137]
http.user_agent;var.toserver.set:"curl/7.79.1";fast_pattern;。
[0138]
上述指纹识别规则中http.user_agent表示从http头部的user-agent字段中进行匹配。var.server.set需要使用
””
进行括起来;格式为:”[pattern]”。上述网络资产版本为:curl/7.79.1。基于toserver方向的网络数据中先提取一个临时的变量存储在会话中,在会话中的网络数据与上述正则表达式进行匹配时,如果命中了该表达式,则将这个表达式代码的字符串设置为网络资产的版本。
[0139]
上述指纹识别规则采用fast_pattern,表示该指纹识别规则优先在预过滤器(prefilter)过程中执行,优先于其他匹配字段执行,即优先在客户端到服务端的临时变量中进行匹配。
[0140]
上述客户端到服务端临时存储字段在客户端到服务端的方向上,设置临时变量,且优先对该临时变量进行网络资产识别(即指纹信息),这样能够在保证指纹识别效率的同时,节省网络资源。
[0141]
客户端到服务端大小写字段(即var.toclient字段)可以用于采集客户端到服务端时的网络数据,其中网络数据可以包括大写和/或小写数据。该客户端到服务端大小写字段是一个缓冲区类型(buffer type)修饰符,可以修饰检测内容,表示从toclient方向的不区分大小写的临时变量中进行指纹规则匹配;方便后面字段提取网络资产名称及网络资产版本。
[0142]
例如,客户端到服务端大小写字段(即var.tosever字段)的正则表达式如下所示:
[0143]
http.user_agent;var.toserver.set:"curl/7.79.1";fast_pattern;
var.toserver;pro duct.name.set:"curl";var.toserver;product.ver.set:"|5c 64 2e 5c 64 2b 5c 2e 5c 64 2b|";。
[0144]
在上述指纹识别规则中,var.toserver字段可以从会话var.toserver.set字段提取的临时变量中进行匹配。
[0145]
var.toserver字段修饰product.name.set字段,即var.toserver字段修饰网络资产名称,表示curl关键字要从var.toclient.set提取的内容中进行匹配,然后设置网络资产名称为curl。
[0146]
上述客户端到服务端大小写字段在限定流量方向的同时,默认接收该方向上的所有流量,即不用区分流量的大小写。这样,能够在限定流量来源的同时,保证网络资产(即指纹信息)识别的效率;即不需要再对网络资产名称或网络资产版本的大小写进行限定。
[0147]
需要说明的是,在suricata指纹识别规则中存在限定内容时,可以选择不设置上述流量方向。
[0148]
网络资产标签(即fingertag)可以用于标识网络资产。若存在多个网络资产标签时,可以用“,”进行分割。
[0149]
例如,网络资产标签如下所示:
[0150]
fingertag:操作系统,windows 10;。
[0151]
上述网络资产标签不需要使用
“”
括起来;若存在多个网络资产标签时用“,”进行分割。
[0152]
在一些实施例中,选项关键字还可以包括特征标识符(sid)、修订(rev)、引用(reference)、优先级(priority)、类别(classtype)。
[0153]
其中,特征标识符(sid)可以用于唯一性地标识规则,特征标识符不能重复,且只能为数值。
[0154]
例如,特征标识符在0-10000000之间,表示sourcefire vrt保留。又如,特征标识符在20000000-29999999之间,表示为emerging threats(et)保留。还如,特征标识符在30000000以上表示公用。
[0155]
修订(rev)可以用于表示suricata指纹识别规则发生了修改,即suricata指纹识别规则的版本号。
[0156]
例如,当创建一条新的suricata指纹识别规则时,制定rev:1,该rev:1可以用于标识该suricata指纹识别规则为第一版本。又如,当suricata指纹识别则被改变时,不需要创建新的suricata指纹识别规则,可在特征标识符不变的情况下,使得rev递增。
[0157]
引用(reference)可以用于链接外部信息的来源,从而可以使得suricta指纹识别规则的应用场景更多,即能够保持指纹识别规则的整洁性,减小suricta指纹识别规则长度,使其更容易进行修改以及编辑管理。
[0158]
例如,引用可以直接指定。如:reference:,;reference:url,doc.emergingthreats.net/2010235b.。
[0159]
又如,引用(reference)可以通过在suricata.yaml配置reference.config文件来定义引用类型文件中使用格式:config reference:。如,文件中:config reference:cvehttp://cve.mitre.org/cgi-bin/cvename.cgi?name=规则中:reference:cve,2001-0414实际引用:reference:cve,http://cve.mitre.org/cgi-bin/cvename.cgi?name=
74 6f 72 5c 2e 61 6c 6c 5c 2e 6a 73|,百度在线web编辑器";fast_pattern;classtype):finger-application-layer;reference:url,wait_for_update;sid:20000085;rev:1;fingertag:应用层面/编辑器;reliability:70;)。
[0184]
上述suricata指纹识别规则:规则头部可以包括:指纹识别行为以及协议为http协议的网络数据。规则选项可以包括:
[0185]
网络资产名称为百度在线web编辑器指纹识别。限定内容为只匹配已建立tcp会话连接,服务端到客户端的网络数据。识别范围为http响应报文body。如果在识别范围中存在75 65 64 69 74 6f 72 5c 2e 61 6c 6c 5c 2e 6a 73(这是16进制的"ueditor\\.all\\.js"),则认为该目标为百度在线web编辑器。优先级为最高优先级。类别为应用层的网络资产。引用为相关连接。标识规则为20000085。规则版本为1。资产标签为应用层面/编辑器。置信度为70。
[0186]
通过将普通指纹规则改为上述suricata指纹识别规则,以使得suricata引擎可以识别的suricata指纹识别规则,从而实现指纹识别(即网络资产)。
[0187]
由于suricata引擎可以支持http、dns、tcp、tls、udp、smb等协议,同时可以支持十六进制、字符串。因此,将普通指纹识别规则转换为suricata引擎可以识别的suricata指纹识别规则之后,suricata指纹识别规则可以支持http、dns、tcp、tls、udp、smb等协议的识别,同时可以支持十六进制、字符串以及正则表达式进行匹配,从而可以提高指纹识别的效率,且能够在较多的应用场景使用。
[0188]
需要说明的是,本实施例中的s301与上述实施例中的s201相对应。
[0189]
s302、获取待检测网络的网络数据包。
[0190]
在待检测网络的网络数据包流经该电子设备的情况下,该电子设备获取待检测网络的网络数据包,从而可以将网络数据包分组重组。
[0191]
在一些实施例中,suricata引擎可以通过电子设备的网络接口或pacp文件获取流经该电子设备上的待检测网络的网络数据包,从而可以将获取到的网络数据包进行分组重组。
[0192]
s303、将网络数据包分组重组,得到重组后的网络数据,以得到完整的网络数据包。
[0193]
在获取到网络数据包之后,电子设备可以将网络数据包进行分组重组,以得到完整的网络数据包,从而可以对重组的网络数据包进行协议解码。
[0194]
在一些实施例中,在suricta引擎获取到网络数据包的情况下,suricata引擎可以将tcp的网络数据包和udp的网络数据包进行重组,以便可以对该网络数据包进行深度的指纹识别。
[0195]
s304、将重组后的网络数据包进行协议解码,得到网络数据。
[0196]
在获得重组后的网络数据包后,将重组后的网络数据按照tcp和udp协议进行解码,得到网络数据。该网络数据可以为五元组数据。其中,五元组数据可以包括:源ip、目的ip、源端口、目的端口和传输协议。
[0197]
在一些实施例中,在得到重组后的网络数据包后,将重组后的网络数据包进行协议解码可以包括:suricata引擎对重组后的网络数据包按照tcp和udp协议进行协议解码,以使能够识别网络数据中的各种协议。例如各种协议可以包括:超文本传输协议传输
(hypertext transfer protocol,http)、域名系统(domain name system,dns)、ftp(文件传输协议,file transfer protocol)等。
[0198]
需要说明的是,本实施例中的s302至s304与上述实施例中的s202相对应。也就是说,上述实施例中的s202可以通过本实施例中的s302至s304来实现。
[0199]
s305、根据网络数据中协议的类型,在sur icata指纹识别规则集中确定sur icata指纹识别规则。
[0200]
在得到的网络数据后,根据网络数据中协议的类型,在sur icata指纹识别规则集中确定出与网络数据协议类型一致的sur icta指纹识别规则,从而可以将网络数据与sur icta指纹识别规则进行匹配,得到匹配结果。
[0201]
由于sur icata指纹识别规则集中包含一系列的sur icata指纹识别规则,而每个指纹识别规则都定义了不同的指纹信息。因此,就需要在sur icata指纹识别规则集中确定出与网络数据类型相对应的sur icata指纹识别规则集,以进行指纹识别。
[0202]
s306、将网络数据与sur icata指纹识别规则进行匹配,得到匹配结果。
[0203]
在确定出sur icata指纹识别规则后,将网络数据与sur icata指纹识别规则进行匹配,得到匹配结果。
[0204]
在网络数据与sur icata指纹识别规则匹配的情况下,得到网络数据包括指纹信息的匹配结果,即可以继续执行下述s307。
[0205]
在网络数据与sur icata指纹识别规则不匹配的情况下,得到网络数据不包括指纹信息的匹配结果,可以结束本次的指纹识别工作。
[0206]
在一些实施例中,sur icata引擎可以将网络数据与sur icata指纹识别规则进行匹配,得到匹配结果。
[0207]
s307、在网络数据与sur icata指纹识别规则匹配的情况下,得到网络数据包括指纹信息的匹配结果。
[0208]
在网络数据与sur icata指纹识别规则相匹配的情况下,电子设备可以确定出该网络数据中存在指纹信息,即识别出网络资产。
[0209]
在一些实施例中,sur icata引擎可以将协议解码后的网络数据与sur icata指纹识别规则进行匹配,在网络数据与sur icata指纹识别规则的匹配度达到预设置信度时,则表明该网络数据中存在指纹信息,即存在网络资产。
[0210]
例如,当sur icata指纹识别规则中的置信度为70时,在网络数据与sur icata指纹识别规则相似度达到70以上,则认为该网络数据中存在指纹信息,即网络数据中存在网络资产。
[0211]
需要说明的是,本实施例中的s305至s307与上述实施例中的s203相对应。也就是说,上述实施例中的s203可以通过本实施例中的s305至s307来实现。
[0212]
s308、在匹配结果为网络数据中包括指纹信息的情况下,生成指纹信息的日志记录。
[0213]
在sur icata引擎检测到指纹信息(即网络资产)的情况下,电子设备会生成指纹信息对应的日志记录。
[0214]
日志记录可以包括有关检测到的网络资产的详细信息。例如,日志信息可以包括时间戳、源i p地址、目标i p地址、协议、规则i d、分类、优先级、确信度以及指纹标签等。
[0215]
s309、存储并输出日志记录。
[0216]
在生成指纹信息的日志记录后,该电子设备存储该日志信息,并且输出该日志信息。
[0217]
在一些实施例中,在生成指纹信息的日志记录后,电子设备可以将生成的日志记录写入磁盘。
[0218]
例如,存储日志记录如下:
[0219]
asset log http any any-》any any(msg:"cms指纹识别";flow:established,to_server;content:"thinkphp";nocase;http_header;fast_pattern;classtype:protocol-command-decode;reference:cve,cve-2014-1234;sid:127;rev:1;fingertag:cms,thinkphp;reliability:99;)。
[0220]
suricata引擎可以将http协议,识别规则为cms指纹识别名称,只匹配已经建立tcp会话连接,客户端到服务端的网络数据;网络名称为thinkphp;不区分大小写;http请求或响应头的任何内容;优先级为最高;类型为protocol-command-decode;引用了cve,cve-2014-1234;特征标识符为127;修订版本为1;指纹标签为cms,thinkphp;置信度为99等以上信息存储在磁盘上。
[0221]
在一些实施例中,可以对输出的日志记录进行显示。例如,可以将日志记录在电子设备的显示界面显示。
[0222]
例如,图4示出了日志记录的显示界面。图4中的显示界面显示了4条指纹信息(即网络资产)的日志信息,即日志记录1、日志记录2、日志记录3以及日志记录4。
[0223]
日志记录1显示以下日志记录:指纹识别规则;http协议为[1:20000344:1];网络资产名称为connkeepalive指纹识别;类型为在应用层进行识别;优先级为2级;置信度为70;tcp为8.130.165.191:80-》172.31.1.102:32940;chain;指纹标签为应用层面/其他。
[0224]
日志记录2显示以下日志记录:指纹识别规则;http协议为[1:20000346:1];网络资产名称为connkeepalive指纹识别;类型为在应用层进行识别;优先级为2级;置信度为70;tcp为8.130.165.191:80-》172.31.1.102:32940;chain;指纹标签为应用层面/其他。
[0225]
日志记录3显示以下日志记录:指纹识别规则;http协议为[1:20000981:1]网络资产名称为nginx指纹识别;类型为在应用层进行识别;优先级为2级;置信度为70;tcp为8.130.165.191:80-》172.31.1.102:32940;chain:;指纹标签为应用层面/反向代理。
[0226]
日志记录4显示以下日志记录:指纹识别规则;http协议为[1:20000982:1]网络资产名称为nginx指纹识别;类型为在应用层进行识别;优先级为2级;置信度为70;tcp为8.130.165.191:80-》172.31.1.102:32940;chain:;指纹标签为应用层面/反向代理。
[0227]
用户可以通过电子设备上的显示界面查看上述日志记录,能够准确的获取到网络资产的相关信息,从而可以快速有效的去验证已知的漏洞,进而提高网络的安全性和可靠性。
[0228]
本技术的方案,确定用于识别指纹信息的suricata指纹识别规则集;获取包含协议类型的网络数据;根据网络数据的类型确定出与网络类型相对应的suricata指纹识别规则;将网络数据与确定出的suricata指纹识别规则进行匹配;得到包括指纹信息的匹配结果。
[0229]
本技术的方案是获取流经的待检测网络的网络数据,即被动式获取网络数据。在
获取到流经的网络数据之后,将网络数据与确定出的suricata指纹识别规则集进行匹配,然后确定出网络数据中的指纹信息(即网络资产)。也就是说,本技术的方案是仅对获取到的网络数据进行识别,即被动地识别网络资产,在一定程度上能够保证网络安全,提高工作效率。
[0230]
此外,本技术提供的方案通过suricata引擎将suricata指纹识别规则集与网络数据进行匹配,从而识别出网络资产。由于suricata指纹识别规则集可以支持http、dns、tcp、tls、udp、smb等协议的识别,同时可以支持十六进制、字符串以及正则表达式进行匹配;因此,本技术提供的方案可以针对大流量的较多的指纹识别场景,并且能够解决指纹识别兼容性差的问题。
[0231]
对于前述实施例中的方法,本技术还提供一种指纹识别装置。该提供的指纹识别装置可以应用于电子设备,用于实现前述实施例中的方法。该指纹识别装置可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个于上述功能对应的模块。
[0232]
例如,图5示出了一种指纹识别装置的结构示意图。如图5所述指纹识别装置500可以包括:确定模块501、获取模块502和匹配模块503等。
[0233]
其中,确定模块501,可以用于确定指纹识别规则集;指纹识别规则集至少包括一条指纹识别规则,指纹识别规则可以用于检测指纹信息,指纹信息可以用于表征网络中存在网络资产。
[0234]
获取模块502,可以用于获取待检测网络的网络数据。
[0235]
匹配模块503,可以用于根据网络数据与指纹识别规则集,得到匹配结果,其中,匹配结果可以用于指示网络数据中是否存在指纹信息。
[0236]
在一些实施例中,指纹识别规则包括:规则头部和规则选项;规则头部用于确定规则的行为,规则选项用于确定规则的特征以及内容。
[0237]
在一些实施例中,规则头部包括:规则行为;规则行为用于指示在匹配到行为时所执行的动作;规则选项包括:选项关键字和选项内容,选项关键字用于指示规则选项,选项内容为规则选项对应的内容。
[0238]
在一些实施例中,规则行为包括指纹识别行为;选项关键字包括网络资产名称、限定内容和网络资产标签,网络资产名称用于识别网络数据中是否存在网络名称;限定内容用于限定网络数据的方向以及形式;网络资产标签用于标识网络资产。
[0239]
在一些实施例中,选项关键字还可以包括网络资产版本,网络资产版本用于识别网络数据中是否存在网络资产版本。
[0240]
在一些实施例中,指纹识别规则可以包括sur icate指纹识别规则。
[0241]
在一些实施例中,获取模块502,还可以用于获取待检测网络的网络数据包;将网络数据包分组重组,得到重组后的网络数据,以得到完整的网络数据包;将重组后的网络数包进行协议解码,得到网络数据。
[0242]
在一些实施例中,匹配模块503,还可以用于根据网络数据的类型,在指纹识别规则集中确定指纹识别规则;将网络数据与指纹识别规则进行匹配,得到匹配结果;在网络数据与指纹识别规则匹配的情况下,得到网络数据包括指纹信息的匹配结果。
[0243]
在一些实施例中,如图5所示,该指纹识别装置还可以包括日志生成模块504、存储
模块505和输出模块506。
[0244]
日志生成模块504,可以用于在匹配结果为网络数据包括指纹信息的情况下,生成指纹信息的日志记录。
[0245]
存储模块505,可以用于存储日志记录。
[0246]
输出模块506,可以用于输出日志记录。
[0247]
应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
[0248]
例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
[0249]
在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个asi c,或,一个或多个dsp,或,一个或者多个fpga,或这些集成电路形式中至少两种的组合。
[0250]
再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如cpu或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-ch ip,soc)的形式实现。
[0251]
在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
[0252]
在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法。
[0253]
例如,本技术实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例所述的指纹识别方法。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。
[0254]
在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件可以设置于对应上述的电子设备上,这里的处理元件可以为集成电路,例如:一个或多个asi c,或,一个或多个dsp,或,一个或者多个fpga,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
[0255]
例如,本技术实施例还提供一种芯片,该芯片可以应用于上述电子设备。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现以上方法实施例中所述的指
纹识别方法。
[0256]
本技术实施例还提供一种计算机程序产品,包括如上述电子设备运行的计算机指令。
[0257]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0258]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0259]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0260]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0261]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0262]
例如,本技术实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述方法实施例中所述的指纹识别方法。
[0263]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表