一文读懂如何用深度学习实现网络安全
报名入口来源:中国教育在线 2022-06-01
一、信息安全领域中深度学习系统的现状
深度学习不是解决所有信息安全问题的“灵丹妙药”,因为它需要广泛的标注数据集。不幸的是,没有这样的标记数据集可供使用。但是,有几个深度学习网络对现有解决方案做出重大改进的信息安全案例。恶意软件检测和网络入侵检测恰是两个这样的领域,深度学习已经显示出比基于规则和经典机器学习的解决方案有更显著的改进。
网络入侵检测系统通常是基于规则和签名的控件,它们部署在外围以检测已知威胁。攻击者改变恶意软件签名,就可以轻易地避开传统的网络入侵检测系统。Quamar等[1]在他们的IEEE学报论文中指出,有望采用自学的基于深度学习的系统来检测未知的网络入侵。基于深度神经网络的系统已经用来解决传统安全应用问题,例如检测恶意软件和间谍软件[2]
与传统的机器学习方法相比,基于深度学习的技术的泛化能力更好。Jung等[3]基于深度学习的系统甚至可以检测零日恶意软件。毕业于巴塞罗那大学的Daniel已经做了大量有关CNN(Convolutional Neural Networks,卷积神经网络)和恶意软件检测的工作。他在博士论文中提及,CNNs甚至可以检测变形恶意软件。
现在,基于深度学习的神经网络正在用户和实体行为分析(User and Entity Behaviour Analytics,UEBA)中使用。传统上,UEBA采用异常检测和机器学习算法。这些算法提取安全事件以分析和基线化企业IT环境中的每一个用户和网络元素。任何偏离基线的重大偏差都会被触发为异常,进一步引发安全分析师调查警报。UEBA强化了内部威胁的检测,尽管程度有限。
现在,基于深度学习的系统被用来检测许多其他类型的异常。波兰华沙大学的Pawel Kobojek[4]使用击键动力学来验证用户是否使用LSTM网络。Capital one安全数据工程总监JasonTrost 发表了几篇博客[5],其中包含一系列有关深度学习在InfoSec应用的技术论文和演讲。
二、前馈神经网络概述
人工神经网络的灵感来自生物神经网络。神经元是生物神经系统的基本单元。每一个神经元由树突、细胞核和轴突组成。它通过树突接收信号,并通过轴突进行传递(图1)。计算在核中进行。整个网络由一系列神经元组成。
AI研究人员借用这个原理设计出人工神经网络(Artificial Neural Network,ANN)。在这样的设置下,每个神经元完成三个动作:
它收集来自其他不同神经元的输入或者经过加权处理的输入
它对所有的输入进行求和
基于求和值,它调用激活函数
因此,每个神经元可以把一组输入归为一类或者其他类。当仅使用单个神经元时,这种能力会受到限制。但是,使用一组神经元足以使其成为分类和序列标记任务的强大机制。
可以使用神经元层来构建神经网络。网络需要实现的目标不同,其架构也是不同的。常见的网络架构是前馈神经网络(Feed ForWard Neural Network,FFN)。神经元在无环的情况下线性排列,形成FFN。因为信息在网络内部向前传播,它被称为前馈。信息首先经过输入神经元层,然后经过隐藏神经元层和输出神经元层(图2)。
与任何监督学习模型一样,FFN需要使用标记的数据进行训练。训练的形式是通过减少输出值和真值之间的误差来优化参数。要优化的一个重要参数是每个神经元赋予其每个输入信号的权重。对于单个神经元来说,使用权重可以很容易地计算出误差。
然而,在多层中调整一组神经元时,基于输出层算出的误差来优化多层中神经元的权重是具有挑战性的。反向传播算法有助于解决这个问题[6]。反向传播是一项旧技术,属于计算机代数的分支。这里,自动微分法用来计算梯度。网络中计算权重的时候需要用到梯度。
在FFN中,基于每个连接神经元的激活获得结果。误差逐层传播。基于输出与最终结果的正确性,计算误差。接着,将此误差反向传播,以修正内部神经元的误差。对于每个数据实例来说,参数是经过多次迭代优化出来的。