서지주요정보
Composing static analyzers for bug and security vulnerability detection in multilingual android applications = 정적 분석기들의 결합을 통한 다양한 언어로 개발된 안드로이드 앱의 결함 및 보안 취약성 검출
서명 / 저자 Composing static analyzers for bug and security vulnerability detection in multilingual android applications = 정적 분석기들의 결합을 통한 다양한 언어로 개발된 안드로이드 앱의 결함 및 보안 취약성 검출 / Sungho Lee.
발행사항 [대전 : 한국과학기술원, 2020].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8038411

소장위치/청구기호

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

DCS 20032

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Mobile applications (apps) have long invaded the realm of desktop apps. With multiple mobile platforms, each base language is used to develop mobile apps for the specific mobile platform, and developers easily implement mobile apps via a combination of multiple languages for supporting multiple mobile platforms or reusing existing libraries of other languages. However, different languages have different semantics and features, and developing multilingual apps may be vulnerable to programmer errors. Moreover, interoperation semantics among languages are not easily examined by existing analysis tools, and multilingual apps may be vulnerable to various security attacks.In this thesis, we propose two static analyzer composition models for multilingual Android apps analysis: 1) tightly coupled composition and 2) loosely coupled composition. We adopt the tightly coupled analysis model for Android hybrid apps implemented in both Java and JavaScript. Based on the interoperation semantics we investigated, we design and implement a static analysis framework HybriDroid that composites two frontend analysis modules for each language, and bridges the modules using a shared backend analysis module. HybriDroid seamlessly analyzes the interoperation, and it detects bugs and information leaks cross language boundaries. We also propose Adlib, which augments HybriDroid with various analysis models to discover security vulnerabilities in the mobile advertising ecosystem. For an unconstrained composition of analyzers, we design the loosely coupled model in which a static analyzer utilizes the analysis results of another. As a proof of concept, we propose an analysis tool that composes two static analyzers for Java and C to construct call graphs and detect interoperation bugs in JNI programs. Our empirical evaluation shows that the composition approaches are useful to find genuine bugs and security vulnerabilities in real-world multilingual Android apps. We believe that this thesis would be the first step that broadens the scope of static analysis to multilingual programs.

다양한 모바일 플랫폼의 등장으로 인해, 전자 기기 사용 환경이 데스크톱에서 모바일로 전환되면서 다양한 모바일 애플리케이션(이하 앱)이 개발되었다. 각 모바일 플랫폼은 서로 다른 프로그래밍 언어를 앱 개발 언어로 지원함에 따라, 모바일 플랫폼들은 다양한 언어를 함께 사용하여 앱을 구성할 수 있도록 지원하고 있다. 이렇게 다양한 언어로 앱을 구성하는 방식은 서로 다른 프로그래밍 언어의 표현력을 자유롭게 이용할 수 있게 할 뿐 아니라, 다양한 모바일 플랫폼에서 동작하는 앱의 빠르고 효율적인 개발을 돕고, 성능 집약적인 부분은 낮은 수준의 언어로 기술하여 성능 향상을 꾀할 수 있으며, 이미 개발된 다른 언어로 구현된 라이브러리를그대로가져와활용할수있는등개발자에게다양한편의를제공한다. 반면에각프로그래밍언어는 서로 다른 의미와 특징을 가지고 있어, 개발자들이 각 언어의 의미와 특징, 그리고 언어 사이의 상호작용 의미를 명확하게 이해하고 사용하지 않는다면 다양한 형태의 프로그램 오류를 유발할 수 있다. 뿐만 아니라, 다양한 언어로 개발된 프로그램의 오류를 배포 이전에 찾아 수정할 수 있는 컴파일러 및 정적 분석 도구의 부재로 인해, 프로그램이 이러한 오류들을 내포한 상태로 배포됨으로써 보안 취약점으로도 이어질 수 있다.본 학위 논문에서는 다양한 언어로 개발된 안드로이드 앱을 분석하는 두 가지 정적 분석기 결합 모델, 강한결합모델및약한결합모델을제시한다. 우선,강한결합분석모델을이용하여자바와자바스크립트로 구성된 안드로이드 하이브리드 앱 분석 기법을 제시한다. 강한 결합 분석 모델을 기반으로 구현된 정적 분석 프레임워크 HybriDroid 는 각각의 언어를 분석하는 두 개의 프런트 엔드 분석 모듈과 공유된 백 엔드 분석 모듈을 통해 하이브리드 앱을 분석한다. HybriDroid 는 두 언어의 상호작용을 끊김 없이 분석하며 언어 사이의 상호작용 오류나 정보 누출 취약점을 탐지할 수 있다. HybriDroid 확장 및 응용으로, 자바와 자바스크립트로 구성된 모바일 광고 에코시스템에서 보안에 취약한 API를 탐지하는 정적 분석 도구인 Adlib 을 제시한다. 또한 강한 결합 분석 모델의 제약을 극복하기 위해, 하나의 분석 결과를 다른 분석기에서 활용하여 다양한 언어로 구성된 앱을 분석하는 약한 결합 분석 모델을 제시한다. 이러한 약한 결합 분석 모델의 응용으로, 자바와 C언어를 대상으로 하는 분석기들을 결합하여 JNI 프로그램 분석기를 설계 및 구현한다. 실제 프로 그램을 대상으로 한 실험 결과는 정적 분석기의 결합을 통해 기존에 밝혀지지 않았던 새로운 형태의 버그 및 보안취약점을다양한언어로구성된앱에서찾을수있음을보인다. 본학위논문에서제시한정적분석기 결합 기법이 기존 정적 분석의 범위를 단일 언어 프로그램에서 다양한 언어로 구성된 프로그램의 분석으로 확장할 수 있는 기반을 마련할 것으로 기대한다.

서지기타정보

서지기타정보
청구기호 {DCS 20032
형태사항 v, 69 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 이성호
지도교수의 영문표기 : Sukyoung Ryu
지도교수의 한글표기 : 류석영
Including appendix
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 61-68
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서