日志易
作者日志易·2022-03-31 17:06
其它·日志易

一文详解|可疑数据外泄检测之PCR模型的应用

字数 2335阅读 894评论 0赞 0
背景概述

数据外泄 是指企业或组织中IT系统中敏感、机密或受保护的数据,有可能在未经授权的情况下被复制、检索或传输。对企业或组织而言,数据外泄可能包括个人健康信息(PHI)、个人验证信息(PII)、商业秘密或知识产权等。而数据外泄最常见的方式是 攻击者侵入企业网络窃取敏感数据 (被动)或 内部人员泄密 (主动),两者都会严重损害企业经济与名誉,甚至涉及法律责任。要在不限制用户访问正常应用程序的情况下,充分阻止向恶意应用程序上传或下载数据,使针对数据外泄的检测和防御变得更加困难。因此, 对网络流量进行主动、持续的监控是检测和防御数据外泄的有效方法之一。 QoSient的Carter Bullard和斯坦福大学的John Gerth在2014年的FloCon提出了利用PCR监控数据外泄的方法。 本篇文章将向大家阐述,如何利用PCR(Producer-Consumer Ratio)规则模型分析主机是否存在可疑的数据外泄事件。

PCR介绍

PCR是表示应用程序传输方向的一种标准化值,而且PCR是以每个Host为基础计算的。 这是一个有趣的数学模型,因为它很好地表示了流量模式,但忽略了许多容易使理解变复杂的细节,比如发送或接收的实际数据量、流的数量以及包的数量等。PCR的计算方式如下:

编辑 切换为居中

添加图片注释,不超过 140 字(可选)

PCR将一切归结为一个处于-1.0到1.0区间范围的简单数字,并且不同区间的值所代表的含义不同,如下表:

PCR主机行为
1.0纯推送-FTP上传、多播、信标(Pure Push-FTP Upload、Multicast、Beaconing)
0.470:30输出-发送邮件(70:30 Export-Sending Email)
0.0平衡交换-NTP、ARP探针(Balanced Exchange)
-0.53:1输入-HTTP浏览(3:1 Import - HTTP Browsing)
-1.0纯拉取-HTTP下载(Pure Pull - HTTP Download)

编辑 切换为居中

添加图片注释,不超过 140 字(可选)

这个模型的想法是,随着时间的推移跟踪每一个Host的PCR值,当某一个Host的PCR值出现显著变化时,则可能预示着数据外泄。 在此需要注意,单一的PCR值只能表示该Host取值时的行为,并不能以此作为数据外泄的依据。

PCR场景

经讨论,本次对PCR的研究主要分两种场景:

  1. 攻击者对目标发起信息传输的请求,目标随后将目标数据发送给请求方;
  2. 攻击者在目标机器上主动发起向外通讯,如包含数据的邮件外发等。

场景一:下载数据

编辑 切换为居中

添加图片注释,不超过 140 字(可选)

如上图所示,此场景假设攻击者入侵企业网络窃取敏感数据,从服务器下载敏感文件到客户端。攻击者处于客户端A(Src),目标为服务器B。A向B发起请求(A为客户端,B为服务器),B接到请求后将数据回复给A,因此从A到B的通信为to_server,从B到A的通信为to_client。在此场景中,客户端A是我们计算PCR值的目标:

编辑

添加图片注释,不超过 140 字(可选)

根据上述关系,使用以下SPL语句计算客户端A的PCR值:

编辑 切换为居中

添加图片注释,不超过 140 字(可选)

计算结果如下图所示:

编辑 切换为居中

添加图片注释,不超过 140 字(可选)

在此场景中,当PCR值处于-1 PCR 应用

虽然上述单一PCR值可以告诉我们,对应的Host在某一时间点流量对应的行为,但是这样并不能很明确地表明某一个Host存在数据外泄的行为。而在现实环境中,我们也无法对Host的每一个单点PCR作出人为验证,这样浪费安全人力资源且效率低下,在较复杂的环境中难以发现真正的数据外泄行为。因此,我们需要用到上文提到的PCR模型建设想法,即随着时间的推移跟踪每一个Host的PCR值,当某一个Host的PCR值出现显著的变化时,则可能预示着数据外泄。

具体方法为:

  • 选定对应场景
  • 设定时间框架,计算出Hosts的Baseline PCR作为对比基线(计算基线时应确保Hosts处于无攻击状态,即纯净状态)
  • 当单点PCR与PCR基线产生大幅偏移时,则标示着存在可疑数据外泄行为
  • 可应用数据可视化工具将PCR数据集进行展示

Exception :在利用PCR模型进行数据外泄的检测时,如果攻击者有刻意上传与下载相同字节数的行为时,将对检测结果产生影响,并可能绕过此模型的检测。在这种情况下,PCR将为0,指向Balanced Exchange,但是以这种方式外流的可能性较小。

总结

虽然PCR模型可以有效地检测数据外泄事件,但可能无法适用于所有的现实情况,而且在实际环境中,情况可能更复杂,企业或组织还是要以安全政策结合不同技术手段为主体,建立起合适自身的数据安全防护机制。

References

FloCon 2014

https://qosient.com/argus/presentations/Argus.FloCon.2014.PCR.Presentation.pdf

O’Reilly

https://www.oreilly.com/library/view/threat-hunting/9781492028260/ch04.html

Detecting Data Staging & Exfil Using the Producer-Consumer Ratio

http://detect-respond.blogspot.com/2016/09/detecting-data-staging-exfil-using-PCR-shift.html

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广