Description
As phones are used for more and more sensitive operations (such as bank transfers for example), there is a great necessity to design and deploy protocols that can ensure the security of such transactions, even in cases when the phone has been compromised. In order to accomplish that, Android in collaboration with Google have worked on a protocol called Android Protected Confirmation. The idea behind this protocol is to give to any application a way to leverage the security of the phone's Trusted Execution Environment (TEE) to sign operations without needing the application code to be directly included in the TEE. This allows a wider usability as the code of the application does not need to be verified to use the protocol. The protocol's main claim is the following: in order for a message to be signed, it must first have been seen and accepted by the user, even in presence of an adversary with root privileges. This gives better guaranties to the server (for example the bank) that the requested transaction is indeed demanded by the user.
Our analysis of this protocol allowed us to find two attacks. The first happens at the registration phase and allows an attacker to register credentials under the victim’s identity. The second one at the transaction phase allows a corrupted rich, non-secure, operating system to send signed messages to an unintended server. We also implemented a variation of the second attack on a Google Pixel 6. Then using the Universal Composability framework, we proposed an ideal functionality for Protected Confirmation and we proved fixes for both attacks.
Practical infos
Next sessions
-
Tackling obfuscated code through variant analysis and Graph Neural Networks
Speaker : Roxane Cohen and Robin David - Quarkslab
Existing deobfuscation techniques usually target specific obfuscation passes and assume a prior knowledge of obfuscated location within a program. Also, some approaches tend to be computationally costly. Conversely, few research consider bypassing obfuscation through correlation of various variants of the same obfuscated program or a clear program and a later obfuscated variant. Both scenarios are[…]-
Malware analysis
-
Binary analysis
-
Obfuscation
-