07장 모바일과 IoT 보안: 유비쿼터스의 진입과 위협
01. 모바일 운영체제 보안 02. 모바일 기기 보안 03. IoT 보안
▶ 모바일 운영체제의 발전사를 살펴본다. ▶ 모바일 운영체제별 보안 체계를 이해한다. ▶ 모바일 운영체제별 취약점과 위협을 이해한다. ▶ 블루투스의 구조와 취약점을 이해한다. ▶ IoT 보안에 대해 알아본다.
01. 모바일 운영체제 보안 모바일 운영체제의 발전 팜 OS 윈도우 CE 블랙베리 OS 팜(Palm) OS는 1996년에 개발된 운영체제로, 개인용 정보 단말기(Personal Digital Assistance, PDA)인 팜 파일럿에서 사용하기 위해 만든 것. 주소, 달력, 메모장, 할 일 목록, 계산기와 개인 정보를 숨기기 위한 간단한 보안 툴이 포함. 윈도우 CE 마이크로소프트가 PDA나 모바일 장치 등에 사용하기 위해 만든 운영체제로, 저장 공 간이 충분하지 않은 1MB 이하의 메모리에서도 동작이 가능하도록 설계됨. 다른 마이크로소프트 제품과 달리 원시 코드 형태로 제공되어 제조사 설정에 맞게 디 자인하거나 커스터마이징 가능. 블랙베리 OS 블랙베리(Blackberry) OS는 캐나다의 RIM(Research In Motion)이 만든 모바일 운영체 제로 메시지와 이메일 전송 기능 및 보안에 초점을 두었음.
01. 모바일 운영체제 보안 모바일 운영체제의 발전
01. 모바일 운영체제 보안 모바일 운영체제의 발전 iOS 안드로이드 애플 아이폰과 아이패드에 사용되는 모바일 운영체제. 아이폰의 첫 번째 버전인 아이폰 오리지널의 운영체제는 맥북 운영체제를 모바일로 바 꾼 OS X 아이폰 오리지널은 두 손가락을 이용한 멀티터치 화면 조작법을 처음 적용. 운영체제 이름은 iPhone OS로 명명되었다가 2010년에 iOS4 발표와 함께 iOS로 바뀜. 안드로이드 구글과 이동통신 회사 연합체가 개발한 개방형 모바일 운영체제. 최초의 안드로이드 폰인 HTC Dream은 안드로이드의 기본 틀을 설정한 것. 카메라, 와 이파이, 블루투스(bluetooth), 웹 브라우저, 음성 다이얼, 유튜브, 갤러리, 인스턴트 메시 징, 미디어 플레이어, 구글 앱, 안드로이드 마켓 등의 다양한 기능이 탑재되었음. 안드로이드 1.5 버전은 컵케이크(cupcake)라는 디저트 이름을 딴 코드네임을 가진 최 초의 버전이며 이후 구글은 출시 안드로이드 버전에 디저트 이름을 붙여서 공개하고 있음.
01. 모바일 운영체제 보안 iOS와 안드로이드 현재 모바일 운영체제 시장의 가장 큰 흐름은 애플 iOS와 구글 안드로이드로 나뉨. 두 스마트폰 운영체제의 보안 체계와 취약점이 PC나 서버에서 사용되는 운영체제의 보안과 크게 다르지 않음. iOS를 만드는 애플과 안드로이드를 만드는 구글의 정책, 해당 운영체제에 사용되는 응 용 프로그램 정책의 차이에 따라 보안 체계와 취약점에 차이가 있음. [그림 7-6] iOS와 안드로이드
01. 모바일 운영체제 보안 iOS의 보안 iOS의 보안 체계
01. 모바일 운영체제 보안 iOS의 보안 iOS의 보안 체계 안전한 부팅 절차 확보 시스템 소프트웨어 개인화 보안 문제에 즉각 대응할 수 있도록 모든 소프트웨어를 애플 아이튠즈를 통해 일괄 배포 소프트웨어를 이전 버전으로 다운그레이드할 수 없도록 하는데, 이를 시스템 소프트웨어 개인화라는 절차로 통제함. 다운그레이드를 막는 것은 보안 문제가 있는 소프트웨어 버전이 해커에 의해 배포 및 설치되는 것을 막기 위함. 응용 프로그램에 대한 서명 iOS에 설치되는 모든 앱에 코드 무결성 사인(code signature)을 등록. 코드 무결성 사인은 일종의 해시 값으로, 앱의 코드 무결성 사인이 등록된 것과 다르면 앱을 설치하지 못함. 애플은 원격지 삭제 권한을 가지고 있으므로 개인이 각각의 iOS에 설치한 애플리케이션에 문제가 생기면 네트워크에 연결 된 iOS를 강제로 삭제할 수 있음. 샌드박스 활용 샌드박스(sandbox)는 응용 프로그램이 실행될 때 가상 머신 안에서 실행되는 것처럼 원래의 운영체제와 완전히 독립되어 실행되는 형태. 애플이 만든 앱에는 적용하지 않고 사용자 앱에 적용하고 있음.
01. 모바일 운영체제 보안 iOS의 보안 iOS의 보안 체계 멀티태스킹 금지 원격지에서 iOS 로그인 금지 음악을 듣는 것 이외의 멀티태스킹 금지 iOS 단말기의 성능 문제 때문이기도 하지만 악성 코드가 iOS에서 활동하는 것을 막기 위함임. 원격지에서 iOS 로그인 금지 iOS는 유닉스에 바탕을 두므로 일반 유닉스처럼 SSH 서버를 실행할 수 있고 로컬 또는 원격지에서 SSH 서버에 로그인할 수도 있음. 하지만 애플은 원격지에서 iOS를 구동하는 단말기에 HTTP와 FTP의 단순한 파일 전송 기능 이외에는 명령을 입력할 수 있 는 형태의 응용 프로그램을 허용하지 않음.
01. 모바일 운영체제 보안 iOS의 보안 iOS의 취약점 iOS의 보안상 문제점은 대부분 탈옥(jailbreak)을 한 기기에서 발생 탈옥한 iOS 기기로는 iOS의 시스템 파일에 접근 가능 탈옥된 iOS에서 SSH 서버를 실행하면 로컬이나 원격지에서 로그인 가능 사용자가 iOS 탈옥 시 반드시 적용할 보안 사항은 기본 패스워드 변경 애플의 통제를 벗어난 탈옥한 iOS는 많은 보안 취약점에 노출됨. [그림 7-8] 탈옥한 iOS로 내부 시스템 파일에 접근
01. 모바일 운영체제 보안 안드로이드의 보안 안드로이드의 보안 체계 안드로이드는 개방형 운영체제를 위한 보안 정책을 적용 리눅스 커널을 기반으로 하는 안드로이드 구조 [그림 7-10] 안드로이드 운영체제의 구조
01. 모바일 운영체제 보안 안드로이드의 보안 안드로이드의 보안 체계 응용 프로그램의 권한 관리 응용 프로그램의 서명 안드로이드에 설치된 모든 응용 프로그램은 일반 사용자 권한으로 실행 사용자 데이터에 접근 시 모든 사항을 응용 프로그램 사양에 명시하고 사용자 동의를 받아야 함. 모든 응용 프로그램은 설치 시 자신의 고유한 사용자 아이디를 할당받아 동작 응용 프로그램의 서명 설치되는 응용 프로그램에 대해 개발자가 서명 안드로이드의 전자 서명은 보안보다는 응용 프로그램의 통제권을 개발자가 갖도록 하는 것이 목적임. 샌드박스 활용 안드로이드 애플리케이션도 샌드박스 프로세스 내부에서 실행되며, 시스템과 다른 애플리케이션에 접근하는 것을 통제하 지만 안드로이드는 특정 형태를 갖추어 권한을 요청하는 것은 허용 안드로이드는 iOS에 비해 상대적으로 애플리케이션 간 통신과 데이터 전달이 자유로움.
01. 모바일 운영체제 보안 안드로이드의 보안 안드로이드의 취약점 안드로이드는 사용자가 보안 수준을 선택할 수 있다는 점에서 iOS보다 훨씬 자유로운 운영체제임. 다양한 앱 마켓이 존재하며 각종 바이러스와 악성 코드가 유포되며 그에 따른 백신도 보급되고 있음. 리눅스 운영체제와 유사한 보안 취약점을 그대로 가지고 있음 iOS의 탈옥과 비슷한 개념으로 안드로이드에서는 루팅(rooting)을 할 수 있음. [그림 7-10] 안드로이드 백신
01. 모바일 운영체제 보안 iOS와 안드로이드의 보안 체계 비교
02. 모바일 기기 보안 이동성을 이용한 공격 모바일 기기는 이동성이 뛰어나므로 공격을 받을 때보다 공격에 사용될 때 더 큰 문제 임. 노트북에 수신율 좋은 안테나 연결하고 차에 탄 채 보안이 취약한 무선 랜을 탐색하며 해킹 시도하는 것을 워드라이빙(war driving)이라고 함.
02. 모바일 기기 보안 블루투스 선을 사용하지 않고 휴대전화, 휴대용 단말기, 주변 장치 등을 연결하는 기술 여러 가지 장치가 작은 규격과 적은 전력으로 접근하기 때문에 높은 수준의 암호화와 인증을 구현하기가 어려워 다양한 위험에 노출될 수 있음 블루투스와 관련된 다양한 해킹 기술은 네트워크 해킹과 개념이 유사
02. 모바일 기기 보안 블루투스의 보안 취약점 블루프린팅(BluePrinting): 블루투스 공격 장치의 검색 활동 블루투스 장치의 종류(전화 통화, 키보드 입력, 마우스 입력 등)를 식별하기 위해 사용 하는 서비스 발견 프로토콜(Service Discovery Protocol, SDP)을 이용해 공격이 가능한 블루투스 장치 검색 및 모델 확인 가능. 블루스나프(BlueSnarf): 블루투스 취약점을 이용하여 장비의 임의 파일에 접근 블루투스 장치끼리 인증 없이 정보를 교환하도록 개발된 OPP(Obex Push Profile) 기능 을 사용하여 특정 내용을 요청 및 열람하거나 취약한 장치의 파일에 접근함. 블루버그(BlueBug): 블루투스 장비 간의 취약한 연결 관리를 악용한 공격 한 번 연결되면 다시 연결하지 않아도 서로 연결되는 인증 취약점을 이용 블루본(BlueBorne): 공격자가 대상 기기에 대한 원격 제어 권한을 쉽게 획득 가 능
02. 모바일 기기 보안 WiFi 보안 취약점 공용 WiFi에 대한 공격: 비밀번호 공유, 공격자도 비밀번호를 알고 있음. WiFi 통신 도청 가능성 WPA2 프로토콜에 대한 KRACK(Key Reinstallation Attacks) 취약점. 중간자 공격으로 암호화된 데이터에 대해 도청 가능.
02. 모바일 기기 보안
03. IoT 보안 사물인터넷(IoT) 사물인터넷은 센서를 내장하고 있는 사물들이 서로 연결되어 각각의 사물들이 제공하던 것 이상의 새로운 가치를 제공하는 방식. 사물이 인터넷에 연결되어 그 정보를 활용하여 사물 본연의 기능을 더 충실히 행하도록 하는 기술.
03. IoT 보안
03. IoT 보안 사물인터넷의 적용 분야
03. IoT 보안 스마트홈 (Smart Home)
03. IoT 보안 스마트공장 (Smart Factory)
03. IoT 보안 스마트농장 (Smart Farm)
03. IoT 보안 IoT의 확산
03. IoT 보안 IoT의 확산
03. IoT 보안 IoT의 개략적인 구조 데이터 생성 – 데이터 연결 – 데이터 처리 – 서비스 제공
03. IoT 보안 IoT를 위한 기반 기술 머신 (센서 등) 모듈 (임베디드) 네트워크 데이터 처리 서비스 응용 데이터 수집 머신 (센서 등) 모듈 (임베디드) 네트워크 데이터 처리 서비스 응용 데이터 수집 데이터 전송 통신 데이터 분석 활용 [참고] The Machine-to-Machine Market, 2012-2016, Market Figures & Trends. (iDate) 센서 기술 근거리 통신 저전력화 소형 경량화 단가 낮아짐 임베디드 장치 Smart Autonomous 네트워크의 발전 Ubiquitous 빅데이터 폭증하는 데이터 처리 데이터 분석 기술 유용한 정보 추출 클라우드 컴퓨팅 효율적인 응용 시스템 구축 최근 많은 발전을 이뤄낸 모바일 분야 전통적인 IT에 가까운 서버 영역
03. IoT 보안 IoT를 위한 통신기술
03. IoT 보안
03. IoT 보안 Application Service IoT Device IoT 서비스 플랫폼 디바이스와 응용소프트웨어를 연결하는 중간 매개체 데이터 전달, 장치제어, 데이터 저장, 정보조회 서비스 등 디바이스, 서비스 업체 등에서 표준 플랫폼을 활용하여 사물인터넷 관련군 제품 개발 에 필요한 비용과 개발 기간을 줄이고, 서비스간 상호호환성을 위한 목적 사물인터넷 표준 플랫폼 HTTP IoT Device Application Service CoAP MQTT 인증 Server Database MQTT Server CoAP Server
03. IoT 보안 IoT를 위한 오픈소스 하드웨어 플랫폼
03. IoT 보안 IoT의 보안 취약성
03. IoT 보안 IoT의 보안 취약성
03. IoT 보안 사물인터넷 정보보호 로드맵 발표, 2014. 10. 31, 미래부
03. IoT 보안 미래부, IoT 보안 7대 원칙 발표 한국인터넷진흥원(KISA)에서 “IoT 공통 보안 7대 원칙” 수립
03. IoT 보안 IoT 지식능력검정 http://cp.kiot.or.kr/ 강의자료 다운로드 가능