← cd /index
AUTO-03

🔁 CAN 리플레이 공격

자동차 보안 · 차내 네트워크

위험도: 상
💡 쉽게 말하면
리플레이는 어제 도장 찍힌 승인서를 오늘 다시 제출하는 공격입니다. 서명(명령)은 진짜지만, 오늘 발급된 것이 아니라는 점을 확인하지 않으면 그대로 통과합니다.

🎯 직접 해보기 — 공격을 실행해 보세요

아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.

현재: 취약한 설정 — 공격이 통할까요?
# 녹음해 둔 도어해제 프레임을 재생해 본다 # [공격 실행] 버튼을 누르면 시작합니다.

📋 설정 비교 (왜 막혔나?)

✗ 취약한 설정
# 버스에서 도어해제 프레임 녹음 attacker$ candump can0 -> replay 0x1F2#01 >> 도어 잠금 해제 프레임 재생 → 신호 없이 차량 개방
✓ 안전한 설정
# 신선도 카운터 + 인증 ecu$ check freshness counter + MAC >> 카운터 과거 → 리플레이로 판정 폐기 → 재생 명령 거부

🔧 조치 방법

  1. 보안 명령에는 신선도 카운터(모노토닉)를 포함해 재사용을 막습니다.
  2. SecOC 등 메시지 인증으로 위조·재생을 함께 방어합니다.
  3. 1회성 챌린지(랜덤) 기반 명령 채택을 검토합니다.

✅ 점검 체크리스트

  • 신선도 카운터 적용됨
  • 재생 탐지·차단 동작
점검기준: AUTOSAR SecOC — Freshness

🏗️ 현대 차량 아키텍처에서의 위치와 규제 대응

아키텍처 CAN 버스접근 경로 물리 접근 · 근거리 무선R155 위협 분류 통신 채널 (4.3.2)ISO 21434 제품개발 — 구현

SDV·전동화 전환에서 달라지는 점

리플레이 방어는 신선도 카운터에 달려 있는데, 존 아키텍처에서는 한 신호가 여러 컨트롤러를 거쳐 전달되면서 카운터 동기화가 훨씬 어려워집니다. 게이트웨이가 신호를 중계할 때 카운터를 다시 매기면, 중계 지점 이후로는 리플레이 방어가 사라지는 구멍이 생깁니다.

인증·심사에서 요구되는 증적
신선도 값의 동기화·롤오버 설계와, 게이트웨이 중계 구간에서 신선도가 유지되는지 확인한 시험 결과.
🚗 이 위협을 직접 공격·방어해 보기 CAN 버스 공격 실습 → 모의 침투 콘솔에서 실제로 공격을 실행하고, 방어를 적용해 다시 확인합니다.