배너
닫기

테크노트

배너

[Technical Report] 보안 위협이 증가함으로써 하드웨어 보안에 대한 동적 신뢰 접근법 필요

  • 등록 2020.11.13 11:37:43
URL복사
[무료 웨비나] 빠르고 직관적인 강력한 아날로그 시뮬레이션 'MPLAB® Mindi™ 아날로그 시뮬레이터' 왜 주목받고 있을까요?? (5/23)

[헬로티]

 

모든 종류의 전자 제품을 설계하는 개발자들에게 자신이 설계하는 제품 디자인을 펌웨어 공격으로부터 보호하는 것이 중요한 과제가 됐다. 


미국 정부의 국가 취약점 데이터베이스(National Vulnerability Database)에 따르면 2016년에서 2019년 사이에 펌웨어 취약점 건수가 700퍼센트 이상 증가한 것으로 조사됐으며, 시장 조사 회사인 가트너의 보고서에서는 2022년에 ‘펌웨어 업그레이드 체계를 갖추지 않은 조직의 70퍼센트가 펌웨어 취약점으로 인해서 공격 대상이 될 것’으로 전망하고 있다.

 

 

 

동적 신뢰 필요성


이러한 취약점은 현장에 설치되어 있는 최종 제품으로만 위협을 초래하는 것이 아니다. 오늘날 빠르게 변화하고 갈수록 예측하기가 어려워지는 글로벌 공급 체계 전반에 걸쳐서 개별 부품들로 위협을 초래할 수 있다. 이러한 공급 체계는 개별 부품을 제조하고 출하하는 단계에서부터 시스템으로 통합하고 현장으로 설치하고 운영 종료때까지 이르는 모든 단계를 포함한다.

악의적인 공격자들이 취약점을 이용해서 침투해서 데이터 도용, 데이터 훼손, 트로이목마 또는 멀웨어 삽입, 장비 하이재킹, 복제, 설계 도용 같은 다양한 보안 문제를 일으킬 수 있다. 플랫폼 펌웨어로 공격이 성공하게 된다면 시스템 가동을 중단시키고 시스템을 인질로 잡아서 보상금을 요구하거나 데이터를 훔치거나 해킹을 할 수 있다. 이러한 행위들은 운영체제보다 낮은 수준에서 이루어지므로, 표면적인 피해가 드러나기 전까지 감지하기가 어렵다. 이러한 공격은 기업의 매출이나 평판에 큰 영향을 미칠 수 있다.

전자 시스템 하드웨어를 허가되지 않은 접근으로부터 보호하는 것은 새로운 문제가 아니며, 허가되지 않은 사용자가 펌웨어에 접근하지 못하도록 보호하기 위한 솔루션들이 개발되어 있다. 그런데 이들 솔루션은 통상적으로 폰 노이만 구조의 마이크로컨트롤러(MCU)를 사용하므로, 공격을 받았을 때 다수의 디바이스를 관리하기 위해서 필요한 실시간 성능을 제공하지 못한다. 이럴 때 근본적으로 병렬적인 특성을 갖는 FPGA를 활용해서 나노초 대의 응답 시간으로 다중의 디바이스들을 동시적으로 모니터링하고, 보호하고, 복구할 수 있다.

오늘날 아무리 우수한 TPM과 운영체제 보안 솔루션을 사용한다고 하더라도, 시스템을 제조하기 전과 제조하는 동안과 제조한 후까지 이르는 모든 단계에 걸쳐서 시스템 펌웨어가 공격을 받을 수 있다. 통상적으로 운영 체제와 어떠한 소프트웨어 기반 보안 솔루션(부트 후의 검사 등)이 작동하기 전에 시스템 부품들로 펌웨어를 로드하므로, 펌웨어가 훼손되었다는 것을 감지조차 못할 수 있다. 훼손된 펌웨어가 은폐됨으로써 부트 후 무결성 검사에 잡히지 않고 보안 및 멀웨어 검사에도 잡히지 않을 수 있다.

