IoT 보안의 8가지 원칙
임베디드 개발 엔지니어는 효과적인 보안 기술 구현과 관련하여 많은 과제들에 직면해 있습니다. 보안이 필요한 대상에서부터 보안 환경, 보호해야 할 특정 공격 벡터에 대한 지식이 필요합니다. 침해 사례에 대한 제보가 넘치고 사람들의 관심이 높아지는 긴급한 사이버 보안 공격에 대해서는 굳이 말할 것도 없습니다.
-임베디드 시스템의 보안은 더 이상 선택 사항이 아닙니다. 초기에는 주요 공격 경로가 인터넷 트래픽에서 시작되었지만, 더 많은 제품들이 연결되면서 이제는 전체 임베디드 시스템이 지속적이고 다양한 위협에 노출되고 있습니다.
이제 개발자는 다양한 기술들을 활용하여 시스템 보안 작업을 훨씬 쉽게 처리할 수 있습니다. 실리콘랩스(Silicon Labs)는 업계 선도적 기구인 ioXt 얼라이언스(ioXt Alliance)의 설립 회원사로서, 여러 파트너사들과 함께 사물인터넷(IoT) 보안의 8가지 핵심 원칙을 만들었습니다.
-
IoT 보안의 8가지 원칙 (출처: buffaloboy/Shutterstock.com)
-
-이번 포스팅에서는 그 8가지 원칙에 대해 살펴보겠습니다.
원칙 1 – 범용 암호 사용금지
양산형 컨수머 기기들은 종종 모두 동일한 기본 암호가 설정되어 배송되기도 합니다. 일반적으로 사용자는 새 기기를 빨리 설치하고 싶어하는 마음에 이 기본 암호를 새로운 암호로 변경하지 않은 채 내버려두는 경우가 많습니다. 각각의 신제품들마다 고유한 암호를 설정하여 공장에서 출고하는 것은 향후 이들 제품이 설치됐을 때 공격자가 장치에 접속 또는 제어하는 --것을 더 어렵게 만드는 간단하면서도 꼭 필요한 첫 번째 단계입니다.
-원칙 2 - 보안 인터페이스
마이크로컨트롤러에 기반한 모든 기기들은 로컬 또는 원격으로 액세스할 수 있는 여러 인터페이스와 포트를 가지고 있습니다. 이들 포트 중 일부는 기본 애플리케이션을 작동하거나 통신할 때 사용됩니다. 하지만 나머지 포트들, 특히 외부 통신 인터페이스로 기능하는 것들은 모두 보안이 이루어져야 합니다. 마찬가지로, 마이크로컨트롤러-디스플레이 컨트롤러 사이에 사용되는 것과 같은 모든 I2C 인터페이스는 보호되어야 합니다. 사용 중에는 가능한 모든 인터페이스를 암호화하고 인증하는 것이 바람직합니다.
-원칙 3 – 검증된 암호화
개방적이고 상호운용 가능한 기술 분야에서는, 업계에서 인정하고 개방적이며 검증된 암호화 표준을 사용하는 것이 필수입니다. 폐쇄형 독점 암호화 알고리즘은 사용하지 않는 것이 좋습니다. 검증된 개방형 암호화 표준을 사용하면 모든 개발자, 엔지니어, 이해 관계자가 참여하여 새로운 보안 위협에 대한 잠재적인 취약성을 지속적으로 평가할 수 있습니다.
-원칙 4 – 기본적으로 강화된 보안
판매되는 새 제품에는 가능한 가장 높은 수준의 보안이 이미 설정되어 있어야 합니다. 보안 옵션이 설정되지 않았거나 최소한의 보안 설정이 적용된 제품이 배송되면 공격자가 이를 악용할 수 있습니다. 소비자는 가능한 모든 보안 조치가 활성화된 기본 보안 상태를 경험할 수 있어야 합니다. 즉, 개발자는 기본적으로 소비자를 보호되지 않은 상태로 방치하면 안 됩니다.
-원칙 5 – 승인된 소프트웨어 업데이트
무선을 통해 자동으로 업데이트할 수 있는 스마트홈용 컨수머 기기 수가 늘어남에 따라 모든 업데이트는 암호화된 방식으로 승인되어야 합니다. 이러한 방식을 통해, 시스템 자동 업데이트 과정에서 해커가 악성 코드를 심으려는 시도를 차단할 수 있습니다.
-원칙 6 – 자동 적용되는 소프트웨어 업데이트
제품의 소프트웨어 이미지를 업데이트할지 여부를 결정할 때, 소비자가 자신의 장치에 대한 관리자가 될 필요는 없습니다. 즉, 업데이트가 필요하다면 자동으로 이루어져야 합니다. 또한 업데이트는 기기의 작동을 방해하지 않는 시간에 진행돼야 합니다. 예를 들어 스마트 커넥티드 세탁기의 업데이트는 세탁기가 가동되는 동안 진행되어서는 안 된다는 것입니다.
-
원칙 7 – 취약성 신고 체계
임베디드 스마트홈 기기에 문제가 생기면 누구에게 신고해야 할지 잘 모르는 경우가 많습니다. “도용되었습니까?”, “보고해야 하는 새로운 취약점이 있습니까?” 이 원칙은 제품 제조사가 고객이 문제점을 신고하고 보안에 대한 우려를 전달할 수 있는 방안을 마련하도록 합니다.
-원칙 8 – 보안 만료일
제품 구매일로부터 기술 지원 등 서비스를 보장받을 수 있는 제품 보증 만기일과 마찬가지로, 보안 업데이트 역시 사용할 수 있는 기간을 정해서 소비자에게 알려야 합니다. 제품에 대한 보안 업데이트를 계속 지원하려면 지속적인 엔지니어링 비용이 필요하므로 소비자는 해당 정보를 확인해서 구매 결정을 내려야 합니다. 제조사 역시 지속적인 보안 업데이트를 상쇄하기 위한 보증 연장 옵션을 제공할 수 있습니다.
이러한 원칙에 대한 자세한 설명은 실리콘랩스 – IoT 엔드포인트 보안 기초 문서에서 확인할 수 있습니다.
-스마트홈의 보안
IoT 덕분에 우리는 몇 년 전에는 상상도 할 수 없을 만큼 많은 가정을 제어할 수 있게 됐습니다. 다음 세대의 사이버 범죄에 대한 대응은 우리가 해결해야 할 과제가 될 것입니다. 실리콘랩스의 최첨단 시큐어 볼트(Secure Vault)는 커넥티드 디바이스 제조사가 외부 사이버 공격으로부터 디바이스를 보호하고 칩 인증을 보장함으로써 점점 더 진화하는 위협을 해결할 수 있도록 설계되었습니다. 시큐어 볼트는 비용 추가나 복잡함에 대한 우려 없이, 무선 업데이트를 통해 제품 보안과 미래 경쟁력을 강화하고 보안 규정을 해결합니다.
-실리콘랩스 시큐어 볼트의 주요 기능
▶ 각 실리콘 다이에 대해 출생 증명서와 유사한 보안 장치 ID 인증서(Secure Device Identity certificate)를 사용함으로써, 배포 후 보안, 신뢰성 및 증명서 기반 상태 확인이 가능하여 칩의 수명 동안 신뢰성을 보장합니다.
▶ 첨단 조작 탐지 기능(Advanced Tamper Detection)을 통해 개발자는 디바이스가 취약성을 나타낼 수 있는 극단적인 전압, 주파수 및 온도 변화와 같은 예기치 않은 동작을 경험할 때 적절한 대응 조치를 설정해 놓을 수 있습니다.
▶ IoT 기기 및 해당 데이터에 대한 직접 액세스로부터 보호하는 핵심 부품인 보안 키 관리 및 저장 장치(Secure Key Management and Storage)를 사용함으로써, 애플리케이션 코드로부터 키를 암호화 및 격리하고, 물리적 복제 방지 기능(PUF) 하드웨어에서 생성된 마스터 키 암호화 키(KEK)를 사용합니다.