[테크월드뉴스=이혜진 기자] 임베디드 네트워크 장치의 가격이 떨어짐에 따라 어디서나 이를 쉽게 볼 수 있게 됐다. 라즈베리 파이가 대표적이다. 그러나 여기엔 숨겨진 비용이 있다. 가격이 하락한 만큼 보안 기능이 결여됐단 점이다. 이런 장치는 영상, 사진 또는 오디오와 같은 개인 정보를 유출하거나 전 세계를 대혼란에 빠뜨린 봇넷의 일부가 될 수 있다.

엣지 컴퓨팅 개요

엣지 컴퓨팅은 중앙 집중식 컴퓨팅 자원을 데이터 소스에 더 가깝게 옮기는 패러다임을 말한다. 이는 ▲독립적인 운영 ▲빠른 응답 시간 ▲전체 스펙트럼에서 컴퓨팅 요구의 균형 향상 등 다양한 이점을 제공한다.

클라우드 인프라는 엣지에서 장치를 관리한다. 사물 인터넷(IoT) 기기는 엣지 게이트웨이와 같은 엣지 장치를 통해 클라우드에 연결함으로써 글로벌 통신을 최소화한다.
독일 시장조사 기관 스태티스타의 자료에 따르면 2018년을 기준으로 전 세계에 230억 개의 연결된 IoT 기기가 있는 것으로 추산된다. 전문가들은 이 수치가 2025년엔 750억 개로 늘어날 것으로 전망하고 있다. 2016년 IoT 기기를 목표로 수백만 명의 인터넷 접속을 방해한 미라이 멀웨어는 이런 기기에 대한 보안을 강화해야 할 필요성을 보여줬다. 실제로 공격자가 특정 장치의 공격 지점을 찾아내면, 공격자는 다른 동일한 장치에 대량으로 공격할 수 있다.

더 많은 장치들이 엣지로 확산함에 따라 해당 장치에 대한 위험도 증가하고 있다. 연결된 장치는 공격자가 주의를 끌기 위해 공격하거나, 봇넷을 확장하기 위해 악용할 수 있는 목표가 된다. 그렇다면 엣지 컴퓨팅 장치를 보호하는 방법은 없을까. 다음은 몇 가지 예다.

장치의 보안

장치가 어떻게 공격받는지 이해하기 위해선 이른바 ‘공격 표면(attach surface)’에 대해 알 필요가 있다. 이는 공격자가 공격하거나 장치로부터 데이터를 추출하려고 시도하는 모든 지점을 뜻한다. 공격 표면엔 ▲장치와 인터페이스하는 네트워크 포트 ▲직렬 포트 ▲ 장치 업그레이드에 사용되는 펌웨어 업데이트 프로세스 ▲물리적 장치 자체가 포함된다.

공격 벡터

공격 표면은 보안을 위한 방어의 초점이 된다. 이에 대응해 장치의 보안은 장치에 대해 가능한 공격 벡터를 이해하고, 이를 보호해 공격 표면을 줄이는 과정이다. 공격 벡터는 인터페이스, 프로토콜, 서비스를 포함한다.

이제부턴 인터페이스(네트워크나 로컬), 펌웨어 주변의 다양한 표면과 물리적 패키지 자체의 공격 벡터를 살펴보고, 이를 보호하는 방법을 알아본다.

1) 통신

인터페이스나 프로토콜 공격은 여러 계층의 문제다. 데이터 보안을 포함해 클라우드와의 통신 보안뿐 아니라 장치에 대한 액세스 보안이 있다.

전송 계층 보안(TLS)은 장치와 주고받는 모든 통신을 보호해야 한다. 이 같은 암호화 프로토콜은 양측이 통신 대상을 지정할 수 있게 보장하는 인증뿐 아니라 도청을 막기 위한 모든 데이터 암호화를 포괄한다. TLS는 인터넷과 같은 공공망에서 원격 클라우드와 통신하는 엣지 장치에 이상적이다. 

데이터가 IP 네트워크에서 이동하는 속도를 고려하면, 인증과 데이터 암호화 및 암호해독을 효율적으로 관리하기 위해선 하드웨어 가속이 필수다. TI의 EK-TM4C129EXL 같은 하드웨어 암호화 가속 기능이 있는 프로세서는 TLS용 온칩 암호화 가속 기능을 포함해 원격 시스템과의 안전한 통신을 보장한다.