전자 시스템은 공격이 진화하는 것에 따라서 새로운 위협에 대응할 수 있어야 하며, 펌웨어 훼손이 감지되었을 때 자동으로 적절한 조치를 취할 수 있어야 하는데, 이를 위해서는 시스템 펌웨어를 보호하기 위한 보안 솔루션으로 ‘동적 신뢰’를 구축하는 것이 필요하다. 동적 신뢰(dynamic trust)란, 병렬적이고 실시간이 가능하고 민첩한 솔루션을 사용해서, 개별 부품을 출하하고 제품을 어셈블리하고 최종 제품을 출하하고 통합하고 운영 수명이 종료되는 시점까지를 포함한 시스템의 라이프사이클 전반에 걸쳐서 포괄적인 펌웨어 보호를 달성함으로써 펌웨어 공격으로부터 복구할 수 있는 능력을 말한다.

 

▲ 공격자들의 공격이 진화함에 따라서 개별 부품이 공급 사슬을 따라서 이동하는 전 단계에 보호가 필요하게 되었다.

 

새로운 NIST 표준


그렇다면 이와 같이 계속해서 진화하는 위협으로부터 시스템을 어떻게 보호할 것인가? 미국 연방 정부의 NIST(National Institute of Standards and Technology)에서는 펌웨어에 대한 이러한 위협을 인식하고 NIST 플랫폼 펌웨어 복구(PFR) 가이드라인(NIST SP-800-193)을 제정하고 PFR을 적절히 구현할 것을 권고하고 있다.


이 가이드라인은 플랫폼으로 회복성을 높일 수 있도록, 플랫폼을 허가되지 않은 무단 변경으로부터 보호하고 허가되지 않은 무단변경을 감지하고 공격으로부터 빠르고 보안적으로 복구할 수 있는 보안 메커니즘들을 정의하고 있다.


이 가이드라인은 다음과 같은 세 가지 원칙 위에서 공격에 대한 회복성을 높인다.

 

• 보호: NIST 가이드라인은 플랫폼 펌웨어와 중요 데이터들을 무결성 상태로 유지하고 훼손되지 않도록 보호하기 위한 메커니즘들을 포함한다. 여기에는 펌웨어 업데이트를 인증하고 무결성을 검사하기 위한 프로세스도 포함한다. 또한 이 가이드라인은 보호해야 할 모든 외부적 메모리와 인터페이스 버스를 런타임으로 동시적으로 모니터링하고 모든 펌웨어에 대해서 접근을 엄격하게 통제할 것을 정의하고 있다.

 

• 감지: 플랫폼 펌웨어 코드와 주요 데이터가 훼손된 것을 감지하는 메커니즘을 포함한다. 이를 위해서 보호 대상 IC를 부트하기 전에 자율적으로 펌웨어 인증을 해야 한다.

 

• 복구: 서비스 거부(DoS)와 리플레이 공격에 대해서까지도 공격이 감지되었을 때 플랫폼 펌웨어 코드와 주요 데이터를 알려진 양호한 무결성 상태로 복구할 수 있는 메커니즘을 포함한다. 시스템 가동을 중단하지 않고 지원 인력을 사용해야 하는 것을 최소화하기 위해서는 이러한 복구가 자동으로 실시간으로 이루어져야 한다.

 

이와 같이 빠르게 진화하는 시장과 변화하는 표준을 충족하기 위해서 래티스 반도체는 자사 하드웨어 보안 제품의 기능성을 크게 향상시키는 것으로서 새로운 보안 솔루션 스택과 새로운 공급 사슬 보안 서비스를 제공한다. 래티스 Sentry 솔루션 스택은 시스템의 모든 프로그램 가능한 부품들로 실시간 동적 보호, 감지, 복구 기능을 제공함으로써 시스템 내의 펌웨어 공격 취약점을 최소화한다.


