热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

对安全即时通讯软件的流量分析攻击(上)

 近年来,像Telegram,Signal和WhatsApp这样的即时消息(IM)应用程序变得非常流行。此类即时消息服务一直是被持续监视和审查的目标,因为这些服务是社会和政治敏感主题的公共和私人沟通频

 

近年来,像Telegram,Signal和WhatsApp这样的即时消息(IM)应用程序变得非常流行。此类即时消息服务一直是被持续监视和审查的目标,因为这些服务是社会和政治敏感主题的公共和私人沟通频道的所在地。为了保护客户,流行的IM服务部署了最先进的加密机制。在本文中表明,尽管使用了高级加密,但流行的IM应用程序会将其客户端的敏感信息泄漏给仅监视其加密IM流量的攻击者,而无需利用IM应用程序的任何软件漏洞。具体而言,设计了流量分析攻击,使攻击者能够以较高的准确性识别管理员以及目标IM频道(例如论坛)的成员。研究表明,此类服务的用户面临着巨大的现实威胁。

 

0x01 Introduction

近年来,像Telegram,Signal和WhatsApp这样的即时消息(IM)应用程序已变得非常流行。最近的研究估计,全世界有超过20亿人在使用移动IM应用程序。 IM服务使用户能够形成私人和公共社交团体,并交换各种类型的消息,包括文本消息,图像,视频和音频文件。特别是,IM应用程序被广泛用于交换具有政治和社会敏感性的内容。结果,政府和公司越来越多地监视通过流行的IM服务进行的通信。

IM服务的一个显着例子是Telegram,在全球拥有2亿用户,其中很大一部分用户来自伊朗和俄罗斯等媒体法规严格的国家/地区。特别是,Telegram在伊朗受欢迎以至于据估计它消耗了伊朗60%以上的互联网带宽。因此,伊朗官员采取了各种措施来监视和阻止Telegram:从请求Telegram在伊朗境内托管其某些服务器以启用监视,到请求Telegram消除有争议的政治和非政治渠道。最终,由于Telegram的不遵守规定,伊朗于2018年4月完全封锁了Telegram。尽管如此,统计数据表明,通过各种VPN连接到Telegram的伊朗用户仅略有减少。俄罗斯Telegram也被封锁,因为电报运营商没有将其加密密钥交给俄罗斯官员进行监视。

一个基本漏洞:流行的IM应用程序(例如Telegram,WhatsApp和Signal)部署加密(端对端或端对端)以保护用户通信。将此类服务称为安全IM(SIM)应用程序。在本文中,演示了尽管使用了高级加密,但流行的IM应用程序仍将有关其客户活动的敏感信息泄漏给监视方。具体而言,证明监视方能够仅使用低成本的流量分析技术就能以很高的准确性识别目标IM通信(例如,政治敏感的IM频道)的成员和管理员。请注意,攻击不是由于安全漏洞或错误的软件实现引起的;尽管很重要,但这种安全漏洞很少,一旦被IM提供商发现,便会立即修复。相反,攻击仅通过监视IM用户的加密IM流量,并假设底层IM软件是完全安全的,即可进行监视。造成攻击的主要因素是,由于混淆对此类服务的可用性和性能造成影响,因此主要IM运营商并未部署任何机制来混淆流量特征(例如,数据包时间和大小)。因此,认为攻击在主要的即时IM服务中显示出一个基本漏洞,并且正如将演示的那样,它们可以对所有主要的IM服务起作用。

贡献:为SIM卡通信设计流量分析攻击算法;攻击的目的是确定目标SIM卡通信的管理员和/或成员。受到攻击的原因是,广泛使用的SIM服务没有采用任何机制来模糊其通信的统计特征。

从建立IM流量特征的统计模型开始,这样的模型对于寻找对SIM服务的有效流量分析攻击至关重要。为了对IM通信建模,加入了1000多个公共Telegram频道并记录了它们的通信,基于此导出了IM流量功能的统计模型。使用SIM模型来得出有关流量分析算法有效性的理论界限;还使用统计模型生成任意数量的综合SIM频道,以增强经验评估的可信度。

