IT Solutions/Security

IoT 보안 취약점 진단 A to Z

2016.05.31 10:34


작년의 IoT(Internet of Things) 보안에 대한 기고에서는 일반적인 IoT 보안의 문제점에 대해서 알아보고, 그 대책에 대해서 생각해 보는 시간을 가졌습니다. 


이번 시간에는 최근의 IoT 보안 취약점 보고 사례를 살펴보고, 보안 진단으로 출시 전 대응하는 방법을 소개해 드리겠습니다. 

 

 

 IoT 보안 취약점 보고 사례

 

2015년 화이트해커의 컨퍼런스인 BlackHat에서 한 연구원이 지그비(ZigBee)[각주:1] 보안 결함을 발표하였습니다. 당시 해킹 대상이 된 IoT 디바이스로는 도어락, Smart 기기, 전구였고, 지그비라는 근거리 무선 프로토콜을 재접속 시에 암호화키 교환을 평문(Plaintext)[각주:2]으로 하는 경우 짧은 시간이지만 키가 노출됐다고 합니다. 


전파 방해 공격(Jamming)을 하게 되면 사용자가 다시 접속을 위해 페어링을 시도하게 되어 평문으로 키 교환 과정이 반복되므로 원할 때마다 공격을 시도할 수 있으며, 침입을 탐지했을 때 울려야 할 알람이 전파 방해 도구(Jammer)[각주:3]로 인해 동작하지 않게 될 가능성도 있다고 설명했습니다.



2016년 2월에는 동일한 보안 결함이 포브스(Forbes) 지면에 게재되었습니다. 2015년 당시 발표된 Smart 기기의 결함을 수정하겠다고 한 기한이 넘어도 수정되지 않고 있어, 제조사의 패치를 촉구하기 위해 기사화한 것입니다. 언론의 주목을 받게 되자 제조사는 공식적인 대응에 들어갔습니다.


해당 이슈는 2015년부터 알고 있는 것이었으며 사용자가 Insecure Join(안전하지 않은 연결을 의미하는 지그비 프로토콜의 용어)이라는 기능을 On•Off 할 수 있게 선택권을 주었고, 전파 방해는 일반적인 상황으로 볼 수 없는 것이라고 약관에 명시해 놓았다는 것이었습니다. 덧붙여, 제조사는 지그비 표준화에 적극적으로 참여하고 있다고 강조했습니다.


다른 사례를 살펴보겠습니다. 가정에서 사용되는 홈 CCTV가 해킹되어 해커가 원격에서 이용자의 사생활을 감시할 수도 있다는 것입니다.


인증 과정 없이 서버에 접근하여 펌웨어(Firmware)를 다운로드하고, 스크립트를 변경 및 팩키징하여 감염된 공유기를 통해 댁내 홈 CCTV를 업데이트하면 원격에서 디바이스를 제어할 수 있다는 것입니다. 펌웨어는 Shift 연산 방식으로 암호화됐고(암호화 키가 사용되지 않고 암호문의 패턴이 노출되는 취약점이 있음), 위변조를 판별하기 위해 사용한 MD5(Message Digest 5의 약자로 취약한 알고리즘)가 사용되었습니다.

 

l Shift 방식의 암호화 알고리즘

 

기밀성, 무결성, 가용성, 인증의 네 가지 요소 중 기밀성, 무결성, 인증에 허점이 있어 디바이스가 해킹될 수 있다는 것입니다.

 

① 출시 전 보안 진단

 

보안 취약점이 조기에 패치되지 않는다면 서비스를 제공하는 회사는 제품 출시일을 연기해야 하거나 이후 사고 발생 시 손해배상 등으로 금전적인 손실이 발생할 수 있습니다. 사고의 영향이 막대하거나 고의나 중과실이 있는 경우 CEO가 책임져야 할 수도 있습니다. 따라서, IoT 제품 및 서비스를 제공하는 회사는 출시 전부터 보안에 대한 대비를 하여 사고를 미연 방지 해야 합니다. 출시 가능한 수준으로 보안이 고려되었는지 확인하는 방법으로 IoT 보안 취약점 진단이 있습니다.


IoT 보안 취약점 진단은 디바이스에 대한 특화 진단이 포함됩니다. 그렇다고 해서 디바이스만 진단한다는 것은 아닙니다. 아래 그림과 같이 디바이스, 앱, 게이트웨이•네트워크, 서비스가 모두 진단 대상이 됩니다. 위협과 공격은 서비스 전 영역에서 발생할 수 있기 때문입니다.

 

