温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
本体
网络设备
脆弱
性知识
构建
宋子繁
第 卷 第期 年 月广西大学学报(自然科学版)()收稿日期:;修订日期:基金资助:国家自然科学基金项目();江西省主要学科学术和技术带头人资助计划项目()通讯作者:肖美华(),男,华东交通大学教授,博士生导师,博士;:。引文格式:宋子繁,肖美华,钟逸洲,等基于本体的网络设备脆弱性知识库构建广西大学学报(自然科学版),():基于本体的网络设备脆弱性知识库构建宋子繁,肖美华,钟逸洲,罗敏(华东交通大学 软件学院,江西 南昌 )摘要:针对网络设备脆弱性分析与预测,提出一种基于本体的网络设备脆弱性知识库构建方法。该方法将知识库构建分为个部分:基于通用缺陷列表()构建网络设备脆弱性本体,形成脆弱性领域语义知识;为解决网络设备脆弱性数据获取难度大的问题,设计开发并发爬虫工具,高效构建网络设备脆弱性数据库;为提升关联规则挖掘效果,借助脆弱性领域语义知识,将构建的脆弱性数据库中、低层级脆弱性提升为高层级脆弱性,提高项集支持度,采用 算法挖掘网络设备和脆弱性之间的关联规则。实验结果表明:构建的网络设备脆弱性知识库中包含更多网络设备和脆弱性关联规则,根据关联规则可对网络设备脆弱性进行有效分析与预测。关键词:网络设备脆弱性;通用缺陷列表;本体;爬虫工具;关联规则挖掘中图分类号:文献标识码:文章编号:(),(,):,:(),;,;,广西大学学报(自然科学版)第 卷 :;引言网络设备作为信息基础设施的核心部件,其脆弱性(,也称为漏洞)数量的不断增长,导致信息安全形势日益严峻。在脆弱性、脆弱性知识库研究方面,国家互联网应急中心、王辉等为准确评估计算机网络的脆弱性,结合贝叶斯网络与攻击图提出一种新的评估算法;代培武等针对现有漏洞检测平台无法有效识别 类型的问题,提出一种二进制可执行程序漏洞检测和 类型判定的方法,并基于该方法开发原型系统;等针对脆弱性评估过程中手工分析不精确的问题,提出使用交叉链接和相关的数据库来收集、提取、过滤和可视化多个现有存储库的漏洞数据,从而推断出信息物理系统的脆弱性信息;等基于脆弱性数据库,提出一种有效的威胁分析方法,用于安全至上的信息物理系统设计阶段并发现可能存在的攻击。在基于本体的关联规则挖掘方面,等在其早期工作提出的一种基于本体的带注释数据集中提取加权关联规则方法的基础上,设计交叉本体关联规则的方法,用于挖掘生物学领域的关联规则;等为传染病及传染机制研究提供支持,提出一种利用来自本体的背景知识和统计方法来提取病原体和疾病之间的关联的方法,并将关联后的数据整合为一个公开数据库,供相关学者使用;袁柳等提出一种先建立关联数据集的模式级链接,再进行关联规则挖掘的方法,同时给出了基于 的大规模关联数据集采用资源描述框架(,)数据集上关联规则挖掘的实现方案;提出物流金融本体,并对风险隐患数据库进行关联分析获得物流金融风险事件与风险源的关联规则,依据关联规则对相关风险源逐个进行筛选和控制,有助于物流金融的健康发展。针对网络设备脆弱性分析与预测,本文提出基于本体的网络设备脆弱性知识库构建方法。网络设备脆弱性知识库构建包括网络设备脆弱性本体的构建、网络设备脆弱性数据库构建及网络设备和脆弱性关联规则挖掘。构建网络设备脆弱性本体网络设备脆弱性本体的构建分为定义脆弱性类别及层次体系、定义脆弱性的属性和设计脆弱性本体的存储。定义脆弱性类别及层次体系美国非盈利性组织 创建并维护的通用缺陷列表(,)是通用软件和硬件缺陷类型列表,具有脆弱性词典的性质。美国国家脆弱性数据库(,)及通用脆弱性披露(,)均是采用 作为分类机制。中国国家信息安全漏洞库(,)分类标准也参考了。本文定义的脆弱性类别及层次体系是基于 和 所使用的 分类标准,结合网络设备脆弱性特征得到。层次更深的脆弱性类别,粒度更精细。定义的脆弱性类别及层次体系共分为个层级。第层级的脆弱性类别 种,第层级 种。其中第层级的“其他”下的第层级脆弱性类别是未包含在原分类标准中的。它们是通过分析网络设备脆弱性特征,采用手动方式添加的。例如,“数据处理错误”不属于其他任何脆弱性类别中;但是网络设备中存在此类脆弱性,因此将它归入“其他”类别。脆弱性类别和层次体系如图所示。第期宋子繁,等:基于本体的网络设备脆弱性知识库构建图脆弱性类别和层次体系 定义脆弱性的属性中,缺陷类型、性质不同,属性种类及数量也不同。本文选取具有代表性的 种属性,作为脆弱性的属性,见表。表脆弱性的属性 属性描述 编号 脆弱性类型名称 描述信息 父、子节点的关系 适用平台 被利用的可能性 造成的影响 各阶段缓解缺陷的措施 代码示范例子 已被发现的实例广西大学学报(自然科学版)第 卷 脆弱性本体的存储构建的网络设备脆弱性本体采用关系型数据库 存储,将脆弱性层级关系通过 表中 字段和 字段关联在一起。字段存储脆弱性父类别,字段存储脆弱性子类别。例如,“注入”作为子类别,则父类别为“脆弱性”;“注入”作为子类别,则父类别为“注入”。父类别、子类别关系如表所示。表关系表 子类别父类别注入脆弱性输入验证不正确脆弱性内存范围内的操作不恰当脆弱性信息不足脆弱性其他脆弱性典型缓冲区溢出内存范围内的操作不恰当代码注入注入 注入注入注入注入 注入注入数据处理错误其他凭证管理错误其他密码问题其他不正确比较其他构建网络设备脆弱性数据库脆弱性数据库构建分为脆弱性数据获取和数据处理个部分。脆弱性数据获取 、等权威数据库没有专门的网络设备分类,无法从大量数据中直接获取网络设备数据,网络设备脆弱性数据获取难度较大。针对上述问题,本文通过开发爬虫工具和人工录入种方法来获取脆弱性数据,其中自动化的爬虫工具为主要方式,人工录入为辅助方式。爬虫工具设计爬取 、中网络设备脆弱性数据时,每个脆弱性数据都有唯一 与之对应,因此,可以使用 作为脆弱性数据唯一性的判断依据。在访问相关脆弱性数据过程中,也只需要使用其脆弱性 就能访问到相关脆弱性数据。整个爬取过程中需要维护以下个搜索队列:待爬队列和已爬队列。初始状态下已爬队列为空,待爬队列中只有种子链接。首先取出待爬队列中的链接并加入到已爬队列,获取链接指向的内容(包含新链接和网络设备脆弱性数据)。然后对从内容中解析出数据,并进行持久化存储,内容中不存在于已爬队列的新链接则添加到待爬队列。直到待爬队列为空时,停止爬取。新链接进入待爬队列前,会先检验其是否存在于已爬队列中,如果不存在,则该新链接进入待爬队列。爬取的结束条件并不是仅是待爬队列为空时结束,当待爬队列中的链接数量达到预先设置的一个最大值的时候也会结束爬取。爬虫算法 的具体步骤如下:第期宋子繁,等:基于本体的网络设备脆弱性知识库构建 :初始化待爬队列和已爬队列,添加种子链接到待爬队列,设置最大链接数量 ;:若待爬队列中链接数量小于 ,则遍历待爬队列中所有链接,获取链接指向的内容后,将链接添加到已爬队列。若待爬队列中链接数量大于 ,则算法终止;:解析链接指向的内容,持久化存储解析得到的网络设备脆弱性数据。判断解析得到的新链接是否存在于已爬队列,若存在则丢弃该链接;若不存在则将该链接添加到待爬队列。完成该步骤后,从 开始继续执行,当待爬队列为空时,算法终止。由于脆弱性数据量非常大,单进程的爬虫无法快速爬取大量数据,因此本文设计并发爬虫工具,实现并发数据爬取功能,提高数据爬取效率。并发爬虫工具采用主从模式,即包含主节点和从节点。主节点负责维护整个爬虫的待爬队列以及任务分配工作,从节点负责接受主节点委派任务。每个从节点都需要维护个队列:一个是任务队列,存放主节点分配的链接;另一个是新链接队列,存放爬取获得的链接。从节点的工作方式与 算法描述类似,但当从节点完成了其任务队列后会将其新链接队列合并到主节点的待爬队列。同时,主节点继续将待爬队列的链接委派到各个从节点,由从节点继续爬取新数据。并发爬虫算法 具体步骤如下。:设置单个进程分配的链接数,并发线程数。主节点线程初始化待爬队列和已爬队列,添加种子链接到待爬队列。每个从节点初始化各自的任务队列和新链接队列。设置最大链接数量 ;:若待爬队列中链接数量大于 ,则算法终止;反之则主节点从待爬队列取出个链接,分配给个从节点,每个从节点被分配个链接。从节点接收主节点分配的链接,将链接添加到任务队列;:从节点遍历其任务队列中所有链接,并获取链接指向的内容,然后将链接发送给主节点,主节点将链接添加到已爬队列;:从节点解析链接指向的内容,持久化存储解析得到的网络设备脆弱性数据。解析得到的新链接被添加到其新链接队列,从节点将新链接队列发送给主节点;:主节点接收从节点发送来的新链接队列,然后遍历新链接队列,判断每条新链接是否存在于已爬队列,若不存在则将该链接添加到待爬队列,存在则丢弃。完成该步骤后,从 开始继续执行,当待爬队列为空时,算法终止。人工录入人工录入用于扩充设备脆弱性数据库。为使脆弱性数据库中的数据尽可能完整丰富,需要从 、等权威数据库以及第三方脆弱性数据库检索网络设备脆弱性数据,人工录入脆弱性数据库。数据处理数据处理的方法分为以下种:补全数据、删除数据。通过 节中的方法得到了脆弱性数据,但部分数据的脆弱性类别属性采用 分类标准,与本文所使用的标准不同,因此,无法直接将脆弱性数据与本文定义的脆弱性类别及层次体系关联起来。针对该问题,需要使用补全数据的方法来处理数据。初步得到的脆弱性数据包含 编号,在 中检索 编号可以得到脆弱性数据对应的编号,就能与具体的脆弱性类别对应起来,从而将脆弱性数据与建立的脆弱性类别及层次体系关联起来。因为重复数据只需要保留一条,而缺少关键属性的数据无法进行关联规则挖掘,所以处理重复数据和缺少 编号、受影响设备等关键属性的数据时,采用删除数据的方法来处理数据。数据处理完成后,共得到数据 条。网络设备脆弱性数据库如图所示。广西大学学报(自然科学版)第 卷图网络设备脆弱性数据库 基于本体的关联规则挖掘 算法是一种具有良好性能的经典关联规则挖掘算法,挖掘数据潜在规律对于决策制定具有重要参考价值。算法不足 算法有个主要实现步骤:扫描、计数、比较、产生频繁项集、连接、剪枝、产生强关联规则。本文构建的脆弱性数据库包含大量无粒度、无层级的数据,但网络设备脆弱性存在概念上的层级关系。算法通过迭代获取频繁项集,并过滤掉不满足最小支持度的项集。上述种原因会造成关联分析时的信息丢失,可能会造成潜在的关联规则无法被发掘。例如,分析某一型号网络设备上“注入”与“内存范围内的操作不恰当”之间的关系,而脆弱性数据库中仅存在“注入”“典型缓冲区溢出”“越界写入”等脆弱性数据。参照图可知,“注入”属于第层脆弱性类别,为第层脆弱性“内存范围内的操作不恰当”的子类别。“典型缓冲区溢出”和“越界写入”属于第层脆弱性类别。由于脆弱性类别的支持度不够,因此可能挖掘不到“注入”与“内存范围内的操作不恰当”之间的关联关系。基于本体的关联规则挖掘由于关联规则挖掘时存在 算法的不足,因此本文提出基于网络设备脆弱性本体的关联规则挖掘方法。通过引入脆弱性领域语义知识,在数据挖掘的数据预处理阶段,基于网络设备脆弱性本体,在多层泛化的基础上进行挖掘,即将数据库中低层级的脆弱性数据提升为高层级的脆弱性数据,从而提高项集支持度,进而得到更多有意义的潜在关联规则。第期宋子繁,等:基于本体的网络设备脆弱性知识库构建具体实现时,需在挖掘关联规则前,遍历网络设备脆弱性数据库中的所有数据,筛选出所有脆弱性类别是第层的数据。通过网络设备脆弱性本体,将这些位于第层脆弱性类别的数据提升为其对应的第层脆弱性类别。如数据库中存在一条 编号为 的数据,显示网络设备 存在 类别的脆弱性,通过表可以得出 为“典型缓冲区溢出”。通过图可知其属于第层脆弱性类别,根据表可得出其父类别为“内存范围内的操作不恰当”,因此可将“典型缓冲区溢出”更改为其第层脆弱性类别,即“内存范围内的操作不恰当”,从而提高了“内存范围内的操作不恰当”的支持度,最后就可能出现与其有关的关联规则。实验与结果分析实验以网络设备脆弱性数据库为数据源,基于网络设备脆弱性本体进行网络设备和脆弱性关联规则挖掘,包含网络设备关联规则挖掘和脆弱性关联规则