SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
0100001110001010100011001010010100011100000000001111001100000011111000000001110111011100011100011011100111000110010010000100100010010
0000100001110001010100011001010010100011100000000001111001100000011111000000001110111011100011100011011100111000100001110001010100011
0100001110001010100011001010010100011100000000001111001100000011111000000001110111011100011100011011100111000110010010000100100010010
0000100001110001010100011001010010100011100000000001111001100000011111000000001110111011100011100011011100111000100001110001010100011
| 정보보호 전문가(모의해킹) 과정|
㈜타이거팀아카데미
Andorid 악성앱(Kaokao.apk) 코드 분석
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
2
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
3
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
4
AndroidMenifest.xml (설치시 요청할 권한 내역)
권한 내용
ACCESS_WIFI_STATE WIFI 상태 접근 권한
CHANGE_WIFI_STATE WIFI 상태 변경(인터넷 권한)
WAKE_LOCK 알람
WRITE_EXTERNAL_STORAGE 외부 저장장치에 쓰기 권한
READ_PHONE_STATE 폰 상태 관련 권한
SEND_SMS SMS 문자 보내기 권한
RECEIVE_SMS SMS 문자 수신 관련 권한
READ_CONTACTS 주소록 읽기 권한
WRITE_CONTACTS 주소록 쓰기 관련 권한
RECEIVE_BOOT_COMPLETED 부팅 완료 관련 권한
MODIFY_PHONE_STATE 폰상태 변경시 접근 권한
CALL_PHONE 전화 통화 권한
INSTALL_SHORTCUT 바로가기 버튼 생성 권한
UNINSTALL_SHORTCUT 바로가기 버튼 삭제 권한
RECEIVE_BOOT_COMPLETED 부팅 완료 관련 권한
RESTART_PACKAGES
특정 패키지 실행 종료 및 알림 권한
(API Level 8에서 제거된 권한)
GET_TASKS 테스크 관련 권한
KILL_BACKGROUND_PROCESSES
백그라운드 프로세스 종료 권한
RESTART_PACKAGE와 차이점은 중요도에
따라 선별적 종료
SYSTEM_ALERT_WINDOW 시스템 알림창 표시등의 권한
READ_LOGS 로그 읽기 권한
VIBRATE 진동 관련 권한
MODIFY_AUDIO_SETTINGS 오디오 설정 변경 권한
INTERNET 인터넷 권한
ACCESS_NETWORK_STATE 네트워크 상태 접근 권한
서비스 기능 대비 과도한 권한을 요구할 경우
악성적인 기능의 존재 여부를 의심할 수 있음
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
5
첫 시작 Activity로 분석 시작 클래스가 됨
SMS 수신시에 동작하는 코드(클래스)
폰 상태에 따라 대응하는 코드(클래스)
패키지 추가, 삭제시에 대응하는 코드 (클래스)
cn.gx3.notify 인턴트 발생시
디바이스가 부팅됐다고 알려주는 메시지로 시스템에서만
보냄
디바이스 관리자 권한 획득시 처리 코드
ADMIN 권한 처리할 내용 정의
(화면잠금 권한)
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
6
실행시 클래스의 시작지점
그 외 생성자 지점 분석
디바이스 관리자 권한 체크 및 강제 락걸기
악성행위 방해 금지를 위해서 차단시키고
아래 무한루프로 현 상황유지
(wipeData(0)는 모든 데이터 삭제 명령)
CoreService 클래스 코드 실행
아이콘 숨기기 함수
인턴테를 통해서 추가 정보 설정
관리자 권한 획득 및 카카오톡으로 보이도록 설정
핸드폰 번호 가져옴
Activity 종료 함수
윈도우 프레임에 대한 타이틀 제거
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
7
새로운 쓰레드를 생성시켜서 전화번호 특정 서버로 전달
인턴트 추가 등록. 다음과 같은 메시지 발생시 MyBroadcastReceiver()를 호출 등록
2011년에 나온 안드로이드 3.0으로 허니콤 버전 이상을 말함
안드로이드 3.0부터 네트워크 통신등을 쓰레드로 지원하는데 시간 지연등의 문제 발생시
이를 처리해 주기 위함 (이는 메인 쓰레드 성능 향상 등의 이유로 지원),
해당 쓰레드의 권한을 설정하는 코드임
새로운 설정값 등록
새로운 쓰레드 두개 실행. CoreService 핵심 동작
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
8
전화번호 가져오기
가져온 전화번호 내용이 있다면 추가 쓰레드 생성시킴
무한 루프를 돌면서 해당 번호가 끝날때까지 실행시킴
전화번호와 IMSI(GSM/UMTS 유저) 값을 서버로 전달
아마도 IMSI 값을 기반으로 전화번호를 분류하기 위함인 것으로 판단
Config 클래스를 보면 관련 내용이 하드코딩되어 있음
SERVER_HOST = "http://kakapx.jetos.com";
SERVER_ADDRESS = "/kbs.php?m=Api&a=";
관련 내용 전달
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
9
MyBroadcastReciver Class #1
CoreService 에서 등록한 인텐트 필터 정보가 수신되면 코드 동작
인자로 전달된 인텐트값 alert의 값을 받음
인텐트로 전달된 info 값을 받아서 URL로 저장
다운로드할 APK 값으로 저장(URL)
코드상 “#”을 구분으로 다운로드 이름, URL, 삭제패키지
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
10
MyBroadcastReciver Class #2
Config에 등록된 은행 이름 길이만큼 무한루프 동작
다운로드 경로 및 다운받을 앱 이름으로 파일 다운로드 실행
다운로드 종료시 업데이트 알림 메시지로 해당 파일 설치 유도
다이얼로그 창 띄움. 설치 강제 유도 화면
BtnClick시 “app.download.complete” 인텐트 메시지 브로드캐스팅
BtnClick 날라온 인텐트 처리 로직, 패키지 삭제 명령
Config 클래스에 있던 은행명과 패키지명이 동일할 경우 아이콘 변수값 등록
App.auto.install 인텐트 메시지 수신시 autoChangeApk 호출
해당 메쏘드에서 apk 파일을 다운로드하고 설치 유도를 하는데, 위의 코드와
매우 유사함 (앱이 업데이트 되었을때를 대비한 코드로 판단됨)
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
11
MyBroadcastReciver Class #2
Config에 등록된 은행 이름 길이만큼 무한루프 동작
다운로드 및 저장
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
12
5초간 슬립
무한루프이므로, 약 120초마다 반복 실행되는 코드
패키지명을 읽어서 설치하고자 하는 악성앱이 없다면 설치 유도하는 메소드
Bank, upbank 배열 은행이 설치됐다면 관련 앱 패키지 정보
WIFI 모드라면, if 구문 내에서 수집한 정보를 인자값으로 포함하여 HTTP로 데이터 전달
SERVER_HOST = "http://kakapx.jetos.com"; //Config클래스 참조
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
13
WIFI 모드가 아니면 아무것도 하지 않고, 속성값만 설정함.
아마도 안전한 WIFI 통신일때 데이터를 송신하도록 한 것으로 추정됨
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
14
5초간 슬립
무한루프이므로, 약 120초마다 반복 실행되는 코드
패키지 관리자 권한 획득
설치된 패키지 정보 모두 가져오기
Iterator()로 처리하여 hasNext() 쉽게 사용할 수 있음
설치된 패키지가 하나도 없거나 마지막이라면~
다음 패키지를 읽어서, 아래 플래그가 아닐때까지 루프돌면서 패키지 정보 저장
Flags 0x01 à FLAG_SYSTEM (시스템 이미지에 설치)
Flags 0x80 à FLAG_PERSISTENT
검색된 패키지라벨 + # + 패키지이름 + |
은행명 배열 카운트만큼 동작
기 설치된 내역에 bank 패키명 존재여부 확인
upbank 배열 패키지명이 존재하는지 체크
autoChangeApk() 함수 호출시 1로 설정
즉, 설치된적 없음을 말함
앱 설치 인텐트 설정 및 브로드케스팅으로 전달
CoreService에서 해당 인텐트 필터를 등록했으며,
MyBroadcastReceiver 클래스를 호출하도록 되어 있음
해당 클래스에서는 CoreService.autoChanageApk 메쏘드를 호출하도록 되어 있음
Config 클래스에 정의된 배열 정보
2. [사례1] 악성코드 분석 악성앱 코드 분석
© 2015 TigerTeamAcademy, Inc. All rights reserved.
15
2초 슬립
디컴파일된 소스코드 상으로는 모두 주석처리 상태로
동작되는 내용이 없음
01000011100010101000110010100101000111000000000011110011000000111110000000011101110111000111000110111001110001100100100001
00100010010000010000111000101010001100101001010001110000000000111100110000001111100000000111011101110001110001101110011100
01000011100010101000110010100101000111000000000011110011000000111110000000011101110111000111000110111001110001100100100001
00100010010000010000111000101010001100101001010001110000000000111100110000001111100000000111011101110001110001101110011100
| 정보보호 컨설팅(모의해킹 분야) 전문가 과정 |

