原文作者:Alireza,Bahramali,Amir,Houmansadr, Ramin ,Soltaniy, Dennis,Goeckelz,Don, Towsley
原文标题:Practical Traffic Analysis Attacks on Secure Messaging Applications
原文来源:Network and Distributed Systems Security (NDSS) Symposium 2020
原文链接:https://dx.doi.org/10.14722/ndss.2020.24347
即时通讯(IM)应用程序近年来变得非常流行,如Telegram、Signal和WhatsApp。不幸的是,这些即时通讯服务已经成为阅批持续监控和审查的目标,因为这些服务是关于社会和政治敏感话题的公共和私人交流渠道的大本营。
为了保护他们的客户,市面上流行的IM服务部署了最先进的加密机制。在本文中,作者表明,尽管使用了高级加密,但流行的IM应用程序会将其客户端的敏感信息泄露给仅仅监控其加密IM通信的对手,而不需要利用IM应用程序的任何软件漏洞。
与此同时,作者还设计和部署了一个开源的、公开可用的对策系统,叫做IMProxy,它可以被IM客户端使用,而不需要IM提供商的任何支持。
广泛使用的SIM服务没有采用任何机制来模糊其通信的统计特征是可以实现攻击的根本原因。
作者首先建立IM流量特征的统计模型,其次设计了两种流量分析攻击算法。第一个算法(作者称为基于事件的相关器)依赖于我们为SIM通信推导的统计模型,以提供用户与频道的最佳匹配。作者的第二种算法(称为基于形状的算法)将SIM流量的形状关联起来,以使用户与目标频道匹配。
作者实验证明,他们的基于统计检测器优于基于IM训练的深度学习检测器。基于形状的检测器仅需15分钟的Telegram流量就足以识别目标SIM通道的管理员,其准确度为94%,误报率为10-3,而攻击方可以将误报率降低为通过观察一个小时的流量可以得出5×10-5的值。
最后,作者提出针对此类流量分析攻击的对策。
作者将安全即时通信服务定义为满足以下两个属性的即时消息传递服务:
(1)其在用户通信(端到端或端对端)上部署了高度加密。
(2)不受对手的控制或操作。虽然作者所设计的攻击同样适用于非安全的IM应用程序,但是非安全的IM应用程序无需流量分析即可让对手轻松窃听。
市面上流行的IM服务通过使用户流量通过其服务器来中介所有用户通信。这种集中式体系结构允许IM程序提供高质量的服务,但时,由于IM服务器参与所有用户通信,因此这给用户带来了不同的隐私威胁。
所以这些IM程序提供了一些安全功能以实现安全即时通信。比如使用诸如授权密钥和公共密钥证书之类的标准身份验证机制来对IM服务器和对等方进行身份验证、在用户通信上部署了端到端加密等。
主要在以下几个方面:
?米数据泄露
?安全漏洞
?通讯隐私
?审查
攻击方是一个监视组织,例如阅批的情报机构。攻击方的目标是识别目标IM通信中会话的成员(IP地址)或者管理者(IP地址)。
目标IM通信可以是一个关于政治或者敏感话题的公开频道(例如聊天室),或者是目标用户之间的私人即时通信对话。
攻击方需要拦截被监控的IM用户的加密网络流量,例如窃听被监控的用户ISP。
作者演示了对IM服务的根本攻击,这种攻击是通过流量分析来实现的。值得注意的是,攻击适用于所有主要的IM服务。作者提出的3种攻击场景:
(1)目标频道C是公开频道,攻击方直接加入该频道(作为成员),并记录在C上发送的消息及其米数据(例如消息的时间和大小)。
(2)攻击方已经加入目标频道C,并且可以在C上发布消息。
(3)攻击方无法加入C作为成员/管理员,但他已确定C的成员/管理员之一(IP地址)。攻击方窃听所标识成员的(加密)网络流量并记录该流量所识别成员的模式。
之前的一些流量分析手段:
(1)Flow correlation
(2)Flow watermarking
(3)Website fingerprinting
(4)Intersection Attack
(5)Side channel attacks
本文中的流量分析:攻击方拦截实时目标流(例如,通过加入有争议的IM通道),并尝试将其与网络其他部分中监视的流量的流量模式进行匹配(以便以标识目标渠道的成员或管理员的IP地址)。作者首先对IM服务中的流量和噪声行为进行建模,然后在此基础上针对特定场景设计量身定制的流量相关算法。
一般是文本,图像,视频,文件和音频消息。
通信形式:
(1)直接消息是IM用户之间的一对一通信。
(2)专用(封闭)组通信是在多个用户之间进行的通信。
(3)公共(开放)团体通信也称为渠道,是一种广播形式的通信,其中一个或多个管理员可以发布消息,而成员只能阅读这些帖子。用户无需邀请即可加入频道。
数据收集:Telegram
使用Telegram的API来收集1,000个具有不同消息速率的随机信道的通信,每个消息信道持续24小时。对于每个收集的电报消息,我们提取其发送的通道ID,时间戳,消息类型(文本,图片,视频,音频或文件)以及消息大小。
主要根据消息间延迟(IMD)和消息大小进行建模。此外,还对IM流量的通信延迟进行建模。
(1)消息间延迟(IMD)
IM通信中连续IM消息之间的时间延迟称为IMD,使用MLE算法将IMD的概率密度函数紧密地拟合为指数分布。
(2)消息大小
收集了IM消息中五种主要消息类型的大小统计信息和频率。作者使用这些统计数据来创建如图6所示的五状态马尔可夫链,以对IM通信流中发送的消息的大小进行建模。
(3)通信延迟
IM消息的传输延迟有两个原因:网络延迟和IM服务器的处理延迟。
将C当作目标SIM频道(例如,一个政治敏感话题的公开团体)。对于每个IM用户U,攻击者旨在·确定以下哪个假设为真:
H0:用户U与目标频道C没有关联,即她既不是频道C的成员也不是管理员。
H1:用户U与目标频道C相关联,即她正在以管理员身份向该频道发布消息,或者是该频道的成员,因此接收了该频道的消息。
(1)基于事件的检测器,旨在将目标用户流量中的SIM事件与目标通道C的事件进行匹配。
事件提取:每个SIM事件(例如,发送的图像)都会在加密流量中产生MTU大小的数据包突发,即数据包间延迟非常小的数据包,散乱的小数据包是SIM协议消息,例如通知,握手,更新等。
其中突发中最后一个数据包的到达时间给出事件的到达时间t,突发中所有数据包大小的总和给出事件的大小s。形成假设:H0: V不是C中的成员,f(u)和f(c)无关
H1:V是C中的成员,f(u)是f(c)的嘈杂版本
检测算法:满足以下条件时,则表示两个事件相匹配。
(2)基于形状的检测器
该检测器通过关联用户网络流量的形状来将用户链接到SIM通信,其中流量形状指的是随时间变化的数据包长度向量。规范流量形状:流量归一化消除了用户带宽的影响,将每个事件替换为宽度为2×te的流量条,再将每个条形划分为宽度为ts的较小条形,同时在这些条形直接放置相同宽度ts和高度为0的无用条。最终使整个流量变成一个条的高度随时间变化的向量。
关联归一化流量形状:其中,n=min(nc,nu),b是目标频道和被测试用户相关联的条高度的相应向量。corr值越高就代表相似都越高。并且设置了一个阈值η,当corr >=η时则H1成立,反之则H0成立。
根据前述的攻击场景,作者选择了第一种攻击场景,使用两个Telegram账号,模拟攻击方使用客户端与目标客户端,攻击方进入目标频道,并记录其所有的SIM通信,同时攻击方获取目标客户端的通信流量最后通过攻击算法,检测目标客户端是不是目标频道的成员。
参数设置:te=0.5s,ts=0.01s, ?=3s,Γ=10kb
实验中,目标客户端加入了500个Telegram频道,当目标客户端加入500个频道中的一个时,敌手需要检测其加入的相应频道。
下图是在不同检测阈值η和不同流量长度下,实验的TP和FP。
可以看到流量长度对检测性能的影响,即更长的观察时间可以改善攻击的检测性能。
可以看出,对于较小的误报率值,基于形状的检测器优于基于事件的检测器。此外基于事件的检测器比基于形状的检测器快两个数量级。
基于事件的检测器在误报率较小的情况下优于基于深度学习的分类器,同时在较短的流量观察下,这个优势大大增加。
通过标准的规避系统,例如VPN和Tor pluggable transports。下图显示了使用各种规避系统和不同设置的基于事件的检测器的ROC曲线。
结合了两种混淆技术:更改事件的时间(通过添加延迟),以及通过添加虚拟流量来更改事件的大小。下图是两种混淆技术的效果:原文链接