본문 바로가기

안전한사이버세상

IoT기기 동작과 보안위협 이해

< IoT 기술 흐름>
 국내 가장 큰 보안행사 중 하나인 코드게이트 행사가 ‘스마트시티’, ‘스마트시큐리티’라는 주제로 개최되었으며 그 중 가장 많은 관심과 주제발표가 이루어진 것이 바로 IoT 보안에 관한 것으로 최근 몇 년간 국내.외에서 개최되는 보안 컨퍼런스의 단골 주제로 IoT보안에 관한  관심이 높아지고 있습니다.
 IoT 기술이 접목된 스마트시티는 언제 어디서나 정보서비스를 자유롭게 사용할 수 있는 미래형 첨단도시로 스마트시티 구성을 위해서는 센서/디바이스, IoT기기 네트워크, 플랫폼/서비스 기술에 대한 접목이 필요하나 최근 IoT기기 해킹사건을 통해서 알 수 있듯 IoT기기에 대한 보안 중용성이 그 어느 때보다 높은 관심을 받고 있습니다.

 

<IoT 기기의 동작 이해>
 IoT 기술은 이미 우리의 생활과 밀접한 관계를 맺고 있으며 IoT기술이 적용된 분야로 홈·가전 IoT와, 웨어러블 IoT, 스마트카 IoT, 산업 및 환경용 IoT 등에 기술이 접목되어 사용되고 있습니다.
 우리는 IoT기술의 대표적인 기기라고 할 수 있는 인터넷공유기 구조에 대해 간단하게 알아보겠습니다. 회로를 구성하는 많은 부품들은 PCB(Printed Circuit Board)란 기판위에 전기적으로 서로 연결되어 동작하며 PCB 기판 위에 연결된 각 부분에 대해 간단하게 알아보면 다음과 같습니다.
 ❍ MCU/CPU : MCU(Micro Controller Unit)는 CPU의 기능을 하는 핵심 장치와 주변 장치를 포함하는 통합형 칩셋으로 주변의 다른 부품 제어
 ❍ RAM : 읽고 쓰기가 가능한 주기억 장치
 ❍ Flash Memory : 전기적으로 데이터를 지우고 다시 기록할 수 있는 비휘발성  기억 장치로 IoT기기 동작을 위한 펌웨어 저장
 ❍ JTAG(Joint Test Action Group) : 디지털 회로에서 디지털 입출력을 위해 직렬 통신 방식으로 출력 데이터를 전송하거나 입력데이터를 수신하는 방식
 ❍ UART(Universal asynchronous Receiver/transmitter) : 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종

<IoT기기 부팅 과정 이해>
 1. IoT의 기기에 전원이 들어오면 타켓 보드에 부트로더가 동작하며, 부트로더의 동작은 하드웨어(메모드, 하드웨어 등)를 초기화하고 플래시 메모리에 저장되어 있던 커널 및 디스크 이미지를 메모리에 로딩 후 커널 프로그램의 시작번지로 점프하여 커널을 부팅 시키는 역할을 합니다.
 2. 메모리에 올려진 커널은 메모리와 하드웨어 초기화, 디바이스 드라이버 초기화 및 루트에 파일시스템을 마운트한 후 IoT기기가 동작할 수 있도록 초기실행 프로그램을 동작시킵니다.
 3. 커널은 파일시스템을 마운트하게 되는데 이를 통해 IoT가 동작을 위해 필요한 파일을 디스크 상에 구성하는 것입니다.

 

<펌웨어 구성 이해>
 펌웨어의 정의에 대해 인터넷 검색을 통해 알아보면 “PROM에 삽입되어, 영구적으로 컴퓨터 장치의 일부가 되는 프로그램으로 여느 소프트웨어와 같은 과정으로 만들어지며, 다른 소프트웨어처럼 배포될 수 있으며 사용자가 특별한 사용자 인터페이스를 이용하여 PROM에 설치가능”라고 정의하고 있습니다. 위 IoT의 부팅과정을 이해했다면 펌웨어를 간단하게 표현하면 펌웨어는 IoT기기의 부팅부터 운영체제 동작까지의 필요한 파일을 가지고 있는 파일입니다. 아래 그림과 같이 펌웨어는 부트로더, 리눅스커널, 루트파일 시스템으로 구성되어 있으며, IoT기기를 동작시키는 핵심 파일로 펌웨어의 저장위치는 플래시 메모리에 저장되게 됩니다.

 

 우리가 알고 있는 펌웨어 업그레이드는 일반적으로 펌웨어 구성 중  리눅스 커널 및 루트 파일시스템 파일에 대해 업데이트가 이루어집니다.

 

<펌웨어 보안위협>
 해커가 IoT를 해킹하게 되는 경우 가장 먼저 확보하려고 하는 것이 바로 펌웨어입니다. 펌웨어를 통해 Root File system을 획득한다면 이는 일반 운영체제를 해킹하는 방법과 크게 다르지 않습니다.
 2016년 9월 IoT 디바이스를 감염시켜 DDoS Botnet으로 이용한 미라이 봇넷의 경우로 공격자는 공인 IP를 가진 IoT Device에 SSH, Telnet 포트와 같이 원격에서 시스템 접근 가능한 서비스를 스캔하여 공격대상을 확인하고 기기의 디폴트 접속 계정을 변경하지 않은 기기에 접속하여 미라이 봇넷을 설치하여 감염시킨 후 디도스 공격을 수행한 것으로 근본적으로 일반 운영체제 공격과 크게 다르지 않다고 하겠습니다.

 

 지금까지 펌웨어 동작원리 이해를 통해 보안 위협요소에 대해 간단하게 알아봤습니다.
안전한 IoT 사용을 위한 가이드라인으로 국외의 경우 OWASP IoT ToP 10, OTA IoT Trust Framework가 있으며 국내의 보안가이드 라인으로 TTA IoT 보안게이트웨이 보안요구사항, KISA 홈·가전 IoT 보안가이드를 제시하고 있으니 안전한 IoT보안이 이루어질 수 있도록 관심을 기울여야할 것입니다.