Contenu connexe

Tendances

보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법Youngjun Chang
 
보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안Youngjun Chang
 
Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Youngjun Chang
 
4. reverse engineering basic
4. reverse engineering basic4. reverse engineering basic
4. reverse engineering basicYoungjun Chang
 
악성 코드와 보안 위협 동향
악성 코드와 보안 위협 동향악성 코드와 보안 위협 동향
악성 코드와 보안 위협 동향Youngjun Chang
 
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩GDGCampusKorea
 
[IMQA] performance consulting
[IMQA] performance consulting[IMQA] performance consulting
[IMQA] performance consultingIMQA
 
보안프로젝트 세미나 Viper-v1.2
보안프로젝트 세미나 Viper-v1.2보안프로젝트 세미나 Viper-v1.2
보안프로젝트 세미나 Viper-v1.2Jason Choi
 
악성코드와 개인 정보 보호
악성코드와 개인 정보 보호악성코드와 개인 정보 보호
악성코드와 개인 정보 보호Youngjun Chang
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법Youngjun Chang
 
(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?plainbit
 
포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안TJ Seo
 
모바일 게임 보안
모바일 게임 보안모바일 게임 보안
모바일 게임 보안TOAST_NHNent
 
16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석KISEC
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용CURVC Corp
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규ChangKyu Song
 
보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법Youngjun Chang
 
1. 2009년 상반기 보안 위협 동향
1. 2009년 상반기 보안 위협 동향1. 2009년 상반기 보안 위협 동향
1. 2009년 상반기 보안 위협 동향Youngjun Chang
 

Tendances (18)

보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안
 
Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안
 
4. reverse engineering basic
4. reverse engineering basic4. reverse engineering basic
4. reverse engineering basic
 
악성 코드와 보안 위협 동향
악성 코드와 보안 위협 동향악성 코드와 보안 위협 동향
악성 코드와 보안 위협 동향
 
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩
 
[IMQA] performance consulting
[IMQA] performance consulting[IMQA] performance consulting
[IMQA] performance consulting
 
보안프로젝트 세미나 Viper-v1.2
보안프로젝트 세미나 Viper-v1.2보안프로젝트 세미나 Viper-v1.2
보안프로젝트 세미나 Viper-v1.2
 
악성코드와 개인 정보 보호
악성코드와 개인 정보 보호악성코드와 개인 정보 보호
악성코드와 개인 정보 보호
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?
 
포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안
 
모바일 게임 보안
모바일 게임 보안모바일 게임 보안
모바일 게임 보안
 
16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
SonarQube와 함께하는 소프트웨어 품질 세미나 - ISMS 시큐어코딩을 위한 SonarQube 활용
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
 
보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법
 
1. 2009년 상반기 보안 위협 동향
1. 2009년 상반기 보안 위협 동향1. 2009년 상반기 보안 위협 동향
1. 2009년 상반기 보안 위협 동향
 

En vedette

무료강의 보안전문가의 길(2015년) v0.9_공개버전
무료강의 보안전문가의 길(2015년) v0.9_공개버전무료강의 보안전문가의 길(2015년) v0.9_공개버전
무료강의 보안전문가의 길(2015년) v0.9_공개버전James (SeokHun) Hwang
 
무료강의 논리적글쓰기 요약본
무료강의 논리적글쓰기 요약본무료강의 논리적글쓰기 요약본
무료강의 논리적글쓰기 요약본James (SeokHun) Hwang
 
모의해킹 전문가 되기
모의해킹 전문가 되기모의해킹 전문가 되기
모의해킹 전문가 되기Jeremy Bae
 
초보자를 위한 시스템 해킹 공부 가이드라인
초보자를 위한 시스템 해킹 공부 가이드라인초보자를 위한 시스템 해킹 공부 가이드라인
초보자를 위한 시스템 해킹 공부 가이드라인H4C
 
모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다Namjun Kim
 
Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)Joon Young Park
 
