【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》

这篇具有很好参考价值的文章主要介绍了【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Classifying User Activities in the Encrypted WeChat Traffic

Authors:Chengshang Hou,Junzheng Shi,Cuicui Kang,Zigang Cao,Xiong Gang
Journal:2018 IEEE 37th International Performance Computing and Communications Conference (IPCCC) (2018)

摘要

加密移动应用程序的安全性和隐私性引起了研究人员的关注。 然而,现有的研究大多数集中在SSL/TLS流量的分析上,而很少有研究关注专有加密流量,这也是重要且具有挑战性的。

在本文中,我们对微信进行了深入研究,微信是世界上最受欢迎的社交应用程序之一,拥有超过 10 亿活跃用户。 该应用程序的大部分通信都使用称为 MMTLS 的专有加密协议。 它是基于传输层安全 (TLS) 1.3 设计的,兼顾性能和安全性。

我们探索了 MMTLS 加密通道内典型用户活动的细粒度分类,并将 MMTLS 与微信中联合使用的 HTTPS(例如流量持续时间和数据包大小)进行比较。 研究发现,MMTLS适用于低延迟、轻量级消息传递的场景。

根据不同用户从不同平台(Android、iOS)和设备(华为、三星、iPhone、iPad等)收集的进行了MMTLS协议加密的微信流量,我们对支付、广告点击、浏览等七种典型活动进行分类。 实验结果表明,平均准确率和召回率均达到92%以上。 我们的工作是第一个对这个专有加密协议进行分类并了解 MMTLS 和 TLS 之间的区别。 相信这项工作将有利于微信和其他专有加密应用程序的安全和隐私。

I.引言

  1. 微信采用MMTLS协议

    微信6.6.x以上版本在TLS 1.3 [6]的基础上采用了一种新的专有安全协议MMTLS[5]作为其主要加密协议。 MMTLS握手保留了TLS机制,包括0-RTT模式和1-RTT模式。然而,微信针对不同的服务场景采用了MMTLS和SSL/TLS。

  2. 首先,我们研究MMTLS协议和MMTLS加密的微信流量。然后,比较HTTPS和MMTLS的网络特性,并通过流量分析进行细粒度的用户活动分类。结果表明,利用流量的基本统计属性可以准确地识别用户活动

  3. 该论文的贡献有两个方面。

    • 一方面,我们深入分析了MMTLS的安全性和使用场景,并与HTTPS进行了比较。我们发现 MMTLS 协议主要用于非 Web 访问的用户活动加密
    • 另一方面,我们使用五种分类模型来进行细粒度的用户活动分类并比较它们的性能。分类器有决策树、随机森林、朴素贝叶斯、逻辑回归和SVM。结果表明,随机森林分类器的性能最好,准确率和召回率均达到92%以上。

II. MMTLS 分析

A. MMTLS

  • MMTLS协议基于 TLS 1.3 设计,没有任何明文的二进制协议。而 TLS 协议在握手阶段携带明文。为了提高安全性,MMTLS使用ECDH(椭圆曲线Diffie-Hellman)算法进行密钥交换。为了减少握手延迟,使用预共享密钥(PSK)来实现0-RTT握手。

  • 与 TLS 相比,MMTLS 使用微信分发的内置公钥建立加密连接,而不是为每个连接交换证书。由于应用程序内置有一个公钥,类似于HTTP公钥固定(HPKP),攻击者无法伪装真实的服务,因此无法通过中间人攻击来破坏加密通道,可用于拦截HTTPS通道[26]

B. WeChat服务

  1. 在这项工作中,我们将微信流量分为七种服务。详细分类信息如下。

    • 聊天:包括消息和语音聊天、语音留言、视频通话;
    • 文件传输:包括发送图片和其他文件;
    • 朋友圈:社交网络服务。 微信用户向好友分享文字、图片、超链接等内容;
    • 支付:用户通过扫描微信生成的二维码向其他用户付款,此外,微信还允许用户直接向朋友或微信群付款;
    • 订阅:支持用户阅读订阅作者发表的文章;
    • 小程序:支持用户在微信中使用小程序,采用H5和JavaScript技术实现;
    • 广告:当用户点击订阅文章底部出现的广告时,微信即可获得利润。
  2. 在研究中,我们观察到MMTLS协议运行在TCP和HTTP协议之上。 微信使用基于HTTP的MMTLS的通信流程如图1所示。基于TCP的MMTLS和基于HTTP的MMTLS在使用上的主要区别在于连接持续时间。 基于TCP的MMTLS通常用于维持连接。 应用不同类型的MMTLS来加密不同的服务。

