컴퓨터 바이러스, 피싱 공격 및 기타 웹 기반 침해가 온라인에 피해를 입힐 수 있습니다. 좀더 복잡하면서도 어쩌면 우리가 잘 느끼지 못하는 것은 우리가 불과 몇 년 전만 해도 SF물에나 나오는 것으로 생각했던 커넥티드, 임베디드 장치들로 둘러싸여 있을 때가 종종 있다는 점입니다. 작은 무선 칩들은 너무나 저렴해서 전구 같은 사소한 물리 장치에 널리 사용되고 있습니다.
이렇듯 연결된 사물들의 네트워크가 항상 존재하는 가운데, 악의적 행위자가 (어쩌면 보안이 안 된) 장치들을 불법적인 목적으로, 예를 들어 여러분의 네트워크를 장악하거나 봇넷의 일부를 구성하기 위해 사용할 수도 있다고 생각해 보십시오. 누군가는 최종 사용자들이 각자 장치를 안전하게 설정하기를 바랄 수도 있겠지만, 엔지니어와 시스템 설계자들은 그렇지 않을 거라고 가정하는 것이 좋습니다.
그러므로 처음부터 장치에 장치 보안 기능을 통합해야 합니다. 이 부분은 해커들이 AI와 그 밖의 고급 툴에 액세스해서 새로운 공격 벡터를 만들거나 기존의 기법들을 더 향상시킬 수 있는 분야에서는 특히 중요합니다.
본 문서에서는 OEM 장치 보안의 구현에 도움이 되는 다섯 가지 중요한 개념에 대해 살펴봅니다.
#1 보안은 제품의 전체 수명 주기에 걸친 끊임없는 여정입니다
커넥티드 기기가 고객에게 배송될 때는 이미 엔지니어들에 의해 기기의 보안을 위한 적절한 조치가 취해진 상태일 것입니다. 개별 엔지니어링 팀들은 보안에 중점을 둘 수 있겠지만, 그 다음 팀은 어떨까요? 크고 복잡한 조직이 다양하고 여러 가지 역할로 구분된 각 그룹들에 보안 절차가 균일하게 적용되고 구현되게 하려면 어떻게 해야 할까요? 제품 수명 주기의 후반부에 또 다른 보안 위협이 등장해서 이를 해결해야 할 때는 어떻게 해야 하나요?
그것은 Microsoft 보안 개발 수명 주기 가이드에 따라 해결해야 하는 어려운 작업입니다. Microsoft는 회사 전반에 걸쳐 설계 우수 사례가 적용되도록 하는 데 있어서 필수적인 다섯 가지 보안 원칙을 규정하고 있습니다. 그 원칙은 다음과 같습니다.
- 요구 사항 – 당장 할 일과 고유의 보안 요구 사항을 정의합니다
- 설계 – 앞에서 정한 보안 요구 사항을 충족하는 소프트웨어/펌웨어를 설계합니다
- 구현 – 설계 사양에 따라 코드를 작성합니다
- 검증 – 코드의 오류와 보안 결함 여부를 분석합니다
- 배포 – 결함이 발생하면 빠르게 교정할 수 있도록 조금씩 계속해서 업데이트를 배포합니다
Microsoft는 그 소프트웨어 및 클라우드 제품과 서비스로 가장 잘 알려져 있지만, 지능적인 커넥티드 기기가 점점 더 많아지고 있는 우리 시대에는 이와 동일한 개념들을 OEM 보안에도 적용하고 이에 맞게 수정할 수 있습니다.
이러한 핵심 원칙들을 보완하는 것은 지속적인 교육(인적 자원도 항상 업데이트되도록 유지)과 대응 즉, 대책을 신속하게 파악하여 구현하는 것입니다.
마지막으로, 제조사는 제품 수명 주기의 후반부에 하드웨어를 폐기하는 일과 직접적으로 연관되어 있지 않겠지만 시운전 후에 OEM 기기가 어떻게 되는지에 대해 생각해보는 것이 좋습니다. 최종 사용자에게 민감한 데이터를 적절히 폐기하라고 권고하는 것은 좋지만 실제로는 그렇게 될 수도 아닐 수도 있습니다. 더 좋은 방법은 불필요한 정보는 더 이상 프로세스에 중요하지 않게 될 때 삭제하는 메커니즘을 적용하는 것입니다.
#2 양방향 보안 인증
완벽한 IoT 세상에서는 보안이 필요 없을 것이며 데이터가 그저 한 장치에서 다른 장치로 전송될 뿐일 것입니다. 하지만 안타깝게도 그런 일은 없습니다. 악의적 행위자들은 네트워크를 크게 혹은 작게 교란시킬 수 있는 방법을 모색합니다. 보안 침해는 여러 가지 형태와 규모로 발생하지만 임베디드 기기 수준이든 개별 컴퓨터든 클라우드든 양방향 보안 인증의 부재가 보안 침해의 가장 큰 원인입니다.
SSL(보안 소켓 계층)이나 TLS(전송 보안 계층) 같은 기술은 전송되는 정보가 적절히 보호되도록 하기 위해 공용 키와 사설 키를 사용합니다. 암호화된 데이터는 탈취되더라도 문자가 깨져 있어서 이 키가 없는 사람은 알아볼 수 없을 것입니다.
민감한 정보는 암호화 없이 전송하거나 수신하지 않도록 발신자와 수신자 모두 이 같은 주의를 기울여야 합니다. 이런 과정이 제대로 이루어지지 않고 공격자가 인증된 기기인 척하는 데 성공하게 되면, 이것이 어떻게 보안 침해로 이어질 수 있는지 쉽게 확인할 수 있을 것입니다.
임베디드 기기는 전체적인 보안과 인증 설계에서 소홀히 여겨지는 경우가 많습니다. 이 위협에 맞서는 가장 좋은 방법 중 하나는 OEM이 해당 기기에 직접 보안 인증 성능을 구축하는 것입니다. 보안 통합 설계는 유수의 실리콘 공급업체들의 보안 요소를 이용하면 수월해질 수 있습니다. Arrow는 게이트웨이와 에지 컴퓨트 솔루션, 그리고 지금 바로 시작하도록 도와주는 레퍼런스 디자인으로 활용 수 있는 무선 엔드 노드 솔루션 등 몇 가지 보안 스타터 키트(SSK)를 제공하고 있습니다.
#3 보안 부팅은 어떤 기능입니까?
해커들이 IoT와 그 밖의 배포 기기들을 공격하려고 시도한 방법 중 하나는 펌웨어 공격을 이용한 것입니다. 보안 부팅 은 펌웨어를 현장에 배포된 기기에서 실행하기 전에 그 펌웨어가 적합한 것인지, 제조사에서 온 것인지 확인합니다. 이 과정은 사설 키와 공용 키의 조합을 사용하여 이루어집니다.
제조사에서는 프로세서 가 1회 프로그래밍 과정에서 인증서에서 생성되는 해시된 루트 키들로 타버립니다. 사설 키는 제조사에서 안전하게 보관합니다. 공용 키는 한 번 프로그래밍되면 변경할 수가 없는데, 이는 악성 코드로 수정이 불가능하다는 뜻입니다. 공용 키는 사설 키와 수학적으로 쌍을 이루고 있기 때문에 배포된 기기에 안전하게 남아있을 수 있습니다. 부팅 시 운영 체제가 서명과 키들을 점검해서 코드가 조작되지 않았는지 검증합니다.
보안 요소를 더 추가하기 위해 이 보안 부팅 코드는 기기에 저장되는데, 일반적으로 잠겨서 변경할 수 없게 되는 1회 프로그래밍 가능 위치(OTP)에 저장됩니다.
보안 부팅은 보안을 개선해줄 수 있지만 주의해야 할 점이 몇 가지 있습니다. 첫째, OS가 잘 알려진 소스를 통해 제공받은 것일지라도 그것이 시스템에서 실행되고 있는 다른 소프트웨어/펌웨어가 안전하다거나 취약점이 없다는 뜻은 아닙니다. 검증된 OS 자체에서 최종적으로 취약성이 발견될 가능성도 분명 있습니다. 이 경우 현장 업데이트가 필요할 수 있습니다. 둘째, 사설 키가 유실되었다면 현장에 있는 기기에 더 이상 펌웨어 업데이트를 전송할 수 없어서 기기를 업데이트할 수 없게 됩니다. 사설 키가 손상되면 기기의 보안망도 손상될 수 있습니다.
#4 보안 OTA: 이 기능을 갖추는 것이 왜 중요한가요?
OTA(Over-The-Air) 업데이트는 무선 기기를 최신 상태로 유지하는 데 사용됩니다. 이 기기들은 커넥티드 전구에서 자동차까지, 의료 장비에서 HVAC(공조) 시스템까지, 그리고 심지어 도시의 중요한 기반시설에 이르기까지 그 복잡성이 다양합니다.
OTA 보안은 매우 중요합니다. 커넥티드 전구를 생각해 보십시오. 어느 한 곳에 조명이 없거나 의도치 않게 존재한다면 그것은 즉각적인 보안 위협이 아닐 수도 있습니다. 하지만 하나가 손상되면 이 "단순한" 기기의 권한이 확대되어 결국에는 전체 네트워크가 손상될 가능성이 있을 것입니다. 이보다 더 큰 규모의 경우, 만약 자동차에 엉뚱한 펌웨어가 설치된다면 이는 탑승자에게 명확하고도 즉각적인 위협이 됩니다. 커넥티드 전구와 마찬가지로, 문제들이 여러 다른 시스템들로 확산될 가능성이 분명히 있습니다.
특히 자동차처럼 안전성이 매우 중요한 것에 대해 생각해 볼 때 "이 제품에 OTA 기능까지 있어야 할까?라는 문제가 제기됩니다. 소프트웨어와 펌웨어, 그리고 심지어 기계 시스템들까지 보안이 철저하고 안전하며 안정적인 상태로 조립 라인을 통과하는 완벽한 세상이라면 물리적인 업데이트만 하면 된다는 주장이 설득력이 있을 것입니다. 하지만 안전성이 매우 중요한 시스템들과 초기 단계의 자율 주행이 구현되고 있는 오늘날에는 업데이트가 필수 기능입니다. 소비자들과 전문가들이 OTA 업데이트의 편리성과 실시간이라는 특성을 선호한다는 것은 두말할 나위 없습니다.
안타깝지만 현장에서 사용하는 기기들은 현실적으로 해커에게 침해당할 수 있으며 수정이 필요한 중대한 결함이 발생할 수 있습니다. 기기의 수명 주기 전반에 걸쳐 기기를 안전하고 제기능을 유지하게 하기 위해서는 펌웨어 업데이트가 필요합니다. 모든 제품들은 점점 더 소프트웨어에 의존하고 있으므로 OTA 업데이트가 가능해야 하고 안정적이고 안전해야 할 것입니다. 적절한 암호화 기법을 사용할 경우, 펌웨어가 기기에 도달하면 보안 부팅 프로세스가 부팅 시 펌웨어 업데이트를 검증해서 그것이 적합한지 확인할 수 있습니다.
#5 기기 수준의 보안 대 클라우드 수준의 보안
세상은 여러 가지 계산 기능을 위해 클라우드 기반 인프라로 옮겨가고 있지만 우리는 여전히 저장 기능이 있는 물리적인 장치와 계산 능력을 필요로 합니다. 이것은 엔지니어들이 적합한 대상이 아니라고 생각할지도 모르는 스마트폰이나 산업용 제어 시스템의 형태를 띨 수 있습니다. 물리 장치와 데이터, 그리고 거기에 포함된 IP를 보호하려면 어느 정도의 노력이 필요합니다. 컴퓨팅 자원을 클라우드로 넘기면 머리 아픈 일이 어느 정도 줄겠지만 여러분의 데이터와 고객의 데이터를 전송하고 보관할 때 안전하게 유지해야 한다는 부담이 있습니다.
강력한 암호를 사용하고 기기를 사용하지 않을 때는 잠궈두고 도난당할 수 있는 곳에 기기를 방치하지 않는 등의 잘 알려진 방법들은 분명 보안 전략입니다. 에지에 배포되는 장치나 장치가 연결된 게이트웨이의 경우, 개인 정보와 회사 정보, 그리고 기타 IP를 적절한 암호로 보호하는 것이 좋습니다.
메모리를 보호하는 일도 중요합니다. 어떤 경우에는 임베디드 시스템의 실리콘 장치 안에 있는 보안 구역이나 신뢰 영역을 사용하는 것이 좋습니다. 보안을 염두에 두고 부품을 설계하는 업체의 실리콘을 사용하는 것이 핵심입니다. 설계자가 하드웨어 기반 암호 가속기와 보안 알고리즘에 사용되는 난수 생성기 같은 보안 기능이 탑재된 전자 장치를 선택한다면 에지 기기가 훨씬 더 효율적이고 안전하며 강력할 것입니다.
또한, 구성을 적절하게 하고 적절한 저장 습관을 들이며 보관할 필요가 없는 데이터는 폐기한다면 위험을 완화시키는 데 도움이 될 것입니다. 산업용 제어 시스템의 경우, 인터페이스 요소들 간에 보안 링크를 만들고 외부 집단이나 내부 집단이라도 접근이 필요하지 않은 집단과는 인프라에 관한 세부 정보를 공유하지 않는다는 정책을 시행할 수 있을 것입니다.
클라우드 보안의 경우, 시스템 보호는 클라우드 공급업체의 책임이라고 생각하기가 쉬울 것입니다. 클라우드 공급업체의 보안이 탄탄하더라도 침해가 일어날 수 있습니다. IBM에 따르면, 2019년에 잘못 구성된 자산이 침해된 기록의 86%에 달했다고 합니다. 로컬 자산과 달리 클라우드 자산은 본질적으로 인터넷을 통해 접근이 가능해야 하기 때문에 사용자가 자신의 클라우드 구성이 안전하도록 관리를 해야 합니다.
어떤 데이터가 로컬로 저장되고 어떤 것을 클라우드에 저장해야 하는지, 그리고 어떤 것을 암호화하거나 삭제해야 할지 생각하십시오. 클라우드 자산은 그 저장소가 사용되지 않고 어쩌면 민감한 데이터들로 채워져 계속해서 커져가는 저장소가 되지 않도록 목록 정리를 해야 합니다. 물리적인 인프라에 의해 운영되어야 하는 로컬 저장소와 달리, 클라우드 저장소와 컴퓨팅 성능은 돈의 문제입니다.
데이터가 로컬에 있든 클라우드에 있든, 여러분의 정보와 고객의 정보에 대한 책임은 결국 여러분에게 있습니다. 클라우드 공급업체의 보안 기능을 활용하십시오. 이 기능들은 여러분의 기기들을 보호하고 침해가 발생할 경우 신속한 조치를 명령하도록 설계되어 있어서 에지 기기나 침해된 게이트웨이를 끄거나 새 OTA 업데이트를 대규모로 배포할 수 있게 해줍니다. 클라우드 공급업체의 보안 정책을 정기적으로 확인하고 이들이 여러분을 위해 무엇을 저장하는지, 구성이 어떻게 되어 있는지 정기적으로 확인하면 위험을 완화하는 데 도움이 됩니다.
OEM 보안은 매우 중요합니다
OEM으로서 여러분의 고객들은 여러분이 보안 침해를 방지하기 위해 할 수 있는 모든 것을 하였으며 침해가 발생할 경우 신속하게 대응하고 피해를 최소화할 준비가 되어 있다는 보장을 필요로 합니다. 여기서 제시하는 방법과 아이디어, 그리고 여러분의 업계에 적합한 기타 방법들을 이행하여 그러한 신뢰가 형성되게 하십시오. 마지막으로, 잠재적인 공격자들보다 앞서나가도록 지속적인 주의 의무를 다하여 여러분의 보안 절차를 최신 상태로 유지하십시오.
보안 솔루션에 관해서 더 자세한 내용이 궁금하다면 Arrow 임베디드 보안 솔루션 전자책을 지금 다운로드하십시오.