CN106790008B - 用于在企业网络中检测异常主机的机器学习系统 - Google Patents

用于在企业网络中检测异常主机的机器学习系统 Download PDF

Info

Publication number
CN106790008B
CN106790008B CN201611144494.6A CN201611144494A CN106790008B CN 106790008 B CN106790008 B CN 106790008B CN 201611144494 A CN201611144494 A CN 201611144494A CN 106790008 B CN106790008 B CN 106790008B
Authority
CN
China
Prior art keywords
host
data
stage
subsystem
machine learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611144494.6A
Other languages
English (en)
Other versions
CN106790008A (zh
Inventor
冯望烟
吴淑宁
张立钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Zhong Zhong Information Technology Co Ltd
Original Assignee
Zhejiang Zhong Zhong Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Zhong Zhong Information Technology Co Ltd filed Critical Zhejiang Zhong Zhong Information Technology Co Ltd
Priority to CN201611144494.6A priority Critical patent/CN106790008B/zh
Publication of CN106790008A publication Critical patent/CN106790008A/zh
Application granted granted Critical
Publication of CN106790008B publication Critical patent/CN106790008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于在企业网络中检测异常主机的机器学习系统。所述机器学习系统包括数据收集子系统、数据处理子系统、三阶段机器学习子系统和标记报警子系统,所述四个子系统顺次衔接,所述数据收集子系统收集企业网络中各类安全信息后,传递给所述数据处理子系统,所述数据处理子系统对数据进行标准化和特征提取处理后,将特征向量传递给所述三阶段机器学习子系统,所述三阶段机器学习子系统对安全信息进行逐级求精的甄别和筛选,将异常主机的信息传递给所述标记报警子系统,所述标记报警子系统对异常主机进行标记,对达到报警要求的异常主机和安全事件进行报警。所述机器学习系统能够解决现有技术存在的报警量大、虚警率高的问题。

Description

用于在企业网络中检测异常主机的机器学习系统
技术领域
本发明属于网络安全和机器学习技术领域,具体涉及一种用于在企业网络中检测异常主机的机器学习系统。
背景技术
随着计算机网络特别是因特网的普及应用,网络已经成为人们生产和生活所依赖的重要基础设施。如此同时,网络安全的重要性也日益凸显,现如今网络安全已经成为决定网络应用范围能否极大拓展和网络应用价值能否极大地发挥的关键。
为了保证企业网络的安全,通常使用SIEM(Security Information and EventManagement安全信息和事件管理)系统来标记警报,进而在安全操作中心调查分析警报,以决定它是否真的具有恶意。
安全信息和事件管理(SIEM)产品及服务负责从大量企业安全控件、主机操作系统、企业应用和企业使用的其他软件收集安全日志数据,并进行分析和报告。有些SIEM还可以试图阻止它们检测到正在进行的攻击,这可能帮助阻止破坏或者限制成功攻击可能造成的损坏。
安全是一个过程而不是一种一劳永逸的战术性操作。为获得在SIEM和其它安全产品及服务上进行投资的重要效果,负责信息安全的主要管理人员首先应当能够确认所有的IT资产,并且知道每种资产所需要的安全水平是什么。
主机是指连接到网络的计算机或其他设备。它可以为用户或网络上其他主机提供信息资源、服务和应用程序。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个客户端/服务器协议,自动为互联网协议(IP)主机提供IP地址和其他相关的配置信息,如子网掩码和缺省网关。
DNS(Domain Name System,域名系统)是一个分级、分布式的命名系统,为互联网中的所有计算机、服务等资源提供名称映射服务。
在网络安全、内部威胁、欺诈检测中,涉及到离群值检测或异常检测。对于网络安全,安全操作中心(SOC,Security Operation Center)的任务之一就是判断一台主机或服务器是否受到损坏,或是否处于一个网络杀伤链上的某些阶段,该网络杀伤链是基于安全代理的事件日志和上下文数据分析得出的。
传统的方式可以描述为:安全信息和事件管理(SIEM)系统,例如HP ArcSight或Splunk Enterprise软件,从端点、防火墙、入侵检测系统、DNS、DHCP、Windows事件、VPN等日志中分析和关联事件日志。SOC团队使用基于分析师经验的预置优先级来开发使用用例。它们通常涉及一个或两个指标(变量)来控制安全报警行为。下面是使用用例的一些举例。
·通过443端口的HTTP输出流量
·对同一PCI资产的登录失败次数超限
·对于已知恶意网站进出流量的监控
·2分钟内对同一目标的4个独特事件
·1分钟内,在PCI/SC服务器发生超过25次拒绝事件后的警报
在实时状态下,如果任何事件触发一个或多个用例,SIEM将生成警报。然后,SOC分析师将调查警报,以决定警报是恶意(true)或非恶意(false)。这种处理方式的问题是,SIEM通常会产生大量的警报,但有很多都是非恶意的。每一天的警报数量可以成百上千,超过了系统调查分析的能力。由于这种能力上的不匹配,SOC团队可能会选择以这样一种方式来抑制警报,将一个特定的用例触发的相同警报在接下来的一周内的优先级调整为零,这些警报将不会被调查。但这可能会错过捕获攻击的机会。
假设受到攻击的主机或服务器是整个网络中的一小部分,当被标记的数据是有限的或很少的时候,基于遥测记录、行为和上下文数据的异常检测将作为安全运营分析的第一阶段去寻找被攻击的主机或服务器。
异常检测需要兼顾时间和地理信息。与其他主机相比有异常行为的主机可以被标记,例如,半夜登录重要服务器的主机,在很短的时间内重复访问恶意网站的主机,或有太多的病毒感染的主机都可以被标记为异常主机。在这种方法中,在一个特定的时间点只将一个主机的行为与其他主机进行了比较。然而,如果我们考虑到特定主机的时间模式,这可能是它的底线行为。因此,一个主机可能看起来非常不同于其他主机,但根据他的历史行为,这台主机实际上是正常的。我们要注意,我们这里所指的异常检测,异常可能不是恶意的,还有其它的步骤去检测警告是否是恶意的。
发明内容
为了克服现有的安全信息和事件管理系统存在报警量大、虚警率高,导致无法及时处理报警和可能遗漏处理重要报警信息等问题,本发明提供一种用于在企业网络中检测异常主机的机器学习系统。所述机器学习系统在广泛收集与企业网络相关的所有安全日志数据的基础上通过三阶段的机器学习过程相互衔接和配合,逐级优化异常主机筛选精度,最后将真正有异常的主机标记出来,并根据报警策略决定是否向SOC报警,通过该系统不仅可以全面监测企业网络的各类安全信息和事件,并且能够准确标记和报警异常主机,大幅度降低报警数量和虚警率,在显著提升企业网络安全监测能力的同时,有效降低检测人力成本。
为实现上述目标,本发明采用以下技术方案:
一种用于在企业网络中检测异常主机的机器学习系统,其特征在于,所述机器学习系统包括数据收集子系统、数据处理子系统、三阶段机器学习子系统和标记报警子系统,所述四个子系统顺次衔接,所述数据收集子系统收集到企业网络中各类与安全相关的信息之后,传递给所述数据处理子系统,所述数据处理子系统对数据进行标准化处理和特征提取处理后,将提取的特征向量传递给所述三阶段机器学习子系统,所述三阶段机器学习子系统对安全信息进行逐级求精的甄别和筛选,将异常主机的信息传递给所述标记报警子系统,所述标记报警子系统对异常主机进行标记,根据预先确定的报警策略,对达到报警要求的异常主机和安全事件进行报警,供安全处理中心进行安全审计。
所述数据收集子系统用于收集与企业网络相关的所有安全日志数据,包括结构化数据、半结构化数据和/或非结构化数据。
所述数据收集子系统包括若干个数据收集代理和一个数据解析模块,每个数据代理负责从对应的应用系统中收集安全相关的数据,数据解析模块负责对各数据代理收集的安全数据进行处理和解析,并将解析结果传递给所述数据处理子系统。
所述数据收集子系统通过数据收集代理从DNS日志、HTTP流量数据、FTP数据、防火墙数据、IDS数据、VPN数据、端点保护数据、微软的Windows事件日志、漏洞扫描日志等收集日志并解析数据。该系统可以向网络上任何数据源的任何类型数据开放,包括结构化、非结构化及半结构化数据。
优选地,所述数据收集子系统可以利用企业现有的SIEM系统实现。
所述数据处理子系统对所述数据收集子系统获取的数据进行IP/主机映射、标准化处理和特征提取处理,获得反映主机状态的特征向量。
所述数据处理子系统包括IP/主机映射模块、数据标准化处理模块和特征向量提取模块。所述IP/主机映射模块依据所述数据收集子系统传递过来的安全日志数据,实现IP地址与主机之间的相互映射,生成主机级别的视图。所述数据标准化处理模块按照事先设定的处理规则,对由所述IP/主机映射模块传递过来的数据进行标准化处理,保证数据的一致性和准确性。所述特征向量提取模块针对所述主机视图中的每台主机和/或服务器,根据所获得的安全数据,生成反映主机安全状态的特征向量,其中,每项特征数据构成特征向量的一个特征项。
所述特征向量提取模块采用两种格式来整理每台主机和服务器的特征数据。
第一种格式是时间序列列表。如表1所示,此表中列出了所有事件信息,这些事件以不同的时间模式发生在主机和服务器的不同系统中。表中的条目是按主机和事件日期排列的,对于一个特定的主机,它是按照时间顺序列出。这种格式的特征数据将会提供给所述第二阶段学习的HMM模型使用,作为其输入数据。
表1主机事件的时间序列列表
主机ID 事件ID 事件日期
主机1 事件1 日期1
主机1 事件2 日期2
主机1 事件3 日期3
主机1 事件4 日期4
主机1 事件5 日期5
主机1 事件6 日期6
第二种数据格式是主机特征向量列表。如表2所示,对于每个主机或服务器,我们根据所述数据收集子系统所获取的事件信息,生成该主机的原始特征向量,并将企业网络中包含的所有主机或服务器的原始特征向量汇集在一起形成主机特征向量列表,表中每一行代表一个主机的特征向量,表中每一列代表一个特征项,其对应于一个安全数据收集项目。这种格式的特征数据将会提供给所述第一阶段无监督学习和所述第三阶段的DNN学习者模型使用,作为其输入数据。
表2主机特征向量列表
上表只是一个示例,我们只列出了来自四个不同来源的特征,以演示如何生成特征。实际数据具有许多列的特征,取决于从不同数据源生成的特征数量。
所述数据处理子系统将获取特征作为机器学习的输入,其中时间的时间序列特征表将提供给所述第二学习阶段的HMM模型使用,主机特征向量数据将提供给所述第一阶段无监督学习和所述第三阶段的DNN学习者模型使用,作为其输入数据。
所述三阶段机器学习子系统包括三个相互衔接的学习阶段。第一阶段采用多个无监督学习结果的汇总修正,以减少每个无监督学习的偏差,这一阶段利用地理空间信息来检测异常,并为第二阶段的学习生成标签。第二阶段采用贝叶斯学习,结合隐马尔可夫模型,利用主机的时间信息,为第三阶段的学习生成标签。第三阶段是深层神经网络(DNN,Deep Neural Network)学习,利用空间信息检测异常。所述第二阶段学习和第三阶段学习使用监督学习并相互更新,即用第二阶段学习的输出作为第三阶段学习的输入,将第三阶段学习的输出反馈给第二阶段学习作为输入,进行迭代运算。
所述第一学习阶段运用许多不同类型的无监督学习方法,并整合修正每个方法的结果。本阶段包括无监督学习模块、排名模块和整合模块,所述无监督学习模块接收所述数据处理子系统传递过来的特征向量,进行无监督学习后将结果传递给所述排名模块,所述排名模块根据各种无监督学习算法所得分值对主机进行排名并将排名结果传递给所述整合模块,所述整合模块根据所接收的主机排名信息,结合预先设定的判定规则,判定各主机的状态为异常或非异常,对判定为异常的主机进行标记,并将标记结果递交给所述第二学习阶段的HMM模型,作为其输入数据。
优选地,在第一学习阶段可以使用基于如PCA(Principal Component Analysi,主成分分析)和SVD(singular value decomposition,奇异值分解)方法的矩阵、基于如Coupla的概率密度函数、基于图论的页排名方法,以及基于递归神经网络(RecurrentNeural Network,RNN)的神经网络来检测异常。表3为来自不同无监督学习者的分数示例。
表3来自不同无监督学习者的分数列表
主机ID PCA得分 SVD得分 Page Rank得分 RNN得分 COUPLA得分
主机1 0.0761476 0.314393 4.98E-06 1183654 1.0757432
主机2 0.1912899 2 4.18E-06 10189.76 0.8048661
主机3 0.148058 3 4.38E-06 122153.8 0.5258911
主机4 0.2685641 4.454618 1.79E-05 15546095 1.585557
所述第一阶段学习包括三个步骤:
1)无监督学习:各个无监督学习算法分别实施学习过程,并独立地给出各自的学习结果;
2)分数排序归并:在无监督学习模块的输出中,每个算法为异常现象生成自己的分数,我们设计跨越不同检测方法的得分规则,依据该规则得分越高,该现象越异常。然后对于每个算法,我们将分数进行排序,并将对应的主机归并到9个不同的组中,这九个不同的组代表9个异常等级,用bucket 0,bucket 1,...,...,bucket 9表示,其中bucket 9代表的异常度最高。根据上例,归并后各主机的得分情况如表4所示。
表4归并后各主机的得分情况
3)整合结果:对于相同的主机,不同的无监督学习算法很可能具有不同的排名,通过整合结果,可以减少每个无人监管学习者的偏差。
在所述整合结果步骤,使用投票方法来为主机做最终的判断,投票规则如下所示:
1)设置警告类别的级别数;
2)根据警告类别的级别数,设置相邻级别的划分阈值;
3)依据上述规则,结合整合后主机的得分,将各主机划分到相应的级别组中;
4)对每个级别组中的主机以该组的警告级别标注该主机的异常度。
例如,基于表4,可以这样制订表决规则:
·设置警告类别为两级,即HIGH和LOW;
·设置相邻级别的划分阈值为落在bucket 9中的结果个数为4;
·对于每个主机,计算在bucket 9中的结果个数;
·如果计数大于或等于阈值(例如阈值为4),就将该主机的异常度标注为HIGH,意味着高度异常;
·否则,我们判断该主机为低度异常,并将其标注为LOW。
阈值可以根据需要设置,取决于归入HIGH或LOW类别的警报数。警告类别的划分方法也可以根据需要自定义,比如可以将警告类别划分为高、中和低三个级别,或者更多的级别。系统阈值及警告类别的设置需要和SOC分析人员的能力相匹配,以便所有高级别的告警都可以被及时调查处理。
所述第二和第三学习阶段的异常检测使用贝叶斯学习结合隐马尔科夫模型和深神经网络(DNN)模型来实现。
隐马尔可夫模型(HMM)是一种随机模型,是一个假定具有隐藏状态的马尔可夫过程。HMM用于根据观察来评估隐藏状态。在HMM中有两个层:观察层和隐藏状态层。第一层由隐藏状态组成。在不同的隐藏状态之间存在一些转换。第二层由观察组成,观察之间没有联系。但在两层之间,有一些连接。在下面的例子中,我们为每个主机定义两个隐藏状态:用“好”或“0”定义低异常度主机;用“坏”或“1”定义高异常度主机。主机的隐藏状态随时间变化,并生成一系列事件或观察。这些观察可以通过HMM模型用于估计主机的隐藏状态。HMM由状态转移概率矩阵P,观测矩阵Q和初始状态分布π而定义。矩阵P描述隐藏状态之间的转换概率。矩阵Q描述了在模型处于某种隐藏状态时,不同观察发生的概率。矩阵π描述隐藏状态的初始概率。HMM对某个主机的行为随时间推移建模,并且能够动态地推断主机的隐藏状态。
另一方面,深度神经网络(DNN)结合了来自异常检测的数据/特征以及来自HMM的推断,去发现不同主机的潜在结构量。传统的机器学习依赖于浅神经网络,由一个输入、一个输出和之间的一个隐藏层组成。三层以上(包括输入和输出)的学习将有资格称为“深层”学习。在深度学习网络中,每层节点基于上一次层的输出在不同的特征集上训练。越深入神经网络,节点可以识别的特征越复杂。
结合HMM和DNN,该系统能够更好地辨别数据中的相似性和异常度,并提供更准确的预测。用于混合HMM和DNN学习模型的示例的详细描述如下:
HMM-DNN混合学习模型:
1、根据所述无监督学习阶段的输出结果,初始化HMM模型的参数:
初始矩阵π;
转换矩阵P=(例如,可以根据经验设定该转换矩阵);
观测矩阵Q,表示在给定隐藏状态i的前提下,出现第j个观测值的概率,这里隐藏状态i是这样定义的:
·i=0:非恶意(无监督学习模型给出低异常的评分)
·i=1:恶意(无监督学习模型给出高异常的评分)
2、使用隐马尔可夫模型推断每个用户的隐藏状态。该隐藏状态将被用来作为DNN模型的处理目标;
3、训练DNN重新预测用户的隐藏状态,预测值可能与隐马尔可夫模型的推理值不同;
4、将DNN的预测值反馈到HMM模型,并调整HMM的参数,其中隐藏状态的更新依据下列规则:
·i=0:非恶意(DNN模型给出低的预测值)
·i=1:恶意(DNN模型给出高的预测值);
5、返回步骤2,直到以下条件之一得到满足:
·DNN模型的预测值未发生改变;
·预先设定的迭代次数已经达到;
6、输出DNN模型的预测值(例如,用户的行为具有恶意的概率)。
所述标记与报警子系统工作过程如下:
1、根据SOC的处理能力,设定标记事件的种类,例如,将标记事件分为报警(需要立即调查处理)、监视(需要关注,但不必立即调查处理)和正常(主机处于良好状态)三类;
2、根据标记事件的种类,设定相邻类型事件间的判别阈值P_1、P_2、…P_k,其中1>P_1>P_2>…>P_k>0。例如,根据上例,设定概率阈值P_1=0.8和P_2=0.5;
3、根据DNN模型输出的概率值,将各主机放入对应的标记类型中,结合上例,具体规则如下:
·如果概率>=P_1,则将该主机标记为报警,并放入报警主机列表之中,递送到SOC分析人员,实施进一步调查;
·如果主机异常的概率大于或等于P_2,但小于P_1,则将主机标记为监视,并将其添加到监视主机列表中进行监视;
·如果主机异常的概率小于P_2,则将主机标记为正常,并将其添加到正常主机列表中。
所述异常检测系统可以实时运行,也可以批处理操作,例如:每30分钟或最多间隔24小时更新每台主机的状态,并向SOC报告高风险的主机,便于分析师进行调查。
本发明的优点和有益效果为:与现有的SIEM技术相比,本发明通过引入三阶段的机器学习模型,特别是通过整合多个无监督学习结果消除单个学习的偏差,以及结合HMM与DNN构建混合计算模型,通过DNN输出反馈和HMM迭代运算,大幅提升异常检测的准确度,通过合理划分事件的异常等级,仅对高度异常的事件进行报警,兼顾了网络安全检测需求与SOC实际审查能力,使得重要的安全事件得到及时处理,在提高网络安全监测能力的同时,降低了人力成本。
附图说明
附图1是本发明所述的用于在企业网络中检测异常主机的机器学习系统的结构框图。
具体实施方式
下面结合实施例对本发明作进一步说明。
实施例
一种用于在企业网络中检测异常主机的机器学习系统,其特征在于,所述机器学习系统包括数据收集子系统、数据处理子系统、三阶段机器学习子系统和标记报警子系统,所述四个子系统顺次衔接,所述数据收集子系统收集到企业网络中各类与安全相关的信息之后,传递给所述数据处理子系统,所述数据处理子系统对数据进行主机映射、标准化处理和特征提取处理后,将提取的特征向量传递给所述三阶段机器学习子系统,所述三阶段机器学习子系统对安全信息进行逐级求精的甄别和筛选,将异常主机的信息传递给所述标记报警子系统,所述标记报警子系统对异常主机进行标记,根据预先确定的报警策略,对达到报警要求的异常主机和安全事件进行报警,供安全处理中心进行安全审计。
所述数据收集子系统用于收集与企业网络相关的所有安全日志数据,包括结构化数据、半结构化数据和/或非结构化数据。
所述数据收集子系统包括若干个数据收集代理和一个数据解析模块,每个数据代理负责从对应的应用系统中收集安全相关的数据,数据解析模块负责对各数据代理收集的安全数据进行处理和解析,并将解析结果传递给所述数据处理子系统。
所述数据收集子系统通过数据收集代理从DNS日志(dnspod),HTTP流量数据(Infoblox)、FTP数据、防火墙数据(思科)、IDS数据(snotfire)、VPN数据(思科)、端点保护数据(赛门铁克端点保护)、微软的Windows事件日志、漏洞扫描日志(Qualys)等收集日志并解析数据。
所述数据收集子系统利用企业现有的SIEM系统实现。
所述数据处理子系统对所述数据收集子系统获取的数据进行IP/主机映射、标准化处理和特征提取处理,获得反映主机状态的特征向量。
所述数据处理子系统包括IP/主机映射模块、数据标准化处理模块和特征向量提取模块。所述IP/主机映射模块依据所述数据收集子系统传递过来的安全日志数据,实现IP地址与主机之间的相互映射,生成主机级别的视图。所述数据标准化处理模块按照事先设定的处理规则,对由所述IP/主机映射模块传递过来的数据进行标准化处理,保证数据的一致性和准确性。所述特征向量提取模块针对所述主机视图中的每台主机和/或服务器,根据所获得的安全数据,生成反映主机安全状态的特征向量,其中,每项特征数据构成特征向量的一个特征项。
所述特征向量提取模块采用两种格式来整理每台主机和服务器的特征数据。
第一种格式是时间序列列表。如表1所示,此表中列出了所有事件信息,这些事件以不同的时间模式发生在主机和服务器的不同系统中。表中的条目按主机和事件日期排列,对于一个特定的主机,它是按照时间顺序列出。这种格式的特征数据将会提供给所述第二阶段学习的HMM模型使用,作为其输入数据。
第二种数据格式是主机特征向量列表。如表2所示,对于每个主机或服务器,根据所述数据收集子系统所获取的事件信息,生成该主机的原始特征向量,并将企业网络中包含的所有主机或服务器的原始特征向量汇集在一起形成主机特征向量列表,表中每一行代表一个主机的特征向量,表中每一列代表一个特征项,其对应于一个安全数据收集项目。这种格式的特征数据将会提供给所述第一阶段无监督学习和所述第三阶段的DNN学习者模型使用,作为其输入数据。
所述数据处理子系统将获取的特征作为机器学习的输入,其中的时间序列特征表将提供给所述第二学习阶段的HMM模型使用,主机特征向量数据将提供给所述第一阶段无监督学习和所述第三阶段的DNN学习者模型使用,作为其输入数据。
所述三阶段机器学习子系统包括三个相互衔接的学习阶段。第一阶段采用多个无监督学习结果的汇总修正,以减少每个无监督学习的偏差,这一阶段利用地理空间信息来检测异常,并为第二阶段的学习生成标签。第二阶段采用贝叶斯学习,结合隐马尔可夫模型,利用主机的时间信息,为第三阶段的学习生成标签。第三阶段是深层神经网络(DNN,Deep Neural Network)学习,利用空间信息检测异常。所述第二阶段学习和第三阶段学习使用监督学习并相互更新,即用第二阶段学习的输出作为第三阶段学习的输入,将第三阶段学习的输出反馈给第二阶段学习作为输入,进行迭代运算。
所述第一学习阶段运用许多不同类型的无监督学习方法,并整合修正每个方法的结果。本阶段包括无监督学习模块、排名模块和整合模块,所述无监督学习模块接收所述数据处理子系统传递过来的特征向量,进行无监督学习后将结果传递给所述排名模块,所述排名模块根据各种无监督学习算法所得分值对主机进行排名并将排名结果传递给所述整合模块,所述整合模块根据所接收的主机排名信息,结合预先设定的判定规则,判定各主机的状态为异常或非异常,对判定为异常的主机进行标记,并将标记结果递交给所述第二学习阶段的HMM模型,作为其输入数据。
在第一学习阶段使用PCA、SVD、Coupla、PageRank和RNN等无监督学习方法来检测异常。无监督学习者输出的分数如表3所示。所述第一阶段学习包括三个步骤:
1)无监督学习:各个无监督学习算法分别实施学习过程,并独立地给出各自的学习结果;
2)分数排序归并:在无监督学习模块的输出中,每个算法为异常现象生成自己的分数,我们将分数进行排序,并根据设计的跨越不同检测方法的得分规则将对应的主机归并到9个不同的组中,这九个不同的组代表9个异常等级,用bucket 0,bucket 1,...,...,bucket 9表示,其中bucket 9代表的异常度最高。归并后各主机的得分情况如表4所示。
3)整合结果:使用投票方法来为主机做最终的判断,投票规则如下所示:
1)设置警告类别为两级,即HIGH和LOW;
2)设置相邻级别的划分阈值为落在bucket 9中的结果个数为4;
3)对于每个主机,计算在bucket 9中的结果个数;
4)如果计数大于或等于4,就将该主机的异常度标注为HIGH,意味着高度异常;否则,就判断该主机为低度异常,并将其标注为LOW。
所述第二和第三学习阶段的异常检测使用贝叶斯学习结合隐马尔科夫模型和深神经网络(DNN)模型来实现。具体过程如下:
HMM-DNN混合学习模型:
1、根据所述无监督学习阶段的输出结果,初始化HMM模型的参数:
初始矩阵π;
转换矩阵P=(根据经验设定该转换矩阵);
观测矩阵Q,表示在给定隐藏状态i的前提下,出现第j个观测值的概率,这里隐藏状态i是这样定义的:
·i=0:非恶意(无监督学习模型给出低异常的评分)
·i=1:恶意(无监督学习模型给出高异常的评分)
2、使用隐马尔可夫模型推断每个用户的隐藏状态。该隐藏状态将被用来作为DNN模型的处理目标;
3、训练DNN重新预测用户的隐藏状态,预测值可能与隐马尔可夫模型的推理值不同;
4、将DNN的预测值反馈到HMM模型,并调整HMM的参数,其中隐藏状态的更新依据下列规则:
·i=0:非恶意(DNN模型给出低的预测值)
·i=1:恶意(DNN模型给出高的预测值);
5、返回步骤2,直到以下条件之一得到满足:
·DNN模型的预测值未发生改变;
·预先设定的迭代次数已经达到;
6、输出DNN模型的预测值(用户的行为具有恶意的概率)。
所述标记与报警子系统工作过程如下:
1、将标记事件分为报警、监视和正常三类;
2、设定概率阈值P_1=0.8和P_2=0.5;
3、根据DNN模型输出的概率值,将各主机放入对应的标记类型中,具体规则如下:
·如果概率>=P_1,则将该主机标记为报警,并放入报警主机列表之中,递送到SOC分析人员,实施进一步调查;
·如果主机异常的概率大于或等于P_2,但小于P_1,则将主机标记为监视,并将其添加到监视主机列表中进行监视;
·如果主机异常的概率小于P_2,则将主机标记为正常,并将其添加到正常主机列表中。
所述异常检测系统可以实时运行,也可以批处理操作,例如:每30分钟或最多间隔24小时更新每台主机的状态,并向SOC报告高风险的主机,便于分析师进行调查。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本发明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明的保护范围之中。

