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