l IoT 서비스 상의 보안 진단 범위

 

각 영역의 상세한 체크 항목은 아래 표와 같이 IoT 보안, 스마트폰 앱 보안, Client•Server 보안, 클라우드 서버 보안으로 분류할 수 있습니다. 스마트폰 앱 보안, Client•Server보안, 서버 보안은 기존 IT 보안의 진단과 유사하므로, IoT 보안을 위주로 중요한 점검 과정을 설명하겠습니다.

 

l IoT 보안 체크리스트

 

② 서비스 영역 보안

 

서비스 영역에서는 디바이스 등록, 디바이스 및 사용자 인증, 권한 설정, 환경 설정의 이슈를 진단합니다. 디바이스에는 고유한 식별자가 부여되며 서비스 개통 전에 서버에 등록되어야 하고, 디바이스가 통신 시 인증과 권한 체크를 하게 됩니다. 진단 시에 이러한 일련의 흐름에 허점이 없는지 체크하는데, 앱과 서버 간, 서버와 디바이스 간, 앱과 디바이스 간 인증과 권한 관리 체계를 점검합니다. 


전송 구간에 대한 암호화도 필요한데, 대표적으로 사용되는 SSL 암호화 적용 시 자주 발견되는 문제는 안전하지 않은 프로토콜의 사용, 상호인증 부재가 있습니다. 이러한 문제는 중간자 공격이나 암호문의 해독으로 중요한 정보가 해커에게 유출될 수 있는 위험이 있으므로, SSL 프로토콜 중 안전하지 않은 버전을 제거했는지 확인해야 하고, SSL 통신 시 클라이언트 역할을 하는 peer가 서버 역할을 하는 peer의 인증서를 검증하는지 확인해야 합니다.

 

l 서비스에서 제공하는 인증 및 권한 흐름

 

③ 네트워크 보안

 

네트워크는 TCP•IP뿐 아니라 근거리 무선 네트워크도 포함됩니다. 다시 말해 블루투스, 지그비, Z-Wave, NFC가 사용되는 네트워크 보안도 점검 대상이라는 것입니다. 


아래 그림은 블루투스 4.0(블루투스 저전력 에너지 표준) 방식의 패킷을 해커의 무선 장치가 수집하여 분석한 것으로, 블루투스 헤더에 포함되는 MAC 주소를 이용하여 개인의 위치를 추적할 수 있는지를 점검한 사례입니다. 


블루투스 4.0 표준 프로토콜에는 고정 MAC 주소 외에 개인 정보 보호를 위하여 가변 MAC주소를 제공하는데, 대부분의 제조사에서는 고정 MAC 주소 방식으로만 진행하고 있어 프라이버시 보호에 미흡합니다. 

 

l 블루투스4.0 무선 신호를 수집하여 분석

 

④ 안전한 펌웨어 관리

 

디바이스에 탑재된 소프트웨어에 취약점이 발견될 경우 패치하기 위하여 제조사는 펌웨어 업데이트를 제공해야 하며, 펌웨어는 안전한 방식으로 업데이트 될 수 있어야 합니다. 진단자는 펌웨어 파일의 암호화 여부, 펌웨어 변조를 탐지하기 위해 전자서명이 추가되었는지 체크합니다. 


전자서명이 누락된 경우 해커는 변조된 펌웨어를 디바이스에 업데이트하여 제어권을 획득할 수 있고, 디바이스가 해킹되면 사생활 침해(감시), 정보 유출, 2차 공격이나 심지어는 범죄(도어락 해제 후 도난 등)로 연결될 수 있습니다.

 

l 펌웨어 업데이트의 취약점을 이용한 해킹
 
⑤ 소프트웨어 보안
 
디바이스의 소프트웨어는 부트로더, OS커널, 파일시스템, 데이터파일 등으로 구성되며, IoT 보안 진단에서는 부트로더 보안부터 점검하는 것이 특징입니다. 부트로더는 디바이스의 초기화와 커널 로딩을 담당하는데, 초기화 과정을 변조할 수 없도록 설정해야 하며, 아래 그림은 U-Boot라는 부트로더의 환경변수를 임의로 변조할 수 있는지 확인하는 것을 보여줍니다. 
 

l 부트로더에 접속하여 환경 변수 열람 및 조작

 

⑥ 암호화 저장

 

