모바일 시장의 지속적인 성장과 함께 약 30억 명의 사용자를 보유한 안드로이드 생태계는 수많은 어플리케이션이 존재하고 하루에도 수십, 수백개의 어플리케이션이 등록되고 있다. 이러한 ...

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
모바일 시장의 지속적인 성장과 함께 약 30억 명의 사용자를 보유한 안드로이드 생태계는 수많은 어플리케이션이 존재하고 하루에도 수십, 수백개의 어플리케이션이 등록되고 있다. 이러한 ...
모바일 시장의 지속적인 성장과 함께 약 30억 명의 사용자를 보유한 안드로이드 생태계는 수많은 어플리케이션이 존재하고 하루에도 수십, 수백개의 어플리케이션이 등록되고 있다. 이러한 많은 양의 어플리케이션에 대하여 수동 테스트는 불가능하고, 이를 위한 블랙박스 테스트가 필수적이다. 특히, 악성코드 자동 분석의 경우 코드 커버리지는 분석 결과의 신뢰성과 직결되는 지표이며, 코드 커버리지가 낮은 경우 악성 행위가 발생하지 않은 분석 결과를 통해 오분석될 위험이 크다. 그러나 기존 안드로이드 블랙박스 테스트 도구인 Monkey 및 다양한 자동화 분석 도구들은 난수 기반 이벤트 생성, 권한, 보안 관련 UI 탐색의 한계, 역방향 탐색에 대한 미비로 인한 분기 소실 및 무한 반복의 문제가 존재한다.
본 연구에서 제안하는 기법은 UI에 대한 동적 분석을 통해 각 뷰 서브클래스에 입력할 수 있는 사용자 이벤트를 매핑하여 서브클래스의 의미에 적합한 사용자 이벤트를 생성한다. 또한, 스크롤뷰 및 레이아웃과 같은 시각적으로 보이지 않는 뷰 서브클래스에 대해서도 좌표 기반 스크롤 이벤트를 생성하여 스크롤 영역 하단과 화면 밖의 요소들까지 탐색함으로써 코드 커버리지를 극대화한다. 더불어 깊이 우선 탐색과 역방향 탐색, 화면 이미지, 구조적 유사성, 해시를 이용한 화면 중복 판별을 통해 무한 루프와 불필요한 재탐색을 최소화하도록 설계하였다. 또한, 사용자 입력을 받아들이는 뷰 서브클래스에 대하여 힌트, 플레이스홀더 옵션과 인접 뷰 텍스트 분석을 통해 일반화된 입력값을 자동으로 생성 및 입력함으로써 의존적인 탐색을 해결한다.
제안하는 기법을 플레이스토어 다운로드 누적 횟수 10만 이상의 상용 어플리케이션에 적용한 결과 Monkey, Droidbot, Humanoid, Fastbot, LLMDroid 등 기존 도구 대비 코드 커버리지가 전반적으로 향상됨을 확인하였다. 또한, 악성코드 대상 C2 서버로의 연결 수립을 통해 보안 관점에서의 테스트 도구 검증을 수행하였다. 이를 통해 제안 기법은 안드로이드 블랙박스 테스트 및 악성코드 분석 환경에서 보다 신뢰성 높은 코드 커버리지 향상이 가능함을 증명하였다. 향후 연구에서는 탐색 알고리즘 개선과 병렬 탐색 및 코드 커버리지 향상률 개선을 이뤄내고자 한다.
다국어 초록 (Multilingual Abstract)
With the continuous growth of the mobile market, the Android system, with around 3 billion users, hosts countless applications, making black-box testing for applications a must. Particularly for automated malware analysis, code coverage is a metric di...
With the continuous growth of the mobile market, the Android system, with around 3 billion users, hosts countless applications, making black-box testing for applications a must. Particularly for automated malware analysis, code coverage is a metric directly linked to the reliability of analysis results. Low code coverage significantly increases the risk of false negatives, where analysis results fail to detect malicious behavior. However, existing Android black-box testing tools like Monkey and various automated analysis tools suffer from limitations such as random-based event generation, restricted exploration of permission and security related UI elements, and issues like branch loss and infinite loops due to inadequate reverse traversal.
The approach proposed in this study generates user events relevant to the meaning of each views subclass by mapping input possible user events to the UI via dynamic analysis. Additionally, it maximizes code coverage by generating coordinate-based scroll events for visually invisible view subclass like ScrollView and layouts, enabling navigation to elements at the bottom of scroll areas. Furthermore, it is designed to minimize infinite loops and unnecessary re-exploration through depth-first search, reverse search, screen image analysis, structural similarity, and hash-based screen duplication detection. It also resolves dependent exploration for view subclass accepting user input by automatically generating and inputting generalized input values through hints, placeholder options, and adjacent view text analysis.
Applying the proposed approach to commercial applications with over 100,000 downloads on the Play Store shows overall improvement in code coverage compared to existing tools like Monkey, Droidbot, Humanoid, Fastbot, and LLMDroid. This suggests the proposed approach enables more reliable code coverage improvement in Android black-box testing and malicious analysis environments. Future work aims to reduce computation time and improve code coverage measurement rates through improvements to search algorithms and parallel search.
목차 (Table of Contents)