Friday, August 28, 2020

Insecurities Of WhatsApp's, Signal's, And Threema's Group Chats

Recently, the theoretical and practical analysis of secure instant messenger protocols received much attention, but the focus of prior evaluations mostly lay in one-to-one communication. In this blog post we want to presents the results of our work that focuses on group chat protocols of three major instant messenger applications; namely Signal, WhatsApp, and Threema.

In this blog post, we aim to focus on the practical impact and the found weaknesses identified by our analysis. The interested reader may also look into our paper for more details.


Our Aim and What We Were Looking For

End-to-end encryption protects the confidentiality of communication that is forwarded via central servers to the designated receivers. As a consequence, neither parties on the network route of the messages, nor the provider of the central server (e.g. the WhatsApp server) should be able to read any information out of the observation of the communication. In particular, no other user of the application should have access to the communication. Further it might be desirable to require that also the messages' integrity is end-to-end protected and that a sender is informed about the delivery state of sent messages.
Delivery state information in Signal (upper screenshot) and WhatsApp (lower screenshot)

In a two party scenario, this analysis is rather fixed to two components of the protocol: the key establishment between both parties and the communication channel protection using the established key (mostly consisting of an encryption algorithm and a scheme for providing integrity like MACs or signature schemes).

Regarded attackers


In a group setting, the same attackers apply (network, provider, other users). However the requirements for secure communication differ. It is further necessary that only group members can write to and read content from the group. Additionally, only administrators of the group are able to add new members.

In addition to these standard requirements, we also evaluated the protocols' security guarantees if the client's secrets were revealed (forward secrecy and future secrecy).

Our Approach

We analyzed the mentioned protocols by reading the source code and debugging the apps. We also used alternative open source implementations of Threema and WhatsApp as a help and we traced the network traffic. When using alternative implementations, we only took incoming traffic into account, which was generated by official applications. Thereby we extracted the protocol descriptions and evaluated them regarding the defined requirements.

Our Findings

In WhatsApp and Threema, the provider was able to manipulate the set of members. Threema only allowed the provider to rewind the set of members to a previous state. As a consequence previously removed members could have been added to the group again. The WhatsApp provider is able to arbitrarily manipulate the member set. Thereby further members and administrators can be added to the group. Since the authenticity of group manipulation is not protected, the WhatsApp provider can set the real group administrator as the source of manipulation even though this administrator was not active.

Since Signal's key exchange protocol provides future secrecy, we also evaluated the protocol's ability to recover into a secure group state after a member's state was compromised. The essential weakness here is that a sender only needs to know the static group ID to send a message to the group. If a group member receives a message with the correct group ID, no verification regarding the current member set takes place but the message is directly added to the group communication. Consequently it is sufficient to retrieve the group ID in order to send messages to the group. Since Signal treats content messages the same way as messages for the manipulation of the group set, an attacker who knows the group ID can add herself to the group and thereby read the subsequent group communication.

In addition to this, in all cases the delivery state of sent messages was not securely provided. Threema's group chats do not inform the sender about the delivery state while Signal and WhatsApp do not protect the delivery information on the end-to-end layer. Therefore the central provider can forge this information and drop messages without letting the communicating parties detect this.

Also the order of messages was manipulable for the providers of the applications such that the provider is able to deliver the messages in a different order than they were sent. Threema's weakness of rewinding a group state results from missing replay attack protection.

Impact of Weaknesses

Even though end-to-end encryption is implemented in all analyzed applications, the central providers can largely manipulate the communication in groups and partially also read it.
In all applications, the provider can undetectably drop and reorder messages during the delivery and thereby manipulate the view of the communication such that further attacks can be obfuscated.
The central servers of WhatsApp can be used to add arbitrary users to groups and thereby receive their communication.
To achieve the same result for Signal, it suffices to retrieve the group ID. An earlier member who left the group once still knows this ID since it is static. However, in contrast to WhatsApp, the origin of the manipulation is correctly displayed in the Signal application (which was not the fact when we started our analysis).

As a result, the end-to-end protection of WhatsApp is not sufficient to reach confidentiality in groups. For Signal no future secrecy is reached in groups and Threema was vulnerable to replay attacks which resulted in further weaknesses.

Responsible Disclosure