【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信

  1. 表 I 显示了微信服务与其应用层协议(即基于 HTTP 的 MMTLS、基于 TCP 的 MMTLS、HTTPS)之间的关系。 从表中可以明显发现,有多个服务同时使用MMTLS和HTTPS。 大多数微信服务都使用基于 HTTP 的 MMTLS 进行加密,聊天和文件传输服务除外。 在下一节中,我们将重点关注基于 HTTP 的 MMTLS,因为它涵盖了大多数类型的服务。

【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信
4. 基于HTTP的MMTLS协议的HTTP标头如表II所示。 从表中可以清楚地看出,封装MMTLS协议的HTTP头与普通的HTTP头不同。 具体来说,HTTP 标头 Content-Type 始终设置为 application/octet-stream。 标头包含一个特殊的 HTTP 标头字段 Upgrade:mmtls。 标头的 User-Agent 始终设置为 MicroMessenger Client。 HTTP 负载是 MMTLS 协议。 需要说明的是,Post方法的URL字段中的xxxxxxxx代表的是随机的8位十六进制代码,在不同的请求中有所不同。

【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信

C. 用户活动

  1. 一项服务可能与多个用户的活动相关联。 例如,向朋友或团体付款。 用户模型被定义为使用服务以顺序方式产生活动的用户。 换句话说,两个服务不会同时使用,例如用户无法在向某人付款的同时浏览朋友圈。

    图1展示了微信调用用户活动的流程。 如图所示,用户操作可能会触发单个或多个 HTTP 会话。 在多个 HTTP 会话的情况下,会话发起可以是顺序的或并发的。

  2. 我们发现微信在用户活动中同时使用了MMTLS加密协议和TLS加密协议。 典型的用户活动触发服务请求如下。 首先,应用程序通过MMTLS从微信服务器获取元信息。 然后,根据 MMTLS 响应,应用程序访问 HTTP 站点或 HTTPS 站点。

  3. 细粒度分类中选择的用户活动基于两个标准。 一种是与隐私相关的活动,另一种是常用的活动。 不同用户活动的集合非常大。 因此,我们的目标活动是那些独特且关键的活动。 考虑到用户切换服务的时间,一旦检测到关键活动,就会确定用户当前使用的服务。 根据我们在第III-B小节中给出的类别,我们选择了七种典型活动,即浏览时刻、浏览订阅、打开小程序(显示为​​小程序)、广告点击、付费服务、群组或好友 。 服务与活动的对应关系如表1所示。

IV. MMTLS 数据集

A. Data collection

  • 我们使用便携式无线接入点创建了无线网络。 该网络的流量被Wireshark捕获。 为了避免受到干扰,采取了以下措施。 首先确保Wireshark的混杂模式关闭,避免捕获其他通道信号。 其次,每部智能手机都专门连接到无线网络。 第三,关闭后台运行的应用程序。

  • 为了获得标记的 MMTLS 协议流量,我们捕获了不同用户活动产生的微信流量痕迹。 根据III-C小节中选定的活动,我们分别收集每个活动产生的流量痕迹。 为了模拟一般用户活动场景,我们收集了 27 个用户的实验微信帐号的流量痕迹。 每项活动至少进行160次征集。 为了概括实验数据,我们收集了不同微信版本、平台和设备供应商的微信流量。

    微信版本从6.6.5到最新发布的6.6.6。 微信流量采集自Android(包括4.4、6、7、8版本)和iOS(包括8、10、11版本)。 设备包括苹果、华为、三星等。

    流量分析中的流量痕迹指的是网络通信过程中产生的数据记录和信息。它包括了网络通信的源地址和目的地址、通信的协议类型、通信的开始时间和结束时间、传输的数据量等。通过分析这些流量痕迹,可以了解网络通信的模式、流量峰值、通信的频率和持续时间等。

  • 端口 80 用于过滤 HTTP 流量,端口 443 用于过滤 SSL 流量。 为了识别微信的MMTLS流,我们检查特殊的HTTP头字段Upgrade: mmtls(更多信息参见表二)。 失败的 MMTLS 请求将被丢弃(即没有服务器响应)。

  • 流量痕迹可能包括后台流量,为了评估其影响,我们进行了一项实验,捕获没有任何活动的流量。 发现10分钟内只出现了两次短MMTLS,两次唤醒屏幕。 由此可见,我们采集的微信后台流量影响较小

