本发明属于网络信息安全技术领域,具体涉及一种基于异常检测和情感分析的内部威胁分析方法及系统。
背景技术:
随着信息化数据时代的来临,网络安全越来越受到企业和政府的重视。在通常情况下,安全从业者习惯于将资源用于对抗外部威胁,如ddos(分布式拒绝服务攻击)、apt(高级持续性威胁)、方程式漏洞、后门植入以及病毒攻击,并建立了诸如防火墙技术、杀毒软件和入侵检测系统这样的防护手段。然而,相较于外部攻击,内部威胁所产生的危害以及因此而带来的财产损失甚至更大,且防护起来更为复杂。具体地,内部威胁是指企业内部人员利用合法获得的访问权限对数据库和信息系统中信息的机密性、完整性以及可用性所造成的难以挽救的破坏,并带来巨大的损失。
常见的内部威胁有信息系统破坏、信息窃取和电子欺诈,其中,信息系统破坏一般指系统管理员、数据库管理员以及程序员等技术人员因自身诉求未得到满足而恶意破坏企业系统的正常运行,例如入侵目标服务器、删除关键数据及备份以及放置逻辑炸弹;信息窃取一般指企业内部人员为谋求更好发展前途,利用自己合法的数据访问权限通过秘密拷贝到移动存储设备或邮件发送的方式将高价值企业内部信息带出企业;电子欺诈一般指企业内部人员由于经济因素等原因对数据进行篡改、身份盗取等一系列信息欺诈行为。
内部威胁危害严重、且具有不确定性和难以防护的特点,使得国内外安全领域专家针对内部威胁进行了一系列研究,例如基于特征的检测技术、基于隐式马尔可夫模型的内部威胁预测、基于图挖掘技术的内部威胁预测、基于孤立森林算法的内部威胁预测以及基于lstm(长短记忆法)的内部威胁预测。
然而,传统的特征模式匹配检测不能识别未知攻击,又极其依赖于特征库的建立,新兴的基于机器学习的异常检测技术仅依赖于数据挖掘技术,自动检测数据出异常并发出预警,但是它们在应用到内部威胁检测时效果却不太理想,模型的召回率比较低,且误报率通常很高。这是因为内部威胁主要是由企业内部人员所造成,他们对企业内部管理结构了解比较清楚,本身又具有不同等级的安全和管理权限,而且内部员工的异常行为识别又会受到其他员工正常行为变化的干扰,甚至还有些是威胁或破坏是员工无意中所导致,所以单纯地通过特征模式匹配或者异常检测技术不能完全适用于内部威胁分析,这使得内部威胁逐渐成为一个令人担忧而又难以妥善解决的一个难题。
技术实现要素:
本发明的目的在于,为解决现有技术存在上述缺陷,本发明提出了一种基于异常检测和情感分析的内部威胁分析方法,该方法采用异常检测和情感分析,对企业内部安全进行分析,有效解决内部威胁检测率低、召回率低和误报率高的问题。
为了实现上述目的,本发明提供了一种基于异常检测和情感分析的内部威胁分析方法,该方法包括:
对实时采集企业内部用户的历史行为日志数据进行预处理,获得用户多维行为描述数据流;
对实时采集的企业内部用户的情感分析数据进行预处理,获得用户情感描述数据流;
根据用户多维行为描述数据流,构建用户特征向量
根据用户情感描述数据流,构建用户情感向量
输出获得的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2。
作为上述技术方案的改进之一,所述方法还包括:根据输出的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2,对每一位用户可能带来的安全隐患程度以及每一位用户可能产生的行为特征变化情况进行展示。
作为上述技术方案的改进之一,所述对实时采集企业内部用户的历史行为日志数据进行预处理,获得用户多维行为描述数据流;具体包括:
在不违背法律和侵犯用户个人隐私的情况下,实时采集企业内部用户的行为日志数据,对所采集到的用户行为日志数据按照用户id和时间戳提取每一位用户在每个小时内的所有活动数据,获得用户多维行为描述数据流。
作为上述技术方案的改进之一,所述企业内部用户的行为日志数据包括:企业内部的每一位用户的设备登录情况、外部设备使用情况、电子邮件收发情况、网页浏览情况和文件读写情况;每个活动数据包括:活动名称、时间戳、用户id、设备id和活动属性;
具体地,所述设备登录情况包括:每位用户的登入和登出;所述外部设备使用情况包括:连接和断开;所述电子邮件收发情况包括:发送和浏览;所述网页浏览情况包括:访问、上传、下载、读、写和删除;所述文件读写情况包括:复制、删除和粘贴。
作为上述技术方案的改进之一,所述对实时采集的企业内部用户的情感分析数据进行预处理,获得用户情感描述数据流;具体包括:
在不违背法律和侵犯用户个人隐私的情况下,实时采集企业内部用户情感数据,对所采集到的企业内部用户的情感分析数据按照用户id和时间戳提取每一位用户在每一小时的所有情感数据,获得用户情感描述数据流。
作为上述技术方案的改进之一,所述企业内部用户情感数据包括:薪水变化信息、办公室异常行为、金融问题、职位变更信息和工作内容变动信息。
作为上述技术方案的改进之一,基于用户特征向量
使用训练数据的所有用户特征向量数据
其中,
使用随机梯度下降方法来训练变分自编码器,所优化的参数包括:编码函数参数φ、解码函数参数θ;
该模型的输入为用户特征向量
作为上述技术方案的改进之一,所述基于用户情感向量
利用用户特征向量
具体地,统计每一位用户的第二异常得分t2:
其中,
其中,
基于上述方法,本发明还提供了一种基于异常检测和情感分析的内部威胁分析系统,该系统包括:
第一数据采集模块,用于对实时采集企业内部用户的历史行为日志数据进行预处理,获得用户多维行为描述数据流;
第二数据采集模块,用于对实时采集的企业内部用户的情感分析数据进行预处理,获得用户情感描述数据流;
数据预处理模块,用于根据用户多维行为描述数据流,构建用户特征向量
构建异常检测模型模块,用于基于用户特征向量
构建统计分析模型模块,用于基于用户情感向量
检测输出模块,用于输出获得的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2。
作为上述技术方案的改进之一,所述系统还包括:
展示模块,用于根据输出的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2,对每一位用户可能带来的安全隐患程度以及每一位用户可能产生的行为特征变化进行展示。
本发明的优点在于:
本发明的方法综合考虑了异常检测技术和用户情感分析;基于变分自编码器的异常检测可以很好地挖掘每一位用户的行为特征分布,基于重构概率的第一异常得分能够对每一用户进行综合评估,使得检测地准确率大为提高;另外,基于情感分析的模型可以结合用户情感变化所带来的影响,并且基于统计手段的第二异常得分对用户的每一个行为特征进行评估,这有利于安全专家做归因分析,这大大地降低了误报率。
附图说明
图1是本发明的一种基于异常检测和情感分析的内部威胁分析系统的结构示意图。
具体实施方式
现结合附图对本发明作进一步的描述。
如图1所示,本发明提供了一种基于异常检测和情感分析的内部威胁分析方法,该方法包括:
步骤1)对实时采集企业内部用户的历史行为日志数据进行预处理,获得用户多维行为描述数据流;
具体地,在不违背法律和侵犯用户个人隐私的情况下,实时采集企业内部用户的行为日志数据,对所采集到的用户行为日志数据按照用户id和时间戳提取每一位用户在每个小时内的所有活动数据,获得用户多维行为描述数据流;
其中,所述企业内部用户的行为日志数据包括:企业内部的每一位用户的设备登录情况、外部设备使用情况、电子邮件收发情况、网页浏览情况和文件读写情况;每个活动数据包括:活动名称、时间戳、用户id、设备id和活动属性。
具体地,所述设备登录情况包括:每位用户的登入和登出;所述外部设备使用情况包括:连接和断开;所述电子邮件收发情况包括:发送和浏览;所述网页浏览情况包括:访问、上传、下载、读、写和删除;所述文件读写情况包括:复制、删除和粘贴。
步骤2)对实时采集的企业内部用户的情感分析数据进行预处理,获得用户情感描述数据流;
具体地,在不违背法律和侵犯用户个人隐私的情况下,实时采集企业内部用户情感数据,对所采集到的企业内部用户的情感分析数据按照用户id和时间戳提取每一位用户在每一小时的所有情感数据,获得用户情感描述数据流。
所述企业内部用户情感数据包括:薪水变化信息、办公室异常行为、金融问题、职位变更信息和工作内容变动信息。
将采集到的用户行为日志数据和用户情感数据按时间划分为训练数据和测试数据,使用历史数据作为训练数据,当前或未来数据作为测试数据;
需要注意的是:本发明的技术方案分为两个阶段,一是训练过程,一个是测试过程,训练过程使用训练数据,测试过程使用测试数据。
步骤3)根据用户多维行为描述数据流,构建用户特征向量
其中下标t表示时间,按每小时进行划分。具体地:
其中,newpc为使用新电脑的次数;logon为登录的次数;logonah为非工作时间登录的次数;connect为使用外部存储设备(usb)的次数;connectah为非工作时间使用外部存储设备(usb)的次数;http为网页浏览次数;email为内部邮件收发次数;emaile为外部邮件收发次数;copy为文件拷贝次数;exe为可执行文件下载次数;
所述异常检测模型的构建具体包括:
使用训练数据的所有用户特征向量数据
其中,
该模型的输入为用户特征向量
具体地,变分自编码器的架构类似于自编码器,但是确是一种有向的概率图模型,可以模拟数据的原始概率分布。
令
其中,pθ(z)为隐变量z的先验概率分布;
在异常检测模型中,设置隐变量z的先验概率分布为多元高斯分布,且其协标准差矩阵为对角矩阵,均值向量和标准差向量为别记为μz和σz,即
z~n(μz,σz),n(μz,σz)表示均值和标准差为μz和σz的多元高斯分布。
然后,我们使用多层神经网络来模拟编码函数
然后,使用随机梯度下降方法来训练变分自编码器,所优化的参数包括编码函数参数φ、解码函数参数θ。
然后,逐一计算每一个用户特征向量
1、给定用户特征向量,计算隐变量z的先验概率分布的均值和标准差:
2、从分布z~n(μz,σz)中采样l个隐变量:z1,z2,…,zl;
3、计算用户特征向量
4、计算用户特征向量的重构概率:
然后针对每一用户,统计训练数据中所有用户特征向量
然后计算第一异常得分值t1:
基于变分自编码器的异常检测模型,该模型的输入为用户特征向量
步骤4)根据用户情感描述数据流,构建用户情感向量
具体地,利用用户特征向量
其中,
其中,
则可能受到影响的用户行为特征包括:邮件收发行为、外部设备连接行为、非工作时间登录行为以及网络浏览行为;
αi,i=1,2,3,4,5,表示上述五种情感因素相应的权重;即α1为
αi,i=1,2,3,4的初始值均为0,如果出现相应情况则被赋值为1;例如,如果用户薪水发生下降,则α1被赋值为1;如果用户发生异常办公室行为,则α2被赋值为1;如果用户遇到金融问题,则α3被赋值为1;如果用户职位发生重大变更,例如降职、停职以及合同到期,则α4被赋值为1;α5的初始值亦被设置为0,但如果用户工作内容发生增多或减少,则被赋值为-1,这是因为用户工作内容发生变化所带来的对用户行为特征的影响是正面的;
具体地,统计分析模型不仅仅利用用户特征向量
其输入为用户特征向量
1、针对每一位用户,统计训练数据中所有用户特征向量
2、统计用户特征向量
3、统计用户第二异常得分:
其中,
其中,
步骤5)输出获得的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2。
所述方法还包括:步骤6)根据输出的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2,对每一位用户可能带来的安全隐患程度以及每一位用户可能产生的行为特征变化进行展示。
基于上述方法本发明还提供了一种基于异常检测和情感分析的内部威胁分析系统,该系统包括:
第一数据采集模块,用于对实时采集企业内部用户的历史行为日志数据进行预处理,获得用户多维行为描述数据流;
第二数据采集模块,用于对实时采集的企业内部用户的情感分析数据进行预处理,获得用户情感描述数据流;
数据预处理模块,用于根据用户多维行为描述数据流,构建用户特征向量
构建异常检测模型模块,用于基于用户特征向量
构建统计分析模型模块,用于基于用户情感向量
检测输出模块,用于输出获得的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2。
所述系统还包括:展示模块,用于根据输出的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2,对每一位用户可能带来的安全隐患程度以及每一位用户可能产生的行为特征变化进行展示。
实施例1、
为了更好地说明本技术方案的优点和执行方式,下面结合卡耐基梅隆大学内部威胁研究中心的一个内部威胁数据集合cmu-cert对本发明做进一步的阐述。内部威胁数据集合cmu-cert包含企业内部4000名用户500天的所有活动记录。该数据集合模拟了恶意内部人员实施的系统破坏、信息窃取与内部欺诈三类主要的攻击行为数据以及大量的正常背景数据,记录了用户的工作岗位以及工作部门信息,涉及多个维度的用户行为数据,如文件访问行为记录、邮件收发记录、设备使用情况、http网页访问情况以及系统登录等行为,提供了企业内部用户全面的行为观测数据。具体执行流程如下:
步骤10)选取id为cmp2946和cde1846的用户进行试验,根据cmu-cert中的异常行为标签,这两个用户在前90天的数据中不包含攻击数据,因此,我们选取前90天的数据作为训练数据,剩下410天的数据作为测试数据;实时采集企业内部的每一位用户行为日志数据和用户情感分析数据;
步骤11)对步骤10)中所采集到的用户行为日志数据按照用户id和时间戳提取每一位用户在每个小时内的所有活动数据,生成用户多维行为描述数据流;对步骤10)中所采集到的用户情感分析数据按照用户id和时间戳提取每一位用户在每一小时的所有情感数据,生成用户情感描述数据流;
步骤12)使用步骤11)中的用户多维行为描述数据流,构建用户特征向量
newpc,使用新电脑的次数;
logon,登录的次数;
logonah,非工作时间登录的次数;
connect,使用外部存储设备(usb)的次数;
connectah,非工作时间使用外部存储设备(usb)的次数;
http,网页浏览次数;
email,内部邮件收发次数;
emaile,外部邮件收发次数;
copy,文件拷贝次数;
exe,可执行文件下载次数;
其中,
则可能受到影响的用户行为特征包括:邮件收发行为、外部设备连接行为、非工作时间登录行为以及网络浏览行为;
αi,i=1,2,3,4,5,表示上述五种情感因素相应的权重;即α1为
αi,i=1,2,3,4的初始值均为0,如果出现相应情况则被赋值为1;例如,如果用户薪水发生下降,则α1被赋值为1;如果用户发生异常办公室行为,则α2被赋值为1;如果用户遇到金融问题,则α3被赋值为1;如果用户职位发生重大变更,例如降职、停职以及合同到期,则α4被赋值为1;α5的初始值亦被设置为0,但如果用户工作内容发生增多或减少,则被赋值为-1,这是因为用户工作内容发生变化所带来的对用户行为特征的影响是正面的;
其中,统计分析模型不仅仅利用用户特征向量
1、针对每一位用户,统计训练数据中所有用户特征向量
2、统计用户特征向量
3、统计用户第二异常得分:
其中,
其中,
步骤13)基于步骤12)获得的用户特征向量
具体地,所述步骤13)包括:
步骤13-1)使用所述用户特征向量数据
其中,
该模型的输入为用户特征向量
具体地,变分自编码器的架构类似于自编码器,但是确实一种有向的概率图模型,可以模拟数据的原始概率分布。
令
其中,pθ(z)为隐变量z的先验概率分布;
在异常检测模型中,设置隐变量z的先验概率分布为多元高斯分布,且其协标准差矩阵为对角矩阵,均值向量和标准差向量为别记为μz和σz,即
z~n(μz,σz),n(μz,σz)表示均值和标准差为μz和σz的多元高斯分布。
然后,我们使用多层神经网络来模拟编码函数
然后,使用随机梯度下降方法来训练变分自编码器,所优化的参数包括编码函数参数φ、解码函数参数θ。
然后,计算逐一计算每一个用户特征向量
1、给定用户特征向量,计算隐变量z的先验概率分布的均值和标准差:
2、从分布z~n(μz,σz)中采样l个隐变量:z1,z2,…,zl;
3、计算用户特征向量
4、计算用户特征向量的重构概率:
然后针对每一用户,统计训练数据中所有用户特征向量
然后计算第一异常得分值t1:
基于变分自编码器的异常检测模型,该模型的输入为用户特征向量
步骤13-2)统计分析模型不仅仅利用用户特征向量
1、针对每一位用户,统计训练数据中所有用户特征向量
2、统计用户特征向量
3、统计用户第二异常得分:
其中,
其中,
步骤14)输出获得的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2。
所述方法还包括:步骤15)根据输出的每一位用户的第一异常得分t1和每一位用户的第二异常得分t2,对每一位用户可能带来的安全隐患程度以及每一位用户可能产生的行为特征变化进行展示。
本发明的方法从异常检测和情感分析两个角度出发,在不违反法律和用户隐私的情况下对企业内部威胁问题进行了分析,提出了一种结合异常检测和情感分析的企业内部威胁分析方法及系统。本发明采用基于概率图生成模型的变分自编码器模型来学习数据的隐藏分布,然后基于重构概率来计算异常得分值,这比传统高斯混合模型更能挖掘数据的原始分布,且不拘泥于深度学习网络层的选择,既可以使用一般的多层感知机,也可以使用适用于时间序列分析的lstm(长短记忆单元)层。本发明的方法不仅从整体上对每一位用户进行了评估,还对用户的每一个行为特征进行了考虑,方便安全专家进一步分析用户产生威胁的原因,进而降低误报率。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。