画像技术在执法记录仪系统安全防护中的工程应用研究
2021-08-19但唐仁林中都
但唐仁 林中都
(1.深圳信息职业技术学院,广东深圳 518172;2.深圳市华谕电子科技信息有限公司,广东深圳 518172)
1 执法记录仪系统组成概述
执法记录仪系统广泛应用于公检法、城管等行业执法,是由可视化指挥调度平台和记录仪终端两部分组成。其中可视化指挥调度平台包括设备服务、WEB服务、业务服务、存储服务、流媒体服务、Stun/Turn服务等模块功能,通过SaaS化平台部署,实现执法仪终端设备网联化管理和应用。该系统能提供丰富的终端接入能力,为上游中小厂商降低其设备联网管理的壁垒;能提供组件化功能调用,为中下游集成商输出功能组件,增强其集成交付能力;能提供“端+网+业务+平台”多重安全防护,确保网络安全,其中记录仪终端设备的安全防护就在于画像技术的应用。
2 基于机器学习的物联网节点行为画像模型的一般分析
在当前的研究成果中,利用物联网异常行为感知用于画像技术的机器学习算法主要有[1-2]:基于数据聚类算法、基于遗传算法、基于粒子群算法等算法,在物联网安全防护中,异常行为的感知主要有两种方法:(1)基于阈值的监测方法,即如果物联网传感数据超过设置的某个阈值,则认为事件发生;(2)基于模式的监测方法,即根据传感数据,采用模式识别的方法,判决事件是否发生。在本执法记录仪系统安全防护中,利用数据聚类算法中的决策树算法感知节点异常行为,建立如图1所示的物联网终端设备网络访问行为画像数据模型,思路如下:
图1 物联网终端网络访问行为画像数据模型Fig.1 Data model of Internet of things terminal network access behavior
(1)节点的分裂:基于三大节点判断,即基本属性、网络流量统计属性、网络流量异常属性,并将大节点分成n个子节点;
(2)阈值的确定,采用ID3决策树[3],由增熵(E)原理来决哪个做父节点,哪个节点需要分裂。对于一组数据,熵越小说明分类结果越好,熵定义如式1所示:
物联网节点行为画像技术主要是应用于安全防护管理,设计用户画像模块,从用户登录的信息、连接的服务器统计、访问本地文件系统统计、鼠标键盘等行为数据等维度出发,建立其用户行为的完整轮廓。不仅仅关注用户所产生的流量,而且从多个维度上对用户的自然属性、操作习惯等特征进行提取和建立指标体系,并利用语义挖掘技术提取更深层次信息,从而帮助管理者量化地认知用户以及用户的安全形势。
3 执法记录仪系统画像技术的实施过程
执法记录仪系统首先是执法仪终端多数据源采集数据,包括流量、日志在内,同时还收集用户的自然属性,其次将数据进行预处理,除传统的统计性描述之外,还对非结构化数据进行语义提取,获得向量化表示,然后综合使用聚类、群组划分、推荐等机器学习算法,对用户画像进行建模,最后基于用户模型对数据预测,保护执法记录仪系统安全,如图2所示。
图2 画像技术的实施过程Fig.2 Implementation process of portrait Technology
3.1 用户多数据源的获取
从数据来源上看,执法记录仪系统数据主要有IP资产画像(IP地址、域名反查、归属运营商、关联威胁情报、攻击行为、资产类型等)、域名画像(域名信息、关联IP、关联子域名、Whois信息、ICP备信息、关联威胁情报等)、失陷主机数据、区域安全报告、黑客组织及活动威胁情报。
从数据结构上看,在本系统中可分为三大类,即结构化的数据、半结构化数据和非结构化数据,其中结构化的数据包括:工作特征(如工作时长、工作量、加班时长,工作时间段等)等;半结构化数据包括:系统操作(如权限合规性、常用功能、操作频率、操作时间段、有效操作数等),敏感操作(如越权操作、非本人操作、数据泄露等)、IP信誉、域名测绘数据等以及第三方标准接口获取的数据;非结构化数据主要是流量的具体内容,格式上有文字、图片、音频、视频等。
3.2 数据预处理
主要对结构化和半结构化的数据进行处理。处理的主要方向有两个:统计性描述和向量化描述[4]。在机器学习之中,非数字的数据,在不转化的前提下,只能进行onehot嵌入,没有太大的实际意义。而基于关键字的提取,提取出的关键字需要再进行一次归类以减少类别数,这种方式显得很累赘,并且没有直接地对数据进行数学上的表示。为了解决这个问题,对于文本型的非结构化数据,使用doc2vec来提取文档地向量化表示。Doc2vec与word2vec稍有不同,在推测下一个单词时,doc vector会与word vector连在一起,共同进行推测。在训练完成之后,每个word都会被映射到一个独特的vector上,并且每篇doc也会被映射到一个独特的vector上。此时,这个doc vector就可以用于后继的机器学习任务中,并且类似于word vector,doc vector也具有一定程度上衡量两份不同文本之间相似度的能力。
3.3 建立用户模型
3.3.1 用户的应用行为模型
根据行为进行群体划分,同一群体中所有用户发生的行为当作群体中每一位成员的行为基线,训练步骤如下:
(1)使用HTTP协议数据,拆分IP和URL,找出用户、应用、动作。(2)添加外部条件,如时间划分,来定义应用行为。(3)计算用户行为矩阵(UV矩阵)。(4)根据UV矩阵使用聚类方法(Kmeans、高斯聚类、密度聚类),找出行为相似的用户群。(5)批操作(3次),当该群组某个用户在满足上述条件下,进行了审批操作100次,那么将报出异常。
3.3.2 用户的数据行为模型
以用户为对象,计算出每个用户对于每种应用的数据行为基线。训练步骤如下:
(1)分别采集某个用户使用的每种应用涉及的文件。(2)针对特定用户-特定应用涉及的文件,进行内容性信息提取。(3)对内容性信息进行分词,并且通过doc2vec提取出doc vector。(4)使用内置关键词库的LDA主题模型,进行内容分类(topic)和敏感词提取(关键词),得到两种结果:“用户-应用-敏感词(次权限)-标签(首权限)”、“标签(首权限)-敏感词(次权限)”。(5)根据doc vector,使用聚类方法[5](Kmeans、高斯聚类、密度聚类),划分出相似的数据群组。根据用户对不同数据群组的使用情况(次数、频率、时间段等),对用户使用数据的行为构造基线。
3.4 基于用户模型预测
3.4.1 预测用户的行为
(1)抽取描述该行为的特征[6-7]:获取访问的host返回的response正文内容,进行分词,使用LDA主题模型,提取关键词或主题,以此作为该行为的特征。(2)学习用户的偏好特征,推荐其喜好的行为(HOST):分类器方式:通过获取的用户喜好的HOST(有访问过的)和不喜好的HOST(没访问过的)特征数据,构建分类器。当出现新的一批HOST,通过分类器可以识别用户是否对该HOST感兴趣。(3)最近邻相似性方式:对于一批新的待检测行为(HOST),利用用户过去访问过的HOST,提取出特征向量,使用欧式距离或cosine距离,计算用户历史访问过地所有行为中,与该批行为最相似的K个行为,然后找出距离最小或最相似的行为,作为推荐结果。
3.4.2 预测用户使用数据的行为
(1)抽取历史行为特征:将用户历史使用的数据,提取doc vector,进行聚类后,得到经常使用的数据的所属分类,次数,频率,时间段等信息。(2)使用聚类(Kmeans、高斯聚类、密度聚类等)方法,寻找与该用户的数据行为相近的用户。(3)从这群相似的用户中,找出该用户没有使用过,但在用户群组中很有可能使用的数据类别,并认为该用户有一定可能使用该类别的数据,从而在这类情况不报告为异常。
3.4.3 检测用户异常使用数据行为
(1)获取用户在该应用性操作的文件。(2)进行内容性信息提取。(3)对内容性信息分词。(4)分词结果与“标签(首权限)-敏感词(次权限)”表进行匹配,找出文件属于每一类标签的概率。(5)根据文件的类标签列表,与该用户的标签列表进行匹配,确定与该有用户的标签列表重合程度,如果重合程度低,则告警。
4 结语
对执法记录仪系统的攻击主要来自记录仪终端设备的入侵,通过利用决策树算法感知节点异常行为,建立物联网终端设备网络访问行为画像数据模型。在具体实施过程中,先多数据源采集数据,再经过数据预处理、建立用户模型,最后基于用户模型进行数据预测,判断出记录仪终端设备的入侵攻击数据,从而保护了执法记录仪系统的安全。