[기고] IoT 보안을 위한 효율적인 접근법

자체 보안 역량 개발과 외부 협력사 활용 방안 모색

2020-04-10     석주원 기자

[글=에릭 하이저(Eric Heiser) | 유블럭스 서비스 및 보안 부문 총괄 책임자]

사물인터넷(IoT) 애플리케이션이 점점 더 미션 크리티컬한 기능들을 수행하게 되면서 보안이 중요한 이슈로 대두되고 있다. IoT 에코시스템은 다양한 차원에서 보안 위협에 취약할 수 있다. 보안 공격이 계속해서 진화하고 있기 때문에 여기에 신속하게 대처할 수 있는 민첩한 대응 전략이 필요하다. 이를 위해서는 디바이스 제조사들과 에코시스템 개발자들이 단기 및 장기 목표에 충실하게, 확장 가능하면서도 지속 가능한 IoT 보안 전략을 수립해야 한다.

 

■ IoT 보안을 위한 인증 제도

IoT 보안은 보안에 대한 전문성을 필요로 하는 복잡한 분야다. 기업들은 이러한 역량을 자체적으로 갖추고 지속적으로 교육하기 위한 투자를 할 것인지, 아니면 보안과 관련해서 필요한 지원을 제공할 수 있는 외부 협력사를 활용할 것인지 결정해야 한다. 그렇다면 보안이 고도로 강화된 IoT 디바이스와 이를 지원하기 위한 에코시스템을 어떻게 개발해야 할까?

소프트웨어 업계에서 사용되고 있는 TQM(Total Quality Management) 프로세스는 이미 보안 이슈를 다루고 있으며, ISO-27001 정보보안 표준에 포함되어 있는 PDCA(Plan, Do, Check, Act) 프로세스가 일반적인 보안 개발 방법론(그림1)으로 사용되고 있다.

[그림1]

IoT 에코시스템 개발자들은 관련 규정과 표준을 충족한다는 것을 독립적인 외부 기관의 심사를 통해 입증해야 한다. 이러한 표준으로는 국제 공통평가기준(Common Criteria for Information Technology Security Evaluation, ISO/IEC 15408), 미국의 FIPS(Federal Information Processing Standards Publication), 프랑스 정보보안청 ANSSI가 관할하는 CSPN(Baseline Security Certification)을 들 수 있다. EU 지역에서는 제품, 프로세스, 서비스에 대해서 유럽연합 사이버 보안 전문기관인 ENISA(European Network Information Security Agency)가 운영하는 ECCS(European Cybersecurity Certification Schemes) 인증을 받아야 한다. 이 인증은 CSPN을 기반으로 한 것으로서, 한 번 받으면 EU 전 지역에서 효력이 인정된다.

 

 

 

IoT 에코시스템 개발의 PDCA 프로세스

보안이 강화된 IoT 에코시스템을 개발하고자 하는 기업들은 PDCA 프로세스의 복잡성을 극복함과 동시에, 해당 표준 기관이나 심사 기관과 언제 어떻게 소통해야 하는지 잘 이해해야 한다.

 

1. PLAN(계획)

어떤 프로젝트나 마찬가지지만, 보안이 강화된 IoT 에코시스템을 개발하기 위해서는 계획부터 탄탄하게 시작해야 한다. 되도록 개발 작업의 조기 단계에 잠재적인 보안 문제들을 명확하게 파악해야 한다. 사업 상의 위험성과 최우선적으로 보호가 필요한 자산이 어떤 것들인지 평가해야 하며, 잠재적인 위협과 그러한 위협에 대처하기 위해서 필요한 보안 조치들을 정의해야 한다. 이를 위해서는 위협 모델링 및 평가를 해야 하는데, 흔히 사용되는 툴이 마이크로소프트의 보안 엔지니어들이 개발한 STRIDE 방법론(그림2)이다. 이 평가를 바탕으로 작성된 문서가 사용자의 통합 위험성 관리 접근법의 토대가 되며, 향후의 적합성 및 형식 승인을 위해서 중요한 역할을 한다.

[그림2]

 

2. DO(실행): IoT 보안 아키텍처 설계

위험성 평가를 통해 도출한 결과를 IoT 솔루션의 보안 아키텍처로 구현해야 한다. 이 설계에는 하드웨어와 소프트웨어가 모두 포함되어야 하며, 진화하는 사이버 위협에 대해서 민첩하게 대응하기 위해 설계자는 다음 사항들을 분명히 확인해야 한다.

