网络安全相关可研方向调研

一、分布式深度学习

1、目的

满足数据隐私保护相关规定和政策,解决数据孤岛问题。

2、概述

不同于传统的集中式深度学习,分布式深度学习通过将深度学习与协作性模型相结合,使各个机构或者用户在不交换数据的情况下进行协作训练并获得更加精准的深度学习模型,以便在满足隐私保护和数据安全的前提下实现数据的有效利用分布式深度学习模型将模型训练过程从云端转移至用户端,允许各方参与者在不暴露数据的情况下完成训练,降低了用户隐私泄露风险和通信开销,从技术层面可以打破数据孤岛,明显提高深度学习的性能,能够实现多个领域的落地应用。

网络安全相关可研方向调研_第1张图片

 

 

3、主流的分布式深度学习类型

从训练模式上来看,分布式深度学习目前主要有:联合学习、联邦学习和分割学习3种。

网络安全相关可研方向调研_第2张图片

  • 联合学习

    在这种训练模式下,云服务器首先收集一批用户的数据集训练初始的全局模型,然后参与联合学习的第一个用户下载初始的全局模型并基于自己的数据集使用随机梯度下降法(SGD)在本地训练模型。模型训练结束后,该用户按照一定比例随机选择部分模型参数上传到云服务器完成全局模型的更新。当第一个用户上传完毕后,下一个用户下载新的全局模型,并重复上述的训练和上传操作,这个过程将持续到模型收敛或达到预先设定的迭代次数。

  • 联邦学习

    2017年Google提出,改进了联合学习的异步训练模式,以并行训练的方式进行。

    根据数据分布类型分为横向联邦、纵向联邦、联邦迁移学习

    联邦学习的用户下载云服务器提供的初始全局模型,然后根据自己的数据在本地训练并上传模型,服务器以加权平均的方式更新全局模型,满足了更复杂的用户数据分布并行场景。用户在本地训练模型后上传至云服务器,云服务器执行模型参数聚合算法得到全局模型,云服务器执行模型参数聚合算法得到全局模型,然后用户可以下载新的全局模型用于新一轮训练。在该训练模式下,所有用户不需要依次上传模型参数,而是同步传输。即使出现某个用户离线或传输延时的情况,云服务器仍可聚合得到新的全局模型。

    联邦学习从根本上避免了联合学习的异步性限制,提高了系统的鲁棒性和训练效率。

    问题:由于分布式深度学习的应用场景包含大量离散用户,在实际情况下他们拥有的计算能力和数据量是不均匀的,这会导致整体训练进度不一致,云服务器无法按时完成模型的聚合从而影响整体训练任务的进度。

  • 分割学习

分割学习考虑了用户计算资源的局限性,认为某些用户可能并不拥有足够的计算资源,因此将训练任务分成2部分,由用户和云服务器共同执行。在本地训练阶段,第1个用户首先训练神经网络的前一部分直至分割层,然后将分割层的输出发送到云服务器。云服务器进一步训练模型的后半部分,这也是训练中最繁重的计算任务。云服务器在获得输出后,将其反向传播回第1个用 户。最后,用户完成前一部分模型的反向传播,并将用户端模型交给参与分割学习的下个用户

4、可研内容

a、针对分布式深度学习的隐私攻击