基于用于IM通信的统计模型,使用假设检验来系统地设计有效的流量分析攻击算法。具体来说,设计了两种流量分析攻击算法;第一个算法(称为event-based的相关检测器)依赖于为SIM卡通信推导的统计模型,以提供用户与频道的最佳匹配。第二种算法(称为shape-based的算法)将SIM卡流量的形状关联起来,以使用户与目标频道匹配。与基于事件的算法相比,基于形状的算法速度较慢,但提供了更高的准确率检测性能。在实践中,攻击者可以将这两种算法串联起来,以优化计算成本(和可扩展性)与检测性能之间的关系。请注意,正如通过实验证明的那样,统计检测器的性能优于基于IM训练的基于深度学习的检测器。这是因为,深度学习流量分类器仅在统计模型变得不可靠的具有非平稳噪声条件(例如Tor)的网络应用中胜过统计分类器。

对实时和合成SIM卡流量进行了广泛的实验,以评估攻击的性能。证明了算法在公开目标SIM卡通信的参与者方面具有极高的准确性。特别是,证明基于形状的检测器仅需15分钟的Telegram流量就足以识别目标SIM卡频道的管理员,其准确度为94%,误报率为10^(-3),而攻击者可以减少误报通过观察一个小时的流量将其提升为5×10^(-5)(攻击者可以分层进行此操作,例如,通过监视使用15分钟流量标记的用户以获取更长的流量间隔)。

 

0x02 Secure Instant Messaging (SIM) Applications

将安全IM(SIM)服务定义为满足以下两个属性的即时消息传递服务:

(1)它在其用户通信(端对端或端对端)上部署了强大的加密功能,

(2)它不受攻击者的控制或操作。

虽然攻击也适用于非安全IM应用程序,但攻击者可以使用其他技术来破坏非安全IM服务的隐私。例如,如果即时通讯服务的运营商与监视者全面合作,即时通讯提供商可以让攻击者识别目标用户而无需流量分析机制。同样,无需进行复杂的流量分析攻击就可以轻松窃听具有弱加密的IM服务。下表概述了一些最受欢迎的SIM服务。


A. SIM服务如何运作

体系结构:如上表所示,所有主要的IM服务都是集中式的。因此,此类服务中的所有用户通信都是通过IM提供者公司托管的服务器(例如Telegram Messenger LLP)进行交换的(请注意,一些不受欢迎的服务使用对等服务-对等架构,例如FireChat,Ring和Briar)。每个IM服务都有一个用于身份验证和密钥交换的服务器。数据库服务器存储消息内容和其他用户信息(可能使用客户端密钥加密)。一些IM使用Content Delivery Network(CDN)来运行其数据库,以提高服务质量并抵御攻击。现有的IM服务使用各种消息传递协议进行用户通信,包括Signal,Matrix,MTProto 和 Off-the-Record。这些协议的每一个都涉及几个阶段,包括身份验证,密钥交换,消息传输,重新密钥和MAC密钥发布。

流行的IM服务通过使用户流量通过其服务器来中介所有用户通信。这样的集中式体系结构允许IM提供商提供高质量的服务,并解决关键问题,例如与脱机客户端和NAT /防火墙后面的客户端进行连接。但是,由于IM服务器参与所有用户通信,因此这给用户带来了不同的隐私威胁。某些IM服务会部署端到端加密来减轻这种情况,如下所示。

安全功能:IM服务使用标准的身份验证机制(例如授权密钥和公共密钥证书)来对IM服务器和对等方进行身份验证。而且,他们使用标准技术来确保消息的完整性。所有主要的IM服务都对用户通信进行加密以保护机密性。一些IM提供程序还在用户通信上部署了端到端加密。这样可以防止IM操作员看到通讯内容。但是,他们仍然可以看到通信元数据,例如,谁在与谁聊天,何时与谁聊天。 WhatsApp,Skype,Line以及Telegram和Facebook Messenger提供端到端加密,而WeChat,Snapchat和BlackBerry Messenger不提供。

