IoT 기술에서 부각되고 있는 하드웨어 보안의 중요성 이해하기

사물 인터넷(IoT) 부문에서 보안이 점차 큰 문제가 되면서 사이버 공격으로부터 기기를 확실하게 지킬 수 있는 하드웨어 보안에 대한 관심이 커졌습니다. 이 글에서는 기존 하드웨어 보안 사례와 IoT 기기를 지킬 때 이를 어떻게 사용하는지에 대해 살펴봅니다.

하드웨어 보안의 부상

 

IoT 기기와 솔루션의 확산으로 인공 지능 트레이닝에 관한 데이터와 프로세스의 원격 모니터링과 제어 능력을 포함해 기술 개발의 기회가 폭 넓게 열렸습니다. 그러나 IoT 기술은 양날의 검입니다. 즉, 사이버 범죄자들에게 대규모 분산 서비스 거부(DDoS) 공격, 데이터 절도, 네트워크 해킹, 사생활 침해의 기회도 제공합니다. 이러한 공격 일부는 소프트웨어 기반의 보안을 사용하여 막을 수 있지만 모든 공격을 막아내지는 못합니다.

 

예를 들어, IoT 기기를 보안 데이터 전송에 사용할 수 있지만 기기의 하드웨어에 물리적 공격이 가해질 경우에는 그 어떤 소프트웨어 루틴으로도 막을 수 없습니다. 하드웨어 보안이 SoCs, 마이크로컨트롤러와 마이크로프로세서에 많이 사용되는 이유가 바로 여기에 있습니다. 그 동안 하드웨어 보안은 암호화 엔진 같은 소프트웨어 보안의 속도를 단축할 수 있는 하드웨어로 구성되었지만 지금은 설계자들이 여기서 더 나아가 금속 자체를 보호하는 시스템을 만들기 시작했습니다.

 

하드웨어 공격 유형

 

하드웨어 공격은 뉴스에 잘 나오지 않는데 그 이유는 기기에 물리적으로 접근하기가 어렵기 때문일 것입니다. 예를 들어, 이메일 계정 해킹은 인터넷 연결을 통해 다양하게 이루어질 수 있지만 랩톱을 훔쳐 그 안에 저장된 이메일에 접근하는 것은 완전히 다른 일입니다. 그러나 기기를 물리적으로 확보할 수 있는 경우에도 기기에 있는 모든 데이터에 접근하는 데는 많은 기술이 필요하지 않습니다.

 

부채널 공격

 

부채널 공격(side-channel attack)은 보안 시스템 밖에 있어 보안이 취약한 서브 시스템을 통해 보안이 매우 잘 된 시스템을 간접적으로 공격하는 방식입니다. 예를 들어, Windows에서 비밀번호로 보호되는 사용자 계정에 있는 파일의 경우 하드 드라이브를 분리하여 다른 컴퓨터에 연결하면 쉽게 접근할 수 있습니다. 공격자가 폴더의 “소유권을 탈취하면” 모든 파일에 접근할 수 있게 됩니다. 사용자 계정 비밀번호가 없어도 되며, 보안 시스템을 쉽게 우회할 수 있습니다.

 

로해머 공격

 

로해머 공격(rowhammer attack)은 고밀도 DRAM에 적용되는 취약점 공격입니다. 트랜지스터 카운트가 늘고 실리콘 웨이퍼의 피처 크기가 작아져 최신 DRAM 칩의 메모리 셀은 상당히 밀집되어 있습니다. 실제로 DRAM 셀은 매우 조밀해 각 셀이 인접 셀의 값을 변경할 가능성이 낮습니다.

 

로해머 공격은 이 점을 악용하는데, 인접 행에 있는 메모리 자료의 값을 변경하여 “보호되는” 메모리 행의 값을 변경할 수 있습니다. 공격자가 접근할 수 없는 보호 공간으로 값을 주입할 수 있는 능력은 보안 시스템을 우회하고 커널 수준의 권한이 있는 애플리케이션으로 악성 코드를 주입할 때 사용될 수 있습니다.

 

