본문 바로가기
📋3-2/📌정보보안

[정보 보안] 정보 보안 개론 2장 08. 모바일 보안

by 빛나고요 2021. 10. 16.
BIG

[1] 모바일 운영체제 보안

: 모바일 기기의 운영체제는 일반 PC의 운영체제와 기본적으로 같으며, 취약점도 거의 유사함.

 

(1) 모바일 운영체제의 역사

  • 2007년 아이폰의 첫 번째 버전인 아이폰 오리지널의 운영체제는 맥북의 운영체제를 모바일로 바꾼 OS X
  • 2008년 3월 6일 아이폰 SDK의 첫 베타 버전이 배포
  • SDK 발표 이후에 iPhone OS로 명명되었다가 2010년 6월 iOS4 발표와 함께 iOS로 변경
  • 안드로이드 1.1 버전은 아이폰 오리지널을 딴 코드네임을 가진 최초의 버전
  • 구글은 2009년 4월을 기점으로 이후에 출시한 안드로이드 버전에 디저트 이름을 붙여서 공개

1) 모바일 운영체제의 종류

팜 OS - 1996년에 개발
- 주소, 달력, 메모장, 할 일 목록, 계산기, 개인 정보를 숨기기 위한 간단한 보안 툴 포함
윈도우 CE - 1996년에 윈도우 CE 1.0으로 출시
- PDA(개인 정보 단말기)나 모바일 장치 등에 사용하기 위해 개발
- 1MB이하의 메모리에서도 동작이 가능
블랙베리 OS - 2000년에 처음으로 명칭 사용
- RIM이 개발
- 메시지와 이메일 전송 기능 및 보안에 초점을 둠
iOS - 2007년에 아이폰 오리지널의 운영체제를 시작으로 계속 업데이트
- 애플의 아이폰과 아이패드에 사용
안드로이드 - 2007년 11월 구글 폰인 HTC Dream에 안드로이드 1.0이 탑재된 것이 시초
- 구글과 이동 통신 관련 회사 연합체가 개발한 개방형 모바일 운영체제

 

(2) iOS의 보안 체계

  • iOS는 맥 OS인 OS X의 모바일 버전으로 시작함
  • iOS의 원래 틀은 유닉스라고 생각할 수 있음
  • iOS의 보안에 대한 기본적인 통제권은 애플이 소유하며, 완전한 통제를 위해 보안 모델에 4가지 시스템 보안 체계를 갖춤

1) iOS의 보안 모델

정보보안개론(한빛아카데미, 양대일)

2) iOS의 4가지 보안 체계

① 안전한 부팅 절차 확보

: iOS를 사용하는 모바일 기기에서 모든 소프트웨어는 애플 암호화 로직의 서명된 방식에 의해 무결성이 확인된 후에만 동작함

 

② 시스템 소프트웨어 개인화

: 애플은 보안 문제에 즉시 대응할 수 있도록 아이튠즈를 통해 소프트웨어를 일괄로 배포하고 각각 고유한 코드 값으로 버전을 관리함

 

③ 응용 프로그램에 대한 서명

: iOS에 설치되는 모든 앱에 대해 코드 무결성 사인(앱의 코드 무결성 사인이 등록한 것과 다른 경우 설치 불가능)을 등록하고 설치한 앱에 문제가 있을 경우 강제로 삭제가 가능함.

 

④ 샌드박스 활용

: 사용자 앱은 앱 간에 데이털르 주고 받을 수 없으며 시스템 파일에 접근할 수 없기 때문에 애플이 만든 앱이 아닌 사용자 앱인 경우 샌드박스를 적용하여 독립적으로 실행

 

- 애플은 이 외에도 아래 2가지 사항을 통제하고 있음 -

 

⑤ 멀티태스킹 금지

: 악성 코드가 iOS에서 활동하는 것을 막기위해 음악 듣기 외에는 멀티태스킹 금지

 

⑥ 원격지에서 iOS 로그인 금지

: 유닉스에 바탕을 두고 있으므로 일반 유닉스처럼 SSH 서버를 실행할 수 있고 로컬 또는 원격지에서 SSH 서버에 로그인할 수 있으며, 단순한 파일 전송 기능 이외에는 명령 입력이 가능한 응용 프로그램을 허용하지 않음

 