Sentry 솔루션 스택은 래티스의 MachXO3D 보안 FPGA를 사용해서 완벽하게 검증되고, 손쉽게 맞춤화 가능하고, NIST 800-193을 충족하는 포괄적인 PFR 솔루션을 제공한다. 이 솔루션 스택은 시스템 내의 SPI 및 I2C 디바이스와 해당 버스들을 보호하고 모니터링하기 위해서 손쉽게 사용 가능하고 완벽하게 검증된 일련의 IP 코어들을 제공한다. 


또한 이 솔루션 스택은 PFR 기능을 시험하고 평가하기 위한 데모 보드와 레퍼런스 디자인을 포함한다. 또 이 스택으로 래티스의 최신 IP 에코시스템과 개발 환경으로서 래티스 Propel을 포함한다. 래티스 Propel을 사용해서 FPGA에 익숙하지 않은 사용자라도 PFR 구현을 맞춤화할 수 있다. 이 스택의 RISC-V 프로세서 IP의 C 코드를 수정하고 IP들을 시각적으로 레이아웃해서 전체적인 시스템을 구축할 수 있는 것이다. 이 시스템을 래티스 Diamond 툴로 불러들여서 구성 비트스트림을 생성할 수 있다. 이 스택은 PFR 관리 코드를 손쉽게 수정할 수 있는 포괄적인 PFR 레퍼런스 디자인, SPI/QSPI 용의 퀵 스위치 스키매틱, 프로세서 명령 에뮬레이터를 포함한다.


그러므로 래티스 Sentry 솔루션 스택을 사용해서 개발 시간을 크게 단축할 수 있다. 사전에 검증된 IP 코어와 레퍼런스 디자인을 사용하지 않는다면 이와 같은 솔루션을 개발하기 위해서 수개월이 걸릴 것이다. Sentry를 사용함으로써 개발자들이 FPGA의 실시간 동작을 관리하는 예제 C 코드를 필요에 맞게 수정해서 NIST 800-193을 충족하는 전체적인 솔루션을 빠르게 개발할 수 있다.


FPGA의 구성 비트스트림으로 사전에 검증된 IP를 통합하고 C 코드를 실행하는 RISC-V CPU를 통합할 수 있다. 이 모든 것을 래티스 Propel 소프트웨어를 사용해서 할 수 있다. 그러므로 FPGA 설계 경험이 없어도 된다. 또 한편으로는 고객들이 자체적인 FPGA IP를 개발하고 이것을 나머지 Sentry 솔루션 스택과 통합할 수 있도록 하고 있다.템의 라이프사이클 전반에 걸쳐서 포괄적인 펌웨어 보호를 달성함으로써 펌웨어 공격으로부터 복구할 수 있는 능력을 말한다.

 

▲ 래티스 Sentry 솔루션 스택

 

Sentry와 더불어 래티스는 에지-투-에지 공급 체계 보안 서비스로서 SupplyGuard를 제공한다. SupplyGuard는 공급 체계 전반에 걸쳐서 고객 IP를 보호하기 위한 선도적인 가입 서비스로서, 래티스 FPGA를 공급 체계상에서 이동시에 무단변경, 트로이목마 삽입, 오버빌딩, 위조, IP 도용 같은 것들을 하지 못하도록 잠금 조치를 해서 제공한다.


이 서비스를 사용해서 FPGA에 저장된 컨피규레이션 비트스트림과 외부적 펌웨어 인증키를 복제하거나 무단변경하지 못하도록 보호할 수 있다. SupplyGuard를 사용해서 개발자들이 공급 체계 전반에 걸쳐서 자신이 설계하는 제품을 보호할 수 있다. SupplyGuard는 현행 프로비저닝 솔루션들과 차별되는 보안적이고 고유한 방식으로 보안적인 키 프로비저닝과 디바이스 소유권 이전을 통해서 보호를 달성한다.


SupplyGuard 프로세스는 래티스가 고객 FPGA로 개별적인 부품번호를 부여하는 것에서 시작된다. 해당 고객만이 구성 비트스트림과 인증키를 사용해서 그 FPGA를 프로그램할 수 있도록, 래티스 공장에서 각기 FPGA를 특정한 암호화 정보로 프로그램한다.


