行为画像的鲁棒性

攻击检测与分类

4.2.3.1 定义内涵

攻击检测与分类的含义是针对各类网络实体及其行为,通过有监督或半监督学习的方式,实现攻击 行为的识别,并区分攻击的技战术类型。

4.2.3.2 技术背景

攻击检测与分类是智能化技术与网络安全
数据最早结合的应用场景之一。在入侵检测、Web 攻击检 测、恶意样本及其家族分类、恶意流量检测、恶意邮件识别等多种场景中,为了应对爆炸式增长的数据 规模及攻击模式,弥补传统专家规则在时效性、准确性、覆盖率上的不足,数据驱动的检测与分类成为关键补充。 4.2.3.3 思路方案

攻击检测与分类的关键是融合数据特性的算法建模。网络安全领域的算法建模相对于其他产业有一 定的后发优势,可根据所处理数据的特性,如事件序列数据、时序数据、文本数据、实体关联图数据等, 借鉴相关领域的成熟分析方法
与思路。比较经典的方法,有基于集成模型和动静态特征集实现的恶意软 件家族分类;基于 CNN+LSTM和流量数据包、数据流多层次特征的恶意(加密)流量分类;基于图表 示学习和进程调用关系的无文件 APT攻击检测等等,不一而足。如图 19 所示,借鉴目标检测中定位、 识别的两阶段识别方法,研究者能够以可解释的方式有效识别不同类型的 Web 攻击 [25]。参考 ATT&CK 模型,现阶段包括终端、网络、文件等多源、多维度的二十余类数据的采集,给威胁分析带来全新 的分析机遇。在有效数据标注的基础上,准确的学习攻击样本与正常样本之间的关键模式已不再是 难事。
4.2.3.4 关键挑战

检测与分类的关键在于高质量、有标签的数据集。除此之外,建模过程需要应对网络安全数据的分 布的不一致性
。主要挑战总结如下:
高质量
数据标注

这是决定有监督学习领域技术成败的关键因素之一。攻击样本标签化和数据积累一方面依赖研究积 累,例如企业在样本研究中的样本分析结果;另一方面,攻击靶场中的自动化
攻击模拟能够加速标签数 据的收集过程。
训练数据的局限性

攻防博弈持续升级,决定了训练样本空间只能覆盖有限已知攻击类型的已知实现手段。这种空间分 布不一致性导致训练模型上线后分类和检测性能迅速衰减的困境。

复杂的数据编码、混淆、加密

攻击者的高对抗性,例如自定义数据编码、对抗性混淆、隐匿通信等等,体现在数据上是难解析、 难识别、难定位。许多经典智能算法无法直接应用于安全数据挖掘。无视安全语义的、端到端的统计学 习模型已被证明无法有效应用在安全场景下。

异常行为分析

4.2.4.1 定义内涵

异常行为分析的含义是构建多层次网络实体的行为画像,识别偏离正常行为基线的行为模式,捕获、 召回潜在威胁线索与攻击行为。

4.2.4.2 技术背景

威胁狩猎的关键任务之一是发现威胁线索,从线索入手顺藤摸瓜,以识别攻击者攻击意图,还原、 预测完整的攻击者行为序列。然而,高级威胁具有低频性、隐匿性、对抗性,无文件攻击、隐蔽信道等 攻击技术已成为攻击者突破防御措施的重要手段。然而传统静态指纹规则驱动的检测方法依赖专家经验, 有监督的威胁检测与分类方法对训练数据的采集、标注要求较为苛刻,以上两种经典方案主要针对已知 威胁检测,同时在动态对抗环境下检测效果不理想。

4.2.4.3 思路方案

异常行为检测的关键是正常行为模式建模与离群(异常)点检测算法设计。行为分析的主体是网络 环境下的各类实体,包括系统相关的(进程、网络、文件等)、应用相关的(API 调用、业务数据流等)、 用户相关的(登录、访问等)等多维度、多层次可观测数据源。针对任何一类实体行为数据的建模,可 对应一种具体的威胁分析场景。行为画像建模的关键在于通过统计建模、机器学习、策略抽象的方式, 识别实体正常行为的关键参数与结构。常用的技术包括频率统计、聚类、编解码器、时序模型、隐马尔科夫建模等。在行为画像模型的基础上,对动态输入的未知行为执行离群点检测。离群点或异常点,指 在数据模式中与大多数据点特征偏离较远的点。离群点的检测技术实现基于行为画像模型的构建方式。 从数据特征建模的角度来看,主要包括基于距离的方法、基于密度的方法、基于统计阈值的方法、基于 信息熵的方法、基于图的方法等等。不同的场景下,异常行为分析的数据粒度可能不同,整体来看,行 为分析具有较强的环境自应性,并且不依赖特征指纹与恶意样本,能够有效召回不同网络环境、不同 攻防周期内的异常行为,是对传统静态的、针对已知威胁检测的有效补充。

用户及实体行为分析 UEBA技术的核心实现就是异常行为分析。行为分析是分析攻击者战术、技术、 过程(Tactics, Techniques, and Procedures, TTPs)的基础,是一个动态分析过程。分析中实体(包括 UEBA中的用户与实体)的选择,决定了分析场景与数据采集的粒度。以图 20 为例,通过异常进程行 为分析技术来实现对 ATT&CK矩阵中的 T1055 进程注入(Process Injection)这一攻击技术的检测 [26]。 该方案通过采集终端侧的进程行为数据,构建进程调用依赖图(Process Provenance Graph)。基于异 常共现频率分数实现图上异常路径特征取,进而通过语言模型完成进程实体序列的向量化表示,实现 进程异常派生关系的识别与检测。该方案不依赖任何进程黑白名单、进程调用特征,仅通过进程的历史 调用模式完成隐匿恶意文件的动态行为分析。