온라인 게임 핵 악성코드 분석
온라인 게임 핵 악성코드 분석온라인 게임 핵 악성코드 분석
온라인 게임 핵 악성코드 분석Namjun Kim
 
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Korea University
 
나는 캡챠 스미싱이 싫어요!
나는 캡챠 스미싱이 싫어요!나는 캡챠 스미싱이 싫어요!
나는 캡챠 스미싱이 싫어요!남준 김
 
XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]용진 조
 
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KOGangSeok Lee
 
Python on Android
Python on AndroidPython on Android
Python on Android용 최
 
시스템 보안에 대해 최종본
시스템 보안에 대해   최종본시스템 보안에 대해   최종본
시스템 보안에 대해 최종본승표 홍
 
코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기Darion Kim
 
해킹 대회 리뷰 및 실전 해킹
해킹 대회 리뷰 및 실전 해킹해킹 대회 리뷰 및 실전 해킹
해킹 대회 리뷰 및 실전 해킹totodeung
 

En vedette (18)

02.모의해킹전문가되기
02.모의해킹전문가되기02.모의해킹전문가되기
02.모의해킹전문가되기
 
무료강의 보안전문가의 길(2015년) v0.9_공개버전
무료강의 보안전문가의 길(2015년) v0.9_공개버전무료강의 보안전문가의 길(2015년) v0.9_공개버전
무료강의 보안전문가의 길(2015년) v0.9_공개버전
 
