一种基于用户画像的内部威胁预警方法
技术领域
本发明涉及电通信领域,尤其涉及一种基于用户画像的内部威胁预警方法。
背景技术
除了传统的主机和网络行为数据之外,内部威胁研究人员越来越多的探索用户内在特征数据与内部威胁的联系。在现实网络环境中,用户的性格、经历可能大不相同,用户类型多种多样,特提出使用层次聚类的方法队用户进行内在特征属性的画像,层次聚类无需事先指定聚类数目,并且能够根据需要表现数据的层次关系,在用户画像领域中能够发现用户间的层次关系。用户画像领域中,用户存在定性和定量两种不同类型的数据,而传统的层次聚类算法中,属性相似度计算大多使用单一的度量方式,如直接应用于用户画像领域的异构数据会导致聚类效果不精确,画像效果不准确,特提出定量和定性数据综合计算的属性相似度计算方法。
发明内容
本发明的目的在于提供一种基于用户画像的内部威胁预警方法,旨在解决现有方法画像效果和聚类效果的精准性较低的问题。
为实现上述目的,本发明提供了一种基于用户画像的内部威胁预警方法,包括:获取数据并进行预处理,得到内在特征数据;基于内在特征数据使用层次聚类方法进行用户画像,得到用户组;对于所述用户组,在发生内部威胁攻击时进行预警。
其中,所述获取数据并进行预处理,得到内在特征数据的具体步骤为:获取实验数据;基于spark平台采用用户名为关键词并行化提取数据集中每个用户对应的内在数据;对于每个用户,提取对应的内在特征属性数据,并归一化处理。
其中,所述实验数据采用卡内基·梅隆大学的CERT部门提出的内部威胁测试数据集。
其中,所述内在特征属性数据包括业务属性数据和个人属性数据。
其中,所述业务属性数据包括角色、项目、业务单元、功能单元、部门、小组和所属主管,所述个人属性数据包括开放性、责任性、外倾性、宜人性和情绪性。
其中,所述使用层次聚类方法进行用户画像,得到用户组的具体步骤为:对于个人属性数据,基于欧式距离计算第一属性相似度;对于业务属性数据,基于相同程度计算第二属性相似度;基于第一属性相似度和第二属性相似度计算总属性相似度;基于轮廓系数确定层次聚类的最终用户组数。
本发明的一种基于用户画像的内部威胁预警方法,包括获取数据并进行预处理,得到内在特征数据;基于内在特征数据使用层次聚类方法进行用户画像,得到用户组;对于所述用户组,在发生内部威胁攻击时进行预警。针对内部用户存在多样性的问题,提出使用层次聚类作为内部用户画像的方法,提高了画像效果的精准性,针对用户内在特征数据存在定量和定性两种不同类型的数据,传统的聚类算法大多使用欧氏距离或者余弦相似度等单一的相似度度量方式,不能很好的应用于用户画像中,提出对定量和定性数据分别计算属性相似度并加权求和的方式作为相似度度量方法,提高了聚类效果的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的第一攻击者分布图;
图2是本发明的第二攻击者分布图;
图3是本发明的一种基于用户画像的内部威胁预警方法的流程图;
图4是本发明的获取数据并进行预处理,得到内在特征数据的流程图;
图5是本发明的基于内在特征数据使用层次聚类方法进行用户画像,得到用户组的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
请参阅图1~图5,本发明提供一种基于用户画像的内部威胁预警方法,包括:
S101获取数据并进行预处理,得到内在特征数据;
具体步骤为:
S201获取实验数据;
实验所用的数据集是采用卡内基·梅隆大学的CERT部门提出的内部威胁测试数据集——CERT-IT数据集。该数据集存在多个版本,从r1到r6,本文采用r5.2版本。CERT数据集由多个文件组成,这些文件包含组织中员工行为的日志。logon.csv,http.csv,email.csv,device.csv,psychometric.csv包含登录,注销,网站访问,电子邮件,将文件复制到可移动磁盘,连接可移动磁盘和断开连接的时间和行为,有关员工心理测验的分数,以及一个包含用户职位,部门,工作期和参与项目的LDAP文件。本文采用其中的职位信息LDAP文件和用户大五人格测试分数文件Psychometric.csv作为实验数据。
S202基于spark平台采用用户名为关键词并行化提取数据集中每个用户对应的内在数据;
Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeleyAMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。Spark是在Scala语言中实现的,它将Scala用作其应用程序框架。与Hadoop不同,Spark和Scala能够紧密集成,其中的Scala可以像操作本地集合对象一样轻松地操作分布式数据集。尽管创建Spark是为了支持分布式数据集上的迭代作业,但是实际上它是对Hadoop的补充,可以在Hadoop文件系统中并行运行。通过名为Mesos的第三方集群框架可以支持此行为。Spark由加州大学伯克利分校AMP实验室(Algorithms,Machines,and People Lab)开发,可用来构建大型的、低延迟的数据分析应用程序。
S203对于每个用户,提取对应的内在特征属性数据,并归一化处理。
针对单个用户,所述内在特征属性数据包括业务属性数据和个人属性数据。提取对应的内在特征属性数据,经过处理后得到的总共15个特征,所述业务属性数据包括角色、项目、业务单元、功能单元、部门、小组和所属主管,所述个人属性数据包括开放性、责任性、外倾性、宜人性和情绪性。
特征如表1所示:
表1
S102基于内在特征数据使用层次聚类方法进行用户画像,得到用户组;
本文采用基于改进的属性相似度计算方式的层次聚类算法来对用户进行画像。层次聚类的基本思想是:先将各个样本各看成一类,然后规定类与类之间的距离,选择距离最小的一对合并成新的一类,然后再根据类间聚类准则函数计算新的类别与其他类之间的距离,再将距离最小的两个类别数据合并,这样每次合并减少一类,直到最后所有的样本合并同一类或者是合并到指定的类别数为止。
内部威胁用户画像中存在数据量大、数据异构的问题,而层次聚类由于其距离和规则的相似度容易定义、限制少,对大样本数据效果较好,所以将层次聚类用于内部威胁用户中有可行性。同时由于用户的多样性以及具有层次性的关系,使用不需要预先指定聚类数的和能发现类的层次关系的层次聚类方法能够更好的完成人物画像。
具体步骤为:
S301对于个人属性数据,基于欧式距离计算第一属性相似度;
设用户A、用户B的人物属性的大五人格得分为:dscoreA=[OA,CA,EA,AA,NA]、dscoreB=[OB,CB,EB,AB,NB],其中O、C、E、A、N分别代表开放性、责任性、外倾性、宜人性和情绪性的取值,则个人属性的属性相似度计算如下公式所示。
S302对于业务属性数据,基于相同程度计算第二属性相似度;
假设转换后的用户A和用户B的定性数据分别为dbusA=[a1,a2,a3,a4,a5,a6],dbusB=[b1,b2,b3,b4,b5,b6]。设dbusA、dbusB同一下标时数据相同的个数为num,并计算num,n表示业务属性的特征个数。则定性数据的相似度计算公式如下公式所示。
S303基于第一属性相似度和第二属性相似度计算总属性相似度;
计算两个用户总的属性相似度,通过对其定量数据和定性数据的属性相似度加权计算得到,计算方式如下公式所示。
其中λ为权值。
通过对两种属性相似度加权求和的方式,可以解决不同类型数据的属性相似度计算的问题,提高聚类效果的准确性,同时还能根据业务的需求通过改变权值来动态改变不同类型数据对聚类分析结果的影响,提高聚类的算法的可适应性。
S304基于轮廓系数确定层次聚类的最终用户组数。
在聚类算法中,聚类种数K的选取至关重要,合适的K能使聚类效果更具有代表性。因此,本文使用轮廓系数的方法来确定层次聚类的最终分组数K。
轮廓系数的计算流程如下:
对于第i个对象,计算它所到所属簇中所有其他对象的平均距离,记为ai(体现它的凝聚度)
对于第i个对象和不包含本身的其他簇的所有点的平均距离,记为bi(体现他的分离度)
第i个对象的轮廓系数为li=(bi-ai)/max(ai,bi)
轮廓系数的取值范围为[-1,1],li越接近1,说明样本i聚类结果越合理,li越接近-1,则说明样本i聚类结果越不合理,其更该被分配到其他簇中。
对于聚类分组数为K时的总轮廓系数的计算公式如下式所示:
n是总的样本数量。
由于在实际业务中,聚类种数过大,会导致各组中用户数量太小,便失去了用户聚类的意义;而聚类种数过小,则会导致各组中用户数量太多,加大了共同监管难度,所以本文选择K在[20,40]的范围内取值去寻找最合理的值。
S103对于所述用户组,在发生内部威胁攻击时进行预警。
对于上一部分层次聚类分析得到的用户组,在发生内部威胁攻击时,加大对同组用户的监管力度,实现提前发现攻击和预防攻击的效果,达到提前预警的作用。如使用GAN网络做异常检测时,当检测出用户某一行为的异常得分(由重构误差得出)超过了异常阈值,即判定为异常行为,则加大对该组的其他用户的异常检测的威胁程度,使用户真正的攻击行为得到的异常等级能远远大于设定的阈值,提高检测精度;并且由于攻击大多不是突然发生的,都有攻击的前序动作,所以在加大检测结果的威胁程度后能够使原本未超过异常阈值的异常攻击的前序动作能够被检测出来,达到威胁预警的效果。
基于层次聚类的用户画像方法有效性验证:有效性主要从聚类后攻击者的在各组的分布以及结合攻击行为的时间来验证。
实验选取了七月的用户内在特征数据和攻击行为数据做验证。第一攻击者分布图如图1所示。
从图中可以看到,0#分组中包含有12名攻击者,占总攻击者的41%,4#分组中各有5名攻击者,占总攻击者的17%。所以从图中可以看出,大多数的内部威胁攻击者在内在特征方面存在着相似性,通过用户画像方法,可以发现类似的攻击用户,为内部威胁预警提供依据。
同时,我们可以把7月的攻击者的破坏行为排列出来,并结合攻击者所在的组画出数据表,结果如下表所示:
从表中可以看出,绝大多数的攻击者在同一个组里。如在检测出KEW0198出现内部威胁后,加大对DAS1320的监管力度,如加大用户异常检测时异常行为的权值或者提高该用户行为异常检测结果的威胁程度,这样会使用户真正的攻击行为和攻击前序行为都能够比单一的使用内部威胁检测算法得到的结果更为突出,能够使系统安全管理人员能够更及时的预警且重视威胁行为,防止组织产生更大的损失。
基于层次聚类的用户画像方法优越性验证:实验选取K-means算法作比较
实验选取了七月的用户内在特征数据和攻击行为数据做验证。并得到如图2所示的第二攻击者分布图。
并同样把7月的攻击者的破坏行为排列出来,并结合攻击者所在的组画出数据表,结果如下表所示。
从以上图表可以看出,虽然K-means算法能够对用户较为均衡的分组,但对于异常用户没有很好的分于同一组,无法实现共同监管、提前预警的作用,也证明了本方法的优越性。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于场景特征的动态IP定位聚类方法