此外,包括WhatsApp,Viber,Signal和Facebook Messenger在内的几家主要的IM提供商通过使用短期会话密钥进行用户通信,为保密提供了完美的方法。请参考Johansen等。


B. IM服务的先前安全性研究

元数据泄漏:Coull和Dyer[1]率先将流量分析应用于消息传递应用程序。它们演示了流量分析攻击,这些攻击可以推断目标Apple iMessage用户的各种元数据,特别是操作系统版本,IM操作的类型以及某种程度上的对话语言。最近,Park和Kim[2]对韩国的KakaoTalk IM服务进行了流量分析,以使用基本的分类算法识别用户的在线活动本文工作与这些工作不同之处在于,探测器的设计依赖于IM通信的理论基础和精细建模。此外,认为攻击能够揭示比以前的工作所识别的更为敏感的IM元数据。演示了针对几种IM服务的攻击的适用性,并设计和评估了量身定制的对策。

安全漏洞:Johansen等调查了SIM卡协议的不同实现,例如Signal,WhatsApp和Threema,并评估了它们的安全性和可用性。他们得出的结论是,所研究的应用程序都不是绝对可靠的。 Unger等[3]对即时通讯协议进行了全面的研究,重点是它们在信任建立,对话安全和传输隐私方面的安全性。此外,Aggarwal等[4]研究了在广泛使用的消息传递应用程序中加密的实现。

此外,已经对消息传递应用程序进行了各种身份枚举攻击。特别是,由于某些IM服务使用SMS文本消息来激活新设备,因此对抗性电话公司可以启动和拦截此类授权码,以识别用户或访问其帐户。 Telegram承诺将通过更新来解决此问题,该更新将允许用户隐藏其电话号码。

Schliep等[5]评估针对信号服务器的信号协议的安全性。它们确定了漏洞,这些漏洞使Signal服务器可以学习附件的内容,重新排序和放置消息以及从群组对话中添加/删除参与者。请注意,他们的研究对象与本文攻击者完全不同,即他们的攻击者是受感染/恶意的信号服务器,而在本文情况下,攻击者是能够窃听加密IM流量的任何第三方。而且,它们的攻击仅针对Signal,而本文攻击则适用于所有主要的IM服务,因为它们依赖于IM服务的基本通信行为。

通信隐私:流行的SIM卡服务具有集中性,因此容易受到各种隐私问题的影响。首先,所有用户通信(包括组通信和一对一通信)都是在SIM卡提供商运行的服务器的帮助下建立的;因此,SIM提供商可以访问所有通信的元数据(即,与谁通话的人)以及频道所有权和成员关系。最近的工作建议使用各种加密技术,例如私有集相交,以保护隐私不受中央运营商的影响,例如,用于联系人发现。其次,即使IM服务提供商不是恶意的,其服务器也可能受到恶意攻击者的攻击或受到政府的传唤,因此使客户端通信元数据面临风险。

在传统的SIM服务中,用户通信是端到端加密的,即在客户端和SIM服务器之间进行加密。在此类服务中,SIM提供商不仅可以看到用户的通信元数据,还可以看到他们的通信内容。最近,Signal和WhatsApp等主要的SIM提供程序已经开始支持端到端加密,因此可以保护SIM提供程序的通信内容。尽管某些SIM服务的差强人意的实现方式导致了各种安全漏洞和元数据泄漏年龄威胁,但尽管它们使用了端到端加密,例如通过Telegram中的开/关通知和最近的WhatsApp漏洞提供对黑客的远程访问。