하드웨어 보안의 예

 

설계자들은 소프트웨어 영역 밖에서 가동하는 실리콘 자체로 하드웨어 보안 조치를 배포하여 하드웨어 공격으로부터 기기를 보호할 수 있습니다. 현재 하드웨어 영역에 존재하는 보안 사례는 무엇이 있을까요?

 

암호 가속화

 

앞에서 살펴보았듯이 이것은 하드웨어 보안의 초기 형태 중 하나이며, 하드웨어 방어라기 보다는 주변기기에 가깝습니다. 암호 가속화는 소프트웨어가 아닌 하드웨어에서 암호 기능을 수행하여 애플리케이션 속도를 높이는 것은 물론 소프트웨어에서 악용될 수 없는 시스템을 하드웨어에 제공하는 하드웨어입니다.

 

예를 들어, 소프트웨어 버전 AES는 코드가 주입될 수 있어, 공격자가 암호화된 결과를 쉽게 되돌릴 수 있지만, 하드웨어 버전 AES는 변경이 불가능해 공격이 어렵습니다.

 

진성 난수 생성기

 

난수 생성기는 암호 가속화로 간주할 수 있지만 자체 범주를 가질 정도로 중요합니다. 거의 모든 형태의 암호화는 난수에 의존하는데, 난수의 무작위성이 클수록 난수를 사용하는 암호화 효과가 좋습니다. 소프트웨어로 작성되는 난수 생성기는 시간을 속도로 사용하는 경우가 대부분이기 때문에 공격자가 쉽게 공격할 수 있습니다.

 

난수를 잘못 사용한 사례 중 하나로 보안 전문가 두 명이 원격으로 Jeep를 해킹하고 차량을 완전히 장악한 경우가 있었습니다. 차량의 멀티미디어 시스템에 연결하고 차량의 CAN 버스를 통해 메시지를 전송하여 가능했던 공격이었습니다. 이렇게 해커들이 차량의 스티어링, 브레이크, 액셀러레이터를 장악하게 되었습니다.

 

이 공격은 차량 Wi-Fi 비밀번호가 생성되는 방식(“무작위” 생성 방식) 덕분에 가능했던 것입니다. Wi-Fi 비밀번호는 차량의 멀티미디어 시스템이 처음 켜지는 날짜와 시간을 기준으로 생성되었습니다. 일반적으로 이 방식은 안전하지만 차량 제조 일자는 연도와 월로 쉽게 알 수 있기 때문에 공격자가 1,500만 개의 조합만으로 알아낼 수 있습니다. 시간을 정확히 추측할 수 있으면 가능한 조합은 7백만 개로 줄어들며, 7백만 개의 Wi-Fi 비밀번호는 1시간이면 무차별 대입 공격이 가능합니다. 진성 난수를 사용했다면 이 Wi-Fi 비밀번호는 깨기가 매우 어려울 것입니다. 그러나 비-무작위 요소에 기반했기 때문에 쉽게 우회한 것입니다.

 

메모리 암호화

 

날짜 암호화는 수천 년 전부터 있었습니다. 당시엔 엿보는 눈길로부터 정보를 가리기 위해 암호가 사용되었습니다. 전송 전에 데이터를 암호화하는 컴퓨터의 경우도 이와 같습니다. 그러나 이 암호화 방식이 메모리에 데이터를 저장하는 방향으로 이동하기 시작하면서 이제는 ROM과 RAM 둘 다 암호화 옵션이 있습니다. 이 방식을 취하면서 설계자들은 공격자가 RAM이나 ROM의 자료를 획득할 경우 정확한 하드웨어에 접근하지 못하면 정보 자체를 판독하지 못하게 할 수 있습니다.

 