B. MMTLS-8K Datasets

  • 通过27个微信账号和用户、不同的设备和平台,我们在7种不同的活动中获得了1.2G标记的微信流量轨迹。 最后,我们在 1575 个活动中获得了 7937 个 MMTLS 流。 表三报告了我们捕获的这些活动的摘要。 表中未显示失败的请求。

【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信

C. The comparison with HTTPS

  • 为了深入了解这种特殊的应用程序服务模型,我们分析了浏览订阅活动。 选择该活动是因为通过域名mp.weixin.qq.com很容易识别用户活动的HTTPS流,该域名主要用于浏览订阅活动。 从数据集中浏览订阅活动的流量跟踪中,我们提取了 630 个带有 SNI mp.weixin.qq.com 的 HTTPS 流和 1965 个 MMTLS 流。
    1. 持续时间比较:如图2a和2d所示,70%的MMTLS流持续时间小于0.25秒,几乎100%的MMTLS流持续时间小于2秒连接。 而HTTPS流的连接时长均匀分布在0到30秒之间。 这表明MMTLS协议用于低延迟场景
    2. 字节比较:图2b、2e、2c和2f显示了入站和出站字节数的累积分布。 图 2e 和 2f 的 x 轴以对数刻度表示。 对于大约 70% 的 MMTLS 流,其入站字节量小于 1KB。 对于HTTPS,60%的流长度超过10KB。 从图 2c 和 2f 中我们可以看到,对于 80% 的 MMTLS 流量,出站字节小于 1 KB。 相比之下,对于 HTTPS,超过 50% 的流量长度超过 10KB。 因此,MMTLS协议用于加密轻量级消息

【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信

V. CLASSIFICATION AND EVALUATION

A. Feature engineering

  • 一般来说,不同的活动有不同的数据包分布。 图 3 显示了每个活动的入站和出站数据包的长度分布。 开放式小程序(如图中的第 1 类所示)的入站和出站数据包长度之和具有长尾分布。 浏览时刻活动显示非常短且稳定的出站数据包分布和非常长的入站数据包。 相比之下,广告点击活跃度则呈现出完全相反的比例。 活动 5、6、7 是向服务、朋友或群组付款的类似活动,显示出类似的入站数据包长度分布,但它们具有不同的出站数据包长度分布。 图 3c 和 3d 显示大多数活动的数据包数量分布相似,但浏览时刻活动除外。

【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信

  • 基于这些统计分析,选择第一组特征作为双向数据包的数量双向数据包的累积大小。 后 7 个特征是数据包长度序列的最小值、最大值、平均值、标准差、百分位数。 特别地,我们选择了数据包长度序列的 0.25、0.5 和 0.75 个百分点。 第三组特征是数据包长度分布。 我们使用 bin 来表示数据包长度分布。 例如,当bin步长为100且MTU为1500(数据包长度的最大值)时,将[0,100)范围内的数据包长度分配给第一个bin,将[100,200)范围内的数据包长度分配给第一个bin 到第二个bin,依此类推。 通过这种方法,我们将数据包长度划分为 15 个 bin。 我们评估了三种不同的尺度来离散化数据包长度序列,即 bin 步长为 10,100 和 500。 根据10倍交叉验证结果,我们最终选择100作为bin步长
  • 为了避免对分类器产生影响,重传数据包和零长度负载的 TCP 数据包(例如 SYN、FIN 和 RST)将被过滤掉。 我们将每个特征的均值和标准差分别缩放为 0 和 1。

