안드로이드스마트폰 보안위협및대응방안 · 안드로이드구조 각종드라이버...

21
0 ㈜쉬프트웍스 홍동철 개발 팀장 안드로이드 스마트 폰 보안 위협 및 대응방안

Upload: others

Post on 23-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

0

㈜쉬프트웍스

홍동철 개발 팀장

안드로이드 스마트 폰

보안 위 및 응방안

1

목 차

1. 안드로이드의 소개

2. 안드로이드의 권한

3. 악성 어플리 이션의 위험

4. 주소록 탈취 악성코드

5. 피싱 악성코드

6. 응방안

2

1. 안드로이드 소개

• 구글에서 만든 휴대전화 중심의 운영체제

• 오픈 소스 플랫폼으로 누구나 원한다면 안드로이드의 소스를 볼 수

있어서 보안에 대한 우려가 많음

http://android.git.kernel.org/ 에서 안드로이드의 소스를 다운받아

볼 수 있음

1.1 안드로이드란?1.1 안드로이드란?

3

2. 안드로이드 소개

• 리눅스(Linux) 운영체제 기반

- 리눅스 커널을 이용하여 운영체제가 구성

- 리눅스와 같은 형식의 권한 구조

• 달빅 가상 머신(Dalvik VM)

- 안드로이드의 어플리케이션은 대부분 JAVA 기반의 언어로 구성

- 달빅 가상머신은 안드로이드에서의 실행파일 수행을 위한 가상머신

• 실행파일은 .apk 확장자

- 실행파일 내부에는 달빅 머신이 실행할 수 있는 .dex 확장자와 리소스 그리고 라

이브러리 파일인 so파일이 존재

- 안드로이드의 어플리케이션은 apk파일로 실행되고 설치됨.

1.2 특징1.2 특징

4

2. 안드로이드 소개

Dalvic 가상 신에서 Apk 파 실행

안드로 드 구조

각종 드라 버Driver

전원관리

libc WebKit SQL Lite Dalvic 가상 신

Setting Contact각종 관리

어플리케 션

사 어플리케 션

1.3 구조1.3 구조

5

2. 안드로이드의 권한

android sdk에서 adb shell 명령어를 통해서 내부구조를 살펴 볼 수 있음

2.1 일 시스템의 구조2.1 일 시스템의 구조

6

2. 안드로이드 권한 2.2 토리 구성2.2 토리 구성

디렉토리 용도

/data 사용자 어플리케이션이 저장되는 장소

/data/app/ 사용자 어플리케이션이 설치된 장소

/data/data/패키지이름/ 해당 어플리케이션의 라이브러리나 데이터베이스가

저장되는 장소

/system 관리 어플리케이션이 저장되는 장소

/sdcard 외부 저장 장소인 SD카드

7

2. 안드로이드 권한

• 리눅스 운영체제로 타 어플리케이션이나 내부 시스템에 접근하지

못하도록 되어 있음

2.3 Sandbox2.3 Sandbox

/data/app : 타 사 는 기만 가능

/data/data/패키지 : app_24라는 사 로 타 사 는 실행만 가능

/data/data/패키지 /databases/ 타 사 는 아무 권한 없

8

3. 악성 어플리 이션의 위험

• 개발 시 주소록, SMS와 같은 정보는 다루어야 함

• 해당 어플리케이션에 권한을 주는 방법으로 접근 가능

• 안드로이드의 AndroidManifest.xml 에 아래와 같이 권한을 부여

• 권한 부여가 없다면 관련 작동을 사용할 수 없게 설계되어 있음

• 권한관련 상세 문서는 개발자 사이트에서 볼 수 있음

http://developer.android.com/reference/android/Manifest.permission.html

3.1 어플리 이션의 권한 설3.1 어플리 이션의 권한 설

인터넷과 주소록을 읽을 수 있는 권한

9

3. 악성 어플리 이션의 위험

• 설치 시에 권한 정보를 보여주고 있음

• 일반 설치 시에 보여주는 권한 정보를 통해

