[연구] 김형식교수, 2021 ICSE 논문 게재 승인
- 소프트웨어융합대학
- 조회수1193
- 2020-12-16
보안공학 김형식 교수의 “Fine with ``1234''? An Analysis of SMS One-Time Password
Randomness in Android Apps” 논문이 소프트웨어 공학 분야의 top-tier 국제 학술대회인 ICSE
(The 43rd International Conference on Software Engineering), 2021에 최종 논문 게재가 승인되었고 내년 5월에 발표될 예정입니다. 본 연구는 안드로이드 앱에서 사용하는 OTP 생성 번호에서 안전 하지 않은 난수 생성 함수를 탐지하는 연구로서 실험을 진행한 OTP를 현재 사용하고 있는 6431개의 안드로이드 앱를 제안
도구(OTP-Lint)를 이용하여 분석한 결과, 399개의 앱에서 취약한 난수 생성 함수를 이용하여 OTP를 사용하고 있다는
사실을 밝혀냈습니다.
본 연구는 김형식 교수가 호주의 CSIRO Data61에서 방문 연구원으로 재직하는 동안 수행한 연구 결과입니다.
[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 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,
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.