第14卷第5期 智能系统学报 Vol.14 No.5 2019年9月 CAAI Transactions on Intelligent Systems Sep.2019 D0:10.11992/tis.201809024 网络出版地址:http:/kns.cnki.net/kcms/detail/23.1538.TP.20181225.1603.004.html 基于Hadoop的大规模网络安全实体识别方法 秦娅2,申国伟2,余红星2 (1.贵州大学计算机科学与技术学院,贵州贵阳550025,2.贵州大学贵州省公共大数据重点实验室,贵州贵 阳550025) 摘要:随着大数据时代的到来,如何从多源异构数据中准确地识别网络安全实体是构建网络安全知识图谱的 基础问题。因此本文针对网络安全相关文本数据,研究支持海量网络数据的安全实体识别算法,为构建网络安 全知识图谱奠定基础。针对海量的文本类网络数据中安全实体的高效精准抽取问题,本文基于Hadoop分布式 计算框架提出改进的条件随机场(conditional random fields,CRF)算法,对数据集进行有效分割,实现安全实体 的高效准确识别。在大规模真实网络数据集上的实验证明,本文提出的算法达到了较高的网络安全实体识别 准确率,同时提高了识别的效率。 关键词:大数据;异构数据;网络安全;知识图谱:安全实体;实体识别;网络数据;Hadoop:CRF算法 中图分类号:TP391.0文献标志码:A文章编号:1673-4785(2019)05-1017-09 中文引用格式:秦娅,申国伟,余红星.基于Had00p的大规模网络安全实体识别方法J.智能系统学报,2019,14(5): 1017-1025. 英文引用格式:QIN Ya,.SHEN Guowei,,YU Hongxing.Large-scale network security entity recognition method based on HadoopJ].CAAI transactions on intelligent systems,2019,14(5):1017-1025. Large-scale network security entity recognition method based on Hadoop QIN Ya'2,SHEN Guowei2,YU Hongxing'2 (1.Department of Computer Science and Technology,Guizhou University,Guiyang 550025,China;2.Guizhou Provincial Key Laboratory of Public Big Data,Guizhou University,Guiyang 550025,China) Abstract:In this era of big data,a fundamental problem for constructing network security knowledge graphs is how to efficiently and accurately identify the network security entities present in multi-source heterogeneous data.This study focuses on text data related to network safety and investigate the use of a security entity recognition algorithm that sup- ports massive-network text data,thereby laying a foundation for building the network security knowledge graph.To effi- ciently and accurately extract the security entities in massive-network text data,we propose an improved conditional random fields(CRF)algorithm based on the Hadoop distributed computing framework to segment data sets effectively. which realize efficient and accurate recognition of security entities.The experimental results reveal that the proposed se- curity entity recognition algorithm achieved a high precision rate on a large-scale real network data set and improved the efficiency of network security entity recognition.. Keywords:big data;heterogeneous data;network security;knowledge graph;security entity;entity recognition;net- work data;Hadoop;CRF algorithm 近年来,随着信息技术的快速发展,逐步进入了大数据四时代,网络空间安全面临全新的挑战, 因此网络威胁情报这一新的安全技术应运而生。 收稿日期:2018-09-13.网络出版日期:2018-12-28. 基金项目:国家自然科学基金项目(61802081):贵州省公共大 威胁情报(threat intelligence),主要是通过大数 数据重点实验室开放课题(2017BDKF刀024):贵州省 据、分布式系统或其他特定收集方式收集的用于 自然科学基金项目(20161052). 通信作者:申国伟.E-mail:gwshen@g平u.edu.cn 评估和应用的数据集,针对一个现存的或新兴的
DOI: 10.11992/tis.201809024 网络出版地址: http://kns.cnki.net/kcms/detail/23.1538.TP.20181225.1603.004.html 基于 Hadoop 的大规模网络安全实体识别方法 秦娅1,2,申国伟1,2,余红星1,2 (1. 贵州大学 计算机科学与技术学院,贵州 贵阳 550025; 2. 贵州大学 贵州省公共大数据重点实验室,贵州 贵 阳 550025) 摘 要:随着大数据时代的到来,如何从多源异构数据中准确地识别网络安全实体是构建网络安全知识图谱的 基础问题。因此本文针对网络安全相关文本数据,研究支持海量网络数据的安全实体识别算法,为构建网络安 全知识图谱奠定基础。针对海量的文本类网络数据中安全实体的高效精准抽取问题,本文基于 Hadoop 分布式 计算框架提出改进的条件随机场 (conditional random fields,CRF) 算法,对数据集进行有效分割,实现安全实体 的高效准确识别。在大规模真实网络数据集上的实验证明,本文提出的算法达到了较高的网络安全实体识别 准确率,同时提高了识别的效率。 关键词:大数据;异构数据;网络安全;知识图谱;安全实体;实体识别;网络数据;Hadoop;CRF 算法 中图分类号:TP391.0 文献标志码:A 文章编号:1673−4785(2019)05−1017−09 中文引用格式:秦娅, 申国伟, 余红星. 基于 Hadoop 的大规模网络安全实体识别方法 [J]. 智能系统学报, 2019, 14(5): 1017–1025. 英文引用格式:QIN Ya, SHEN Guowei, YU Hongxing. Large-scale network security entity recognition method based on Hadoop[J]. CAAI transactions on intelligent systems, 2019, 14(5): 1017–1025. Large-scale network security entity recognition method based on Hadoop QIN Ya1,2 ,SHEN Guowei1,2 ,YU Hongxing1,2 (1. Department of Computer Science and Technology, Guizhou University, Guiyang 550025, China; 2. Guizhou Provincial Key Laboratory of Public Big Data, Guizhou University, Guiyang 550025, China) Abstract: In this era of big data, a fundamental problem for constructing network security knowledge graphs is how to efficiently and accurately identify the network security entities present in multi-source heterogeneous data. This study focuses on text data related to network safety and investigate the use of a security entity recognition algorithm that supports massive-network text data, thereby laying a foundation for building the network security knowledge graph. To efficiently and accurately extract the security entities in massive-network text data, we propose an improved conditional random fields (CRF) algorithm based on the Hadoop distributed computing framework to segment data sets effectively, which realize efficient and accurate recognition of security entities. The experimental results reveal that the proposed security entity recognition algorithm achieved a high precision rate on a large-scale real network data set and improved the efficiency of network security entity recognition.. Keywords: big data; heterogeneous data; network security; knowledge graph; security entity; entity recognition; network data; Hadoop; CRF algorithm 近年来,随着信息技术的快速发展,逐步进入 了大数据[1] 时代,网络空间安全面临全新的挑战, 因此网络威胁情报这一新的安全技术应运而生。 威胁情报[2] (threat intelligence),主要是通过大数 据、分布式系统或其他特定收集方式收集的用于 评估和应用的数据集,针对一个现存的或新兴的 收稿日期:2018−09−13. 网络出版日期:2018−12−28. 基金项目:国家自然科学基金项目 (61802081);贵州省公共大 数据重点实验室开放课题 (2017BDKFJJ024);贵州省 自然科学基金项目 (20161052). 通信作者:申国伟. E-mail:gwshen@gzu.edu.cn. 第 14 卷第 5 期 智 能 系 统 学 报 Vol.14 No.5 2019 年 9 月 CAAI Transactions on Intelligent Systems Sep. 2019
·1018· 智能系统学报 第14卷 威胁,可用于做出相应决定的知识。从2014年开 的算法运行效率较低,单机上的安全实体识别算 始,威胁情报逐渐成为网络安全领域的热点,成 法难以满足安全实体识别需求。 为一种新的网络安全技术。 针对上述问题,本文提出了基于Hadoop的 当今社会正处于大数据时代,同时具有信息 Map/Reduce分布式计算框架,提出了与规则相结 碎片化的特征,从而赋予了网络安全信息海量化 合的改进CRF算法实现对安全实体的高效、准确 与碎片化特点,导致网络威胁情报分析人员很难 识别。本文的主要工作包括: 对信息进行获取和整合。因此,针对网络安全信 1)针对网络安全实体识别,对安全实体识别 息的碎片化和海量化的特点,将其进行过滤、分 进行问题抽象及形式化描述,给出了基于Ha- 类以及关联,从而形成一个网络安全知识体系, doop的网络安全实体识别框架。 衍生成为网络安全知识图谱。网络安全知识图谱 2)分析网络安全数据中的实体结构特征,给 构建的前提就是对信息进行抽取,信息抽取是网 出了网络安全实体识别规则,并进一步提出了改 络安全知识图谱构建的最为关键的一步,其中最 进的CRF算法,对算法进行分析。 为关键就是网络安全实体识别。 3)在真实的数据集上,针对提出的网络安全 网络安全实体识别是命名实体识别中一种 实体识别方法,结合评测标准进行对比实验,结 特定领域的实体识别,其目的是对网络安全领域 果表明本文提出的方法在准确率和效率上都有所 专业的词汇进行分类;而通用领域的命名实体识 提高。 别,主要识别文本中具有特定意义的实体,主要 综上所述,针对网络安全实体识别问题,本文 包括人名、组织名和地名等。目前,常见的是英 基于Hadoop分布式计算框架提出改进的CRF算 文网络安全实体识别,针对中文的网络安全实体 法,对数据集进行有效分割,解决网络安全实体 的识别研究工作很少。Jones等o在Bootstrap- 识别的问题,实现准确识别网络安全实体的意义。 ping算法指导下,实现了网络文本中的安全实体 和关系自动识别:Joshi等m实现了一种网络文本 1问题定义 数据的信息识别方法,利用CRF算法来识别网络 安全相关实体及关系;Lal1提出了一种基于 网络安全威胁情报分析可为复杂网络环境下 SVM算法的信息识别方法,实现了从网络文本数 的网络攻防提供情报支撑。在网络威胁情报分析 据中识别网络安全相关概念和术语;Mulwad等 中,网络数据主要识别黑客组织、单位、漏洞、恶 设计了基于SVM算法的信息识别系统,检测和 意程序等类型网络安全实体,如图1所示。 识别网络文本中的漏洞与攻击信息。 总的来说,网络安全实体的识别方法主要分 近日,国家信息安全漏洞共享平台收录了 为基于规则和基于统计的实体识别方法以。基 Joomla!com_fields?组件存在的QL注人漏洞] (CNVD-2017-06861、对应CVE-2017-8917)。 于规则的实体识别方法对于较小规模的数据具有 远程攻击者无需任何身份认证,可获取数据库敏 效果好和速度快的特点,但是规则的编写十分困 感信息,包括管理员登录信息并控制网站后台。 难,且移植性较差。基于统计的识别方法利用人 工标注语料进行训练,对具体语言特性依赖相对 图1Web文本数据中的安全实体识别 较少,移植性强,主要识别方法有隐马尔科夫模 Fig.1 Security entity recognition in web text data 型u](hidden Markov mode.,HMM)、最大熵模 本文重点分析17类网络安全实体,图2给出 型W(maximum entropy markov model,MEMM)和 了网络安全实体的本体模型1,通过人工编写 条件随机场模型s-(conditional random fields, 的方式构建了网络安全领域的本体模型,通过 CRF)等。 JSON语言实现。该模型是一个基于多维标签的 目前,网络安全实体的识别主要存在以下难点: 网络安全本体模型,其中多维标签包括来源信 1)网络安全实体数量众多且类型多种多样, 息、属性信息、元信息等标签信息。 难以满足自然语言处理领域中的命名实体定义, 针对海量的文本数据D={D1,D2,…,Dw,经 且不断地会有未登录词作为新的安全实体出现。 过预处理和分词后,任意一个文本数据D:形成 2)网络文本数据中的实体具有不同的结构, M,个词,构成词序列D,={,,…,xw。本文的 比如网络安全实体出现大量的嵌套、别名、缩略 目标是经过算法处理后,从D中抽取K类网络安 词等问题,没有严格的构词规律可以遵循。 全实体E={E,E2,…,Ex山,且每一类安全实体标记 3)在大规模数据条件下,基于机器学习模型 为E,={e,e,…,elo
威胁,可用于做出相应决定的知识。从 2014 年开 始,威胁情报逐渐成为网络安全领域的热点,成 为一种新的网络安全技术[3-4]。 当今社会正处于大数据时代,同时具有信息 碎片化的特征,从而赋予了网络安全信息海量化 与碎片化特点,导致网络威胁情报分析人员很难 对信息进行获取和整合。因此,针对网络安全信 息的碎片化和海量化的特点,将其进行过滤、分 类以及关联,从而形成一个网络安全知识体系, 衍生成为网络安全知识图谱。网络安全知识图谱 构建的前提就是对信息进行抽取,信息抽取是网 络安全知识图谱构建的最为关键的一步,其中最 为关键就是网络安全实体识别。 网络安全实体识别是命名实体识别[5] 中一种 特定领域的实体识别,其目的是对网络安全领域 专业的词汇进行分类;而通用领域的命名实体识 别,主要识别文本中具有特定意义的实体,主要 包括人名、组织名和地名等。目前,常见的是英 文网络安全实体识别,针对中文的网络安全实体 的识别研究工作很少。Jones 等 [6] 在 Bootstrapping 算法指导下,实现了网络文本中的安全实体 和关系自动识别;Joshi 等 [7] 实现了一种网络文本 数据的信息识别方法,利用 CRF 算法来识别网络 安全相关实体及关系; Lal [ 8 ] 提出了一种基于 SVM 算法的信息识别方法,实现了从网络文本数 据中识别网络安全相关概念和术语;Mulwad 等 [9] 设计了基于 SVM 算法的信息识别系统,检测和 识别网络文本中的漏洞与攻击信息。 总的来说,网络安全实体的识别方法主要分 为基于规则和基于统计的实体识别方法[10-12]。基 于规则的实体识别方法对于较小规模的数据具有 效果好和速度快的特点,但是规则的编写十分困 难,且移植性较差。基于统计的识别方法利用人 工标注语料进行训练,对具体语言特性依赖相对 较少,移植性强,主要识别方法有隐马尔科夫模 型 [13] (hidden Markov mode,HMM)、最大熵模 型 [14] (maximum entropy markov model,MEMM)和 条件随机场模型[15-16] (conditional random fields, CRF)等。 目前,网络安全实体的识别主要存在以下难点: 1) 网络安全实体数量众多且类型多种多样, 难以满足自然语言处理领域中的命名实体定义, 且不断地会有未登录词作为新的安全实体出现。 2) 网络文本数据中的实体具有不同的结构, 比如网络安全实体出现大量的嵌套、别名、缩略 词等问题,没有严格的构词规律可以遵循。 3) 在大规模数据条件下,基于机器学习模型 的算法运行效率较低,单机上的安全实体识别算 法难以满足安全实体识别需求。 针对上述问题,本文提出了基于 Hadoop 的 Map/Reduce 分布式计算框架,提出了与规则相结 合的改进 CRF 算法实现对安全实体的高效、准确 识别。本文的主要工作包括: 1) 针对网络安全实体识别,对安全实体识别 进行问题抽象及形式化描述,给出了基于 Hadoop 的网络安全实体识别框架。 2) 分析网络安全数据中的实体结构特征,给 出了网络安全实体识别规则,并进一步提出了改 进的 CRF 算法,对算法进行分析。 3) 在真实的数据集上,针对提出的网络安全 实体识别方法,结合评测标准进行对比实验,结 果表明本文提出的方法在准确率和效率上都有所 提高。 综上所述,针对网络安全实体识别问题,本文 基于 Hadoop 分布式计算框架提出改进的 CRF 算 法,对数据集进行有效分割,解决网络安全实体 识别的问题,实现准确识别网络安全实体的意义。 1 问题定义 网络安全威胁情报分析可为复杂网络环境下 的网络攻防提供情报支撑。在网络威胁情报分析 中,网络数据主要识别黑客组织、单位、漏洞、恶 意程序等类型网络安全实体,如图 1 所示。 近日,国家信息安全漏洞共享平台收录了 Joomla! com_fields组件存在的SQL注入漏洞 (CNVD-2017-06861、对应CVE-2017-8917)。 远程攻击者无需任何身份认证,可获取数据库敏 感信息,包括管理员登录信息并控制网站后台。 图 1 Web 文本数据中的安全实体识别 Fig. 1 Security entity recognition in web text data 本文重点分析 17 类网络安全实体,图 2 给出 了网络安全实体的本体模型[17-18] ,通过人工编写 的方式构建了网络安全领域的本体模型,通过 JSON 语言实现。该模型是一个基于多维标签的 网络安全本体模型,其中多维标签包括来源信 息、属性信息、元信息等标签信息。 D = {D1,D2,··· ,DN} Di Mi Di = {x1, x2,··· , xMi } E = {E1,E2,··· ,EK} Ei = {e 1 i , e 2 i ,··· , e Mi i } 针对海量的文本数据 ,经 过预处理和分词后,任意一个文本数据 形成 个词,构成词序列 。本文的 目标是经过算法处理后,从 D 中抽取 K 类网络安 全实体 ,且每一类安全实体标记 为 。 ·1018· 智 能 系 统 学 报 第 14 卷
第5期 秦姬,等:基于Hadoop的大规模网络安全实体识别方法 ·1019· 拥有 利用 利用 软件 脆弱性 恶意 程序 运 产生 包含 攻击 行 网络流 事件 @ 衣 用 通信 用户 拥有 账号 登陆 访问 主机 资源 地址 利用 攻击者 隶属于 隶属于 对应 拥有口 对应 隶属于 单位 IP 端口 域名 组织 隶属于 对应 运营商 组件 服务 图2网络安全实体的本体模型 Fig.2 Ontological model of network security entity 2基于Hadoop的安全实体识别框架 体标注,由人工判断手动标注为E,En表示安全 实体。 针对海量的网络安全数据,本文提出基于 ④最后,训练网络安全实体模型。在训练过 Hadoop平台的网络安全实体识别框架,利用Mapl 程中,根据训练工具的格式要求将前面的所有标 Reducel)分布式计算模型实现高效的数据处理。 注后的数据转化成特定的数据格式,然后利用 本文针对大规模数据的网络安全实体识别的工 CRF算法进行模型训练。 作,主要运用了Hadoop中的HDFS和MapRe- duce这两个组件,对数据进行并行化处理。具体 基于Hadoop的安全抽取框架 的抽取过程为:首先,将预处理的数据存储在HD FS中,HDFS会将这些数据切分成许多独立的小 Hadoop分布式平台 数据块,存储到若干个节点上,这些小数据块就 体抽 HDFS MapReduce 「知识库 会被多个Map任务并行处理;其次,在Hadoop上 提交任务进行网络安全实体识别,MapReduce会 为每个任务输入一个数据子集,同时调用CRF算 数据预处理 数据库 法进行网络安全实体识别,Map任务生成的结果 除 本 分词结果 o4i 会继续作为Reduce任务的输人;最后,由Re- 词 标注 训练模型 duce任务输出最后结果,并写入HDFS。本文除 了将识别出的网络安全实体存入HDFS,也将网 数据源 漏洞数据库网络安全公告开源威胁情报库 络安全实体存入图数据库Neo4j,为将来构建网 络安全知识图谱奠定基础。图3为网络安全实体 图3网络安全实体识别框架 识别的框架图。 Fig.3 Network security entity recognition framework 1)数据预处理 2)中文网络安全实体识别 本文主要对网页文本数据进行实体识别,因 本文主要是针对中文网络文本数据的安全实 此在抽取之前要对数据预处理,处理过程如下: 体识别,数据的输入为中文分词文本数据,在此 ①使用正则表达式对网页文本进行预处理, 之前,需要利用CRF算法进行模型训练,训练数 去除网页中的关于HTML的标签。 据主要来自于部分网络安全文本数据。对于中文 ②通过使用Stanford CoreNLP提供的分词工 网络安全实体数据,进行人工手动标注,标注完 具,将去除标签后的文本数据进行分词。 成后,将其放入训练工具中进行训练,实现中文 ③构建语料库,由于网络安全领域没有统一 网络安全实体模型的建立,最后通过CRF算法实 的语料库,因此在对安全实体识别前,需要对其 现网络安全实体的识别。 构建语料库。对已经分词的文本数据进行实体标 在对网络文本数据进行分词的过程中,对于 注,特征实体时,可以通过程序先将所有实体标 网络攻击事件,一般都是由“动词+名字”组合,才 注为O,O表示未识别实体;然后进行网络安全实 能完整而清楚描述一次攻击,如:X$S跨站脚本
用户 账号 主机 软件 资源 地址 IP 端口 域名 组件 服务 运营商 攻击者 网络流 脆弱性 恶意 程序 攻击 事件 单位 组织 拥有 隶属于 登陆 访问 隶属于 运 行 产生 拥有 利用 利用 发 起 通信 对应 隶属于 利用 利 用 包含 包 含 对应 隶属于 对 应 对应 拥有 图 2 网络安全实体的本体模型 Fig. 2 Ontological model of network security entity 2 基于 Hadoop 的安全实体识别框架 针对海量的网络安全数据,本文提出基于 Hadoop 平台的网络安全实体识别框架,利用 Map/ Reduce[19] 分布式计算模型实现高效的数据处理。 本文针对大规模数据的网络安全实体识别的工 作,主要运用了 Hadoop 中的 HDFS 和 MapReduce 这两个组件,对数据进行并行化处理。具体 的抽取过程为:首先,将预处理的数据存储在 HDFS 中,HDFS 会将这些数据切分成许多独立的小 数据块,存储到若干个节点上,这些小数据块就 会被多个 Map 任务并行处理;其次,在 Hadoop 上 提交任务进行网络安全实体识别,MapReduce 会 为每个任务输入一个数据子集,同时调用 CRF 算 法进行网络安全实体识别,Map 任务生成的结果 会继续作为 Reduce 任务的输入;最后,由 Reduce 任务输出最后结果,并写入 HDFS。本文除 了将识别出的网络安全实体存入 HDFS,也将网 络安全实体存入图数据库 Neo4j,为将来构建网 络安全知识图谱奠定基础。图 3 为网络安全实体 识别的框架图。 1) 数据预处理 本文主要对网页文本数据进行实体识别,因 此在抽取之前要对数据预处理,处理过程如下: ①使用正则表达式对网页文本进行预处理, 去除网页中的关于 HTML 的标签。 ②通过使用 Stanford CoreNLP 提供的分词工 具,将去除标签后的文本数据进行分词。 ③构建语料库,由于网络安全领域没有统一 的语料库,因此在对安全实体识别前,需要对其 构建语料库。对已经分词的文本数据进行实体标 注,特征实体时,可以通过程序先将所有实体标 注为 O,O 表示未识别实体;然后进行网络安全实 体标注,由人工判断手动标注为 En,En 表示安全 实体。 ④最后,训练网络安全实体模型。在训练过 程中,根据训练工具的格式要求将前面的所有标 注后的数据转化成特定的数据格式,然后利用 CRF 算法进行模型训练。 数据源 漏洞数据库 网络安全公告 开源威胁情报库 数 据 预 处 理 去 除 标 签 文 本 分 词 实 体 标 注 训 练 模 型 实 体 抽 取 Hadoop 分布式平台 HDFS MapReduce 图 数 据 库 Neo4j 基于 Hadoop 的安全抽取框架 分词数据 加载模型 文本数据 分词结果 调用CRF 知识库 算法 图 3 网络安全实体识别框架 Fig. 3 Network security entity recognition framework 2) 中文网络安全实体识别 本文主要是针对中文网络文本数据的安全实 体识别,数据的输入为中文分词文本数据,在此 之前,需要利用 CRF 算法进行模型训练,训练数 据主要来自于部分网络安全文本数据。对于中文 网络安全实体数据,进行人工手动标注,标注完 成后,将其放入训练工具中进行训练,实现中文 网络安全实体模型的建立,最后通过 CRF 算法实 现网络安全实体的识别。 在对网络文本数据进行分词的过程中,对于 网络攻击事件,一般都是由“动词+名字”组合,才 能完整而清楚描述一次攻击,如:XSS 跨站脚本 第 5 期 秦娅,等:基于 Hadoop 的大规模网络安全实体识别方法 ·1019·
·1020· 智能系统学报 第14卷 攻击、木马攻击、蠕虫蔓延等。所以在攻击事件 实际上,在对网络安全实体识别进行评测时, 名的分词上,本文采用基于规则进行识别,不进 不需要一个合并的输出,因为合并输出后会影响 行分词,因为分词会导致对攻击事件的整体叙述 最后的评测结果,因此可以在对网络安全实体进 在语义上描述不清楚,无法理解到底发生了什么 行评测时省去Reduce阶段,那么Map函数的输出 样的攻击事件。 将不会有中间输出,数据将直接存储至HDFS。 3.2CRF算法描述 3基于Hadoop的CRF改进算法 在算法1中,CRF是网络安全实体识别的核 3.1 Hadoop算法描述 心,分别对应算法1中的3)~6)步。CRF又称为 本文采用基于Map/Reduce的CRF算法并行 马尔可夫随机域,最早由Lafferty等20于2001年 化处理以缩短识别时间,实现大量数据的网络安 提出,是一种对有序数据进行标注和切分的条件 全实体识别。MapReduce模型两个核心函数为 概率模型,拥有HMM和MEMM的特点。从形式 Map函数和Reduce函数,它们的输入都为键值对,按一定的映射规则转换为另一个 定义一个无向图G=(V,E),节点和边用v和e表 或一批。Map和Reduce任务函数有下 示,在图G中,v∈V表示G中的节点,V表示节点 列通用格式: 集合,e∈E表示G中的任意一条E为边集合;X Map: (1) Y是两个随机变量,P(Y)是定义在X的条件下 Reduce :K2,list(V2)> (2) 的条件概率分布。如果在图G上,每个基于X的 式中:Map函数将输入的数据元素转换成形式的键值对,K,和V的类型是任意的。每 pYlK,Y,w≠v)=p(YX,Y,w~v)(3) 一个输入的都会输出一批,是Map计算的中间结果,然后输人到Re- P(YX)为条件随机场,式(3)中w~v表示两个节 点w和v之间存在连接边,表示两个节点G=(V, duce函数进行处理,输人形式为,输 出为。 E)在中位置相邻。Y,Y为节点v和p所对应的 随机变量。 在网络安全实体识别的过程中,对于每一个 最常用和最简单的CRF图结构是线性链结 要进行安全实体识别的文本数据,首先将训练好 构,可用于序列标注等问题,图4为线性链CRF。 的模型加载进来,然后在Map阶段调用CFR算法 由图4可知,线性链CRF在各个输出序列节点之 识别网络安全实体,最后在Reduce阶段将数据存 间做了一阶马尔可夫独立性假设,在给定一个输 储到HDFS和图数据库Neo4j。具体的基于Hadoop 入序列X的标注序列的情况下,令X={:,2,…,x】 的网络安全实体识别算法如算法1所示。 表示被观察的输入序列,Y=y,2,…,y}表示有 算法1基于Hadoop的网络安全实体识别核 限状态的集合。根据线性链CRF,线性链的Y的 心算法: 条件概率分布的形式为 输入网络文本数据D={x,x2,…,x: 输出网络安全实体E={E,E2,…,Ex}。 p0k)coexp(∑Ay40,%,x,0+∑4s0,xi0》(④ 1)调用Map函数; 式中:t为转移特征函数;s是状态特征函数;入和 2)对数据D中的文档进行分词并标注,形成 ,是对应的权重。可以将两个特征函数统一 观察序列D,={,,…,x书 为f。 3)CRFClassifier((Di)∥调用CRF算法识别网络 安全实体: 4)经过模型预测形成标注序列Y=yy2,… yM: 5)调用Reduce函数; 6)根据标注序列进行分类,得到K类实体的 E={Ei,E2,…,Ex X=X X2X-X 7根据平均值获得最终的E,={e,e,…,e“; 图4链式条件随机场 8)EntityStore.CreateNeo4jkey)/存储到Neo4j Fig.4 Chain conditional random field
攻击、木马攻击、蠕虫蔓延等。所以在攻击事件 名的分词上,本文采用基于规则进行识别,不进 行分词,因为分词会导致对攻击事件的整体叙述 在语义上描述不清楚,无法理解到底发生了什么 样的攻击事件。 3 基于 Hadoop 的 CRF 改进算法 3.1 Hadoop 算法描述 本文采用基于 Map/Reduce 的 CRF 算法并行 化处理以缩短识别时间,实现大量数据的网络安 全实体识别。MapReduce 模型两个核心函数为 Map 函数和 Reduce 函数,它们的输入都为键值对,按一定的映射规则转换为另一个 或一批。Map 和 Reduce 任务函数有下 列通用格式: Map :→ (1) Re duce :→ (2) 式中:Map 函数将输入的数据元素转换成形式的键值对,K1 和 V1 的类型是任意的。每 一个输入的都会输出一批,是 Map 计算的中间结果,然后输入到 Reduce 函数进行处理,输入形式为,输 出为。 在网络安全实体识别的过程中,对于每一个 要进行安全实体识别的文本数据,首先将训练好 的模型加载进来,然后在 Map 阶段调用 CFR 算法 识别网络安全实体,最后在 Reduce 阶段将数据存 储到 HDFS 和图数据库 Neo4j。具体的基于 Hadoop 的网络安全实体识别算法如算法 1 所示。 算法 1 基于 Hadoop 的网络安全实体识别核 心算法: Di = {x1, x2,··· , xMi 输入 网络文本数据 } ; 输出 网络安全实体 E = {E1,E2,··· ,EK}。 1) 调用 Map 函数; Di = {x1, x2,··· , xMi } 2) 对数据 D 中的文档进行分词并标注,形成 观察序列 ; 3)CRFClassifier(Di) //调用 CRF 算法识别网络 安全实体; Y = {y1, y2,··· yi , yMi } 4) 经过模型预测形成标注序列 ; 5) 调用 Reduce 函数; E = {E1,E2,··· ,EK} 6) 根据标注序列进行分类,得到 K 类实体的 ; Ei = {e 1 i , e 2 i ,··· , e Mi i 7) 根据平均值获得最终的 } ; 8)EntityStore.CreateNeo4j(key)//存储到 Neo4j 实际上,在对网络安全实体识别进行评测时, 不需要一个合并的输出,因为合并输出后会影响 最后的评测结果,因此可以在对网络安全实体进 行评测时省去 Reduce 阶段,那么 Map 函数的输出 将不会有中间输出,数据将直接存储至 HDFS。 3.2 CRF 算法描述 在算法 1 中,CRF 是网络安全实体识别的核 心,分别对应算法 1 中的 3)~6)步。CRF 又称为 马尔可夫随机域,最早由 Lafferty 等 [20] 于 2001 年 提出,是一种对有序数据进行标注和切分的条件 概率模型,拥有 HMM 和 MEMM 的特点。从形式 上来讲,可以将 CRF 看作一种概率无向图模型, 定义一个无向图 G=(V,E),节点和边用 v 和 e 表 示,在图 G 中,v∈V 表示 G 中的节点,V 表示节点 集合,e∈E 表示 G 中的任意一条 E 为边集合;X、 Y 是两个随机变量,P(Y|X) 是定义在 X 的条件下 的条件概率分布。如果在图 G 上,每个基于 X 的 随机变量 Y 都服从马尔可夫特性,即 p(Yv |X,Yw,w , v) = p(Yv |X,Yw,w ∼ v) (3) 式中对任意节 点 v 成立,则称条件概率分 布 P(Y|X) 为条件随机场,式 (3) 中 w~v 表示两个节 点 w 和 v 之间存在连接边,表示两个节点 G=(V, E) 在中位置相邻。Yv,Yw 为节点 v 和 w 所对应的 随机变量。 X = {x1, x2,··· , xn} Y = {y1, y2,··· , yn} 最常用和最简单的 CRF 图结构是线性链结 构,可用于序列标注等问题,图 4 为线性链 CRF。 由图 4 可知,线性链 CRF 在各个输出序列节点之 间做了一阶马尔可夫独立性假设,在给定一个输 入序列 X 的标注序列的情况下,令 表示被观察的输入序列, 表示有 限状态的集合。根据线性链 CRF,线性链的 Y 的 条件概率分布的形式为 p(y|x, λ)∞exp(∑ i, j λj tj(yi−1, yi , x,i)+ ∑ i,k uk sk(yi , x,i)) (4) tj sk λj uk fj 式中: 为转移特征函数; 是状态特征函数; 和 是对应的权重。可以将两个特征函数统一 为 。 Y1 Y2 Y3 Yn−1 Yn X=X1 , X2 ,..., Xn−1, Xn ... 图 4 链式条件随机场 Fig. 4 Chain conditional random field ·1020· 智 能 系 统 学 报 第 14 卷
第5期 秦姬,等:基于Hadoop的大规模网络安全实体识别方法 ·1021· 因此,线性链CRF可表示为 要是从已经标注好的训练数据集学习条件随机场 模型的参数,即各特征函数的权重向量λ,通常可 p0x,)= f0y-1y,x,0) (5) 以通过最大似然估计来实现。目前对于CRF模 11 型参数进行估计的方法有3种,其中基于Ⅱ$和 Aifj(y-.yi.x.i)) (6) GS两种算法是属于迭代的方法。目前广泛使用 11 的条件随机场参数估计算法是L-BFGS算法,它 式中:1,是特征函数对应的权值,是待训练的参数。 是一种近似的二阶方法。与传统的迭代梯度方法 在CRF算法中主要有3个关键的问题,分别 相比,此方法的收敛速度更快。下面是L 为特征函数的选择、参数估计和模型推断。 BFGS算法的计算公式: CRF模型中特征函数的形式定义为f0-1,y,x,, a-Ea0-∑Eraf,n-9 (8) 它是状态特征函数和转移特征函数的统一形式 表示。 模型推断是在给定条件随机场模型参数入 b(x,i),y1=,y:= 下,预测出最可能的状态序列。 f0y-1,xi)= 0,其他 (7 4实验及分析 特征函数通常是二值函数,取值为1或0。 4.1实验环境及数据集 在定义特征函数f0y-1y,x,)的时候,首先构建 本实验是在Windows环境下的Eclipse下进 i时刻的观察值x的真实特征b(x,)={0,1}的集 行开发的,使用Java编程语言。由于本实验是基 合,结合其对应的标注结果,就可以获得模型的 于Hadoop的网络安全实体识别,Hadoop集群环 特征函数集。本文根据网络安全实体的特点,选 境部署在实验室所提供的5台服务器上,Ha- 取部分特征,主要包括词、词性、词边界和网络安 doop平台的拓扑图如图5所示,其中服务器使用 全实体列表,每一个特征都对应一个特征函数。 的是Linux操作系统一CentOS6.8,表1为5台服 参数估计是条件随机场最为关键的问题,主 务器的硬件配置。 eml外网:XX.X.X em2内网:192.168.17.11 Maste 接人交换机 外网交换机机房内网 eml外网:XX.X.X 交换机 Slavel em2内网: 192.168.17.12 eml外网:X.XX.X Slave2em2内网:192.168.17.13 Win开发客户机 eml外网:X.X.X.XSlave4 eml外网:XX.X.X Slave3 em2内网:192.168.17.14 em2内网:192.168.17.15 图5 Hadoop平台的拓扑结构 Fig.5 Topological diagram of the Hadoop platform 表1服务器的硬件配置 据,共有40292条漏洞数据。这些数据主要包括 Table 1 Server hardware configuration 漏洞标题、漏洞缺陷编号、漏洞类型、漏洞作者、 服务器 CPU 内存/GB硬盘T 攻击事件名以及漏洞公开时间。本实验先对乌云 Master 24核Intel(R)Xeon(R) 192 4 漏洞数据集进行去标签,再进行分词,然后进行 Slavel 24核Intel(R)Xeon(R) 96 实体标注,形成了语料库。 Slave2 24核Intel(R)Xeon(R) 96 6 为了对算法进行有效的测试,本文对网络安 Slave3 24核Intel(R)Xeon(R) 64 10 全实体进行人工标注。在实验中用语料库中的 Slave4 24核Intel(R)Xeon(R) 32 2 70%进行训练,30%进行测试,采用CRF算法,以 本实验采用的数据集主要来自于乌云漏洞数 词为单位进行网络安全实体识别。通过Hadoop 据库,数据主要包括2010~2016年公开的漏洞数 平台,本实验对30%的语料库数据进行测试,对漏
因此,线性链 CRF 可表示为 p(y|x, λ) = 1 Z(x) exp(∑ j j=1 ∑n i=1 λj fj(yi−1 , yi , x,i)) (5) Z(x) = ∑ y exp(∑ j j=1 ∑n i=1 λj fj(yi−1 , yi , x,i)) (6) 式中: λj 是特征函数对应的权值,是待训练的参数。 fj(yi−1, yi , x,i) 在 CRF 算法中主要有 3 个关键的问题,分别 为特征函数的选择、参数估计和模型推断。 CRF 模型中特征函数的形式定义为 , 它是状态特征函数和转移特征函数的统一形式 表示。 fj(yi−1, yi , x,i) = b(x,i), yi−1 =, yi = 0, 其他 (7) fj(yi−1, yi , x,i) b(x,i) = {0,1} 特征函数通常是二值函数,取值为 1 或 0。 在定义特征函数 的时候,首先构建 i 时刻的观察值 x 的真实特征 的集 合,结合其对应的标注结果,就可以获得模型的 特征函数集。本文根据网络安全实体的特点,选 取部分特征,主要包括词、词性、词边界和网络安 全实体列表,每一个特征都对应一个特征函数。 参数估计是条件随机场最为关键的问题,主 要是从已经标注好的训练数据集学习条件随机场 模型的参数,即各特征函数的权重向量 λ,通常可 以通过最大似然估计来实现。目前对于 CRF 模 型参数进行估计的方法有 3 种,其中基于 IIS 和 GIS 两种算法是属于迭代的方法。目前广泛使用 的条件随机场参数估计算法是 L-BFGS 算法,它 是一种近似的二阶方法。与传统的迭代梯度方法 相比,此方法的收敛速度更快。下面 是 L - BFGS 算法的计算公式: ∂L(λ) ∂λj = Eβ(x,y) fj(x, y)− ∑ Ep(y|x k ,λ) fj(x (k) , y)− λk σ2 (8) 模型推断是在给定条件随机场模型参数 λ 下,预测出最可能的状态序列。 4 实验及分析 4.1 实验环境及数据集 本实验是在 Windows 环境下的 Eclipse 下进 行开发的,使用 Java 编程语言。由于本实验是基 于 Hadoop 的网络安全实体识别,Hadoop 集群环 境部署在实验室所提供的 5 台服务器上, Hadoop 平台的拓扑图如图 5 所示,其中服务器使用 的是 Linux 操作系统——CentOS 6.8,表 1 为 5 台服 务器的硬件配置。 接入交换机 Win 开发客户机 Master Slave1 Slave2 Slave3 em1 外网:X.X.X.X em2 内网:192.168.17.11 em1 外网:X.X.X.X em2 内网: 192.168.17.12 em1 外网:X.X.X.X em2 内网:192.168.17.13 em1 外网:X.X.X.X em2 内网:192.168.17.14 机房内网 交换机 em1 外网:X.X.X.XSlave4 em2 内网:192.168.17.15 外网交换机 图 5 Hadoop 平台的拓扑结构 Fig. 5 Topological diagram of the Hadoop platform 表 1 服务器的硬件配置 Table 1 Server hardware configuration 服务器 CPU 内存/GB 硬盘/T Master 24核Intel(R) Xeon(R) 192 4 Slave1 24核Intel(R) Xeon(R) 96 7 Slave2 24核Intel(R) Xeon(R) 96 6 Slave3 24核Intel(R) Xeon(R) 64 10 Slave4 24核Intel(R) Xeon(R) 32 2 本实验采用的数据集主要来自于乌云漏洞数 据库,数据主要包括 2010~2016 年公开的漏洞数 据,共有 40 292 条漏洞数据。这些数据主要包括 漏洞标题、漏洞缺陷编号、漏洞类型、漏洞作者、 攻击事件名以及漏洞公开时间。本实验先对乌云 漏洞数据集进行去标签,再进行分词,然后进行 实体标注,形成了语料库。 为了对算法进行有效的测试,本文对网络安 全实体进行人工标注。在实验中用语料库中的 70% 进行训练,30% 进行测试,采用 CRF 算法,以 词为单位进行网络安全实体识别。通过 Hadoop 平台,本实验对 30% 的语料库数据进行测试,对漏 第 5 期 秦娅,等:基于 Hadoop 的大规模网络安全实体识别方法 ·1021·
·1022· 智能系统学报 第14卷 洞数据中的8种网络安全实体类型进行识别,图6 体的识别效率都有所提高。图7是对修正和未修 为8种网络安全实体类型在语料库中的统计信息。 正结果的准确率的对比,图8是召回率的对比, ×109 图9是F值的对比。 0.95 0.90 8 0.85 a一CRF算法+规则 6 嚣0.80 e一CRF算法 0.75 0.70 0.65 2345678910 号 实验次数 缺陷 漏洞 漏洞 攻击事 图7准确率对比结果 Fig.7 Comparisons of precision of results 网络安全实体类型 0.60 图6语料库统计信息 0.55 a-CRF算法+规则 OCRF算法 0.50 Fig.6 Network security entity types ¥0.45 4.2小规模识别率对比实验 ▣0.40 -0.35 本文以准确率P、召回率R和F值作为评价 0.30 指标,具体的定义如下: 0.25 Ps水 0.20 (9) 2345678910 W 实验次数 式中:N2表示识别正确的网络安全实体的总个 图8召回率对比结果 数;N,表示识别出来的网络安全实体的总个数。 Fig.8 Comparisons of recall results R=9 (10) 0.75 0.70 合CRF算法+规则 a-CRF算法 式中:N2表示识别正确的网络安全实体的总个 0.654 数;N表示测试语料的网络安全实体的总个数。 0.60 F=2xPxR 0.55 P+R (11) 0.50 本文利用CRF算法识别网络安全实体,将识 0.45 别出来的网络安全实体作为候选网络安全实体, 0.40 123 456 然后利用基于规则的方法,对候选网络安全实体 实验次数 进行修正,将修正过的结果和未修正的结果进行 图9F值对比结果 对比。本文利用基于规则的方法对基于CRF的 Fig.9 Comparisons of F-value results 网络安全实体的识别进行修正,实验过程中首先 图7~9列出了网络安全实体10次实验的识 建立简单的规则,然后将规则加入到网络安全实 别结果,从实验结果可以看出,在使用规则对于 体的识别中进行比较。本文制定了以下几条规则: 基于CRF算法的网络安全实体识别的结果进行 规则一:如果词的前缀是“腾讯”“优酷”“微 修正,识别效果有了一定的提高。就准确率而 软”等厂商名,且该词带有“漏洞”结束符,那么该 言,基于CRF算法与规则相结合的准确率能达到 词应标记为漏洞名称,例如“腾讯某分站地址跳转 85%以上,10次实验中准确率最高达到了91%。 漏洞”。 但是就召回率而言,从实验结果来看,识别效果 规则二:如果词的前缀是“WooYun”,将此类 比较低,主要是因为CFF模型泛化能力不够和训 词标记为漏洞缺陷编号。 练的语料库非常小。 规则三:如果词的前缀出现“SQL”“XSS”等 4.3大规模对比实验 词,且该词带有“注人”“攻击”“传播”“泄露”等结 本实验采用Hadoop框架,主要利用MapRe- 束符,那么该词应标记为漏洞类型,例如:“XSS duce对大规模数据进行分割,对网络安全实体的 跨站脚本攻击”。 识别并行化处理。本文将Hadoop安装在5个节 经过以上规则对结果进行纠正,网络安全实 点的集群中,文本数据块的大小为128MB。为了
洞数据中的 8 种网络安全实体类型进行识别,图 6 为 8 种网络安全实体类型在语料库中的统计信息。 缺陷编号 漏洞作者 漏洞标题 漏洞类型 IP 地址 攻击事件名 公开时间 URL 地址 网络安全实体类型 0 2 4 6 8 10 12 实体的数量/个 图 6 语料库统计信息 Fig. 6 Network security entity types 4.2 小规模识别率对比实验 本文以准确率 P、召回率 R 和 F 值作为评价 指标,具体的定义如下: P = N2 N1 (9) 式中:N2 表示识别正确的网络安全实体的总个 数;N1 表示识别出来的网络安全实体的总个数。 R = N2 N (10) 式中:N2 表示识别正确的网络安全实体的总个 数;N 表示测试语料的网络安全实体的总个数。 F = 2× P×R P+R (11) 本文利用 CRF 算法识别网络安全实体,将识 别出来的网络安全实体作为候选网络安全实体, 然后利用基于规则的方法,对候选网络安全实体 进行修正,将修正过的结果和未修正的结果进行 对比。本文利用基于规则的方法对基于 CRF 的 网络安全实体的识别进行修正,实验过程中首先 建立简单的规则,然后将规则加入到网络安全实 体的识别中进行比较。本文制定了以下几条规则: 规则一:如果词的前缀是“腾讯”“优酷”“微 软”等厂商名,且该词带有“漏洞”结束符,那么该 词应标记为漏洞名称,例如“腾讯某分站地址跳转 漏洞”。 规则二:如果词的前缀是“WooYun”,将此类 词标记为漏洞缺陷编号。 规则三:如果词的前缀出现“SQL”“XSS”等 词,且该词带有“注入”“攻击”“传播”“泄露”等结 束符,那么该词应标记为漏洞类型,例如:“XSS 跨站脚本攻击”。 经过以上规则对结果进行纠正,网络安全实 体的识别效率都有所提高。图 7 是对修正和未修 正结果的准确率的对比,图 8 是召回率的对比, 图 9 是 F 值的对比。 1 2 3 4 5 6 7 8 9 10 实验次数 0.85 0.90 0.75 0.80 0.65 0.70 0.95 CRF 算法+规则 CRF 算法 准确率 图 7 准确率对比结果 Fig. 7 Comparisons of precision of results 1 2 3 4 5 6 7 8 9 10 实验次数 0.50 0.55 0.40 0.45 0.30 0.35 0.20 0.25 0.60 CRF 算法+规则 CRF 算法 召回率 图 8 召回率对比结果 Fig. 8 Comparisons of recall results 1 2 3 4 5 6 7 8 9 10 实验次数 0.70 0.75 0.60 0.65 0.50 0.55 0.40 0.45 F 值 CRF 算法+规则 CRF 算法 图 9 F 值对比结果 Fig. 9 Comparisons of F-value results 图 7~9 列出了网络安全实体 10 次实验的识 别结果,从实验结果可以看出,在使用规则对于 基于 CRF 算法的网络安全实体识别的结果进行 修正,识别效果有了一定的提高。就准确率而 言,基于 CRF 算法与规则相结合的准确率能达到 85% 以上,10 次实验中准确率最高达到了 91%。 但是就召回率而言,从实验结果来看,识别效果 比较低,主要是因为 CFF 模型泛化能力不够和训 练的语料库非常小。 4.3 大规模对比实验 本实验采用 Hadoop 框架,主要利用 MapReduce 对大规模数据进行分割,对网络安全实体的 识别并行化处理。本文将 Hadoop 安装在 5 个节 点的集群中,文本数据块的大小为 128 MB。为了 ·1022· 智 能 系 统 学 报 第 14 卷
第5期 秦娅,等:基于Hadoop的大规模网络安全实体识别方法 ·1023· 更好地说明分布式计算效率,本实验在不同的数 4.5网络安全实体识别实例分析 据规模下,基于不同的节点个数测试网络安全实 为了进一步直观展示本文算法在网络安全实 体识别时间。实验中分为3个节点、4个节点 体识别方面的结果,安全实体词云图如图12所 以及5个节点,同时加上伪分布式集群。在Hadoop 示。“DDOS攻击“SQL注射漏洞”等网络安全实 集群上,运用4组数据进行实验,4组数据大小分 体,具有典型的中英文混合结构,传统的命名识 别为1.3GB、6GB、13GB、28GB。实验结果如 别方法较少关注中英文混合结构的命名实体识 图10所示。 别。通过词云图可以直观地看出,本文提出的基 60 于规则的CRF算法能够有效处理中英文混合的 了伪分布式 50 , 三节点集群 三 西节点集群 网络安全实体,进一步提升了安全实体识别的准 ☒五节点集群 确率,为基于网络安全知识图谱的威胁情报分析 奠定了基础。 应用配置错误走秀网网络未授权访问高 SS跨站脚本攻击 远程代码执行猪人戒网注漏育 目☒ 1.3 6 13 28 SSQL注射漏洞 据量/G 图10不同节点数下的运行时间对比结果 安86U-2010-00023. Fig.10 Comparison of running times for different node 危害等级钓色欺诈信息©⑨名 numbers 住意文件遍DDS攻击 泄漏敏感信息渐洞西 制不网络设计缺路 从图10可以看出,随着计算节点个数的增 盛授权访问后台三念 22 加,网络安全实体的识别时间也随之加快。在数 优蓝网药迅漏洞奇虎360 85.00 据量为1.3GB的时候,随着节点数的增加,网络 高信息传播 安全实体识别时间变化不大,识别效率提高不明 图12网络安全实体词云图 显。随着数据量的增大,在伪分布式的情况下, Fig.12 Word cloud map of network security entity 28GB数据耗时近55h,5个节点耗时近13h,识 别效率明显提高。 5结束语 4.4算法的可扩展性分析 本文对网络安全实体识别的常用算法进行了 本文提出的基于Hadoop的CRF算法的网络 总结,详细分析了基于CRF算法的网络安全实体 安全实体识别算法具有很好的扩展性。图11展 识别方法,并针对大规模数据在Hadoop框架下对 示了28GB数据的运行时间,从图中可以看出随 网络安全实体识别进行并行化处理。实验表明, 着计算节点数的增加数据运行时间逐渐下降。实 本文采用基于Hadoop的CRF算法的网络安全实 验证明,增加节点数可以有效增加网络安全实体 体识别,取得了良好的效果,并大大地缩短了识 识别效率,因此本文基于Hadoop的网络安全实体 别时间。在后续的工作中,会考虑融合更多网络 识别算法具有良好的可扩展性,适用于大规模数 安全领域的知识使得安全实体识别具有更好的泛 据的集群计算。 化能力,从而提高实体的识别率,并扩展至多机 60 分布式平台,进一步提高性能。 50 参考文献: 40 [1]廖建新.大数据技术的应用现状与展望U].电信科学, 2015,31(7):1-12. LIAO Jianxin.Big data technology:current applications 20 and prospects[J].Telecommunications science,2015, 10 31(7)1-12 [2]单琳.网络威胁情报发展现状综述[).保密科学技术, 节点数/个 2016(8):28-33. 图1128GB数据运行时间对比 SHAN Lin.Overview of the development status of cyber Fig.11 Comparison of 28 GB data running times threat intelligence[J].Security science and technology
更好地说明分布式计算效率,本实验在不同的数 据规模下,基于不同的节点个数测试网络安全实 体识别时间。实验中分为 3 个节点、4 个节点 以及 5 个节点,同时加上伪分布式集群。在 Hadoop 集群上,运用 4 组数据进行实验,4 组数据大小分 别为 1.3 GB、6 GB、13 GB、28 GB。实验结果如 图 10 所示。 6 13 28 数据量/GB 0 10 20 30 40 50 60 运行时间/h 伪分布式 三节点集群 四节点集群 五节点集群 1.3 图 10 不同节点数下的运行时间对比结果 Fig. 10 Comparison of running times for different node numbers 从图 10 可以看出,随着计算节点个数的增 加,网络安全实体的识别时间也随之加快。在数 据量为 1.3 GB 的时候,随着节点数的增加,网络 安全实体识别时间变化不大,识别效率提高不明 显。随着数据量的增大,在伪分布式的情况下, 28 GB 数据耗时近 55 h,5 个节点耗时近 13 h,识 别效率明显提高。 4.4 算法的可扩展性分析 本文提出的基于 Hadoop 的 CRF 算法的网络 安全实体识别算法具有很好的扩展性。图 11 展 示了 28 GB 数据的运行时间,从图中可以看出随 着计算节点数的增加数据运行时间逐渐下降。实 验证明,增加节点数可以有效增加网络安全实体 识别效率,因此本文基于 Hadoop 的网络安全实体 识别算法具有良好的可扩展性,适用于大规模数 据的集群计算。 1 3 4 5 节点数/个 10 20 30 40 50 60 运行时间/h 图 11 28 GB 数据运行时间对比 Fig. 11 Comparison of 28 GB data running times 4.5 网络安全实体识别实例分析 为了进一步直观展示本文算法在网络安全实 体识别方面的结果,安全实体词云图如图 12 所 示。“DDOS 攻击”“SQL 注射漏洞”等网络安全实 体,具有典型的中英文混合结构,传统的命名识 别方法较少关注中英文混合结构的命名实体识 别。通过词云图可以直观地看出,本文提出的基 于规则的 CRF 算法能够有效处理中英文混合的 网络安全实体,进一步提升了安全实体识别的准 确率,为基于网络安全知识图谱的威胁情报分析 奠定了基础。 图 12 网络安全实体词云图 Fig. 12 Word cloud map of network security entity 5 结束语 本文对网络安全实体识别的常用算法进行了 总结,详细分析了基于 CRF 算法的网络安全实体 识别方法,并针对大规模数据在 Hadoop 框架下对 网络安全实体识别进行并行化处理。实验表明, 本文采用基于 Hadoop 的 CRF 算法的网络安全实 体识别,取得了良好的效果,并大大地缩短了识 别时间。在后续的工作中,会考虑融合更多网络 安全领域的知识使得安全实体识别具有更好的泛 化能力,从而提高实体的识别率,并扩展至多机 分布式平台,进一步提高性能。 参考文献: 廖建新. 大数据技术的应用现状与展望 [J]. 电信科学, 2015, 31(7): 1–12. LIAO Jianxin. Big data technology: current applications and prospects[J]. Telecommunications science, 2015, 31(7): 1–12. [1] 单琳. 网络威胁情报发展现状综述 [J]. 保密科学技术, 2016(8): 28–33. SHAN Lin. Overview of the development status of cyber threat intelligence[J]. Security science and technology, [2] 第 5 期 秦娅,等:基于 Hadoop 的大规模网络安全实体识别方法 ·1023·
·1024· 智能系统学报 第14卷 2016(8):28-33 nology,2017. [3]南湘浩,陈钟.网络安全技术概论[J].计算机安全, [13]RABINER L R.A tutorial on hidden Markov models and 2003(30):76. selected applications in speech recognition[M]//WAIBEL NAN Xianghao,CHEN Zhong.Introduction to network se- A,LEE K F.Readings in Speech Recognition.San Fran- curity technology[J].Computer security,2003(30):76. cisco:Morgan Kaufmann,1990:267-296. 「4]陈兴蜀,曾雪梅,王文贤,等.基于大数据的网络安全与 [14]KOELING R.Chunking with maximum entropy 情报分析).工程科学与技术,2017,493)1-12 models[Cl//Proceedings of the 2nd Workshop on Learn- CHEN Xingshu,ZENG Xuemei,WANG Wenxian,et al. ing Language in Logic and the 4th Conference on Compu- Big data analytics for network security and intelligence[J]. tational Natural Language Learning.Lisbon,Portugal, Advanced engineering sciences,2017,49(3):1-12. 2000:139-141. [5]张晓艳,王挺,陈火旺.命名实体识别研究刀.计算机科 [15]郑秋生,刘守喜.基于CRF的互联网文本命名实体识别 学,2005,32(4):4448. ZHANG Xiaoyan,WANG Ting,CHRN Huowang.Re- 研究).中原工学院学报,2016,27(1)少70-73,95 search on named entity recognition[J].Computer science, ZHRNG Qiusheng,LIU Shouxi.Research of web text 2005,32(4):44-48. named entity recognition based on CRF[J].Journal of [6]JONES CL,BRIDGES R A,HUFFE K M T,et al.To- Zhongyuan University of Technology,2016,27(1): wards a relation extraction framework for cyber-security 70-73.95. concepts[C]//Proceedings of the 10th Annual Cyber and In- [16]朱颢东,杨立志,丁温雪,等.基于主题标签和CRF的中 formation Security Research Conference.Oak Ridge,USA, 文微博命名实体识别.华中师范大学学报(自然科学 2015:11. 版),2018,52(3:316-321. [7]JOSHI A.LAL R,FININ T,et al.Extracting cybersecurity ZHU Haodong,YANG Lizhi,DING Wenxue,et al. related linked data from text[Cl//Proceedings of 2013 IEEE Named entity recognition of Chinese microblog based on Seventh International Conference on Semantic Computing. theme tag and CRF[J].Journal of Central China Normal Irvine,USA,2013:252-259 University (Natural Sciences),2018,52(3):316-321. [8]LAL R.Information extraction of security related entities [17]TELNOV Y,SAVICHEV I.Ontology-based competency and concepts from unstructured text[D].Baltimore County. management:infrastructures for the knowledge intensive University of Maryland,2013. learning organization[C]//Proceedings of the Ist Interna- [9]MULWAD V,LI Wenjia,JOSHI A,et al.Extracting in- tional Early Research Career Enhancement School.Cham, formation about security vulnerabilities from web text[C]//Proceedings of 2011 IEEE/WIC/ACM Internation- Switzerland,2016:249-256. al Conferences on Web Intelligence and Intelligent Agent [18]IANNACONE M.BOHN S,NAKAMURA G,et al.De- Technology.Lyon,France,2011:257-260. veloping an ontology for cyber security knowledge [10]翟菊叶,陈春燕,张钰,等.基于CRF与规则相结合的中 graphs[C]//Proceedings of the 10th Annual Cyber and In- 文电子病历命名实体识别研究)包头医学院学报, formation Security Research Conference.Oak Ridge, 2017,33(11:124125,130. USA.2015:12 ZHAI Juye,CHEN Chunyan,ZHANG Yu,et al.A study [19]DEAN J,GHEMAWAT S.MapReduce:simplified data on the named entity recognition of Chinese electronic processing on large clusters[C]//Proceedings of the 6th medical record based on combination of CRF and rules[J]. Conference on Symposium on Opearting Systems Design Journal of Baotou Medical College,2017,33(11): and Implementation.San Francisco,USA,2004:10 124-125,130. [20]LAFFERTY J D.MCCALLUM A.PEREIRA F C N. [11]张晓艳,王挺,陈火旺.基于混合统计模型的汉语命名 Conditional random fields:probabilistic models for seg- 实体识别方法[).计算机工程与科学,2006,28(6): menting and labeling sequence data[C]//Proceedings of 135-139. the 18th International Conference on Machine Learning. ZHANG Xiaoyan,WANG Ting,CHEN Huowang.A Williamstown,USA,2001:282-289 mixed statistical model-based method for chinese named 作者简介: entity recognition[.Computer engineering and science, 秦娅,女,1992年生,硕士研究 2006,28(6:135-139. 生,主要研究方向为网络安全知识 [12]徐梓豪.基于统计模型的中文命名实体识别方法研究 图谱。 及应用D1.北京:北京化工大学,2017. XU Zihao.Statistical model based Chinese named entity recognition methods and its application to medical re- cords[D].Beijing:Beijing University of Chemical Tech-
2016(8): 28–33. 南湘浩, 陈钟. 网络安全技术概论 [J]. 计算机安全, 2003(30): 76. NAN Xianghao, CHEN Zhong. Introduction to network security technology[J]. Computer security, 2003(30): 76. [3] 陈兴蜀, 曾雪梅, 王文贤, 等. 基于大数据的网络安全与 情报分析 [J]. 工程科学与技术, 2017, 49(3): 1–12. CHEN Xingshu, ZENG Xuemei, WANG Wenxian, et al. Big data analytics for network security and intelligence[J]. Advanced engineering sciences, 2017, 49(3): 1–12. [4] 张晓艳, 王挺, 陈火旺. 命名实体识别研究 [J]. 计算机科 学, 2005, 32(4): 44–48. ZHANG Xiaoyan, WANG Ting, CHRN Huowang. Research on named entity recognition[J]. Computer science, 2005, 32(4): 44–48. [5] JONES C L, BRIDGES R A, HUFFE K M T, et al. Towards a relation extraction framework for cyber-security concepts[C]//Proceedings of the 10th Annual Cyber and Information Security Research Conference. Oak Ridge, USA, 2015: 11. [6] JOSHI A, LAL R, FININ T, et al. Extracting cybersecurity related linked data from text[C]//Proceedings of 2013 IEEE Seventh International Conference on Semantic Computing. Irvine, USA, 2013: 252–259. [7] LAL R. Information extraction of security related entities and concepts from unstructured text[D]. Baltimore County: University of Maryland, 2013. [8] MULWAD V, LI Wenjia, JOSHI A, et al. Extracting information about security vulnerabilities from web text[C]//Proceedings of 2011 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology. Lyon, France, 2011: 257–260. [9] 翟菊叶, 陈春燕, 张钰, 等. 基于 CRF 与规则相结合的中 文电子病历命名实体识别研究 [J]. 包头医学院学报, 2017, 33(11): 124–125, 130. ZHAI Juye, CHEN Chunyan, ZHANG Yu, et al. A study on the named entity recognition of Chinese electronic medical record based on combination of CRF and rules[J]. Journal of Baotou Medical College, 2017, 33(11): 124–125, 130. [10] 张晓艳, 王挺, 陈火旺. 基于混合统计模型的汉语命名 实体识别方法 [J]. 计算机工程与科学, 2006, 28(6): 135–139. ZHANG Xiaoyan, WANG Ting, CHEN Huowang. A mixed statistical model-based method for chinese named entity recognition[J]. Computer engineering and science, 2006, 28(6): 135–139. [11] 徐梓豪. 基于统计模型的中文命名实体识别方法研究 及应用 [D]. 北京: 北京化工大学, 2017. XU Zihao. Statistical model based Chinese named entity recognition methods and its application to medical records[D]. Beijing: Beijing University of Chemical Tech- [12] nology, 2017. RABINER L R. A tutorial on hidden Markov models and selected applications in speech recognition[M]//WAIBEL A, LEE K F. Readings in Speech Recognition. San Francisco: Morgan Kaufmann, 1990: 267–296. [13] KOELING R. Chunking with maximum entropy models[C]//Proceedings of the 2nd Workshop on Learning Language in Logic and the 4th Conference on Computational Natural Language Learning. Lisbon, Portugal, 2000: 139–141. [14] 郑秋生, 刘守喜. 基于 CRF 的互联网文本命名实体识别 研究 [J]. 中原工学院学报, 2016, 27(1): 70–73, 95. ZHRNG Qiusheng, LIU Shouxi. Research of web text named entity recognition based on CRF[J]. Journal of Zhongyuan University of Technology, 2016, 27(1): 70–73, 95. [15] 朱颢东, 杨立志, 丁温雪, 等. 基于主题标签和 CRF 的中 文微博命名实体识别 [J]. 华中师范大学学报(自然科学 版), 2018, 52(3): 316–321. ZHU Haodong, YANG Lizhi, DING Wenxue, et al. Named entity recognition of Chinese microblog based on theme tag and CRF[J]. Journal of Central China Normal University (Natural Sciences), 2018, 52(3): 316–321. [16] TELNOV Y, SAVICHEV I. Ontology-based competency management: infrastructures for the knowledge intensive learning organization[C]//Proceedings of the 1st International Early Research Career Enhancement School. Cham, Switzerland, 2016: 249–256. [17] IANNACONE M, BOHN S, NAKAMURA G, et al. Developing an ontology for cyber security knowledge graphs[C]//Proceedings of the 10th Annual Cyber and Information Security Research Conference. Oak Ridge, USA, 2015: 12. [18] DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters[C]//Proceedings of the 6th Conference on Symposium on Opearting Systems Design and Implementation. San Francisco, USA, 2004: 10. [19] LAFFERTY J D, MCCALLUM A, PEREIRA F C N. Conditional random fields: probabilistic models for segmenting and labeling sequence data[C]//Proceedings of the 18th International Conference on Machine Learning. Williamstown, USA, 2001: 282–289. [20] 作者简介: 秦娅,女,1992 年生,硕士研究 生,主要研究方向为网络安全知识 图谱。 ·1024· 智 能 系 统 学 报 第 14 卷
第5期 秦姬,等:基于Hadoop的大规模网络安全实体识别方法 ·1025· 申国伟,男,1986年出生,副教 余红星,男,1993年生,硕士研究 授,主要研究方向为大数据、网络与信 生,主要研究方向为大数据技术。 息安全、数据挖掘。 第三届人工智能与大数据国际会议(ICAIBD2020) 2020 3rd International Conference on Artificial Intelligence and Big Data (ICAIBD 2020) 2020 3rd International Conference on Artificial Intelligence and Big Data (ICAIBD 2020)will take place on May 28-31,2020 inChengdu,China.It is sponsored by Sichuan Province Computer Federation and technically assisted by many local and international universities.This conference provides you opportunity to meet with academicians as well as practitioners in the fields of Artificial Intelligence and Big Data from all over the world,and get the latest insights from every area of Artificial Intelligence and Big Data theory and practice. ICAIBD features invited keynote speech,peer-reviewed paper presentations,and academic visit.The conference is completely open (one needs to register first...),you will not have to be an author or a discussant to attend.Submissions will be peer-reviewed and evaluated based on originality,relevance to conference,contributions,and presentation.We invite the submission of original research contributions.Accepted papers will be collected in the Conference Proceed- ings,which is published by IEEE and reviewed by the IEEE Xplore,and then sent for indexing by Ei Compendex,and Scopus 会议官址:www.icaibd.org
申国伟,男,1986 年出生,副教 授,主要研究方向为大数据、网络与信 息安全、数据挖掘。 余红星,男,1993 年生,硕士研究 生,主要研究方向为大数据技术。 第三届人工智能与大数据国际会议(ICAIBD 2020) 2020 3rd International Conference on Artificial Intelligence and Big Data (ICAIBD 2020) 2020 3rd International Conference on Artificial Intelligence and Big Data (ICAIBD 2020) will take place on May 28-31, 2020 inChengdu, China. It is sponsored by Sichuan Province Computer Federation and technically assisted by many local and international universities. This conference provides you opportunity to meet with academicians as well as practitioners in the fields of Artificial Intelligence and Big Data from all over the world, and get the latest insights from every area of Artificial Intelligence and Big Data theory and practice. ··· ICAIBD features invited keynote speech, peer-reviewed paper presentations, and academic visit. The conference is completely open (one needs to register first ), you will not have to be an author or a discussant to attend. Submissions will be peer-reviewed and evaluated based on originality, relevance to conference, contributions, and presentation. We invite the submission of original research contributions. Accepted papers will be collected in the Conference Proceedings, which is published by IEEE and reviewed by the IEEE Xplore, and then sent for indexing by Ei Compendex, and Scopus. 会议官址:www.icaibd.org 第 5 期 秦娅,等:基于 Hadoop 的大规模网络安全实体识别方法 ·1025·