SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
안드로이드 악성코드의 철학적 연구 
Philosophical study of Android malware 
kino@PAraDOx CONference 
2014 PAraDOx CONference, 2nd Session
부제 악성코드의 발전은 끝이 없고 같은 안티를 반복한다. 
Subtitle 
Malware GoGo 
Same anti GoGo 
kino@PAraDOx CONference 
2014 PAraDOx CONference, 2nd Session
발표전에.. 
•저는 철학자도 심리학자도 아닙니다. 
•그래도 이 발표를 위해 최대한 정보를 찾아 올바른 내용만 삽입하기 위해 노력하였습니다. 
•가볍게 들어주시길 .
발표자 소개 
성명 : 조효재제 (27세), 정글러 
닉네임 : Kino, Peterpan 
소속 : Padocon, 보안회사+ 근무 
관심분야 : 시즌4티어, 봇 갱, 역갱 
간략한 자기소개 
저는 1989년 2월 대구에서 1남 1녀중 장남으로 태어나 엄하신 아버지와 온화한 어머니 아래에서 “거짓말을 하지 말자” 라는 가훈에 따라 자라왔습니다.
목차 
Part1. 결정론 
Part2. 평행이론 
Part3. 안드로이드 악성코드 
Part4. 악성코드 사기기법 분석 
Part5. 실험적 경험론. 
Part6. 영겁회귀
Part 1. 인과성 (因果性) 
어떤 상태(원인)에서 다른상태(결과) 가 필연적으로 일어나는 법칙성
Part 1. 인과성 (因果性)
Part 1. 인과성 (因果性)
Part 1. 인과성 (因果性)
Part 1. 인과성 (因果性) 
새로운 플랫폼은 언제나 
새로운 위협을 동반한다.
Part 2. 평행이론(parallel life) 
다른 시대의 두 사람이 일정한 시간차이를 두고 같은 운명을 반복한다는 법칙성
Part 2. 평행이론(parallel life) 
•Before Talking 
–PC 기반의 악성코드의 종류 
•행위적 측면 
•목적적 측면 
–안드로이드 악성코드
Part 2. 평행이론(parallel life) 
•행위적 측면에서 바라본 악성코드의 발전 
–시스템 파괴 
•Brain virus, Jerusalem, 미켈란젤로,CIH 바이러스 
–웜 
•Morris Worm, Melissa Worm, Nimda, SQL Slammer, Blaster Worm 
–Ransom Ware 
•Hdd 암호화 Trojan 등장 
–봇넷 
•Mariposa, Zeus 
–And so on……
Part 2. 평행이론(parallel life) 
•목적적 측면에서 바라본 악성코드의 발전 
–단순장난 및 자기과시형 
•Elk Cloner, (50번째 부트 시 메세지 출력) 
–잘못된 만남형 
• Morris Worm, (인터넷 크기 측정을 위해 제작) 
–금전갈취형 
•Ransomware, 정보유출형 악성코드,
Part 2. 평행이론(parallel life) 
•안드로이드 환경에서의 악성코드 
–단순장난형 
•배터리/데이터 소모형악성코드 
–시스템 파괴 & 봇넷 
•oldboot 
–웜과 비슷한 형태 
•sms를 통한 apk 설치링크 전송 악성코드 
–금전갈취형 
•스미싱, 공인인증서 유출 
–And so on……
Part3. 안드로이드 악성코드 
•Android Malware 
–PC에서 일련의 악의적인 행위를 하는 프로그램 
•왜 안드로이드인가? 
–안드로이드의 특징 
•높은 점유율 (80% 이상, 국내기준) 
•다양한 개발방법을 가짐 
•손쉬운 악성코드 배포 및 설치 
•높은 자율성 
스마트폰 
앱
Part3. 안드로이드 악성코드 
•스마트폰 악성코드 종류와 흐름 
–고조선 시절 ( 배터리/데이터 소모형 ) 
•이 때 까지는 스마트폰 운영체제가 비교적 다양하여 크게 부각되지 않음. 
–초 중기 안드로이드 악성코드 
•루팅을 이용한 최고관리자 권한탈취 
•최고권한으로 무엇이든 수행할 수 있게되며 이를 금전갈취에 활용 
–현재의 악성코드 
•간단한 트릭을 이용한 금전갈취 
–스미싱 
•공인인증서, 주소록 등의 정보유출을 통한 금전 갈취 
•스마트폰 정보를 이용한 사기용 악성코드 등
Part3. 안드로이드 악성코드 
•분석 시 사용된 도구 
–Jadx, dex2jar 
•자바 디컴파일을 통한 코드 분석 도구 
–IDA, GDB 
•so (shared object) 파일 분석 도구 
–Droidbox, OnlineSandbox 
•안드로이드 앱 동적분석 도구
Part4. 악성코드 사기 기법 분석 
•몸캠이란? 
–웹캠 등의 도구를 통해 채팅 등에서 서로의 몸을 보여주며 스스로의 욕구를 해소하는 (自慰 : 스스로를 위로하는 행위 및 일련의 행동) 캠의 방식 
•불타는 욕정을 이용한 몸캠사기 
–몸캠을 미끼로 악성 S/W를 설치해 타겟 스마트폰의 연락처 및 문자 등을 유출함 
•일종의 온라인 꽃뱀
Part4. 악성코드 사기 기법 분석 
1. 몸캠을 위한 skype ID 전송 
skypeID를 게재한 음란 메시지 기재 
Chat App 
Hacker 
2. Skype ID 획득후 연락 시도 
다양한 경로를 통해 음란메시지 획득 
Chat App 
Victim
Part4. 악성코드 사기 기법 분석 
3. 채팅과정에서 악성 APP 설치 유도 
음란채팅 시도 
음성인식을 핑계로 악성 APP 설치요구 
Lure 
Victim 
4. 정보 전송 
카톡, 연락처, SMS 정보 등을 전송 
Lure 
음란채팅 과정을 동영상으로 녹화 
Server 
MalApp 
Victim
Part4. 악성코드 사기 기법 분석
Part4. 악성코드 사기 기법 분석 
•선행연구 - 꽃뱀찾기
Part4. 악성코드 사기 기법 분석 
•선행연구 - 꽃뱀찾기
Part4. 악성코드 사기 기법 분석 
•심층연구를 위한 채팅시도 
FAIL
Part4. 악성코드 사기 기법 분석 
•그냥 기존 샘플로 분석하기로 함 
•MainActivity
Part4. 악성코드 사기 기법 분석 
•BackGroundService.clases
Part4. 악성코드 사기 기법 분석 
•MyMessageService.clases
Part4. 악성코드 사기 기법 분석 
•동영상 배포를 빌미로 금전 요구
Part4. 악성코드 사기 기법 분석 
•해외 사이트(gay……)에 촬영영상 판매 
–당신도 이제 유명인
Part4. 악성코드 사기 기법 분석 
성욕. 건전한 방법으로 
해결합시다.
Part 5. 실험적 경험론 
경험은 생물이 환경에 따라 변화하는 과정이며 수동적, 감각적인 것에 그치지 않고 모든 세계를 실험하여 나가는 능동적, 행위적인 것이라는 이론
Part 5. 실험적 경험론 
•진화하는 악성코드 
–악성코드 분석 시스템의 발전 
•다양한 동적분석 sandbox 툴의 개발 
•수많은 악성코드 분석방법의 공유 
–자가보호를 시작 
•간단한 난독화 (안드로이드 개발툴킷에서 기본 제공) 
•zip파일 헤더 변조를 통한 자가보호 
•dex 디컴파일로 부터 자가 보호 
•ndk를 이용한 개발 및 자가 보호
Part 5. 실험적 경험론 
•아직 숨겨진 트릭들이 많다 
–내가 악성코드 제작자라면?? 
•Malware File Dropping (Encryption, Use Network) 
–윈도우의 드롭퍼처럼 파일을 드랍해 악성 행위를 수행 
–Bypass Dynamic Analysis 
•Droidbox, Online Sandbox 등을 탐지해 정상적인 동작을 수행하지 않음 
–disturb Static Analysis 
•정적분석 시 코드를 보기 어렵도록 만듬
Part 5. 실험적 경험론 
•Malware File Dropping (Encryption, Use Network) 
–일반 악성코드에 Dropper가 있다면 안드로이드에서도…? 
•암호화된 파일을 복호화 
•네트워크를 통한 다운로드 
–이미 실제 악성코드에 적용되어 있음
Part 5. 실험적 경험론 
•Bypass Dynamic Analysis 
•목표 
–Droidbox, Online Sandbox 등을 탐지해 정상적인 동작을 수행하지 않음 
•타겟 시스템 
–http://anubis.iseclab.org 
–안드로이드 가상 머신 (AVD, Android Virtual Device, Droidbox ) 
–실제 기기
Part 5. 실험적 경험론 
•Real Machine과 Virtual Machine의 구분 
–리얼과 가상이므로 실질적인 차이가 존재할 것으로 판단 
•Real Machine 
–ARM Process를 기반으로 동작, 별도의 컨트롤이 필요하지 않음 
•Virtual Machine 
–AVD 등에서 ARM Process를 기반으로 하고 있지만 Host 머신은 x86이므로 가상화에 필요한 무언가가 있을것으로 판단 
–비교 분석 대상 
•실행중인 프로세스와 파일을 통한 비교
Part 5. 실험적 경험론 
•동적분석 우회 
–QEMU 
•VMWare, Virtualbox와 같은 가상화 소프트웨어 
•타 가상화 소프트웨어와 달리 다양한 플랫폼을 지원함. 
–x86 기반 시스템에서 ARM 에뮬레이팅이 가능 
–ARM 이외에도 MIPS등의 CPU 에뮬레이팅 가능
Part 5. 실험적 경험론 
•탐지방법 
–실행중인 프로세스 목록중 qemud의 동작여부 확인 
–/system/bin/qemud, /system/bin/qemu-props 존재여부 확인
Part 5. 실험적 경험론 
•동적분석 우회 테스트 
–테스트 코드 실행
Part 5. 실험적 경험론 
•동적분석 우회 테스트 
–Anubis 테스트 
https://anubis.iseclab.org/?action=result&task_id=1ecd971eb2ddc36d4117752853f30dd24&format=html
Part 5. 실험적 경험론 
•JAVA Self Modifying Code 
–시도해보지 않았으나 사긴이 오래 걸릴것 같아 Pass 
•Arm Self Modifying Code 
–NDK로 개발해 자기자신의 코드를 암호화 하여 배포, 
–IDA등으로 분석 시도 할 경우 암호화된 데이터를 볼 수 있음.
Part 5. 실험적 경험론 
•Arm Self Modifying Code
Part 5. 실험적 경험론 
•Concept
Part 5. 실험적 경험론 
•POC 
initializing: 
mov r0, pc 
sub r0, r0, #24 
sub r1, r0, #400 ; 0x190 
ldr r8, [r0, #388] ; 0x184 
sub r1, r1, r8 
ldr r2, [r0, #392] ; 0x188 
sub r3, r0, #400 ; 0x190 
ldr r4, [r0, #396] ; 0x18c 
mov r6, #0 
Decode: ldr r8, [r1, r6] eor r8, r8, r5 str r8, [r1, r6] add r6, r6, #4 cmp r6, r2 
Decode Func Addr 
Decode Func Size 
Get Decode Key 
Load Encryption Data 
Decrypt 
Save 
Simple XOR !! 
SetKey mov r5, #0 ldr r5, [r0, #384] ; 0x180
Part 5. 실험적 경험론 
•POC - Original
Part 5. 실험적 경험론 
•POC - Encryption
Part 5. 실험적 경험론 
•NDK Anti Debugging Code 삽입 
–JNI_Onload 함수 내에 안티 디버깅 코드 삽입으로 디버깅 여부 탐지 가능 
–JNI_Onload 
•NDK 파일을 Load.library로 로드하게 될 때 호출 여부와 관계없이 가장 먼저 실행하게 되는 함수 
•코드패치를 하지 않을 경우 라이브러리 로드 단계에서 프로세스가 종료됨
Part 6. 영겁회귀 
모든것은 무한히 되풀이 된다
Part 6. 영겁회귀 
•Countermeasure 
새로운 플랫폼의 출연 
악성코드 등장 
방어 기술의 진화 
악성코드의 진화
Part 6. 영겁회귀 
•Countermeasure 
–우리는 같은 싸움을 반복해 왔다. 
•환경만 변했을 뿐이다. 
•이후 IoT와 같은 새로운 영역에서 같은 문제가 발생할 수 있다. 
–오늘본 코드들, 분명 곧 악성코드에서 다시 만나게 될 것이다. 
•그 이상의 발전된 기술로 우리를 놀래킬 것이다. 
–어느것도 완벽히 막을 수는 없다. 
•그렇기 때문에 우리는 대비해야 한다.
Part7. Reference 
•악성코드의 역사 , 윤주환, 2013.02.23, http://www.slideshare.net/btakeya/ss-17061173 
•안드로이드 앱 보호를 위한 네이티브 코드 암호화 연구, 조효제, 2014. 02, 순천향대학교 
•위키피디아 철학, http://ko.wikipedia.org/wiki/%EC%B2%A0%ED%95%99 
•다음 백과사전 철학, 다음, http://100.daum.net/encyclopedia/view.do?docid=b20c2369b

Weitere ähnliche Inhalte

Was ist angesagt?

Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Youngjun Chang
 
클라우드 서비스를 이용한 APT 대응
클라우드 서비스를 이용한 APT 대응클라우드 서비스를 이용한 APT 대응
클라우드 서비스를 이용한 APT 대응Youngjun Chang
 
악성코드 동향 및 대응 방안
악성코드 동향 및 대응 방안악성코드 동향 및 대응 방안
악성코드 동향 및 대응 방안Youngjun Chang
 
악성코드 분석 도구
악성코드 분석 도구악성코드 분석 도구
악성코드 분석 도구Youngjun Chang
 
조성준 - 세상의 중심에서 해킹을 논하다 (Man in the middle) (2014Y07M26D)
조성준 - 세상의 중심에서 해킹을 논하다 (Man in the middle) (2014Y07M26D)조성준 - 세상의 중심에서 해킹을 논하다 (Man in the middle) (2014Y07M26D)
조성준 - 세상의 중심에서 해킹을 논하다 (Man in the middle) (2014Y07M26D)Ubuntu Korea Community
 
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어INSIGHT FORENSIC
 
악성코드와 기업의 악성코드 대응
악성코드와 기업의 악성코드 대응악성코드와 기업의 악성코드 대응
악성코드와 기업의 악성코드 대응Youngjun Chang
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법Youngjun Chang
 
(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?plainbit
 
보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안Youngjun Chang
 
Drive-By Download & JavaScript Obfuscation
Drive-By Download & JavaScript ObfuscationDrive-By Download & JavaScript Obfuscation
Drive-By Download & JavaScript ObfuscationJason Choi
 
중국 It문화와 해커
중국 It문화와 해커중국 It문화와 해커
중국 It문화와 해커Youngjun Chang
 
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Korea University
 
System hacking basics
System hacking basicsSystem hacking basics
System hacking basicsgnomekr
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안Youngjun Chang
 
1. 보안 위협 동향과 주요 보안 위협 특징
1. 보안 위협 동향과 주요 보안 위협 특징1. 보안 위협 동향과 주요 보안 위협 특징
1. 보안 위협 동향과 주요 보안 위협 특징Youngjun Chang
 
2007년 6월 악성코드 최신 동향과 대응
2007년 6월 악성코드 최신 동향과 대응2007년 6월 악성코드 최신 동향과 대응
2007년 6월 악성코드 최신 동향과 대응Youngjun Chang
 
악성코드의 역사
악성코드의 역사악성코드의 역사
악성코드의 역사Juhwan Yun
 
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라INSIGHT FORENSIC
 

Was ist angesagt? (20)

Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안
 
클라우드 서비스를 이용한 APT 대응
클라우드 서비스를 이용한 APT 대응클라우드 서비스를 이용한 APT 대응
클라우드 서비스를 이용한 APT 대응
 
악성코드 동향 및 대응 방안
악성코드 동향 및 대응 방안악성코드 동향 및 대응 방안
악성코드 동향 및 대응 방안
 
악성코드 분석 도구
악성코드 분석 도구악성코드 분석 도구
악성코드 분석 도구
 
조성준 - 세상의 중심에서 해킹을 논하다 (Man in the middle) (2014Y07M26D)
조성준 - 세상의 중심에서 해킹을 논하다 (Man in the middle) (2014Y07M26D)조성준 - 세상의 중심에서 해킹을 논하다 (Man in the middle) (2014Y07M26D)
조성준 - 세상의 중심에서 해킹을 논하다 (Man in the middle) (2014Y07M26D)
 
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
 
악성코드와 기업의 악성코드 대응
악성코드와 기업의 악성코드 대응악성코드와 기업의 악성코드 대응
악성코드와 기업의 악성코드 대응
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?
 
보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안
 
Drive-By Download & JavaScript Obfuscation
Drive-By Download & JavaScript ObfuscationDrive-By Download & JavaScript Obfuscation
Drive-By Download & JavaScript Obfuscation
 
중국 It문화와 해커
중국 It문화와 해커중국 It문화와 해커
중국 It문화와 해커
 
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
 
System hacking basics
System hacking basicsSystem hacking basics
System hacking basics
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안
 
1. 보안 위협 동향과 주요 보안 위협 특징
1. 보안 위협 동향과 주요 보안 위협 특징1. 보안 위협 동향과 주요 보안 위협 특징
1. 보안 위협 동향과 주요 보안 위협 특징
 
2007년 6월 악성코드 최신 동향과 대응
2007년 6월 악성코드 최신 동향과 대응2007년 6월 악성코드 최신 동향과 대응
2007년 6월 악성코드 최신 동향과 대응
 
악성코드의 역사
악성코드의 역사악성코드의 역사
악성코드의 역사
 
APT Case Study
APT Case StudyAPT Case Study
APT Case Study
 
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
 

Ähnlich wie 안드로이드 악성코드의 철학적_연구_padocon_조효제

보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법Youngjun Chang
 
악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안Youngjun Chang
 
모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다Namjun Kim
 
Mobile app security nov 2015
Mobile app security nov 2015 Mobile app security nov 2015
Mobile app security nov 2015 Chanjin Park
 
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis StartGangSeok Lee
 
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다GangSeok Lee
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법Youngjun Chang
 
1.악성코드 최신 동향과 기법
1.악성코드 최신 동향과 기법1.악성코드 최신 동향과 기법
1.악성코드 최신 동향과 기법Youngjun Chang
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법Youngjun Chang
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규ChangKyu Song
 
Mobile security & security testing - Speaker at CSS Serminar
Mobile security & security testing - Speaker at CSS SerminarMobile security & security testing - Speaker at CSS Serminar
Mobile security & security testing - Speaker at CSS SerminarYongjun Park
 
(Fios#02) 3. 빠르게 끝내는 악성코드 분석과 대응
(Fios#02) 3. 빠르게 끝내는 악성코드 분석과 대응(Fios#02) 3. 빠르게 끝내는 악성코드 분석과 대응
(Fios#02) 3. 빠르게 끝내는 악성코드 분석과 대응INSIGHT FORENSIC
 
악성코드와 분석 방법
악성코드와 분석 방법악성코드와 분석 방법
악성코드와 분석 방법Youngjun Chang
 
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405SUHYUNJEON
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안Youngjun Chang
 
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)FNGS Labs
 
[4th revolution] new technology security education material] android security...
[4th revolution] new technology security education material] android security...[4th revolution] new technology security education material] android security...
[4th revolution] new technology security education material] android security...james yoo
 
Inc0gnito fuzzing for_fun_sweetchip
Inc0gnito fuzzing for_fun_sweetchipInc0gnito fuzzing for_fun_sweetchip
Inc0gnito fuzzing for_fun_sweetchipsweetchip
 
졸업후 취업까지.ssul
졸업후 취업까지.ssul졸업후 취업까지.ssul
졸업후 취업까지.ssul승표 홍
 

Ähnlich wie 안드로이드 악성코드의 철학적_연구_padocon_조효제 (20)

보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법
 
악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안
 
모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다
 
Mobile app security nov 2015
Mobile app security nov 2015 Mobile app security nov 2015
Mobile app security nov 2015
 
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
[2007 CodeEngn Conference 01] 이강석 - Malware Analysis Start
 
codeache
codeachecodeache
codeache
 
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
1.악성코드 최신 동향과 기법
1.악성코드 최신 동향과 기법1.악성코드 최신 동향과 기법
1.악성코드 최신 동향과 기법
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
 
Mobile security & security testing - Speaker at CSS Serminar
Mobile security & security testing - Speaker at CSS SerminarMobile security & security testing - Speaker at CSS Serminar
Mobile security & security testing - Speaker at CSS Serminar
 
(Fios#02) 3. 빠르게 끝내는 악성코드 분석과 대응
(Fios#02) 3. 빠르게 끝내는 악성코드 분석과 대응(Fios#02) 3. 빠르게 끝내는 악성코드 분석과 대응
(Fios#02) 3. 빠르게 끝내는 악성코드 분석과 대응
 
악성코드와 분석 방법
악성코드와 분석 방법악성코드와 분석 방법
악성코드와 분석 방법
 
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안
 
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
 
[4th revolution] new technology security education material] android security...
[4th revolution] new technology security education material] android security...[4th revolution] new technology security education material] android security...
[4th revolution] new technology security education material] android security...
 
Inc0gnito fuzzing for_fun_sweetchip
Inc0gnito fuzzing for_fun_sweetchipInc0gnito fuzzing for_fun_sweetchip
Inc0gnito fuzzing for_fun_sweetchip
 
졸업후 취업까지.ssul
졸업후 취업까지.ssul졸업후 취업까지.ssul
졸업후 취업까지.ssul
 

Kürzlich hochgeladen

(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 

Kürzlich hochgeladen (8)

(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 

안드로이드 악성코드의 철학적_연구_padocon_조효제

  • 1. 안드로이드 악성코드의 철학적 연구 Philosophical study of Android malware kino@PAraDOx CONference 2014 PAraDOx CONference, 2nd Session
  • 2. 부제 악성코드의 발전은 끝이 없고 같은 안티를 반복한다. Subtitle Malware GoGo Same anti GoGo kino@PAraDOx CONference 2014 PAraDOx CONference, 2nd Session
  • 3. 발표전에.. •저는 철학자도 심리학자도 아닙니다. •그래도 이 발표를 위해 최대한 정보를 찾아 올바른 내용만 삽입하기 위해 노력하였습니다. •가볍게 들어주시길 .
  • 4. 발표자 소개 성명 : 조효재제 (27세), 정글러 닉네임 : Kino, Peterpan 소속 : Padocon, 보안회사+ 근무 관심분야 : 시즌4티어, 봇 갱, 역갱 간략한 자기소개 저는 1989년 2월 대구에서 1남 1녀중 장남으로 태어나 엄하신 아버지와 온화한 어머니 아래에서 “거짓말을 하지 말자” 라는 가훈에 따라 자라왔습니다.
  • 5. 목차 Part1. 결정론 Part2. 평행이론 Part3. 안드로이드 악성코드 Part4. 악성코드 사기기법 분석 Part5. 실험적 경험론. Part6. 영겁회귀
  • 6. Part 1. 인과성 (因果性) 어떤 상태(원인)에서 다른상태(결과) 가 필연적으로 일어나는 법칙성
  • 7. Part 1. 인과성 (因果性)
  • 8. Part 1. 인과성 (因果性)
  • 9. Part 1. 인과성 (因果性)
  • 10. Part 1. 인과성 (因果性) 새로운 플랫폼은 언제나 새로운 위협을 동반한다.
  • 11. Part 2. 평행이론(parallel life) 다른 시대의 두 사람이 일정한 시간차이를 두고 같은 운명을 반복한다는 법칙성
  • 12. Part 2. 평행이론(parallel life) •Before Talking –PC 기반의 악성코드의 종류 •행위적 측면 •목적적 측면 –안드로이드 악성코드
  • 13. Part 2. 평행이론(parallel life) •행위적 측면에서 바라본 악성코드의 발전 –시스템 파괴 •Brain virus, Jerusalem, 미켈란젤로,CIH 바이러스 –웜 •Morris Worm, Melissa Worm, Nimda, SQL Slammer, Blaster Worm –Ransom Ware •Hdd 암호화 Trojan 등장 –봇넷 •Mariposa, Zeus –And so on……
  • 14. Part 2. 평행이론(parallel life) •목적적 측면에서 바라본 악성코드의 발전 –단순장난 및 자기과시형 •Elk Cloner, (50번째 부트 시 메세지 출력) –잘못된 만남형 • Morris Worm, (인터넷 크기 측정을 위해 제작) –금전갈취형 •Ransomware, 정보유출형 악성코드,
  • 15. Part 2. 평행이론(parallel life) •안드로이드 환경에서의 악성코드 –단순장난형 •배터리/데이터 소모형악성코드 –시스템 파괴 & 봇넷 •oldboot –웜과 비슷한 형태 •sms를 통한 apk 설치링크 전송 악성코드 –금전갈취형 •스미싱, 공인인증서 유출 –And so on……
  • 16. Part3. 안드로이드 악성코드 •Android Malware –PC에서 일련의 악의적인 행위를 하는 프로그램 •왜 안드로이드인가? –안드로이드의 특징 •높은 점유율 (80% 이상, 국내기준) •다양한 개발방법을 가짐 •손쉬운 악성코드 배포 및 설치 •높은 자율성 스마트폰 앱
  • 17. Part3. 안드로이드 악성코드 •스마트폰 악성코드 종류와 흐름 –고조선 시절 ( 배터리/데이터 소모형 ) •이 때 까지는 스마트폰 운영체제가 비교적 다양하여 크게 부각되지 않음. –초 중기 안드로이드 악성코드 •루팅을 이용한 최고관리자 권한탈취 •최고권한으로 무엇이든 수행할 수 있게되며 이를 금전갈취에 활용 –현재의 악성코드 •간단한 트릭을 이용한 금전갈취 –스미싱 •공인인증서, 주소록 등의 정보유출을 통한 금전 갈취 •스마트폰 정보를 이용한 사기용 악성코드 등
  • 18. Part3. 안드로이드 악성코드 •분석 시 사용된 도구 –Jadx, dex2jar •자바 디컴파일을 통한 코드 분석 도구 –IDA, GDB •so (shared object) 파일 분석 도구 –Droidbox, OnlineSandbox •안드로이드 앱 동적분석 도구
  • 19.
  • 20. Part4. 악성코드 사기 기법 분석 •몸캠이란? –웹캠 등의 도구를 통해 채팅 등에서 서로의 몸을 보여주며 스스로의 욕구를 해소하는 (自慰 : 스스로를 위로하는 행위 및 일련의 행동) 캠의 방식 •불타는 욕정을 이용한 몸캠사기 –몸캠을 미끼로 악성 S/W를 설치해 타겟 스마트폰의 연락처 및 문자 등을 유출함 •일종의 온라인 꽃뱀
  • 21. Part4. 악성코드 사기 기법 분석 1. 몸캠을 위한 skype ID 전송 skypeID를 게재한 음란 메시지 기재 Chat App Hacker 2. Skype ID 획득후 연락 시도 다양한 경로를 통해 음란메시지 획득 Chat App Victim
  • 22. Part4. 악성코드 사기 기법 분석 3. 채팅과정에서 악성 APP 설치 유도 음란채팅 시도 음성인식을 핑계로 악성 APP 설치요구 Lure Victim 4. 정보 전송 카톡, 연락처, SMS 정보 등을 전송 Lure 음란채팅 과정을 동영상으로 녹화 Server MalApp Victim
  • 23. Part4. 악성코드 사기 기법 분석
  • 24. Part4. 악성코드 사기 기법 분석 •선행연구 - 꽃뱀찾기
  • 25. Part4. 악성코드 사기 기법 분석 •선행연구 - 꽃뱀찾기
  • 26. Part4. 악성코드 사기 기법 분석 •심층연구를 위한 채팅시도 FAIL
  • 27. Part4. 악성코드 사기 기법 분석 •그냥 기존 샘플로 분석하기로 함 •MainActivity
  • 28. Part4. 악성코드 사기 기법 분석 •BackGroundService.clases
  • 29. Part4. 악성코드 사기 기법 분석 •MyMessageService.clases
  • 30. Part4. 악성코드 사기 기법 분석 •동영상 배포를 빌미로 금전 요구
  • 31. Part4. 악성코드 사기 기법 분석 •해외 사이트(gay……)에 촬영영상 판매 –당신도 이제 유명인
  • 32. Part4. 악성코드 사기 기법 분석 성욕. 건전한 방법으로 해결합시다.
  • 33.
  • 34. Part 5. 실험적 경험론 경험은 생물이 환경에 따라 변화하는 과정이며 수동적, 감각적인 것에 그치지 않고 모든 세계를 실험하여 나가는 능동적, 행위적인 것이라는 이론
  • 35. Part 5. 실험적 경험론 •진화하는 악성코드 –악성코드 분석 시스템의 발전 •다양한 동적분석 sandbox 툴의 개발 •수많은 악성코드 분석방법의 공유 –자가보호를 시작 •간단한 난독화 (안드로이드 개발툴킷에서 기본 제공) •zip파일 헤더 변조를 통한 자가보호 •dex 디컴파일로 부터 자가 보호 •ndk를 이용한 개발 및 자가 보호
  • 36. Part 5. 실험적 경험론 •아직 숨겨진 트릭들이 많다 –내가 악성코드 제작자라면?? •Malware File Dropping (Encryption, Use Network) –윈도우의 드롭퍼처럼 파일을 드랍해 악성 행위를 수행 –Bypass Dynamic Analysis •Droidbox, Online Sandbox 등을 탐지해 정상적인 동작을 수행하지 않음 –disturb Static Analysis •정적분석 시 코드를 보기 어렵도록 만듬
  • 37. Part 5. 실험적 경험론 •Malware File Dropping (Encryption, Use Network) –일반 악성코드에 Dropper가 있다면 안드로이드에서도…? •암호화된 파일을 복호화 •네트워크를 통한 다운로드 –이미 실제 악성코드에 적용되어 있음
  • 38. Part 5. 실험적 경험론 •Bypass Dynamic Analysis •목표 –Droidbox, Online Sandbox 등을 탐지해 정상적인 동작을 수행하지 않음 •타겟 시스템 –http://anubis.iseclab.org –안드로이드 가상 머신 (AVD, Android Virtual Device, Droidbox ) –실제 기기
  • 39. Part 5. 실험적 경험론 •Real Machine과 Virtual Machine의 구분 –리얼과 가상이므로 실질적인 차이가 존재할 것으로 판단 •Real Machine –ARM Process를 기반으로 동작, 별도의 컨트롤이 필요하지 않음 •Virtual Machine –AVD 등에서 ARM Process를 기반으로 하고 있지만 Host 머신은 x86이므로 가상화에 필요한 무언가가 있을것으로 판단 –비교 분석 대상 •실행중인 프로세스와 파일을 통한 비교
  • 40. Part 5. 실험적 경험론 •동적분석 우회 –QEMU •VMWare, Virtualbox와 같은 가상화 소프트웨어 •타 가상화 소프트웨어와 달리 다양한 플랫폼을 지원함. –x86 기반 시스템에서 ARM 에뮬레이팅이 가능 –ARM 이외에도 MIPS등의 CPU 에뮬레이팅 가능
  • 41. Part 5. 실험적 경험론 •탐지방법 –실행중인 프로세스 목록중 qemud의 동작여부 확인 –/system/bin/qemud, /system/bin/qemu-props 존재여부 확인
  • 42. Part 5. 실험적 경험론 •동적분석 우회 테스트 –테스트 코드 실행
  • 43. Part 5. 실험적 경험론 •동적분석 우회 테스트 –Anubis 테스트 https://anubis.iseclab.org/?action=result&task_id=1ecd971eb2ddc36d4117752853f30dd24&format=html
  • 44. Part 5. 실험적 경험론 •JAVA Self Modifying Code –시도해보지 않았으나 사긴이 오래 걸릴것 같아 Pass •Arm Self Modifying Code –NDK로 개발해 자기자신의 코드를 암호화 하여 배포, –IDA등으로 분석 시도 할 경우 암호화된 데이터를 볼 수 있음.
  • 45. Part 5. 실험적 경험론 •Arm Self Modifying Code
  • 46. Part 5. 실험적 경험론 •Concept
  • 47. Part 5. 실험적 경험론 •POC initializing: mov r0, pc sub r0, r0, #24 sub r1, r0, #400 ; 0x190 ldr r8, [r0, #388] ; 0x184 sub r1, r1, r8 ldr r2, [r0, #392] ; 0x188 sub r3, r0, #400 ; 0x190 ldr r4, [r0, #396] ; 0x18c mov r6, #0 Decode: ldr r8, [r1, r6] eor r8, r8, r5 str r8, [r1, r6] add r6, r6, #4 cmp r6, r2 Decode Func Addr Decode Func Size Get Decode Key Load Encryption Data Decrypt Save Simple XOR !! SetKey mov r5, #0 ldr r5, [r0, #384] ; 0x180
  • 48. Part 5. 실험적 경험론 •POC - Original
  • 49. Part 5. 실험적 경험론 •POC - Encryption
  • 50. Part 5. 실험적 경험론 •NDK Anti Debugging Code 삽입 –JNI_Onload 함수 내에 안티 디버깅 코드 삽입으로 디버깅 여부 탐지 가능 –JNI_Onload •NDK 파일을 Load.library로 로드하게 될 때 호출 여부와 관계없이 가장 먼저 실행하게 되는 함수 •코드패치를 하지 않을 경우 라이브러리 로드 단계에서 프로세스가 종료됨
  • 51. Part 6. 영겁회귀 모든것은 무한히 되풀이 된다
  • 52. Part 6. 영겁회귀 •Countermeasure 새로운 플랫폼의 출연 악성코드 등장 방어 기술의 진화 악성코드의 진화
  • 53. Part 6. 영겁회귀 •Countermeasure –우리는 같은 싸움을 반복해 왔다. •환경만 변했을 뿐이다. •이후 IoT와 같은 새로운 영역에서 같은 문제가 발생할 수 있다. –오늘본 코드들, 분명 곧 악성코드에서 다시 만나게 될 것이다. •그 이상의 발전된 기술로 우리를 놀래킬 것이다. –어느것도 완벽히 막을 수는 없다. •그렇기 때문에 우리는 대비해야 한다.
  • 54. Part7. Reference •악성코드의 역사 , 윤주환, 2013.02.23, http://www.slideshare.net/btakeya/ss-17061173 •안드로이드 앱 보호를 위한 네이티브 코드 암호화 연구, 조효제, 2014. 02, 순천향대학교 •위키피디아 철학, http://ko.wikipedia.org/wiki/%EC%B2%A0%ED%95%99 •다음 백과사전 철학, 다음, http://100.daum.net/encyclopedia/view.do?docid=b20c2369b