Freitag, 28. Juli 2017

Insecurities of WhatsApp's, Signal's, and Threema's Group Chats

Recently, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretical and practical analysis of secure instant messenger protocols received much attention, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 focus of prior evaluations mostly lay in one-to-one communication. In this blog post we want to presents cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 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 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 practical impact and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 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 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 confidentiality of communication that is forwarded via central servers to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 designated receivers. As a consequence, neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r parties on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network route of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 messages, nor cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 provider of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 central server (e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 WhatsApp server) should be able to read any information out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 observation of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 communication. In particular, no ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r user of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 application should have access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 communication. Furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r it might be desirable to require that also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 messages' integrity is end-to-end protected and that a sender is informed about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 delivery state of sent messages.
Delivery state information in Signal (upper screenshot) and WhatsApp (lower screenshot)

In a two party scenario, this analysis is racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r fixed to two components of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 protocol: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 key establishment between both parties and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 communication channel protection using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 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, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same attackers apply (network, provider, ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r users). However cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 requirements for secure communication differ. It is furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r necessary that only group members can write to and read content from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group. Additionally, only administrators of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group are able to add new members.

In addition to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se standard requirements, we also evaluated cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 protocols' security guarantees if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client's secrets were revealed (forward secrecy and future secrecy).

Our Approach

We analyzed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mentioned protocols by reading cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code and debugging cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 apps. We also used alternative open source implementations of Threema and WhatsApp as a help and we traced cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network traffic. When using alternative implementations, we only took incoming traffic into account, which was generated by official applications. Thereby we extracted cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 protocol descriptions and evaluated cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m regarding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 defined requirements.

Our Findings

In WhatsApp and Threema, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 provider was able to manipulate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 set of members. Threema only allowed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 provider to rewind cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 set of members to a previous state. As a consequence previously removed members could have been added to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group again. The WhatsApp provider is able to arbitrarily manipulate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 member set. Thereby furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r members and administrators can be added to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group. Since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365nticity of group manipulation is not protected, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 WhatsApp provider can set cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real group administrator as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source of manipulation even though this administrator was not active.

Since Signal's key exchange protocol provides future secrecy, we also evaluated cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 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 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 static group ID to send a message to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group. If a group member receives a message with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct group ID, no verification regarding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current member set takes place but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 message is directly added to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group communication. Consequently it is sufficient to retrieve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group ID in order to send messages to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group. Since Signal treats content messages cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same way as messages for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 manipulation of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group set, an attacker who knows cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group ID can add herself to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365reby read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 subsequent group communication.

In addition to this, in all cases cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 delivery state of sent messages was not securely provided. Threema's group chats do not inform cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sender about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 delivery state while Signal and WhatsApp do not protect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 delivery information on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end-to-end layer. Therefore cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 central provider can forge this information and drop messages without letting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 communicating parties detect this.

Also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 order of messages was manipulable for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 providers of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 applications such that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 provider is able to deliver cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 messages in a different order than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y 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, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 central providers can largely manipulate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 communication in groups and partially also read it.
In all applications, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 provider can undetectably drop and reorder messages during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 delivery and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365reby manipulate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 view of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 communication such that furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r attacks can be obfuscated.
The central servers of WhatsApp can be used to add arbitrary users to groups and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365reby receive cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir communication.
To achieve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same result for Signal, it suffices to retrieve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group ID. An earlier member who left cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group once still knows this ID since it is static. However, in contrast to WhatsApp, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 origin of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 manipulation is correctly displayed in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Signal application (which was not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact when we started our analysis).

As a result, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 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 furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r weaknesses.

Responsible Disclosure

We disclosed our findings to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 developers and received varying response. Threema updated cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir 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 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 prospect of fixing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 described vulnerabilities (Update 01/18: According to Facebook's Security Head, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 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.html

Beliebte Posts