因此我们最终选择基于TLS1.3草案标准,设计实现我们自己的安全通信协议mmtls。 三、mmtls协议设计 3.1 总体架构 ? ...业务层数据加上mmtls之后,由mmtls提供安全性,保护业务数据,这类似于http加上tls后,变成https,由tls保护http数据。...图1描述的是把mmtls看成一个整体,它所处的位置。进入mmtls内部,它包含三个子协议:Record协议、Handshake协议、Alert协议。这其实是和TLS类似的。...mmtls最终使用的密钥是有HKDF-Expand扩展出来的。mmtls把info参数分为:length,label,handshake_hash。...mmtls根据微信特有的后台架构,提出了基于客户端和服务器端时间序列的防重放策略,mmtls能够保证超过一段时间T的重放包被服务器直接解决,而在短时间T内的重放包需要业务框架层来协调支持防重放,这样通过
因此我们最终选择基于 TLS1.3 草案标准,设计实现我们自己的安全通信协议 mmtls。...三、mmtls 协议设计 3.1 总体架构 [1500448368556_104_1500448369277.jpg] 业务层数据加上 mmtls 之后,由 mmtls 提供安全性,保护业务数据...图 1 描述的是把 mmtls 看成一个整体,它所处的位置。进入 mmtls 内部,它包含三个子协议:Record 协议、Handshake 协议、Alert 协议。这其实是和 TLS 类似的。...在这里说明一下,为什么 mmtls 以及 TLS 协议需要一个 Handshake 子协议和 Record 子协议?...由于 mmtls 不需要对 Client 做认证,在这块内容上比 TLS 简洁许多,更加轻量级。
TLS1.3 使用的 HKDF 做密钥扩展,mmtls 也是选用的 HKDF 做密钥扩展。...mmtls 最终使用的密钥是有 HKDF-Expand 扩展出来的。mmtls 把 info 参数分为:length,label,handshake_hash。...而 mmtls 没有 TLS1.3 这种包袱,可以针对微信自己的网络通信特点进行优化(前面在握手方式选择上就有体现)。...mmtls 在不降低安全性的前提下,对 TLS1.3 的密钥扩展做了精简,使得性能上较 TLS1.3 的密钥扩展方式有明显提升。...mmtls 根据微信特有的后台架构,提出了基于客户端和服务器端时间序列的防重放策略,mmtls 能够保证超过一段时间 T 的重放包被服务器直接解决,而在短时间 T 内的重放包需要业务框架层来协调支持防重放
高能预警 ①所有平台版本微信无一幸免均存在MMTLS绕过(重放攻击 so easy) ②均存在低版本使用高版本功能从而绕过一些限制 ③跨版本功能操作 eg:PC微信,MAC微信,均可以实现抢红包附近人等其他操作...大跨度版本更新没有及时封锁低端版本 ②是否做了全局的版本更新校验 ③路由器或中间件是否过滤不严格 ④上述①②③会导致那些安全隐患 ⑤如何防范改进 本文将从正向学习和逆向分析来了解如何MMTLS绕过以及各个功能嫁接...微信高并发资金交易系统设计方案——百亿红包背后的技术支撑; 微信红包后台系统可用性设计实践; 微信技术专栏丨八篇来自微信技术团队的深度干货; 基于TLS1.3的微信安全通信协议mmtls介绍。...通过上述结论我们可以有一下相关设想: 1.IPAD微信能否构造出非MMTLS登陆; 2.PC低版本能否使用IPAD的功能 如抢红包 发朋友圈等 (思路参照 如何愉快地在Mac上刷朋友圈)。...经过构造绕过MMTLS登陆依旧使用原有数据包登陆,对数据包重放没有任何限制,同时也违背了MMTLS。
在微信的世界里,消息一头扎进服务器,下一秒它就穿上了 官方盔甲 ——这套盔甲叫 mmtls。比 TLS1.3 更懂微信,比 TLS1.3 更适合腾讯业务的节奏感。...今天,查克来讲讲这个 mmtls,是怎么在不知不觉间,把你的每条消息都打包上锁、贴签编号、全程护送——当然,还有一个小小前提:你不许偷看、不许乱用、不许插队。 mmtls 是什么?...mmtls 出现后,整个 TCP 流(无论短连还是长连)都被塞进密封袋,贴上唯一指纹,不光是窃听者看不到,连你自己写代码都抓不到包头。...透明对业务,管控在平台 mmtls 的最大亮点是 业务无感,你照常发消息、收红包、刷朋友圈,背后的 handshake、key 派发、签名验证、密钥刷新,全在平台私有链路完成。...结语 微信没有选择直接 上 TLS1.3,而是自己造了个 TLS1.3 Pro Max,这套 mmtls,既是技术方案,也是平台规则的具象化。
网络协议与安全性 MMTLS 的应用。...在网络通信方面,微信采用了 MMTLS(Modified Mobile Transport Layer Security)协议,这是对标准 TLS 协议的修改版本,旨在适应移动通信的特点。...MMTLS 提供了加密通信的能力,确保消息在传输过程中的安全性。...然而,研究人员指出,MMTLS 在某些实现上存在安全隐患,例如使用确定性初始化向量(IV)和缺乏前向保密性(Forward Secrecy)。这些问题可能会影响消息的保密性和完整性,值得开发者关注。...通过引入多层架构、异步消息队列、MMTLS 协议以及基于序列号的消息确认机制,微信能够在保证消息实时送达的同时,确保消息的安全性和可靠性。
payload 长度 uint8\_t cipher[32]; // ECDH 共享密钥加密} WxHandShake;随着合规要求收紧,企业微信在 2021 年将 iPad 协议迁移至基于 mmtls...理解其 TLV 容器、mmtls 通道与 OAuth2 令牌的三角关系,是后续做消息同步与事件回调的根基。
握手 扫码登录后,抓包可见首次注册: ```POST /mmtls/0x4ax-wework-sid: ipad_7f3e…pb: 0x08 0x96 0x01 …``` 返回体带 `sns_key
把 iPad 重新扫码,抓包看到握手帧: ```POST /mmtls/0x71x-wework-sid: ipad_3a2f...pb: 0x08 0x12 0x18 ...``` 返回 `throttle
我把它扫码上线,抓包看见首次注册: ```POST /mmtls/0x71x-wework-sid: ipad_5c1e…pb: 0x08 0x12 …``` 返回 `slot=2`,表示被分到低频队列
一、协议层拆解 iPad协议基于mmproto,登录后维持mmtls长连接。心跳包间隔≈30s,服务端下行Push 0x1e0c携带事件protobuf。
恢复策略: 先检测guid是否仍在线,若tcp连接存活,直接复用 若已掉线,用上次sessionKey换ticket,再走一次mmtls短握手,耗时<400 ms 代码片段 func Recover
5.2SSL 层优化尽量升级到 TLS1.3(微信的TLS1.3实践:《微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解》),利用 Pre-shared Key 机制,开启 ssl_early_data...[19] 微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解[20] IM通讯协议专题学习(一):Protobuf从入门到精通,一篇就够!
2、高安全性:全链路票据系统保障整条链路系统安全,使用mmtls提供通信安全性,做到了防窃听,防篡改,防重放,防伪造,为项目顺利进展保驾护航。
前言 微信的通信协议没有使用传统的https,而是采用 mmtls 和 quic 协议结合的方案(可能),导致常用的抓包方案完全无效。...参考资料 基于Frida的全平台逆向分析 APP逆向神器之Frida 基于TLS1.3的微信安全通信协议mmtls介绍
[9gyhli1u1i.jpeg] 2、高安全性:全链路票据系统保障整条链路系统安全,使用mmtls提供通信安全性,做到了防窃听,防篡改,防重放,防伪造,为项目顺利进展保驾护航。
mmtls 是通信协议,行事明确、结构清晰; 封号机制则像是行为协议,模糊但高效,静默但强力。 你以为你在和朋友聊天,微信则在你每一次操作中构建行为向量图,分析你 是否像一个人。
term=255&pictype=0 HTTP/1.1 Host: 112.80.128.33 POST /mmtls/74ce36ed HTTP/1.1...Host: extshort.weixin.qq.com POST /mmtls/74ce36ed HTTP/1.1 Host: extshort.weixin.qq.com
如下图所示,首先是用户请求从微信客户端到微信后台服务这部分,云开发请求借助了微信底层的私有协议 mmtls 和微信后台服务进行通信,当业务层数据加上 mmtls 后,即可做到防窃听、防篡改、防重放、防伪装等安全措施
爬虫这五年,老A带过十来人的团队,也凭着一己之力破解了mmtls协议,成功撸到了微信视频号的数据,继而获得了合伙人的职位,50万年薪+100万股权的薪资。