서 사용자에게 해당 프로그램을 설치할 것

인지의 여부를 확인

• 문제점은 일반 사용자가 설치 시에 권한을

전부 살펴보고 설치하기는 어려움

• 휴대폰의 관리 프로그램에서의 설치가 아닌

adb와 같은 프로그램을 이용한 설치에서는

권한정보를 볼 수 없음

3.2 어플리 이션 설치시의 취약3.2 어플리 이션 설치시의 취약

10

3. 악성 어플리 이션의 위험

• 사용자가 모르게 휴대폰 내의 주소록이나 SMS, 휴대폰 정보, 사용

자의 위치정보 등을 탈취 가능

• 주소록이나 SMS정보의 조작 및 삭제 가능

• 피싱을 통한 비밀번호 탈취

- 얼마 전에 최초로 공개된 droid09 악성코드는 은행 어플리케이션

인 것처럼 속이고 사용자의 비밀번호를 탈취했음

- 얼마든지 은행 어플리케이션과 똑같이 만들어 내고 배포 할 수 있

는 위험이 있음

3.3 공격 가능한 악성코드 종류3.3 공격 가능한 악성코드 종류

11

3. 악성 어플리 이션의 위험

다운로드 후에 악성코드를 설치하게 되는 형식

1) 안드로이드 마켓

2) SMS : 악성코드 프로그램 URL을 링크

3) MMS : 링크 및 파일 첨부

4) 웹 브라우저 : 다운로드

그 외에 악성코드 파일을 받아서 설치하는 경우

3.4 악성코드의 경로3.4 악성코드의 경로

12

4. 주소록 탈취 악성코드

• 직접 제작한 간단한 악성코드 예제를 통해 위험 설명

• 사용자의 주소록을 탈취하여 타 서버로 전송하고 저장하는 어플리케이션

• 피싱 설명과 함께 ID와 패스워드 정보를 타 서버로 전송 저장

4.1 보 장 서버 실행4.1 보 장 서버 실행

java kr.co.shiftworks.contact.ContactServer

악성 어플리케이션으로부터 주소록 정보와 로그인 정보를 저장 받는 서버를 실행

java kr.co.shiftworks.contact.PhsingServer

13

4. 주소록 탈취 악성코드 4.2 자 메시지를 통한4.2 자 메시지를 통한

14

4. 주소록 탈취 악성코드 4.3 악성코드 설치 및 실행4.3 악성코드 설치 및 실행

15

4. 주소록 탈취 악성코드

• 해당 악성코드는 로그인 프로그램처럼 보이지만 실행과 동시에 사용자의

개인 정보를 탈취하는 코드를 가지고 있음

• 프로그램을 실행하는 순간 주소록 정보가 타 서버로 전송되어 저장됨

4.4 주소록 보 확인4.4 주소록 보 확인

16

5. 피싱 악성코드

• 이 프로그램의 디자인을 은행의 어

플리케이션과 동일하게 만든다면 사

용자의 ID와 암호를 탈취 가능

• 로그인 버튼을 누르면 임의의 서버

로 E-Mail과 Password 정보가 전송

5.1 피싱 악성코드 실행5.1 피싱 악성코드 실행

17

5. 피싱 악성코드 5.2 송된 보 확인5.2 송된 보 확인

18

6. 응방안

• 스마트폰은 전화 기능이 있는 작은 컴퓨터와 같으므로 사용자가 악

성 어플리케이션과 안전한 어플리케이션을 분리하여 관리하여야

• 백신과 같은 보안 어플리케이션을 설치하여 관리

19

6. 응방안

• 발견된 악성코드를 탐지

• 실행파일 분석을 통해 위험성이 있는 어플리케이션을 탐지

• 위험성 있는 어플리케이션 중 안전한 어플리케이션은 탐지하지 않음

6.1 VGuard for Android 6.1 VGuard for Android

20

감사합니다.

http://shiftworks.co.krhttp://vguard.co.kr

TEL. [email protected]