• 모든 IoT 디바이스는 복제될 수 없는 고유의 ID를 갖는다. 이는 모든 보안 기능의 토대가 된다. 이 RoT(Root of Trust) 기능을 사용해서 모든 당사자들이 디바이스 신원을 확인하고 그 디바이스로부터 들어오는 통신과 데이터를 신뢰할 수 있다. 또한 RoT는 하드웨어 및 소프트웨어 암호화 기능을 제공하며, API 계층은 외부 애플리케이션이 이들 기능에 액세스할 수 있도록 한다.

• CPU, 메모리, 커넥티비티에 대해서 허가되지 않은 접근을 차단함으로써 해커의 위협을 제한한다.

• 정지 또는 작동 여부에 상관없이 모든 데이터의 무결성을 보호함으로써 프라이버시와 기밀성을 보호하고 규정을 준수한다.

• IoT 에코시스템에서 생성된 데이터를 사용하기로 하는 결정은 무단 조작이나 지식재산 도용으로부터 안전한, 보안이 강화된 환경에서 이루어져야 한다.

• IoT 디바이스로 전송되는 모든 명령(예: ‘인슐린 주입’, ‘밸브 개방/폐쇄’, ‘제동’ 등)이 승인된 출처로부터 전송된 것인지 확인한다.

프로젝트 개발에 있어서 이 단계는 효과적인 IoT 보안 아키텍처를 구축하기 위해서 중요하며, 이를 위해서는 고도로 숙련된 전문성이 요구된다. 업계에서는 해당 전문 인력의 부족이 심각한 이슈인 것으로 알려져 있으며, 기업들이 이러한 인력들을 자체적으로 보유하기란 쉽지 않다. 통상적으로 보안 설계는 한 번 완성이 되면 전체 제품에 걸쳐서 재사용되므로, 자체적인 보안 인력을 유지하는 것이 타당하지 않을 수 있다. 그래서 많은 기업들이 외부 협력사에 의존하는 편이며 이러한 외부 협력사들은 필요한 보안 설계 전문성뿐만 아니라 PDCA 프로세스 전반에 걸쳐서 자문과 조언을 제공할 수 있다.

 

3. CHECK(평가): 공격, 방어, 채점

PDCA 프로세스의 DO 단계까지 완료됐다면, 이제 보안 아키텍처 설계에 허점은 없는지 테스트할 준비가 된 것이다. 해당 디바이스가 관련 시장의 보안 요건을 충족하는지 확인하기 위해서는 CSPN 같은 독립된 기관으로부터 적합성 또는 형식 승인을 받아야 한다. 독립된 기관에서 심사하기 때문에 이해 충돌을 피할 수 있으며 심사 목적에 충실할 수 있다. IoT 디바이스의 보안 수준을 평가하기 위해서는 일반적으로 인정되어 있는 기준과 방법론을 가지고 공식적으로 확인된 위협에 대한 강건성을 시험해야 한다. 이러한 평가는 양적 또는 질적 접근법을 사용해서 할 수 있다.

공격 점수는 널리 사용되는 양적 기법으로서, 독립된 보안 심사기관에서 실시한 심사를 통해 점수를 매긴 다음, 그에 따라 EAL(Evaluation Assurance Level)을 부여한다. 주로 사용되는 채점 메커니즘은 CSPN의 JIL(Joint Interpretation Library) 방법론과 FIRST(Forum of Incident Response and Security Teams)의 CVSS(Common Vulnerability Scoring System) 두 가지이다.

질적 평가 역시 독립적 심사 기관에서 실시하며, 해당 디바이스가 외부 공격의 높은 빈도와 충격 강도에 대해 얼마나 성공적으로 보안성을 유지하는지 검사한다. 이 방법에서 평가의 척도는 공격을 감행하는 데 사용되는 툴의 정교함과 복잡성을 기반으로 한다. 이 테스트 과정에서 정해진 공격이 실패하고 디바이스가 어떤 허점도 드러내지 않는다면 특정한 보안 수준 또는 신뢰도를 부여할 수 있다.