B. Experimental setting

  • 评估的分类器包括朴素贝叶斯、逻辑回归、SVM、决策树和随机森林算法。 我们使用 scikit-learn 机器学习库来实现这些分类器。 对于朴素贝叶斯分类器,我们采用高斯分类器。 对于Logistic回归分类器,使用 “liblinear”,惩罚设置为“L2”,正则化强度的倒数设置为100。我们使用RBF核作为SVM分类器,惩罚参数设置为217,核系数为 设置为28。决策树分类器由具有基尼杂质的CART算法实现。 我们使用 10 个估计(随机森林的树数),树的最大深度是总特征数的 2/3。 在寻找最佳分割时,特征数量设置为所有特征数量的平方根。 最后,在构建树时使用引导样本来提高性能。

  • 至于评估指标,使用为所有分类器导入的精度和召回率指标。 每个标签的精度计算为 TP/(TP + FP),每个类别的召回率计算为 TP/(TP+FN),其中 TP 表示真阳性,FP 表示假阳性,FN 表示假阴性。 平均精度和召回率按每个类别的样本数量进行加权。 F1 分数的计算公式为 F1 = 2 * Precision * Recall/(Precision + Recall)

C. Results

  • 精度和召回率如表四所示,F1得分如表五所示。需要注意的是,我们随机选择数据库中一半的样本作为训练集,剩下的样本作为测试集 。 训练集和测试集包含由不同用户生成并从不同便携式无线接入点捕获的流量轨迹。
  • 随机森林分类器实现了最佳性能。 随机森林十倍交叉验证的结果实现了 92.5% 的平均加权 F1 分数,标准差为 0.8%。 浏览订阅活动的 F1 分数最高,高达 96%。 决策树分类器的性能比随机森林分类器稍低。 决策树分类器的总体F1-score比随机森林分类器的分类结果低1%。 与随机森林分类器相比,决策树分类器的精度和召回率波动了2%。 SVM 分类器是第三好的分类器。 在对好友付款活动的分类上,SVM 分类器的 F1 分数比随机森林分类器和决策树分类器稍高。 它是对浏览时刻活动的回忆影响其性能。 近 50% 的浏览时刻活动被错误分类为浏览订阅类别。我们怀疑这是由浏览时刻和订阅时刻之间的训练样本大小比例引起的。 逻辑回归分类器和朴素贝叶斯分类器在加密的用户活动上表现不佳。 这两个分类器很少能正确预测向朋友付款的活动,召回率分别为 8% 和 4%。
    【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信
  • 评估训练规模对分类器的影响。 随机抽样数据集的10%~90%作为训练集,其余数据集作为测试集。 不同尺度下分类器的性能如图4所示。从图中我们可以清楚地看到随机森林分类器和决策树分类器取得了最好的性能。 然而,Logistic回归分类器和朴素贝叶斯分类器效果不佳,与表IV和V的结果类似。

【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信

  • 为了查看活动的详细混淆信息,我们在图 5 中绘制了不同活动的混淆矩阵。使用随机森林分类器的结果,因为它获得了最佳的整体性能。 从图中我们可以清楚地看到,95%以上的情况下,浏览订阅活动和广告点击活动都被正确分类。 这三种支付活动有点混淆。 然而,这些错误并不算太严重(付费服务和付费给朋友的错误率低于 7%)。 启动小程序活动是最难识别的活动,因为有 13% 的活动被错误地分类到其他 6 个活动中。 原因可能是小程序MMTLS流多种多样,因为数据集中小程序活动的流是从大约80个不同的小程序中收集的。

【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》,论文精读,微信文章来源地址https://www.toymoban.com/news/detail-523675.html

VI. CONCLUSION

  • 本文通过流量分析对微信用户活动进行细粒度分类,这是非常有代表性的加密移动应用。 据我们所知,这是第一个将流量分析应用于专有加密 MMTLS 协议的工作。 对该协议进行了深入分析,并在网络会话中的使用方面与 HTTPS 进行了比较。 我们从加密流量中提取有效特征。 通过利用五种著名的机器学习分类算法,我们实现了细粒度用户行为分类的准确率和召回率高达 92% 的高性能。 我们相信我们的工作对于移动应用服务中的协议安全设计和用户隐私增强都是有意义的。

创新点与不足

  • 创新点:本文首次将流量分析应用于专有加密 MMTLS 协议的工作,对该协议进行了深入分析,并在网络会话中的使用方面与 HTTPS 进行了比较。
  • 不足:本文没有提出特别创新性的识别算法或模型。

