网络安全和机器学习

1. 机器学习在网络安全领域的典型应用

机器学习在系统安全、网络安全、应用安全三个方向中有大量的研究成果发表。

  • 系统安全以芯片、系统硬件物理环境及系统软件为研究对象
  • 网络安全主要以网络基础设施、网络安全检测为研究重点
  • 应用层面则关注应用软件安全、社会网络安全。
    机器学习+网络安全

2. 机器学习在网络空间安全中的应用流程

机器学习从大量数据中获取已知属性,解决分类、聚类、降维等问题。
机器学习在网络空间安全研究中的一般应用流程,主要包括安全问题抽象、数据采集、数据预处理及安全特征提取、模型构建、模型验证以及模型效果评估 6 个阶段。
机器学习网络安全应用流程

2.1 安全问题抽象

使用机器学习技术解决安全问题的第一步就是要进行问题的抽象和定义,将安全问题映射为机器学习能够解决的分类、聚类及降维等问题。

  • 对劣质芯片或硬件木马的检测、伪基站检测、虚拟化安全、信用卡欺诈等都可以抽象为分类问题;
  • 设备身份认证、社交网络异常帐号检测、网络入侵检测等可以抽象为聚类问题;
  • 用户身份认证、 恶意/异常/入侵检测、取证分析、网络舆情等既可以抽象为分类问题也可以抽象为聚类问题。
  • 如果是高维数据的处理,可以抽象为降维问题,例如在设备身份认证、恶意网页识别问题中,由于数据维度过高,可以利用机器学习主成分分析(Principal Component Analysis,PCA)算法、奇异值分解(Singular Value Decomposition,SVD)算法等对数据进行降维操作。
    安全问题抽象
    通过对安全问题的合理抽象和定义,研究人员可以明确如何采集数据,并选择恰当的机器学习算法构建安全问题模型。

2.2 采集数据

数据采集阶段主要利用各种手段,如 Wireshark、Netflow、日志收集工具等,从系统层、网络层及应用层采集数据。

  • 系统层数据用于系统安全问题的研究,这类数据主要有芯片信息、设备信息、系统日志信息以及实时运行的状态信息等,主要用于芯片安全、设备安全及系统软件安全,例如采集基站的位置信息、短信日志等数据用于伪基站检测研究。
  • 网络层数据指与具体网络活动密 切相关的数据,目前常用的是网络包数据或网络流数据,主要用于检测僵尸网络、网络入侵等,例如在企业内部网络中采集大量的真实的 TCP 流数据用于进行协议分类及异常协议检测研究。
  • 应用层数据指网络空间中的各类应用软件产生及存储的数据,如邮件文本信息、web 日志、社交网络文本信息、用户个人信息等,主要用于应用软件安全检 测、网络舆情分析等,例如采集大量的 URL 数据用于恶意网页识别。

除自行采集数据外,目前安全领域有一些常用的公开数据集供研究者使用
公开数据集

2.3 数据预处理及安全特征提取

(1)数据预处理
在真实的网络环境中,采集的数据可能包含大量的缺失值、噪音,也可能由于人工录入失误而产生异常点。
例如从企业内部采集的 TCP 流数据,首先需要剔除重复数据、去除噪音等规范化操作;然后对清洗之后的数据进行聚合、归一化等处理。
如果采集数据集中某个特征缺失值较多时,通常会将该特征舍弃,否则可能会产生较大的噪声,影响机器学习模型的效果。
当某个特征的缺失值较少时,可用采用固定值填充、均值填充、中位数填充、上下数据填充、插值法填充或者随机数填充等方法。
此外,有些机器学习模型诸如随机森林、贝叶斯网络及人工神经网络等,自身能够处理数据缺失的情况,不需要对缺失数据做任何的处理。
如果采集的数据集中存在的异常值,通常采用直接将该条数据删除,或将其视为缺失值处理。

(2)数据集的分割
数据预处理完成后,还需要将整理之后的数据集分为三个集合:训练集、验证集和测试集。
训练集用于机器学习模型的构建,验证集用于验证模型及参数调优,测试集用于评估模型在实际使用中的泛化能力。
例如网络入侵检测研究中,常采用随机抽样的方法分割数据集,即随机选择 90%的数据作为训练集,随机选择 10%的数据作为测试集,然后采用交叉验证法分割为训练集和验证集[27]。

(3)特征提取
特征提取指从数据中提取最具有安全问题的本质特性的属性。
从清理后的数据中提取特征通常需要特定的领域知识,例如恶意网页的识别中需要从抓取的网页数据中提取主机信息特征、网页内容特征、静态链接关系及动态网页行为等特征。

2.4 模型构建

模型构建具体包含 2 个部分,即算法选择和参数调优。
需要面对种类繁多的机器学习算法,如何能够选择恰当的机器学习算法是应用机器学习技术解决网络空间安全问题的关键。

2.5 模型验证

模型验证主要评估训练的模型是否足够有效。
在此阶段中, k 倍交叉验证法是最常见的验证模型稳定性的方法。
将训练数据集,分为k 组训练数据集和验证集,进行 k 次训练和验证测试,最终的返回结果是这 k 次验证测试结果的均值。

如果当前模型与训练目标偏离较大,则通过分析误差样本发现错误发生的原因,包括模型和特征是否正确、数据是否具有足够的代表性等。如果数据不足,则重新进行数据采集。如果特征不明显,则重新进行特征提取;如果模型不佳,则选择其他学习算法或进一步调整参数。

2.6 模型效果评估

常用的分类评估指标有正确率、查准率(又称精度)和查全率(又称召回率)。

  • 正确率是分类正确的正常样本与恶意样本数占样本总数的比例,一般来说正确率越高,分类器越好。
  • 查准率则是被正确识别的正常样本数占被识别为正常样本的比例,也是分类器精确性的衡量标准。
  • 查全率是被正确识别的正常样本与正确识别的正常样本和错误识别的恶意样本之和的比例,该指标衡量了分类器对正常样本的识别能力。

此外,在不同的领域还有不同的指标说法,例如在硬件木马检测、异常检测、网络入侵检测中还常使用误报率(False Positive Rate,FPR)、漏报率(False Negative Rate,FNR)来衡量模型的泛化能力。

3. 机器学习在网络安全中的应用举例

机器学习在网络安全中的应用

3.1 网络入侵检测

恶意特征提取
提取恶意行为的特征,用于匹配恶意行为。这种方式,一般误报率比较低,然而无法检测未知恶意行为。
这里写图片描述
异常检测
为正常行为建模,不符合正常,则为异常。这种方式,如果正常数据和异常数据的模型有重叠,则会出现误报。
这里写图片描述

参考:

[0] 机器学习在网络空间安全研究中的应用 张蕾等《计算机学报》
[1] Outside the Closed World: On Using Machine Learning for Network Intrusion Detection
[2] 关于机器学习和网络安全的一些资料:https://zhuanlan.zhihu.com/p/26934186
[3] 《Data Mining and Machine Learning in Cybersecurity》
[4] A Survey of Data Mining and Machine Learning Methods for Cyber Security Intrusion Detection

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值