대부분의 IoT 제품은 기본 검사로도 충분하며, 유블럭스(u-blox)의 셀룰러 IoT 모듈 같이 이미 보안 인증을 받은 디바이스를 사용한다면 평가 작업을 더욱 간소화할 수 있다. 유블럭스는 칩, 모듈 및 제품 지원용 데이터 서비스 생태계로 구성된 광범위한 포트폴리오를 보유하고 있어, 효과적인 비용으로 빠르게 IoT 관련 솔루션을 개발하고자 하는 고객사에 다양한 솔루션을 제공하고 있다.

이처럼 이미 인증을 획득한 모듈 제품들은 결함 주입이나 사이드 채널 분석 같은 공격에 대응하기 위해 디바이스 상에 내장된 보안을 테스트하고 주요 공격 경로를 시뮬레이션 하는 등 철저한 평가를 거쳤다. 이러한 인증을 취득한 모듈을 사용함으로써, 개발자들은 해당 디바이스에 구축된 보안 조치들을 사용해서 외부 공격을 막아낼 수 있으며 암호화 알고리즘, 보안 키, 그 밖에 다른 보안 기능들이 안전하다는 것을 확신할 수 있다.

 

4. ACT(개선)

계획, 설계, 평가의 다음 단계는 IoT 디바이스 보안을 구축하고 제품 수명 전반에 걸친 유지관리이다. 위협 가능성이 적고 중요도가 낮다면 소프트웨어 보안 구현만으로 충분할 수 있다. 하지만, 사업적으로 중요도가 높고 노출 위험성이 큰 애플리케이션에는 하드웨어 RoT를 사용해야 하고, 제품 제조 시 이 RoT를 신뢰할 수 있는 위치에 구현해야 한다. 대규모 IoT 에코시스템을 구축하기 위해서는 제로 터치 프로비저닝, 보안성 있는 클라우드 커넥티비티, 전력 사용과 대역폭을 절약하는 효율적인 키 관리 등이 필요할 수 있다.

 

 

 

외부 보안 협력사 활용

제품 수명 전반에 걸쳐서 보안 위협에 노출되는 것을 줄이려면 내외부적으로 발생하는 다량의 데이터를 수집하고 모니터링해야 한다. 이러한 작업은 어렵고 힘든 일일 수 있으나, 위협을 신속하게 감지하고 조치를 취하기 위해서는 반드시 필요하다. 전문성을 자체적으로 갖추기 어려운 경우에는 이 분야의 신뢰할 수 있는 외부 협력사를 활용하는 것이 바람직하다.

유블럭스와 쿠델스키(Kudelski) 파트너십 같이, 개발 프로세스의 단계에 상관없이 PDCA 프로세스 전반에 걸쳐서 숙련된 보안 능력을 제공할 수 있는 전문 보안 기업들이 많이 있다(그림 3).

[그림

통상적으로 이러한 외부 보안 협력사들의 전문적인 보안 분석, 자문, 설계 서비스에는 맞춤형 취약성 및 위협 분석, 보안 아키텍처 컨설팅, 출시 전 사전 테스트 등을 통한 칩·PCB·소프트웨어 레벨의 보안에 대한 평가가 포함될 수 있다.

 

 

인증된 보안 솔루션 활용

앞서도 언급했듯이, 유블럭스의 셀룰러 모듈처럼 이미 인증을 받은 모듈을 사용하면 보안성과 관련한 개발 작업을 훨씬 더 수월하게 할 수 있다. 그러한 유블럭스의 모듈 제품들은 쿠델스키의 IoT 보안 플랫폼과 결합해 디바이스, 데이터, IoT 플랫폼, 애플리케이션을 연결하는 신뢰 사슬을 형성한다.

따라서 사용자는 간단한 API를 활용해 모든 주요 IoT 자산을 관리할 수 있다. 이 플랫폼은 소프트웨어 또는 하드웨어 RoT, 디바이스 기반 보안 클라이언트, 클라우드 또는 사내 보안 서버의 3가지 요소로 구성된다. 사전에 통합된 요소들로는 IoT 애플리케이션을 위해 보안이 강화된 디바이스 설계와 데이터를 구현할 수 있도록 하는 기능들이 포함된다. 이러한 플랫폼을 사용하면 다양한 디지털 및 물리적 자산을 생성하고 운용할 수 있으며, 장래의 위협에 대응 가능한 강화된 보안을 확보할 수 있다