(3) iOS의 취약점

  • 외부 해커가 접근할 수 있는 방법이 제한적임
  • 보안상 문제점은 대부분 탈옥한 iOS 기기에서 발생함(탈옥한 iOS 기기로는 iOS의 시스템 파일에 접근할 수 있음)
  • iOS를 탈옥할 때 반드시 적용해야 할 보안사항은 기본 패스워드를 변경하는 것

 

(4) 안드로이드의 보안 체계

  • 리눅스 커널(2.6.25)을 기반으로 하는 모바일 운영체제
  • 구글은 애플의 폐쇄적인 정책과 달리 공개적인 프로그램 개발을 추구함

1) 안드로이드의 3가지 보안 체계

① 응용 프로그램의 권한 관리

: 안드로이드에 설치된 모든 응용 프로그램은 일반 사용자 권한으로 실행하며 사용자의 데이터에 접근할 때 모든 사항을 명시하고 사용자 동의를 받고 설치 시 자신의 고유한 사용자 아이디를 할당 받아서 동작함

 

② 응용 프로그램의 서명

: 설치되는 응용 프로그램에 대해 개발자가 서명을 실시함

 

③ 샌드박스 활용

: 샌드박스 프로세스 내부에서 실행하며 특정 형태를 갖추어 권한을 요청하는 것을 허용함

 

(5) 안드로이드의 취약점

  • 사용자가 보안 수준을 선택할 수 있어서 iOS보다 자유로움
  • 앱 마켓도 다양하기 때문에 각종 바이러스와 악성 코드가 유포되며 그에 따른 백신도 보급함
  • 자유로운 개발과 변경이 가능하지만 iOS에 비해 보안이 취약함
  • iOS의 탈옥과 비슷한 개념으로 안드로이드에서는 루팅(안드로이드 운영체제 상에서 최상위 루트 권한을 얻어 해당 기기에 걸어둔 제약을 해제하는 것)을 할 수 있음

 

(6) iOS와 안드로이드의 보안 체계 비교

: 위에서 iOS와 안드로이드의 보안 체계를 표로 정리

구분 iOS 안드로이드
운영체제 Darwin UNIX에서 파생하여 발전한 OS x의 모바일 버전 리눅스 커널(2.6.25)를 기반으로 만들어진 모바일 운영체제
보안 통제권 애플 개발자 또는 사용자
프로그램 실행 권한 관리자(root) 일반 사용자
응용 프로그램의 서명 애플이 자신의 CA를 통해 각각의 응용 프로그램을 서명하여 배포 개발자가 서명
샌드박스 프로그램 간 데이터 통신을 엄격히 통제 iOS에 비해 상대적으로 자유롭게 애플리케이션 실행이 가능
부팅 절차 암호화 로직으로 서명된 방식에 의해 안전한 부팅 절차 확보 -
소프트웨어 관리 단말 기기별 고유한 소프트웨어 설치 키 관리 -

 

[2] 모바일 기기 보안

▶ 모바일 기기만의 보안 문제점

(1) 이동성

: 모바일 기기는 이동성이 뛰어나기 때문에 공격에 사용될 때 문제의 소지가 큼. 워드라이빙(노트북과 수신율이 좋은 안테나를 연결하고 차로 이동하면서 보안에 취약한 무선 랜을 탐색하며 해킹하는 것)으로 더 넓은 영역이나 접근하기 어려운 곳의 무선 랜까지 공격 가능

 

(2) 블루투스

: 선을 사용하지 않고 작은 규격과 적은 전력으로 여러 주변 장치들과 연결하기 때문에 높은 수준의 암호화와 인증을 구현하기 어려움

 

(3) 블루프린팅

: 블루투스 공격 장치의 검색 활동을 의미함. 블루투스 장치의 종류를 식별하기 위해 서비스 발견 프로토콜(SDP)를 보내는데 공격자는 이 프로토콜을 이용하여 공격 가능한 장치를 검색하고 모델을 확인함

 

(4) 블루스나프

: 블루투스의 취약점을 이용하여 장비의 임의 파일에 접근하는 공격

 

(5) 블루버그

: 블루투스 장비 간의 취약점 연결 관리를 악용한 공격으로 공격자가 10~15m 정도의 거리에서 블루투스 기기에 전화 걸기, SMS 보내기 등을 실행할 수 있음

댓글