칩 해독

칩 복호화는 단일 칩 복호화(IC 복호화)라고도 합니다. 공식 제품의 단일 칩 마이크로컴퓨터 칩은 암호화되어 있으므로 프로그래머를 사용하여 프로그램을 직접 읽을 수 없습니다.

마이크로 컨트롤러의 온칩 프로그램에 대한 무단 액세스 또는 복사를 방지하기 위해 대부분의 마이크로 컨트롤러에는 암호화된 잠금 비트 또는 암호화된 바이트가 있어 온칩 프로그램을 보호합니다. 프로그래밍 중에 암호화 잠금 비트가 활성화(잠김)되면 일반 프로그래머가 마이크로 컨트롤러의 프로그램을 직접 읽을 수 없으며 이를 마이크로 컨트롤러 암호화 또는 칩 암호화라고 합니다. MCU 공격자는 특수 장비나 자체 제작 장비를 이용해 MCU 칩 설계의 허점이나 소프트웨어 결함을 악용하고, 다양한 기술적 수단을 통해 칩에서 핵심 정보를 추출해 MCU 내부 프로그램을 탈취할 수 있다. 이것을 칩 크래킹이라고 합니다.

칩 복호화 방법

1.소프트웨어 공격

이 기술은 일반적으로 프로세서 통신 인터페이스를 사용하고 프로토콜, 암호화 알고리즘 또는 이러한 알고리즘의 보안 허점을 이용하여 공격을 수행합니다. 성공적인 소프트웨어 공격의 전형적인 예는 초기 ATMEL AT89C 시리즈 마이크로컨트롤러에 대한 공격입니다. 공격자는 이 단일 칩 마이크로컴퓨터 시리즈의 삭제 작업 순서 설계에 있는 허점을 이용했습니다. 암호화 잠금 비트를 삭제한 후 공격자는 온칩 프로그램 메모리의 데이터를 삭제하는 다음 작업을 중단하여 암호화된 단일 칩 마이크로컴퓨터가 암호화되지 않은 단일 칩 마이크로컴퓨터가 되도록 한 다음 프로그래머를 사용하여 온칩 프로그램 메모리의 데이터를 읽습니다. 칩 프로그램.

다른 암호화 방법을 기반으로 일부 장비는 특정 소프트웨어와 협력하여 소프트웨어 공격을 수행하도록 개발될 수 있습니다.

2. 전자 탐지 공격

이 기술은 일반적으로 높은 시간 해상도로 정상 작동 중에 프로세서의 모든 전원 및 인터페이스 연결의 아날로그 특성을 모니터링하고 전자기 방사 특성을 모니터링하여 공격을 구현합니다. 마이크로 컨트롤러는 능동형 전자 장치이기 때문에 다른 명령을 실행할 때 해당 전력 소비도 그에 따라 변경됩니다. 이러한 방식으로 특수 전자 측정 장비와 수학적 통계 방법을 사용하여 이러한 변화를 분석하고 감지함으로써 마이크로 컨트롤러의 구체적인 핵심 정보를 얻을 수 있습니다.

3. 결함 발생 기술

이 기술은 비정상적인 작동 조건을 사용하여 프로세서에 버그를 일으킨 다음 공격을 수행하기 위한 추가 액세스를 제공합니다. 가장 널리 사용되는 결함 생성 공격에는 전압 서지 및 클럭 서지가 포함됩니다. 저전압 및 고전압 공격을 사용하여 보호 회로를 비활성화하거나 프로세서가 잘못된 작업을 수행하도록 할 수 있습니다. 클록 과도현상은 보호된 정보를 파괴하지 않고 보호 회로를 재설정할 수 있습니다. 전력 및 클록 과도 현상은 일부 프로세서에서 개별 명령의 디코딩 및 실행에 영향을 미칠 수 있습니다.

4. 프로브 기술

칩 내부 배선을 직접 노출한 뒤 마이크로컨트롤러를 관찰, 조작, 간섭해 공격 목적을 달성하는 기술이다.

편의상 사람들은 위의 4가지 공격 기법을 두 가지 범주로 분류합니다. 하나는 침입 공격(물리적 공격)입니다. 이러한 유형의 공격은 패키지를 파괴한 다음 반도체 테스트 장비, 현미경 및 마이크로 포지셔너를 사용하여 전문 실험실. 완료하는 데 몇 시간 또는 몇 주가 걸릴 수 있습니다. 모든 마이크로프로빙 기술은 침습적 공격입니다. 나머지 세 가지 방법은 비침습적 공격이며, 공격받은 마이크로컨트롤러는 물리적으로 손상되지 않습니다. 비침입 공격에 필요한 장비는 종종 자체 구축 및 업그레이드가 가능하므로 매우 저렴하기 때문에 어떤 경우에는 비침입 공격이 특히 위험합니다.

대부분의 비침해 공격에는 공격자가 우수한 프로세서 지식과 소프트웨어 지식이 필요합니다. 이와 대조적으로, 침입형 프로브 공격에는 많은 초기 지식이 필요하지 않으며 일반적으로 다양한 제품에 대해 광범위한 유사한 기술을 사용할 수 있습니다. 따라서 마이크로 컨트롤러에 대한 공격은 침입적인 역엔지니어링에서 시작되는 경우가 많으며, 축적된 경험은 더 저렴하고 빠른 비침해 공격 기술을 개발하는 데 도움이 됩니다.