[논문 리뷰] Uncovering and Exploiting Hidden APIs in Mobile Super Apps
이 논문은 위챗과 틱톡과 같은 모바일 슈퍼앱에서 문서화되지 않은 고급 권한 API를 발견하는 하이브리드 정적 및 동적 분석 도구인 APIScope를 제시한다. 이 도구는 바이너리 인variant의 정적 분석을 통해 숨겨진 API를 식별하고, 제어된 런타임 환경에서의 동적 실행을 통해 그들의 공격 가능성 여부를 검증한다. 그 결과, 테스트한 다섯 개의 슈퍼앱 모두에서 악성 소프트웨어 설치나 임의의 URL 로딩과 같은 심각한 공격을 가능하게 하는 검증되지 않은 숨겨진 API가 존재하는 것으로 확인되었다.
Mobile applications, particularly those from social media platforms such as WeChat and TikTok, are evolving into "super apps" that offer a wide range of services such as instant messaging and media sharing, e-commerce, e-learning, and e-government. These super apps often provide APIs for developers to create "miniapps" that run within the super app. These APIs should have been thoroughly scrutinized for security. Unfortunately, we find that many of them are undocumented and unsecured, potentially allowing miniapps to bypass restrictions and gain higher privileged access. To systematically identify these hidden APIs before they are exploited by attackers, we developed a tool APIScope with both static analysis and dynamic analysis, where static analysis is used to recognize hidden undocumented APIs, and dynamic analysis is used to confirm whether the identified APIs can be invoked by an unprivileged 3rdparty miniapps. We have applied APIScope to five popular super apps (i.e., WeChat, WeCom, Baidu, QQ, and Tiktok) and found that all of them contain hidden APIs, many of which can be exploited due to missing security checks. We have also quantified the hidden APIs that may have security implications by verifying if they have access to resources protected by Android permissions. Furthermore, we demonstrate the potential security hazards by presenting various attack scenarios, including unauthorized access to any web pages, downloading and installing malicious software, and stealing sensitive information. We have reported our findings to the relevant vendors, some of whom have patched the vulnerabilities and rewarded us with bug bounties.
연구 동기 및 목표
- 제3자 미니앱에 의해 악용될 수 있는 모바일 슈퍼앱 내 문서화되지 않은 고급 권한 API를 체계적으로 식별하기 위해.
- 복잡하고 다층적인 슈퍼앱 아키텍처에서 숨겨진 API를 탐지하는 데 있어 수작업 분석의 확장성과 완전성의 한계를 해결하기 위해.
- 1차 파티 앱 전용 API와 제3자 미니앱이 접근 가능한 API를 구분할 수 있는 도구를 개발하기 위해.
- 숨겨진 API가 안드로이드 보호 리소스 및 권한에 접근할 수 있음을 검증함으로써 그들이 초래하는 보안 위험을 정량화하기 위해.
- 발견된 결과를 책임감 있게 공개하고 실제 공격 시나리오를 시연하여 제조사의 패치를 유도하고 플랫폼 보안을 향상시키기 위해.
제안 방법
- 문서화된 공개 API에서 유도된 함수 및 인터페이스 인variant를 활용하여 슈퍼앱 바이너리의 정적 분석을 수행함으로써, 문서화되지 않은 숨겨진 API를 탐지한다.
- 슈퍼앱 클래스 이름과 공개 메서드 패tern을 기반으로 강력한 API 서명을 구성함으로써, 혼합 언어 환경(예: 자바, C++, 자바스크립트)에서도 탐지 정확도를 향상시킨다.
- 확인된 API의 존재성과 호출 가능성 확인을 위해 제어된 런타임 환경에서 동적 분석을 수행한다.
- 비권한 제3자 미니앱이 호출할 수 있는지 여부에 따라 탐지된 API를 '체크된' 또는 '체크되지 않은'으로 분류한다.
- 동적 실행 중 API 동작을 트리거하고 검증하기 위한 자동화된 테스트 케이스를 생성한다.
- 숨겨진 API를 안드로이드 권한 경계와 연관지켜, 권한 상승 및 민감한 데이터 접근 가능성을 평가한다.
실험 결과
연구 질문
- RQ1인기 있는 모바일 슈퍼앱에 존재하는 숨겨진, 문서화되지 않은 API는 무엇이며, 공개된 공개 API와 어떻게 다를까?
- RQ2누락된 접근 제어로 인해 이러한 숨겨진 API가 제3자 미니앱에 얼마나 노출되어 있는가?
- RQ3어떤 숨겨진 API가 임의의 웹 네비게이션 또는 APK 설치와 같은 고권한 작업을 수행하는 데 악용될 수 있는가?
- RQ4위챗, 틱톡, 바이두와 같은 다양한 슈퍼앱 플랫폼 간에 숨겨진 API의 보안 특성은 어떻게 다를까?
- RQ5정밀도가 높고 공격 가능성 검증이 가능한 체계적이고 자동화된 방법으로 숨겨진 API를 탐지하고 분류할 수 있는가?
주요 결과
- 테스트한 다섯 개의 슈퍼앱—위챗, 위콤, 바이두, 퀵, 틱톡—모두 문서화되지 않은 숨겨진 API를 포함하고 있으며, 일부는 문서화된 API보다도 더 많은 숨겨진 API를 가진 것으로 밝혀졌다.
- 위챗의 결제 API 카테고리에서는 문서화된 API 한 개보다 훨씬 많은 28개의 숨겨진 API가 발견되었다.
- 동적 분석 결과, 많은 숨겨진 API가 비권한 제3자 미니앱에 의해 호출될 수 있음을 확인하여, 적절한 접근 제어가 존재하지 않음을 시사했다.
- 연구에서는 악성 소프트웨어 설치, 임의의 웹 페이지 접근, 민감한 사용자 데이터 유출 등의 실제 공격 시나리오를 시연했다.
- 취약점은 제조사에 책임감 있게 공개되었으며, 텐센트는 네 개의 취약점(1개 저위험, 2개 중위험, 1개 고위험)을 패치하고 버그 바운티를 수여했고, 틱톡 역시 패치를 발표했다.
- 결과적으로, 슈퍼앱 내 고급 권한을 가진 숨겨진 API는 높은 권한과 보안 점검의 부재로 인해 심각한 보안 위험을 초래함을 입증했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.