서지주요정보
Automatic analysis of network behavior for android applications = 안드로이드 애플리케이션을 위한 자동화된 네트워크 행위 분석
서명 / 저자 Automatic analysis of network behavior for android applications = 안드로이드 애플리케이션을 위한 자동화된 네트워크 행위 분석 / Hyunwoo Choi.
발행사항 [대전 : 한국과학기술원, 2017].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8031124

소장위치/청구기호

학술문화관(문화관) 보존서고

DIS 17002

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

The widespread adoption of mobile technologies and a significant increase in the number of smartphone users worldwide have led to high demand for a diversity of applications (``apps'' for short). As of February 2016, over 65 billion apps had been downloaded from the digital distribution service Google Play market, which had over two million apps available for users to download as of March 2016. Furthermore, to compete effectively in the highly competitive app market, developers are constantly adding features to their apps. With widespread demand for supporting a plethora of features, apps in general share notable characteristics in the use of their resources and services. A majority of apps access the Internet to receive their services by accessing external servers, most of which use the HTTP/HTTPS protocol. Most users tends to prefer dedicated apps to the mobile Web, meaning that they install a variety of apps on their devices for various purposes. Moreover, the number of Android devices being used on the enterprise network is growing rapidly. From the perspective of network management, it is crucial to have clear visibility into an app's network behavior. Understanding an app's behavior within the network is invaluable for operators, developers, and users. Using this knowledge, operators can not only improve existing network solutions, such as deep packet inspection (DPI), but can also provide value-added services, such as application acceleration and dynamic caching, to enhance the quality of user experience. Developers can likewise identify discrepancies between app specification and app implementation by observing different network behaviors. Users can also distinguish between malicious apps and benign ones by monitoring unexpected network behavior. Furthermore, they can identify potentially vulnerable apps by performing in-depth analyses of network behavior. However, network behavior analysis of Android apps is challenging due to the complexity of the protocols involved. In general, the network behavior of Android apps consists of complicated, predominantly proprietary protocols atop HTTP/HTTPS in common data representation, such as JSON and XML. Therefore, analyzing network behavior requires an in-depth characterization of app-level payload for each app. Furthermore, due to the complexity of the protocols, there are a variety of threats posed by irregular network behavior, such as privacy-sensitive information leaks. The problem is exacerbated by the fact that developers often overlook, or do not recognize, the security implications of network behavior. The goal of this study is two-fold: (i) to analyze apps' protocol behavior, and (ii) identify potentially vulnerable apps that stem from network behavior. First, in order to analyze the protocol behaviors of apps, we propose Extractocol, the first comprehensive protocol analysis framework that automatically extracts protocol behaviors, formats, and message signatures. Extractocol only uses Android app binary as input, accurately reconstructs HTTP transactions (request-response pairs) and identifies their message formats and relationships using binary analysis. Our evaluation and in-depth case studies on closed-source and open-source apps show that Extractocol accurately reconstructs network message formats and characterizes network-related app behaviors. Second, in order to identify potentially vulnerable apps that stem from network behavior, we focus on remote code injection attacks, which are still largely unknown. We first investigate three conditions that must be met for remote code injection attacks, and design and implement a static detection tool that automatically identifies apps that satisfy these conditions. Moreover, to identify the current status of vulnerable apps in the wild, we apply the detection tool to a large dataset comprising 9,054 apps of three types: official market, third-party market, and pre-installed apps. In the results obtained, including for popular apps and libraries, 97 apps were found to be potentially vulnerable, with 53 confirmed as vulnerable to remote code injection attacks. The results can provide a lower bound on the number of apps vulnerable to remote code injection attacks in the wild.

