
Воспроизводит захваченные кадры CAN-шины для демонстрации CVE-2026-21014, показывая, как отсутствие аутентификации и проверки свежести данных позволяет выполнять несанкционированные действия автомобильных ЭБУ.
# can_replay_sim.py - Simulates CAN bus replay
import time
can_messages = []
def send_can(msg_id, data):
print(f"CAN {msg_id:#x}: {data.hex()}")
can_messages.append((msg_id, data))
def receive_can():
return can_messages[-1] if can_messages else None
# Simulate car sending "door unlock" command
send_can(0x100, b'\x01\x00\x00\x00') # unlock
# Attacker replays captured frame
time.sleep(1)
captured = receive_can()
if captured:
print("Replaying captured frame...")
send_can(captured[0], captured[1])
Автомобильная сеть Controller Area Network (CAN) не реализует аутентификацию сообщений или проверку свежести. Злоумышленник, имеющий физический доступ к порту OBD‑II, может перехватить легитимный кадр (например, разблокировку двери) и воспроизвести его позже для выполнения несанкционированных действий.
Запустите симуляцию:
python can_replay_sim.py
Скрипт выводит перехват и повторное воспроизведение команды разблокировки.