跳板攻击中如何追踪定位攻击者主机(上)
  

会飞的鱼儿 420

{{ttag.title}}
一、跳板攻击

那么究竟什么是跳板攻击,跳板攻击究竟是如何做到信息进行匿名化的?
跳板攻击是指攻击者利用多个“跳板主机”, 即通过控制多个主机转发攻击数据包。攻击者事先控制多个跳板主机, 利用跳板转发攻击数据包。但是在受害主机端, 只能看到攻击数据包来自于最后一跳的主机, 而不能识别出真正的攻击者,所以跳板攻击的真正目的就是隐藏攻击者。而且跳板路径越长, 越难追踪攻击者。



二、跳板检测

Step-stone Detection对于跳板攻击,取证人员在检测到攻击数据包后, 其源IP地址是最后一跳“跳板主机”的IP地址, 那么在这种情况下如何追踪定位攻击者的主机?
在这一问题中, 由于在受害主机端可以观察到最后一跳的IP地址, 因此追踪问题就转化为如何沿着攻击路径上的跳板, 逐跳验证是否确实存在“跳板主机”。我们首先要解决:跳板检测(Step-stone Detection), 即如何确定本地网络中存在攻击者的跳板?假设网络安全人员完全控制本地网络, 能够对进出本地网络的网络流量进行监控。
若攻击者的跳板位于本地网络内, 由于跳板只是起一个攻击数据包转发的功能, 一般不会对攻击数据包进行修改, 因此进出网络的攻击数据包会具有相似性, 通过对进出网络的网络流量进行监控, 检测这种攻击数据包的相似性, 即可判断本地网络内是否存在跳板。
若攻击者的主机就位于本地网络内, 则在一定时间内, 攻击者会发出攻击数据包, 而不会有进入本地网络的攻击数据包, 因此也可以通过对进出网络的网络流量进行监控,。如发现只有出的攻击数据包而没有进入的网络数据包, 则可以判断攻击者主机位于本地网络内。

在跳板攻击检测中, 存在一个前提条件, 即进入的攻击流量和转发的流量间隔时间不能很长, 否则很难将入的流量和出的流量关联在一起。这一间隔时间用攻击者的最大容忍时间来表示。如果间隔时间大于最大容忍时间, 例如攻击者向跳板发送命令后, 跳板不是立即转发攻击者的命令, 而是采用计划任务等方式, 让跳板在设定的时间再转发数据, 则在这种情况下现有的方法都将失效。
由于攻击者为了逃避检测, 可以将数据流量进行加密, 因此将情况分为流量未加密情况和加密的情况。
1) 数据包未加密
S.Staniford-Chen与L.Heberlein首次提出跳板检测问题。即使用数据包的明文内容的指纹来判断不同的数据包是否具有相同的内容, 从而建立流量间的关联。
2) 数据包加密
由于数据包进行了加密, 无法对数据包的内容进行检查, 因此主要思想是对数据流的特征进行检测, 如数据包的时序特征。
(1) 假设攻击者不会有意识改变数据包的特征
《 Detecing stepping stones》中首次提出基于数据包时序特征的检测方法。他们观察到在一个数据流中存在没有数据传输的时间间隔, 将这一时间间隔定义为“关”周期, 而在相似的数据流中, “关”周期的特征是相同的, 因此通过这一特征来关联入的流量和出的流量,但该方法要求连接是同步的。
《Finding a connection chain for tracing intruders》则定义了数据传输的平均延迟和最小延迟两个指标来识别数据流的模式, 通过这两个延迟时间计算两个数据流的偏离程度, 如偏离程度小于一定阀值, 则认为两个数据流具有较高的关联度。

文献《Inter-packet delay-based correlation for tracing encrypted connections through stepping stone》定义了一个滑动窗口, 计算滑动窗口内数据包之间的间隔时间, 根据数据包间隔时间的特征来进行关联。《Mining and detecting connectionchains in network traffic》中测试了基于关联规则挖掘算法, 若“入”数据包和“出”数据包的时间差值小于预设的数值, 则将这两个数据包进行关联, 根据流中数据包关联的置信度和支持度。来判断“入”的数据流与“出”的数据流是否具有关联关系。

(2) 假设攻击者有意识改变数据包特征

① 攻击者改变数据包的时序特征
在《Multiscale stepping-stone detection: detecting pairs of jittered interactive streams by exploiting maximum tolerable delay》首次考虑攻击者可能会有意识改变数据包的时序特征, 但假设有一个攻击者的最大延迟容忍时间。
它基于小波变换来检测流量的关联性。假设攻击者数据包的到达服从泊松分布或者帕累托分布, 进行了一些理论分析, 但没有给出需要捕获多少数据包才能以一定概率得到正确检测结果的分析。

《Robust correlation of encrypted attack traffic through stepping stones by manipulation of  inter-packet delays》给出了一个基于水印的方法检测流量关联性, 在入流量中填加水印信息, 在出流量中检测是否存在水印信息, 但它假设攻击者数据包之间的时间间隔是独立同分布的。《a robust and invisible non-blind watermark for network flows》同样采用嵌入水印的思想, 通过记录入流量数据包的到达时间, 在一个初始延迟时间的基础上, 再增加或减小一个微小的时间来作为水印信号, 能够获得更好的鲁棒性。

《A signal processing perspective to stepping-stone detection》中假设攻击者随机延迟数据包, 跳板中继的数据包不能丢包、不能乱序、不能增加数据包, 不依赖于数据包大小, 给出了检测方法和理论分析。
该方法根据两个约束条件: 出的数据包时间大于入的数据包时间; 出的数据包时间减去入的数据包时间小于最大延迟容忍时间, 将入的数据包关联到出的数据包, 然后假设数据包的顺序不会发生变化, 降低算法的复杂度。

②攻击者增加额外的数据包

攻击者可以有意识的在中继后的数据流中插入额外的无用数据包,来破坏输入和输出数据流之间的关联关系。针对这种情况假设攻击者在一段时间内能够插入的多余数据包数目是有限的, 通过匹配输入与输出的数据包, 给出了可以抵抗增加多余数据包的跳板检测算法。

③攻击者同时改变时序特征和增加额外数据包

在《A signal processing perspective to stepping-stone detection》中Ting He, Lang Tong假设攻击者在跳板中同时增加数据包的随机延时和多余的数据包, 并假设这两种改变是统计独立的, 基于数据包匹配的方法给出了检测算法。

前述方法都是针对攻击者主机到受害者主机的流量通过跳板时的入流量与出流量的关联分析, 而《Stepping stone detection via request-response traffic analysis》文章中是将攻击者主机到受害者主机的流量通过跳板时的出流量与受害者主机回传给攻击者的流量通过跳板时的出流量进行关联, 定义前者的数据包数为 Send, 后者的数据包数为 Echo, 指出如果两个流量具有相关性, 则(Echo-Send)和(Echo+Send)具有线性关系, 而如果两个流量没有关系, 则不具有这种线性关系。

发表新帖
热门标签
全部标签>
西北区每日一问
每日一问
干货满满
技术盲盒
技术笔记
产品连连看
GIF动图学习
技术咨询
标准化排查
新版本体验
安装部署配置
功能体验
2023技术争霸赛专题
信服课堂视频
自助服务平台操作指引
每周精选
解决方案
设备维护
秒懂零信任
升级
高手请过招
升级&主动服务
答题自测
玩转零信任
信服圈儿
通用技术
技术晨报
社区新周刊
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高频问题集锦

本版热帖

本版达人