漏洞库数据挖掘论文

时间:2022-03-26 03:16:14

漏洞库数据挖掘论文

1基础概念介绍

1.1数据挖掘

数据挖掘(DM)融合了多个领域的理论和技术,如人工智能、数据库、模式识别、统计学等技术。数据挖掘常与数据库中的“知识发现”(KDD,KnowledgeDiscoveryinDatabase)进行比较,对于两者之间的关系,学术界有很多不同见解。数据挖掘属于整个知识挖掘过程的一个核心步骤。

1.2信息安全漏洞

漏洞(Vulnerability),又称为缺陷。对信息安全漏洞的定义最早是在1982年,由美国著名计算机安全专家D.Denning提出,D.Longley等人从风险管理的角度分三个方面描述漏洞的含义,M.Bishop等人采用状态空间描述法定义漏洞,权威机构如美国NIST在《信息安全关键术语词汇表》以及国际标准化组织的ISO/IEC《IT安全术语词汇表》中也对漏洞进行定义。世界上比较较知名的漏洞数据库包括美国国家漏洞库NVD(NationalVulnerabilityDatabase)、丹麦的Secunia漏洞信息库等,我国在2009年也建成了中国国家信息安全漏洞库CNNVD。本文选取Secu-nia漏洞库的漏洞数据作为样本进行数据挖掘。

2数据挖掘算法

2.1数据挖掘任务

数据挖掘任务主要是发现在数据中隐藏的潜在价值。数据挖掘模式主要分为两种:描述型和预测型。描述模式是对历史数据中包含的事实进行规范描述,从而呈现出数据的一般特性;预测模式通常以时间作为参考标准,通过数据的历史值预测可能的未来值。依照不同的模式特征,细分六类模式:预测模式、关联模式、序列模式、分类模式、回归模式以及聚类模式。本文主要针对关联模式进行深入探讨。

2.2关联规则分析及算法

关联规则算法是指相关性统计分析,基于分析离散事件之间的相关性统计而建立关联规则,关联规则算法是定量分析,所以必须将样本中的数据进行离散化操作,此算法是基于大量数据样本的优化算法。

(1)关联算法中的几个基本概念

关联规则算法包含4个基本概念项集。项集是一组项的集合,每个项都包含一个属性,例如,项集{A,B}。项集的大小是指向集中含有项的数量。频繁项集为样本中出现频率高的项集。支持度。支持度用来衡量项集出现的频率。项集{A,B}的支持度定义为同时包含项A和项B的项集的总数。

(2)Apriori关联算法

Apriori算法将发现关联规则的过程分为两个阶段:首先通过迭代,检索出数据集中所有的频繁项集,即支持度不低于最小支持度的项集;第二阶段利用频繁项集构造满足最小信任度的规则。

3运用关联规则算法挖掘Secunia漏洞数据库

Secunia漏洞库覆盖范围包含程序和系统中的各种漏洞。该数据库持续更新体现最新的漏洞信息。Secunia漏洞公告主要包括:漏洞名称、Secunia公告号、日期、漏洞等级、漏洞来源、影响范围、操作系统版本等。以Secunia漏洞库中的信息为样本,构建关联挖掘规则,反映出漏洞信息在不同系统中的关联性。

3.1构建关联规则

(1)挖掘任务

通过历史漏洞信息,挖掘分析不同软件出现同类型漏洞的概率。

(2)挖掘结构

结合挖掘任务,数据挖掘关联表为事例表结合嵌套表的方式。建立漏洞表Vulnerabilities,此表为事例表,漏洞id作为主键。嵌套表为Softwares表,记录软件名和软件版本类型,软件id作为两张表进行关联的外键。

3.2关联规则挖掘结果

通过采集的Secunia库的数据作为样本,应用Apriori算法模型。依据最低支持度(Min_S)和最低置信度(Min_P)的阈值,形成相应的规则集。通过调整Min_S和最低Min_P的值,得到如表1所示的值。通过上述例子可以看出,当关联规则的置信度越高、重要度越高,则该条关联规则的价值越高,根据具体情况,可以设置最低置信度和最小重要度作为该条规则是否有价值的标准,即(Confidence(A→B)min,Importance(A→B)min),根据对置信度和重要的综合考虑,可以得出价值更高的关联规则,从而对信息安全事件有更好的预警分析。

4结语

本文主要研究了基于Secunia漏洞库的关联规则挖掘算法。介绍了数据挖掘的相关概念、关联规则相关算法、Secunia漏洞库的基本信息。以Secu-nia漏洞库的数据为样本进行关联规则挖掘,分析了漏洞与软件关系的关联规则,建立了不同软件中出现相关漏洞的联系。如今,世界各国都在建立信息安全漏洞库并信息安全漏洞信息,将漏洞信息与数据挖掘结合,可以对信息安全事件进行提前预警,具有重要而且长远的意义。

作者:周密宋晨阳蒋丹婷单位:上海通用识别技术研究所