배너
닫기

기획특집

배너

[심층기획/ 보안MCU] IoT 단말노드의 MCU 설계시스템 적용 시 보안문제에 대한 논의

  • 등록 2019.06.28 10:27:06
URL복사
[무료 웨비나] 미래의 자동차 조명을 재조명하다: Analog Devices의 혁신적인 솔루션 (5/29)

[첨단 헬로티]



최근 들어 사물인터넷(Internet of Things) 관련 애플리케이션이 등장해 상당한 인기를 끌면서, 사물인터넷 관련 의제가 다양하게 부각되고 있는데, 그 중 보안문제는 가장 널리 논의되는 의제 중 하나이다. 보안문제는 매우 방대하고 복잡해 보이지만, 실제 일부 관행과 규범은 과거의 인터넷 경험을 참고하여 완벽한 관리 메커니즘으로 발전할 수 있다. 필자는 완전한 사물인터넷 보안을 위해서는 단대단(end-to-end)의 전체 시스템 문제를 해결해야 한다고 생각한다.


이러한 관점에서 볼 때 사물인터넷의 보안문제는 ‘사물인터넷 노드창치에 대한 완벽한 보안요건’ 정도로 수렴될 수 있다. 이 글은 사물인터넷 노드장치단으로부터 출발해 사물인터넷 환경에서 단말 노드가 채용하는 마이크로컨트롤러(MCU) 칩의 구조설계가 점점 어려워지는 네트워크 환경의 보안요건에 어떻게 적응할 것인가에 대해 분석하고 논의하고자 한다.


보안의 기초

일반적으로 정보전송 프로세스의 보안은 기밀성(Confidentiality), 무결성(Integrity) 및 확실성(Authenticity) 이라는 세 가지 요건을 충족해야 한다. 세 가지로 대표되는 요건의 의미는 다음과 같다.


표 1. 정보전송 관련 주요 보안요건

표 1의 세 가지 보안요건은 모두 충족되어야 하며, 어느 한 가지라도 충족되지 못하면 보안문제가 발생한다. 물론, 최근 들어 많은 정보보안기술이 상술한 목표를 달성하기 위해 개발되고 있고, 그중 일부는 이미 성숙단계에 들어섰고, 일부는 진화발전을 거듭하고 있다. 암호화 애플리케이션은 가장 많이 언급되는 사례이다.


‘암호 알고리즘(Cryptography Algorithms)’은 현대정보통신기술 보안의 기본이며, 이를 기반으로 하는 각종 암호화 및 암호해독 기능은 정보전달 분야에서 매우 중요한 역할을 해왔다. ‘암호화’ 및 ‘암호해독(Encryption/Decryption)’ 알고리즘 기능은 ‘기밀성’을 구성하는 중요한 요소로, 대칭 암호화/암호해독 알고리즘 AES, DES/3DES와 비대칭 알고리즘 RSA, ECC 등이 있다. 이러한 기술에서 파생한 애플리케이션은 정보가 전달과정에서 쉽게 또는 원천적으로 가로막히거나 해독되는 것을 방지한다.


해싱(Hashing)은 정보의 ‘무결성’을 위한 기능이다. 예를 들어, SHA, MDx 등과 같은 해시함수는 데이터의 어떠한 변화도 식별해 낼 수 있다. 데이터에 변경이 발생했기 때문에, 즉, 원본 데이터의 형식이 아니기 때문에, 원본 데이터를 근거로 계산해 내는 검사코드도 달라진다.


‘진본성’은 암호화/암호해독 알고리즘과 해시함수의 결합으로, PKI(Public Key Infrastructure) 기반 표준과 같은 비밀열쇠(Secret Key) 서비스 암호화/암호해독 프로세스의 형태로 구현된다. 지금까지 암호화를 기반으로 정보통신의 보안을 확보할 수 있는 기본적인 방법을 대략 설명했지만, 산업의 발전에 따라 이러한 것들을 기반으로 한 보안표준은 계속 생겨난다. Secure http connections (https), secure payment transactions (EMV based standards), secure firmware over-the-air (FOTA) update 협정이 이에 해당하는데, 각각의 협정은 각 산업이 관심을 두고 있는 정보통신 보안규범을 대표하고, 각 산업이 보안기술 발전을 촉진할 수 있도록 개별 산업의 요건에 부합하는 표준을 정한다.


플랫폼 보안