메모리 보호 자체는 새로운 것이 아닙니다. 읽기 방지 비트를 포함해 대부분의 마이크로컨트롤러는 펌웨어 복제를 막습니다. 플래시 암호화도 마찬가지입니다. 대부분의 FPGA에서 구성 플래시 메모리 암호화를 지원합니다. 그러나 새롭게 등장한 이 메모리 암호화 방식은 순간적으로 이루어져 액세스 속도가 거의 동일합니다.

 

보안 부팅

 

거의 모든 프로세서에 있는 큰 문제 중 하나는 부팅한 코드가 악성이 아닌 인증된 코드인지를 어떻게 알 수 있는가입니다. 시스템의 코어 부팅 코드의 신뢰성을 확인할 수 없기 때문에 추가 부팅 단계가 가능할 수 있어 대부분의 공격자들은 코어 부팅 코드나 이후 로드되는 애플리케이션에 코드를 주입하려고 할 것입니다.

 

이를 막기 위해 설계자들은 변경이 불가능해 코드 주입 공격이 의미가 없는 부팅 코드를 실행하여 시동되는 프로세서에 보안 부팅 방법을 도입했습니다. 이후 이 부팅 코드는 로드될 애플리케이션을 살펴보고 코드의 무결성을 확인합니다. 주입된 코드가 발견되면 시스템이 제한된 상태로 실행되거나 코드 무결성 문제가 발견되었다는 사실을 운영 체제로 경고할 수 있습니다.

 

신뢰 영역

 

신뢰 영역(trust zone)은 마이크로컨트롤러에서는 다소 생소한 개념이지만 프로세서에서는 매우 오래된 기법입니다. 신뢰 영역은 실행하는 코드가 악성인지 모르고 실행한다는 점에서 프로세스에 생기는 문제를 해결하는 데 도움이 됩니다.

 

모든 CPU 명령이 본질적으로 위험한 것은 아니지만 일부는 위험할 수 있는데 이중에는 하드웨어, 스택 포인터 또는 필수 시스템에 대한 접근이 포함될 수 있습니다. 따라서 최신 프로세서에는 여러 권한 수준이 있는데 OS는 최상위 권한으로 실행되고 모든 명령에 액세스할 수 있으며, OS가 실행하는 프로세스는 하위 권한이 부여됩니다. 이러한 프로세스는 민감한 명령에는 액세스하지 못해 프로세서 내 필수 시스템을 손상시키거나 공격할 가능성이 낮습니다.

 

현재 많은 SoC와 마이크로컨트롤러에서 코어에 이러한 신뢰 영역을 도입하고 있어 OS가 한 코어에서 실행되고, 프로세스는 동일 코어에서 더 적은 권한으로 실행되거나 일부 기능이 제거된 보조 코어에서 실행될 것입니다.

 

탬퍼 핀

 

탬퍼 핀(tamper pin)은 발견하여 막아내기가 어렵기 때문에 매우 유용한 하드웨어 기능입니다. 일부 하드웨어 공격은 공격자가 디버그 포트와 메모리 채널 같은 I/O에 접근하려면 부품을 실제로 제거해야 합니다. 기기에 따라서는 외함 개봉 같은 외부에서 기계적 상황이 발생했을 때 이를 감지할 수 있는 것이 탬퍼 핀입니다. 상황이 감지되면 탬퍼 핀이 프로세서로 명령을 내려 특별한 루틴을 실행하게 할 수 있습니다. 단순한 재부팅으로 민감한 데이터를 읽지 못하게 하는 것에서부터 메모리 전체 삭제 같이 보다 과감한 조치까지 다양할 수 있습니다. 탬퍼 핀은 공격자에게 의미 없어 보여 그냥 지나칠 수 있는 모호한 핀에도 사용될 수 있습니다.

 

고급 하드웨어 보안: 버스 모니터

 