审查:流行的SIM服务的集中式体系结构使其审查变得微不足道:审查员可以轻松地将少数IP地址或DNS记录列入黑名单,以阻止与目标SIM服务的所有通信。取消审查的SIM卡服务的一种直接对策是使用标准的规避系统,例如VPN和Tor。可选地,主要的SIM服务允许使用规避代理来避免阻塞,例如,在伊朗和俄罗斯当局进行审查后,该功能已被内置在Telegram软件的最新版本中。

 

0x03 Attack & Threat Model

在本文中,演示了对IM服务的基本攻击:适用于所有主要的IM服务,而不是由于错误的软件实现(可以通过软件更新来修复)引起的,攻击是由仅执行流量分析的攻击者执行的。在这种情况下,攻击者无需破坏或胁迫SIM提供程序,也无需完全阻止目标IM服务。相反,攻击者执行流量分析以标识目标IM通信的参与者,以便惩罚所标识的IM参与者或选择性地阻止目标通信。尤其是,攻击者可以使用流量分析来识别有争议的政治或社交IM渠道的管理员,并迫使他们关闭其频道。或者,攻击者可以使用流量分析攻击来识别有争议的IM频道的成员,从而有选择地破坏对目标频道的访问。


A.参与者介绍

攻击者是监视组织,例如由情报机构,目标是识别目标IM对话的成员或管理员(所有者)(的IP地址)。

目标IM对话可以是关于政治或社会敏感主题的公共IM频道(例如聊天室),也可以是目标用户(例如持不同政见者和新闻工作者)之间的私人IM对话。

为了使攻击者能够进行攻击,他需要例如通过窃听被监视用户的ISP来拦截被监视IM用户的(加密)网络流量。


B.威胁模型

假定托管IM服务是第二部分中定义的安全IM(SIM)服务。因此,攻击者在执行攻击时不会利用目标SIM服务的任何安全漏洞。例如,SIM系统不会将其客户端的IP地址(或其他敏感的元数据)泄漏给攻击者。此外,假定IM客户端和IM服务器之间的所有流量都将通过强加密进行加密。最后,SIM服务的运营商在确定目标成员时不与攻击者合作。


C.如何进行攻击

上图说明了攻击的设置。假设攻击者旨在标识特定IM渠道C的成员/管理员。

攻击者的任务:对于任何目标频道C,攻击者都需要获取有关该频道流量的一些地面事实。这可以通过三种方式完成:

(1)如果C是公开(公开)频道,则攻击者加入该频道(作为成员)并记录在C上发送的消息及其元数据(例如消息的时间和大小)。

(2)攻击者已加入C,并且能够向C发布消息。如果C是一个封闭的组,可以使每个成员都具有发布消息的能力,则可能发生这种情况,或者这可能是因为攻击者已经获得了C的管理员角色(例如,监视者已在政治敏感主题上创建了一个频道以识别目标记者,或者攻击者已获得敏感频道的所有者并滥用了其帐户)。在这种情况下,不仅攻击者可以记录发布到C的消息,而且他可以以自己想要的(明显)流量模式将自己的消息发布到C。

(3)攻击者无法加入C作为成员/管理员,但他已经确定C的成员/管理员之一(的IP地址)。攻击者窃听所识别出的(加密)网络流量成员并记录所标识成员的流量模式。

攻击者的窃听:攻击者监视IM用户的(加密)网络流量,以识别目标IM频道C的成员/管理员(的IP地址)。这可以通过攻击者窃听ISP或IXP的网络流量来执行。可替代地,也许可以在获得窃听令之后,攻击者窃听特定个人(例如怀疑的活动家)的网络流量。

攻击者做出决策:攻击者使用一种检测算法将窃听用户的流量模式与目标渠道C的真实流量模式进行匹配。


D.相关的流量分析攻击

先前的工作研究了不同环境下的各种流量分析攻击:

