arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2103.05758cs.CRcs.SE
收藏

“1234”好吗?Android应用中SMS一次性密码随机性分析

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

Siqi Ma, Juanru Li, Hyoungshick Kim, Elisa Bertino, Surya Nepal, Diethelm Ostry, Cong Sun

摘要:

SMS一次性密码(OTP)的基本前提是所使用的伪随机数(PRN)对于每个登录会话是唯一不可预测的。因此,生成PRN的过程是OTP认证中最关键的步骤。伪随机数发生器(PRNG)的不正确实现将导致可预测的甚至静态的OTP值,使它们容易受到潜在的攻击。在本文中,我们提出了一个针对Android应用程序实现的PRNG的漏洞研究。一个关键的挑战是PRNG通常在服务器端实现,因此源代码不可访问。为了解决这个问题,我们建立了一个分析工具,\sysname,以自动化的方式评估的PRNG的实现,而无需源代码的要求。通过逆向工程,\sysname使用SMS OTP识别应用程序,并触发每个应用程序的登录功能以检索OTP值。它进一步评估OTP值的随机性以识别易受攻击的PRNG。通过分析从\tool{Google Play}和\tool{Tencent Myapp}下载的6,431个商用Android应用程序,\sysname确定了399个易受攻击的应用程序,这些应用程序会生成可预测的OTP值。更糟糕的是,194个易受攻击的应用程序仅使用OTP身份验证,而没有任何额外的安全机制,导致针对猜测攻击和重放攻击的不安全身份验证。

英文摘要:

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 pseudo-random 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, \sysname, to assess implementations of the PRNGs in an automated manner without the source code requirement. Through reverse engineering, \sysname 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 \tool{Google Play} and \tool{Tencent Myapp}, \sysname 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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