결함 주입 공격에 대한 소프트웨어 대응책

개요

주요 글로벌 모바일 컴퓨팅 IP 회사 Arm이 새로운 격리 기술 TrustZone™을 출시한 지 얼마 지나지 않아 해커 세계에서도 해당 아키텍처를 대상으로 한 공격을 발표했으며, 이 공격이 TrustZone™ 보호를 우회할 수 있다고 주장합니다. 해커가 최종적으로 이 균열을 사용하여 실제 정보나 이점을 얻을 수 있는지 여부와 관계없이 해커가 사용하는 방법은 일반적으로 정보 보안에서 결함 주입 공격으로 알려져 있습니다. 이러한 유형의 공격의 장점에는 쉽고 저렴한 비용과 쉽게 획득할 수 있는 장비가 포함되므로 해커가 자주 사용하며, 시중에 판매되는 전용 키트도 있습니다.
 
이러한 공격에는 해당 공격이 있으므로 해당 공격에 대한 보호는 소프트웨어와 하드웨어 보호로 나눌 수 있습니다. 결함 주입에 대한 소프트웨어 보호를 위해 가능한 취약점을 먼저 분석한 다음 해당 취약점에 대한 소프트웨어 개발 및 보호를 수행해야 할 수도 있습니다. 소프트웨어 엔지니어에게 이를 달성하려면 심층적인 전문 지식과 기술이 필요합니다.
 
하드웨어 보호 기능이 있는 장비를 사용하면 소프트웨어 개발 측면에서 결함 주입 공격에 대한 보호가 상대적으로 더 쉬워집니다. MCU가 설계될 때 결함 주입 공격에 대한 보호는 이미 하드웨어 설계에 고려되었습니다. 즉, 제품 애플리케이션에 필요한 전문 정보 보안 기술은 이미 하드웨어에 내장되어 있으며, 소프트웨어 엔지니어가 해야 할 일은 이를 활성화하기만 하면 되며 결함 주입 공격에 대한 보호 기능을 크게 제공할 수 있습니다. 비교적 쉽게 말할 수 있으며 소프트웨어 오류로 인한 보안 취약점을 최대한 피할 수 있습니다.
 

결함 주입 공격에 대한 하드웨어 보호

제품의 실행 조건이 기본 사양을 초과하면 제품 작동에 오류가 발생합니다. 이러한 종류의 실행 조건이 특정 시간에만 표시되도록 제한할 수 있고 극히 짧은 시간 동안만 표시되도록 제한할 수 있다면 특정 명령을 실행할 때 제품이 오작동할 수 있는 반면, 다른 명령은 여전히 정상적으로 소위 결함 주입 공격을 실행할 수 있습니다. 일반적인 공격 수단은 반도체 부품의 전압과 주파수가 일시적으로 작동 사양을 초과하도록 하는 것입니다. 따라서 보호 측면에서 비정상적인 전압과 주파수를 효과적으로 감지할 수 있으면 즉시 대응하여 실시간으로 공격을 차단할 수 있습니다.
 
하드웨어가 항상 공격에 효과적으로 대응할 수 있도록 하려면 외부 공격으로 인해 탐지 회로가 마비되는 것을 방지하기 위해 탐지 하드웨어를 일반 운영 회로와 분리하고 자체 전력 공급 및 주파수 시스템을 갖춰야 합니다. 또한 필요한 보호 조치를 자동으로 수행할 수 있도록 탐지 회로가 주요 하드웨어를 직접 제어할 수 있어야 합니다. 예를 들어, 메모리의 키를 지우면 결함 주입으로 인해 생성된 소프트웨어 오류를 방지하여 공격 중에 주요 프로세스를 실행할 수 없습니다.
 

 Tamper controller attack detection 

Figure 1: 변조 컨트롤러는 전압과 주파수의 공격을 감지하고 CPU에 알리며 키 저장소 보호 메커니즘을 직접 트리거합니다. 

전압 및 주파수 공격 처리

M2354 고장 주입 보호 하드웨어에는 다양한 전압 및 주파수 공격 방법이 포함되어 있으며, 그에 따라 아래 표에 나열된 대로 응답이 설계되었습니다: 

탐지 방법

정상 상태

공격 상태

보호 방법

EADC를 사용하여 VDD 감지

1.62V ~ 3.6V

1.62V ~ 3.6V 이외의 전압
소프트웨어 개입

고전압 감지

VDD < 4.0V

VDD >= 4.0V

하드웨어 중단 및 사전 설정된 작업이 트리거됩니다.
저전압 돌파 감지
사용자가 내결함성 범위를 설정합니다
설정된 내결함성 범위 초과
하드웨어 중단 및 사전 설정된 작업이 트리거됩니다

VBAT 전압 감지

RTC의 정상 작동
VBAT 저전압
하드웨어 중단 및 사전 설정된 작업이 트리거됩니다
전원 고장 감지
LDO_CAP가 미리 설정된 고전압 및 저전압 한계 내에 있음
LDO_CAP가 사전 설정된 고전압 및 저전압 한계를 초과
하드웨어 중단 및 사전 설정된 작업이 트리거됩니다
고속 외부 클럭 고장 감지
안정적이고 연속적인 클럭 소스

클럭 소스 사라짐

하드웨어가 내부 클럭 소스로 자동 전환됩니다
저속 외부 클럭 고장 감지

안정적이고 연속적인 클럭 소스

클럭 소스 사라짐

하드웨어가 내부 클럭 소스로 자동 전환됩니다
고속 외부 클럭 모니터링
주파수가 미리 설정된 범위에 속합니다
주파수가 미리 설정된 범위를 초과
인터럽트는 소프트웨어 개입을 알리는 데 사용됩니다
저속 외부 클럭 모니터링

주파수가 미리 설정된 범위에 속합니다

주파수가 미리 설정된 범위를 초과

하드웨어 중단 및 사전 설정된 작업이 트리거됩니다

위 표의 '사전 설정 작업'은 소프트웨어 개입일 수도 있고, 시스템을 강제로 재설정하거나 키 저장소에 저장된 모든 키를 강제로 지우도록 할 수도 있습니다.

결론

마이크로컨트롤러 제품의 경우 결함 주입 공격은 실제로 쉽고 효과적이며 비용이 적게 드는 공격입니다. 이것이 해커가 이러한 유형의 공격을 자주 사용하는 이유입니다. 제품의 중요한 정보를 보호하기 위해서는 이러한 유형의 공격에 대한 보호가 필수적입니다. 그러나 소프트웨어를 사용한 보호에는 정보 보안에 대한 전문 지식을 갖춘 엔지니어가 필요할 뿐만 아니라 인위적인 과실을 방지하기 위한 일련의 엄격한 검사 메커니즘이 필요합니다. 반면에 하드웨어 탐지를 기반으로 구축된 보호 방법은 엔지니어가 모든 하드웨어 보호를 활성화하고 전원과 시계의 공격을 완전히 방지하기 위해 해당 작업을 설정하기만 하면 됩니다. 하드웨어 보호는 분명히 훨씬 쉽습니다.

따라서 M2354의 결함 주입 보호 설계를 사용하면 사용자가 제품 기능 개발에 더 집중할 수 있으며, 정보 보안 보호를 위해 많은 추가 작업을 추가할 필요가 없어 보호 메커니즘을 개발하는 데 필요한 추가 시간과 비용을 절감할 수 있습니다.