기존의 인터넷과 사물인터넷 산업의 발전이 정보통신의 보안을 매우 중시해왔음은 널리 알려져 있는 사실이다. 따라서 필자는 사물인터넷 분야에서 점차 늘어나고 있는 네트워크 장치가 보안문제의 핵심이 될 것이라 생각한다. 이러한 장치는 광범위하게 설치된 후 조작을 위한 많은 인력이 필요하지 않는데, 정보통신 보안, 기능운영 보안 등을 포함한 보안요건은 새로운 도전에 직면하게 될 것이다.


가정에 공급되는 전기와 물, 가스 등을 생각해 보자. 이러한 설비는 원격으로 관리할 수 있는 네트워크 장치가 제공되는데, 해커에 의해 쉽게 통제권을 빼앗길 수 있다면 작게는 에너지 공급이 중단될 수 있고, 크게는 개인의 안전 혹은 중대한 공공안전 사고가 발생할 수 있다. 따라서 사물인터넷 보안에 관한 문제를 논의할 때에는 반드시 시스템 구조로부터 논의를 시작해야 한다. 다시 말하면, 정보통신 보안의 기초적인 실행방법과 장치의 전체적인 설계가 보안플랫폼이라 불릴만한지를 고려해야 한다.


이 글에서 중점적으로 논의하고자 하는 부분은 MCU 보안 플랫폼이다. 여기에는 MCU 자체의 정보보안 보호기능, MCU 내부메모리의 폐쇄성, 키 저장소의 기밀성 및 전자기 분석에 의한 정보 해킹 방지에 관한 효과적인 방법 등 다양한 범위가 포함되며, 나아가 스마트 핸드헬드 디바이스의 소프트웨어 보호 또한 고려되어야 한다. 따라서 전술한 MCU 보안위험 이슈는 사물인터넷의 시스템 특성에 따라 다음과 같이 세 가지로 분류할 수 있다. 


1. 보안공격을 위한 네트워킹 여부 : 공격은 사람의 신체 접촉으로 수행되거나 네트워크 채널을 통해 시작된다.

2. 공격 비용 : 예를 들어, 해커는 Wi-Fi 연결이 가능한 노트북을 사용하거나 고성능의 장비로 실험실에 머물면서 공격을 수행한다.

3. 공격 받은 결과 : 공격은 네트워크의 단일 노드장치에 영향을 미치거나 전체 네트워크 시스템에 문제를 일으킬 수 있다.

따라서 안전한 사물인터넷 시스템 노드장치를 설계할 때에는 상술한 세 가지 측면은 투입한 자원과 달성 가능한 보안수준을 평가하는 데 도움이 될 수 있다.


위협과 공격

위의 설명을 통해 제품설계를 위한 MCU를 선택할 때, 정보보안에 대한 고려사항은 단말기 제품의 다양한 애플리케이션 수요를 기반으로 할 수 있으며, 다양한 수준의 웨이퍼 보안요건에 관한 표준을 제정할 수 있음을 알 수 있었다. 현재 상업시장의 애플리케이션 중 금융산업의 카드 관련 애플리케이션은 웨이퍼 보안에 대해 최고 수준의 보호기능을 갖추고 있다고 할 수 있다. 그러나 휴대 전화, 데스크톱 컴퓨터, 노트북 컴퓨터 및 태블릿과 같은 전통적인 네트워킹 장치의 보안요건은 사용자의 조작환경, 운영체계의 복잡성, 프로세스의 성능에 따라 달라지므로 보통 소프트웨어 수준에 의지하게 된다.


따라서 아마도 우리는 새롭게 등장하는 사물인터넷 웨이퍼 보안의 요구사항을 상술한 양자 사이에서 정의할 수 있을 것이고, 그 후 실제 보안요건의 내용을 분석할 수 있게 된다. 만약, OWASP (Open Web Application Security Project) 조직이 정리한 내용을 근거로 연구 및 판단한다면 사물인터넷이 정보보안 및 실제적 보안문제를 일으킬 가능성이 가장 큰 10가지 항목은 다음과 같다.


 Insecure Web Interface (안전하지 않은 웹 인터페이스)

 Insufficient Authentication/Authorization (불충분한 인증/승인)

 Insecure Network Services (안전하지 않은 네트워크 서비스)

 Lack of Transport Encryption (전송 암호화 부족)

 Privacy Concerns (불충분한 개인정보보호)

 Insecure Cloud Interface (안전하지 않은 클라우드 인터페이스)

 Insecure Mobile Interface (안전하지 않은 모바일 장치 인터페이스)

 Insufficient Security Configurability (보안장치 부족)

 Insecure Software/Firmware (안전하지 않은 소프트웨어/펌웨어)

 Poor Physical Security (안전하지 않은 하드웨어 장치)