FPGA가 공급 사슬을 따라서 이동하고 제3자 업체에서 시스템을 조립하는 모든 단계에 이 서비스가 신뢰와 보호를 유지한다. 칩이 완전하게 잠금 조치가 되어서 래티스 공장을 떠나며, 해당 고객만이 그 FPGA를 열 수 있는 열쇠를 갖는다. 래티스는 FIPS 140-2 인증 HSM(High Security Modules)을 사용해서 잠금해제 기밀정보를 생성하고 이것을 고객에게 제공한다. 그러면 고객은 자신의 HSM을 사용해서 기밀정보를 암호해독한다. 그러므로 공급 체계상의 중간에 누군가 이러한 기밀정보에 접근할 수 없다. 고객의 HSM을 사용해서 고객의 커스텀 컨피규레이션 비트스트림과 인증 키를 암호화하고 서명할 수 있다. 그러므로 고객의 IP와 암호화 키가 어떤 식으로든 래티스나 공급 체계 상의 어느 업체에게로 노출되지 않는다.

 

SupplyGuard를 사용해서 잠금 조치를 함으로써, 고객의 FPGA가 요새화되어서 공급 체계를 따라 이동한다. 고객 컨피규레이션 비트스트림을 사용해서 프로그램되기 전까지 잠겨 있고 접근이 차단된다. 이렇게 잠겨 있는 FPGA로 로드할 수 있는 것은 고객이 암호화하고 서명한 비트스트림뿐이다. 동시에 고객 비트스트림을 또 다른 FPGA로 로드하는 것도 방지한다. 그러므로 고객 IP와 인증 키를 복제나 오버빌딩으로부터 보호할 수 있다.


고객 비트스트림을 프로그래밍하는 단계에서 칩의 암호화 제어가 래티스 공장에서 잠겨진 상태에서 고객에게로 이전된다. 이 소유권 이전은 래티스 FPGA 안에서 보호되고 암호화된 상태로 이루어지며 표준적 제조 라인에서 표준적 일괄 프로그래밍 장비를 사용해서 행해진다. 그러므로 컨피규레이션 비트스트림이 항상 보안적이고 암호화된 상태로 유지되고, 제조 환경으로 어떠한 특수한 보안 절차, 직원, 장비(HSM)가 필요 없이 보안적으로 소유권 이전이 이루어진다. 그러므로 여타의 공장 키 프로비저닝 솔루션에서와 같은 시간과 비용을 절약할 수 있다.


▲ 래티스 SupplyGuard 서비스는 글로벌 공급 사슬을 따라서 이동하는 전 과정에서 래티스 FPGA를 허가되지 않은 접근으로부터 보호한다.

 

래티스 FPGA를 사용한 보안적인 시스템 제어

Sentry와 SupplyGuard의 새로운 보안 기능들은 래티스의 혁신적인 MachXO3D FPGA 제품을 사용해서 보안적인 시스템 제어를 달성한다. MachXO3D는 업계 최초로 시스템 제어 애플리케이션 용의 소형 풋프린트 저전력 FPGA로서, 컴퓨팅, 통신, 산업용, 자동차 분야의 다양한 애플리케이션들로 펌웨어 보호에 사용하도록 설계됐다.

MachXO3D는 래티스의 널리 인기를 끌고 있는 MachXO 제품군과 핀 호환이 가능하므로, 절반이 넘는 통신 시스템 및 서버에 채택되고 있는 검증된 아키텍처를 활용할 수 있다. MachXO3D는 자체적인 컨피규레이션 비트스트림을 안전하게 보호하고, ECDSA, ECIES, AES, SHA, HMAC, TRNG, 공용키/비밀키 생성을 비롯해서 NIST 인증을 받은 암호화 기능들을 사용해서 시스템 보안을 달성한다. 각기 디바이스가 온칩 플래시 메모리(보안적인 듀얼 부트 구성 지원), 외부적 펌웨어 인증을 위한 공용키 저장, 고유의 ID를 특징으로 한다.

