칩 복호화는 단일 칩 복호화(IC 복호화)라고도 합니다. 공식 제품에 내장된 단일 칩 마이크로컴퓨터 칩은 암호화되어 있기 때문에 프로그래머가 직접 프로그램을 읽을 수 없습니다.
마이크로컨트롤러의 온칩 프로그램에 대한 무단 접근이나 복제를 방지하기 위해 대부분의 마이크로컨트롤러는 온칩 프로그램을 보호하기 위해 암호화된 잠금 비트 또는 암호화된 바이트를 사용합니다. 프로그래밍 중에 암호화된 잠금 비트가 활성화(잠김)되면 일반 프로그래머가 마이크로컨트롤러의 프로그램을 직접 읽을 수 없게 되는데, 이를 마이크로컨트롤러 암호화 또는 칩 암호화라고 합니다. MCU 공격자는 특수 장비나 자체 제작 장비를 사용하거나, MCU 칩 설계의 허점이나 소프트웨어 결함을 악용하여 다양한 기술적 수단을 통해 칩에서 핵심 정보를 추출하고 MCU 내부 프로그램을 탈취합니다. 이를 칩 크래킹이라고 합니다.
칩 복호화 방법
1. 소프트웨어 공격
이 기술은 일반적으로 프로세서 통신 인터페이스를 사용하고 프로토콜, 암호화 알고리즘 또는 이러한 알고리즘의 보안 허점을 악용하여 공격을 수행합니다. 성공적인 소프트웨어 공격의 대표적인 사례는 초기 ATMEL AT89C 시리즈 마이크로컨트롤러에 대한 공격입니다. 공격자는 이 시리즈의 단일 칩 마이크로컴퓨터의 삭제 동작 시퀀스 설계상의 허점을 악용했습니다. 암호화 잠금 비트를 삭제한 후, 공격자는 온칩 프로그램 메모리의 데이터 삭제 동작을 중단하여 암호화된 단일 칩 마이크로컴퓨터를 암호화되지 않은 단일 칩 마이크로컴퓨터로 변환합니다. 그런 다음 프로그래머를 사용하여 온칩 프로그램을 읽습니다.
다른 암호화 방법을 기반으로, 일부 장비는 특정 소프트웨어와 협력하여 소프트웨어 공격을 수행하도록 개발될 수 있습니다.
2. 전자 탐지 공격
이 기술은 일반적으로 정상 작동 중에 프로세서의 모든 전원 및 인터페이스 연결의 아날로그 특성을 높은 시간 분해능으로 모니터링하고, 전자기 복사 특성을 모니터링하여 공격을 실행합니다. 마이크로컨트롤러는 능동적인 전자 장치이므로, 다양한 명령을 실행할 때 그에 따른 전력 소비량도 변화합니다. 이처럼 특수 전자 계측기와 수학적 통계적 방법을 사용하여 이러한 변화를 분석하고 감지함으로써 마이크로컨트롤러의 특정 핵심 정보를 얻을 수 있습니다.
3. 결함 생성 기술
이 기술은 비정상적인 작동 조건을 이용하여 프로세서에 버그를 발생시킨 후, 공격을 수행할 수 있는 추가적인 접근 권한을 제공합니다. 가장 널리 사용되는 오류 생성 공격에는 전압 서지와 클록 서지가 있습니다. 저전압 및 고전압 공격은 보호 회로를 비활성화하거나 프로세서가 잘못된 작업을 수행하도록 강제하는 데 사용될 수 있습니다. 클록 과도 현상은 보호된 정보를 손상시키지 않고 보호 회로를 재설정할 수 있습니다. 전력 및 클록 과도 현상은 일부 프로세서에서 개별 명령어의 디코딩 및 실행에 영향을 미칠 수 있습니다.
4. 프로브 기술
이 기술은 칩의 내부 배선을 직접 노출시킨 후 마이크로컨트롤러를 관찰, 조작, 간섭하여 공격 목적을 달성하는 것입니다.
편의상 위의 네 가지 공격 기법을 두 가지 범주로 구분합니다. 하나는 침입형 공격(물리적 공격)입니다. 이 유형의 공격은 패키지를 파괴한 후 특수 실험실에서 반도체 테스트 장비, 현미경, 마이크로포지셔너를 사용해야 합니다. 완료하는 데 몇 시간 또는 몇 주가 걸릴 수 있습니다. 모든 마이크로프로빙 기법은 침입형 공격입니다. 나머지 세 가지 방법은 비침습형 공격이며, 공격받는 마이크로컨트롤러는 물리적으로 손상되지 않습니다. 비침습형 공격은 경우에 따라 특히 위험합니다. 비침습형 공격에 필요한 장비는 자체 제작 및 업그레이드가 가능하여 비용이 매우 저렴하기 때문입니다.
대부분의 비침입형 공격은 공격자가 프로세서와 소프트웨어에 대한 높은 지식을 갖추고 있어야 합니다. 반면, 침투형 프로브 공격은 초기 지식이 크게 필요하지 않으며, 일반적으로 다양한 제품에 대해 다양한 유사 기법을 사용할 수 있습니다. 따라서 마이크로컨트롤러에 대한 공격은 종종 침투형 역공학에서 시작되며, 축적된 경험은 더 저렴하고 빠른 비침입형 공격 기법을 개발하는 데 도움이 됩니다.