一种自定义特征码的方法和装置
技术领域
本发明涉及网络安全领域,具体而言,涉及一种自定义特征码的方法和装置。
背景技术
目前,随着越来越多的用户通过网络对信息进行有效和迅速的处理,如何在用户利用网络进行信息处理的过程中保证信息的安全而不被网络黑客的异常行为窃取或者篡改越来越重要;为了能够主动检测黑客的异常行为对自身进行保护,越来越多的网络用户安装入侵检测***(intrusion detection system,IDS)来检测黑客的异常行为。
现有的IDS在检测黑客的异常行为时,会先获取用于表征异常行为的特征码,然后将获取到的异常行为的特征码与IDS中预设的特征库中的特征码进行比对,确定异常行为的攻击特征,并根据异常行为的攻击特征对异常行为进行相应处理,从而保证用户的安全。
但是现有的IDS只能根据厂商预设的特征码进行异常行为的检测,而当有其他的异常行为对用户进行攻击时,IDS由于没有设置对用户进行攻击的异常行为的特征码,所以就不能对用户受到的异常行为进行检测,从而导致异常行为错报和漏报的情况出现。
发明内容
有鉴于此,本发明实施例的目的在于提供一种自定义特征码的方法和装置,可以自定义特征码,无需依赖厂商或外部资源就可以达到减少IDS对异常行为的错报和漏报的目的,最终达到风险自主、可控的效果。
第一方面,本发明实施例提供了一种自定义特征码的方法,包括:
从检测到的异常行为的数据报中确定异常字段;
根据确定的所述异常字段,得到所述异常行为的攻击特征信息;
根据得到的所述攻击特征信息,生成特征码;
当生成的所述特征码通过检测时,确定所述特征码是自定义特征码。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,从检测到的异常行为的数据报的字段信息中确定异常字段,包括:
当检测到异常行为时,获取所述异常行为的所述数据报;
获取所述数据报中的多个字段信息,所述多个字段信息中的每个字段信息包括:数据报的信息和字段中所包含的字符串;
根据所述数据报的信息和所述字段中所包含的字符串,获取所述数据报中的异常字段。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据所述数据报的信息和所述字段中所包含的字符串,获取所述数据报中的异常字段,包括:
当当前数据报中数据报的信息与预设数据报的信息一致时,则确定所述数据报的信息是异常字段;
当所述当前数据报中当前字段所包含的字符串与预设字段的字符串一致时,则确定所述当前字段是异常字段。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,根据确定的所述异常字段,得到异常行为的攻击特征信息,包括:
确定获取到的所述数据报中具有所述异常字段的数据报的信息;
当所述数据报中具有匹配所述异常字段的数据报的信息时,确定所述异常字段为攻击特征信息。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,在根据得到的所述攻击特征信息,生成特征码之后,所述方法还包括:
通过生成的所述特征码检测出所述特征码对应的异常行为,确定所述特征码通过检测。
第二方面,本发明实施例提供了一种自定义特征码的装置,包括:
异常字段确定模块,用于从检测到的异常行为的数据报中确定异常字段;
攻击特征信息确定模块,根据确定的所述异常字段,得到所述异常行为的攻击特征信息;
特征码生成模块,用于根据得到的所述攻击特征信息,生成特征码;
自定义特征码确定模块,用于当生成的所述特征码通过异常行为检测时,确定所述特征码是自定义特征码。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,异常字段确定模块,包括:
数据报获取单元,用于当检测到异常行为时,获取所述异常行为的所述数据报;
字段信息获取单元,用于获取所述数据报中的多个字段信息,所述多个字段信息中的每个字段信息包括:数据报的信息和字段中所包含的字符串;
异常字段获取单元,用于根据所述数据报的信息和所述字段中所包含的字符串,获取所述数据报中的异常字段。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,异常字段获取单元,包括:
第一异常字段获取子单元,用于当当前数据报中当前数据报的信息与预设数据报的信息一致时,则确定所述数据报的信息是异常字段;
第二异常字段获取子单元,用于当所述当前数据报中当前字段所包含的字符串与预设字段的字符串一致时,则确定所述当前字段是异常字段。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,攻击特征信息确定模块,包括:
数据报信息确定单元,用于确定获取到的所述数据报中具有所述异常字段的数据报的信息;
攻击特征信息确定单元,用于当所述数据报中具有匹配所述异常字段的数据报的信息时,确定所述异常字段为攻击特征信息。
结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述装置还包括:
检测模块,用于通过生成的所述特征码检测出所述特征码对应的异常行为,确定所述特征码通过检测。
本发明实施例提供的一种自定义特征码的方法和装置,通过从检测到的异常行为的数据报中确定异常字段,根据确定的异常字段生成自定义特征码,所以和现有技术中IDS只能根据厂商预设的特征码检测异常行为的方式相比,可以根据用户生成的自定义特征码,检测黑客的异常行为,减少IDS对异常行为的错报和漏报情况,并且通过异常行为对生成的特征码进行验证,将通过检测的确定特征码确定为自定义特征码,增加了自定义特征码检测异常行为的准确率,使IDS可以对用户进行更好的保护,最终达到风险自主、可控的效果。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种自定义特征码的方法所涉及的一种实施***的结构示意图;
图2示出了本发明实施例1提供的一种自定义特征码的方法的流程图;
图3示出了本发明实施例3提供的一种自定义特征码的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关的网络安全技术中,现有的IDS只能根据厂商预设的特征码进行异常行为的检测,而当有其他的异常行为对用户进行攻击时,IDS由于没有设置对用户进行攻击的异常行为的特征码,所以就不能对用户受到的异常行为进行检测,从而导致异常行为错报和漏报情况出现。基于此,本发明实施例提供了一种自定义特征码的方法和装置。
参见图1,其示出了本发明实施例提供的自定义特征码的方法所涉及的一种实施***的结构示意图,该***包括:安装有IDS的服务器100,其中,服务器100包括中央处理器101和与中央处理器101进行数据交互的存储器102。
服务器100,用于当检测到异常行为时,获取异常行为的数据报,并将获取到的数据报发送给中央处理器101;中央处理器101,用于从检测到的异常行为的数据报中确定异常字段,根据确定的异常字段,得到异常行为的攻击特征信息,根据得到的攻击特征信息,生成特征码,并当生成的特征码通过检测时,确定特征码是自定义特征码,然后将确定的自定义特征码发送到存储器102;存储器102,设置有IDS的特征库,用于将中央处理器101确定的自定义特征码存储到IDS的特征库中。
服务器100可以采用现有的任意型号的服务器或者计算设备来生成自定义特征码并进行存储,这里不再一一赘述。
中央处理器101可以采用现有的任何型号和类型的中央处理器、微处理器或者可编程器件来自定义特征码,这里不再一一赘述。
存储器102可以采用现有的任何大容量存储介质对IDS预设的特征码以及用户生成的自定义特征码进行存储,这里不再一一赘述。
实施例1
参见图2,本实施例提供一种自定义特征码的方法,该方法包括如下步骤:
步骤200、从检测到的异常行为的数据报中确定异常字段。
数据报,可以由多个数据包组成。
异常行为包括:SQL注入、APT攻击和恶意程序等。当然异常行为还可以包括现有的任何可以威胁用户网络信息安全的行为,这里不再一一赘述。
异常字段,是SQL注入、APT攻击等异常行为所产生的流量或者带有的异常数据流。
步骤202、根据确定的异常字段,得到异常行为的攻击特征信息。
攻击特征信息,用于表征异常行为,通常情况下是异常行为的数据报中携带的一个或者多个异常字段,IDS可以通过获取到的攻击特征信息,来对异常行为进行识别。
步骤204、根据得到的攻击特征信息,生成特征码。
特征码,是用于IDS识别异常行为的数据,除了包括攻击特征信息之外,还包括用于匹配所有的网络活动特征的逻辑组织结构以及用于根据异常行为定义检查是否有匹配项的通信流部分的检测窗口。
检测窗口可能是以下多种类型数据的任一项:
数据报(Packet),用于对单个网络数据报进行所有特征码以及所有协议字段测试。
请求(Request),用于对通信流的请求方向进行所有特征码测试。(如果协议是双向的,而且两个方向可能包含相同的数据或命令时,这将非常有用。)
响应(Response),与请求相同,但只用于检查响应方向的流量。
通信流(Flow)-由多个数据报组成,当检测窗口被设置为通信流时,两个方向的通信流都要满足所有条件。测试仍然易于受到特征码结构强加的任何排序或被测试字段指出的流方向的影响。
良性触发几率(Benign Trigger Probability,BTP),这是衡量用户相信特征码可识别网络事件的信心的值。高良性触发几率,表示特征码可能容易出现误报。在创建特征码时,用户应将BTP设置为“低(Low)”,以确保IDS的默认策略会选择用户生成的自定义特征码。
步骤206、当生成的特征码通过检测时,确定特征码是自定义特征码。
本实施例提供的一种自定义特征码的方法,通过从检测到的异常行为的数据报中确定异常字段,根据确定的异常字段生成自定义特征码,所以和现有技术中IDS只能根据厂商预设的特征码检测异常行为的方式相比,可以根据用户生成的自定义特征码,检测黑客的异常行为,减少IDS对异常行为的错报和漏报情况,并且通过异常行为对生成的特征码进行验证,将通过检测的确定特征码确定为自定义特征码,增加了自定义特征码检测异常行为的准确率,使IDS可以对用户进行更好的保护,最终达到风险自主、可控的效果。
相关技术中,IDS不能生成自定义特征码,而为了生成自定义特征码,就需要对异常行为携带的异常字段进行检测,所以,从检测到的异常行为的数据报的字段信息中确定异常字段,包括以下步骤1至步骤3:
(1)当检测到异常行为时,获取异常行为的数据报;
(2)获取数据报中的多个字段信息,多个字段信息中的每个字段信息包括:数据报的信息和字段中所包含的字符串
(3)根据数据报的信息和字段中所包含的字符串,获取数据报中的异常字段。
在步骤1中,可以通过使用攻击软件或黑客工具,触发需要自定义特征码的异常行为的数据流,并使用wireshark等网络封包分析工具获取异常行为的数据报。
根据预设的数据报获取数量,获取异常行为中的数据报,并在获取到预设数量的数据报后,对数据报进行解析。
当然,还可以使用其他现有的任何可以获取异常行为数据报的网络封包分析软件工具,获取异常行为数据报,这里不再一一赘述。
在步骤2中,数据报的信息包括数据报长度信息和数据报的包头信息,通过网络封包分析工具解析出异常行为的每个数据报在数据文件中的偏移位置和每个数据报的信息,然后根据数据报在文件中的偏移位置和数据报的信息中记录的数据报长度信息,逐一读取并解析获取到的每个数据报,将每个数据报中包括的所有字段都解析出来,从而对异常行为进行完整的解析。
在解析数据报时,首先解析出数据报的包头信息,然后解析出数据报中除包头外的其他数据字段(如字符字段等)。数据报的包头信息包括源IP、源端口、目的IP、目的端口和校验和。
异常行为为了对用户进行攻击,必须要对数据报中包含的正常字段进行篡改,形成包括异常字段的攻击特征信息,并将攻击特征信息写入用户的计算机中,并在特定的应用环境下触发该攻击特征信息,才能完成对用户的攻击。所以可以通过对数据报的长度、以及字符字段的内容和长度来对数据报中是否有异常字段进行检测,所以,步骤3中,根据数据报的信息和字段中所包含的字符串,获取数据报中的异常字段通过以下步骤31至步骤32描述的至少一种方式对数据报中是否具有异常字段进行判断:
(31)当当前数据报中数据报的信息与预设数据报的信息一致时,则确定数据报的信息是异常字段;
(32)当当前数据报中当前字段所包含的字符串与预设字段的字符串一致时,则确定当前字段是异常字段。
在步骤31中,如果数据报的信息是数据报长度信息时,根据数据报长度信息确定数据报的长度与预设的数据报长度一致时,则确定当前数据报包括异常字段;如果数据报的信息是当前被检测字段的长度信息时,当当前数据报中当前字段的长度与预设字段的长度一致时,则确定当前字段是异常字段。
其中,预设数据报的信息或者预设字段包括的字符串的内容,与需要自定义特征码的异常行为的异常字段相一致。
通过判断数据报的信息和字段中所包含的字符串是否和预设的内容相一致,,就可以确定出数据报所包含的异常字段,操作简单易行,从而可以生成与异常行为相应的自定义特征码,来对该异常行为进行检测。
综上所述,通过获取异常行为的数据报,并从获取到的数据报中解析出数据报携带的所有字段字符,从而对字段字符中的异常字段进行检测,从而确定数据报中的异常字段,以便在后续的步骤中生成自定义特征码,从而可以使IDS可以根据用户的需求生成检测不同异常行为的自定义特征码,方便用户使用。
在得到某一数据报中包括的异常字段后,并不能直接确定该异常字段就是用于表征异常行为的,还需要对该异常字段进行进一步的验证,所以,根据确定的异常字段,得到异常行为的攻击特征信息,包括以下步骤1至步骤2:
(1)确定获取到的数据报中具有异常字段的数据报的信息;
(2)当数据报中具有匹配异常字段的数据报的信息时,确定异常字段为攻击特征信息。
步骤1具体包括:逐一判断获取到的异常行为的数据报中是否具有该异常字段,如果有则记录具有该异常字段的数据报标识;统计具有该异常字段的数据报标识的数量,确定获取到的数据报中具有异常字段的数据报数量,从而确定获取到的数据报中具有异常字段的数据报的信息。
判断获取到的异常行为的数据报中是否具有该异常字段时,是将该异常字段的字符串或者长度与数据报中的其他字段的字符串或者长度进行比对,当数据报中的其他字段的字符串或者长度有与该异常字段的字符串或者长度一致的内容时,就可以确定数据报中具有该异常字段。
当然,步骤1也可以采用现有的其他方式确定获取到的数据报中具有异常字段的数据报的信息,这里不再一一赘述。
在步骤2中可以通过对具有异常字段的数据报数量为条件,对异常字段是否为攻击特征信息进行判断:所以步骤2包括如下步骤21至步骤23:
(21)判断具有异常字段的数据报数量是否大于设定的阈值,如果是则执行步骤22,如果否则执行步骤23;
(22)确定异常字段为攻击特征信息;
(23)确定异常字段不是异常行为的攻击特征信息。
当然,还可以通过对其他内容的判断方式,来对异常字段是否为攻击特征信息进行判断,这里不再一一赘述。
通过以上描述,通过统计包含异常字段的数据报数量作为判断条件对异常字段是否是用于表征异常行为进行验证,可以快速的确定该异常字段是否用于表征就明确异常行为。
综上所述,通过确定获取到的数据报中具有异常字段的数据报的信息来对异常字段是否为攻击特征信息进行判断,可以减小***开销,加快自定义特征码的生成速度。
由于特征码是用户自己定义的,所以在生成特征码后,还要对特征码进行测试,只有通过测试,才说明特征码是有效的,可以对攻击特征进行有效的检测;所以,在根据得到的攻击特征信息,生成特征码之后,自定义特征码的方法还包括以下步骤1:
(1)通过生成的特征码检测出特征码对应的异常行为,确定特征码通过检测。
其中,步骤1具体包括如下步骤11至12:
(11)通过生成的特征码对特征码对应的异常行为进行异常行为检测;
(12)当在预设的检测次数中通过特征码检测出异常行为的次数大于预设的检测阈值时,确定特征码通过检测。
在步骤1中,分别进行特征码验证和对生成的特征码进行异常行为检测两部分验证。
其中,特征码验证的内容包括但不限于:数字比较测试、数字范围测试、数字枚举测试、模式匹配、创建固定字段特征码和数据报搜索协议。
使用的数字比较测试、数字范围测试、数字枚举测试、模式匹配、创建固定字段特征码和数据报搜索协议均可以现有技术中使用的测试方式,这里不再一一赘述。
异常行为检测的过程包括以下流程:通过流量生成工具或数据报重放来验证用户生成的特征码是否能匹配到需要测试的流量和字段,其中,需要测试的流量和字段中携带有用户生成的特征码中包括的异常字段;通过检查测试流量和字段是否会引发重复警报(一个警报是入侵检测***自带的特征码引发的,另一个警报是生成的特征码引发的),来达到异常行为检测的目的。
综上所述,通过分别对特征码进行验证和检测,确定了特征码的有效性,保证用户生成的特征码可以检测出相应的异常行为,提高IDS对黑客异常行为的检测准确性。
实施例2
本实施例涉及另一种自定义特征码的方法,其具体包括以下步骤1至步骤6:
(1)攻击数据流抓取
通过来了解所需比对的具体异常行为,通过使用攻击软件或黑客工具,触发所需抓取的攻击数据流,抓取攻击数据流可使用网上免费的网络封包分析软件工具(如wireshark等)。
(2)攻击数据流分析
抓取完攻击数据流后,通过网络封包分析软件工具打开数据报,得到攻击数据中的协议报文类型的字段长度和构造特征,其中关键的函数包括:报文数据报的构造函数;发送和收到报文数据报的函数和解析后得到的每类报文数据报的字段结构、协议特征、文本字段。
在步骤2中,首先解析出每个数据报在数据文件中的偏移位置和每个数据报的长度,然后根据数据报在文件中的偏移位置和数据报的长度,读取到一个完整的数据报,接着根据IP/TCP/UDP等协议规范,解析出数据报的包头信息,包括源IP、源端口、目的IP、目的端口、校验和、最后解析出数据报中除包头外的其他部分(如字符字段等);通过循环这一过程,能够解析出数据文件中的所有数据报,从而完成对攻击流量的解析。
(3)攻击特征提取
根据步骤2)得到的信息,进一步对攻击特征进行提取和汇总;其中,攻击特征包括交互过程信息和报文数据报的格式特征,数据报中的字符字段特征;提取上述攻击特征,然后逐个对解析出的字段记录,先记录下固定字段的特征,对可变的字段部分采用重复比对的方法,来观察可变的字段判断是否有规律性,还是随机性。
通过以上的方法,将攻击的特征进行提取,最终得到字符字段特征、协议报头函数特征等。
(4)提取特征,根据特定格式进行签名封包
自定义特征码前应准备好的一系列信息。特征码可以是非常简单的操作,也可以是按特定顺序检查不同信息的高度复杂的操作。
这一系列信息包括:创建此自定义特征码的原因、此自定义特征码的“Severity”(严重性)、此自定义特征码的技术信息参考、此自定义特征码要检查的流量流向的方向、此自定义特征码用来搜索流量的协议(也称为影响协议)、此自定义特征码组成的特定条件,例如要匹配的字段值和模式、以及此自定义特征码受此流量影响的特定硬件或软件平台(也称为影响包)。
a)特征码的结构
入侵检测***提供的特征码支持非常全面。除了支持的常规模式匹配和数字测试外,还允许特征码具有复杂的结构,它可以排序和分组测试,从而实现准确的检测。
b)测试的逻辑组织结构
提供了一组简单但十分强大的逻辑构造,使用户可以创建自定义签名特征时可匹配几乎所有的网络活动的特征。这种逻辑构造提供了对更加精细的特征码片段进行分组和排序(以所需的任何顺序)的方法:数字测试和模式匹配。
c)其他特征码组件
除了特征码本身的机制外,还需要其他一些信息才能正常工作:
检测窗口-检测窗口是入侵检测***根据攻击定义检查是否有匹配项的通信流的部分。检测窗口可能是以下任一项:
数据报-必须对单个网络数据报进行所有特征码测试(以及所有协议字段)。
请求-必须对流的请求方向进行所有特征码测试。(如果协议是双向的,而且两个方向可能包含相同的数据或命令时,这将非常有用。)
响应-与请求相同,但只用于检查响应方向的流量。
流-当检测窗口被设置为流时,两个方向的通信流都要满足所有条件。测试仍然易于受到特征码结构强加的任何排序或被测试字段指出的流方向的影响。
BTP-这是衡量用户相信特征码可识别网络事件的信心的值。高良性触发几率,(BTP)表示特征码可能容易出现误报。在创建特征码时,用户应将BTP设置为“Low(低)”,以确保默认策略会选择用户的特征码。
(5)特征码与攻击数据流进行比对
自定义特征常用两类基本测试:
模式匹配-模式匹配可以用于匹配ASCII或二进制字符串。它支持常见的正则表达式构造。
数字比较-根据所选的数字比较测试,数字比较可以用于测试是否匹配一个给定的值或某个范围内的值。
(6)特征码导入入侵检测***
在将自定义签名特征部署到入侵检测***生产环境之前,必须对其进行彻底测试。错误的定义可导致误报、漏报和性能问题,而这些对网络的安全性和可靠性都是非常不利的。要避免这些问题,最好的办法就是使用全面的测试计划,在整个部署过程中测试签名特征是否可以像预期的那样进行比对。
测试计划中至少包含以下验证操作:
使用流量生成工具或数据报重放来验证用户自定义签名特征是否能匹配到需要检测的流量、字段。
通过检查测试流量是否会引发重复警报(一个警报是入侵检测***自带的特征码引发的,另一个警报是其他自定义特征码引发的)来达到此目的。
确认均正常触发后,就可以将特征码导入生产环境中的入侵检测***。
本实施例提供的一种自定义特征码的方法,通过从检测到的异常行为的数据报中确定异常字段,根据确定的异常字段生成自定义特征码,所以和现有技术中IDS只能根据厂商预设的特征码检测异常行为的方式相比,可以根据用户生成的自定义特征码,检测黑客的异常行为,减少IDS对异常行为的错报和漏报情况,并且通过异常行为对生成的特征码进行验证,将通过检测的确定特征码确定为自定义特征码,增加了自定义特征码检测异常行为的准确率,使IDS可以对用户进行更好的保护,最终达到风险自主、可控的效果。
实施例3
本实施例提供一种自定义特征码的装置,用于执行上述是实例中自定义特征码的方法,该自定义特征码的装置包括:异常字段确定模块300、攻击特征信息确定模块302、特征码生成模块304和自定义特征码确定模块306;
异常字段确定模块300,用于从检测到的异常行为的数据报中确定异常字段;攻击特征信息确定模块302,与异常字段确定模块300连接,根据确定的异常字段,得到异常行为的攻击特征信息;特征码生成模块304,与攻击特征信息确定模块302连接,用于根据得到的攻击特征信息,生成特征码;自定义特征码确定模块306,与特征码生成模块304连接,用于当生成的特征码通过异常行为检测时,确定特征码是自定义特征码。
相关技术中,IDS不能生成自定义特征码,而为了生成自定义特征码,就需要对异常行为携带的异常字段进行检测,所以,异常字段确定模块300,包括:
数据报获取单元,用于当检测到异常行为时,获取异常行为的数据报;字段信息获取单元,用于获取数据报中的多个字段信息,多个字段信息中的每个字段信息包括:数据报的信息和字段中所包含的字符串;异常字段获取单元,用于根据数据报的信息和字段中所包含的字符串,获取数据报中的异常字段。
异常行为为了对用户进行攻击,必须要对数据报中包含的正常字段进行篡改,形成包括异常字段的攻击特征信息,并将攻击特征信息写入用户的计算机中,并在特定的应用环境下触发该攻击特征信息,才能完成对用户的攻击。所以可以通过对数据报的长度、以及字符字段的内容和长度来对数据报中是否有异常字段进行检测,所以,异常字段获取单元,包括:
第一异常字段获取子单元,用于当当前数据报中当前数据报的信息与预设数据报的信息一致时,则确定数据报的信息是异常字段;第二异常字段获取子单元,用于当当前数据报中当前字段所包含的字符串与预设字段的字符串一致时,则确定当前字段是异常字段。
通过以上的描述,通过判断数据报的信息和字段中所包含的字符串是否和预设的内容相一致,就可以确定出数据报所包含的异常字段,操作简单易行,从而可以生成与异常行为相应的自定义特征码,来对该异常行为进行检测。
综上所述,通过获取异常行为的数据报,并从获取到的数据报中解析出数据报携带的所有字段字符,从而对字段字符中的异常字段进行检测,从而确定数据报中的异常字段,以便在后续的步骤中生成自定义特征码,从而可以使IDS可以根据用户的需求生成检测不同异常行为的自定义特征码,方便用户使用。
在得到某一数据报中包括的异常字段后,并不能直接确定该异常字段就是用于表征异常行为的,还需要对该异常字段进行进一步的验证,所以,攻击特征信息确定模块302,包括:
数据报信息确定单元,用于确定获取到的数据报中具有异常字段的数据报的信息;攻击特征信息确定单元,用于当数据报中具有匹配异常字段的数据报的信息时,确定异常字段为攻击特征信息。
综上所述,通过确定获取到的数据报中具有异常字段的数据报的信息来对异常字段是否为攻击特征信息进行判断,可以减小***开销,加快自定义特征码的生成速度。
由于特征码是用户自己定义的,所以在生成特征码后,还要对特征码进行测试,只有通过测试,才说明特征码是有效的,可以对攻击特征进行有效的检测;所以,自定义特征码的装置还包括:
检测模块,用于通过生成的特征码检测出特征码对应的异常行为,确定特征码通过检测。
综上所述,通过对特征码进行验证和检测,确定了特征码的有效性,保证用户生成的特征码可以检测出相应的异常行为,提高IDS对黑客异常行为的检测准确性。
本实施例提供的一种自定义特征码的装置,通过从检测到的异常行为的数据报中确定异常字段,根据确定的异常字段生成自定义特征码,所以和现有技术中IDS只能根据厂商预设的特征码检测异常行为的方式相比,可以根据用户生成的自定义特征码,检测黑客的异常行为,减少IDS对异常行为的错报和漏报情况,并且通过异常行为对生成的特征码进行验证,将通过检测的确定特征码确定为自定义特征码,增加了自定义特征码检测异常行为的准确率,使IDS可以对用户进行更好的保护,最终达到风险自主、可控的效果。
本发明实施例所提供的进行自定义特征码的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者特殊硬件设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。