流相关性(Flow correlation ),攻击者尝试通过关联混淆的网络流的流量特性(即数据包的时间和大小)来链接混淆的网络流。流量相关性已作为攻击Tor等匿名系统的方式进行了特别研究,例如Tor:攻击者可以链接Tor连接的入口和出口段(例如,由恶意的Tor guard和出口中继观察到)关联入口和出口段的流量特征。最近,Nasr等人 [6]引入了一种基于深度学习的技术,称为DeepCorr,该技术可学习一种与Tor流匹配的相关函数,并在流相关性方面优于以前的统计技术。

流水印(Flow watermarking )是上述流相关攻击的动态版本。在流水印中,攻击者通过对流量特征施加轻微干扰,例如通过延迟数据包,将无法感知的信号编码为交通模式。与常规(被动)流相关技术相比,流水印具有更高的抗噪声能力,但需要实时修改网络流量,并且容易受到检测攻击。

在网站指纹(WF,Website fifingerprinting)中,攻击者拦截某些受监视用户的网络连接,并尝试将拦截的连接模式与一组目标网页进行匹配。这与流量相关性不同,因为流量相关性会拦截目标连接的两端。 WF被专门研究为对Tor的攻击。现有的WF技术利用各种机器学习算法,例如k-NN,SVM和深度神经网络来设计分类器,以将监视的连接与目标网页进行匹配。

交叉攻击(Intersection Attacks)试图通过匹配用户的活动/不活动时间段来危害匿名通信。例如,Kesdogan等[7]将匿名系统建模为抽象的阈值混合,并提出了公开攻击,其目的是为任何目标发送者学习潜在的接收者。 Danezis等[8]通过提出攻击的统计版本,使攻击在计算上更加实用。

侧信道攻击另一类流量分析攻击旨在从互联网服务的加密网络流量中泄漏敏感信息。例如,Chang等[9]从加密的Skype流量推断语音活动,Chen等 [10]演示了在线服务如何泄漏敏感的客户活动,Schuster等人 [11]识别加密的视频流。

本文流量分析方向:本文提出的攻击在本质上与流量相关技术的场景最接近。与流量相关性设置类似,在场景中,攻击者拦截实时目标流(例如,通过加入有争议的IM频道),并尝试将其与网络其他部分中监视的流量的流量模式进行匹配(以便能够以标识目标渠道的成员或管理员的IP地址)。但是,由于IM场景中的流量模型和通信噪声完全不同,因此不能简单地将现有的流量相关技术应用于IM场景。因此,设计了针对IM应用程序特定场景量身定制的流相关算法。为此,首先对IM服务中的流量和噪声行为进行建模,然后在此基础上针对特定场景设计量身定制的流量相关算法。

请注意,可以选择使用交叉攻击文献中的技术来设计IM服务的流量分析攻击。但是,流量相关比交叉攻击要强大得多,因为流量相关不仅利用了用户的在线/离线行为,还利用了用户在线时的通信方式。同样,典型的IM客户端往往会在很长的时间间隔内保持在线。因此与基于流相关的攻击相比,期望基于相交的攻击的可靠性大大降低(或需要很长时间的观察才能达到可比的可靠性)。

 

0x04 Characterizing IM Communications

首先描述IM流量并为其推导统计模型。将使用模型找到设计的攻击算法的分析界限,以及生成将在某些实验中使用的综合IM流量。


A.主要IM消息

IM服务允许其用户发送不同类型的消息,最常见的是文本,图像,视频,文件和音频消息。 IM消息通过以下主要通信形式之一在用户之间进行通信:

•直接消息是IM用户之间的一对一通信。如前所述,流行的IM服务是集中的,因此所有直接消息都通过IM提供程序的服务器中继,并且除非部署了端到端加密,否则服务器可以看到通信内容。

•专用(封闭)组通信是在多个用户之间进行的通信。分组时,每个成员都可以发布消息并阅读其他成员发布的消息。每个组都有创建该组的管理员成员,并具有管理用户和消息的能力。用户需要邀请才能加入封闭的小组。

