Back to Search Start Over

Fine with "1234"? An Analysis of SMS One-Time Password Randomness in Android Apps.

Authors :
Siqi Ma
Juanru Li
Hyoungshick Kim
Bertino, Elisa
Nepal, Surya
Ostry, Diethelm
Cong Sun
Source :
ICSE: International Conference on Software Engineering; 5/22/2021, p1671-1682, 12p
Publication Year :
2021

Abstract

A fundamental premise of SMS One-Time Password (OTP) is that the used pseudo-random numbers (PRNs) are uniquely unpredictable for each login session. Hence, the process of generating PRNs is the most critical step in the OTP authentication. An improper implementation of the pseudorandom number generator (PRNG) will result in predictable or even static OTP values, making them vulnerable to potential attacks. In this paper, we present a vulnerability study against PRNGs implemented for Android apps. A key challenge is that PRNGs are typically implemented on the server-side, and thus the source code is not accessible. To resolve this issue, we build an analysis tool, OTP-Lint, to assess implementations of the PRNGs in an automated manner without the source code requirement. Through reverse engineering, OTP-Lint identifies the apps using SMS OTP and triggers each app's login functionality to retrieve OTP values. It further assesses the randomness of the OTP values to identify vulnerable PRNGs. By analyzing 6,431 commercially used Android apps downloaded from Google Play and Tencent Myapp, OTP-Lint identified 399 vulnerable apps that generate predictable OTP values. Even worse, 194 vulnerable apps use the OTP authentication alone without any additional security mechanisms, leading to insecure authentication against guessing attacks and replay attacks. [ABSTRACT FROM AUTHOR]

Details

Language :
English
Database :
Complementary Index
Journal :
ICSE: International Conference on Software Engineering
Publication Type :
Conference
Accession number :
155538803
Full Text :
https://doi.org/10.1109/ICSE43902.2021.00148