目前主流的有四类:生成对抗式网络攻击、成员推理攻击、属性推理攻 击和模型反演攻击

  • 生成对抗式网络攻击

    攻击者通常伪装成正常用户加入模型训练后,基于GAN获得其他参与训练者的数据仿真集,窃取到用户的隐私数据,主要发生在模型训练阶段。

    **攻击模式:**使用生成器和判别器生成诚实用户信息。

    **攻击目标:**生成与受害者用户相似数据。

  • 成员推理攻击

    攻击者可以作为本地用户在模型训练阶段进行攻击,因为用户可以事先知晓目标模型的类型与结构,便于训练攻击模型。攻击者可以使用与目标模型相同分布的数据集,通过训练多个影子分类器模仿目标模型预测行为。然后根据训练集以及非训练集的2种输出分别进行标记,并以此为训练集训练二元攻击模型。

    **攻击模式:**训练多个影子分类器构造攻击模型。

    **攻击目标:**训练好的攻击模型可以判断某条记录是否在目标训练集中。

  • 属性推理攻击

    基于全连接神经网络各层节点的排列不变性展开的一种隐私攻击。在分布式深度学习种,攻击者可以伪装成普通用户,训练攻击模型在模型训练阶段对良性用户训练数据中的属性进行推断。

    通过这种攻击,攻击者可以推断出训练者不想发布的训练数据的属性。比如判断包含敏感属性的某类数据是否在训练集中。

    **攻击模式:**滥用模型API推测模型信息。

    **攻击目标:**判别特定属性是否存在于训练集。

  • 模型反演攻击

    指攻击者利用深度学习系统提供的应用程序接口向模型发送大量的预测数据,然后对目标模型返回的类标签和置信度系数进行重新建模,通过得到的模型还原出目标模型的训练数据集。由于分布式深度学习并未限制模型的使用,任何参与者都可以无条件地访问系统模型,这无疑为模型反演攻击提供了有利的攻击条件。甚至攻击者事先不知道模型信息的情况下(训练数据、模型参数、模型类型等)仍然可以使用应用程序接口,在黑盒设置中发起此攻击.此类攻击中,攻击者大多是在预测阶段通过滥用对模型API的访问来检索特定训练数据。即使攻击者事先对训练集信息一无所知。该方法仍然有很高的攻击效率.这种攻击利用了“置信信息”的价值,它代表特征向量与类之间关联的可能性估计。攻击者通过输入特征向量来计算一个或多个类的分类或回归,然后选择置信度最高的类作为结果。

    **攻击模式:**滥用模型API推测模型信息。

    **攻击目标:**重构训练数据或窃取模型。

b、隐私攻击的防御技术

c、分布式深度学习安全攻击

一些攻击者可以通过一些恶意样本,对深度学习模型的结果产生负面影响,从而对整个分布式深度学习系统造成严重的安全隐患,例如数据投毒攻击、对抗样本攻击和后门攻击等。因此,分布式深度学习领域中的安全攻击与防御也是近年来研究者关注的热点。

  • 数据偷毒攻击

    也称为模型失效中毒攻击。攻击者通过修改﹑删除或者注入精心挑选的数据内容,来影响模型的训练结果.攻击者的主要目的是降低模型的准确性.通过有害数据样本,使分类器的决策边界发生变化,导致数据样本被错误分类.数据投毒攻击的本质在于改变训练数据上的局部分布。

  • 对抗样本攻击

    是一种能够让模型产生错误分类的攻击方式,仅作用于模型预测阶段.攻击者利用模型对输入样本的中间参数构造相应的对抗扰动,并将其注入输入样本即得到对抗样本.其中构造对抗扰动的实质是搜索使输入样本跨越决策边界的微小扰动,因此对抗样本可以导致模型错误分类.同时,由于对抗扰动比较微小,对抗样本与输入样本肉眼难以区分,增加了攻击的实用性.

  • 后门攻击

    又被称为木马攻击,是一种针对深度学习最新的攻击方式.攻击者在模型的训练过程中隐藏后门,遭受后门的模型在不包含触发器的情况下通常作为其干净的对等模型,当后门遇到攻击者预先准备的触发器时,后门被激发.模型的输出变为攻击者预先指定的标签以达到攻击者的意图.后门攻击主要发生在数据收集与模型训练两个阶段,导致一些特殊的深度学习模式较容易遭受此类攻击,如联邦学习与迁移学习。

d、安全攻击防御技术

二、安全态势预测

1、目的

网络规模日益扩大,拓扑结构日益复杂,安全问题日益突出,相对应的安全防护措施存在片面性,并没有考虑安全问题间的关联性,无法系统、整体地发现网络中存在的问题。

网络安全态势感知是指通过收集网络环境中综合、全面的安全要素并进行数据融合后,对网络的安全态势有宏观、全面的认知,并且能对网络系统的安全趋势进行预测的过程,是保障网络安全的有效手段。

2、概念

  • 态势感知模型

    经典的态势感知模型包括Endsley 的三层模型数据融合模型和 OODA 控制循环模型。

  • 网络安全态势感知(NSSA)

    它够融合所有可获取的信息并对网络的安全态势进行评估,为安全分析员提供决策依据,将不安全因素带来的风险和损失降到最低,在提高网络的监控能力、应急响应能力和预测网络安全的发展趋势等方面都具有重要的意义。

    目前大部分研究都将网络安全态势感知分为态势提取、态势评估和态势预测三个功能模块。