모바일 기술의 발전과 더불어 스마트폰 사용자의 폭발적인 증가는 다양하고 방대한 양의 애플리케이션(이하 앱) 개발을 필요로 하게 했다. 2016년 2월 까지 650억개 이상의 안드로이드 앱들이 구글 플레이 마켓으로 부터 다운로드 되었으며, 2016년 3월 현재, 200만개 이상의 앱들이 구글 플레이를 통해 제공되고 있다. 뿐만 아니라 높은 경쟁력을 갖춘 앱의 개발을 위해 개발자들은 끊임없이 새로운 기능들을 자신들의 앱에 추가하고 있다. 다양한 기능들에 대한 요구와 함께, 안드로이드 앱들은 서비스 및 리소스 사용에 있어 일반적으로 다음과 같은 두드러지는 특징들을 지닌다. 대부분의 앱들은 서비스 및 외부 자원 활용을 위해 HTTP/HTTPS 프로토콜을 이용한 인터넷 접근을 수행하며, 사용자들은 모바일 웹 보다는 전용의 앱을 선호하는 것이 일반적이다. 또한, 최근에는 기업 환경에서 안드로이드 디바이스들에 대한 사용율이 급속도로 증가하고 있다. 이러한 특징들은 네트워크 관리 측면에서 중요한 의미를 가진다. 즉, 앱의 네트워크 행위 분석을 통해 네트워크는 다양한 기회를 제공받을 수 있다. 안드로이드 앱의 네트워크 행위를 이해하는 것은 네트워크 운영자, 개발자, 그리고 사용자 모두에게 큰 장점을 가져다 준다. 네트워크 운영자는 심층 네트워크 분석(DPI) 과 같이 기존에 존재하는 네트워크 솔루션을 보다 효과적으로 운영할 수 있을 뿐만 아니라, 애플리케이션 가속화(Application Acceleration), 동적 캐싱(Dynamic Caching)과 같은 새로운 부가가치 서비스 제공을 통해 사용자 경험을 향상시킬 수 있다. 개발자는 네트워크 행위를 비교 관찰함으로써 개발상의 앱 규격과 실제 개발된 앱의 일관성을 확인할 수 있다. 사용자는 의도하지 않은 네트워크 행위를 확인함으로써 악성 앱을 구별해 낼 수 있으며, 네트워크 행위의 분석을 통해 잠재적으로 취약한 앱을 확인할 수도 있다. 하지만, 안드로이드 앱의 네트워크 행위를 분석하기 위해서는 앱에 구현된 복잡한 프로토콜을 이해해야 한다는 어려움이 존재한다. 일반적으로, 안드로이드 앱은 HTTP/HTTPS 통신과 JSON 혹은 XML등과 같은 데이터 표현방식을 사용하는 다양한 전용의 프로토콜을 구현한다. 따라서, 네트워크 행위를 분석하기 위해서는 각 앱의 네트워크 데이터에 대한 면밀한 특성의 이해를 필요로 한다. 한편, 이러한 프로토콜의 복잡성은 민감한 정보의 유출과 같이 다양한 보안 위협에 노출 될 수 있다. 일반적으로 안드로이드 개발자는 네트워크 행위로 인해 발생할 수 있는 보안 위협을 비교적 잘 인지하지 못하기 때문에 이와 같은 보안 위협 문제는 더욱 심각해 질 수 있다. 본 연구의 최종 목적은 안드로이드 앱의 네트워크 프로토콜 행위 분석과 네트워크 행위로 인해 발생할 수 있는 잠재적인 보안 위협을 가진 앱을 확인하는 것이다. 첫째, 앱의 프로토콜 행위를 분석하기 위해서 본 연구에서는 Extractocol 이라는 자동화된 프로토콜 분석 프레임워크를 제안한다. Extractocol은 안드로이드 바이너리 파일을 입력으로 하여 프로토콜 행위, 구조 그리고 메시지 시그너쳐를 추출해 낸다. 구체적으로, 바이너리 분석을 통해 HTTP/HTTPS 트랜잭션을 재구성하고 메시지의 포맷과 메시지들 간의 관계를 확인한다. 본 연구에서는 오픈 소스 및 클로즈 소스 앱들을 대상으로한 실혐 결과를 통해 Extractocol이 생성해낸 메시지 시그너쳐와 프로토콜 결과가 앱의 네트워크 행위를 정확히 특정지을 수 있음을 보인다. 둘째, 네트워크 행위로 부터 발생할 수 있는 잠재적으로 취약한 앱을 확인하기 위해 본 연구에서는 원격 코드 주입 공격에 초점을 둔다. 본 연구에서는 원격 코드 주입 공격을 가능하게 하는 조건들을 상세히 분석하고, 해당 조건들을 자동으로 찾을 수 있는 정적 기반 탐지 툴을 제안한다. 게다가 현재 안드로이드 마켓상의 위협 현황을 확인하기 위해 9,054개 앱들로 구성된 세 종류의 데이터세트를 대상으로 광범위한 분석을 수행한다. 해당 분석을 통해 본 연구에서는 원격 코드 주입 공격에 잠재적으로 취약한 97개의 안드로이드 앱을 확인하고, 그 중 53개의 앱이 실제 원격 코드 주입 공격에 취약함을 보인다.

서지기타정보

서지기타정보
청구기호 {DIS 17002
형태사항 iv, 70 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 최현우
지도교수의 영문표기 : Yongdae Kim
지도교수의 한글표기 : 김용대
학위논문 학위논문(박사) - 한국과학기술원 : 정보보호대학원,
서지주기 References : p. 57-66
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서