본문 바로가기
IT생활

역사와 전통이 깊은 JTAG 해킹에 대해 알아보았다

by 우물 밖 개구리. 2025. 3. 16.
반응형

JTAG 해킹은 임베디드 시스템 및 하드웨어 보안 연구에서 오랜 역사를 가지고 있으며, 콘솔 게임기부터 최신 스마트폰에 이르기까지 다양한 기기에 대한 보안 분석 및 공격에 활용되어 왔다. JTAG 인터페이스는 원래 디버깅 및 테스트를 위해 설계되었지만, 이를 악용하면 펌웨어 덤프, 루트 권한 획득, 보안 기능 우회 등의 공격이 가능하다.


1. JTAG란 무엇인가?

JTAG(Joint Test Action Group)은 IEEE 1149.1 표준으로 정의된 하드웨어 디버깅 및 테스트 인터페이스다. 원래는 반도체 칩의 생산 공정 중 회로 결함을 검출하고 디버깅하기 위해 개발되었지만, 보안 연구자와 해커들은 이를 활용하여 다양한 기기의 펌웨어를 분석하고, 보안 메커니즘을 우회하는 데 사용했다.

JTAG 인터페이스는 **TAP(Test Access Port)**라는 구조를 사용하여 칩 내부 상태를 확인할 수 있으며, 주요 핀은 다음과 같다.

  • TCK (Test Clock): JTAG 클럭 신호
  • TDI (Test Data In): 데이터를 내부로 전송하는 입력 핀
  • TDO (Test Data Out): 내부 데이터를 외부로 출력하는 핀
  • TMS (Test Mode Select): JTAG 상태 전환을 제어
  • TRST (Test Reset, 선택적): JTAG 상태를 초기화

이러한 JTAG 포트를 통해 칩 내부의 레지스터를 읽거나 쓰는 것이 가능하며, 이를 활용해 메모리 덤프, 코드 실행, 보안 기능 우회 등의 공격이 수행될 수 있다.


2. 콘솔 게임기 해킹에서의 JTAG

2.1 Xbox 360 JTAG Hack

Xbox 360에서는 JTAG 인터페이스를 활용하여 커스텀 펌웨어를 실행하는 것이 가능했다. 초기 모델에서는 JTAG Hack을 통해 부트로더 단계에서 임의의 코드 실행이 가능했으며, 이를 통해 백업 게임 실행, 리버스 엔지니어링, 커스텀 대시보드 설치 등의 해킹이 이루어졌다.

하지만 마이크로소프트는 이후 JTAG을 통한 공격을 막기 위해 보안 패치를 적용했으며, 이후에는 RGH(Reset Glitch Hack) 방식이 등장하여 동일한 목표를 달성했다.

2.2 PlayStation JTAG 활용

소니의 PlayStation 시리즈에서도 JTAG 인터페이스를 이용한 다양한 해킹이 진행되었다.

  • PS3 초기 모델에서는 JTAG과 RSX GPU의 취약점을 활용한 루트키 추출이 이루어졌으며, 이는 이후 커스텀 펌웨어(CFW) 개발로 이어졌다.
  • PS4 및 PS5에서도 JTAG 포트를 활용한 디버깅이 가능하지만, 보안이 강화되면서 직접적인 JTAG 해킹보다는 소프트웨어적인 취약점이 더 많이 활용되고 있다.

3. 스마트폰 해킹에서의 JTAG

3.1 초기 안드로이드 및 iOS 기기의 JTAG 해킹

초기의 스마트폰에서는 JTAG 포트를 통해 직접 펌웨어를 읽거나 루트 권한을 획득하는 것이 가능했다.

  • 삼성, LG, HTC 등의 제조사들은 개발 및 디버깅을 위해 JTAG 핀을 유지했으며, 이를 통해 기기의 eMMC 메모리 덤프, 부트로더 언락, 복구 작업이 가능했다.
  • 특히 Qualcomm SoC 기반 스마트폰에서는 APQ 및 MSM 칩셋의 JTAG 포트를 통해 메모리 영역을 직접 수정할 수 있었다.

3.2 iPhone의 보안 강화 및 JTAG 폐쇄

애플은 iPhone의 보안을 점진적으로 강화하면서 JTAG 인터페이스를 대부분 제거하거나 비활성화했다.

  • A7 칩 이후의 iPhone에서는 JTAG 핀을 찾기 어렵게 만들었으며,
  • iBoot 및 Secure Enclave 프로세서(SEP)의 보호 기능을 강화하여 디버깅 포인트를 차단했다.

하지만 iPhone 15의 USB-C 컨트롤러 해킹은 JTAG의 활용 가능성을 다시 보여준 사례다.


4. iPhone 15 USB-C 컨트롤러 JTAG 해킹

4.1 공격의 개요

2023년, 보안 연구자들은 iPhone 15의 USB-C 컨트롤러에서 JTAG 디버깅 인터페이스를 활성화할 수 있는 취약점을 발견했다.

  • 애플이 USB-C 포트를 도입하면서 기존의 Lightning 기반 보안 메커니즘이 일부 변경되었고,
  • USB PD(USB Power Delivery) 및 MFi 인증 칩이 새롭게 구성되면서 디버깅 포트가 존재할 가능성이 제기되었다.

4.2 취약점 악용 방법

연구자들은 다음과 같은 방법으로 JTAG 인터페이스를 활성화했다.

  1. USB-C 컨트롤러 칩(예: Cypress, STM32 등)의 PCB 분석
  2. JTAG 핀을 활성화할 수 있는 특정 리셋 시퀀스 발견
  3. SoC 및 보조 컨트롤러 간의 SPI/UART 디버깅 데이터 캡처
  4. JTAG를 통해 메모리 및 레지스터 분석 후, 코드 실행 권한 획득

이를 통해 연구자들은 USB-C 컨트롤러 내부의 펌웨어를 덤프하고, 보안 메커니즘을 분석할 수 있었다.


5. JTAG 해킹의 미래

5.1 보안 대응 및 방어 기법

최근 하드웨어 보안이 강화되면서 JTAG 인터페이스를 통한 직접적인 해킹이 어려워지고 있다.

  • JTAG Locking: 특정 보안 플래그를 활성화하여 JTAG 접근을 제한
  • Fuse Blowing: 제품 출하 전 JTAG을 영구적으로 비활성화
  • Authenticated Debugging: 보안 칩을 통해 JTAG 접근을 제한하고 인증된 사용자만 사용 가능하게 설정

그러나 일부 공격자들은 여전히 Side-Channel Attack, Voltage Glitching 등을 활용하여 JTAG을 우회하는 방법을 연구 중이다.

5.2 새로운 JTAG 해킹 트렌드

  • 최신 ARM TrustZone 및 Secure Boot 우회 연구
  • 자동차 ECU(Engine Control Unit) 및 IoT 기기 해킹
  • SoC 내부의 eFuse 설정 변경 및 바이패스

JTAG 해킹은 여전히 강력한 보안 연구 도구이며, 앞으로도 하드웨어 보안과 해킹 분야에서 중요한 역할을 할 것이다.

반응형