무료강의 논리적글쓰기 요약본
무료강의 논리적글쓰기 요약본무료강의 논리적글쓰기 요약본
무료강의 논리적글쓰기 요약본
 
모의해킹 전문가 되기
모의해킹 전문가 되기모의해킹 전문가 되기
모의해킹 전문가 되기
 
초보자를 위한 시스템 해킹 공부 가이드라인
초보자를 위한 시스템 해킹 공부 가이드라인초보자를 위한 시스템 해킹 공부 가이드라인
초보자를 위한 시스템 해킹 공부 가이드라인
 
모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다모바일 악성코드, 그것이 알고싶다
모바일 악성코드, 그것이 알고싶다
 
Resg
ResgResg
Resg
 
Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)
 
온라인 게임 핵 악성코드 분석
온라인 게임 핵 악성코드 분석온라인 게임 핵 악성코드 분석
온라인 게임 핵 악성코드 분석
 
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
 
나는 캡챠 스미싱이 싫어요!
나는 캡챠 스미싱이 싫어요!나는 캡챠 스미싱이 싫어요!
나는 캡챠 스미싱이 싫어요!
 
XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]
 
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis KO
 
Python on Android
Python on AndroidPython on Android
Python on Android
 
시스템 보안에 대해 최종본
시스템 보안에 대해   최종본시스템 보안에 대해   최종본
시스템 보안에 대해 최종본
 
Java start01 in 2hours
Java start01 in 2hoursJava start01 in 2hours
Java start01 in 2hours
 
코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기
 
해킹 대회 리뷰 및 실전 해킹
해킹 대회 리뷰 및 실전 해킹해킹 대회 리뷰 및 실전 해킹
해킹 대회 리뷰 및 실전 해킹
 

Similaire à 모바일 악성코드 분석 실무 요약(공개버전)_미완성 참고버전

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
 
2015 Android Game Revenue Saver
2015 Android Game Revenue Saver2015 Android Game Revenue Saver
2015 Android Game Revenue SaverJay Li
 