•公共(开放)组通信,也称为渠道,是一种广播形式的通信,其中一个或多个管理员可以发布消息,而成员只能阅读这些帖子。用户无需邀请即可加入频道。

请注意,某些IM服务提供了其他形式的通信,例如状态消息,与工作中讨论的攻击无关。


B.数据收集

在本文中,在Telegram上收集了大量的IM数据。选择Telegram的原因有两个:首先,Telegram拥有大量公共频道,可以加入这些公共频道来收集实际的IM流量。这与大多数团体通信都是封闭/专用的其他流行IM服务不同。选择Telegram进行数据收集的第二个原因是,Telegram一直是最近尝试审查和监视的焦点,正如针对其他消息传递服务所演示的,分析和攻击绝非特定于Telegram。

使用Telegram的API来收集1,000个具有不同消息速率的随机信道的通信,每个消息信道持续24小时。对于每个收集的Telegram消息,提取发送过来的频道ID,时间戳,消息类型(文本,图片,视频,音频或文件)以及消息大小。Telegram用户每天可以加入的新频道数量限制为50个。因此会在几天内使用多个电报帐户进行数据收集(还请注意,每个电报帐户都必须与实际的手机号码绑定,以限制一个人可以创建的帐户数量)。

尽管选择Telegram来收集SIM卡流量,但注意到攻击算法在类似WhatsApp和Signal的其他SIM卡上的执行效果相似。这是因为这些服务均未实现流量混淆,因此,不同IM之间的流量形状相似。在下图中对此进行了说明,其中相同的消息流是通过四个不同的SIM服务发送的。可以看出,相同的消息会在不同的IM服务之间产生相似的流量模式。


C.IM通信建模

基于收集到的IM流量得出IM通信的统计模型,对IM流量的两个关键特征建模:消息间延迟(IMD)和消息大小。还对IM流量的通信延迟进行建模,使用最大似然估计(MLE)拟合每个特征的最佳概率分布。

消息间延迟(IMD):IMD功能是IM通信中连续IM消息之间的时间延迟。在模型中,合并使用非常小的IMD发送的消息(特别是,消息之间的间隔小于阈值te秒)。之所以这样做,是因为此类极其接近的消息在加密的IM流量中创建了一个合并的流量突发,该流量无法被流量分析攻击者分开。当管理员从另一组转发一批IM消息时,此类关闭消息(不常出现)出现,还过滤掉了很长的与深夜不活动时间相对应的IMD。

证明了使用MLE算法可以将IMD的概率密度函数紧密地拟合为指数分布。上图显示了200个IM频道的IMD的概率密度函数,每天的消息速率为130条消息。将IMD的指数行为解释为是由于以下事实:消息(或批消息)是在频道中独立发送的(请注意,对于交互式一对一聊天,这将有所不同)。另外认为IMD与消息的类型和大小无关,因为在实践中,消息的发送时间与其类型或大小之间没有关联。

消息大小:上表显示了收集的IM消息中五种主要消息类型的大小统计信息和频率。使用这些经验统计数据来创建如下图所示的五状态马尔可夫链,以对IM通信流中发送的消息的大小进行建模。对于所有频道的聚集以及速率相似的频道组,获得了此马尔可夫模型的经验转移概率矩阵。可以看到具有不同每日消息速率的IM频道的过渡矩阵略有变化。

最后,下图显示了不同消息类型的归一化消息大小的互补累积密度函数(CCDF)(大小由每个类别的最大消息大小归一化),观察到不同的消息类型具有不同的消息大小分布。

