From d6a7c67d24b20e3eb6284ed9b967f4552ecfce54 Mon Sep 17 00:00:00 2001 From: shlu Date: Wed, 25 Dec 2024 16:41:09 +0800 Subject: [PATCH] wechat --- ...16\344\271\210\347\224\250\357\274\237.md" | 91 +++ lldb/readme.md | 1 - ...342\200\231s MMTLS Encryption Protocol.md" | 755 ++++++++++++++++++ .../1f511.svg" | 1 + .../data-record.png" | Bin 0 -> 8947 bytes .../handshake-record.png" | Bin 0 -> 16083 bytes .../image1.png" | Bin 0 -> 252146 bytes .../image2.png" | Bin 0 -> 62327 bytes .../image3.png" | Bin 0 -> 54262 bytes 9 files changed, 847 insertions(+), 1 deletion(-) create mode 100644 "lldb/lldb\350\204\232\346\234\254\345\217\202\346\225\260\351\207\214\347\232\204result\346\200\216\344\271\210\347\224\250\357\274\237.md" delete mode 100644 lldb/readme.md create mode 100644 "wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol.md" create mode 100644 "wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/1f511.svg" create mode 100644 "wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/data-record.png" create mode 100644 "wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/handshake-record.png" create mode 100644 "wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/image1.png" create mode 100644 "wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/image2.png" create mode 100644 "wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/image3.png" diff --git "a/lldb/lldb\350\204\232\346\234\254\345\217\202\346\225\260\351\207\214\347\232\204result\346\200\216\344\271\210\347\224\250\357\274\237.md" "b/lldb/lldb\350\204\232\346\234\254\345\217\202\346\225\260\351\207\214\347\232\204result\346\200\216\344\271\210\347\224\250\357\274\237.md" new file mode 100644 index 00000000..c0e4c711 --- /dev/null +++ "b/lldb/lldb\350\204\232\346\234\254\345\217\202\346\225\260\351\207\214\347\232\204result\346\200\216\344\271\210\347\224\250\357\274\237.md" @@ -0,0 +1,91 @@ +在编写 LLDB 自定义脚本(通常是 Python 脚本)时,我们常常会看到函数签名类似于: + +```python +def my_command(debugger, command, result, internal_dict): + ... +``` + +其中,`debugger`、`command`、`result`、`internal_dict` 分别代表以下含义: + +1. **debugger** + 当前的调试器对象,一般是一个 `lldb.SBDebugger` 实例,可用它来获取或操作调试状态,比如获取当前 target、process 等。 +2. **command** + 用户在 LLDB 命令行中输入的那部分命令参数字符串,脚本需要自己解析这部分字符串(例如用 `command.split()` 进行分词),再执行相应逻辑。 +3. **result** + 这是一个 `lldb.SBCommandReturnObject` 对象,用来存放脚本执行过程中输出的文本、错误或者状态。也就是说,你想要在脚本执行后在 LLDB 控制台输出的内容,都需要写进 `result` 里。 +4. **internal_dict** + 该字典通常存储内部数据或上下文信息,绝大部分情况下我们可以暂时忽略或者只在需要某些特殊全局信息时才使用。 + +------ + +## 如何使用 result + +`result` 在脚本执行完后,会被 LLDB 用来渲染脚本的输出、错误信息以及返回状态。如果我们想要在调试器的命令行中显示结果,可以通过 `result` 的几个常用方法来实现。以下是一些常见用法: + +### 1. 输出文本 + +```python +def my_command(debugger, command, result, internal_dict): + # 你需要输出到 LLDB 控制台的内容 + result.PutCString("Hello from my_command!") + # 通过设置状态告诉 LLDB 脚本命令执行成功 + result.SetStatus(lldb.eReturnStatusSuccessFinishResult) +``` + +- `result.PutCString("...")`:将一段字符串写入到 result 中,脚本执行结束后,LLDB 会将这段字符串显示出来。 +- `result.SetStatus(lldb.eReturnStatusSuccessFinishResult)`:明确告诉 LLDB 该命令已成功执行(可选,但推荐加上以便区分不同的返回状态)。 + +### 2. 输出错误信息 + +如果脚本中出现异常或者逻辑错误,需要告知 LLDB 输出错误,可以这样做: + +```python +def my_command(debugger, command, result, internal_dict): + try: + # 脚本逻辑 + ... + except Exception as e: + # 将错误信息写入 result + result.PutCString("Error: {}".format(str(e))) + # 将状态置为错误 + result.SetStatus(lldb.eReturnStatusFailed) + return +``` + +当 LLDB 看到返回状态是 `lldb.eReturnStatusFailed` 时,会把这条命令视为失败并相应地展示错误信息。 + +### 3. 结合脚本逻辑动态输出 + +你也可以在执行脚本命令后,根据不同的情况决定输出什么内容。例如: + +```python +def my_command(debugger, command, result, internal_dict): + args = command.strip().split() + if not args: + result.PutCString("No arguments provided.") + result.SetStatus(lldb.eReturnStatusFailed) + return + + if args[0] == "hello": + result.PutCString("Hello from lldb script!") + result.SetStatus(lldb.eReturnStatusSuccessFinishResult) + else: + result.PutCString("Unknown command.") + result.SetStatus(lldb.eReturnStatusFailed) +``` + +### 4. 与命令解析函数的配合 + +在更复杂的脚本场景中,可以自己封装一些命令解析逻辑,然后把解析结果最终写到 `result` 中。例如,可以借助 `argparse` 或者自己封装的 parser 解析 `command`,再进行后续处理。 + +------ + +## 小结 + +- **`result` 是一个 `lldb.SBCommandReturnObject` 对象**,它决定了脚本命令的输出内容以及返回状态。 +- 常用的写输出方法包括: + - `result.PutCString("some string")` + - `result.SetStatus(lldb.eReturnStatusSuccessFinishResult)` (或 `lldb.eReturnStatusFailed`) +- 通过对 `result` 写入不同的内容和状态,就可以灵活地控制脚本在 LLDB 控制台上的输出与结果。 + +当你在 LLDB 中执行 `script` 注册的命令时,这些输出就会显示在调试器命令行中,从而帮助你更好地查看并调试脚本执行过程。 \ No newline at end of file diff --git a/lldb/readme.md b/lldb/readme.md deleted file mode 100644 index b6d4af6d..00000000 --- a/lldb/readme.md +++ /dev/null @@ -1 +0,0 @@ -# 简介 diff --git "a/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol.md" "b/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol.md" new file mode 100644 index 00000000..2788ba9c --- /dev/null +++ "b/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol.md" @@ -0,0 +1,755 @@ +# Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol + +## Key contributions + +- We performed the first public analysis of the security and privacy properties of MMTLS, the main network protocol used by WeChat, an app with over one billion monthly active users. +- We found that MMTLS is a modified version of TLS 1.3, with many of the modifications that WeChat developers made to the cryptography introducing weaknesses. +- Further analysis revealed that earlier versions of WeChat used a less secure, custom-designed protocol that contains multiple vulnerabilities, which we describe as “Business-layer encryption”. This layer of encryption is still being used in addition to MMTLS in modern WeChat versions. +- Although we were unable to develop an attack to completely defeat WeChat’s encryption, the implementation is inconsistent with the level of cryptography you would expect in an app used by a billion users, such as its use of deterministic IVs and lack of forward secrecy. +- These findings contribute to a larger body of work that suggests that apps in the Chinese ecosystem fail to adopt cryptographic best practices, opting instead to invent their own, often problematic systems. +- We are releasing technical tools and further documentation of our technical methodologies in an accompanying [Github repository](https://github.com/xpko/wechat-security-report/). These tools and documents, along with this main report, will assist future researchers to study WeChat’s inner workings. + +## Introduction + +WeChat, with over [1.2 billion monthly active users](https://www.messengerpeople.com/global-messenger-usage-statistics), stands as the most popular messaging and social media platform in China and third globally. As indicated by market research, WeChat’s network traffic [accounted for 34%](https://walkthechat.com/wechat-impact-report-2016/) of Chinese mobile traffic in 2018. WeChat’s dominance has monopolized messaging in China, making it increasingly unavoidable for those in China to use. With an ever-expanding array of features, WeChat has also grown beyond its original purpose as a messaging app. + +Despite the universality and importance of WeChat, there has been little study of the proprietary network encryption protocol, MMTLS, used by the WeChat application. This knowledge gap serves as a barrier for researchers in that it hampers additional security and privacy study of such a critical application. In addition, [home](https://citizenlab.ca/2016/02/privacy-security-issues-baidu-browser/)–[rolled](https://citizenlab.ca/2016/03/privacy-security-issues-qq-browser/) [cryptography](https://arxiv.org/abs/1802.03367) [is](https://citizenlab.ca/2015/05/a-chatty-squirrel-privacy-and-security-issues-with-uc-browser/) [unfortunately](https://citizenlab.ca/2016/08/a-tough-nut-to-crack-look-privacy-and-security-issues-with-uc-browser/) [common](https://www.usenix.org/conference/foci16/workshop-program/presentation/knockel) [in](https://citizenlab.ca/2020/04/move-fast-roll-your-own-crypto-a-quick-look-at-the-confidentiality-of-zoom-meetings/) [many](https://citizenlab.ca/2022/01/cross-country-exposure-analysis-my2022-olympics-app/) incredibly popular Chinese applications, and there have historically [been](https://citizenlab.ca/2023/08/vulnerabilities-in-sogou-keyboard-encryption/) [issues](https://citizenlab.ca/2024/04/vulnerabilities-across-keyboard-apps-reveal-keystrokes-to-network-eavesdroppers/) with cryptosystems developed independently of well-tested standards such as TLS. + +This work is a deep dive into the mechanisms behind MMTLS and the core workings of the WeChat program. We compare the security and performance of MMTLS to TLS 1.3 and discuss our overall findings. We also provide public documentation and tooling to decrypt WeChat network traffic. These tools and documents, along with our report, will assist future researchers to study WeChat’s privacy and security properties, as well as its other inner workings. + +This report consists of a technical description of [how WeChat launches a network request](https://citizenlab.ca/2024/10/should-we-chat-too-security-analysis-of-wechats-mmtls-encryption-protocol/#launching-a-wechat-network-request) and its [encryption protocols](https://citizenlab.ca/2024/10/should-we-chat-too-security-analysis-of-wechats-mmtls-encryption-protocol/#wechat-network-request-encryption), followed by a [summary of weaknesses in WeChat’s protocol](https://citizenlab.ca/2024/10/should-we-chat-too-security-analysis-of-wechats-mmtls-encryption-protocol/#security-issues), and finally a [high-level discussion](https://citizenlab.ca/2024/10/should-we-chat-too-security-analysis-of-wechats-mmtls-encryption-protocol/#discussion) of WeChat’s design choices and their impact. The report is intended for privacy, security, or other technical researchers interested in furthering the privacy and security study of WeChat. For non-technical audiences, we have summarized our findings in this FAQ. + +#### Prior work on MMTLS and WeChat transport security + +Code internal to the WeChat mobile app refers to its proprietary TLS stack as MMTLS (MM is short for MicroMessenger, which is a direct translation of 微信, the Chinese name for WeChat) and uses it to encrypt the bulk of its traffic. + +There is limited public documentation of the MMTLS protocol. This [technical document](https://github.com/WeMobileDev/article/blob/master/基于TLS1.3的微信安全通信协议mmtls介绍.md) from WeChat developers describes in which ways it is similar and different from TLS 1.3, and attempts to justify various decisions they made to either simplify or change how the protocol is used. In this document, there are various key differences they identify between MMTLS and TLS 1.3, which help us understand the various modes of usage of MMTLS. + +[Wan et al.](https://wenku.baidu.com/view/67762def4b35eefdc9d33374.html) conducted the most comprehensive study of WeChat transport security in 2015 using standard security analysis techniques. However, this analysis was performed before the deployment of MMTLS, WeChat’s upgraded security protocol. In 2019, [Chen et al.](https://link.springer.com/chapter/10.1007/978-3-030-24268-8_27) studied the login process of WeChat and specifically studied packets that are encrypted with TLS and not MMTLS. + +As for MMTLS itself, in 2016 WeChat developers published [a document](https://github.com/WeMobileDev/article/blob/master/基于TLS1.3的微信安全通信协议mmtls介绍.md) describing the design of the protocol at a high level that compares the protocol with TLS 1.3. Other MMTLS publications focus on [website fingerprinting-type](https://ieeexplore.ieee.org/abstract/document/8711267) [attacks](https://ieeexplore.ieee.org/abstract/document/8456067), but none specifically perform a security evaluation. A few [Github repositories](https://github.com/anonymous5l/mmtls) and [blog posts](https://bbs.pediy.com/thread-257942.htm) look briefly into the wire format of MMTLS, though none are comprehensive. Though there has been little work studying MMTLS specifically, previous Citizen Lab reports have discovered security flaws of [other](https://citizenlab.ca/2016/03/privacy-security-issues-qq-browser/) [cryptographic](https://arxiv.org/abs/1802.03367) protocols designed and implemented by Tencent. + +## Methodology + +We analyzed two versions of WeChat Android app: + +- Version 8.0.23 (APK “versionCode” 2160) released on May 26, 2022, downloaded from the WeChat website. +- Version 8.0.21 (APK “versionCode” 2103) released on April 7, 2022, downloaded from Google Play Store. + +All findings in this report apply to both of these versions. + +We used an account registered to a U.S. phone number for the analysis, which changes the behavior of the application compared to a mainland Chinese number. Our setup may not be representative of all WeChat users, and the full limitations are discussed further below. + +For dynamic analysis, we analyzed the application installed on a rooted Google Pixel 4 phone and an emulated Android OS. We used [Frida](https://frida.re/) to hook the app’s functions and manipulate and export application memory. We also performed network analysis of WeChat’s network traffic using [Wireshark](https://www.wireshark.org/). However, due to WeChat’s use of nonstandard cryptographic libraries like MMTLS, standard network traffic analysis tools that might work with HTTPS/TLS do not work for all of WeChat’s network activity. Our use of Frida was paramount for capturing the data and information flows we detail in this report. These Frida scripts are designed to intercept WeChat’s request data immediately before WeChat sends it to its MMTLS encryption module. The Frida scripts we used are published in [our Github repository](https://github.com/citizenlab/wechat-report-data). + +For static analysis, we used [Jadx](https://github.com/skylot/jadx), a popular Android decompiler, to decompile WeChat’s Android Dex files into Java code. We also used [Ghidra](https://ghidra-sre.org/) and [IDA Pro](https://hex-rays.com/ida-pro/) to decompile the native libraries (written in C++) bundled with WeChat. + +### Notation + +In this report, we reference a lot of code from the WeChat app. When we reference any code (including file names and paths), we will style the text using `monospace fonts` to indicate it is code. If a function is referenced, we will add empty parentheses after the function name, like this: `somefunction()`. The names of variables and functions that we show may come from one of the three following: + +1. The original decompiled name. +2. In cases where the name cannot be decompiled into a meaningful string (e.g., the symbol name was not compiled into the code), we rename it according to how the nearby internal log messages reference it. +3. In cases where there is not enough information for us to tell the original name, we name it according to our understanding of the code. In such cases, we will note that these names are given by us. + +In the cases where the decompiled name and log message name of functions are available, they are generally consistent. Bolded or italicized terms can refer to higher-level concepts or parameters we have named. + +### Utilization of open source components + +We also identified open source components being used by the project, the two largest being [OpenSSL](https://openssl-library.org/) and [Tencent Mars](https://github.com/Tencent/mars). Based on our analysis of decompiled WeChat code, large parts of its code are identical to Mars. Mars is an “infrastructure component” for mobile applications, providing common features and abstractions that are needed by mobile applications, such as networking and logging. + +By compiling these libraries separately with debug symbols, we were able to import function and class definitions into Ghidra for further analysis. This helped tremendously to our understanding of other non-open-source code in WeChat. For instance, when we were analyzing the network functions decompiled from WeChat, we found a lot of them to be highly similar to the open source Mars, so we could just read the source code and comments to understand what a function was doing. What was not included in open source Mars are encryption related functions, so we still needed to read decompiled code, but even in these cases we were aided by various functions and structures that we already know from the open source Mars. + +#### Matching decompiled code to its source + +In the internal logging messages of WeChat, which contain source file paths, we noticed three top level directories, which we have highlighted below: + +- `/home/android/devopsAgent/workspace/p-e118ef4209d745e1b9ea0b1daa0137ab/src/mars/` +- `/home/android/devopsAgent/workspace/p-e118ef4209d745e1b9ea0b1daa0137ab/src/mars-wechat/` +- `/home/android/devopsAgent/workspace/p-e118ef4209d745e1b9ea0b1daa0137ab/src/mars-private/` + +The source files under “mars” can all be found in the [open source Mars repository](https://github.com/Tencent/mars) as well, while source files in the other two top level directories cannot be found in the open source repository. To illustrate, below is a small section of decompiled code from `libwechatnetwork.so` : + +``` + XLogger::XLogger((XLogger *)&local_2c8,5,"mars::stn", + +"/home/android/devopsAgent/workspace/p-e118ef4209d745e1b9ea0b1daa0137ab/src/mars/mars/stn/src/longlink.cc" + ,"Send",0xb2,false,(FuncDef0 *)0x0); + XLogger::Assert((XLogger *)&local_2c8,"tracker_.get()"); + XLogger::~XLogger((XLogger *)&local_2c8); +``` + +From its similarity, is highly likely that this section of code was compiled from [this line](https://github.com/Tencent/mars/blob/1583548111ed055836bdc2a344e45084ec775e6d/mars/stn/src/longlink.cc#L178) in the Send() function, defined in longlink.cc file from the open source repository: + +``` +xassert2(tracker_.get()); +``` + +Reusing this observation, whenever our decompiler is unable to determine the name of a function, we can use logging messages within the compiled code to determine its name. Moreover, if the source file is from open source Mars, we can read its source code as well. + +#### Three parts of Mars + +In a few articles on the [Mars wiki](https://github.com/Tencent/mars/wiki), Tencent developers provided the following motivations to develop Mars: + +- The need for a [cross-platform](https://cloud.tencent.com/developer/article/1005495) networking library, to reduce the development and maintenance costs of two separate network libraries on Android and iOS. +- The need to [customize parameters of the TCP handshake process](http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=2649286458&idx=1&sn=320f690faa4f97f7a49a291d4de174a9&chksm=8334c3b8b4434aae904b6d590027b100283ef175938610805dd33ca53f004bd3c56040b11fa6#rd), in order for faster connection establishment. + +According to its developers, Mars and its STN module are comparable to networking libraries such as [AFNetworking](https://github.com/AFNetworking/AFNetworking) and [OkHttp](https://square.github.io/okhttp/), which are widely used in other mobile apps. + +[One of the technical articles](https://github.com/WeMobileDev/article/blob/master/微信终端跨平台组件 Mars 系列 - 我们如约而至.md?plain=1) released by the WeChat development team wrote about the process of open-sourcing Mars. According to the article, they had to separate WeChat-specific code, which was kept private, from the general use code, which was open sourced. In the end, three parts were separated from each other: + +- mars-open: to be open sourced, independent repository. +- mars-private: potentially open sourced, depends on mars-open. +- mars-wechat: WeChat business logic code, depends on mars-open and mars-private. + +These three names match the top level directories we found earlier if we take “mars-open” to be in the “mars” top-level directory. Using this knowledge, when reading decompiled WeChat code, we could easily know whether it was WeChat-specific or not. From our reading of the code, mars-open contains basic and generic structures and functions, for instance, [buffer structures](https://github.com/Tencent/mars/blob/master/mars/comm/autobuffer.cc), [config stores](https://github.com/Tencent/mars/blob/6c71f72ff770f8a2b111ef27f1ccf72511801bbd/mars/comm/ini.h#L60), [thread management](https://github.com/Tencent/mars/tree/6c71f72ff770f8a2b111ef27f1ccf72511801bbd/mars/comm/unix/thread) and, most importantly, the module named “STN” responsible for network transmission. (We were unable to determine what STN stands for.) On the other hand, mars-wechat contains the MMTLS implementation, and mars-private is not closely related to the features within our research scope. + +As a technical side note, the open source Mars [compiles](https://github.com/Tencent/mars/wiki/Mars-Android-接入指南#本地编译) to just one object file named “libmarsstn.so”. However, in WeChat, multiple shared object files reference code within the open source Mars, including the following: + +- `libwechatxlog.so` +- `libwechatbase.so` +- `libwechataccessory.so` +- `libwechathttp.so` +- `libandromeda.so` +- `libwechatmm.so` +- `libwechatnetwork.so` + +Our research focuses on the transport protocol and encryption of WeChat, which is implemented mainly in libwechatmm.so and libwechatnetwork.so. In addition, we inspected libMMProtocalJni.so, which is not part of Mars but contains functions for cryptographic calculations. We did not inspect the other shared object files. + +#### Matching Mars versions + +Despite being able to find open source code to parts of WeChat, in the beginning of our research, we were unable to pinpoint the specific version of the source code of mars-open that was used to build WeChat. Later, we found version strings contained in `libwechatnetwork.so`. For WeChat 8.0.21, searching for the string “MARS_” yielded the following: + +MARS_BRANCH: HEAD +MARS_COMMITID: d92f1a94604402cf03939dc1e5d3af475692b551 +MARS_PRIVATE_BRANCH: HEAD +MARS_PRIVATE_COMMITID: 193e2fb710d2bb42448358c98471cd773bbd0b16 +MARS_URL: +MARS_PATH: HEAD +MARS_REVISION: d92f1a9 +MARS_BUILD_TIME: 2022-03-28 21:52:49 +MARS_BUILD_JOB: rb/2022-MAR-p-e118ef4209d745e1b9ea0b1daa0137ab-22.3_1040 + +The specific MARS_COMMITID (d92f1a…) exists in the open source Mars repository. This version of the source code also matches the decompiled code. + +Pinpointing the specific source code version helped us tremendously with Ghidra’s decompilation. Since a lot of the core data structures used in WeChat are from Mars, by importing the known data structures, we can observe the non-open-sourced code accessing structure fields, and inferring its purpose. + +### Limitations + +This investigation only looks at client behavior and is therefore subject to other common limitations in privacy research that can only perform client analysis. Much of the data that the client transmits to WeChat servers may be required for functionality of the application. For instance, WeChat servers can certainly see chat messages since WeChat can censor them according to their content. We cannot always measure what Tencent is doing with the data that they collect, but we can make inferences about what is possible. [Previous work](https://citizenlab.ca/2020/05/we-chat-they-watch/) has made certain limited inferences about data sharing, such as that messages sent by non-mainland-Chinese users are used to train censorship algorithms for mainland Chinese users. In this report, we focus on the version of WeChat for non-mainland-Chinese users. + +Our investigation was also limited due to legal and ethical constraints. It has become increasingly difficult to obtain Chinese phone numbers for investigation due to the strict phone number and associated government ID requirements. Therefore, we did not test on Chinese phone numbers, which causes WeChat to behave differently. In addition, without a mainland Chinese account, the types of interaction with certain features and Mini Programs were limited. For instance, we did not perform financial transactions on the application. + +Our primary analysis was limited to analyzing only two versions of WeChat Android (8.0.21 and 8.0.23). However, we also re-confirmed our tooling works on WeChat 8.0.49 for Android (released April 2024) and that the MMTLS network format matches that used by WeChat 8.0.49 for iOS. Testing different versions of WeChat, the backwards-compatibility of the servers with older versions of the application, and testing on a variety of Android operating systems with variations in API version, are great avenues for future work. + +Within the WeChat Android app, we focused on its networking components. Usually, within a mobile application (and in most other programs as well), all other components will defer the work of communicating over the network to the networking components. Our research is not a complete security and privacy audit of the WeChat app, as even if the network communication is properly protected, other parts of the app still need to be secure and private. For instance, an app would not be secure if the server accepts any password to an account login, even if the password is confidentially transmitted. + +### Tooling for studying WeChat and MMTLS + +In the [Github repository](https://github.com/xpko/wechat-security-report/), we have released tooling that can log keys using Frida and decrypt network traffic that is captured during the same period of time, as well as samples of decrypted payloads. In addition, we have provided additional documentation and our reverse-engineering notes from studying the protocol. We hope that these tools and documentation will further aid researchers in the study of WeChat. + +## Launching a WeChat network request + +As with any other apps, WeChat is composed of various components. Components within WeChat can invoke the networking components to send or receive network transmissions. In this section, we provide a highly simplified description of the process and components surrounding sending a network request in WeChat. The actual process is much more complex, which we explain in more detail in a [separate document](https://github.com/xpko/wechat-security-report/blob/main/docs/networking_components.md). The specifics of data encryption is discussed in the next section “WeChat network request encryption”. + +In the WeChat source code, each API is referred to as a different “Scene”. For instance, during the registration process, there is one API that submits all new account information provided by the user, called `NetSceneReg`. `NetSceneReg` is referred to by us as a “Scene class”, Other components could start a network request towards an API by calling the particular Scene class. In the case of `NetSceneReg`, it is usually invoked by a click event of a button UI component. + +Upon invocation, the Scene class would prepare the request data. The structure of the request data (as well as the response) is defined in “RR classes”. (We dub them RR classes because they tend to have “ReqResp” in their names.) Usually, one Scene class would correspond to one RR class. In the case of `NetSceneReg`, it corresponds to the RR class `MMReqRespReg2`, and contains fields like the desired username and phone number. For each API, its RR class also defines a unique internal URI (usually starting with “/cgi-bin”) and a “request type” number (an approximately 2–4 digit integer). The internal URI and request type number is often used throughout the code to identify different APIs. Once the data is prepared by the Scene class, it is sent to `MMNativeNetTaskAdapter`. + +`MMNativeNetTaskAdapter` is a task queue manager, it manages and monitors the progress of each network connection and API requests. When a Scene Class calls `MMNativeNetTaskAdapter`, it places the new request (a task) onto the task queue, and calls the req2Buf() function. req2Buf() serializes the request [Protobuf](https://protobuf.dev/) object that was prepared by the Scene Class into bytes, then encrypts the bytes using *Business-layer Encryption*. + +Finally, the resultant ciphertext from Business-layer encryption is sent to the “STN” module, which is part of Mars. STN then encrypts the data again using *MMTLS Encryption*. Then, STN establishes the network transport connection, and sends the MMTLS Encryption ciphertext over it. In STN, there are two types of transport connections: *Shortlink* and *Longlink*. Shortlink refers to an HTTP connection that carries MMTLS ciphertext. Shortlink connections are closed after one request-response cycle. Longlink refers to a long-lived TCP connection. A Longlink connection can carry multiple MMTLS encrypted requests and responses without being closed. + +## WeChat network request encryption + +WeChat network requests are encrypted twice, with different sets of keys. Serialized request data is first encrypted using what we call the *Business-layer Encryption*, as internal encryption is referred to in this [blog post](https://github.com/WeMobileDev/article/blob/master/基于TLS1.3的微信安全通信协议mmtls介绍.md) as occurring at the **“**Business-layer**”**. The Business-layer Encryption has two modes: *Symmetric Mode* and *Asymmetric Mode*. The resultant Business-layer-encrypted ciphertext is appended to metadata about the Business-layer request. Then, the Business-layer requests (i.e., request metadata and inner ciphertext) are additionally encrypted, using *MMTLS Encryption*. The final resulting ciphertext is then serialized as an *MMTLS Request* and sent over the wire. + +WeChat’s network encryption system is disjointed and seems to still be a combination of at least three different cryptosystems. The encryption process described in the Tencent documentation mostly matches our findings about MMTLS Encryption, but the document does not seem to describe in detail the Business-layer Encryption**,** whose operation differs when **logged-in** and when **logged-out**. Logged-in clients use Symmetric Mode while logged-out clients use Asymmetric Mode. We also observed WeChat utilizing HTTP, HTTPS, and QUIC to transmit large, static resources such as translation strings or transmitted files. The endpoint hosts for these communications are different from MMTLS server hosts. Their domain names also suggest that they belong to [CDNs](https://en.wikipedia.org/wiki/Content_delivery_network). However, the endpoints that are interesting to us are those that download dynamically generated, often confidential resources (i.e., generated by the server on every request) or endpoints where users transmit, often confidential, data to WeChat’s servers. These types of transmissions are made using MMTLS. + +As a final implementation note, WeChat, across all these cryptosystems, uses internal OpenSSL bindings that are compiled into the program. In particular, the libwechatmm.so library seems to have been compiled with [OpenSSL version 1.1.1l](https://mta.openssl.org/pipermail/openssl-announce/2021-August/000206.html), though the other libraries that use OpenSSL bindings, namely `libMMProtocalJni.so` and `libwechatnetwork.so` were not compiled with the OpenSSL version strings. We note that OpenSSL internal APIs can be confusing and are often [misused](https://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf) by well-intentioned developers. Our full notes about each of the OpenSSL APIs that are used can be found in the [Github repository](https://github.com/xpko/wechat-security-report/blob/main/docs/reversing-notes.md). + +In Table 1, we have summarized each of the relevant cryptosystems, how their keys are derived, how encryption and authentication are achieved, and which libraries contain the relevant encryption and authentication functions. We will discuss cryptosystem’s details in the coming sections. + +| | **Key derivation** | **Encryption** | **Authentication** | **Library** | **Functions that perform the symmetric encryption** | +| :---------------------------------- | :------------------------------- | :------------- | :----------------- | :-------------------- | :--------------------------------------------------- | +| **MMTLS, Longlink** | Diffie-Hellman (DH) | AES-GCM | AES-GCM tag | `libwechatnetwork.so` | `Crypt()` | +| **MMTLS, Shortlink** | DH with session resumption | AES-GCM | AES-GCM tag | `libwechatnetwork.so` | `Crypt()` | +| **Business-layer, Asymmetric Mode** | Static DH with fresh client keys | AES-GCM | AES-GCM tag | `libwechatmm.so` | `HybridEcdhEncrypt(),` `AesGcmEncryptWithCompress()` | +| **Business-layer, Symmetric Mode** | Fixed key from server | AES-CBC | Checksum + MD5 | `libMMProtocalJNI.so` | `pack(), EncryptPack(), genSignature()` | + +*Table 1: Overview of different cryptosystems for WeChat network request encryption, how keys are derived, how encryption and authentication are performed, and which libraries perform them.* + +### 1. MMTLS Wire Format + +Since MMTLS can go over various transports, we refer to an *MMTLS packet* as a unit of correspondence within MMTLS. Over Longlink, MMTLS packets can be split across multiple TCP packets. Over Shortlink, MMTLS packets are generally contained within an HTTP POST request or response body. + + + +Each MMTLS packet contains one or more *MMTLS records* (which are similar in structure and purpose to [TLS records](https://datatracker.ietf.org/doc/html/rfc8446#section-5)). Records are units of messages that carry handshake data, application data, or alert/error message data within each MMTLS packet. + +#### 1A. MMTLS Records + +Records can be identified by different *record headers*, a fixed 3-byte sequence preceding the record contents. In particular, we observed 4 different record types, with the corresponding *record headers*: + +| Handshake-Resumption Record | `19 f1 04` | +| --------------------------- | ---------- | +| Handshake Record | `16 f1 04` | +| Data Record | `17 f1 04` | +| Alert Record | `15 f1 04` | + +*Handshake* records contain metadata and the key establishment material needed for the other party to derive the same shared session key using Diffie-Hellman. *Handshake-Resumption* record contains sufficient metadata for “resuming” a previously established session, by re-using previously established key material. *Data* records can contain encrypted ciphertext that carries meaningful WeChat request data. Some *Data* packets simply contain an encrypted no-op heartbeat. *Alert* records signify errors or signify that one party intends to end a connection. In MMTLS, all non-handshake records are encrypted, but the key material used differs based on which stage of the handshake has been completed. + +Here is an annotated MMTLS packet from the server containing a *Handshake* record: +[![Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol 1](./Should We Chat, Too Security Analysis of WeChat’s MMTLS Encryption Protocol/handshake-record.png)](https://citizenlab.ca/wp-content/uploads/2024/10/handshake-record.png) +Here is an example of a **Data** record sent from the client to the server: +[![Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol 2](./Should We Chat, Too Security Analysis of WeChat’s MMTLS Encryption Protocol/data-record.png)](https://citizenlab.ca/wp-content/uploads/2024/10/data-record.png) + +To give an example of how these records interact, generally the client and server will exchange *Handshake* records until the Diffie-Hellman handshake is complete and they have established shared key material. Afterwards, they will exchange *Data* records, encrypted using the shared key material. When either side wants to close the connection, they will send an *Alert* record. More illustrations of each record type’s usage will be made in the following section. + +#### 1B. MMTLS Extensions + +As MMTLS’ wire protocol is heavily modeled after TLS, we note that it has also borrowed the wire format of “[TLS Extensions](https://datatracker.ietf.org/doc/html/rfc6066)” to exchange relevant encryption data during the handshake. Specifically, MMTLS uses the same format as TLS Extensions for the Client to communicate their key share (i.e. the client’s public key) for Diffie-Hellman, similar to TLS 1.3’s [*key_share*](https://datatracker.ietf.org/doc/html/rfc8446#section-4.2.8) extension, and to communicate session data for session resumption (similar to TLS 1.3’s [*pre_shared_key*](https://datatracker.ietf.org/doc/html/rfc8446#section-4.2.11) extension). In addition, MMTLS has support for [*Encrypted Extensions*](https://datatracker.ietf.org/doc/html/rfc8446#section-4.3.1), similar to TLS, but they are currently not used in MMTLS (i.e., the *Encrypted Extensions* section is always empty). + +### 2. MMTLS Encryption + +This section describes the outer layer of encryption, that is, what keys and encryption functions are used to encrypt and decrypt the ciphertexts found in the **“**MMTLS Wire Format” section, and how the encryption keys are derived. + +The encryption and decryption at this layer occurs in the STN module, in a separate spawned “com.tencent.mm:push” + + process on Android. The spawned process ultimately transmits and receives data over the network. The code for all of the MMTLS Encryption and MMTLS serialization were analyzed from the library `libwechatnetwork.so`. In particular, we studied the `Crypt()` function, a central function used for all encryption and decryption whose name we derived from debug logging code. We also hooked all calls to [HKDF_Extract](https://github.com/OneSignal/openssl/blob/main/crypto/kdf/hkdf.c#L26)() and [HKDF_Expand](https://github.com/OneSignal/openssl/blob/main/crypto/kdf/hkdf.c#L31)(), the OpenSSL functions for [HKDF](https://en.wikipedia.org/wiki/HKDF), in order to understand how keys are derived. + + + +When the “:push” process is spawned, it starts an event loop in HandshakeLoop(), which processes all outgoing and incoming MMTLS Records. We hooked all functions called by this event loop to understand how each MMTLS Record is processed. The code for this study, as well as the internal function addresses identified for the particular version of WeChat we studied, can be found in the [Github repository](https://github.com/xpko/wechat-security-report/tree/main). + +[![Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol 3](./Should We Chat, Too Security Analysis of WeChat’s MMTLS Encryption Protocol/image2.png)](https://citizenlab.ca/wp-content/uploads/2024/10/image2.png) + +> Figure 1: Network requests: MMTLS encryption connection over longlink and over shortlink. Each box is an MMTLS Record, and each arrow represents an “MMTLS packet” sent over either Longlink (i.e., a single TCP packet) or shortlink (i.e., in the body of HTTP POST). Once both sides have received the DH keyshare, all further records are encrypted. + +#### 2A. Handshake and key establishment + +In order for Business-layer Encryption to start sending messages and establish keys, it has to use the MMTLS Encryption tunnel. Since the key material for the MMTLS Encryption has to be established first, the handshakes in this section happen before any data can be sent or encrypted via Business-layer Encryption. The end goal of the MMTLS Encryption handshake discussed in this section is to establish a common secret value that is known only to the client and server. + +On a fresh startup of WeChat, it tries to complete one MMTLS handshake over Shortlink, and one MMTLS handshake over Longlink, resulting in two MMTLS encryption tunnels, each using different sets of encryption keys. For Longlink, after the handshake completes, the same Longlink (TCP) connection is kept open to transport future encrypted data. For Shortlink, the MMTLS handshake is completed in the first HTTP request-response cycle, then the first HTTP connection closes. The established keys are stored by the client and server, and when data needs to be sent over Shortlink, those established keys are used for encryption, then sent over a newly established Shortlink connection. In the remainder of this section, we describe details of the handshakes. + +##### ClientHello + +First, the client generates keypairs on the [SECP256R1 elliptic curve](https://neuromancer.sk/std/secg/secp256r1). Note that these elliptic curve keys are entirely separate pairs from those generated in the Business-layer Encryption section. The client also reads some Resumption Ticket data from a file stored on local storage named **`psk.key`,** if it exists. The `**psk.key**` file is written to after the first ServerHello is received, so, on a fresh install of WeChat, the resumption ticket is omitted from the ClientHello. + +The client first simultaneously sends a ClientHello message (contained in a Handshake record) over both the Shortlink and Longlink. The first of these two handshakes that completes successfully is the one that the initial Business-layer Encryption handshake occurs over (details of Business-layer Encryption are discussed in Section 4). Both Shortlink and Longlink connections are used afterwards for sending other data. + +In both the initial Shortlink and Longlink handshake, each ClientHello packet contains the following data items: + +- ClientRandom (32 bytes of randomness) +- Resumption Ticket data read from psk.key, if available +- Client public key + +An abbreviated version of the MMTLS ClientHello is shown below. + +``` +16 f1 04 (Handshake Record header) . . . +01 04 f1 (ClientHello) . . . +08 cd 1a 18 f9 1c . . . (ClientRandom) . . . +00 0c c2 78 00 e3 . . . (Resumption Ticket from psk.key) . . . +04 0f 1a 52 7b 55 . . . (Client public key) . . . +``` + +Note that the client generates **a separate keypair** for the Shortlink ClientHello and the Longlink ClientHello. The Resumption Ticket sent by the client is the same on both ClientHello packets because it is always read from the same psk.key file. On a fresh install of WeChat, the Resumption Ticket is omitted since there is no psk.key file. + +##### ServerHello + +The client receives a ServerHello packet in response to each ClientHello packet. Each contains: + +- A record containing ServerRandom and Server public key +- Records containing **encrypted** server certificate, new resumption ticket, and a ServerFinished message. + +An abbreviated version of the MMTLS ServerHello is shown below; a full packet sample with labels can be found in the [annotated network capture](https://docs.google.com/document/d/1Ub195WcLUY8YGJoGKW5IlhIIGaUWFzcM7aovNWqnFL4/edit). + +``` +16 f1 04 (Handshake Record header) . . . +02 04 f1 (ServerHello) . . . +2b a6 88 7e 61 5e 27 eb . . . (ServerRandom) . . . +04 fa e3 dc 03 4a 21 d9 . . . (Server public key) . . . +16 f1 04 (Handshake Record header) . . . +b8 79 a1 60 be 6c . . . (ENCRYPTED server certificate) . . . +16 f1 04 (Handshake Record header) . . . +1a 6d c9 dd 6e f1 . . . (ENCRYPTED NEW resumption ticket) . . . +16 f1 04 (Handshake Record header) . . . +b8 79 a1 60 be 6c . . . (ENCRYPTED ServerFinished) . . . +``` + +On receiving the server public key, the client generates + +``` +secret = ecdh(client_private_key, server_public_key). +``` + +Note that since each MMTLS encrypted tunnel uses a different pair of client keys, the shared secret, and any derived keys and IVs will be different between MMTLS tunnels. This also means Longlink handshake and Shortlink handshake each compute a different shared secret. + +Then, the shared secret is used to derive several sets of cryptographic parameters via HKDF, a mathematically secure way to transform a short secret value into a long secret value. In this section, we will focus on the *handshake parameters*. Alongside each set of keys, [initialization vectors (IVs)](https://www.techtarget.com/whatis/definition/initialization-vector-IV) are also generated. The IV is a value that is needed to initialize the [AES-GCM](https://en.wikipedia.org/wiki/Galois/Counter_Mode) encryption algorithm. IVs do not need to be kept secret. However, they need to be random and not reused. + +The *handshake parameters* are generated using HKDF (“handshake key expansion” is a constant string in the program, as well as other monotype double quoted strings in this section): + +``` +key_enc, key_dec, iv_enc, iv_dec = HKDF(secret, 56, “handshake key expansion”) +``` + +Using `key_dec` and `iv_dec`, the client can decrypt the remainder of the ServerHello records. Once decrypted, the client validates the server certificate. Then, the client also saves the new Resumption Ticket to the file `psk.key`. + +At this point, since the shared `secret` has been established, the MMTLS Encryption Handshake is considered completed. To start encrypting and sending data, the client derives other sets of parameters via HKDF from the shared secret. The details of which keys are derived and used for which connections are fully specified in [these notes](https://github.com/xpko/wechat-security-report/blob/main/docs/outer-crypto.md#full-key-derivation-details) where we annotate the keys and connections created on WeChat startup. + +#### 2B. Data encryption + +After the handshake, MMTLS uses AES-GCM with a particular key and IV, which are tied to the particular MMTLS tunnel, to encrypt data. The IV is incremented by the number of records previously encrypted with this key. This is important because re-using an IV with the same key destroys the confidentiality provided in AES-GCM, as it can lead to a key recovery attack using the known tag. + +``` +ciphertext, tag = AES-GCM(input, key, iv+n)` +`ciphertext = ciphertext | tag +``` + +The 16-byte tag is appended to the end of the ciphertext. This tag is authentication data computed by [AES-GCM](https://en.wikipedia.org/wiki/Galois/Counter_Mode); it functions as a [MAC](https://en.wikipedia.org/wiki/Message_authentication_code) in that when verified properly, this data provides authentication and integrity. In many cases, if this is a Data record being encrypted, `input` contains metadata and ciphertext that has already been encrypted as described in the Business-layer Encryption section. + +We separately discuss data encryption in Longlink and Shortlink in the following subsections. + +##### 2B1. Longlink + +Client-side Encryption for Longlink packets is done using AES-GCM with **key_enc** and **iv_enc** derived earlier in the handshake. Client-side Decryption uses **key_dec** and **iv_dec**. Below is a sample Longlink (TCP) packet containing a single data record containing an encrypted heartbeat message from the server + +: + + + +``` +17 f1 04 RECORD HEADER (of type “DATA”) +00 20 RECORD LENGTH +e6 55 7a d6 82 1d a7 f4 2b 83 d4 b7 78 56 18 f3 ENCRYPTED DATA +1b 94 27 e1 1e c3 01 a6 f6 23 6a bc 94 eb 47 39 TAG (MAC) +``` + +Within a long-lived Longlink connection, the IV is incremented for each record encrypted. If a new Longlink connection is created, the handshake is restarted and new key material is generated. + +##### 2B2. Shortlink + +Shortlink connections can only contain a single MMTLS packet request and a single MMTLS packet response (via HTTP POST request and response, respectively). After the initial Shortlink ClientHello sent on startup, WeChat will send ClientHello with Handshake Resumption packets. These records have the header 19 f1 04 instead of the 16 f1 04 on the regular ClientHello/ServerHello handshake packets. + +An abbreviated sample of a Shortlink request packet containing Handshake Resumption is shown below. + +``` +19 f1 04 (Handshake Resumption Record header) . . . +01 04 f1 (ClientHello) . . . +9b c5 3c 42 7a 5b 1a 3b . . . (ClientRandom) . . . +71 ae ce ff d8 3f 29 48 . . . (NEW Resumption Ticket) . . . +19 f1 04 (Handshake Resumption Record header) . . . +47 4c 34 03 71 9e . . . (ENCRYPTED Extensions) . . . +17 f1 04 (Data Record header) . . . +98 cd 6e a0 7c 6b . . . (ENCRYPTED EarlyData) . . . +15 f1 04 (Alert Record header) . . . +8a d1 c3 42 9a 30 . . . (ENCRYPTED Alert (ClientFinished)) . . . +``` + +Note that, based on our understanding of the MMTLS protocol, the ClientRandom sent in this packet is not used at all by the server, because there is no need to re-run Diffie-Hellman in a resumed session. The Resumption Ticket is used by the server to identify which prior-established shared secret should be used to decrypt the following packet content. + +Encryption for Shortlink packets is done using AES-GCM with the *handshake parameters* **key_enc** and **iv_enc**. (Note that, despite their identical name, **key_enc** and **iv_enc** here are different from those of the Longlink, since Shortlink and Longlink each complete their own handshake using different elliptic curve client keypair.) The **iv_enc** is incremented for each record encrypted. Usually, EarlyData records sent over **S**hortlink contain ciphertext that has been encrypted with Business-layer Encryption as well as associated metadata. This metadata and ciphertext will then be additionally encrypted at this layer. + +The reason this is referred to as EarlyData internally in WeChat is likely due to it being borrowed from [TLS](https://datatracker.ietf.org/doc/html/rfc8446#section-4.2.10); typically, it refers to the data that is encrypted with a key derived from a pre-shared key, before the establishment of a regular session key via Diffie-Hellman. However, in this case, when using Shortlink, there is no data sent “after the establishment of a regular session key”, so almost all Shortlink data is encrypted and sent in this EarlyData section. + +Finally, `ClientFinished` indicates that the client has finished its side of the handshake. It is an encrypted Alert record with a fixed message that always follows the EarlyData Record. From our reverse-engineering, we found that the handlers for this message referred to it as `ClientFinished`. + +### 3. Business-layer Request + +MMTLS Data Records either carry an “Business-layer request” or heartbeat messages. In other words, if one decrypts the payload from an MMTLS Data Record, the result will often be messages described below. + +This Business-layer request contains several metadata parameters that describe the purpose of the request, including the internal URI and the request type number, which we briefly described in the “Launching a WeChat network request” section. + +When logged-in, the format of a Business-layer request looks like the following: + +``` +00 00 00 7b (total data length) +00 24 (URI length) +/cgi-bin/micromsg-bin/... (URI) +00 12 (hostname length) +sgshort.wechat.com (hostname) +00 00 00 3D (length of rest of data) +BF B6 5F (request flags) +41 41 41 41 (user ID) +42 42 42 42 (device ID) +FC 03 48 02 00 00 00 00 (cookie) +1F 9C 4C 24 76 0E 00 (cookie) +D1 05 varint (request_type) +0E 0E 00 02 (4 more varints) +BD 95 80 BF 0D varint (signature) +FE (flag) +80 D2 89 91 +04 00 00 (marks start of data) +08 A6 29 D1 A4 2A CA F1 ... (ciphertext) +``` + +Responses are formatted very similarly: + +``` +bf b6 5f (flags) +41 41 41 41 (user ID) +42 42 42 42 (device ID) +fc 03 48 02 00 00 00 00 (cookie) +1f 9c 4c 24 76 0e 00 (cookie) +fb 02 varint (request_type) +35 35 00 02 varints +a9 ad 88 e3 08 varint (signature) +fe +ba da e0 93 +04 00 00 (marks start of data) +b6 f8 e9 99 a1 f4 d1 20 . . . ciphertext +``` + +This request then contains another encrypted ciphertext, which is encrypted by what we refer to as Business-layer Encryption. Business-layer Encryption is separate from the system we described in the **MMTLS Encryption** section. The `signature` mentioned above is the output of `genSignature()`, which is discussed in the “Integrity check” section. Pseudocode for the serialization schemes and more samples of WeChat’s encrypted request header can be found in our [Github repository](https://github.com/xpko/wechat-security-report/blob/main/docs/wechat-encrypted-request-format.md). + +### 4. Business-layer Encryption + +[WeChat Crypto diagrams (inner layer)](https://docs.google.com/drawings/d/1WSZY_R8XBliTDrb3tSkmoZpaq3lsud0sBaWRuygGuJo/edit) + +This section describes how the Business-layer requests described in **Section 3** are encrypted and decrypted, and how the keys are derived. We note that the set of keys and encryption processes introduced in this section are completely separate from those referred to in the MMTLS Encryption section. Generally, for Business-layer Encryption, much of the protocol logic is handled in the Java code, and the Java code calls out to the C++ libraries for encryption and decryption calculations. Whereas for MMTLS Encryption everything is handled in C++ libraries, and occurs on a different process entirely. There is very little interplay between these two layers of encryption. + +The Business-layer Encryption has two modes using different cryptographic processes: *Asymmetric Mode* and *Symmetric Mode*. To transition into Symmetric Mode, WeChat needs to perform an *Autoauth* request. Upon startup, WeChat typically goes through the three following stages: + +1. Before the user logs in to their account, Business-layer Encryption first uses asymmetric cryptography to derive a shared secret via [static Diffie-Hellman](https://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange#Ephemeral_and/or_static_keys) (static DH), then uses the shared secret as a key to AES-GCM encrypt the data. We name this Asymmetric Mode. In Asymmetric Mode, the client derives a new shared secret for each request. +2. Using Asymmetric Mode, WeChat can send an Autoauth request, to which the server would return an Autoauth response, which contains a **session_key**. +3. After the client obtains `session_key`, Business-layer Encryption uses it to [AES-CBC](https://docs.anchormydata.com/docs/what-is-aes-256-cbc) encrypt the data. We name this Symmetric Mode since it only uses symmetric cryptography. Under Symmetric Mode, the same `session_key` can be used for multiple requests. + +For *Asymmetric Mode*, we performed dynamic and static analysis of C++ functions in libwechatmm.so; in particular the `HybridEcdhEncrypt()` and `HybridEcdhDecrypt()` functions, which call `AesGcmEncryptWithCompress()` / `AesGcmDecryptWithUncompress()`, respectively. + +For *Symmetric Mode*, the requests are handled in `pack()`, `unpack()`, and `genSignature()` functions in `libMMProtocalJNI.so`. Generally, `pack()` handles outgoing requests, and `unpack()` handles incoming responses to those requests. They also perform encryption/decryption. Finally, `genSignature()` computes a checksum over the full request. In the Github repository, we’ve uploaded pseudocode for [pack](https://github.com/xpko/wechat-security-report/blob/main/docs/reversing-notes.md#pack-notes), [AES-CBC](https://github.com/xpko/wechat-security-report/blob/main/docs/reversing-notes.md#aesencrypt-cbc) encryption, and the [genSignature](https://github.com/xpko/wechat-security-report/blob/main/docs/reversing-notes.md#gensignature) routine. + +The Business-layer Encryption is also tightly integrated with WeChat’s user authentication system. The user needs to log in to their account before the client is able to send an Autoauth request. For clients that have not logged in, they exclusively use Asymmetric Mode. For clients that have already logged in, their first Business-layer packet would most often be an Autoauth request encrypted using Asymmetric Mode, however, the second and onward Business-layer packets are encrypted using Symmetric Mode. + +[![Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol 4](./Should We Chat, Too Security Analysis of WeChat’s MMTLS Encryption Protocol/image3.png)](https://citizenlab.ca/wp-content/uploads/2024/10/image3.png) + +> **Figure 2: Business-layer encryption, logged-out, logging-in, and logged-in:** Swimlane diagrams showing at a high-level what Business-layer Encryption requests look like, including which secrets are used to generate the key material used for encryption. 🔑 secret is generated via DH(static server public key, client private key), and 🔑**new_secret** is DH(server public key, client private key). 🔑**session** is decrypted from the first response when logged-in. Though it isn’t shown above, 🔑**new_secret** is also used in **genSignature()** when logged-in; this signature is sent with request and response metadata. + +#### 4A. Business-layer Encryption, Asymmetric Mode + +Before the user logs in to their WeChat account, the Business-layer Encryption process uses a *static server public key*, and generates new client keypair to agree on a static Diffie-Hellman shared secret for every WeChat network request. The shared secret is run through the HKDF function and any data is encrypted with AES-GCM and sent alongside the generated client public key so the server can calculate the shared secret. + +For each request, the client generates a public, private keypair for use with [ECDH](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie–Hellman). We also note that the client has a static server public key pinned in the application. The client then calculates an initial secret. + +``` +secret = ECDH(static_server_pub, client_priv)` +`hash = sha256(client_pub)` +`client_random = <32 randomly generated bytes>` +`derived_key = HKDF(secret) +``` + +`derived_key` is then used to AES-GCM encrypt the data, which we describe in detail in the next section. + +#### 4B. Business-layer Encryption, obtaining session_key + +If the client is logged-in (i.e., the user has logged in to a WeChat account on a previous app run), the first request will be a very large data packet authenticating the client to the server (referred to as Autoauth in WeChat internals) which also contains key material. We refer to this request as the Autoauth request. In addition, the client pulls a locally-stored key `autoauth_key`, which we did not trace the provenance of, since it does not seem to be used other than in this instance. The key for encrypting this initial request (`authrequest_data`) is derived_key, calculated in the same way as in Section 4A. The encryption described in the following is the Asymmetric Mode encryption, albeit a special case where the data is the `authrequest_data`. + +Below is an abbreviated version of a serialized and encrypted Autoauth request: + +``` + 08 01 12 . . . [Header metadata] + 04 46 40 96 4d 3e 3e 7e [client_publickey] . . . + fa 5a 7d a7 78 e1 ce 10 . . . [ClientRandom encrypted w secret] + a1 fb 0c da . . . [IV] + 9e bc 92 8a 5b 81 . . . [tag] + db 10 d3 0f f8 e9 a6 40 . . . [ClientRandom encrypted w autoauth_key] + 75 b4 55 30 . . . [IV] + d7 be 7e 33 a3 45 . . . [tag] + c1 98 87 13 eb 6f f3 20 . . . [authrequest_data encrypted w derived_key] + 4c ca 86 03 . . [IV] + 3c bc 27 4f 0e 7b . . . [tag] +``` + +A full sample of the Autoauth request and response at each layer of encryption can be found in the [Github repository](https://github.com/xpko/wechat-security-report/tree/main/data). Finally, we note that the `autoauth_key` above does not seem to be actively used outside of encrypting in this particular request. We suspect this is vestigial from a legacy encryption protocol used by WeChat. + +The client encrypts here using AES-GCM with a randomly generated IV, and uses a SHA256 hash of the preceding message contents as [AAD](https://datatracker.ietf.org/doc/html/rfc5084#section-1.4). At this stage, the messages (including the ClientRandom messages) are always [ZLib](https://en.wikipedia.org/wiki/Zlib) compressed before encryption. + +``` +iv = <12 random bytes>compressed = zlib_compress(plaintext)ciphertext, tag = AESGCM_encrypt(compressed, aad = hash(previous), derived_key, iv) +``` + +In the above, previous is the header of the request (i.e. all header bytes preceding the 04 00 00 marker of data start). The client appends the 12-byte IV, then the 16-byte tag, onto the ciphertext. This tag can be used by the server to verify the integrity of the ciphertext, and essentially functions as a [MAC](https://en.wikipedia.org/wiki/Message_authentication_code). + +##### 4B1. Obtaining session_key: Autoauth Response + +The response to autoauth is serialized similarly to the request: + +``` +08 01 12 . . . [Header metadata] +04 46 40 96 4d 3e 3e 7e [new_server_pub] . . . +c1 98 87 13 eb 6f f3 20 . . . [authresponse_data encrypted w new_secret] +4c ca 86 03 . . [IV] +3c bc 27 4f 0e 7b . . . [tag] +``` + +With the newly received server public key (`new_server_pub`), which is different from the `static_server_pub` hardcoded in the app, the client then derives a new secret (`new_secret`). new_secret is then used as the key to AES-GCM decrypt `authresponse_data`. The client can also verify `authresponse_data` with the given tag. + +``` +new_secret = ECDH(new_server_pub, client_privatekey)authresponse_data= AESGCM_decrypt(aad = hash(authrequest_data),new_secret, iv) +``` + +`authresponse_data` is a serialized Protobuf containing a lot of important data for WeChat to start, starting with a helpful **“**`Everything is ok`**”** status message. A full sample of this Protobuf can be found in the [Github repository](https://github.com/xpko/wechat-security-report/blob/main/data/autoauth-response.json). Most importantly, `authresponse_data` contains `**session_key**`, which is the key used for future AES-CBC encryption under Symmetric Mode. From here on out, `new_secret` is only used in `genSignature()`, which is discussed below in Section 4C2 Integrity Check. + +We measured the entropy of the session_key provided by the server, as it is used for future encryption. This key exclusively uses printable ASCII characters, and is thus limited to around ~100 bits of entropy. + +The WeChat code refers to three different keys: *client_session*, *server_session*, and *single_session*. Generally, *client_session* refers to the `client_publickey`, `server_session` refers to the *shared secret key* generated using ECDH i.e. `new_secret`, and `single_session` refers to the `session_key` provided by the server. + +#### 4C. Business-layer Encryption, Symmetric Mode + +After the client receives session_key from the server, future data is encrypted using Symmetric Mode. Symmetric Mode encryption is mostly done using AES-CBC instead of AES-GCM, with the exception of some large files being encrypted with `AesGcmEncryptWithCompress()`. As `AesGcmEncryptWithCompress()` requests are the exception, we focus on the more common use of AES-CBC. + +Specifically, the Symmetric Mode uses AES-CBC with PKCS-7 padding, with the session_key as a symmetric key: + +``` +ciphertext = AES-CBC(PKCS7_pad(plaintext), session_key, iv = session_key) +``` + +This `session_key` is doubly used as the IV for encryption. + +##### 4C1. Integrity check + +In Symmetric Mode, a function called `genSignature()` calculates a pseudo-integrity code on the plaintext. This function first calculates the **MD5 hash** of WeChat’s assigned user ID for the logged-in user (`uin`), `new_secret`, and the plaintext length. Then, genSignature() uses [**Adler32**](https://en.wikipedia.org/wiki/Adler-32), a checksumming function, on the MD5 hash concatenated with the plaintext. + +``` +signature = adler32(md5(uin | new_secret | plaintext_len) | + plaintext) +``` + +The result from Adler32 is concatenated to the ciphertext as metadata (see Section 3A for how it is included in the request and response headers), and is referred to as a `signature` in WeChat’s codebase. We note that though it is referred to as a `signature`, it does not provide any cryptographic properties; details can be found in the Security Issues section. The full pseudocode for this function can also be found in [the Github repository](https://github.com/xpko/wechat-security-report/blob/main/docs/reversing-notes.md#gensignature). + +### 5. Protobuf data payload + +The input to Business-layer Encryption is generally a serialized Protobuf, optionally compressed with Zlib. When logged-in, many of the Protobufs sent to the server contain the following header data: + +``` +"1": { + "1": "\u0000", + "2": "1111111111", # User ID (assigned by WeChat) + "3": "AAAAAAAAAAAAAAA\u0000", # Device ID (assigned by WeChat) + "4": "671094583", # Client Version + "5": "android-34", # Android Version + "6": "0" + }, +``` + +The Protobuf structure is defined in each API’s corresponding RR class, as we previously mentioned in the “Launching a WeChat network request” section. + +### 6. Putting it all together + +In the below diagram, we demonstrate the network flow for the most common case of opening the WeChat application. We note that in order to prevent further complicating the diagram, HKDF derivations are not shown; for instance, when “🔑`mmtls`” is used, HKDF is used to derive a key from “🔑`mmtls`”, and the derived key is used for encryption. The specifics of how keys are derived, and which derived keys are used to encrypt which data, can be found in [these notes](https://github.com/xpko/wechat-security-report/blob/main/docs/outer-crypto.md#full-key-derivation-details). + +[![Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol 5](./Should We Chat, Too Security Analysis of WeChat’s MMTLS Encryption Protocol/image1.png)](https://citizenlab.ca/wp-content/uploads/2024/10/image1.png) + +Figure 3: Swimlane diagram demonstrating the encryption setup and network flow of the most common case (user is logged in, opens WeChat application). + +We note that other configurations are possible. For instance, we have observed that if the Longlink MMTLS handshake completes first, the Business-layer “Logging-in” request and response can occur over the Longlink connection instead of over several **shortlink** connections. In addition, if the user is logged-out, Business-layer requests are simply encrypted with 🔑secret (resembling **Shortlink 2** requests) + +## Security issues + +In this section, we outline potential security issues and privacy weaknesses we identified with the construction of the **MMTLS encryption** and **Business-layer** encryption layers. There could be other issues as well. + +### Issues with MMTLS encryption + +Below we detail the issues we found with WeChat’s MMTLS encryption. + +#### Deterministic IV + +The MMTLS encryption process generates a single IV once per connection. Then, they increment the IV for each subsequent record encrypted in that connection. Generally, NIST [recommends](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf) not using a wholly deterministic derivation for IVs in AES-GCM since it is easy to accidentally re-use IVs. In the case of AES-GCM, reuse of the (key, IV) tuple is catastrophic as it [allows key recovery](https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/comments/800-38-series-drafts/gcm/joux_comments.pdf) from the AES-GCM authentication tags. Since these tags are appended to AES-GCM ciphertexts for authentication, this enables plaintext recovery from as few as 2 ciphertexts encrypted with the same key and IV pair. + +In addition, [Bellare and Tackmann](https://eprint.iacr.org/2016/564.pdf) have shown that the use of a deterministic IV can make it possible for a powerful adversary to brute-force a particular (key, IV) combination. This type of attack applies to powerful adversaries, if the crypto system is deployed to a very large (i.e., the size of the Internet) pool of (key, IV) combinations being chosen. Since WeChat has over a billion users, this order of magnitude puts this attack within the realm of feasibility. + +#### Lack of forward secrecy + +Forward secrecy is [generally expected](https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices) of modern communications protocols to reduce the importance of session keys. Generally, TLS itself is forward-secret by design, except in the case of the first packet of a “resumed” session. This first packet is encrypted with a “pre-shared key”, or PSK established during a previous handshake. + +MMTLS makes heavy use of PSKs by design. Since the Shortlink transport format only supports a single round-trip of communication (via a single HTTP POST request and response), any encrypted data sent via the transport format is encrypted with a pre-shared key. Since leaking the shared `PSK_ACCESS` secret would enable a third-party to decrypt any EarlyData sent across multiple MMTLS connections, data encrypted with the pre-shared key is not forward secret. The vast majority of records encrypted via MMTLS are sent via the Shortlink transport, which means that the majority of network data sent by WeChat is not forward-secret between connections. In addition, when opening the application, WeChat creates a single long-lived Longlink connection. This long-lived Longlink connection is open for the duration of the WeChat application, and any encrypted data that needs to be sent is sent over the same connection. Since most WeChat requests are either encrypted using (A) a session-resuming PSK or (B) the application data key of the long-lived Longlink connection, WeChat’s network traffic often does not retain forward-secrecy between network requests. + +### Issues with Business-layer encryption + +On its own, the business-layer encryption construction, and, in particular the Symmetric Mode, AES-CBC construction, has many severe issues. Since the requests made by WeChat are double-encrypted, and these concerns only affect the inner, business layer of encryption, we did not find an immediate way to exploit them. However, in older versions of WeChat which exclusively used business-layer encryption, these issues would be exploitable. + +#### Metadata leak + +Business-layer encryption does not encrypt metadata such as the user ID and request URI, as shown in the “Business-layer request” section. This issue is also [acknowledged](https://cloud.tencent.com/developer/article/1005518) by the WeChat developers themselves to be one of the motivations to develop MMTLS encryption. + +#### Forgeable genSignature integrity check + +While the purpose of the `genSignature` code is not entirely clear, if it is being used for authentication (since the `ecdh_key` is included in the MD5) or integrity, it fails on both parts. A valid forgery can be calculated with any known `plaintext` without knowledge of the `ecdh_key`. If the client generates the following for some known plaintext message `plaintext`: + +``` +sig = adler32(md5(uin | ecdh_key | plaintext_len) | plaintext) +``` + +We can do the following to forge the signature `evil_sig` for some `evil_plaintext` with length `plaintext_len`: + +``` +evil_sig = sig - adler32(plaintext) + adler32(evil_plaintext) +``` + +Subtracting and adding from `adler32` checksums is achievable by solving for a system of equations [when the message is short](https://en.wikipedia.org/wiki/Adler-32#Weakness). Code for subtracting and adding to `adler32` checksum, thereby forging this integrity check, can be found in `adler.py` in [our Github repository](https://github.com/xpko/wechat-security-report/blob/main/code/adler.py). + +#### Possible AES-CBC padding oracle + +Since AES-CBC is used alongside [PKCS7](https://en.wikipedia.org/wiki/PKCS_7) padding, it is possible that the use of this encryption on its own would be susceptible to an [AES-CBC padding oracle](https://en.wikipedia.org/wiki/Padding_oracle_attack), which can lead to recovery of the encrypted plaintext. Earlier this year, we found that another custom cryptography scheme developed by a Tencent company was [susceptible to this exact attack](https://citizenlab.ca/2023/08/vulnerabilities-in-sogou-keyboard-encryption/). + +#### Key, IV re-use in block cipher mode + +Re-using the key as the IV for AES-CBC, as well as re-using the same key for all encryption in a given session (i.e., the length of time that the user has the application opened) introduces some privacy issues for encrypted plaintexts. For instance, since the key and the IV provide all the randomness, re-using both means that if two plaintexts are identical, they will encrypt to the same ciphertext. In addition, due to the use of [CBC mode](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_block_chaining_(CBC)) in particular, two plaintexts with identical N block-length prefixes will encrypt to the same first N ciphertext blocks. + +#### Encryption key issues + +It is highly unconventional for the server to choose the encryption key used by the client. In fact, we note that the encryption key generated by the server (the “session key”) exclusively uses printable ASCII characters. Thus, even though the key is 128 bits long, the entropy of this key is at most 106 bits. + +#### No forward secrecy + +As mentioned in the previous section, forward-secrecy is a standard property for modern network communication encryption. When the user is logged-in, all communication with WeChat, at this encryption layer, is done with the exact same key. The client does not receive a new key until the user closes and restarts WeChat. + +## Other versions of WeChat + +To confirm our findings, we also tested our decryption code on WeChat 8.0.49 for Android (released April 2024) and found that the MMTLS network format matches that used by WeChat 8.0.49 for iOS. + +### Previous versions of WeChat network encryption + +To understand how WeChat’s complex cryptosystems are tied together, we also briefly reverse-engineered an older version of WeChat that did not utilize MMTLS. The newest version of WeChat that did not utilize MMTLS was v6.3.16, released in 2016. Our full notes on this reverse-engineering can be found [here](https://github.com/xpko/wechat-security-report/blob/main/docs/wechat-v6.3.16.md). + +While logged-out, requests were largely using the Business-layer Encryption cryptosystem, using RSA public-key encryption rather than static Diffie-Hellman plus symmetric encryption via AES-GCM. We observed requests to the internal URIs `cgi-bin/micromsg-bin/encryptcheckresupdate` and `cgi-bin/micromsg-bin/getkvidkeystrategyrsa`. + +There was also another encryption mode used, DES with a static key. This mode was used for sending crash logs and memory stacks; POST requests to the URI `/cgi-bin/mmsupport-bin/stackreport` were encrypted using DES. + +We were not able to login to this version for dynamic analysis, but from our static analysis, we determined that the encryption behaves the same as Business-layer Encryption when logged-in (i.e. using a `session_key` provided by the server for AES-CBC encryption). + +## Discussion + +#### Why does Business-layer encryption matter? + +Since Business-layer encryption is wrapped in MMTLS, why should it matter whether or not it is secure? First, from our study of previous versions of WeChat, Business-layer encryption was the sole layer of encryption for WeChat network requests until 2016. Second, from the the fact that Business-layer encryption exposes internal request URI unencrypted, one of the possible architectures for WeChat would be to host different internal servers to handle different types of network requests (corresponding to different “requestType” values and different cgi-bin request URLs). It could be the case, for instance, that after MMTLS is terminated at the front WeChat servers (handles MMTLS decryption), the inner WeChat request that is forwarded to the corresponding internal WeChat server is not re-encrypted, and therefore solely encrypted using Business-layer encryption. A network eavesdropper, or network tap, placed within WeChat’s intranet could then attack the Business-layer encryption on these forwarded requests. However, this scenario is purely conjectural. Tencent’s response to our disclosure is concerned with issues in Business-layer encryption and implies they are slowly migrating from the more problematic AES-CBC to AES-GCM, so Tencent is also concerned with this. + +#### Why not use TLS? + +According to [public documentation](https://docs.google.com/document/d/14Gsqi3vWjXLhF3odeTjhq_njtTk4aFPr-LptPwuzMsw/edit) and confirmed by our own findings, MMTLS (the “Outer layer” of encryption) is based heavily on TLS 1.3. In fact, the document demonstrates that the architects of MMTLS have a decent understanding of asymmetric cryptography in general. + +The document contains reasoning for not using TLS. It explains that the way WeChat uses network requests necessitates something like [0-RTT](https://www.haproxy.com/glossary/what-is-zero-round-trip-time-resumption-0-rtt) session resumption, because the majority of WeChat data transmission needs only one request-response cycle (i.e., Shortlink). MMTLS only required one round-trip handshake to establish the underlying TCP connection before any application data can be sent; according to this document, introducing another round-trip for the TLS 1.2 handshake was a non-starter. + +> Fortunately, TLS1.3 proposes a 0-RTT (no additional network delay) method for the protocol handshake. In addition, the protocol itself provides extensibility through the version number, CipherSuite, and Extension mechanisms. However, TLS1.3 is still in draft phases, and its implementation may still be far away. TLS1.3 is also a general-purpose protocol for all apps, given the characteristics of WeChat, there is great room for optimization. Therefore, at the end, we chose to design and implement our own secure transport protocol, MMTLS, based on the TLS1.3 draft standard. [originally written in Chinese] + +However, even at the time of writing in 2016, TLS 1.2 did provide an option for [session resumption](https://blog.cloudflare.com/tls-session-resumption-full-speed-and-secure/). In addition, since WeChat controls both the servers and the clients, it doesn’t seem unreasonable to deploy the fully-fledged TLS 1.3 implementations that were being tested at the time, even if the IETF draft was incomplete. + +Despite the architects of MMTLS’ best effort, generally, the security protocols used by WeChat seem both less performant and less secure than TLS 1.3. Generally speaking, designing a secure and performant transport protocol is no easy feat. + +The issue of performing an extra round-trip for a handshake has been a perennial issue for application developers. The TCP and TLS handshake each require a single round-trip, meaning each new data packet sent requires two round-trips. Today, TLS-over-QUIC combines the transport-layer and encryption-layer handshakes, requiring only a single handshake. QUIC provides the best of both worlds, both strong, forward-secret encryption, and halving the number of round-trips needed for secure communication. **Our recommendation would be for WeChat to migrate to a standard QUIC implementation.** + +Finally, there is also the issue of client-side performance, in addition to network performance. Since WeChat’s encryption scheme performs two layers of encryption per request, the client is performing double the work to encrypt data, than if they used a single standardized cryptosystem. + +#### The trend of home-rolled cryptography in Chinese applications + +The findings here contribute to much of [our](https://citizenlab.ca/2024/04/vulnerabilities-across-keyboard-apps-reveal-keystrokes-to-network-eavesdroppers/) [prior](https://citizenlab.ca/2016/03/privacy-security-issues-qq-browser/) [research](https://citizenlab.ca/2015/05/a-chatty-squirrel-privacy-and-security-issues-with-uc-browser/) that suggests the popularity of home-grown cryptography in Chinese applications. In general, the avoidance of TLS and the preference for proprietary and non-standard cryptography is a departure from cryptographic best practices. While there may have been many legitimate reasons to distrust TLS in 2011 (like [EFF](https://www.usenix.org/legacy/events/sec11/tech/slides/eckersley.pdf) and [Access Now](https://www.accessnow.org/wp-content/uploads/archive/docs/Weakest_Link_in_the_Chain.pdf)’s concerns over the certificate authority ecosystem), the TLS ecosystem has largely [stabilized](https://letsencrypt.org/stats/) since then, and is more auditable and [transparent](https://certificate.transparency.dev/). Like MMTLS, all the proprietary protocols we have researched in the past contain weaknesses relative to TLS, and, in some cases, could even be [trivially decrypted](https://citizenlab.ca/2024/04/vulnerabilities-across-keyboard-apps-reveal-keystrokes-to-network-eavesdroppers/) by a network adversary. This is a growing, concerning trend unique to the Chinese security landscape as the global Internet progresses towards technologies like QUIC or TLS to protect data in transit. + +#### Anti-DNS-hijacking mechanisms + +Similar to how Tencent wrote their own cryptographic system, we found that in Mars they also wrote a proprietary domain lookup system. This system is part of STN and has the ability to support domain name to IP address lookups over HTTP. This feature is referred to as “NewDNS” in Mars. Based on our dynamic analysis, this feature is regularly used in WeChat. At first glance, NewDNS duplicates the same functions already provided by DNS (Domain Name System), which is already built into nearly all internet-connected devices. + +WeChat is not the only app in China that utilizes such a system. Major cloud computing providers in China such as [Alibaba Cloud](https://cn.aliyun.com/product/httpdns?from_alibabacloud=) and [Tencent Cloud](https://cloud.tencent.com/developer/article/2180368) both offer their own DNS over HTTP service. A VirusTotal search for apps that tries to contact [Tencent Cloud’s DNS over HTTP service endpoint (119.29.29.98)](https://github.com/TencentCloud/httpdns-sdk-android) yielded [3,865 unique results](https://www.virustotal.com/gui/search/behavior_network%3A%22119.29.29.98%22/files). + +One likely reason for adopting such a system is that ISPs in China often implement [DNS hijacking](https://en.wikipedia.org/wiki/DNS_hijacking) to insert ads and redirect web traffic to perform [ad fraud](https://www.oracle.com/uk/advertising/measurement/ad-fraud-invalid-traffic/). The problem was so serious that six Chinese internet giants [issued a joint statement in 2015](https://www.thepaper.cn/newsDetail_forward_1413110) urging ISPs to improve. According to the news article, about 1–2% of traffic to Meituan (an online shopping site) suffers from DNS hijacking. Ad fraud by Chinese ISPs seems to remain a [widespread](https://web.archive.org/web/20240131063911/https://www.v2ex.com/t/651746) [problem](https://web.archive.org/web/20240131063930/https://m.thepaper.cn/baijiahao_15406173) in recent years. + +Similar to their MMTLS cryptographic system, Tencent’s NewDNS domain lookup system was motivated by trying to meet the needs of the Chinese networking environment. DNS proper over the years has proven to have multiple [security](https://en.wikipedia.org/w/index.php?title=Domain_Name_System&oldid=1232087380#Security_issues) and [privacy](https://en.wikipedia.org/w/index.php?title=Domain_Name_System&oldid=1232087380#Privacy_and_tracking_issues) issues. Compared to TLS, we found that WeChat’s MMTLS has additional deficiencies. However, it remains an open question as to, when compared to DNS proper, whether NewDNS is more or less problematic. We leave this question for future work. + +#### Use of Mars STN outside WeChat + +We speculate that there is a widespread adoption of Mars (mars-open) outside of WeChat, based on the following observations: + +- There are numerous [issues](https://github.com/Tencent/mars/issues) opened on the Mars GitHub repository. +- There are [plenty](http://www.li5jun.com/article/662.html) [of](https://blog.csdn.net/BunnyCoffer/article/details/80051766) technical [articles](https://segmentfault.com/a/1190000016558538) outlining building instant messaging systems using Mars. +- There is already [a white-label instant messaging system product](https://docs.wildfirechat.cn/) that is based on Mars. + +The adoption of Mars outside of WeChat is concerning because Mars by default does not provide any transport encryption. As we have mentioned in the “Three Parts of Mars” section, the MMTLS encryption used in WeChat is part of mars-wechat, which [is not open source](https://github.com/Tencent/mars/issues/1023). The Mars developers [also have no plans to add support of TLS, and expect other developers using Mars to implement their own encryption in the upper layers](https://github.com/Tencent/mars/issues/81). To make matters worse, implementing TLS within Mars [seems to require a fair bit of architectural changes](https://github.com/Tencent/mars/issues/184). Even though it would not be unfair for Tencent to keep MMTLS proprietary, MMTLS is still the main encryption system that Mars was designed for, leaving MMTLS proprietary would mean other developers using Mars would have to either devote significant resources to integrate a different encryption system with Mars, or leave everything unencrypted. + +Mars is also lacking in documentation. The official [wiki](https://github.com/Tencent/mars/wiki/) only contains a few, old articles on how to integrate with Mars. Developers using Mars often resort to [asking questions on GitHub](https://github.com/Tencent/mars/issues/639). The lack of documentation means that developers are more prone to making mistakes, and ultimately reducing security. + +Further research is needed in this area to analyze the security of apps that use Tencent’s Mars library. + +#### “Tinker”, a dynamic code-loading module + +In this section, we tentatively refer to the APK downloaded from the Google Play Store as “WeChat APK”, and the APK downloaded from WeChat’s official website as “Weixin APK”. The distinction between WeChat and Weixin seems blurry. The WeChat APK and Weixin APK contain partially different code, as we will later discuss in this section. However, when installing both of these APKs to an English-locale Android Emulator, they both show their app names as “WeChat”. Their application ID, which is used by the Android system and Google Play Store to identify apps, are also both “com.tencent.mm”. We were also able to login to our US-number accounts using both APKs. + +Unlike the WeChat APK, we found that the Weixin APK contains Tinker, [“a hot-fix solution library”](https://github.com/Tencent/tinker). Tinker allows the developer to update the app itself without calling Android’s system APK installer by using a technique called “dynamic code loading”. In an earlier report we found a similar [distinction](https://citizenlab.ca/2021/03/tiktok-vs-douyin-security-privacy-analysis/) between TikTok and Douyin, where we found Douyin to have a similar dynamic code-loading feature that was not present in TikTok. This feature raises three concerns: + +1. If the process for downloading and loading the dynamic code does not sufficiently authenticate the downloaded code (e.g., that it is cryptographically signed with the correct public key, that it is not out of date, and that it is the code intended to be downloaded and not other cryptographically signed and up-to-date code), an attacker might be able to exploit this process to run malicious code on the device (e.g., by injecting arbitrary code, by performing a downgrade attack, or by performing a sidegrade attack). Back in 2016, we found such instances in [other](https://citizenlab.ca/2016/02/privacy-security-issues-baidu-browser/) [Chinese](https://citizenlab.ca/2016/03/privacy-security-issues-qq-browser/) [apps](https://citizenlab.ca/2016/08/a-tough-nut-to-crack-look-privacy-and-security-issues-with-uc-browser/). +2. Even if the code downloading and loading mechanism contains no weaknesses, the dynamic code loading feature still allows the application to load code without notifying the user, bypassing users’ consent to decide what program could run on their device. For example, the developer may push out an unwanted update, and the users do not have a choice to keep using the old version. Furthermore, a developer may selectively target a user with an update that compromises their security or privacy. In 2016, a Chinese security analyst [accused](https://web.archive.org/web/20160330060941/news.boxun.com/news/gb/china/2016/02/201602231542.shtml) Alibaba of pushing dynamically loaded code to Alipay to surreptitiously take photos and record audio on his device. +3. Dynamically loading code deprives app store reviewers from reviewing all relevant behavior of an app’s execution. As such, the [Google Play Developer Program Policy](https://support.google.com/googleplay/android-developer/answer/14906471?hl=en) does not permit apps to use dynamic code loading. + +When analyzing the WeChat APK, we found that, while it retains some components of Tinker. The component which seems to handle the downloading of app updates is present, however the core part of Tinker that handles loading and executing the downloaded app updates has been replaced with “no-op” functions, which perform no actions. We did not analyze the WeChat binaries available from other third party app stores. + +Further research is needed to analyze the security of Tinker’s app update process, whether WeChat APKs from other sources contain the dynamic code loading feature, as well as any further differences between the WeChat APK and Weixin APK. + +## Recommendations + +In this section, we make recommendations based on our findings to relevant audiences. + +#### To application developers + +Implementing proprietary encryption is more expensive, less performant, and [less secure](https://www.schneier.com/blog/archives/2011/04/schneiers_law.html) than using well-scrutinized standard encryption suites. Given the sensitive nature of data that can be sent by applications, we encourage application developers to use tried-and-true encryption suites and protocols and to avoid rolling their own crypto. SSL/TLS has seen almost three decades of various improvements as a result of rigorous public and academic scrutiny. TLS configuration is now easier than ever before, and the advent of QUIC-based TLS has dramatically improved performance. + +#### To Tencent and WeChat developers + +Below is a copy of the recommendations we sent to WeChat and Tencent in our disclosure. The full disclosure correspondence can be found in the [Appendix](https://citizenlab.ca/2024/10/should-we-chat-too-security-analysis-of-wechats-mmtls-encryption-protocol/#appendix). + +> In [this post from 2016](https://github.com/WeMobileDev/article/blob/master/基于TLS1.3的微信安全通信协议mmtls介绍.md), WeChat developers note that they wished to upgrade their encryption, but the addition of another round-trip for the TLS 1.2 handshake would significantly degrade WeChat network performance, as the application relies on many short bursts of communication. At that time, TLS 1.3 was not yet an RFC (though session resumption extensions were available for TLS 1.2), so they opted to “roll their own” and incorporate TLS 1.3’s session resumption model into MMTLS. +> +> This issue of performing an extra round-trip for a handshake has been a perennial issue for application developers around the world. The TCP and TLS handshake each require a single round-trip, meaning each new data packet sent requires two round-trips. Today, TLS-over-QUIC combines the transport-layer and encryption-layer handshakes, requiring only a single handshake. QUIC was developed for this express purpose, and can provide both strong, forward-secret encryption, while halving the number of round-trips needed for secure communication. We also note that WeChat seems to already use QUIC for some large file downloads. **Our recommendation would be for WeChat to migrate entirely to a standard TLS or QUIC+TLS implementation.** +> +> There is also the issue of client-side performance, in addition to network performance. Since WeChat’s encryption scheme performs two layers of encryption per request, the client is performing double the work to encrypt data than if WeChat used a single standardized cryptosystem. + +#### To operating systems + +On the web, client-side browser [security](https://security.googleblog.com/2016/09/moving-towards-more-secure-web.html) [warnings](https://blog.mozilla.org/security/2017/01/20/communicating-the-dangers-of-non-secure-http/) and the use of HTTPS as [a ranking factor](https://developers.google.com/search/blog/2014/08/https-as-ranking-signal) in search engines contributed to widespread TLS adoption. We can draw loose analogies to the mobile ecosystem’s operating systems and application stores. + +Is there any platform or OS-level permission model that can indicate regular usage of standard encrypted network communications? As we mentioned in our prior work studying proprietary cryptography in [Chinese IME keyboards](https://citizenlab.ca/2024/04/vulnerabilities-across-keyboard-apps-reveal-keystrokes-to-network-eavesdroppers/), OS developers could consider device permission models that surface whether applications use lower-level system calls for network access. + +#### To high-risk users with privacy concerns + +Many WeChat users use it out of necessity rather than choice. For users with privacy concerns who are using WeChat out of necessity, our recommendations from [the previous report](https://citizenlab.ca/2023/06/privacy-in-the-wechat-ecosystem-full-report/) still hold: + +- Avoid features delineated as “Weixin” services if possible. We note that many core “Weixin” services (such as Search, Channels, Mini Programs) as delineated by the Privacy Policy perform more tracking than core “WeChat” services. +- When possible, prefer web or applications over Mini Programs or other such embedded functionality. +- Use stricter device permissions and update your software and OS regularly for security features. + +In addition, due to the risks introduced by dynamic code loading in WeChat downloaded from the official website, we recommend users to instead download WeChat from the Google Play Store whenever possible. For users who have already installed WeChat from the official website, removing and re-installing the Google Play Store version would also mitigate the risk. + +#### To security and privacy researchers + +As WeChat has over one billion users, we posit that the order of magnitude of global MMTLS users is on a similar order of magnitude as global TLS users. Despite this, there is little-to-no third-party analysis or scrutiny of MMTLS, as there is in TLS. At this scale of influence, MMTLS deserves similar scrutiny as TLS. We implore future security and privacy researchers to build on this work to continue the study of the MMTLS protocol, as from our correspondences, Tencent insists on continuing to use and develop MMTLS for WeChat connections. + +## Acknowledgments + +We would like to thank Jedidiah Crandall, Jakub Dalek, Prateek Mittal, and Jonathan Mayer for their guidance and feedback on this report. Research for this project was supervised by Ron Deibert. + +## Appendix + +In this appendix, we detail our disclosure to Tencent concerning our findings and their response. + +### April 24, 2024 — Our disclosure + +To Whom It May Concern: + +The Citizen Lab is an academic research group based at the Munk School of Global Affairs & Public Policy at the University of Toronto in Toronto, Canada. + +We analyzed WeChat v8.0.23 on Android and iOS as part of our ongoing work analyzing popular mobile and desktop apps for security and privacy issues. We found that WeChat’s proprietary network encryption protocol, MMTLS, contains weaknesses compared to modern network encryption protocols, such as TLS or QUIC+TLS. For instance, the protocol is not forward-secret and may be susceptible to replay attacks. We plan on publishing a documentation of the MMTLS network encryption protocol and strongly suggest that WeChat, which is responsible for the network security of over 1 billion users, switch to a strong and performant encryption protocol like TLS or QUIC+TLS. + +For further details, please see the [**attached document**](https://citizenlab.ca/wp-content/uploads/2024/10/CL-Disclosure-042424.docx). + +**Timeline to Public Disclosure** + +The Citizen Lab is committed to research transparency and will publish details regarding the security vulnerabilities it discovers in the context of its research activities, absent exceptional circumstances, on its website: https://citizenlab.ca/. + +The Citizen Lab will publish the details of our analysis no sooner than 45 calendar days from the date of this communication. + +Should you have any questions about our findings please let us know. We can be reached at this email address: disclosure@citlab.utoronto.ca. + +Sincerely, + +The Citizen Lab + +### May 17, 2024 — Tencent’s response + +Thank you for your report.Since receiving your report on April 25th, 2024, we have conducted a careful evaluation.The core of WeChat’s security protocol is outer layer mmtls encryption, currently ensuring that outer layer mmtls encryption is secure. On the other hand, the encryption issues in the inner layer are handled as follows: the core data traffic has been switched to AES-GCM encryption, while other traffic is gradually switching from AES-CBC to AES-GCM.If you have any other questions, please let us know.thanks. \ No newline at end of file diff --git "a/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/1f511.svg" "b/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/1f511.svg" new file mode 100644 index 00000000..7b4dc2a7 --- /dev/null +++ "b/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/1f511.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/data-record.png" "b/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/data-record.png" new file mode 100644 index 0000000000000000000000000000000000000000..d7ee6464ae5d4960f3c9a6221b48a8696f2a6166 GIT binary patch literal 8947 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 literal 0 HcmV?d00001 diff --git "a/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/image2.png" "b/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/image2.png" new file mode 100644 index 0000000000000000000000000000000000000000..8e4a420ca11289ab6ac62a8b53a0795497d1a89c GIT binary patch literal 62327 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 L@&fw&)!6?62?40q literal 0 HcmV?d00001 diff --git "a/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/image3.png" "b/wechat/Should We Chat, Too Security Analysis of WeChat\342\200\231s MMTLS Encryption Protocol/image3.png" new file mode 100644 index 0000000000000000000000000000000000000000..8063db94b93d5659cd9bae9ba11e3656097d4fcb GIT binary patch literal 54262 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