1. 모바일(mobile) 보안의 중요성
- 모바일이란 ‘고정되어 있지 않고, 이동하기 쉬운’이란 사전적 의미로 오늘날 정보통신 분야에서는 이동성을 가진 휴대용 통신을 통칭하여 모바일이라고 부름.
- 모바일의 대표는 ‘손 안의 PC’로 불리는 스마트폰으로 현재 우리나라 성인 인구 4천1백만여 명 중 83%인 3천4백만여 명이 스마트폰을 보유하고 있음.
스마트폰 보급률은 아랍에미리트(90.8%), 싱가포르(87.7%), 사우디아라비아(86.1%)에 이어
세계 4위(KT경제경영연구소 '2015년 상반기 모바일 트렌드' 보고서)에 이르고 있음.
- 스마트폰이 개인과 기업에서 활용도가 높아지면서 스마트폰에 대한 보안이 주요 이슈로 부각되고 있음.
스마트폰은 24시간 인터넷과 연결되어 있는 특성과 휴대성으로 새로운 보안 위협에 항상 노출되어 있음.
- 애플리케이션을 설치, 파일을 다운로드한 경우에는 반드시 악성코드 검사를 할 것.
- 이메일이나 문자 메시지에 있는 URL은 신중하게 클릭 할 것.
- 신뢰할 수 없는 사이트는 방문하지 않기
- OS, 백신을 최신 버전으로 유지 할 것.
- 스마트폰의 잠금 기능[암호 설정]을 이용해서 다른 사용자의 접근을 막을 것.
- OS, 백신을 최신 버전으로 유지 할 것.
- 스마트폰의 잠금 기능[암호 설정]을 이용해서 다른 사용자의 접근을 막을 것.
- 비밀번호를 수시로 변경할 것.
- 블루투스 기능을 켜놓으면 자동 감염될 수 있으므로 필요할 때만 켜놓을 것.
- 백업을 주기적으로 받아서 분실 시 정보의 공백이 생기지 않도록 할 것.
- 블루투스 기능을 켜놓으면 자동 감염될 수 있으므로 필요할 때만 켜놓을 것.
- 백업을 주기적으로 받아서 분실 시 정보의 공백이 생기지 않도록 할 것.
- 루팅, 탈옥 하지 말 것.
3. 모바일 보안 위협요소 분류
3. 모바일 보안 위협요소 분류
- 모바일 단말 자체에 대한 위협(디바이스), 무선 네트워크, 모바일 운영체제(플랫폼), 애플리케이션 영역.
- 디바이스: 이동 저장매체 감염, 분실 및 도난, 데이터 노출.
4. 모바일 보안 위협요소에 대한 대응 방법
- 디바이스: MDM, HW보안토큰(보안 SD카드), HSM(HW전용 보안 모듈)
- 네트워크: MDM, IPSec, W-IPS, SSL
- 플랫폼: MDM, 모바일 VPN, PKI, 모바일 가상화, HW 기반 TPM(Trusted Platform Module) 보안 기술
- 애플리케이션: MDM, 안티바이러스, 방화벽, 모바일 NAC, w-PKI, 키보드 보안, 코드 난독화, 코드 서명, 바이너리 디컴파일 방지 및 암호화, 해시검증
5. MDM ( Mobile Device Management)
- 네트워크: 데이터 스니핑 및 변조, WiFi 해킹, DDoS 공격, 음성 도청 및 감청, 비인가 AP, 모바일 VoIP에서의 스니핑.
- 플랫폼: 스마트폰과 PC 연결을 통한 악성코드 전파 및 접근, 외장 메모리를 이용한 악성코드 전파, 루팅, 탈옥, OS 보안 취약점.
- 애플리케이션: 악성프로그램 유포, GPS를 통한 위치 정보 노출, 이메일을 통한 악성코드 첨부 및 스팸 메일 발송, 웹 사이트를 통한 피싱 및 악성코드 다운로드,
개인정보 노출, 장치이용 제한, 부정 과금 유발, IoT 연결기기에 대한 컨트롤 장악, 공개된 Exploit 공격, 패스워드 크랙, 애플리케이션 취약점을 이용한 악용.
- 위 시나리오처럼 스마트폰을 기반으로 한 앱 서비스의 경우,
디바이스 및 OS, 플랫폼 기술과 전통적 네트워크(Network, N/W) 및 IT 웹 보안 영역의 위협에 함께 노출되어 있음.
- 2015년 OWASP2에서 보고한 모바일 Top10 Risks를 보면 모바일 앱 관련한 1) APK Binary의 보안 취약점(M10: Lack Of Binary Protection)과
2) N/W 단의 보안 취약점(M3: 부족한 Transport Layer Protection: TLS, SSL)도 높은 수준으로 보고되고 있는 것을 알수 있음.
- 안드로이드 애플리케이션 공격위협 상세
① 단말 내 인증 및 암호화 키 노출 : 앱 분석 및 역컴파일 등을 통해 중요한 인증 및 암호 키 노출 및 절취. 대칭키 암호, DeviceID, 인증 PW 등이 노출됨
② 루팅 등 무결성 훼손 : 루팅 폰에서 앱 구동시 데이터 처리 로직 및 서버 정보등 비인가 정보 접근 가능
③ APK 추출 및 Decomplie : APK 추출 후 DEX Decompile 및 Diassemble, Debug mode 동적 및 정적 분석을 통한 취약점 파악.
서비스의 중요 정보 및 개인 정보 노출 가능, 타사 서비스의 리버스 엔지니어링으로 기술 분석.
④ 정적, 동적 분석(연계 SDK, API, 3rd party lib) : 제공 단말 SDK, API 실행 분석, 공개 API 입수 통한 단말 처리정보 유출 가능성 존재.
메모리 덤프, 디버깅, 역 어샘블 등으로 해킹 수행. 제 3자에게 제공받은 library 분석을 을 통해 서비스 범위 및 정보 수집 동작 파악.
⑤ APP 위조, 변조 recompile : 코드, 행위 분석 후 주요 정보에 대한 유출, 코드 Injection을 하여 타인의 정보 노출 가능.
- 모바일 서비스 앱 공격 과정
① 앱 분석 및 위•변조: 단말 내 인증 및 암호화 키 노출, 필요시 직접 우회 등의 공격을 함.
② 스마트폰 감염: 루팅 및 무결성 훼손하여 OS 침입
③ 해킹 대상 APK 추출 및 디컴파일 수행
④ 원본 앱 정적 및 동적 분석 수행
⑤ 공격 목적에 맞춰 APP 위변조 후 재컴파일 후 공격 또는 배포
- 일련의 분석 과정을 통해 디버깅 활성화 및 코드 인젝션, 플래그 변조 등, 원래의 앱의 공작을 비활성화시키고 의도하는 기능을 동작시키는 것이 가능함.
최종 해킹된 앱을 재패키징하여 공격 대상자에게 배포 후 정보나 서비스 수집을 수행할 수 있음.
- 플랫폼(OS) 루팅으로 인한 위협
① OS 보안 정책과 기술이 루팅을 통해 무력화되고, APK 추출 및 디컴파일(타사 기술 유출), 정적 및 동적 분석(계정, 인증 정보 탈취, 키 유출, 개인 정보 등 노출),
APP 위•변조 및 재컴파일(API 분석으로 개인 및 서비스 정보 노출)이 가능해짐.
② 샌드박싱: APP 보호영역(데이터 및 설정) 접근 가능 해짐
③ 키체인 : 암호화키, 인증서 저장공간, OS 보안 무력화
④ 인증서: 전자서명 암호화 및 복호화 서비스 접근
⑤ 코드서명: APP 전자서명 확인 및 우회
⑥ APP 배포 및 설치 동의: 사용자 동의 없는 앱 배포 및 설치 가능
- 안드로이드 실행환경 변화로 인한 취약점
① 안드로이드 5.0 부터 적용되는 실행환경(Dalvik -> ART) 변화는 보안성 보다는 성능개선에 주된 목적을 가짐.
② 4.4버전 까지는 Dalvik을 사용하여 앱이 설치될때 설치 파일(APK) 내 존재하는 실행코드(Dex)가 Dalvik 가상머신이 해독할 수 있는
기계어 코드(Odex,Optimized Dex)로 변환되며 앱이 실행될 때마다 네이티브 코드로 변환되어 실행됨.
Dalvik 가상머신에 의해 변환 과정을 한번 더 거치게 되므로 실행 속도 및 운영체제 자원의 점유 등 성능상의 문제를 가짐.
③ 5.0 버전부터는 앱 설치시 곧바로 Dalvik 코드를 네이티브 코드로 변환하여 설치하는데, 속도, 배터리 효율성 등 성능면에서 좋음.
④ 디버깅(동적분석) ART 환경에서는 Dalvik 코드가 아닌 네이티브 코드가 변환되어 직접 실행되기 때문에
네이티브 코드를 디버깅 할 수 있는 GDB를 이용한 동적분석이 가능함
디버깅을 통해 프로그램 실행 중 데이타를 조작하거나, 검사로직을 우회하는 등 비정상적인 프로그램 실행이 이루어질 수 있음.
⑤ 기존 Dalvik 환경에서는 재컴파일 하는 과정에서 난독화, 앱 위변조 방지 기능이 적용되어 있는 경우 디버깅이 어려움.
그러나 ART 환경에서는 앱 난독화, 앱 위변조 방지 기능이 적용되어있더라도 재컴파일 과정이 필요 없기 때문에 기존 Dalvik 환경에서 존재하던 제약이 사라짐.
다만, 코드 분석 난이도는 네이티브 디버깅용 코드가 Dalvik 디버깅용코드 보다는 상대적으로 어려움.
⑥ 프로그램 분석을 방해하기 위해 안티디버깅(Anti-Debugging) 코드와같은 디버깅 방지기법 적용·강화가 필요함
스마트폰 앱 위협 시나리오 (출처: LG CNS) |
디바이스 및 OS, 플랫폼 기술과 전통적 네트워크(Network, N/W) 및 IT 웹 보안 영역의 위협에 함께 노출되어 있음.
- 2015년 OWASP2에서 보고한 모바일 Top10 Risks를 보면 모바일 앱 관련한 1) APK Binary의 보안 취약점(M10: Lack Of Binary Protection)과
2) N/W 단의 보안 취약점(M3: 부족한 Transport Layer Protection: TLS, SSL)도 높은 수준으로 보고되고 있는 것을 알수 있음.
- 안드로이드 애플리케이션 공격위협 상세
① 단말 내 인증 및 암호화 키 노출 : 앱 분석 및 역컴파일 등을 통해 중요한 인증 및 암호 키 노출 및 절취. 대칭키 암호, DeviceID, 인증 PW 등이 노출됨
② 루팅 등 무결성 훼손 : 루팅 폰에서 앱 구동시 데이터 처리 로직 및 서버 정보등 비인가 정보 접근 가능
③ APK 추출 및 Decomplie : APK 추출 후 DEX Decompile 및 Diassemble, Debug mode 동적 및 정적 분석을 통한 취약점 파악.
서비스의 중요 정보 및 개인 정보 노출 가능, 타사 서비스의 리버스 엔지니어링으로 기술 분석.
④ 정적, 동적 분석(연계 SDK, API, 3rd party lib) : 제공 단말 SDK, API 실행 분석, 공개 API 입수 통한 단말 처리정보 유출 가능성 존재.
메모리 덤프, 디버깅, 역 어샘블 등으로 해킹 수행. 제 3자에게 제공받은 library 분석을 을 통해 서비스 범위 및 정보 수집 동작 파악.
⑤ APP 위조, 변조 recompile : 코드, 행위 분석 후 주요 정보에 대한 유출, 코드 Injection을 하여 타인의 정보 노출 가능.
- 모바일 서비스 앱 공격 과정
① 앱 분석 및 위•변조: 단말 내 인증 및 암호화 키 노출, 필요시 직접 우회 등의 공격을 함.
② 스마트폰 감염: 루팅 및 무결성 훼손하여 OS 침입
③ 해킹 대상 APK 추출 및 디컴파일 수행
④ 원본 앱 정적 및 동적 분석 수행
⑤ 공격 목적에 맞춰 APP 위변조 후 재컴파일 후 공격 또는 배포
- 일련의 분석 과정을 통해 디버깅 활성화 및 코드 인젝션, 플래그 변조 등, 원래의 앱의 공작을 비활성화시키고 의도하는 기능을 동작시키는 것이 가능함.
최종 해킹된 앱을 재패키징하여 공격 대상자에게 배포 후 정보나 서비스 수집을 수행할 수 있음.
- 플랫폼(OS) 루팅으로 인한 위협
① OS 보안 정책과 기술이 루팅을 통해 무력화되고, APK 추출 및 디컴파일(타사 기술 유출), 정적 및 동적 분석(계정, 인증 정보 탈취, 키 유출, 개인 정보 등 노출),
APP 위•변조 및 재컴파일(API 분석으로 개인 및 서비스 정보 노출)이 가능해짐.
② 샌드박싱: APP 보호영역(데이터 및 설정) 접근 가능 해짐
③ 키체인 : 암호화키, 인증서 저장공간, OS 보안 무력화
④ 인증서: 전자서명 암호화 및 복호화 서비스 접근
⑤ 코드서명: APP 전자서명 확인 및 우회
⑥ APP 배포 및 설치 동의: 사용자 동의 없는 앱 배포 및 설치 가능
- 안드로이드 실행환경 변화로 인한 취약점
① 안드로이드 5.0 부터 적용되는 실행환경(Dalvik -> ART) 변화는 보안성 보다는 성능개선에 주된 목적을 가짐.
② 4.4버전 까지는 Dalvik을 사용하여 앱이 설치될때 설치 파일(APK) 내 존재하는 실행코드(Dex)가 Dalvik 가상머신이 해독할 수 있는
기계어 코드(Odex,Optimized Dex)로 변환되며 앱이 실행될 때마다 네이티브 코드로 변환되어 실행됨.
Dalvik 가상머신에 의해 변환 과정을 한번 더 거치게 되므로 실행 속도 및 운영체제 자원의 점유 등 성능상의 문제를 가짐.
③ 5.0 버전부터는 앱 설치시 곧바로 Dalvik 코드를 네이티브 코드로 변환하여 설치하는데, 속도, 배터리 효율성 등 성능면에서 좋음.
④ 디버깅(동적분석) ART 환경에서는 Dalvik 코드가 아닌 네이티브 코드가 변환되어 직접 실행되기 때문에
네이티브 코드를 디버깅 할 수 있는 GDB를 이용한 동적분석이 가능함
디버깅을 통해 프로그램 실행 중 데이타를 조작하거나, 검사로직을 우회하는 등 비정상적인 프로그램 실행이 이루어질 수 있음.
⑤ 기존 Dalvik 환경에서는 재컴파일 하는 과정에서 난독화, 앱 위변조 방지 기능이 적용되어 있는 경우 디버깅이 어려움.
그러나 ART 환경에서는 앱 난독화, 앱 위변조 방지 기능이 적용되어있더라도 재컴파일 과정이 필요 없기 때문에 기존 Dalvik 환경에서 존재하던 제약이 사라짐.
다만, 코드 분석 난이도는 네이티브 디버깅용 코드가 Dalvik 디버깅용코드 보다는 상대적으로 어려움.
⑥ 프로그램 분석을 방해하기 위해 안티디버깅(Anti-Debugging) 코드와같은 디버깅 방지기법 적용·강화가 필요함
4. 모바일 보안 위협요소에 대한 대응 방법
- 디바이스: MDM, HW보안토큰(보안 SD카드), HSM(HW전용 보안 모듈)
- 네트워크: MDM, IPSec, W-IPS, SSL
- 플랫폼: MDM, 모바일 VPN, PKI, 모바일 가상화, HW 기반 TPM(Trusted Platform Module) 보안 기술
- 애플리케이션: MDM, 안티바이러스, 방화벽, 모바일 NAC, w-PKI, 키보드 보안, 코드 난독화, 코드 서명, 바이너리 디컴파일 방지 및 암호화, 해시검증
5. MDM ( Mobile Device Management)
- 초기 MDM은 통신사가 사용자 단말기에 대한 부분적인 관리자 권한을 가지고 있으면서 단말기의 분실 등의 문제가 발생되었을 경우
원격으로 단말기의 데이터의 삭제, 잠금설정 등의 처리를 도와주기 위해서 OS단에서 제공해주는 (Google, Apple 등의 OS제조사) API를 이용한 앱이었지만
최근 모바일 기기 활용이 증가하면서 보안이슈가 대두 되었고, MDM은 각 회사의 모바일 보안과 관련해서 중요한 기능으로 자리잡게 됨.
- 정의: MDM 소프트웨어는 스마트폰과 태블릿PC의
환경 설정, 보안, 모니터링, 데이터 삭제 등을 할 수 있도록 해주는 모바일 장치 관리 솔루션.
- MDM 어플마다 지원하는 기능이 다를 수 있으며, 조직 및 부서 마다 존재하는 서로다른 IT 보안 정책을 반영하여 만듦.
- 주요 관리영역은 보안관리, Application관리, HW관리로 구분됨.
- 분실 도난: 원격 잠금, 데이터 삭제, 단말 위치 조회
- 기능 제어: 카메라, Wi-Fi, 블루투스 등 제어, 화면 잠금, 테더링 제어
- 보안 강화: 루팅 탐지, 패스워드 설정 제어
- 어플 관리: 앱 설치, 모니터링 및 실행 제어
- MDM 설치 단말기과 MDM 서버는 HTTPS를 통해 암호화된 형태로 통신하며, DMZ를 통해 단말기와 서버가 존재하는 내부망을 분리하여
주요 서버에 대한 보안 위험을 최소화 할 수 있음.
6. 코드 난독화: Proguard & Dexguard
- 치환, 더미 코드 추가, fake flow 삽입 등을 통해 읽기 어렵게 하는 것.
- DexGuard 솔루션: Android 어플리케이션의 소스코드 난독화를 통해 어플리케이션의 바이너리 주요 정보를 보호하여 해킹, 리버스 엔지니어링, 디컴파일 등을
방지하여 소스코드 접근과 어플리케이션의 위변조를 막음.
- ProGuard: 전체 코드에서 사용되지 않는 코드를 찾아 지워서 코드의 크기를 줄이고 최적화하며, 클래스, 필드, 메소드등의 이름을 축약,
난독화하여 크래커의 공격으로 부터 코드를 안전하게 지켜주는 툴.
7. 네트워크 위협 대응
- 송•수신 데이터 보안은 SSL, TLS 등을 적용하더라도 중간자 공격(Man In The Middle)에 취약하므로,
중요 핵심 데이터•보안 인증•암호 키 처리에 대해서는 추가적인 암호화 적용이 필요함.
- 웹 서버 공격에 대한 기술적 대응(파라미터 위•변조 및 XSS 대응) 등 기존의 IT 보안의 웹 서비스 보안 또한 동일하게 필요함.
8. TPM(Trusted Platform Module)
- 현존하는 대응 기술로는 디바이스 및 OS의 제약으로 완벽한 보안 통제 및 실행 환경을 제공하기 어려워 최근 주목 받는 기술
- 전자 금융거래용 인증서, 기기 및 생체 인증을 수행하는 인증 식별 ID 및 Key 정보등을 안전하게 관리하기위해 HW 기반(Trust Zone, USIM 등)의 보안 기술.
- 현재 Mobile Pay에서는 TPM 등을 연계한 Secure Boot, SE Linux, SE Android 기술과 연계 적용하여,
디바이스 및 플랫폼 전반에 걸쳐 안전한 실행환경 제공과 동시에 무결성 검증을 제공하려 노력함.
- 무결성이 훼손되는 경우 단말 및 서비스의 차단이 이루어지도록 보안이 적용 및 관리되고 있음.
- 예: ARM Core에서 제공하는 TrustZone 기술은 별도의 하드웨어 구성이 필요 없고 대부분의 안드로이드 ARM 기반의 AP에서 동작.
LG에서 준비되는 LG Pay는 하드웨어 기반의 스마트카드 보안 기술이 함께 접목 될 예정.
6. 코드 난독화: Proguard & Dexguard
- 치환, 더미 코드 추가, fake flow 삽입 등을 통해 읽기 어렵게 하는 것.
- DexGuard 솔루션: Android 어플리케이션의 소스코드 난독화를 통해 어플리케이션의 바이너리 주요 정보를 보호하여 해킹, 리버스 엔지니어링, 디컴파일 등을
방지하여 소스코드 접근과 어플리케이션의 위변조를 막음.
- ProGuard: 전체 코드에서 사용되지 않는 코드를 찾아 지워서 코드의 크기를 줄이고 최적화하며, 클래스, 필드, 메소드등의 이름을 축약,
난독화하여 크래커의 공격으로 부터 코드를 안전하게 지켜주는 툴.
7. 네트워크 위협 대응
- 송•수신 데이터 보안은 SSL, TLS 등을 적용하더라도 중간자 공격(Man In The Middle)에 취약하므로,
중요 핵심 데이터•보안 인증•암호 키 처리에 대해서는 추가적인 암호화 적용이 필요함.
- 웹 서버 공격에 대한 기술적 대응(파라미터 위•변조 및 XSS 대응) 등 기존의 IT 보안의 웹 서비스 보안 또한 동일하게 필요함.
8. TPM(Trusted Platform Module)
- 현존하는 대응 기술로는 디바이스 및 OS의 제약으로 완벽한 보안 통제 및 실행 환경을 제공하기 어려워 최근 주목 받는 기술
- 전자 금융거래용 인증서, 기기 및 생체 인증을 수행하는 인증 식별 ID 및 Key 정보등을 안전하게 관리하기위해 HW 기반(Trust Zone, USIM 등)의 보안 기술.
- 현재 Mobile Pay에서는 TPM 등을 연계한 Secure Boot, SE Linux, SE Android 기술과 연계 적용하여,
디바이스 및 플랫폼 전반에 걸쳐 안전한 실행환경 제공과 동시에 무결성 검증을 제공하려 노력함.
- 무결성이 훼손되는 경우 단말 및 서비스의 차단이 이루어지도록 보안이 적용 및 관리되고 있음.
- 예: ARM Core에서 제공하는 TrustZone 기술은 별도의 하드웨어 구성이 필요 없고 대부분의 안드로이드 ARM 기반의 AP에서 동작.
LG에서 준비되는 LG Pay는 하드웨어 기반의 스마트카드 보안 기술이 함께 접목 될 예정.
9. 모바일 가상화
- MDM은 기업을 대상으로 운영되므로 개인이 사용하기에는 무리가 있음.
- 모바일 가상화는 안드로이드 OS의 개인 스마트폰에서 회사의 업무를 할 때 사용하는 솔루션을 사용하게 하기 위해
가상화 통한 또 다른 보안 솔루션이 적용된 안드로이드 OS를 사용함.
사용자는 그 보안이 적용된 안드로이드 OS를 사용해 회사 일을 함으로써 기존 환경에 영향없이 업무를 함.
업무용 환경에 다양한 보안 솔루션을 적용한다고 해도 개인용 환경에는 영향을 주지 않음.
- 모바일 가상화는 개인과 업무 영역으로 명확하게 분리하여 상호 간섭을 없앤것이 장점 이지만, 하나의 단말기에서 2개의 OS가 실행되어 자원이 많이 소모됨.
즉, 단말기의 성능이 떨어지게 됨.
- 위의 문제를 해결하는 것이 클라우드 모바일 가상화 임.
클라우드 환경에서 디바이스가 네트워크를 통해 원격지의 가상화된 공간에 접속하여 업무를 하는 것이므로 HW의 부담이 없어짐.
단점은 네트워크 연결 상태에 따라 품질이 달라짐.
* 출처
- http://blog.lgcns.com/1106
- http://blog.lgcns.com/1106
- http://blog.lgcns.com/1116
- 2016.01 금융보안원 안드로이드 실행환경 변화에 따른 보안 위협 분석.pdf
- 2016.01 금융보안원 안드로이드 실행환경 변화에 따른 보안 위협 분석.pdf
- http://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?seq=16012
- http://www.fkii.org/upload/files/2014/swbiz/pt/b7.pdf (MDM 설명)
댓글 없음:
댓글 쓰기