通信延迟:IM消息的传输延迟有两个原因:网络延迟和IM服务器的处理延迟。为了衡量此类延迟,使用Telegram的API从500个频道中收集了IM流量,每个频道持续一小时(因此,相当于500小时的IM流量)。然后设置了两个IM客户端,并在两个客户端之间发送收集的IM流量,以测量发生的通信延迟。使用MLE发现过渡延迟最适合拉普拉斯分布fµ,b(x),其中µ是平均值,2b^2是延迟的方差。由于网络延迟不能为负,因此仅考虑拉普拉斯分布的正部分。下图显示了数据包延迟相对于最佳Laplace分布的分位数(Q-Q)图:


D.综合SIM流量

可以使用上述经验模型来创建综合IM通信。合成IM通信跟踪由具有特定大小,时间和消息类型的IM消息组成。这样的综合流量能够使用比在线收集的流量更多的流量样本来验证实验结果。

算法的输入是λ,即要合成的频道的消息率(每天),T是合成频道的长度。首先,该算法使用IMD的经验分布创建一系列IM消息时序。然后,算法将Markov模型用于消息类型,以便为序列中的每个消息分配类型。最后,对于每条消息,算法都使用相应消息类型的大小的经验分布来找到其大小。该算法的输出是一系列IM消息,其中每个消息都有一个时间戳,一个大小和一个消息类型。

由于流量合成算法使用样本IM跟踪来生成合成IM流量模式,因此通过增加其训练数据集的大小可以提高其合成流量的质量。或者,可以训练一个生成对抗网络以产生合成IM跟踪,将其留给以后的工作。

 

0x05 Conclusion

本文引入了流量分析攻击,可通过安全IM服务可靠地识别参与敏感通信的用户。要发起攻击,攻击者不需要与IM提供商合作,也不需要利用目标IM服务的任何安全漏洞。通过分析来自大量实际IM频道的IM流量,建立了用于常规IM通讯的统计模型。

在下一篇文章中对Telegram,WhatsApp和Signal的流行IM服务进行了广泛的实验,以证明攻击在野有效。同时研究了针对攻击的潜在对策,设计并部署了IMProxy,这是一个开源的,公开可用的对策系统。 IMProxy可用于所有主要的IM服务,而无需IM提供商的任何支持。

 

Reference

[1]S. E. Coull and K. P. Dyer, “Traffic Analysis of Encrypted Messaging Services: Apple iMessage and Beyond,” SIGCOMM CCR, 2014
[2]K. Park and H. Kim, “Encryption is Not Enough: Inferring User Activities on KakaoTalk with Traffic Analysis,” in WISA, 2015.
[3]N. Unger, S. Dechand, J. Bonneau, S. Fahl, H. Perl, I. Goldberg, and M. Smith, “SoK: Secure Messaging,” in IEEE S&P, 2015.
[4]P. K. Aggarwal, P. Grover, and L. Ahuja, “Security Aspect in Instant Mobile Messaging Applications,” in RAETCS, 2018.
[5]M. Schliep, I. Kariniemi, and N. Hopper, “Is Bob Sending Mixed Signals?” in WPES, 2017.
[6]M. Nasr, A. Bahramali, and A. Houmansadr, “DeepCorr: Strong Flow Correlation Attacks on Tor Using Deep Learning,” in CCS, 2018.
[7]D. Kedogan, D. Agrawal, and S. Penz, “Limits of anonymity in open environments,” in Information Hiding, 2002.
[8]G. Danezis, “Statistical disclosure attacks,” in IFIP SEC, 2003.
[9]Y.-C. Chang, K.-T. Chen, C.-C. Wu, and C.-L. Lei, “Inferring speech activity from encrypted Skype traffic,” in GLOBECOM, 2008.
[10]S. Chen, R. Wang, X. Wang, and K. Zhang, “Side-channel leaks in web applications: A reality today, a challenge tomorrow,” in IEEE S&P, 2010.
[11]R. Schuster, V. Shmatikov, and E. Tromer, “Beauty and the Burst: Remote Identification of Encrypted Video Streams,” in USENIX Security,2017.


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 14亿人的大项目,腾讯云数据库拿下!
    全国人 ... [详细]
author-avatar
linxiuying261
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有