위의 견해는 사물인터넷의 보안이슈를 여전히 네트워킹 이슈에 치중하여 설명하고 있음을 알 수 있다. 이 때문에 인터넷 장치와 관련된 보안문제를 열거하였는데, 그 가장 큰 이유는 사물인터넷 장치, 특히 단말노드가 대부분 간단한 감지 및 데이터 전송을 위한 단순한 리소스만 탑재되어 있다는 점이다. 클라우드 컴퓨팅 및 빅데이터의 증가로 주요 데이터의 많은 부분이 클라우드에 저장되고 연산될 것이므로, 사물인터넷 시스템은 종단노드의 보안요건 수준을 신중하게 고려해야 한다.


웨이퍼 구조

Arm®은 2016 년 Cortex®-M 기반의 차세대 프로세서 Cortex®-M23 및 Cortex®-M33을 출시했다. 두 프로세서는 모두 Emv8-M 아키텍처 기반의 신형 CPU로, 이전에 Cortex®-A 시리즈에서만 사용 가능했던 TrustZone® 기술을 통합하여 발전시켰다는 점이 가장 큰 특징이다. 이 기술은 현재의 범용 MCU보다 훨씬 깊이 있는 보안 알고리즘 아키텍처를 구축할 수 있다. ARM®의 공식분류에 따른 임베디드 시스템의 (Embedded System) 보안 수준별 요건은 다음과 같다(표 2).


표 2. Arm 임베디드시스템 보안 요구사항


(1) Application Level Security (애플리케이션 수준 보안)

현재 시중에 나와 있는 프로세서(CPU, MPU, MCU 등)를 보면, 거의 모든 프로세서가 이 수준의 보안을 지원한다. 기본적으로 소프트웨어가 제공하는 보안 메커니즘이기 때문에, 시스템 개발자가 프로그램을 작성할 때 로컬 프로세서 시스템(local processor system )과 원격/클라우드 시스템(remote/cloud system)의 보안 메커니즘을 잘 구성해놓기만 하면, 이와 같은 보안수준에 이를 수 있다.


(2) Privilege Level Security (고급보안)

이 보안수준에서는 실행 중에 시스템 프로그램(ex. OS kernel)과 응용 프로그램을 Privileged 상태와 Un-privileged 상태로 나눈다. 이런 식으로 실행 중 프로세서의 상태를 다양하게 함으로써 잘못된 프로그램이나 악의적인 프로그램이 시스템 설계상의 허점을 찾거나, MCU의 오작동을 일으키거나, 시스템의 정상작동을 악의적으로 방해하는 일이 생기지 않도록 프로세서에 부속된 기억관리장치(MMU) 혹은 기억보호장치가 역할을 한다. 이는 파괴적이고 악의적인 프로그램의 침입을 막기 위해 관리장치에 블랙리스트를 작성하는 것과 매우 유사하다. 블랙리스트의 조건에 부합하기만 하면, 보호장치는 바로 경고신호를 보내거나, 불필요한 문제가 생기지 않도록 시스템 실행을 강제로 중지하기도 한다.


(3) TrustZone Security (TrustZone 보안)

이 보안수준에서의 보안은 다양한 프로세서 영역에서 소프트웨어를 실행하는 것을 궁극적인 목표로 하므로, 프로그램 설계 시, 최종적으로 어떠한 프로세서 영역(Zone)에서 실행할 것인지를 고려해야 한다. 가장 일반적으로 보안(Secure)영역과 비보안(Non-Secure)영역로 분류하는데, 전술한 (2)와 같은 보안수준에 비해 시스템에 대한 보안이 강화되었다.

프로세서가 실제로 분할되어 운영되기 때문에, 보안영역과 비보안영역의 소프트웨어 간의 상호작용은 엄격한 통제를 받는다. 화이트리스트를 적용하는 것처럼 이 리스트의 조건에 부합한 경우에만 두 영역 소프트웨어 간의 상호작용을 허용하기에, 더 엄격한 시스템 보안규칙인 것이다. 실제로 다양한 프로세서 영역을 모두 포함할 필요는 없지만, TrustZone은 시스템 보안 설계에서 화이트리스트 규칙을 적용하여 악의적인 프로그램으로부터 보호하는 방법이라고 할 수 있다.


(4) Anit-tampering Security (변조방지 보안)

