IoT 설계에서 하드웨어 기반 보안의 중요성
1960년대 후반에서 1970년대 초, 지금 우리가 ‘인터넷’이라고 말하는 기술의 씨앗이 ARPANET(Advanced Research Projects Agency Network)의 형태로 처음 심어졌을 때에는 보안에 대한 관심은 거의 없었습니다. 그저 모든 노드와 접속 단말기가 군사 기지 안에 위치하기 때문에 안전하다고 생각한 것이죠. 스파이가 군사 기지에 존재할 가능성이나, 원격 단말기를 통해 시스템에 침투하는 해킹의 가능성에 대해서는 아무도 고려하지 않았던 것 같습니다.
이러한 고민의 부재가 어떠한 결과를 낳는지는 네트워크에 연결되는 교육기관과 과학시설의 수가 늘어날수록 점점 더 명백해졌지만, 정부 당국자들 중에 이 문제를 제대로 인식하는 사람은 거의 없는 것처럼 보였습니다. 1989년, 클리포드 스톨(Clifford Stoll)은 “뻐꾸기의 알: 컴퓨터 첩보 세계의 미로를 통해 스파이 추적하기(The Cuckoo’s Egg: Tracking a Spy Through the Maze of Computer Espionage)”라는 제목의 책을 출판했는데, 이 책은 캘리포니아 버클리 소재 로렌스 버클리 국립 연구소(Lawrence Berkeley National Laboratory (LBNL))의 한 컴퓨터에 침입한 해커를 추적한 저자의 1인칭 이야기였습니다.
그는 조사 과정에서 이 해커가 연구소 외에 군과 정부 시스템에도 침투하고 있다는 사실을 밝혀냈지만 연방수사국(FBI), 중앙정보국(CIA), 국가안전보장국(NSA), 미 공군 특별수사대(AFOSI) 등 당국자들 중에서 이 문제를 고민하고 있는 어느 누구도 설득하기 어렵다는 것을 알게 됐습니다.
오늘날에도 상황은 비슷합니다. 일선에서 보안 유지를 위해 정교한 시스템을 설계해야 하는 설계 엔지니어들에게는 해결해야 할 보안 이슈들이 점점 더 늘어나고 있지만 사람들은 이 문제에 무관심해 보입니다. 이번 포스팅에서는 사물인터넷(IoT)이 이러한 보안 설계 개발에 미치는 영향과 몇 가지 해결해야 할 과제, 그리고 이를 위한 솔루션에 대해 알아보겠습니다.
-
IoT 설계에서 하드웨어 기반 보안의 중요성 (출처: Cq photo juy/Shutterstock.com)
-첨단 보안 시스템을 설계할 때의 과제
설계 엔지니어는 자사 제품을 경쟁사 제품과 차별화하라는 주문을 소화하는 것만으로도 이미 업무가 포화상태라, 보안 대책까지 생각할 여력이 거의 없습니다. 보안은 복잡하며, 엔지니어들은 인간인지라 가급적 쉬운 길로 가고 싶어할 수 있습니다.
-보안 침해 사례들이 보편화하고 광범위하게 보고되면서 이 모든 상황이 달라지기 시작했습니다. 공장, 의료, 교육 및 금융 기관 담당자들은 보안 침해 사고가 초래할 여파에 대해 점점 더 우려하고 있습니다. 또한, 보안 기능이 작동할 때와 그렇지 않을 때 자신들에게 어떠한 영향을 미칠지, 예컨대 자신들이 사용하는 유아용 모니터나 보안 카메라 같은 스마트 비디오 카메라, 또는 아마존 에코(Amazon Echo)나 구글 홈(Google Home) 같은 스마트 어시스턴트, 또는 스마트 서모스탯이나 수많은 IoT 기기들에 누군가 원격으로 접속했을 때 일어날 수 있는 일들에 대해, 이제는 일반인들도 깨닫기 시작한 것입니다. 이러한 보안 문제는 시스템 설계자, 하드웨어 설계 엔지니어, 임베디드 소프트웨어 엔지니어 및 애플리케이션 소프트웨어 개발자 등 오늘날 복잡한 시스템을 개발하는 사람들에게 부담을 줍니다. 이들은 보안을 염두에 두고 시스템을 개발하는 임무를 맡고 있습니다.
-보안은 너무 많은 계층과 파장을 가지고 있어서 사람들의 머리를 복잡하게 만듭니다. SoC(System-On-Chip) 같은 반도체 칩 설계자들부터 살펴보겠습니다. SoC 개발에는 자체적으로 개발하는 부분 외에도, 여러 서드파티 벤더들의 다양한 IP 블록들이 거의 예외 없이 포함됩니다. 이들 IP 블록 각각은 작년의 전체 컴퓨터보다 더 복잡할 수 있습니다. 그렇다면 설계자와 시스템 설계자들은 이들 IP 블록에 어떠한 기능들이 숨어 있거나 감춰져 있지 않을 것이라고 어떻게 확신할 수 있을까요?
-위조 칩 문제
다음으로, 다양한 형태의 위조 칩 문제가 있습니다.
▶ 호환 칩: 누군가 정품 칩의 기능을 모방하여 부품을 제작한 것입니다.
▶ 재처리 칩: 제대로 관리되지 않는 공정을 악용하여, 누군가 전자폐기물로부터 부품을 채취하기도 합니다.
▶ 그레이 마켓(회색 시장) 칩: 오버빌드(overbuild), 재작업 실패 또는 폐기된 시스템에서 회수할 수 있습니다.
▶ 역공학 칩(로그 칩, rogue chip): 상대 회사가 칩을 분해해서 새로운 버전의 디바이스를 다시 만드는 것인데, 이 과정에서 데이터 손상, 오작동 유발, 무엇보다 데이터 유출이 포함될 수 있습니다.
-보안 시스템의 기초
시스템 자체를 제작하는 데 있어서, 보안 시스템의 기초를 형성하는 것은 다음과 같은 4가지 기본 요소들입니다.
-1. 하드웨어 기반 격리: 얼마 전까지만 해도 임베디드 시스템에서 모든 소프트웨어 모듈들은 전체 메모리 맵을 보고 액세스할 수 있는 방식으로 설계되었습니다. 이러한 방식은 이제 더 이상 좋은 아이디어로 받아들여지지 않습니다. 하드웨어 기반 격리 방식에는 다양한 방식이 존재합니다. 여기에는 메모리 보호 유닛(MPU)을 함께 사용하여 보안 및 비보안 환경을 지원하는 마이크로컨트롤러가 포함됩니다. 이들 하드웨어 기반 격리 방식의 핵심 개념은 애플리케이션을 여러 보안 도메인으로 분할하여 필요에 따라 액세스를 제한하는 것입니다.
-2. 신뢰점(Root-of-Trust, RoT): RoT는 자체 인증을 성공적으로 수행하고 시스템의 나머지 부분들이 보안적으로 안전하게 작동할 수 있도록 하는데 필요한 기본 수준의 하드웨어와 최소한의 관련 소프트웨어 조합으로 이루어집니니다.
-3. 안전한 부팅 솔루션: 다음 단계는 보안 부팅 솔루션을 사용하는 것으로, 시스템에 로드될 때 코드의 신뢰성과 유효성을 검증하기 위해 RoT를 사용하는 프로세스를 말합니다.
-4. 안전한 부트로더: 다음은 안전한 부트로더입니다. 이는 펌웨어의 역공학을 방지하고, 펌웨어의 무단 조작을 막고, 허가되지 않은 펌웨어를 허가되지 않은 장치에 로드하는 것을 차단함으로써 RoT 및 보안 부팅 솔루션의 범위를 확장합니다.
-수십억 개의 장치들이 여러 종류의 유무선 솔루션을 통해 클라우드에 연결되는 IoT 환경에서는 보안 문제가 심각해질 수 있습니다. 이를 예방하기 위해서는 소프트웨어 개발자가 하드웨어 설계자 및 클라우드 솔루션 담당자와 협력하여 즉각적으로 암호화/복호화를 수행하고, 인증서를 생성해서 장치들이 신뢰할 수 있는 호스트와 통신하고 있음을 알 수 있도록 모든 것을 인증해야 합니다. 이러한 시스템에 대한 보안 설정은 쉽게 복잡해질 수 있으며, 이를 위해서 엔지니어들에게 필요한 것은 자신이 작업하고 있는 하드웨어가 인증된 OEM 반도체를 사용하고 있다고 보장해주는 것입니다.