4.2.4.4 关键挑战

异常行为分析是典型的数据驱动威胁狩猎方法。不同于规则驱动和样本驱动的检测,异常检测方法 对数据有很强的敏感性,并且整体缺乏安全语义支撑,异常检测结果误报率较高。以下总结技术实现的 关键挑战。

行为画像的鲁棒性

网络空间数据的画像面临数据噪声难识别、行为模式混杂、缺乏稳定性等多因素的技术难题。然而, 异常检测的关键在于对正常模式的精确建模,所采用的模型、算法缺乏鲁棒性将导致后续的异常检测性 能大幅衰减,误报率大幅提升。

异常检测的可解释性

离群点、异常点检测方法普遍基于高维度数据特征。抽象特征、黑盒模型所产生的异常判断难以被 运营人员所理解,将限制异常行为分析结果的可信度、可用性。

阈值判断的自适应性

影响误报率的另一关键因素,是异常检测模型的阈值设置。当前,离群点的检测仍然依赖关于“偏 离阈值”的先验知识。偏离阈值可以是距离、密度、关联度等与数据结构、模型算法相关的经验参数。 宽松的阈值设置会导致系统触发大量非威胁相关的误报,严苛的阈值可能导致攻击事件漏报。根据环境 动态变化自适应、自动化调整参数阈值,才能合理平衡指定场景下的误报代价与漏报风险。

参考资料

绿盟 AISecOps智能安全运营技术白皮书 2020

友情链接

GA 313-2021 警鞋 男毛皮鞋

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
笔者曾混迹过各种攻防演练活动,参与过防守方、攻击方,也算是大概了解了每一个队伍的任务~参加防守时印象尤为深刻,也跟一起防守的“战友”做过有趣的事情,例如:反打攻击队;题外话说的有点多了,来说说为什么开发这样一个平台:作为一个防守方光看日志固然是枯燥无味的,偶尔来几次反向打击啥的,增添防守的乐趣~所以我想到了做这样一个系统,就是想在“空暇”时间能获取点“黑客攻击者”的“画像”。 本平台采用被动式的方式分析黑客攻击者画像,可扩展赋能蜜罐以及安全设备,将平台接口部署在蜜罐Web界面上即可,当攻击者访问所部署的Web界面即触发平台分析功能,对访问者进行分析,数据回传平台分析其网络身份、IP、IP定位:物理地址等信息。 AHRID 信息展示 平台支持接口授权的方式授权站点,已授权站点才可使用平台接口进行被动式的攻击者画像分析以及数据回传。 AHRID 接口授权 平台的分析功能采用模块化设计,可针对不同的分析功能新建不同的分析模块进而让平台的分析功能更加丰富完善(开源版本目前只支持JSONP探针模块) AHRID 提交模块 AHRID开源版使用 授权使用 登录进AHRID平台之后需要先添加接口授权: AHRID 接口授权 当添加完毕后,复制接口代码至蜜罐页面或需监测的页面中即可(建议复制到最后),这样就已经部署成功了,只需要等待攻击者触发数据回传功能,等待画像信息即可。 模块提交 当已经发现一个JSONP劫持漏洞时,即可提交到AHRID平台上: JSONP 劫持漏洞 漏洞地址:http://my.website/dorabox/csrf/jsonp.php?callback=test 要获取的信息:username 模块提交说明: 1. 名字模块名字(建议使用英文) 2. SRC存在JSONP劫持漏洞的URL地址 3. 回调参数值回调参数的值(参数=值) 4. 数据字段JSON字段(例如:{"username":"123"},要获取的是username即填写username;例如:{"data":{"uid":"123"}},要获取的是uid即填写data.uid) 5. 信息展示地址一般填写无或者随意填写 6. 模块描述根据模块功能说明 AHRID 模块提交示例 AHRID开源版设计概述 当攻击者访问到部署了AHRID接口的页面,即触发JSONP探针获取攻击者已登录状态下的登录信息,回传登录信息+IP+UA,后端会对IP进行物理地址转换,最终将数据记录到数据库。 数据库结构 表:Admin - 列:id,username,password 表:Hackinfo - 列:hid,host,ip,user_agent,jsondata,creaye_time,times 表:Plugins - 列:pid,name,src,callback,columns,url,commit 表:Apis - 列:aid,host IP地址转换依赖:GeoLite2-City.mmdb IP定位依赖:接口 apis.map.qq.com、way.jd.com + 取中心点 依赖环境:Python2 + Flask + Mysql 所需网络环境:互联网(可出网) AHRID开源版搭建 1.config.py 配置文件修改 需要配置的信息如下: USERNAME: Mysql用户名 PASSWORD: Mysql用户密码 HOST: Mysql主机地址 PORT: Mysql端口 SECRET_KEY: SESSION 秘钥(建议16位以上随机英文字母+数字+特殊符号) TX_KEYS: 腾讯接口KEYS(2个以上,参考:https://lbs.qq.com/webservice_v1/guide-ip.html) JCLOUD_KEY: 京东云接口KEY(Github可白嫖) 2.Mysql创建“ahrid”数据库 3.执行如下代码 python manage.py db init python manage.py db migrate 4.启动服务:sudo python app.py 默认端口为:80,可自行修改app.py文件如下代码部分 server = pywsgi.WSGIServer(('0.0.0.0', 80), app)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值