ScanDal/Privacy 안드로이드앱의 개인정보누출을잡아내는 정적분석기 서울대학교프로그래밍연구실김진영윤용호이광근

Similar documents
PCC =10100 =minusby by1000 ±âto0.03ex±âto0.03ex±â=10100 =minusby by1000 ¹Ýto0.03ex¹Ýto0.03ex¹Ý =10100 =minusby by1000 ¾Èto0.03

안드로이드 앱의 개인정보 유출 여부 분석

untitled



Secure Programming Lecture1 : Introduction

스마트폰 도입에 따른 국내 통신시장 환경의 변화 음성중심에서 데이터 중심으로 변화하고 있으며 데이 터 매출 비중도 08년 20.2% 13년 24.7%로 꾸준히 증 가할 전망이다. 또한, 데이터 활성화로 스마트폰 콘텐츠 장터(앱스토 어) 시장도 크게 성장할 것으로 예상된

17장 클래스와 메소드

Observational Determinism for Concurrent Program Security

ESET Mobile Security for Android

THE TITLE

JVM 메모리구조

Secure Programming Lecture1 : Introduction

레프트21

Microsoft PowerPoint - chap01-C언어개요.pptx

JAVA PROGRAMMING 실습 09. 예외처리


Google Maps Android API v2

지저스아미8월-2

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Android Master Key Vulnerability

슬라이드 1

gnu-lee-oop-kor-lec06-3-chap7

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - 김창수 v2.pptx

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

하반기_표지

02_3 지리산권 스마트폰 기반 3D 지도서비스_과업지시서.hwp

PowerPoint Presentation

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint Presentation

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

0목차원고

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

<4D F736F F D20C1A4BAB8C5EBBDC5C1F8C8EFC7F9C8B8BFF8B0ED5FBDBAB8B6C6AEBDC3B4EBBAF22E727466>

Microsoft Word - 문필주.doc

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

고객 카드

DBMS & SQL Server Installation Database Laboratory

Microsoft PowerPoint - C++ 5 .pptx

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

JAVA PROGRAMMING 실습 08.다형성

Network Programming

Operation-name: 악성행위의종류를말하며, Sending SMS Calling Sending sensitive information Converting data 로분류합니다. Operation-target: 악성행위의목표물을말하며, Premium-rate SM


PowerPoint Presentation

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

제11장 프로세스와 쓰레드

C++ Programming

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

PowerPoint Presentation

I care - Do you?

설계란 무엇인가?

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

1부

시작하며 스마트기기의 급속한 보급 확대와 더불어 세계 모바일게임 시장의 비약적 성장이 진행됨에 따라, 아시아 지역은 물론 콘솔게임의 주요시장인 미국까지 모바일게임 중심으로 시장이 빠르게 재편되고 있다. 시장조사업체 뉴주(Newzoo, )는 2015년 세계

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

PowerPoint Presentation

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

JUNIT 실습및발표

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

슬라이드 1

PowerPoint Presentation

PowerPoint Presentation

?

KECO2010-PE02-03 웃음과 꽃, 사람과 자연, 맑은 공기와 햇살은 늘 우리 곁에 가까이 있으면서 서로가 서로를 반짝 반짝 빛나게 하는 존재이지요. 대한민국 녹색성장의 중심, Keco 2010 summer 창간호

위클리 초이스

4S 1차년도 평가 발표자료

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

PowerPoint 프레젠테이션

Design Issues

오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]

PowerPoint 프레젠테이션

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

<4D F736F F D B3E220C1D6B8F1C7D8BEDFC7CFB4C220B5F0B9D9C0CCBDBA5FB1E8BCAEB1E25FBFCFB7E12E646F6378>

AVG PC TuneUp User Manual

160215

슬라이드 1

윈도우시스템프로그래밍

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

쉽게

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

정보

오버라이딩 (Overriding)

[Brochure] KOR_TunA

ePapyrus PDF Document

adfasdfasfdasfasfadf

스마트폰 애플리케이션 시장 동향 및 전망 그림 1. 스마트폰 플랫폼 빅6 스마트폰들이 출시되기 시작하여 현재는 팜의 웹OS를 탑재한 스마트폰을 제외하고는 모두 국내 시장에도 출 시된 상황이다. 이들 스마트폰 플랫폼이 처해있는 상황 과 애플리케이션 시장에 대해 살펴보자.

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