인증을 위해 커버로스와 같은 프로토콜을 사용하면 클라이언트와 서버가 안전하게 식별할 수 있다. 커버로스는 대칭 키 암호화 또는 공개 키 암호화를 사용한다. 둘 다 암호화 엔진을 내장한 프로세서를 사용해 가속화할 수 있다.

2) 프로토콜 포트

네트워크 인터페이스와 사용되는 프로토콜 포트는 인터넷에 연결된 장치에서 가장 큰 공격 벡터 중 하나다. 이들 포트는 장치에 프로토콜의 접속을 노출한다. 예컨대 웹 인터페이스는 보통 포트80을 통해 노출되므로, 공격자에게 시도할 공격 유형에 대한 정보를 제공한다.

이런 포트를 보호하는 가장 간단한 방법 중 하나는 방화벽이다. 방화벽은 포트를 보호하기 위해 포트에 대한 접속을 제한하도록 설정할 수 있는 애플리케이션이다. 일례로 방화벽은 신뢰할 수 있는 호스트를 제외한 포트에 대해선 접속을 금지하는 규칙을 포함할 수 있다. 이는 포트에 대한 접속을 제한하고 버퍼 오버플로우와 같은 프로토콜을 악용한 일반적인 공격을 막는 데 도움이 된다.

3) 펌웨어 업데이트

엣지 장치는 머신러닝(기계 학습) 애플리케이션을 포함해 이전 세대보다 고급 기능을 수행하며 점점 복잡해지고 있다. 이런 복잡성으로 인해 문제를 해결하고 장치에 대한 업데이트를 제공해야 한다. 그러나 펌웨어 업데이트 프로세스는 공격 벡터를 만든다. 엣지 보안 계획에 펌웨어 업데이트에 대한 보안 조치를 포함하면 공격자에 의한 위험을 줄일 수 있다.

코드 서명은 악성 코드가 장치에 침투하지 못하게 하기 위해 사용하는 방법이다. 이는 펌웨어 업데이트 프로세스 전에 장치에 사용할 수 있는 암호화 해시로 펌웨어 이미지에 디지털 서명을 함으로써 코드가 안전하며 서명 프로세스 후 변경되지 않았음을 보장한다.

부팅 시에도 서명된 코드로 로컬 저장 장치의 펌웨어가 변경되지 않았는지 확인할 수 있다. 여기엔 2개의 공격 벡터가 포함된다. 하나는 장치의 업데이트 프로세스를 이용해 공격하는 이미지로부터 장치를 업데이트하려는 시도다. 또 하나는 로컬 저장 장치에 삽입된 이미지로부터 장치를 보호하는 경로다.

장치에서 사용하는 프로세서는 해시 생성과 검사를 위한 보안 암호화 엔진을 구현할 때 유용할 수 있다. 한 예로 고급 암호화 표준(AES)과 해시 엔진을 포함하는 마이크로칩의 CEC1302가 있다.

신뢰할 수 있는 플랫폼 모듈(TPM)을 사용하는 것도 유용하다. 보안 암호화 프로세서인 TPM은 해시 생성, 키 저장, 해시 및 암호화 가속화 등 여러 기능을 포함한다. 일례로 마이크로칩의 AT97SC3205T는 8비트 마이크로컨트롤러에서 TPM을 구현한다. 

조작 방지 설계를 구현하면 장치가 물리적으로 열렸거나 손상됐을 때 이를 탐지할 수 있다. 여기엔 외부 신호를 최소화해 공격자가 자신이 소유한 장치를 모니터링하고 공격을 식별할 수 있는 방법을 제한하는 것도 포함된다. 공격자는 버스 신호를 모니터링해 보안 정보를 확인하려고 시도할 수 있다. 극단적인 경우 장치의 온도를 변화시켜 클록 신호를 바꾸거나 방사선으로 오류를 유발할 수도 있다. 악의적인 공격자가 특정 장치를 이해하기 위해 사용할 만한 방법을 이해하는 것은 안전한 제품을 만드는 데 도움을 준다.

공격 표면에 대한 조기 분석이 중요

오늘날 사이버 전쟁과 악의적인 동기에 맞서 개인과 국가는 장치의 엣지 보안을 구축해야 한다. 이를 위해 최신 보안 관행을 구현하고 제품 개발을 시작할 때 보안을 고려하면 장치를 안전하게 유지할 수 있다. 이 과정에서 장치의 공격 표면을 조기에 분석하면 더 안전한 장치를 만들기 위해 어디에 주의를 기울여야 하는지 더 쉽게 식별할 수 있다. 자세한 내용은 마우저 보안 블로그에서 확인할 수 있다.

이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지
이 기사와 관련된 기사