数据异常行为监测技术研究

数据异常行为监测技术研究
摘 要 文章结合数据业务应用的特点和数据安全风险监测的特殊性,从数据安全风险监测需求分析出发,研究数据异常行为监测能力框架,分析异常行为监测过程中的技术和方法,包括数据源接入、数据处理、经验引擎、模型引擎等内容,并提出未来的研究方向。
关键词 信息安全;数据安全;异常;监测;基线经验引擎;模型引擎
刘明辉 戚 琳 王 然 朴鸿国 陈 湉
中国信息通信研究院 北京 100191
引言
全球数字经济时代来临,越来越多的企业或组织需要参与产业链协同,以数据流动与合作为基础进行生产活动,跨区域数据流动合作逐步扩大。与此同时,针对大数据的攻击和数据泄漏问题日趋严重,重大数据安全事件频发。根据Risk Based Security 发布的数据泄露报告,2019年上半年在被泄露的41亿条数据中,有32亿条数据泄露源于8起泄露事件,泄露数据占到了总数的78%[1]。数据异常行为监测技术从数据内容识别出发,分析数据在访问全路径上的风险和威胁,从而实现系统数据安全风险预判,实现从被动防御到主动探测的转变。数据异常行为检测技术源于用户和实体行为分析(UEBA),将数据内容
与用户行为数据作为输入,是一种数据驱动的数据安全风险检测技术。
UEBA(用户实体行为分析)前身是UBA(用户行为分析),最早用在网站访问和精准营销方面,通过对相关数据(用户购买、点击、收藏等行为)进行统计分析,实现用户标签画像,预测用户消费习惯,最终对用户感兴
趣商品进行推送,达到精准营销的目的。UEBA 关联了用户活动和相关实体(用户相关的应用和终端等)信息构建人物角与组,进一步定义这些个体与组的合法
和正常行为,把这些人物角在体与体、体与个
体、个体与个体(那些远离合法和正常行为的体与个体)维度上相互比对分析,将异常用户(失陷账号)和用户异常(非法行为)检测出来,从而达到检测业务欺诈、敏感数据泄露、内部恶意用户、有针对性攻击等高级威胁的目的。
1 数据异常行为监测系统
本文提出的数据异常监测模型如图1所示,系统收集流量内容、日志内容等作为数据源,对数据源进行清洗、合并等操作后,输入到内置分析引擎中。分析引擎分为两种:经验引擎和机器学习引擎。经验引擎内置各应用场景下的规则和基线,从而判断正常行为和异常行为,规则和阈值的设定依靠专家的经验,适合简单场景。模型引擎内置各应用场景的算法模型或机器学习模型,引擎会根据模型对用户行为进行判断。经过分析引
图1 数据异常行为监测系统框架数据源
擎判定后,输出结果并对异常行为发出告警。
1.1 数据源
数据源是数据异常行为监测系统的数据监测对象的来源。数据源记录了用户或其他实体对业务系统、数据库、操作系统、网络设备等的操作行为等信息。数据异常行为监测系统通过分析数据源,发现异常行为,并进行告警。
1.1.1 数据源种类
数据异常行为分析系统的数据源一般来自于两大部分:流量数据和日志数据。
1)流量数据。流量数据包括网络包/流数据、业务埋点数据等。流量数据的特点是包含的信息全面、体量大。网络包/流数据包括OSI七层模型中各层级的包/流数据。例如,在应用层,流量数据可以是HTTP/ HTTPS、FTP/FTP等应用层协议的流数据,该层数据在OSI七层的流量数据中包含的内容最全面,包括了用户可见的所有信息、用户凭证、用户上下文信息等;在传输层,流量数据可以是tcpdump获得的pcap包数据等。业务埋点数据,是指在被监测的业务系统中,开发者对用户的重要操作进行记录,并将之形成数据流,用于分析的数据。开发者可自行在业务系统中设置埋点,可定制化程度高,非常适合做数据的异常行为分析,但是该类数据不具有通用性。
玉米棒烘干机2)日志数据。日志数据包括应用日志、数据库审计日志、API日志、系统日志等。这些日志的特点是以文件的形式存在,日志内容格式清晰。
1.1.2 数据源接入
对于数据异常行为监测系统,数据源的接入方式可以划分成两大类:拉取方式和推送方式。
1)拉取方式。数据拉取,是指数据异常行为监测系统向数据源进行主动拉取数据的方式。
针对流量的拉取方式,可以分成直接采集和旁路采集两种。直接采集,是指直接对原始的流量数据进行抓取采集。例如,采用探针技术,对流量在网卡、交换机等设备上进行数据包的抓取[2];也可以采
用插件技术,在应用服务器上安装插件,在应用层完成流量的抓取。直接采集的方式可能会对监测的目标系统造成性能上的影响。旁路采集,是指使用旁路技术,对流量进行镜像,之后对复制出的流量进行异常行为监控[3]。旁路采集的方式对监测的目标业务系统影响较小。
针对日志,采集的方式可以分成实时采集和定时采集。实时采集,是指每生成一条日志记录,数据异常行为监测系统会实时地获取该条日志记录。目前主流的日志采集器均可完成日志的实时采集,例如,Filebeat是轻量级的日志采集器,可以实时完成日志的采集和转发[4];Logstash是开源的数据收集引擎,具有管道方式的实时日志采集能力,并可对采集数据的格式进行整理[5]。定时采集,是指对分时分块的日志文件进行定时解析,将某段时间之内的日志文件中的数据解析出来,再加以分析利用。定时采集的方式可以通过缩短解析的时间间隔来提高实时性。
2)推送方式。数据推送方式,是指由数据源主动向数据异常监测系统发送数据的方式。该种方式在采集业务埋点数据源中应用较多。业务系统中设置了埋点,用户的操作触发埋点时,业务系统会通过API等方式将用户行为数据发送至数据异常行为监测系统,从而完成数据源的接入。
手机应急充电器1.2 数据处理
数据异常行为分析系统不能够直接使用接入数据源的数据。不同数据源有着不一样的格式、流量大小、接入方式,一般来说需要对接入的数据进行分类、过滤、格式化,统一处理后的数据方可被数据
异常行为监测系统利用。
1)分类。数据异常行为分析系统的分析引擎对不同类型的数据有相应的分析方法,然而数据异常行为监测系统的来源数据类型广泛,监测系统需要知道每一条数据的类别,因此需要对直接采集的数据进行识别并分类。可以使用打标的方式标识数据的类别,以方便分析引擎采用相应手段进行分析处理。
2)过滤。首先,数据异常行为监测系统的接入数据
量大,然而并非所有的数据都是有效的数据。其次,数据异常行为监测系统中存在着大量的实时分析处理场景,接入的数据量巨大会对系统服务带来巨大的性能开销。针对以上两点,过滤掉无效数据,减小系统性能开销是必要的。过滤的内容是与监测的场景无关、不能够引入模型引擎训练集的数据等。例如,应用层公共静态资源的请求数据等。
保健内衣3)格式化。由于数据的来源广泛,原始的接入数据的各字段没有标准化的格式。例如,不同的接入数据源,时间的格式可能是“20200910”“2020-09-10”“2020年9月10日”等。然而,数据异常监测系统的分析引擎不可能对每一种字段的不同格式都设置对应的分析手段。对于这种情况,为了方便数据异常监测系统进行数据的分析,通常会在数据处理阶段对数据格式进行统一。以标准化的格式输入数据异常监测系统的分析引擎,可以最大限度地利用数据异常监测系统分析引擎的分析能力。
1.3 经验引擎
数据异常监测系统的经验引擎是依靠专家经验来对不同场景下的异常行为进行分析的模块。在该引擎下,使用规则和基线作为异常行为的判断标准,而规则和基线的制定则依靠专家的经验。
经验引擎的应用场景很广泛,场景主要包括:
1)数据访问:数据访问量设置、访问次数设置、操作权限设置、高安全级别数据加密存储、高安全级别数据访问限制白名单、高安全级别数据传输限制、高安全级别数据读取权限设置等。
2)数据传输接口安全:单位时间内业务对数据的访问次数、单位时间内接口的调用次数、接口用户访问源IP特征、接口调用请求数据范围、接口调用数据量范围等。
3)操作行为:用户在单位时间内对高安全级别数据访问次数限制、用户在非工作时间对高安全级别数据的操作限制、用户在非工作地点对高安全级别数据的操作行为限制、用户高危操作等。
4)认证登录行为:单位时间内账号/密码输入错误次数、单位时间内用户登录失败次数、单位时间内的用户登录频次、非工作时间的用户登录次数、非工作地点的用户登录次数、非工作地点的用户操作行为、非工作地点错误操作次数等。
经验引擎根据应用场景可以分为规则经验引擎和基线经验引擎。
干墙1.3.1 规则经验引擎
规则经验引擎应用场景的特点有以下几点。
第一,该场景下的异常分析仅需要对此次行为数据本身进行分析,分析过程不涉及到以往的行为数据,亦不涉及不同类型数据源之间的交叉。例如,审计外网IP 访问公司内部系统的场景。在该场景下,仅需判断此次的来源数据IP字段是否属于公司内网IP即可,无需对该行为主体的过往访问行为进行分析,同时也不需要与其他来源数据进行交叉分析。
第二,该场景下的异常行为判断规则通常可以以明确的逻辑判断或者逻辑判断的组合方式进行确认,例如包含、不包含、大于、小于、包含某字段并且该字段值大于某数等等。例如,审计http流量中不包含User Agent的访问行为。该场景下,有明确的判断逻辑—“HTTP流量中不包含User Agent”,可以制定出准确的判断规则。
在技术处理上,可采用正则表达式等自定义的方式进行规则的匹配,也可将较复杂的规则内置在系统中作为固定的规则存在,比较易于实现。然而,规则经验引擎的场景规则梳理依靠业务实践的发现以及专家的经验,对于未知场景风险的判断无能为力。
1.3.2 基线经验引擎
基线经验引擎的应用场景有以下特点:第一,该场景下,可以使用简单的数字或者数字的组合,对场
景的某类异常/非异常行为进行线性的划分。第二,该场景下,需要将此次获得的行为数据,与该行为主体过去一段时间内的行为数据进行比较分析。
例如,高频访问的场景:用户在某一段时间内对某
个接口进行了若干次访问,访问次数超过基线,即为异常行为,未超过则认为是正常行为。在该高频访问场景中,基线为访问次数,访问次数可以对异常和非异常行为进行划分。同时,系统需要统计用户实体在过去一段时间内的访问行为,以此来确定用户的访问次数。
在技术上,因为基线经验引擎涉及到统计行为主体过去的行为,性能消耗较大,所以如何保障监测和告警的实时性是技术设计的重点。本文提出一种基于Elasticsearch和Redis的基线经验引擎设计方案。技术架构如图2所示。
图2 数据异常行为分析异常监测系统基线经验引擎架构
基线经验引擎接收到行为主体数据后,将该条记录写入Elasticsearch。同时,也查询Redis是否存有该行为主体历史查询结果。如果不存在,则进入Elasticsearch中查询该行为主体的历史数据,查询成功后将查询结果写入Redis存储。获得结果后,与基线进行对比,最后输出结果,让系统判断是否进行异常行为告警。Elasticsearch在此起到了存储中心的作用,其中存储了全量的传入数据。Redis在该架构中作为缓存存在,其中记录了部分频繁行为主体的查询结果。如此,大部分的结果查询可以在Redis中直接完成,从而提升整个基线经验引擎的判断速度。
在该基线经验引擎架构所能达到的效果上,主要体现在三个方面。一是在系统吞吐量上,架构的主要组件Elasticsearch和Redis均可支持高并发异步访问,如此可以在系统吞吐量上达到满足大数据量的处理需求。二是在系统高可用方面,Elastic和Redis均可进行分布式集部署,整个引擎亦可进行多实例部署,从而避免在个别服务器宕机时发生系统服务停止或者数据丢失的情况,保证系统的高可用。三是在系统实时性方面,该架构使用Redis作为缓存,Redis是基于内存的高性能数据库,查询速度远远高于传统数据库,且Redis 中存储了最常访问的数据,大部分查询操作无需经过Elasticsearch,如此可以保证系统在处理数据时的查询速度,从而保证系统服务的实时性。
Redis缓存的命中率是影响该基线经验引擎架构工作效果的主要因素。若监测对象的行为主体的集合为非频繁访问的行为主体,单个行为主体在短时间内不会有第二次行为,那么这意味着Redis缓存的命中率低,大量数据的查询操作通过直接查询Elasticsearch完成,整体的架构性能在吞吐量和实时性
方面会下降。面对这种情况,可以通过延长Redis中数据的过期时间来提高命中率。
1.4 模型引擎
经验引擎在异常行为判断的准确率上存在较大的误差,同时由于基线的固定,导致很多非线性的异常判断场景无法直接应用。因此,异常行为监测系统的模型引擎应运而生。模型引擎基于算法,其基础框架如图3所示。首先确定场景的算法,利用算法对样本数据集进行统计或者训练,形成模型
。当由数据流携带行为信息到来时,进入模型分析,最后模型输出分类的结果。
图3 模型引擎基础框架
异常行为由行为主体和行为事件两个方面组成,由此本文将模型引擎划分为基于行为主体的模型引擎和基于事件的模型引擎。
1.4.1 基于行为主体的模型引擎
行为主体是指事件的执行者,在很多场景下行为主体即是用户。基于行为主体的模型是以行为主体为核心,以行为主体的各种特征为统计或者训练的对象。对行为主体的建模有两种方式。
1)对单个用户进行画像。对每个用户过往的访问记录或者操作记录,进行统计,形成用户操作习性矩阵。当包含行为数据的流量到来时,计算该次行为与用户操作习性矩阵的欧式距离[6]。距离在阈值范围之内为正常,反之则可以判断成异常行为。
2)对用户整体进行建模。通常采用无监督的方式,将用户根据行为习惯进行划分,相似行为习惯的用户会被划分在同一个类别内,如此建立模型。当新的流量到来时,该用户的行为远离自身类别,则可以判断成异常行为。通常可以使用K-means[7]、Apriori[8]、PCA[9]等无监督机器学习算法对用户整体进行建模,也可以使用几种算法混合的方式来进行建模[10],从而提高异常行为识别的准确度。
1.4.2 基于事件的模型引擎
事件是指行为主体的访问或者操作等动作。对于事件,可以用于机器学习训练的特征包括执行的主体、时间、内容等方面。通常使用有监督的分类算法对不同异常监测场景的事件本身进行建模。因为包含正常行为的样本数据量大,所以模型通常建立在正常行为之上。新流量中行为的特征如果不符合
模型,那么就会被模型引擎判断为异常行为。在异常行为监测的场景中,常用的算法有:kNN[11-12]、决策树[13]、朴素贝叶斯[14-15]、神经网络[16-19]、支持向量机[20-21]等。
软膜布
能量传送器基于事件的模型多使用监督学习算法,该类算法在数据异常行为监测的场景下存在冷启动的问题。首先,在数据异常行为监测系统的使用初期,通常会缺乏训练样本。样本量的缺乏会导致训练出的模型拟合度不高,从而会对准确率造成影响。随着接入数据的增多,会逐渐增加样本的数据量,模型的拟合度也会增加,准确率亦会随之升高。其次,在使用初期,需要人工对引擎的判断结果进行反馈,从而使训练引擎知道该条样式属于整理还是反例,随着样本量的提高,训练引擎会逐渐减少对人工接入的要求。目前对于冷启动问题,通常采用经验引擎和模型引擎结合的手段来克服,以减少人工的介入。根据经验引擎和模型引擎的判断结果是否一致,来决定流量样本的类别归属。
2 结论
数据安全风险日益增多,数据的流动路径更加复杂,新形态的数据安全风险不断出现。与之相对应,数据异常行为监测技术出现了以下趋势。
一是多数据源的接入已经成为当前数据异常行为监测的趋势。通过多数据源的监测可以增加监测过程的风险发现维度,提高监测结果的准确性,同时避免漏网之鱼。
二是经验引擎和模型引擎的结合使用成为当前数据异常行为监测的趋势。依靠专家经验无法在第一时间发现新形态的数据安全异常行为,同时基线也无法在第一时间跟随数据安全态势的变化而变化,而模型引擎可以弥补这些缺点。模型引擎可以从主体和事件入手,采用成熟的算法模型对行为数据进行分析,能够发现未知的数据安全异常风险。同时,结合经验模型使用,可以弥补模型引擎冷启动的问题。
参考文献
[1] Inga Goddijn.2019 Year End Report Data Breach
QuickView[R].美国:Risk Based Security,2020
[2] 董帅,莫皓颖,户江民,等.基于探针的网络状态监测技术[J].
通信技术,2019,52(4):908-911
[3] 石贵民,林宏基.基于旁路的网络流量监控模式[J].重庆理工
大学学报,2011(9):63-69
[4] 翟雅荣,于金刚.基于Filebeat自动收集Kubernetes日志的
分析系统[J].计算机系统应用,2018,27(9):81-86
[5] 陈和.运用开源软件Logstash和ElasticSearch实现
DSpace日志实时统计分析[J].应用论文,2015(5):88-93 [6] 赖建华,唐敏.用户异常行为分析方法研究与应用[J].软件导

本文发布于:2024-09-22 14:28:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/247451.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   行为   引擎   进行   用户   系统   监测   分析
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议