3、态势提取

网络安全态势要素的提取是网络安全态势研究的基础,在要素获取阶段尽可能有效地获取与安全相关的数据,并且要对所提取的要素进行全方位、多角度的分析。该阶段的主要任务是获取数据并对数据进行预处理。数据预处理的目的是删除冗余的数据,提取出比较重要的态势要素,并且对原始数据进行规范化处理,为态势评估、态势预测提供数据基础。态势要素获取本质上是对网络中的数据进行分类,并判断每条数据是否异常,如果发现异常数据就判断它属于哪种异常。常见的分类算法有:决策树、贝叶斯、神经网络、支持向量机和基于关联规则的分类等。

上述方法在使用过程中往往需要结合一些优化算法(如粒子群优化算法、遗传算法等)或属性约简算法(主成分分析法、粗糙集等),以达到更好的效果。优化算法主要是对上述算法的参数或结构等进行优化,进一步提升算法的性能。属性约简算法主要是在态势要素提取过程中对大量庞杂数据进行优化处理,以提升分类效率。

4、态势评估

网络安全态势评估是网络安全态势感知系统的核心环节,主要是通过一系列的数学模型和算法对提取的海量网络安全数据信息进行关联分析,并对其进行融合,以获取宏观的网络安全态势,使网络管理者能够有目标地进行决策并提前做好防护措施,并对下一步态势预测提供依据。网络安全态势评估的重要作用就是为安全防护的实施提供强有力的支持。

安全态势评估缺乏一个系统的理论体系。态势评估领域的研究比较零散,大多为各自独立的一些观点,没有统一的方法可以较好地用于评估,衡量评估质量的方法和技术也还比较缺乏,这就导致了评估方法的多样化而没有一个权威性的共识。目前,国内外关于网络安全态势评估方法的研究成果有很多。按照评估依据的理论技术基础,可分为三大类,分别是基于数学模型的评估方法、基于概率和知识推理的评估方法、基于模式分类的评估方法。

5、态势预测

网络安全态势预测是指在大规模网络环境中根据当前的网络安全态势评估和已有的历史评估数据,对未来网络安全态势变化趋势进行预测。态势预测可以为网络管理人员提供决策依据,能够及时发现网络中的安全问题并采取相应措施。目前比较流行的态势预测方法,主要有神经网络、支持向量机、时间序列预测法等。

6、可研内容

搭建一个分布式系统的安全态势预测架构:对分布式系统的相关数据进行收集,送入模型进行态势提取(网络流量分类、日志数据异常分类);构建一个适合的态势评估体系,对安全数据信息进行关联分析,对安全情况进行打分;针对已有的历史评估数据进行安全态势的预测(时间序列预测?)

三、日志异常检测

1、概念

**日志:**是各类软硬件记录系统运行状态的一类重要数据, 它描述了系统的历史运行状态和详情. 运维工程师在进行故障排除、安全性检查等工作场景下, 经常需要对日志数据进行检查和分析。

目的: 实时或准实时捕获系统运行状态异常以实现日志分析自动化。

**步骤:**日志异常检测任务一般分为日志采集、日志解析、特征表示、异常判别 4 个步骤。

2、日志采集

日志作为一种信息系统中广泛存在的数据, 往往散落于系统各处, 特别是对于分布式软件、大型软件等, 不同节点、不同组件都在持续生成和积累日志, 所以日志采集是日志异常检测任务的第一步.较为常见的日志采集工具包括 Logstash、Flume、Fluentd、Kafka 等, 通过持续、实时的数据采集, 可以将数据集中入库或者通过“发布-订阅”的模式推送给消费端进行后续处理。

也有公开的各种系统(包括分布式系统)的日志数据集。

3、日志解析

日志属于半结构化数据, 需要分析其一般构成, 并利用解析技术将其中的常量和变量分离出来, 为后续特征表示提供良好基础. 一条日志数据可以分解为正则消息部分和特征消息部分.