到了这里,关于【论文精读】《Classifying User Activities in the Encrypted WeChat Traffic》的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vivado报错 Validation Failed:User configuration exceeds BRAM count in the selected device!

    最近课设,使用vivado调用一个rom的IP,但是报错如上,从网上查阅说是FPGA的资源不够,但是我的资源量肯定是足够的,为此,不得其解,经猜测试验,最终问题是由于给的深度(下图中的Port A Depth)大于存储的数据量太多;将深度减少部分即可;  

    2024年02月14日
    浏览(46)
  • 论文精读:Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models

    Status: Reading Author: Chunrui Han, Haoran Wei, Jianjian Sun, Jinrong Yang, Jinyue Chen, Liang Zhao, Lingyu Kong, Xiangyu Zhang, Zheng Ge Institution: 中国科学院大学, 华中科技大学, 旷视科技(MEGVII Technology) Publisher: arXiv Publishing/Release Date: December 11, 2023 Score /5: ⭐️⭐️⭐️ Type: Paper Link: https://arxiv.org/abs/

    2024年02月01日
    浏览(87)
  • Android代码异常Calling a method in the system process without a qualified user

    问题原因: 有时候发现,startService或者sendBroadCast会产生此异常: 在没有合格用户的情况下调用系统进程中的方法。 经查,原因是由于系统应用尝试拉起普通应用抛出此异常,可能是在Android 4.2 之后Android引入多用户支持,有些特殊权限启动服务或者发送广播会失败。 如何修

    2024年02月12日
    浏览(40)
  • WARNING: Running pip as the ‘root‘ user can result in broken permissions and

    WARNING: Running pip as the \\\'root\\\' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv Linux pip安装报错解决方案 使用 pip安装、更新python库时,提示以“root”用户身份运行 pip 可能会导致权限损

    2024年02月12日
    浏览(48)
  • 论文精读:关于不确定性校准的mixup陷阱(On the Pitfall of Mixup for Uncertainty Calibration)

    对于一个样本 ((x_i,y_i)) ,将其与另一个样本 ((x_j,y_j)) 混合: [begin{aligned}tilde{x}_i = lambda x_i + (1-lambda)x_j, \\\\tilde{y}_i = lambda y_i + (1-lambda)y_j,end{aligned}tag{1}] 其中 (lambda) 采样于Beta(α,α),α0,j采样于Uniform([n]),n为数据集大小。 Mixup是一种线性插值的数据增强,由于其

    2024年03月09日
    浏览(43)
  • Crafting User-Centric Experiences: The Confluence of UX and UI in Software Engineering

                  In the realm of software engineering, the realms of User Experience (UX) and User Interface (UI) design have emerged as pivotal disciplines, shaping the way users interact with and perceive software applications. UX and UI design are instrumental in creating intuitive, engaging, and aesthetically pleasing interfaces that resonate wit

    2024年01月22日
    浏览(50)
  • 【论文精读】HAMMER: Learning Entropy Maps to Create Accurate 3D Models in Multi-View Stereo

    今天读一篇WACV 2024上MVS的文章,作者来自格拉茨技术大学。 文章链接:点击前往 为了减少在深度图融合点云参数调整上的实验负担,可以学习基于entropy的filtering mask进而根据两个视角的几何验证来重建三维模型。并且,提出的网络计算开销不大,训练只需要6GB,测试时,3

    2024年01月21日
    浏览(43)
  • How to fix the problem that Raspberry Pi cannot use the root user for SSH login All In One

    如何修复树莓派无法使用 root 用户进行 SSH 登录的问题 修改树莓派默认的 pi 用户名和密码后,需要使用 root 用户进行 SSH 登录; 对 pi/home 文件夹进行 备份 ,复制到新用户下 xgqfrms/home 备份后,要 删除 pi 用户, 必须切换到其他用户,毕竟 pi 用户不能自己删除自己呀!⚠️ 给

    2024年02月07日
    浏览(63)
  • js播放音频 Uncaught (in promise) DOMException: play() failed because the user didn‘t interact with

    代码: 播放音频时,报错: Uncaught (in promise) DOMException: play() failed because the user didn\\\'t interact with the docum 说明: google浏览器必须在用户与页面进行交互后,才能进行播放音频。

    2024年02月16日
    浏览(43)
  • 论文精读《BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View》

    背景介绍:二维的目标检测算法启发我们去寻找一个高效可用的三维目标检测算法 自动驾驶通过感知周围环境来做出决定,这是视觉领域中最复杂的场景之一。范式创新在解决二维目标检测中的成功激励着我们去寻找一个简练的、可行的、可扩展的范例,从根本上推动该领域

    2024年01月18日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包