Claims (7)

1.一种用于在企业网络中检测异常主机的机器学习系统,其特征在于:所述机器学习系统包括数据收集子系统、数据处理子系统、三阶段机器学习子系统和标记报警子系统,所述四个子系统顺次衔接,所述数据收集子系统收集到企业网络中各类与安全相关的信息之后,传递给所述数据处理子系统,所述数据处理子系统对数据进行标准化处理和特征提取处理后,将提取的特征向量传递给所述三阶段机器学习子系统,将异常主机的信息传递给所述标记报警子系统,所述标记报警子系统对异常主机进行标记,根据预先确定的报警策略,对达到报警要求的异常主机和安全事件进行报警,供安全处理中心进行安全审计;
其中,所述数据收集子系统用于收集与企业网络相关的所有安全日志数据,包括结构化数据、半结构化数据和/或非结构化数据;
所述数据收集子系统包括若干个数据代理和一个数据解析模块,每个数据代理负责从对应的应用系统中收集安全相关的数据,数据解析模块负责对各数据代理收集的安全数据进行处理和解析,并将解析结果传递给所述数据处理子系统;
其中,所述数据处理子系统包括IP/主机映射模块、数据标准化处理模块和特征向量提取模块;所述IP/主机映射模块依据所述数据收集子系统传递过来的安全日志数据,实现IP地址与主机之间的相互映射,生成主机级别的视图;所述数据标准化处理模块按照事先设定的处理规则,对由所述IP/主机映射模块传递过来的数据进行标准化处理,保证数据的一致性和准确性;所述特征向量提取模块针对所述主机视图中的每台主机和/或服务器,根据所获得的安全数据,生成反映主机安全状态的特征向量,其中,每项特征数据构成特征向量的一个特征项;
其中,所述三阶段机器学习子系统包括三个相互衔接的学习阶段,第一阶段采用多个无监督学习结果的汇总修正,这一阶段利用地理空间信息来检测异常,并为第二阶段的学习生成标签;第二阶段采用贝叶斯学习,结合隐马尔可夫模型,利用主机的时间信息,为第三阶段的学习生成标签;第三阶段是深层神经网络DNN学习,利用空间信息检测异常;所述第二阶段学习和第三阶段学习使用监督学习并相互更新,用第二阶段学习的输出作为第三阶段学习的输入,将第三阶段学习的输出反馈给第二阶段学习作为输入,进行迭代运算。
2.根据权利要求1所述的一种用于在企业网络中检测异常主机的机器学习系统,其特征在于:所述数据收集子系统可以利用企业现有的SIEM系统实现。
3.根据权利要求1所述的一种用于在企业网络中检测异常主机的机器学习系统,其特征在于:所述特征向量提取模块采用两种格式来整理每台主机和服务器的特征数据:
第一种格式是时间序列列表,此表中列出所有事件信息,表中的条目按主机和事件日期排列,对于一个特定的主机,它按照时间顺序列出,这种格式的特征数据将会提供给所述第二阶段学习的HMM模型使用,作为其输入数据;
第二种数据格式是主机特征向量列表,对于每个主机或服务器,根据所述数据收集子系统所获取的事件信息,生成该主机的原始特征向量,并将企业网络中包含的所有主机或服务器的原始特征向量汇集在一起形成主机特征向量列表,表中每一行代表一个主机的特征向量,表中每一列代表一个特征项,其对应于一个安全数据收集项目,这种格式的特征数据将会提供给所述第一阶段无监督学习和所述第三阶段的DNN学习者模型使用,作为其输入数据。
4.根据权利要求1所述的一种用于在企业网络中检测异常主机的机器学习系统,其特征在于:所述第一学习阶段运用不同类型的无监督学习方法,并整合修正每个方法的结果;本阶段包括无监督学习模块、排名模块和整合模块,所述无监督学习模块接收所述数据处理子系统传递过来的特征向量,进行无监督学习后将结果传递给所述排名模块,所述排名模块根据各种无监督学习算法所得分值对主机进行排名并将排名结果传递给所述整合模块,所述整合模块根据所接收的主机排名信息,结合预先设定的判定规则,判定各主机的状态为异常或非异常,对判定为异常的主机进行标记,并将标记结果递交给所述第二学习阶段的HMM模型,作为其输入数据;
在第一学习阶段可以使用基于PCA和SVD方法的矩阵、基于Coupla的概率密度函数、基于图论的页排名方法,以及基于RNN的神经网络来检测异常。
5.根据权利要求4所述的一种用于在企业网络中检测异常主机的机器学习系统,其特征在于,所述第一阶段学习包括三个步骤:
1)无监督学习:各个无监督学习算法分别实施学习过程,并独立地给出各自的学习结果;
2)分数排序归并:设计跨越不同检测方法的得分规则,依据该规则得分越高,该现象越异常;对于每个算法,将分数进行排序,并将对应的主机归并到9个不同的组中,这九个不同的组代表9个异常等级,用bucket 0,bucket 1,...,bucket 9表示,其中bucket 9代表的异常度最高;
3)整合结果:使用投票方法来为主机做最终的判断,投票规则如下所示:
(1)设置警告类别的级别数;
(2)根据警告类别的级别数,设置相邻级别的划分阈值;
(3)依据上述规则,结合整合后主机的得分,将各主机划分到相应的级别组中;
(4)对每个级别组中的主机以该组的警告级别标注该主机的异常度。
6.根据权利要求1所述的一种用于在企业网络中检测异常主机的机器学习系统,其特征在于:所述第二和第三学习阶段的异常检测使用隐马尔科夫模型与深度神经网络模型相结合的混合模型来实现,所述混合模型包括以下步骤:
1)根据所述无监督学习阶段的输出结果,初始化隐马尔科夫模型的参数:
(1)确定初始矩阵π;
(2)确定转换矩阵P;
(3)确定观测矩阵Q,表示在给定隐藏状态i的前提下,出现第j个观测值的概率,这里隐藏状态i定义如下:
(a)i=0:非恶意,当无监督学习模型给出低异常的评分时;
(b)i=1:恶意,当无监督学习模型给出高异常的评分时;
2)使用隐马尔可夫模型推断每个用户的隐藏状态,该隐藏状态将被用来作为深度神经网络模型的处理目标;
3)训练深度神经网络模型重新预测用户的隐藏状态;
4)将深度神经网络模型的预测值反馈到隐马尔可夫模型,并调整隐马尔可夫的参数,其中隐藏状态的更新依据下列规则:
(a)i=0:非恶意,当深度神经网络模型给出低的预测值时;
(b)i=1:恶意,当深度神经网络模型给出高的预测值时;
5)返回步骤2),直到下列条件之一得到满足:
(1)深度神经网络模型的预测值未发生改变;
(2)预先设定的迭代次数已经达到;
6)输出深度神经网络模型的预测值。
7.根据权利要求1所述的一种用于在企业网络中检测异常主机的机器学习系统,其特征在于,所述标记报警子系统工作过程包括以下步骤:
1)根据SOC的处理能力,设定标记事件的种类;
2)根据标记事件的种类,设定相邻类型事件间的判别阈值P_1、P_2、…P_k,其中1>P_1>P_2>…>P_k>0;
3)根据DNN模型输出的概率值,结合阈值,将各主机放入对应的标记类型中;
4)向SOC报告高风险的主机,便于分析师进行调查。
CN201611144494.6A 2016-12-13 2016-12-13 用于在企业网络中检测异常主机的机器学习系统 Active CN106790008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611144494.6A CN106790008B (zh) 2016-12-13 2016-12-13 用于在企业网络中检测异常主机的机器学习系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611144494.6A CN106790008B (zh) 2016-12-13 2016-12-13 用于在企业网络中检测异常主机的机器学习系统