암호화는 기밀성을 달성하는 데 중요한 역할을 합니다. 진단은 암호화 키를 안전하게 생성하여 이용하는지, 저장 시 안전한 암호화를 적용했는지 저장소가 안전한지를 봅니다. 암호화 키가 안전하게 관리되지 않는다면 암호문이 해독될 수 있습니다. 


아래의 화면은 디바이스에 저장된 RSA(Rivest Shamir Adleman)[각주:4] 개인키가 평문으로 노출되어 이를 이용한 기밀성, 무결성, 인증 체계가 안전하지 않다는 것을 보여준 사례입니다.

 

l 노출된 디바이스의 개인키

 

⑦ 하드웨어 설계•제조 보안

 

디바이스의 하드웨어 안전성 점검은 하드웨어 분해의 용이성과 디버그 포트의 접근 가능성을 기준으로 점검합니다. 디버그 포트의 예로는 UART(범용 비동기화 송수신기)[각주:5]와 JTAG(Joint Test Action Group, 임베디드 시스템 개발 시에 사용하는 디버깅 장비)가 있습니다. 


이 포트가 물리적으로 노출되었는지, 송수신 신호가 활성화되어 있지는 않은지, 활성화되어 있다면 중요한 정보를 획득할 수 있는지, 특권 명령어를 실행하거나 펌웨어 획득이 가능한지 점검합니다. UART의 허점을 악용하면 중요 정보가 해커에게 노출될 수 있습니다.

 

 

최근 취약점 보고 사례 및 IoT 보안 진단의 중요 항목을 살펴보았습니다. IoT 보안은 디바이스, 앱, 네트워크, 서버를 범위로 하는 융합보안으로 전 영역의 점검이 되어야 합니다.


이 중 디바이스 영역은 서비스 보안, 네트워크 보안, 펌웨어 관리, 소프트웨어 보안, 암호화, 하드웨어 설계•제조 상의 보안을 점검합니다.


점검 및 발견된 취약점이 출시 전에 패치된다면 안전한 IoT 서비스가 운영되어 고객의 신뢰를 받을 수 있을 뿐 아니라 국가•사회적인 실패 비용 지출도 감소할 것입니다.


글 ㅣ LG CNS 보안컨설팅팀

 
 
* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.
* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

 

  1. 지그비(ZigBee): ‘Zigzag’와 벌을 뜻하는 ‘Bee’의 합성어로 벌이 꽃을 쫓아 옮겨 다니듯이 여기저기 구석구석 움직이며 통신한다는 뜻을 담고 있다. 250Kbps 이하의 저속 국제 표준인 IEEE 802.15.4 물리계층 기반의 무선 네트워킹 기술로 저전력, 저비용, 저속이 특징이다. 반경 30m 내에서 20∼250kbps의 속도로 데이터를 전송하며 하나의 무선 네트워크에 최대 255대의 기기를 연결할 수 있다. 작은 크기로 홈네트워크 등 유비쿼터스 컴퓨팅을 위한 핵심 기술로 각광받고 있다. 무선센서망 구축을 통해 홈오토메이션, 산업용기기 자동화, 물류 및 환경 모니터링 등에도 활용될 수 있다. [네이버 지식백과] [본문으로]
  2. 평문(Plaintext): ①암호화 대상이 되는 문자열. ②암호문을 복호화한 본래의 문자열. [네이버 지식백과] [본문으로]
  3. 전파 방해 도구(Jammer): 통신 또는 레이더 체계의 사용을 방해, 제한 또는 격하시키는 데 쓰이는 장치. 무선 주파수 전파 방해 장치는 광대역, 잡음, 불연속 주파수 반복기 그리고 기만 장비를 포함한다. [네이버 지식백과] [본문으로]
  4. RSA(Rivest Shamir Adleman): 공개키와 개인키를 세트로 만들어서 암호화와 복호화를 하는 인터넷 암호화 및 인증 시스템의 하나이다. [네이버 지식백과] [본문으로]
  5. UART(범용 비동기화 송수신기, Universal asynchronous receiver/transmitter): 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종이다. UART는 일반적으로 EIA RS-232, RS-422, RS-485와 같은 통신 표준과 함께 사용한다. UART의 U는 범용을 가리키는데 이는 자료 형태나 전송 속도를 직접 구성할 수 있고 실제 전기 신호 수준과 방식(이를테면 차분 신호)이 일반적으로 UART 바깥의 특정한 드라이버 회로를 통해 관리를 받는다는 뜻이다. [위키백과] [본문으로]
저작자 표시 비영리 변경 금지
신고
Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS
위로