流量数据库构建方法和流量检测模型训练方法与流程

文档序号:29564844发布日期:2022-04-09 02:04阅读:152来源:国知局
流量数据库构建方法和流量检测模型训练方法与流程

1.本技术涉及网络安全技术领域,具体而言,涉及一种流量数据库构建方法和流量检测模型训练方法。


背景技术:

2.网络安全问题是网络环境中需要重点关注的问题,虽然已经采取了各种网络安全防护措施,但是单一的安全防护措施,并不能满足目前对于网络评估的需求。为了提高安全防护的响应能力,一些安全厂商在大数据的基础上利用一些机器学习和人工智能(artificial intelligence,简称:ai)算法解决网络安全问题。但是目前的采用机器学习对网络安全的识别还是存在一些不足。


技术实现要素:

3.本技术的目的在于提供一种流量数据库构建方法和流量检测模型训练方法,以改善目前的采用机器学习对网络安全的识别上的不足。
4.第一方面,本发明提供一种流量数据库构建方法,包括:
5.获取流量数据集,所述流量数据集中的每一组流量数据包括:多类型日志;
6.根据所述流量数据集中的流量数据的多类型日志,确定出聚合数据集;
7.对所述聚合数据集中的各聚合数据进行特征提取,以形成特征数据集;
8.对所述特征数据集进行分类处理,以得到多类特征数据集;
9.基于所述多类特征数据集,构建特征数据库,所述特征数据库中的特征数据用于训练流量检测模型。
10.在可选的实施方式中,所述根据所述流量数据集中的流量数据的多类型日志,确定出聚合数据集,包括:
11.根据所述流量数据集中的流量数据的多类型日志,确定出所述流量数据集中各条流量数据的四元组数据;
12.将所述流量数据集中四元组数据相同的流量数据进行聚合处理,得到聚合数据集。
13.在可选的实施方式中,所述多类型日志包括:连接通信日志、ssl(secure sockets layer,中文称:安全套接字协议)协议日志和证书日志;所述根据所述流量数据集中的流量数据的多类型日志,确定出四元组数据集,包括:
14.针对所述流量数据集中的目标流量数据,从所述目标流量数据中的目标连接通信日志获取目标连接标识,所述目标流量数据为所述流量数据集中任意一项流量数据;
15.根据所述目标连接标识,连接所述目标流量数据的目标ssl协议日志;
16.从所述目标ssl协议日志获取目标证书路径;
17.根据所述目标证书路径,获得所述目标流量数据的目标证书日志;
18.从所述目标连接通信日志、目标ssl协议日志和目标证书日志,确定出所述目标流
量数据的目标四元组数据。
19.在可选的实施方式中,所述多类型日志包括:连接通信日志、ssl协议日志和证书日志;所述对所述聚合数据集中的各聚合数据进行特征提取,以形成特征数据集,包括:
20.针对聚合数据集中的目标聚合数据,从所述目标聚合数据中的所有连接通信日志中,提取通信特征,所述目标聚合数据为所述聚合数据集中任意一组聚合数据;
21.从所述目标聚合数据中的所有ssl协议日志中,提取协议特征;
22.从所述目标聚合数据中的所有证书日志中,提取证书特征。
23.在可选的实施方式中,所述对所述特征数据集进行分类处理,以得到多类特征数据集,包括:
24.根据所述特征数据集中各项特征数据,确定出各项特征数据所表征的特征数据所属通信来源;
25.根据所述特征数据集中各项特征数据,确定出各项特征数据所表征的特征数据是否属于攻击流量;
26.根据所述特征数据集中的各项特征数据的通信来源,以及是否属于攻击流量进行流量划分,将所述特征数据集中各项特征数据划分为:加密通信流量、恶意攻击流量或恶意加密应用的通信流量三类。
27.第二方面,本发明提供一种流量检测模型训练方法,包括:
28.从前述实施方式任意一项所述的流量数据库构建方法构建的特征数据库获取训练数据集;
29.使用所述训练数据集,对预构建的初始模型进行训练,以得到流量检测模型。
30.第三方面,本发明提供一种流量检测方法,包括:
31.将待检测流量输入前述实施方式所述的流量检测模型训练方法得到的流量检测模型中进行检测,以确定所述待检测流量是否为安全流量。
32.第四方面,本发明提供一种流量数据库构建装置,包括:
33.第一获取模块,用于获取流量数据集,所述流量数据集中的每一组流量数据包括:多类型日志;
34.确定模块,用于根据所述流量数据集中的流量数据的多类型日志,确定出聚合数据集;
35.形成模块,用于对所述聚合数据集中的各聚合数据进行特征提取,以形成特征数据集;
36.分类模块,用于对所述特征数据集进行分类处理,以得到多类特征数据集;
37.构建模块,用于基于所述多类特征数据集,构建特征数据库,所述特征数据库中的特征数据用于训练流量检测模型。
38.第五方面,本发明提供一种流量检测模型训练装置,包括:
39.第二获取模块,用于从前述实施方式任意一项所述的流量数据库构建方法构建的特征数据库获取训练数据集;
40.训练模块,用于使用所述训练数据集,对预构建的初始模型进行训练,以得到流量检测模型。
41.第六方面,本发明提供一种流量检测装置,包括:
42.检测模块,用于将待检测流量输入前述实施方式所述的流量检测模型训练方法得到的流量检测模型中进行检测,以确定所述待检测流量是否为安全流量。
43.第七方面,本发明提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如前述实施方式任一所述的方法的步骤。
44.第八方面,本发明提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述实施方式任一所述的方法的步骤。
45.本技术实施例的有益效果是:通过先收集流量数据,再基于对流量数据的分析确定出流量数据所包含的特征,再对流量特征进行分类,最后根据分类后的特征数据构建出特征数据库,该特征数据库可以更好地表示各种类型的流量;进一步地,使用该特征数据库中的各种特征数据训练的检测模型能够更全面地实现对网络的安全进行检测,从而也可以进一步地提高网络的安全。
附图说明
46.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
47.图1为本技术实施例提供的电子设备的方框示意图;
48.图2为本技术实施例提供的流量数据库构建方法的流程图;
49.图3为本技术实施例提供的流量数据库构建装置的功能模块示意图;
50.图4为本技术实施例提供的流量检测模型训练方法的流程图;
51.图5为本技术实施例提供的流量检测模型训练装置的功能模块示意图。
具体实施方式
52.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行描述。
53.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
54.目前各个安全厂商也开始利用大数据技术和机器学习、人工智能算法等进行安全问题的分析和检测。为网络安全管理员的决策分析提供依据,提高网络的监控能力、应急响应能力和预测网络安全的发展趋势等方面都具有重要的意义。
55.现有技术方法是基于已经发生的攻击,以攻击事件为线索,从“杀伤链”的不同阶段,通过关联分析、特征分析等多个分析维度,同时从ip属性、地理位置、域名、端口、手段等线索进行画像分析,再通过可视化组件直观展示攻击趋势、手段、时间等。此技术手段主要是网络攻击发生之后对攻击溯源分析。
56.现有的攻击溯源分析一般包括以下步骤:步骤1:通过安全设备采集到的网络攻击事件;步骤2:存储系统根据采集到的数据进行分类存储,从“杀伤链”的几个阶段进行分析。
步骤3:根据情报数据、源ip、端口、地理位置、域名等多个维度发起关联分析。步骤4:关联分析结果利用可视化组件展示。上述的现有技术,只能关注已经遭受攻击后,历史攻击趋势、攻击手段等,都是基于事后分析,安全防护滞后。
57.发明人了解到,单一次的网络安全检测结果,或者攻击事件发生后的溯源已经不能够满足网络安全检测的需求,更多的需要态势分析平台,通过该态势分析平台产生安全事件告警和态势数据产品,以支持安全态势综合呈现。
58.基于此需求,本技术实施例提供一种流量数据库构建方法、流量检测模型训练方法或流量检测方法。基于流量数据库构建方法、流量检测模型训练方法或流量检测方法形成态势分析平台,该态势分析平台可以基于人工智能技术实现对网络流量、用户行为、网络边界、业务系统、主机端点等感知防护环境的综合分析。该综合分析可以包括:汇聚流量情况、分析流量、协调联动处理各类型的流量和对流量进行综合判断。因此,若能够构建具备宏观数据汇聚、融合分析、深度挖掘数据流量的特征、网络全局威胁感知、业务贯通的态势分析平台,且该态势分析平台能够对网络中的安全风险进行持续监控、分析,识别各种已知和未知的安全威胁和用户行为异常,实现检测高级、隐藏和内部威胁的行为分析。从而实现异常和威胁的检测、威胁可视化,以可视的方式跨越杀伤链分析。下面通过一些实施例来描述本技术提供的流量数据库构建方法、流量检测模型训练方法和流量检测方法。
59.为便于对本实施例进行理解,首先对执行本技术实施例所公开的流量数据库构建方法、流量检测模型训练方法或流量检测方法的电子设备进行详细介绍。
60.如图1所示,是电子设备的方框示意图。电子设备100可以包括存储器111、处理器113。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
61.上述的存储器111与处理器113之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
62.其中,存储器111可以是,但不限于,随机存取存储器(random access memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除只读存储器(erasable programmable read-only memory,简称eprom),电可擦除只读存储器(electric erasable programmable read-only memory,简称eeprom)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本技术任意一个实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
63.上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
64.本实施例中的电子设备100可以用于执行流量数据库构建方法、流量检测模型训练方法或流量检测方法中的步骤。
65.可选地,该电子设备100用于执行流量检测模型训练方法中的步骤时,可以与一个目标数据库建立通信连接,该数据库中存储有使用流量数据库构建方法构建的特征数据库。可选地,该使用流量数据库构建方法构建的特征数据库也可以存储在电子设备100本地存储介质中,该电子设备100用于执行流量检测模型训练方法中的步骤时,可以从本地存储介质中获得特征数据库中的特征数据。
66.可选地,执行流量检测方法中的步骤的电子设备与执行流量数据库构建方法和流量检测模型训练方法中的步骤的电子设备可以不是同一个设备。示例性地,执行流量检测方法中的步骤的电子设备可以是安全设备。例如,该安全设备可以是网关设备、防火墙等。执行流量数据库构建方法和流量检测模型训练方法中的步骤的电子设备可以是数据库服务器、本地终端设备等。
67.本实施例中的电子设备100可以用于执行本技术实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述的流量数据库构建方法、流量检测模型训练方法和流量检测方法的实现过程。
68.请参阅图2,是本技术实施例提供的流量数据库构建方法的流程图。下面将对图2所示的具体流程进行详细阐述。
69.步骤210,获取流量数据集。
70.为了确保训练得到流量检测模型的准确性和时效性,收集的流量数据的准确度、覆盖面是关键。因此,该流量数据可以包括:加密通信样本、各类恶意行为、ssl版本、加密算法、加密通道发起攻击行为的各类攻击软件中的数据、各类恶意应用软件中的相关数据等数据。
71.示例性地,可以通过提取各种情况下的https流量中的日志,以得到流量数据集。
72.示例性地,流量数据集中的每一组流量数据包括:多类型日志,多类型日志包括:连接通信日志、ssl协议日志和证书日志。
73.其中,连接通信日志中每一行聚合一组数据包,每个数据包描述两个端点之间的连接。连接通信日志中的连接记录可以包含ip地址、端口、协议、连接状态、数据包数量、标签等信息。
74.ssl协议日志中记录有ssl/tls(transport layer security,中文称:安全传输层协议)握手和加密连接建立过程。其中,该ssl协议日志中的ssl协议记录可以包括:ssl/tls版本、使用的密码、服务器名称、证书路径、主题、证书发行者等信息。示例性地,证书路径可以存在ssl协议日志中的certificate path列,其中存储了所有证书的id键值,每一个分隔符号分隔的id值对应证书日志中的一条证书记录。
75.证书日志中的每一行都是一个证书记录。每一项证书记录描述证书信息。证书信息可以包括:证书序列号、常用名称、时间有效性、主题、签名算法、以位为单位的密钥长度等信息。
76.其中,每一个日志中的每一行可以包括唯一的键,用于链接其他日志中的行。
77.步骤220,根据所述流量数据集中的流量数据的多类型日志,确定出聚合数据集。
78.可选地,可以各类型日志中的唯一键,确定出各类型日志的关联关系。
79.示例性地,若其中一个连接通信日志记录中的唯一键,可以链接至其中一个ssl协议日志中的唯一键,则可以将两个日志中的两个记录进行关联。进一步地,ssl协议日志中的唯一键,可以在证书日志中确定对应的证书记录。
80.通过日志中的各个唯一键确定出各类型日志见的关联关系,然后再基于各日志的关联关系,将流量数据集进行聚类操作。
81.在一可选的实施方式中,步骤220可以包括步骤221和步骤222。
82.步骤221,根据所述流量数据集中的流量数据的多类型日志,确定出所述流量数据集中各条流量数据的四元组数据。
83.示例性地,步骤221可以包括:步骤a至步骤e。
84.步骤a,针对所述流量数据集中的目标流量数据,从所述目标流量数据中的目标连接通信日志获取目标连接标识,所述目标流量数据为所述流量数据集中任意一项流量数据。
85.该目标连接标识可以是唯一标识该连接通信日志中的一组记录内容。该目标连接标识可以是上述的唯一键。
86.步骤b,根据所述目标连接标识,连接所述目标流量数据的目标ssl协议日志。
87.步骤c,从所述目标ssl协议日志获取目标证书路径。
88.步骤d,根据所述目标证书路径,获得所述目标流量数据的目标证书日志。
89.步骤e,从所述目标连接通信日志、目标ssl协议日志和目标证书日志,确定出所述目标流量数据的目标四元组数据。
90.通过链接目标连接通信日志、目标ssl协议日志和目标证书日志后,从目标连接通信日志、目标ssl协议日志和目标证书日志中提取四元组,以得到目标流量数据的目标四元组数据。
91.该四元组数据中可以包括:源ip、目标ip、目标端口和协议。
92.步骤222,将所述流量数据集中四元组数据相同的流量数据进行聚合处理,得到聚合数据集。
93.示例性地,可以将四元组数据相同的流量数据聚合成一组数据,作为聚合数据。也就是每一组聚合数据中的流量数据的四元组数据相同。
94.示例性地,每一组聚合数据也可以是一项四元组数据的所有连接记录、ssl协议记录和证书记录。
95.步骤230,对所述聚合数据集中的各聚合数据进行特征提取,以形成特征数据集。
96.可选地,可以从各组聚合数据中的各类型日志中提取特征。
97.在一实施方式中,步骤230可以包括步骤231至步骤233。
98.步骤231,针对聚合数据集中的目标聚合数据,从所述目标聚合数据中的所有连接通信日志中,提取通信特征。
99.目标聚合数据为所述聚合数据集中任意一组聚合数据。
100.该通信特征是从目标聚合数据中的连接记录提取出来,该通信特征用于描述与证书和加密无关的通信流的常见行为。
101.示例性地,该通信特征可以包括:聚合和连接记录的数量、持续时间均值、持续时间标准差、超出标准差范围的持续时间占比以及总发送包大小等特征。当然,该通信特征还
可以包括更多能够表示与证书和加密无关的通信流的常见行为的特征。
102.其中,聚合和连接记录的数量表示每组四元组数据对应的聚合数据中包含的ssl协议记录和连接记录的数量之和。
103.持续时间均值可以表示每组四元组数据对应的聚合数据的连接参数duration的均值。
104.持续时间标准差可以表示每组四元组数据对应的聚合数据的连接参数duration的标准差。
105.超出标准差范围的持续时间占比表示每组四元组数据对应的聚合数据的所有持续时间值中有多少百分比超出了标准范围。
106.该标准范围可以上述的持续时间标准差和持续时间均值确定。在一个事例中,该标准范围的上限可以为持续时间标准差与持续时间均值之和,该标准范围的下限可以是持续时间均值与持续时间标准差之差。
107.总发送包大小表示每组四元组数据对应的聚合数据中的所有连接记录发送的有效负载字节数。
108.步骤232,从所述目标聚合数据中的所有ssl协议日志中,提取协议特征。
109.该协议特征可以从目标聚合数据中的各项ssl协议记录中提取得到。该协议特征描述了ssl握手和加密通信的相关信息。
110.示例性地,该协议特征可以包括:连接记录中ssl连接的占比、tls与ssl的比值、sni(server name indication,中文称:服务器名称指示)占比、sni is ip等特征。当然,该协议特征还可以包括更多ssl握手和加密通信的相关信息的特征。
111.其中,连接记录中ssl连接的占比表示四元组数据中对应的聚合数据中的协议记录中非ssl连接和ssl连接的个数比值。
112.tls与ssl的比值表示四元组数据中对应的聚合数据中tls版本分布占比。
113.sni占比表示四元组数据中对应的聚合数据中server_name不为空的比例。
114.sni is ip表示四元组数据中对应的聚合数据中server_name为ip地址的比例。
115.步骤233,从所述目标聚合数据中的所有证书日志中,提取证书特征。
116.该证书特征可以从目标聚合数据中的证书记录提取出来的特征。该证书特征描述了web服务在ssl握手期间提供的证书的信息。在一个实例中,每个特征都可以呈一个浮点值,如果由于缺少信息而无法计算对应特征,则可以设定对应的特征值为-1。
117.示例性地,该证书特征可以包括:公钥均值、证书有效期的平均值、证书有效期的标准差和捕获期间证书周期的有效性等特征。当然,该证书特征还可以包括更多能够表示web服务在ssl握手期间提供的证书的信息的特征。
118.其中,公钥均值表示四元组数据中对应的聚合数据中的证书记录中的全部证书exponent的均值。
119.证书有效期的平均值表示四元组数据中对应的聚合数据的证书记录中全部证书的有效天数的均值。
120.证书有效期的标准差表示四元组数据中对应的聚合数据的证书记录中全部证书的有效天数的标准差。
121.捕获期间证书周期的有效性表示四元组数据中对应的聚合数据的证书记录中的
全部证书中没有过期的占比。
122.通过步骤231至步骤233提取聚合数据集中的所有聚合数据的特征提取,以得到特征数据集。
123.通过上述步骤231至步骤233提取的特征可以更好地表征网络流量的时空特征、握手特征、背景特征、证书特征。通过上述特征数据集可以更细粒度地描述每一次加密会话,更好地表征不同类型的加密流量中最细微的差别。
124.可选地,还可以对特征数据集中的特征数据,可以格式化处理。将特征数据集中的各条特征数据转化成格式化特征数据。
125.步骤240,对所述特征数据集进行分类处理,以得到多类特征数据集。
126.每一类数据特征均有细微的差别,想要获取更高的准确率,则可以对特征数据集进行分类,以更好地表征各类特征数据。
127.在训练环境下,通过关联与加密流量相关的所有背景流量数据,实验训练的样本数据都是通过类似沙箱等安全设备采集恶意软件通过加密通信产生的流量,但是这仅仅是加密恶意流量中的一种表现形式。本技术发明人研究了解到恶意加密流量还可以有其他表现形式如:加密通道中的恶意攻击流量,如cc攻击(challenge collapsar attack,中文称:挑战黑洞攻击);恶意或非法加密应用的通信流量,如非法vpn(virtual private network,中文称:虚拟专用网络)等。在此研究基础上,可以将特征数据集可以分为三类,分别为:加密通信流量、恶意攻击流量、恶意加密应用的通信流量。
128.在一可选的实施方式中,步骤240可以包括:步骤241至步骤243。
129.步骤241,根据所述特征数据集中各项特征数据,确定出各项特征数据所表征的特征数据所属通信来源。
130.步骤242,根据所述特征数据集中各项特征数据,确定出各项特征数据所表征的特征数据是否属于攻击流量。
131.步骤243,根据所述特征数据集中的各项特征数据的通信来源,以及是否属于攻击流量进行流量划分,将所述特征数据集中各项特征数据划分为:加密通信流量、恶意攻击流量或恶意加密应用的通信流量三类。
132.步骤250,基于所述多类特征数据集,构建特征数据库。
133.特征数据库中的特征数据用于训练流量检测模型。
134.可选地,使用量化模型对多类特征数据集进行训练,确定出各项特征数据集中的各项特征数据的量化结果。
135.可以根据各个各项特征数据的量化结果构建特征数据库。
136.该量化模型可以是通过cnn(convolutional neural network,中文称:卷积神经网络)、rnn(convolutional neural network,中文称:循环神经网络)等算法确定的模型。当然该量化模型也可以使用其他算法构建。
137.通过量化模型训练得到的量化结果可以使不同类型的特征数据之间的区分更加明显,与其他人工智能分析更多依赖安全分析人员的经验,而本步骤进行深度特征抽取,通过对人工智能算法如cnn、rnn算法等实现对特征的深度抽取量化。通过人工智能分析实现对在不需要拿到加密流量的秘钥的情况下实现对机密流量的异常分析。
138.电商、搜索和社交应用这些应用一般均采用应用层加密,因此加密流量在网络传
输中的比重越来越大,这给机密流量攻击识别和分类带来了巨大的挑战。因加密流量大多采用ssl技术来保障传输层以上的数据加密,因此,传统的非加密流量识别方法,比如端口匹配、dpi深度包检测等技术均失效。后来采用机器学习的方法来识别非加密流量,取得了一定的进展,因此相关研究机构和人员也试图尝试通过各种机器学习的识别方法来识别加密流量分析,但是这些方法都存在准确率不高,流量特征的选择高度依赖于工程师的经验,耗时耗力。
139.针对利用机器学习算法实现对加密攻击流量分析都存在准确率不高,流量特征选择高度依赖于工程师的经验等常见问题,而上述步骤通过人工智能机器学习对训练模型所需的特征进行构建,可以更好地提取出流量数据所表征信息。
140.本技术发明人,针对基于机器学习的恶意软件加密流量检测研究,了解到影响分析结果主要原因:1)定义需要检测的特定事件为因变量;2)影响到特定事件检测值的因素为自变量,如威胁情报、攻击类型、ai训练算法、特征等。因此,在本技术实施例提供的数据流量数据库构建方法,可以对数据流量的特征进行深入分析,从而提取出流量数据中的各类特征。
141.在本技术实施例中流量数据库构建方法中,通过收集复杂多类流量数据,并进行数据整理,从而更好地确定恶意流量数据中的因变量和自变量的范围。从而使构建的特征数据库能够更好地表征恶意流量的情况。
142.基于同一申请构思,本技术实施例中还提供了与流量数据库构建方法对应的流量数据库构建装置,由于本技术实施例中的装置解决问题的原理与前述的流量数据库构建方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
143.请参阅图3,是本技术实施例提供的流量数据库构建装置的功能模块示意图。本实施例中的流量数据库构建装置中的各个模块用于执行上述方法实施例中的各个步骤。流量数据库构建装置包括:第一获取模块310、确定模块320、形成模块330、分类模块340和构建模块350;其中,
144.第一获取模块310,用于获取流量数据集,所述流量数据集中的每一组流量数据包括:多类型日志;
145.确定模块320,用于根据所述流量数据集中的流量数据的多类型日志,确定出聚合数据集;
146.形成模块330,用于对所述聚合数据集中的各聚合数据进行特征提取,以形成特征数据集;
147.分类模块340,用于对所述特征数据集进行分类处理,以得到多类特征数据集;
148.构建模块350,用于基于所述多类特征数据集,构建特征数据库,所述特征数据库中的特征数据用于训练流量检测模型。
149.一种可能的实施方式中,确定模块320,包括:四元确定单元和聚合确定单元。
150.四元确定单元,用于根据所述流量数据集中的流量数据的多类型日志,确定出所述流量数据集中各条流量数据的四元组数据;
151.聚合确定单元,用于将所述流量数据集中四元组数据相同的流量数据进行聚合处理,得到聚合数据集。
152.一种可能的实施方式中,所述多类型日志包括:连接通信日志、ssl协议日志和证书日志;四元确定单元,用于:
153.针对所述流量数据集中的目标流量数据,从所述目标流量数据中的目标连接通信日志获取目标连接标识,所述目标流量数据为所述流量数据集中任意一项流量数据;
154.根据所述目标连接标识,连接所述目标流量数据的目标ssl协议日志;
155.从所述目标ssl协议日志获取目标证书路径;
156.根据所述目标证书路径,获得所述目标流量数据的目标证书日志;
157.从所述目标连接通信日志、目标ssl协议日志和目标证书日志,确定出所述目标流量数据的目标四元组数据。
158.一种可能的实施方式中,所述多类型日志包括:连接通信日志、ssl协议日志和证书日志;形成模块330,用于:
159.针对聚合数据集中的目标聚合数据,从所述目标聚合数据中的所有连接通信日志中,提取通信特征,所述目标聚合数据为所述聚合数据集中任意一组聚合数据;
160.从所述目标聚合数据中的所有ssl协议日志中,提取协议特征;
161.从所述目标聚合数据中的所有证书日志中,提取证书特征。
162.一种可能的实施方式中,分类模块340,用于:
163.根据所述特征数据集中各项特征数据,确定出各项特征数据所表征的特征数据所属通信来源;
164.根据所述特征数据集中各项特征数据,确定出各项特征数据所表征的特征数据是否属于攻击流量;
165.根据所述特征数据集中的各项特征数据的通信来源,以及是否属于攻击流量进行流量划分,将所述特征数据集中各项特征数据划分为:加密通信流量、恶意攻击流量或恶意加密应用的通信流量三类。
166.请参阅图4,是本技术实施例提供的流量检测模型训练方法的流程图。下面将对图4所示的具体流程进行详细阐述。
167.步骤410,从特征数据库获取训练数据集。
168.示例性地,该特征数据库可以是使用上述流量数据构建方法实施例构建的特征数据库。因此,关于特征数据库的构建方法可以参阅上述流量数据库构建方法实施例中的描述,在此不再赘述。
169.步骤420,使用所述训练数据集,对预构建的初始模型进行训练,以得到流量检测模型。
170.其中,该预构建的初始模型主要采用人工智能算法构建,构建初始模型所使用的算法可以包括linreg(线性回归)、randomforest(随机森林)、dectree(决策树)、mlp(multilayer perceptron,中文称:多层感知器)、svm(support vector machine,中文称:支持向量机)、logreg(逻辑回归)、cnn、lstm(long short-term memory,中文称:长短期记忆网络)等。考虑到工程化的稳定性和成熟度,根据训练和测试结果,在不同的应用场景分别采用了不同的机器学习算法。当然,在其他需求下也可以是多种算法组合构建上述的初始模型;还可以使用上述例子中不同的算法构建上述的初始模型。
171.在本技术实施例中,通过无监督的训练后,还可以对模型进行不断优化。模型的优
化方式可以包括:对训练得到的模型进一步参数调优、验证和测试。
172.还可以进一步地收集实际网络流量数据,使用实际网络流量数据对训练得到的模型进行测试与迭代训练。
173.可选地,还可以使用各类型的加密流量分别流量检测模型进行优化训练,以为每一种类型的加密流量确定出专属流量检测模型。
174.基于同一申请构思,本技术实施例中还提供了与流量检测模型训练方法对应的流量检测模型训练装置,由于本技术实施例中的装置解决问题的原理与前述的流量检测模型训练方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
175.请参阅图5,是本技术实施例提供的流量检测模型训练装置的功能模块示意图。本实施例中的流量检测模型训练装置中的各个模块用于执行上述方法实施例中的各个步骤。流量检测模型训练装置包括:第二获取模块510和训练模块520;其中,
176.第二获取模块510,用于从特征数据库获取训练数据集;
177.训练模块520,用于使用所述训练数据集,对预构建的初始模型进行训练,以得到流量检测模型。
178.本技术实施例提供的流量检测方法。该流量检测方法可以包括:将待检测流量输入流量检测模型中进行检测,以确定所述待检测流量是否为安全流量。
179.本实施例使用的流量检测模型可以是上述的流量检测模型训练方法实施例训练得到的流量检测模型。关于流量检测模型的训练方法可以参阅上述的流量检测模型训练方法实施例中的描述,在此不再赘述。
180.使用本技术实施例的流量检测方法,基于人工智能算法对网络安全攻击中未来会产生的某种攻击行为进行检测分析,为应对网络攻击,提前做好对应的安全防护提供依据,保障各应用、设备等安全运行等优点。
181.在一些实例中,使用本技术实施例提供的检测方法可以实现更准确的检测。
182.在第一个实例中,可以实现恶意软件的检测。将恶意软件样本转换为二维图像,将二维图像输入到经过训练的流量检测模型,二维图像会被分类为“干净”或“已感染”。该检测方法达到了较高的准确性,误报率为相对较低。
183.在第二实例中,可以实现对未知加密恶意流量的检测。在无法通过对有效传输载荷提取特征的情况下,基于lstm的流量检测模型经过为期两个月的训练之后,可以识别许多不同的恶意软件家族的未知加密恶意流量。
184.在第三个实例中,可以实现对恶意网络流量或僵尸网络流量的检测。利用深度学习且独立于底层僵尸网络体系结构的恶意网络流量检测器botshark,采用堆叠式自动编码器autoencoder和卷积神经网络cnn两种深度学习检测模型,以消除检测系统对网络流量主要特征的依赖性。该检测器可以实现较高的分类准确率和召回率。
185.在第四个实例中,可以实现对恶意url的检测。结合dga(域生成算法)检测的机器学习聚类算法构建的流量检测模型可以获得较高的恶意url检出率,不仅可以检测已知的恶意url,并且也能检测到从未暴露的新变种。
186.在第五实例中,可以实现对新型网络钓鱼电子邮件检测。利用dnn(deep neural network,中文称:深度神经网络)构建流量检测模型,该流量检测模型可以用来对网络钓鱼
电子邮件进行检测,并且通过实验证明dnn在钓鱼邮件的检测上可以实现较高的检测性能。
187.在第五实例中,可以实现对dga域名的检测。对该dga域名的检测所使用的流量检测模型可以是基于混合词向量深度学习模型。该流量检测模型的训练可以结合了dga域名的字符级词向量和双字母组词向量,以提高域名字符串的信息利用度。进一步地,还可以设计了基于混合词向量方法的深度学习模型,该流量检测模型可以由cnn和lstm组成。该方法有着较好的特征提取能力与分类效果,并在一定程度上缓解了数据不平衡带来的影响。
188.基于同一申请构思,本技术实施例中还提供了与流量检测方法对应的流量检测装置,由于本技术实施例中的装置解决问题的原理与前述的流量检测方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
189.本实施例中的流量检测装置中的各个模块用于执行上述流量检测方法实施例中的各个步骤。流量检测装置包括:检测模块,用于将待检测流量输入流量检测模型中进行检测,以确定所述待检测流量是否为安全流量。
190.此外,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的流量数据库构建方法、流量检测模型训练方法或流量检测方法的步骤。
191.本技术实施例所提供的流量数据库构建方法、流量检测模型训练方法和流量检测方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,各个程序代码包括的指令可用于执行上述方法实施例中所述的流量数据库构建方法、流量检测模型训练方法和流量检测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
192.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
193.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
194.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与
另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
195.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
196.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1