We disclosed our findings to the developers and received varying response. Threema updated their protocol in version 3.14 such that our attacks are not feasible anymore. Moxie Marlinspike responded that Signal is "working on an entirely new group mechanism that we should be deploying soon". WhatsApp did not hold out the prospect of fixing the described vulnerabilities (Update 01/18: According to Facebook's Security Head, the invite links make a fix more difficult [1]; we proposed a way to solve this issue [2]).

[1] https://twitter.com/alexstamos/status/951169036947107840
[2] https://web-in-security.blogspot.de/2018/01/group-instant-messaging-why-baming.htmlRelated links
  1. Hacking Tools For Kali Linux
  2. Pentest Tools Windows
  3. Pentest Tools List
  4. Hacker
  5. Hack Tools For Windows
  6. Pentest Tools Alternative
  7. Hacking Tools Github
  8. Tools Used For Hacking
  9. Hacker Tools Mac
  10. Hacker Tools Free Download
  11. Pentest Tools Linux
  12. Pentest Tools For Ubuntu
  13. Hack Tools For Windows
  14. Hacker Tools List
  15. Pentest Tools Download
  16. Pentest Tools Linux
  17. Hacking Tools For Windows Free Download
  18. Hacker Tools Online
  19. Hacker Tools List
  20. Pentest Tools Kali Linux
  21. Pentest Tools For Android
  22. Hack Tools 2019
  23. Hack App
  24. Pentest Tools Open Source
  25. Hacking Tools Kit
  26. Usb Pentest Tools
  27. Android Hack Tools Github
  28. Android Hack Tools Github
  29. Pentest Tools
  30. Pentest Tools Kali Linux
  31. Hacker Tools Mac
  32. Hacking Tools Pc
  33. Hacking Tools Github
  34. Hacking Tools Hardware
  35. Hack Tools For Games
  36. Hacker Tools Apk Download
  37. Pentest Automation Tools
  38. Pentest Box Tools Download
  39. Hacking Tools Usb
  40. Hack Tools
  41. Hacking Tools Download
  42. Hack Tools For Mac
  43. Ethical Hacker Tools
  44. What Is Hacking Tools
  45. Github Hacking Tools
  46. Hack Tools 2019
  47. Pentest Tools Kali Linux
  48. Hack Website Online Tool
  49. Pentest Tools Apk
  50. New Hack Tools
  51. Hacking Tools For Windows Free Download
  52. Pentest Tools Find Subdomains
  53. Physical Pentest Tools
  54. Hacker
  55. Hacker Tools For Ios
  56. Hacking Tools Kit
  57. Pentest Tools Port Scanner
  58. Hacker Tools List
  59. Kik Hack Tools
  60. How To Hack
  61. New Hack Tools
  62. Pentest Tools Bluekeep
  63. Hacker Tools
  64. Hak5 Tools
  65. Hacker Tools Mac
  66. Wifi Hacker Tools For Windows
  67. How To Hack
  68. Install Pentest Tools Ubuntu
  69. Hack Tools For Windows
  70. Pentest Tools Tcp Port Scanner
  71. Hack Tool Apk No Root
  72. Hacker Tools Apk
  73. Best Pentesting Tools 2018
  74. Hack And Tools
  75. Pentest Tools For Mac
  76. Hacker Tools Mac
  77. Hacking App
  78. Blackhat Hacker Tools
  79. Pentest Tools Bluekeep
  80. Pentest Tools Url Fuzzer
  81. What Is Hacking Tools
  82. Hackrf Tools
  83. Hack Tools
  84. Hacker Tools For Pc
  85. Pentest Box Tools Download
  86. Pentest Tools Alternative
  87. Hacking Tools For Games
  88. Pentest Tools Online
  89. Hack Tools Pc
  90. Hacker Tools 2019
  91. Hacker Tools Hardware
  92. Hack Tools For Pc
  93. Hack Tools For Mac
  94. Pentest Tools Alternative
  95. Hackrf Tools
  96. Hacking Tools Usb
  97. Hacker Tools Free Download
  98. Hack Tools
  99. Pentest Tools Alternative
  100. Hack Tools Github
  101. Pentest Tools Website Vulnerability
  102. Hacking Tools Kit
  103. Pentest Tools Website
  104. Hacking Tools Software
  105. Best Pentesting Tools 2018
  106. Pentest Tools Website
  107. Pentest Tools For Windows
  108. Hacking Tools Usb
  109. Pentest Tools Bluekeep
  110. Hacking Tools Software
  111. Hack And Tools
  112. Hacker Tools
  113. Hacker Tools 2019
  114. Pentest Tools For Android
  115. Hacker Security Tools
  116. Hacker Tools Apk Download
  117. Hacker Tools For Ios
  118. Hacking Tools 2020
  119. Hacking Tools For Mac
  120. Pentest Tools Linux
  121. Tools Used For Hacking
  122. Ethical Hacker Tools
  123. What Is Hacking Tools
  124. Hacking Tools For Beginners
  125. Hack Tools For Games
  126. Hacker Tool Kit
  127. Hacks And Tools
  128. Hack Tool Apk
  129. Hacking Tools 2019
  130. Pentest Tools Linux
  131. Pentest Tools Download
  132. Pentest Tools Find Subdomains
  133. Pentest Tools Linux
  134. Physical Pentest Tools
  135. Nsa Hack Tools Download
  136. Hack Tools Pc
  137. Hack Tools For Ubuntu
  138. Best Hacking Tools 2020
  139. Hacking Tools Windows
  140. Black Hat Hacker Tools
  141. Game Hacking
  142. Hacking Tools Online
  143. Game Hacking
  144. Pentest Tools Android
  145. Computer Hacker
  146. Hacker
  147. Hacking Tools 2020
  148. How To Install Pentest Tools In Ubuntu
  149. Hacker Tools Windows
  150. Pentest Tools Url Fuzzer
  151. Computer Hacker
  152. Hacking Tools For Pc
  153. Hack Tools For Games
  154. Hacking Tools For Pc
  155. Hacking Tools 2020
  156. Hack Tool Apk No Root
  157. Hacking Tools And Software
  158. Hacker Hardware Tools

No comments:

Post a Comment