이 보안수준에서의 보안 칩은 대부분 실제로 특정 애플리케이션을 위해 설계된 것으로, 물리적 공격(Physical Attack) 에 대한 MCU 자체의 보호를 고려한다. 설계자는 MCU 제품이 사용되는 환경을 제어할 수 없다는 점부터 고려하기 시작한다. 또한 보호해야 할 기밀 데이터(ex. 개별 데이터)의 양이 많지 않으므로 MCU 라인 레이아웃 설계, 핀 신호 탐지 불능, 전반적인 소프트웨어 작동속도조정 방지 비교대조 등과 같은 물리적 보호를 진행한다.

다중전자공격 방지기술을 고려하면 MCU 설계는 기술적으로 너무 복잡해서는 안 되며, 만약 그렇지 않으면 더 많은 취약점을 쉽게 생성할 수 있지만 사물인터넷 제품은 여전히 보안기술이 필요하다. 그러나 실제 기능 설계의 다양한 요구와 원격 네트워킹 제어를 모두 고려하는지, 로컬 엔드가 중요한 기밀정보를 필요로 하고 이와 같은 수준의 보안을 필요로 하는지는 향후 논의를 지속할 여지가 있다.


깔때기형 설계 아이디어

누보톤 테크놀로지는 위의 설명을 종합하여 사물인터넷 시스템 보안설계에 적용할 수 있는 ‘깔때기형 보안설계 아이디어’를 제안하여 시스템 설계자가 자신의 MCU 애플리케이션 시스템이 제공해야 하는 보안수준을 고려할 수 있게 했다.

설계자는 자신의 제품 설계상의 보안품질을 보증할 수 있을 뿐 아니라, Armv8-M 아키텍처에서 Arm® Cortext®-M23 및 Cortex®-M33 이 지원하는 프로세서를 이용하여, MCU 애플리케이션 시스템 분야에서 Armv8-M for TrustZone®이 지원하는 더 안전한 2차 개발(Multiple Libraries/Multiple Parities Development)을 진행할 수 있다. 또한 네트워크 장치의 설계 기능 상의 다양한 수요의 유연성도 함께 고려한다.


그림 1. 사물인터넷 환경 MCU 애플리케이션 시스템 보안설계 아이디어


자산 보호 방법

종종 제기되어 온 전통적인 MCU 애플리케이션 시스템의 설계 문제는 보통 지적재산권의 보호에 관한 것이다. 초기의 보안칩 설계는 중요한 자료의 보호에 초점을 맞추었다.

예를 들어, Smartcard 내부에 저장된 개인식별 및 전자상거래 증명 등의 자료는 사용자 정보 자산이라고 볼 수 있다. 마찬가지로, MCU 내부에서 실행되는 소프트웨어는 제품 개발자에게 중요한 자산이며, 특히 사물인터넷에 진입한 후에는 주요 정보를 클라우드에 저장할 수 있다.


단말제품이 높은 보안수준의 MCU 보호를 사용해야 하는지 여부는 제품의 용도에 따라 논의될 수 있다. 그러나 제품이 쉽게 완전 복제(Device Clone)된다면, 이 가짜장치는 쉽게 서비스 시스템에 진입하여 서비스 네트워크 마비, 클라우드 서버 정보 절취, 네트워크 내부 통신 도청 등의 심각한 보안문제를 일으킬 것이다. 그만큼 지적재산권의 보호는 매우 엄중한 과제이다.


누보톤 테크놀로지는 Armv8-M 아키텍처의 TrustZone® 우위를 이용해 자체 개발한 MCU보호조치를 결합해 사물인터넷의 수요에 부합하는 NuMicro® M2351 Series 사물인터넷 전용 MCU 플랫폼을 개발했다. 포함된 보안의 특징은 아래 그림에 간략하게 설명되어 있으며, 독자는 홈페이지에 소개되어 있는 다양한 제품 정보와 상세한 설명을 참조할 수 있다.


누보톤 테크놀로지는 이러한 제품이 더 많은 업체의 TrustZone® for ARMv8-M 애플리케이션 개발 참여를 독려하고, 함께하는 안전하고 쉬운 네트워킹을 통해 우리 생활의 질을 높일 수 있는 스마트 보안 생활환경을 조성할 수 있기를 희망한다.


그림 2. NuMicro® M2351 시리즈 주요 보안 기능



글 / 링리민(淩立民, Robert Ling) 누보톤 테크놀로지(新唐科技股份有限公司, Nuvoton Technology Corp.) 마이크로컨트롤러 비즈니스그룹 테크놀로지 매니저










배너









주요파트너/추천기업