AWS 기반 블록체인 (2부) - 블록체인 서비스 개발하기 (김준형 & 박천구, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (2부) - 블록체인 서비스 개발하기 (김준형 & 박천구, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (2부) - 블록체인 서비스 개발하기 (김준형 & 박천구, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (2부) - 블록체인 서비스 개발하기 (김준형 & 박천구, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 
이용자 입력단 보안솔루션 (Non-ActiveX 기반)
이용자 입력단 보안솔루션 (Non-ActiveX 기반) 이용자 입력단 보안솔루션 (Non-ActiveX 기반)
이용자 입력단 보안솔루션 (Non-ActiveX 기반) 시온시큐리티
 
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스 AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스 Softwide Security
 
TIPN(Trusted IP Network) 솔루션 적용 모델
TIPN(Trusted IP Network) 솔루션 적용 모델TIPN(Trusted IP Network) 솔루션 적용 모델
TIPN(Trusted IP Network) 솔루션 적용 모델모바일 컨버전스
 
웹스트리밍동영상보안자료
웹스트리밍동영상보안자료웹스트리밍동영상보안자료
웹스트리밍동영상보안자료시온시큐리티
 
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...Amazon Web Services Korea
 
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹NAVER D2
 
AWS Summit Seoul 2023 | 통합을 통한 보안 간소화
AWS Summit Seoul 2023 | 통합을 통한 보안 간소화AWS Summit Seoul 2023 | 통합을 통한 보안 간소화
AWS Summit Seoul 2023 | 통합을 통한 보안 간소화Amazon Web Services Korea
 
2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온시온시큐리티
 
랜섬웨어 vs 윈도우 10
랜섬웨어 vs 윈도우 10랜섬웨어 vs 윈도우 10
랜섬웨어 vs 윈도우 10Sik Kim
 
Mobile app security nov 2015
Mobile app security nov 2015 Mobile app security nov 2015
Mobile app security nov 2015 Chanjin Park
 
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나Amazon Web Services Korea
 
Openstack security(2018)
Openstack security(2018)Openstack security(2018)
Openstack security(2018)Gasida Seo
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
 
Encrypted media extention
Encrypted media extentionEncrypted media extention
Encrypted media extentionTaehyun Kim
 
[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비
[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비
[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비NAVER D2
 

Similaire à 모바일 악성코드 분석 실무 요약(공개버전)_미완성 참고버전 (20)

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
 
2014 pc방화벽 시온
2014 pc방화벽 시온2014 pc방화벽 시온
2014 pc방화벽 시온
 
2015 Android Game Revenue Saver
2015 Android Game Revenue Saver2015 Android Game Revenue Saver
2015 Android Game Revenue Saver
 
AWS 기반 블록체인 (2부) - 블록체인 서비스 개발하기 (김준형 & 박천구, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (2부) - 블록체인 서비스 개발하기 (김준형 & 박천구, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (2부) - 블록체인 서비스 개발하기 (김준형 & 박천구, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (2부) - 블록체인 서비스 개발하기 (김준형 & 박천구, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
이용자 입력단 보안솔루션 (Non-ActiveX 기반)
이용자 입력단 보안솔루션 (Non-ActiveX 기반) 이용자 입력단 보안솔루션 (Non-ActiveX 기반)
이용자 입력단 보안솔루션 (Non-ActiveX 기반)
 
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스 AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
AttackIQ Flex - BAS(Breach & Attack Simulation) 셀프 테스트 서비스
 
TIPN(Trusted IP Network) 솔루션 적용 모델
TIPN(Trusted IP Network) 솔루션 적용 모델TIPN(Trusted IP Network) 솔루션 적용 모델
TIPN(Trusted IP Network) 솔루션 적용 모델
 
웹스트리밍동영상보안자료
웹스트리밍동영상보안자료웹스트리밍동영상보안자료
웹스트리밍동영상보안자료
 
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019
 
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
 
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
 
AWS Summit Seoul 2023 | 통합을 통한 보안 간소화
AWS Summit Seoul 2023 | 통합을 통한 보안 간소화AWS Summit Seoul 2023 | 통합을 통한 보안 간소화
AWS Summit Seoul 2023 | 통합을 통한 보안 간소화
 
2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온
 
랜섬웨어 vs 윈도우 10
랜섬웨어 vs 윈도우 10랜섬웨어 vs 윈도우 10
랜섬웨어 vs 윈도우 10
 
Mobile app security nov 2015
Mobile app security nov 2015 Mobile app security nov 2015
Mobile app security nov 2015
 
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
 
Openstack security(2018)
Openstack security(2018)Openstack security(2018)
Openstack security(2018)
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
Encrypted media extention
Encrypted media extentionEncrypted media extention
Encrypted media extention
 
[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비
[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비
[1D7]안드로이드 L-Preview 보안 아키텍처 및 설비
 

모바일 악성코드 분석 실무 요약(공개버전)_미완성 참고버전

  • 2. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 2
  • 3. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 3
  • 4. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 4 AndroidMenifest.xml (설치시 요청할 권한 내역) 권한 내용 ACCESS_WIFI_STATE WIFI 상태 접근 권한 CHANGE_WIFI_STATE WIFI 상태 변경(인터넷 권한) WAKE_LOCK 알람 WRITE_EXTERNAL_STORAGE 외부 저장장치에 쓰기 권한 READ_PHONE_STATE 폰 상태 관련 권한 SEND_SMS SMS 문자 보내기 권한 RECEIVE_SMS SMS 문자 수신 관련 권한 READ_CONTACTS 주소록 읽기 권한 WRITE_CONTACTS 주소록 쓰기 관련 권한 RECEIVE_BOOT_COMPLETED 부팅 완료 관련 권한 MODIFY_PHONE_STATE 폰상태 변경시 접근 권한 CALL_PHONE 전화 통화 권한 INSTALL_SHORTCUT 바로가기 버튼 생성 권한 UNINSTALL_SHORTCUT 바로가기 버튼 삭제 권한 RECEIVE_BOOT_COMPLETED 부팅 완료 관련 권한 RESTART_PACKAGES 특정 패키지 실행 종료 및 알림 권한 (API Level 8에서 제거된 권한) GET_TASKS 테스크 관련 권한 KILL_BACKGROUND_PROCESSES 백그라운드 프로세스 종료 권한 RESTART_PACKAGE와 차이점은 중요도에 따라 선별적 종료 SYSTEM_ALERT_WINDOW 시스템 알림창 표시등의 권한 READ_LOGS 로그 읽기 권한 VIBRATE 진동 관련 권한 MODIFY_AUDIO_SETTINGS 오디오 설정 변경 권한 INTERNET 인터넷 권한 ACCESS_NETWORK_STATE 네트워크 상태 접근 권한 서비스 기능 대비 과도한 권한을 요구할 경우 악성적인 기능의 존재 여부를 의심할 수 있음
  • 5. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 5 첫 시작 Activity로 분석 시작 클래스가 됨 SMS 수신시에 동작하는 코드(클래스) 폰 상태에 따라 대응하는 코드(클래스) 패키지 추가, 삭제시에 대응하는 코드 (클래스) cn.gx3.notify 인턴트 발생시 디바이스가 부팅됐다고 알려주는 메시지로 시스템에서만 보냄 디바이스 관리자 권한 획득시 처리 코드 ADMIN 권한 처리할 내용 정의 (화면잠금 권한)
  • 6. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 6 실행시 클래스의 시작지점 그 외 생성자 지점 분석 디바이스 관리자 권한 체크 및 강제 락걸기 악성행위 방해 금지를 위해서 차단시키고 아래 무한루프로 현 상황유지 (wipeData(0)는 모든 데이터 삭제 명령) CoreService 클래스 코드 실행 아이콘 숨기기 함수 인턴테를 통해서 추가 정보 설정 관리자 권한 획득 및 카카오톡으로 보이도록 설정 핸드폰 번호 가져옴 Activity 종료 함수 윈도우 프레임에 대한 타이틀 제거
  • 7. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 7 새로운 쓰레드를 생성시켜서 전화번호 특정 서버로 전달 인턴트 추가 등록. 다음과 같은 메시지 발생시 MyBroadcastReceiver()를 호출 등록 2011년에 나온 안드로이드 3.0으로 허니콤 버전 이상을 말함 안드로이드 3.0부터 네트워크 통신등을 쓰레드로 지원하는데 시간 지연등의 문제 발생시 이를 처리해 주기 위함 (이는 메인 쓰레드 성능 향상 등의 이유로 지원), 해당 쓰레드의 권한을 설정하는 코드임 새로운 설정값 등록 새로운 쓰레드 두개 실행. CoreService 핵심 동작
  • 8. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 8 전화번호 가져오기 가져온 전화번호 내용이 있다면 추가 쓰레드 생성시킴 무한 루프를 돌면서 해당 번호가 끝날때까지 실행시킴 전화번호와 IMSI(GSM/UMTS 유저) 값을 서버로 전달 아마도 IMSI 값을 기반으로 전화번호를 분류하기 위함인 것으로 판단 Config 클래스를 보면 관련 내용이 하드코딩되어 있음 SERVER_HOST = "http://kakapx.jetos.com"; SERVER_ADDRESS = "/kbs.php?m=Api&a="; 관련 내용 전달
  • 9. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 9 MyBroadcastReciver Class #1 CoreService 에서 등록한 인텐트 필터 정보가 수신되면 코드 동작 인자로 전달된 인텐트값 alert의 값을 받음 인텐트로 전달된 info 값을 받아서 URL로 저장 다운로드할 APK 값으로 저장(URL) 코드상 “#”을 구분으로 다운로드 이름, URL, 삭제패키지
  • 10. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 10 MyBroadcastReciver Class #2 Config에 등록된 은행 이름 길이만큼 무한루프 동작 다운로드 경로 및 다운받을 앱 이름으로 파일 다운로드 실행 다운로드 종료시 업데이트 알림 메시지로 해당 파일 설치 유도 다이얼로그 창 띄움. 설치 강제 유도 화면 BtnClick시 “app.download.complete” 인텐트 메시지 브로드캐스팅 BtnClick 날라온 인텐트 처리 로직, 패키지 삭제 명령 Config 클래스에 있던 은행명과 패키지명이 동일할 경우 아이콘 변수값 등록 App.auto.install 인텐트 메시지 수신시 autoChangeApk 호출 해당 메쏘드에서 apk 파일을 다운로드하고 설치 유도를 하는데, 위의 코드와 매우 유사함 (앱이 업데이트 되었을때를 대비한 코드로 판단됨)
  • 11. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 11 MyBroadcastReciver Class #2 Config에 등록된 은행 이름 길이만큼 무한루프 동작 다운로드 및 저장
  • 12. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 12 5초간 슬립 무한루프이므로, 약 120초마다 반복 실행되는 코드 패키지명을 읽어서 설치하고자 하는 악성앱이 없다면 설치 유도하는 메소드 Bank, upbank 배열 은행이 설치됐다면 관련 앱 패키지 정보 WIFI 모드라면, if 구문 내에서 수집한 정보를 인자값으로 포함하여 HTTP로 데이터 전달 SERVER_HOST = "http://kakapx.jetos.com"; //Config클래스 참조
  • 13. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 13 WIFI 모드가 아니면 아무것도 하지 않고, 속성값만 설정함. 아마도 안전한 WIFI 통신일때 데이터를 송신하도록 한 것으로 추정됨
  • 14. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 14 5초간 슬립 무한루프이므로, 약 120초마다 반복 실행되는 코드 패키지 관리자 권한 획득 설치된 패키지 정보 모두 가져오기 Iterator()로 처리하여 hasNext() 쉽게 사용할 수 있음 설치된 패키지가 하나도 없거나 마지막이라면~ 다음 패키지를 읽어서, 아래 플래그가 아닐때까지 루프돌면서 패키지 정보 저장 Flags 0x01 à FLAG_SYSTEM (시스템 이미지에 설치) Flags 0x80 à FLAG_PERSISTENT 검색된 패키지라벨 + # + 패키지이름 + | 은행명 배열 카운트만큼 동작 기 설치된 내역에 bank 패키명 존재여부 확인 upbank 배열 패키지명이 존재하는지 체크 autoChangeApk() 함수 호출시 1로 설정 즉, 설치된적 없음을 말함 앱 설치 인텐트 설정 및 브로드케스팅으로 전달 CoreService에서 해당 인텐트 필터를 등록했으며, MyBroadcastReceiver 클래스를 호출하도록 되어 있음 해당 클래스에서는 CoreService.autoChanageApk 메쏘드를 호출하도록 되어 있음 Config 클래스에 정의된 배열 정보
  • 15. 2. [사례1] 악성코드 분석 악성앱 코드 분석 © 2015 TigerTeamAcademy, Inc. All rights reserved. 15 2초 슬립 디컴파일된 소스코드 상으로는 모두 주석처리 상태로 동작되는 내용이 없음