Publications (2)

Publication Number Publication Date
CN106790008A CN106790008A (zh) 2017-05-31
CN106790008B true CN106790008B (zh) 2018-08-24

Family

ID=58880624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611144494.6A Active CN106790008B (zh) 2016-12-13 2016-12-13 用于在企业网络中检测异常主机的机器学习系统

Country Status (1)

Country Link
CN (1) CN106790008B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109510793A (zh) * 2017-09-14 2019-03-22 蓝盾信息安全技术股份有限公司 一种基于协同过滤的安全事件预测技术
CN107948127A (zh) * 2017-09-27 2018-04-20 北京知道未来信息技术有限公司 一种基于回馈和监督学习的waf检测方法及系统
CN108200030A (zh) * 2017-12-27 2018-06-22 深信服科技股份有限公司 恶意流量的检测方法、系统、装置及计算机可读存储介质
CN108491720B (zh) * 2018-03-20 2023-07-14 腾讯科技(深圳)有限公司 一种应用识别方法、系统以及相关设备
CN108737406B (zh) * 2018-05-10 2020-08-04 北京邮电大学 一种异常流量数据的检测方法及系统
JP6767434B2 (ja) * 2018-06-20 2020-10-14 日本電信電話株式会社 評価装置及び評価方法
US11362910B2 (en) * 2018-07-17 2022-06-14 International Business Machines Corporation Distributed machine learning for anomaly detection
CN109359098B (zh) * 2018-10-31 2023-04-11 云南电网有限责任公司 一种调度数据网行为监测系统及方法
CN109871315B (zh) * 2019-01-03 2021-09-24 平安科技(深圳)有限公司 基于机器学习的系统升级失败的诊断方法及装置
CN109547496B (zh) * 2019-01-16 2020-12-11 西安工业大学 一种基于深度学习的主机恶意行为检测方法
CN109918902B (zh) * 2019-02-28 2021-04-13 杭州默安科技有限公司 一种主机异常行为识别方法及系统
EP3712721A1 (de) * 2019-03-19 2020-09-23 Siemens Aktiengesellschaft Sicherheitsrelevante diagnosemeldungen
CN110188015B (zh) * 2019-04-04 2021-09-07 北京升鑫网络科技有限公司 一种主机访问关系异常行为自适应检测装置及其监测方法
CN110490486B (zh) * 2019-08-27 2022-04-29 北京远舢智能科技有限公司 一种企业大数据管理系统
CN110958136A (zh) * 2019-11-11 2020-04-03 国网山东省电力公司信息通信公司 一种基于深度学习的日志分析预警方法
SG10202100813PA (en) * 2021-01-26 2021-02-25 Ensign Infosecurity Pte Ltd A SYSTEM AND METHOD FOR DETECTING DOMAIN GENERATION ALGORITHMS (DGAs) USING DEEP LEARNING AND SIGNAL PROCESSING TECHNIQUES
CN113179250B (zh) * 2021-03-26 2022-05-17 北京六方云信息技术有限公司 web未知威胁检测方法及系统
CN116167029B (zh) * 2023-04-23 2023-06-30 汕头市林百欣科学技术中等专业学校 一种基于云计算的计算机系统账户管理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915555B (zh) * 2016-06-29 2020-02-18 北京奇虎科技有限公司 网络异常行为的检测方法及系统