正则消息包括时间戳、日志等级、产生日志的类名称等日志基本组成, 这部分是可以用正则表达式进行提取和分解的, 属于日志数据的基础信息. 特征消息部分则是描述了日志内容的核心部分, 由文本、数字及特殊符号等组成.一条日志数据是由程序开发者在代码中预先埋点编写的各种输出语句在满足特定条件下产生的, 例如 printf、log.info、log.warn 等. 它包括了字符串常量和参数变量, 其中字符串常量被称为日志模板 (或事件、键值),表明了该条日志数据的类属, 是日志消息的语义描述;参数变量则表明了系统状态关键变量的取值, 例如对象 ID、内存消耗、执行时间等. 其中日志模板由于是开发者对系统状态的语义描述, 蕴含丰富的信息, 往往作为重要的分析对象输入后续检测模型进行异常判别. 目前, 就基于日志文本来抽取模板的方式, 领域内已经提出了大量算法, 典型的有 SLCT、IPLoM、LKE、Spell、Drain]、LPV 等.

4、特征表示

:这部分工作的主要目的在于构造机器学习模型可以处理的特征数据, 借此来学习日志的正常或者异常模式. 所提取特征的质量决定了后续模型检测效果所能达到的精度. 日志分析领域, 前一阶段提取的日志模板一般被称为事件或者键值. 在进行特征提取前, 需要对连续的日志进行切分, 通常有时间窗口、会话 ID 等方式:

(1) 日志是一种具有时间属性的连续文本, 一条日志数据是否提示异常不仅取决于自身所蕴含的信息, 还受到其上下文的影响, 因此可采用固定或者滑动时间窗口将日志切分成数据片段, 便于输入模型进行处理. 最优时间窗口的大小可根据数据的特点进行多次尝试得到, 过小或过大的窗口都会对检测精度带来不利影响——过小的窗口会使得上下文信息不足, 而过大的窗口又会带来冗余信息。

(2) 某些日志的变量参数标记了某一特定会话的执行路径, 例如 HDFS 日志中的 block_id, OpenStack 日志中的instance_id 等, 可以根据会话 ID 将并行进程产生的日志进行剥离, 但这种方法仅限于具有此类变量参数的日志。

日志异常检测通过采用的主要特征包括: 事件计数、事件序列、文本语义、时间间隔、变量取值、变 量分布等, 这些特征的变化往往反映出系统状态的异常. 事件计数表示日志中某一类别的事件数量大幅 增加或者减少。

  • 事件计数:表示日志中某一类别的事件数量大幅增加或者减少。
  • 事件序列:由于具有时序属性, 正常日志事件出现的顺序也会遵循一定的规律。
  • 文本语义:通过自然语言处理技术解析日志文本自身携带的语义来判别日志是否出现异常。
  • 时间间隔:如果特定两条日志消息的时间间隔过大, 可能预示着服务性能的下降。
  • 变量取值:模板抽取后分离出的参数变量如果取值超过正常阈值范围, 则提示了系统的状态异常
  • 变量分布:某些参数变量的取值进行分布统计。

5、异常判别

经过特征提取, 原始日志数据已经转换为模型可以处理的特征数据, 可以输入判别模型进行异常检测。

  • 机器学习方法:

    机器学习方法具有硬件依赖性低、可解释性好等特点, 典型的有基于主成分分析的算法、基于支持向量机的算法、基于隐马尔科夫模型的算法、基于 K 最近邻算法、各种聚类算法等。机器学习算法提取高级特征或者全局特征的能力相对有限。

  • 深度学习方法:

    基于深度模型的日志分析算法中包括基于长短期记忆网络的算法、基于双向长短期记忆网络的算法、基于变分自编码器的算法、基于生成对抗网络的算法、基于Transformer 网络的算法等. 但深度学习方法也并非“完美”: 首先, 深度学习作为一种端到端的解决方案, 属于黑盒模型, 可解释性较差; 其次, 为了获得满意的模型容量, 深度模型包含数层神经网络, 参数量往往十分庞大, 训练时间长且消耗资源多。本质上, 异常判别模型是一个二分类器, 通过对新到达的日志消息进行分析, 来推断其属于正常或异常。

各位网安er,可以在评论讨论一下热门的(无关密码学的)方向~

你可能感兴趣的:(调研)