어떠한 이유로 원래의 펌웨어가 훼손되면, MachXO3D가 자동으로 정식성이 확인된 버전으로 롤백해서 중단 없이 시스템 가동을 계속한다. Sentry 솔루션 스택을 사용해서 MachXO3D가 외부적 펌웨어에 대해서 지속적으로 이러한 인증 검사와 펌웨어 복구를 수행한다.

 

▲ 이 블록 다이어그램은 래티스 Sentry 기반 PFR 애플리케이션이 시스템 내의 모든 펌웨어 사례들을 어떻게 실시간으로 보호하는지 보여준다.

 

MachXO3D FPGA의 암호화 기능은 참 난수 생성(True Random Number Generation : TRNG)과 암호화 알고리즘 검증 프로그램(CAVP)에 관한 NIST SP 800-90B 규격을 충족한다. MachXO3D의 CAVP 기능에 대해서 FIPS(Federal Information Processing Standards)를 충족하는 것으로 외부적으로 인증을 받았다. FIPS는 암호화 소프트웨어에 관한 미국 연방 정부 표준이다.


래티스 Sentry와 SupplyGuard를 활용한 동적 신뢰 달성

래티스의 Sentry 솔루션 스택과 SupplyGuard가 결합해서, 고도의 복구력이 뛰어난 에지-투-에지 동적 신뢰 솔루션을 달성하기 위해서 필요로 하는 모든 것을 제공한다. SupplyGuard가 MachXO3D FPGA와 개발자 비트스트림의 무결성을 보호하고 플랫폼의 나머지 펌웨어들을 보호하기 위한 보안 기밀정보를 보호함으로써, 이 사슬에 있어서 최초의 고리를 형성한다. 


또한 이 FPGA는 공장 프로그래밍 시에 보안적으로 소유권을 이전할 수 있으므로 개발자가 서명하고 암호화한 컨피규레이션 비트스트림으로 매끄럽게 보호를 넘겨줄 수 있으며, Sentry PFR 기능을 구현해서 시스템 부팅 전과 시스템을 가동하는 동안과 시스템 수명이 끝나는 때까지 여러 번 새롭게 부팅하고 가동하는 것을 비롯한 모든 단계에 걸쳐서 플랫폼의 펌웨어들을 보호할 수 있다.

그러므로 시스템이 계속해서 의도대로 운영될 수 있고 어떠한 악의적인 공격에 대해서 나노초에 빠르게 대응할 수 있다. Sentry와 SupplyGuard를 사용해서 기존의 BMC/MCU/TPM 기반 아키텍처를 보완할 수 있다. 그러므로 개발자들이 기존 하드웨어 보안 솔루션을 계속해서 사용하면서 특정한 보안 및 공급 사슬 필요에 따라서 적응할 수 있다.


맺음말

오늘날 하드웨어 보안이 빠르게 변화하고 있다. 공급 사슬을 따라서 해커들이 시스템 펌웨어 취약점을 이용해서 데이터와 설계를 도용하고, 제품을 탈취하고, 복제품을 만들어서 그레이 마켓에서 유통할 수 있다. 그렇다면 개발자들이 이러한 위협에 어떻게 대응할 수 있을까? 이러한 대응으로서 NIST 800-193 표준을 충족하는 향상된 하드웨어 보안 제품 및 서비스를 도입하고 하드웨어 보안에 대해서 에지-투-에지 동적 신뢰 접근법을 도입할 수 있다. 래티스의 Sentry 솔루션 스택과 SupplyGuard 공급 체계 보안 서비스는 개발자들이 이 일을 쉽고 빠르게 할 수 있도록 돕는다.

 

/ 래티스 세미컨덕터(Lattice Semiconductor)

 

참고문헌
1 Source: National Vulnerability Database (2016 and 2019)
2 Source: Gartner, July 2019










배너









주요파트너/추천기업