




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
由于网络攻击的增加及其可能造成的严重损害,网络安全是一个对社会至关重要的关键领域,信息和数据基础设施遭受网络攻击的风险越来越高。作为网络空间安全的核心基础,密码攻防领域的挑战愈演愈烈。量子计算的发展使得传统公钥密码算法变得不安全,为了应对量子计算对公钥密码算法的威胁,全球掀起了后量子密码算法研究的热潮。然而,后量子密码算法并不代表其实现过程达到了物理安全,后期出现的专门针对后量子密码算法的侧信道攻击技术,成为密码算法物理安全的主要威胁手段。此外,机器学习和人工智能等技术的发展,使得密码攻击呈现系统化、智能化、平台化、武器化和无源性等特点。信息系统平台面临的密码防御困难越来越大。目前对于密码攻击和防御方面的研究大多数局限于密码技术和理论的研究,且呈现出分支复杂、结构多样、知识分散等特点,在密码攻防领域并不能形成整体的通用的攻防模式和框架,尤其是在文献资料繁多的情况下,利用这些分散、局限的知识很难形成全面有效的防御方案以应对系统基础设施的安全挑战。对密码攻防领域的知识结构和体系模式进行梳理可以形成领域知识模式和知识库,避免知识凌乱分散和体系不统一,可以提供系统性的表示和分析能力。由于密码攻防领域的特殊性,相关领域知识通常难以获取,不利于研究人员应用,且随着知识大爆炸和大数据时代的到来,面临海量数据资料,传统的知识获取方法不再适用。因此,知识图谱作为近些年新兴的知识库管理技术在很多领域受到了广泛的关注。知识图谱是结构化数据集合的一种,可以呈现知识的发展过程和关系图,通过挖掘、分析、推理可以获得知识潜在内涵,并且可以使用其可视化功能提升知识的可理解性。知识图谱的关系结构适用于具有网络结构和复杂关系的知识体系,适用于密码攻防知识体系的构建和应用,可以促进密码攻防模式的深入探索。为了生成密码攻防领域知识模式,构建该领域知识图谱,基于人工智能技术和自然语言处理技术,采用自顶向下方法,在密码攻防领域本体的基础上,收集多源领域文档资料,通过知识图谱技术构建可维护、可重用、可共享和可分析的知识库,并在该知识库基础上进行相关知识图谱应用。1
领域本体构建获取领域知识前,需要先归纳总结相关领域的本体概念,然后使用本体论的方法构建知识模式。本体论研究方法是将知识[一个领域内的概念(或实体)集合]及其之间的关系进行形式化的、明确的描述。在本体中,可以编码或定义语义信息和组件,如概念、对象、关系、属性、约束和公理,使本体具有机器可读性和推理能力。这种方式不仅引入了形式化的、显式的、可共享的和可重用的知识表示,还可以通过添加关于领域的新知识进行本体更新。1.1领域本体构建方法本文使用Protégé5.5.0工具编辑和实现密码攻防领域本体的构建,具体流程可分为以下5个步骤:(1)确定领域的目的和范围。领域是密码攻防,领域本体目的是为构建者提供密码攻防领域的核心实体,以及如何实现实体之间的相互关联,生成一个可重用的密码攻防领域的知识模式。领域工作范围包括密码攻击和防御方面的内容。(2)梳理领域实体和重要术语。对密码攻防领域进行典型密码攻防场景分析和文献调查,形成基础数据库,其中包含1997—2022年的300多项研究和19项典型密码攻防场景(如表1所示),从中得到200多种术语。表1密码攻击场景续表续表(3)定义核心概念、分类和描述。这里的分类并不限于创建类似于层次结构的类结构,是为组成或影响密码攻防领域的实体定义的一组概念。为每个核心概念提供定义并引出其同义词术语,便于领域知识的重用和共享。例如攻击者(如密码工程师)是进行密码攻击的一方,它可以是一个人或组织,也可以是一个攻击平台。(4)定义关系。根据核心概念的定义创建概念之间的关系。有些关系直接在定义中表现出来,而有些关系可能是隐式的,因此需要对其进行显式描述。例如,攻击动机是激励(驱动)攻击者进行密码攻击的因素,因此,从“攻击动机”到“攻击者”可以建立一个关系“激励”。“激励”作为谓词被创建,“攻击动机”是它的主体,“攻击者”是它的客体,符合主语—谓词—宾语(Subject-Predicate-Object,SPO)三元组的格式和要求。(5)获得本体。最后构建出密码攻防领域本体。1.2密码攻防领域本体实现实现领域本体需要不断积累领域知识,创造出领域概念和关系,要求对该领域的基本知识概念和应用有全面的了解,此外,还要对学科交叉的知识点有清晰的认识。基于文献[3],着重介绍本体实现的关键内容和过程,即定义概念、关系及描述。本文所有数据均来源于1997—2022年的典型攻击场景及文献调查,将文献中的标题、摘要和关键字等部分通过CiteSpace分析工具进行关联分析,数据形式如表2所示。表2文献调查数据示例1.2.1定义领域本体中的核心概念本节详细介绍了组成和影响密码攻防领域的实体相对应的15个核心概念。每个概念描述了概念定义、同义词术语、分类方法和一些其他属性。攻击防御模型如图1和图2所示。攻击模型表示典型密码攻击场景中攻击者的攻击流程:攻击者受一定因素(动机)的激励,根据自身的密码攻防知识,形成攻击目标;分析目标系统实现的核心操作,找到攻击点,利用攻击机制(攻击方法),制定攻击策略;执行攻击并得到攻击结果;结果反馈到满足攻击动机的预定攻击目标。防御模型则表示在典型的防御场景中的防御流程:根据安全目标和自身基础知识,通过软硬件系统形成密码防御系统;分析密码系统核心实现面临的攻击威胁,根据防御机制(防御方法),形成防御策略;根据防御效果,对防御方案进行安全性评价;进行防御策略更新。图2防御模型由图1和图2中的模型可以得到攻击者、攻击动机、攻击目标、基础知识等15类定义,在Protégé工具中的结构如图3所示,将典型攻击场景和文献调查中的实体类进行细分。图3本体概念的实现1.2.2定义领域本体中的关系基于上述给出的15大类定义,本文根据攻击者和防御者模型的流程分析,提取出核心概念之间的17种关系构成SPO三元组。这些关系及其主体、方向和客体(结束)如表3所示。表3关系列举1.2.3在本体中定义其他描述除表3中对概念和关系的公理描述外,还可以添加注释。例如,添加实例注释有利于后期实例编辑和知识分析;还可以增加一条推理规则:如果攻击者制定并执行某种攻击方法,该攻击方法应用于特定的密码系统,则从攻击者到密码系统将创建一个关系“攻击”。另外,为了统计分析后期构建的知识图谱,还需要为每个类的所有子类添加诸如“上游查询次数”“下游查询次数”“最新查询时间”等属性。1.2.4获得密码攻防领域本体根据核心概念和关系的梳理,使用Protégé工具构建的密码攻防领域本体如图4所示,其中每个方框里的概念表示附近核心概念的分类法,核心概念及其关系为图中虚线连接起来的部分,右边区域为关系的图例。将实体和关系以简洁的方式进行梳理整合,得到密码攻防领域实体关系,如图5所示。图5中三元组<攻击动机,激励,攻击者>表示为两个○概念和一个→关系的形式。图4Protégé构建的密码攻防领域本体图5密码攻防领域实体关系通过上述的构建过程,在Protégé中编码了15个核心概念和17种核心概念之间的关系,并提供了相关的描述、规则和注释。后续可以使用资源描述框架(Resource
DescriptionFramework,RDF)、可扩展标记语言(ExtensibleMarkupLanguage,XML)、网络本体语言(WebOntologyLanguage,OWL)等多种本体描述语言和文件格式导出该领域本体,实现领域知识模式的重用和共享。2领域知识图谱构建基于现阶段的人工智能技术和自然语言处理技术,采用自顶向下方法,在密码攻防领域本体的基础上,收集多源的领域文档资料进行预处理,采用基于深度学习的联合信息抽取方法构建密码攻防领域知识图谱,构建流程架构如图6所示。图6领域知识图谱构建流程架构图6中(1)本体开发和(2)典型密码攻防场景已在第1章节介绍,(7)~(10)是知识图谱后期更新维护的过程,与(3)~(6)大体相同。下面着重介绍多源数据清洗、数据预处理、联合学习方法、结果及分析和知识入库5个方面的内容。2.1多源数据清洗数据资料的来源有很多方面,如最新的机构研究报告、文献资料、百科知识等。不同来源的文档数据,除了在文档格式上的区别(如HTML、PDF、DOCX、TXT等),还有语言、语法、习惯、场合等方面的区别,因此需要对不同来源的数据分别进行清洗处理,生成包含单条句子的不同来源数据集。这样将不同来源的格式化和非格式化数据文档进行统一整理,输出统一格式,一般为用于自然语言处理的原始数据集,每行表示一条语句的UTF-8编码的文本数据格式。多源数据清洗的流程如图7所示。第1步,收集整理到密码攻防领域多源文档资料,文档分为3类:研究报告,来源于网络平台,一般可以输出为TXT或DOCX格式文档;领域文献资料,来源于中文期刊摘要和正文部分,一般是PDF或CAJ格式,可以转化为TXT文档;网络百科,采用网络爬虫的方式,由初始关键词出发,查询到大量相关领域词条信息,经过人工删除整理形成数据文档。第2步,针对每一类型的文档进行文字提取,如HTML格式文档可以根据标签取值,取得含有表述实际意义的段落或者句子,PDF和DOC文档则可以转化为TXT文本格式。第3步,文字清理,将文档中文字意义表征不明显或不相关的段落或句子删除,如图片、超链接、公式、广告句等,仅保留有意义的段落。第4步,文档组合,将上述文档进行拆分合并,保持合并之后的每个文档数据量相当,避免出现数据量过大或者过小的文档。第5步,对每个文档进行分句处理,每一个句子占用一行,是自然语言处理前期数据准备的常规操作,用来规范数据输入源,分句算法如算法1所示。其中分句符号一般包括中文句号、英文句号、省略号等。图7多源数据清洗流程由算法1可知,运用文档分句算法时,首先需要将整个文档读入内存,去除换行符,将文档内容组合为一条字符串,然后将该字符串以预定的分句符号集(cutFlags)进行分割,最终得到该文档的语句集合(sentences)。2.2数据预处理2.2.1分词和词向量生成通常文字(中文或英文)不能被机器模型所识别,不能直接用于神经网络模型训练,需要将其进行向量化。对于中文自然语言句子,可以将每个文字或者每个词组作为一个唯一标识,对这些唯一标识进行向量化后可以进行模型训练。中文字或词向量化的主要方法有word2vec,如连续词袋模型(ContinuousBagofWords,CBOW)、skip-gram模型和预训练模型(Bidirectional
EncoderRepresentationsfromTransformers,BERT)。CBOW模型利用上下文信息来预测中心字,skip-gram模型是利用中心字来预测周边临近的字,大型预训练模型则根据字在句子中的上下文信息得出其字向量,可以解决word2vec中一词多义问题。BERT模型使用双向Transformer编码器兼顾上下文信息,根据字在句子中的上下文信息得出其字向量,也可以解决一词多义问题。本文选用BERT中文预训练模型来产生字向量。BERT模型的输入表示包含3个部分:WordPiece向量、位置向量(PositionEmbedding)和句子向量(SegmentEmbedding),如图8所示。其中“[CLS]”为句子的开始标记,“[SEP]”为句子的分割标记。图8BERT的输入向量合成2.2.2序列标注序列标注是自然语言的基础任务之一,目前主流的序列标注方法有BIO、BIOES、IO、BMOES等,由于密码攻防领域的特殊性,常会在文献中出现复杂的实体,因此采用“BMOES-4位序列标注法”将清洗的语句集合进行标注。2.3联合学习法信息抽取任务是从预处理好的数据集中抽取出符合本体要求的SPO三元组的过程,是知识图谱构建的关键过程。信息抽取任务可以分为命名实体识别(NamedEntityRecognition,NER)和关系抽取(RelationExtraction,RE)两个部分。命名实体识别是信息抽取和信息检索中的一项重要任务,其目的是识别出文本中表示命名实体的成分,并对其进行分类。中文命名实体识别方法有Lattice-LSTM、Lattice-LSTM-CRF、BiLSTM-CRF
和BERT-BiLSTM-CRF等。其中的条件随机场(ConditionalRandom
Field,CRF)的目标函数不仅考虑输入的状态特征函数,而且包含了标签转移特征函数,在位置标注过程中可以充分利用内部及上下文特征信息。关系抽取的方法主要分为两类:一类是流水线方法,即先抽取实体,再对实体进行关系分类;另一类是联合学习方法,是指同时进行实体识别和关系分类。试验表明,联合学习方法大大提升了实体和关系的抽取效果。例如,潘航宇提出了基于参数共享的联合学习方法,将实体和关系抽取任务利用共享的编码层建立联系,两个任务模型损失组合,再通过反向传播调整参数来提升训练效果。因此,本文采用了联合学习方法(BERT-BiLSTM-CRF-Att,BBCA),如图9所示。图9联合学习方法图9中主体包含了3个步骤:第1步,BERT词嵌入,即将中文分词后的语句向量化,使得每个字之间的语义信息相互关联;第2步,左侧部分NER模块,分为BiLSTM编码层和CRF解码层,BiLSTM层是长短时记忆网络(LongShort-TermMemory,LSTM)的变体,使用LSTM对词嵌入进行编码,再使用条件随机场CRF确定每个字的标注分类,即概率;第3步,右侧部分RE模块,将第1步的字向量和第2步的信息进行拼接,通过多头注意力机制提升分类的准确率,最后利用全连接层计算关系类别的概率。在损失合并方面,利用中间监督调整权衡参数,以提升训练效果。2.3.1命名实体识别联合学习法中命名实体识别包含BiLSTM层、Encode层和CRF层3个部分。其中,BiLSTM层结合上下文信息进行编码,通过合并正向和反向两条链路计算输出;Encode层将高维向量映射到符合标签维度的输出;CRF层是一个方形矩阵,表示标签之间的转移信息,提高输出的合法性。(1)BiLSTM层:即双向长短时记忆网络,通过合并正向和反向两条链路计算输出,更好地捕获双向的语义依赖。正向LSTM层可以用下式表示:式中:为t时次输入;为t时次输出;分别为输入门、遗忘门、输出门和当前信息的候选状态;角标i,f,o,c,h为元素序号;W为转换矩阵;b为偏置向量;σ和tanh为Sigmoid和双曲正切函数;⊙为逐元素乘积;t和t-1为时间序列。反向的LSTM计算方法同正向LSTM,输出为则最终的BiLSTM输出为正反两个方向的隐藏状态(2)Encode层:BiLSTM层的输出是高维信息,若要得到每个字对应实体标签的预测概率,还需要向低维度进行投影,即需要加入一个全连接层。每个语句输出的特征信息经过全连接层之后得到标签概率其中M为语句长度;L为标签数。(3)CRF层:为了保证序列的局部一致性,通常在Encode层之后添加CRF层。CRF具有转移特征,考虑了输出标签之间的顺序,经过训练之后的CRF层可以感知全局的约束信息,使得实体识别更加精准。CRF判别过程如下:式中:y为标注序列;x为单词序列;Score(x,y)为单词序列x产生标注序列y的得分,得分越高则说明其产生的概率越大。2.3.2关系抽取通过多头注意力机制获取关系分类信息,根据输入数据的不同部分赋予不同的权重,得出对每个词语关系类别预测的贡献程度大小。注意力机制计算方法如图10所示。该机制将输入数据分为查询向量Q和键值对K-V两个部分。查询向量Q表示需要注意的目标,而键值对K-V用于表示输入数据的各个部分,Q,K,V三者都通过输入矩阵X作线性变换而来,变换矩阵为通过计算查询向量Q和键值对K-V之间的相似度,可以获得不同部分的权重值。图10注意力机制计算方法第1步,将Q和K矩阵经过MatMul生成相似度矩阵;第2步,对相似度矩阵作缩放(Scale);第3步,对向量掩码;第4步,对相似度进行归一化(SoftMax)处理,得到归一化之后的权重矩阵;第5步,将权重矩阵与V相乘,得到加权求和的输出结果。利用多头注意力机制将上述注意力过程经过多次重复,对结果进行拼接。在多次中每次使用的线性变换矩阵均不同,则对向量空间的表示也不同,能获得更多的文本特征信息。2.3.3基于中间监督的损失合并由于实体识别和关系抽取的阶段性,基于中间监督构建损失函数,将实体识别的损失作为最终总损失函数的一部分,总损失函数如下:式中:CEL为损失函数;pe'和pr'分别表示实体识别和关系抽取生成结果;α和β为权衡参数,均设置为0.5。2.4结果及分析(1)数据集。鉴于密码攻防领域的特殊性,当前并未有公开的中文专业数据集。通过人工收集密码攻防领域的中文源数据集(主要来源有研究报告、百科知识及文献资料等)。从这些数据资料中提取了3012条合法语句,每条语句均经人工标注,包含一条以上的实体或关系。(2)评价指标。本文使用的是通用评价指标准确率(Precision)、召回率(Recall)和F1值进行信息抽取效果评估,其值由下式得到:式中:TP为真正例;FP为假正例;FN为假反例;F1值为准确率和召回率的加权调和平均值。(3)结果及分析。为了验证使用的联合抽取模型的有效性,综合对比了传统模型Lattice-LSTM、BiLSTM-CRF和BERT-BiLSTM-CRF,试验结果如表4所示。由表4可以看出,联合学习方法整体的效果优于传统模型,主要原因有两点:特征向量的生成采用了预训练模型,准确率更高;在关系分类时采用了注意力机制,减少了分类噪声,也提高了准确率。表4试验结果由表4还可以看出,以上训练结果较其他领域开源公共数据集训练低,主要有两方面原因:一方面,多源的领域数据集收集可能不够全面,代表性不足;另一方面,领域知识模型可能不够精确,领域本体可能还有需要改进的地方。通过模型训练和预测,共产生密码攻防领域实体620个,SPO三元组1247组。三元组示例如表5所示,统计结果如图11所示。表5试验产生的SPO三元组图11知识图谱统计2.5知识入库使用图数据库Neo4j作为存储、显示知识图谱和分析密码攻击的工具。Neo4j能够更容易、更快速地表示、检索和导航连接的数据。Neo4jCQL(查询语言)命令是声明式模式匹配的,采用人类可读的格式,易于学习。3
领域知识图谱应用3.1路径查找算法基于本文构建的知识图谱有如下设定:(1)给15个类的每个子类实例都增加若干个“成功次数”属性,体现节点关系之间的权重分配,各节点间的查询顺序也可以使用该属性进行排序;(2)每次攻击成功,即攻击效果满足目标要求,则该路径上所有节点的“成功次数”属性加1;(3)每次防御成功,即防御效果满足目标要求,则该路径上所有节点的“成功次数”属性加1;(4)路径查询中优先从具有较高“成功次数”属性的节点路径进行选择;(5)路径查询中在任何一步都可以有优先性(条件),这是基于攻击者或防御者前期经验设定的。由此引出以下两个路径探索算法:在算法2中,以攻击者(atter)或者攻击动机(att_mot)为起始点,在未到达攻击点(att_point)之前,将路径上符合条件的节点加入攻击路径(att_path)中。下一节点查询顺序以高“成功次数”优先,且路径中需满足预设条件。到达攻击点之后执行攻击,如果攻击成功,则返回攻击路径;如果攻击失败,则清空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代理电动车合同范例
- 借名买房合同范本
- 租赁合同通知函
- 农村收购单车合同范例
- 农村果园承包合同范本
- 云平台建设合同范本
- 云南租房合同范本
- 供应电水气合同范本
- 水电站隧道排水孔施工方案
- 乙方装修合同范本
- 尺寸链的计算表格
- 夏玉米套种辣椒技术
- 学术规范与写作课件
- 2023年江苏省南京市市场监督管理局所属事业单位招聘5人(共500题含答案解析)笔试历年难、易错考点试题含答案附详解
- 绝缘电阻测试仪安全操作规程
- DB6101T 197-2022 藤蔓类尾菜堆肥技术规程
- 《生僻字》歌词(带拼音解释)
- 西藏房屋建筑工程竣工材料全套表格
- 品管圈基本知识
- 物业项目保洁服务质量保证及安全保障措施(标书专用)参考借鉴范本
- 量子力学英文课件格里菲斯Chapter4
评论
0/150
提交评论