AUTO-03
🔁 CAN 리플레이 공격
자동차 보안 · 차내 네트워크
위험도: 상💡 쉽게 말하면
리플레이는 어제 도장 찍힌 승인서를 오늘 다시 제출하는 공격입니다. 서명(명령)은 진짜지만, 오늘 발급된 것이 아니라는 점을 확인하지 않으면 그대로 통과합니다.
리플레이는 어제 도장 찍힌 승인서를 오늘 다시 제출하는 공격입니다. 서명(명령)은 진짜지만, 오늘 발급된 것이 아니라는 점을 확인하지 않으면 그대로 통과합니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 녹음해 둔 도어해제 프레임을 재생해 본다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
# 버스에서 도어해제 프레임 녹음
attacker$ candump can0 -> replay 0x1F2#01
>> 도어 잠금 해제 프레임 재생
→ 신호 없이 차량 개방
✓ 안전한 설정
# 신선도 카운터 + 인증
ecu$ check freshness counter + MAC
>> 카운터 과거 → 리플레이로 판정 폐기
→ 재생 명령 거부
🔧 조치 방법
- 보안 명령에는 신선도 카운터(모노토닉)를 포함해 재사용을 막습니다.
- SecOC 등 메시지 인증으로 위조·재생을 함께 방어합니다.
- 1회성 챌린지(랜덤) 기반 명령 채택을 검토합니다.
✅ 점검 체크리스트
- 신선도 카운터 적용됨
- 재생 탐지·차단 동작
점검기준: AUTOSAR SecOC — Freshness
🏗️ 현대 차량 아키텍처에서의 위치와 규제 대응
아키텍처 CAN 버스접근 경로 물리 접근 · 근거리 무선R155 위협 분류 통신 채널 (4.3.2)ISO 21434 제품개발 — 구현
SDV·전동화 전환에서 달라지는 점
리플레이 방어는 신선도 카운터에 달려 있는데, 존 아키텍처에서는 한 신호가 여러 컨트롤러를 거쳐 전달되면서 카운터 동기화가 훨씬 어려워집니다. 게이트웨이가 신호를 중계할 때 카운터를 다시 매기면, 중계 지점 이후로는 리플레이 방어가 사라지는 구멍이 생깁니다.
인증·심사에서 요구되는 증적
신선도 값의 동기화·롤오버 설계와, 게이트웨이 중계 구간에서 신선도가 유지되는지 확인한 시험 결과.
신선도 값의 동기화·롤오버 설계와, 게이트웨이 중계 구간에서 신선도가 유지되는지 확인한 시험 결과.
🚗 이 위협을 직접 공격·방어해 보기
CAN 버스 공격 실습 →
모의 침투 콘솔에서 실제로 공격을 실행하고, 방어를 적용해 다시 확인합니다.