설계란 무엇인가?

Ⅰ. 스마트폰에대한보안위협현황 1. 국내스마트폰이용현황 2009 년 11월 28일아이폰의국내정식출시를시작으로스마트폰의보급과그이용이빠르게늘어나기시작하여 2012 년 8월에이르러서는국내스마트폰이용자가 3,000 만명을넘어서게되었다. 방송통신위원회의무선통신서비스현황자료 (

슬라이드 1

Transcription:

ScanDal/Privacy 안드로이드앱의 개인정보누출을잡아내는 정적분석기 서울대학교프로그래밍연구실김진영윤용호이광근

요약

요약 안드로이드앱의개인정보누출문제

요약 안드로이드앱의개인정보누출문제 정적분석으로잡아보자

요약 안드로이드앱의개인정보누출문제 정적분석으로잡아보자 잡았다요놈!

나의안드로이드사용기 - 블랙마켓

남의안드로이드사용기 - 블랙마켓

남의안드로이드사용기 - 블랙마켓

나의안드로이드사용기 - 확인. 수락. 다음. 예. 이런거, 안읽으시죠?

안드로이드보안은 사실상무방비상태 OS도 마켓도 사용자도 해답은?

TaintDroid? OS 를뜯어고쳐서앱을동적으로감시 기기가일을더하므로 (10% 까지 ) 느려진다 기기제조사도구글도그다지...

ScanDal / Privacy 앱을미리 Scan 하자 Dalvik 레벨에서 Java 가아닌 지금은 Privacy 유출에집중 Scandal 을일으켜보자

ScanDal 구조, 크게 apk 파서, 번역기및요약실행기 요약기계상태 Unzip dump 후처리기...dex... DexDump 누출경보

ScanDal 구조, 크게 apk 파서, 번역기및요약실행기 요약기계상태 Unzip dump 후처리기...dex... DexDump 누출경보

ScanDal 구조, 크게 apk 파서, 번역기및요약실행기 요약기계상태 Unzip dump 후처리기...dex... DexDump 누출경보

우리가찾는것은 민감한정보들이 전화번호부, 문자메시지, 위치정보, 사진, 영상, 기기고유번호 (IMEI 등 ) 어디로빠져나가는가 인터넷 URL에담아서 (WebView.loadUrl) 서버로직접 (OutputStream.write) 문자메시지로

성능 q tñ T Ñ T Äú l0 å x Ù (KB) ( ) (MB) ú i Kids Preschool Puzzle 87 6 67 X Ù! Flurry Job Search 167 6 121 X Ù! Ñ Kids Shapes 225 9 164 X Ù! Flurry Kids ABC Phonics 134 12 77 X Ù! Flurry Backgrounds HD Wallpapers 109 17 143 00 à8! Ñ Bible Quotes 138 36 278 X Ù! AdSense ES Task Manager 158 86 433 X Ù! AdSense Multi Touch Paint 198 174 740 X Ù! AdMob Adao File Manager 255 220 1160 X Ù! AdMob (D-Day) The Day Before 293 626 2761 X Ù! AdMob ò FreeSMS 387 708 1249 4 appleà8! Ñ Shot Gun Free* 95 36 164 X Ù, 4 appleà8, 00 à8! E1 Ñ Baseball Superstars 2010* 165 61 285 X Ù, 4 appleà8, 00 à8! E1 Ñ Monkey Jump 2* 169 74 442 X Ù, 4 appleà8, 00 à8! E1 Ñ Gold Miner* 191 81 481 X Ù, 4 appleà8, 00 à8! E1 Ñ Mini Army* 480 174 1292 X Ù, 4 appleà8, 00 à8! E1 Ñ Xing Metro* 253 23049 1784 X Ù, 4 appleà8, 00 à8! E1 Ñ 공식마켓의인기무료앱 + 비공식마켓의변조된앱 * AdSense, AdMob : 광고모듈서버 Flurry : 앱사용행태분석모듈서버

Google Wallpaper 4.2.2 (1/5) 기기고유번호 inittagwebview() getsearchurl() getlocale_version_imei_w_h()

Google Wallpaper 4.2.2 (2/5) inittagwebview() getsearchurl() getlocale_version_imei_w_h()

Google Wallpaper 4.2.2 (3/5) 기기고유번호 inittagwebview() getsearchurl() getlocale_version_imei_w_h()

Google Wallpaper 4.2.2 (4/5) 기기고유번호 inittagwebview() getsearchurl() getlocale_version_imei_w_h() http://www.imnet.us/api/wallpapers/photos/ search_keywords? +IMEI+SignatureParamString

Google Wallpaper 4.2.2 (5/5) 기기고유번호 inittagwebview() getsearchurl() getlocale_version_imei_w_h() http://www.imnet.us/api/wallpapers/ photos/search_keywords? +IMEI +SignatureParamString

비공식마켓의변조된앱 Monkey Jump 2, Gold Miner, Mini Army, Baseball Superstars 2010, Shot Gun Free, Xing Metro 겉보기엔공식마켓앱과같으나 악성코드를품고다시배포됨 ScanDal 로분석한결과 공식마켓의앱에서는누출없음 비공식마켓의앱에서는누출검출

다시, 좀더자세히 apk 파서, 번역기및요약실행기 요약기계상태 Unzip dump 후처리기...dex... DexDump 누출경보

분석용핵심언어 200 여개의달빅명령어를 18 개의명령어로번역 API 실행의미하드코딩용명령어포함

분석기본체, 요약실행기 apk 파서, 번역기및요약실행기 요약기계상태 Unzip dump 후처리기...dex... DexDump 누출경보

요약실행기 요약해석이론에따라 실행의미정의, 요약실행의미정의

간단한문자열분석도 Prefix Domain 문자열을공통접두사로요약 URL, URI 분석에유용 하길기대하며 ropas.snu.ac.kr/~yhyoon ropas.snu.ac.kr/~jykim ropas.snu.ac.kr/~*

아까그예제에서는 기기고유번호 inittagwebview() getsearchurl() getlocale_version_imei_w_h() http://www.imnet.us/api/wallpapers/ photos/search_keywords? +IMEI +SignatureParamString

벽, 높지는않은 타입에따라다른메소드호출 예외상황처리 실행의미정의만잘되면충분

진짜벽하나, Listener Java의이벤트처리콜백 주로 UI에관련 앱을모델링 초기화단계후 이벤트를대기하는형태 이벤트대기부분은 flow-insensitive 분석

좀더넓게보면 코드에명시되지않는함수호출 Listener 등록을포함하여 Thread, Intent, 기타여러 API 지금은일일이실행의미를하드코딩

노동집약적벽 라이브러리함수실행의미 정적분석기라면누구나마주치는 Java 기본라이브러리도방대한데... Android API 는클래스가약 3 천개 자주쓰이는것위주로하드코딩

언제나까다로운 Reflect ( 아주단순한 ) 다단계프로그래밍 문자열로클래스, 메소드를 문자열값도분석하므로 현재, 문자열로클래스 (java.lang.class) 객체를만드는프로그램은분석가능

다른측면 : 비용 q tñ T Ñ T Äú l0 å x Ù (KB) ( ) (MB) ú i Kids Preschool Puzzle 87 6 67 X Ù! Flurry Job Search 167 6 121 X Ù! Ñ Kids Shapes 225 9 164 X Ù! Flurry Kids ABC Phonics 134 12 77 X Ù! Flurry Backgrounds HD Wallpapers 109 17 143 00 à8! Ñ Bible Quotes 138 36 278 X Ù! AdSense ES Task Manager 158 86 433 X Ù! AdSense Multi Touch Paint 198 174 740 X Ù! AdMob Adao File Manager 255 220 1160 X Ù! AdMob (D-Day) The Day Before 293 626 2761 X Ù! AdMob ò FreeSMS 387 708 1249 4 appleà8! Ñ Shot Gun Free* 95 36 164 X Ù, 4 appleà8, 00 à8! E1 Ñ Baseball Superstars 2010* 165 61 285 X Ù, 4 appleà8, 00 à8! E1 Ñ Monkey Jump 2* 169 74 442 X Ù, 4 appleà8, 00 à8! E1 Ñ Gold Miner* 191 81 481 X Ù, 4 appleà8, 00 à8! E1 Ñ Mini Army* 480 174 1292 X Ù, 4 appleà8, 00 à8! E1 Ñ Xing Metro* 253 23049 1784 X Ù, 4 appleà8, 00 à8! E1 Ñ 시간도메모리도많이쓰지만...

앞으로 남은벽들을마저넘고 Reflect 누출아닌누출 콜백찾기자동화 분석속도를높이고 발넓히기

고맙습니다