지금까지 확인된 하드웨어 보안 사례 전체를 하나의 패키지에 담아 사용자에게 광범위한 보안 옵션을 제공하는 경우가 종종 있습니다. 그러나 새로운 유형의 하드웨어 보안이 서서히 도입되면서 완전히 새로운 패러다임으로 바뀌고 있는데 이것이 바로 버스 모니터입니다.

 

버스 모니터는 마이크로컨트롤러의 SoC에 직접 통합되어 시스템과 별도로 운영되는 고도로 앞선 보안 시스템입니다. 버스 모니터는 여러 내부 버스와 커넥터에 연결되는데 I/O 핀, 레지스터, 내부 데이터 버스, 프로그래밍 포트가 이에 해당합니다. 정상 운영 상태에서는 다이의 내부 연결부가 안정 상태이며, 이를 모니터가 알게 됩니다. 악성 코드가 주입되거나 핀에 하드웨어 공격이 있으면 버스 모니터의 안정 상태가 교란됩니다. 이에 따라 버스 모니터가 변칙에 대응 조치를 취하게 됩니다. 버스 모니터에 따라 일부는 OS에 예외를 제기할 수 있고, 일부는 시스템 리셋을 야기할 수도 있습니다. 일부 버스 모니터는 잠재적 악성 레지스터의 요청을 프로세스에서 다른 곳으로 가도록 돌려 Null 값을 반환하게 하고 시도된 공격을 기록할 수 있습니다.

 

결론

 

하드웨어 보안 구현으로 실리콘 비용이 상승하겠지만 하드웨어 기반 보안을 갖출 때의 이점 때문에 설계의 보안은 더욱 강화될 것입니다. 소프트웨어 보안은 많은 일을 해낼 수 있으며, 전적으로 소프트웨어 보안에 기반하는 시스템은 공격하기 쉬운 대상이 될 것이며, 하드웨어 보안을 통합한 시스템은 훨씬 더 강해질 것입니다.

 

실제로 메모리를 바로 암호화할 수 있는 능력은 장기적으로 기기를 지키는 데 도움이 되며, 정보 유출 없이 전자장치를 폐기해야 하는 사람들의 걱정을 덜어줍니다. 버스 모니터 같은 기술은 공격에 대해 알 수 있고 패턴 신호를 인지하여 향후 공격을 선제적으로 막아낼 수 있는 더욱 지능적인 보안 시스템으로 이어질 것입니다.

 

전반적으로 볼 때 하드웨어 보안은 보안 관행의 표준이 될 것이며, 이러한 기능이 통합되지 않은 기기는 기본 운영 및 작업으로 제한될 것입니다.

 

 

최신 뉴스

Sorry, your filter selection returned no results.

개인정보 보호정책이 업데이트되었습니다. 잠시 시간을 내어 변경사항을 검토하시기 바랍니다. 동의를 클릭하면 Arrow Electronics 개인정보 보호정책 및 이용 조건에 동의하는 것입니다.

당사의 웹사이트에서는 사용자의 경험 향상과 사이트 개선을 위해 사용자의 기기에 쿠키를 저장합니다. 당사에서 사용하는 쿠키 및 쿠키 비활성화 방법에 대해 자세히 알아보십시오. 쿠키와 추적 기술은 마케팅 목적으로 사용될 수 있습니다. '동의'를 클릭하면 기기에 쿠키를 배치하고 추적 기술을 사용하는 데 동의하는 것입니다. 쿠키 및 추적 기술을 해제하는 방법에 대한 자세한 내용과 지침을 알아보려면 아래의 '자세히 알아보기'를 클릭하십시오. 쿠키 및 추적 기술 수락은 사용자의 자발적 선택이지만, 웹사이트가 제대로 작동하지 않을 수 있으며 사용자와 관련이 적은 광고가 표시될 수 있습니다. Arrow는 사용자의 개인정보를 존중합니다. 여기에서 당사의 개인정보 보호정책을 읽을 수 있습니다.