我们生活在一个信息泛滥的世界,越来越难以跟踪信息,或为他人手动整理信息;幸运的是,现代数据科学可以对海量信息进行分类,并呈现与我们相关的信息。机器学习算法依赖于用户知识和在数据中观察到的模式来对我们可能喜欢或感兴趣的内容做出推断和建议。随着机器学习技术变得更容易为开发人员所用,公司正在推动利用这些算法来改进他们的产品和用户体验。在全息网防的研发实践中,我们从安全的角度深入分析了各行业移动数据的业务共性,抽象出以移动数据为核心的OnFire数据安全风险感知体系平台。用户-设备-应用-数据四个维度的关联分析,为建立移动数据评估监控、预警/告警、溯源审计的联动机制提供依据,感知数据安全风险,形成可视、可控、可追溯的数字空间安全态势感知与防护体系。用户和实体行为分析(UserandEntityBehaviorAnalysis,UEBA)是一种基于实体行为的网络风险分析,是一种利用统计学、机器学习等算法的自适应分析,是一种基于大数据安全分析的异常网络行为检测分析方法。安全态势感知。下面我们从算法和架构两个方面来描述这些算法在OnFire系统中的应用。一、概述OnFire系统由三部分组成:网络流量采集系统(HoloFlow)、实体行为分析系统(HoloML)和管理系统(HoloVision)。网络流量采集器会接收和处理来自关键网络设备节点的原始网络流量,通常来自汇聚交换机,生成网络中的设备、应用、数据(文件和网页)和用户的网络行为日志,并保存在数据仓库。分析平台将这些日志映射为四种实体行为:用户实体、设备实体、应用实体和数据实体。然后,根据实体间的行为逻辑关系、时序关系、地理位置关系,生成动态关联的网络全息图。同时,利用数理统计、机器学习等算法,为每个实体画像构建正常行为基线。最后通过实体的正常行为画像识别并对比异常行为,提醒管理员及时跟踪追溯异常行为。OnFire系统的层次结构分为5层,如图1所示:日志收集层:收集各种网络协议的数据,支持导入第三方日志信息。汇聚层:完成数据清洗、数据转换、数据聚合,提取用户、设备、应用和数据实体信息。画像层:根据实体的历史信息,利用数理统计、机器学习等算法对每个实体进行画像,建立正常行为的基线,并可视化。异常行为检测层:计算实体的每个行为与正常行为画像之间的差异,从而识别异常行为并将其可视化。表现层:为安全系统分析人员提供友好易用的人机界面,方便后续追溯。2.实体行为分析1.行为画像在画像层中,我们从用户、数据、应用、设备四个维度对实体行为进行分析和挖掘,把握实体之间的关系,识别正常的行为模式,建立实体间的正常行为。实体。行为基线使用无监督机器学习算法。在后续的检测层中,系统会计算正常行为的基线与当前行为的差异,从而判断该行为是否异常。通常,特征工程从实体行为中提取特征,并将这些特征用作学习算法的输入,以识别实体行为中的模式。该平台使用多种算法来识别正常行为的模式,下面简要介绍其中两种:(1)核密度估计(KernelDensityEstimation)构建实体行为特征的密度估计函数。在我们的UEBA解决方案中,我们使用了非参数密度估计算法(nonparametricestimation),因为这不需要那么严格的假设,核密度估计是常用的方法之一。在计算数据密度分布估计函数时,该算法使用高斯核来创建数据的直方图,而不是使用矩形对数据进行分箱。也就是说,在每个bin的中心画一个高斯分布。该方法可以平滑直方图,得到特征空间中各点数据密度的连续估计。通常的异常检测方法是估计每个数据点的密度,将密度最小的点称为异常。图2显示了一天的登录行为:X轴是时间,Y轴是登录概率。从这个图可以看出高密度时段是6到20,如果有人在0到6之间登录,就会表现得很奇怪。(2)特征工程在OnFire系统中,大多数活动都是时间相关的。对于时间序列数据,我们从三个方向提取数据特征:时间、统计和光谱。时间型特征包括:不同时间粒度、自相关、距峰值的距离、正负转折点等。统计特征包括:移动平均、标准差、趋势度量、季节性、周期性、序列相关、偏度、峰度和自相似性。频谱特征包括:FFT平均系数、最大频率、中频、频谱中心和频谱扩展。2.异常行为分析OnFire系统的异常行为分析有两种类型:基于静态规则的和基于统计和机器学习算法的。下面将重点介绍系统使用的统计算法和机器学习算法。(1)统计算法统计算法常用于一维或二维数据,计算成本低,无需人工设置阈值。适用于告警重要指标的异常行为。比如用户的商业文件下载、服务器文件下载等等。指数加权移动平均法(EWMA)是一种常用的统计方法。针对某一维度的用户和实体行为数据,对每一天的聚合值赋予不同的权重,根据不同的权重得到移动平均。根据最后的移动平均数确定预测值的方法。在EWMA中,每个值的加权系数随时间呈指数递减,越接近当前时刻,该值的加权系数越大。EWMA的表达式如下:〖EWMA〗_t=〖λY〗_t+(1-λ)EWMA_(t-1)fort=1,2,…,ns_ewma^2=λ/(2-λ)s^2UCL=〖EWMA〗_0+〖ks〗_ewma其中:〖EWMA〗_t:时间t的指数加权移动平均线。Y_t:时间t的实际数据。k和λ为常数,其中0<λ≤1决定了历史数据对当前数据的影响程度。s:EWMA统计值的方差UCL:控制图上限在实体行为分析系统中,采用指数加权移动平均法进行单维行为数据异常检测。例如,用户每天下载的文件量会根据工作性质有一个相对稳定的基线和浮动区间。如果某一天的下载量比UCL大很多,可以认为下载文件的行为异常。(2)机器学习算法实体行为分析系统采用孤独森林算法(iForest)和聚类算法(ClusteringAlgorithm)实现用户群体内外的异常行为分析。这样就可以完成账户泄露分析和主机泄露分析的功能。它基于同一组中的用户行为更相似的假设。其实现原理:通过对比管理员提供的用户分组信息,根据聚类分析模块根据用户行为数据计算出的分组信息,找出偏离分组的用户。根据管理员输入的不同组数,聚类分析系统选择使用异常检测算法或聚类算法。如果管理员进入一个组,那么系统会选择一种异常检测算法来计算离群值。如果管理员输入了两个或多个组,系统将使用聚类算法对用户进行分组(组数等于管理员输入的组数);比较群体关系以获得离群用户。①数据用户的网络行为信息以天为单位计算。根据全息的特殊能力,这里的用户包括了同一用户使用的所有设备、所有应用程序和所有文件/数据的综合信息,而不是仅基于某个用户的某个应用程序或某个应用程序收集的信息。用户的设备。A.全球网络流量信息访问网络的流量用户数量B.内部服务应用信息访问某应用服务的流量用户数量C.访问某应用服务的网页用户数量C.文件类型和敏感类型信息是对于所有文件类型,用户使用的每种类型的文件数量对于所有文件敏感类型,用户使用的每种敏感类型的文件数量②异常检测算法当管理员选择一个组或网段时,计算使用异常检测算法对于异常行为,目前应用孤独森林算法。孤独森林算法适用于寻找分布稀疏且远离密集群体的离群点。在特征空间中,稀疏分布的区域表明该区域发生事件的概率很低,因此落在这些区域的数据可以认为是异常的。③聚类算法当管理员选择N(N>=2)个群组或网段时,使用聚类算法根据用户行为数据计算出N个新的群组。目前应用了K-Mean、层次聚类、混合高斯算法,系统默认选择K-Mean算法。④群组关系比较算法将聚类算法计算出的群组关系与管理员选择的群组关系进行比较,从而得出哪些用户的行为偏离了原有的群组关系。3.系统架构实体行为分析系统(HoloML系统)采用事件驱动架构,如图3所示。管理员通过HoloVision创建和管理分析任务。HoloML接受来自HoloVision的分析请求事件,启动智能分析任务,并将分析结果保存在数据仓库中。通过Pub/Sub通道通知HoloVision任务执行状态后,HoloVision读取数据仓库中的分析结果呈现给管理员。
