
キャプチャされたCANバスフレームをリプレイしてCVE-2026-21014を実証し、認証とフレッシュネスチェックの欠如により不正な自動車ECU動作が可能になることを示します。
# 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
このスクリプトは、ドアロック解除コマンドのキャプチャとリプレイを出力します。