Also Published As

Publication number Publication date
CN106790008A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106790008B (zh) 用于在企业网络中检测异常主机的机器学习系统
Al-Khater et al. Comprehensive review of cybercrime detection techniques
EP3528462B1 (en) A method for sharing cybersecurity threat analysis and defensive measures amongst a community
CN106790256B (zh) 用于危险主机监测的主动机器学习系统
US7930752B2 (en) Method for the detection and visualization of anomalous behaviors in a computer network
CN111475804A (zh) 一种告警预测方法及系统
AU2021275768A1 (en) Cyber security for instant messaging across platforms
Saxena et al. General study of intrusion detection system and survey of agent based intrusion detection system
EP3329640B1 (en) Network operation
CN108540329B (zh) 基于两层贝叶斯网络模型的网络安全推断方法
Elshoush et al. An improved framework for intrusion alert correlation
CN110620696A (zh) 针对企业网络安全态势感知的评分方法和装置
WO2018071356A1 (en) Graph-based attack chain discovery in enterprise security systems
Dubey et al. A novel approach to intrusion detection system using rough set theory and incremental SVM
CN117478433B (zh) 一种网络与信息安全动态预警系统
Dambe et al. The Role of Artificial Intelligence in Enhancing Cybersecurity and Internal Audit
Sabri et al. Hybrid of rough set theory and artificial immune recognition system as a solution to decrease false alarm rate in intrusion detection system
Kadam et al. Real-time intrusion detection with genetic, fuzzy, pattern matching algorithm
CN113378159A (zh) 一种基于集中管控的威胁情报的评估方法
Tesink Improving intrusion detection systems through machine learning
Hagenlocher Performance of message authentication codes for secure ethernet
Karim et al. Implementation of K-Means Clustering for Intrusion Detection
Katalin Data Mining in Cyber Threat Analysis–Neural Networks for Intrusion Detection
Sahu Comprehensive Assessments of Cybercrime Detection Techniques
Beghdad APPLYING FISHER'S FILTER TO SELECT KDD CONNECTIONS'FEATURES AND USING NEURAL NETWORKS TO CLASSIFY AND DETECT ATTACKS

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant