RAMNを学ぶ:オープンソースプラットフォームが自動車組込み研究に果たす役割

2025年11月6日
VicOne
RAMNを学ぶ:オープンソースプラットフォームが自動車組込み研究に果たす役割

By Florengen Arvin Parulan (Automotive Researcher) 

現代の自動車は、組み込み電子機器と複雑な車載ネットワークに支えられた、コネクテッドなデジタルシステムへと急速に進化しています。接続性が拡大するにつれ、エンジニアはこれらのシステムを安全かつ低コストに開発/テストを行う必要に迫られてきました。

自動車組込みシステムにおける実践的な学習、プロトタイピング、サイバーセキュリティ研究を行う際などに使用される、耐久性のある自動車用小型ネットワーク(Resistant Automotive Miniature Network:RAMN、通称「ラーメン」)はこのニーズに応えて開発された、クレジットカードサイズのオープンソースプラットフォームです。

RAMNとは

Toyota InfoTechが開発したRAMNは、小型ながら現実味のある自動車ネットワークを再現したミニチュアプリント基板(PCB)テストベッドです。4つの電子制御ユニット(ECU)が共有CAN/CAN-FDバスを介して通信する構成を忠実に再現しています。ハードウェアとソフトウェアの両面で完全にオープンソースであり、アクセシビリティと拡張性を考慮して設計されています。

画像1. 自動車CTF 2024におけるRAMNのセットアップの一例

画像1. 自動車CTF 2024におけるRAMNのセットアップの一例

教育者はRAMNをECU通信と診断の指導に、リサーチャーは攻撃シナリオの安全な再現に、開発者はファームウェアのプロトタイピングと診断テストに活用しています。入門のハードルを下げることで、RAMNは理論研究と実践応用の間にある隔たりを埋め、セキュリティリサーチャー、エンジニア、さらには学生が、現代の自動車を形作る通信層とセキュリティ層を探求するのを支援します。


シミュレーションとCTF競技におけるセキュリティ

学術研究やプロトタイピング用途を超えて、RAMNはサイバーセキュリティ関連のトレーニングや競技会の主要プラットフォームとしても活用されています。そのオープンでモジュール式のフレームワークは、DEF CONのカーハッキングビレッジ、Automotive CTF 2024、VicOneとBlock Harborが共同で立ち上げたGlobal VCC 2025、企業・学生・Global VCC 2025上位者を迎え10月に日本で開催されたJapan VCC 2025など、国際的な自動車向けキャプチャー・ザ・フラッグ(CTF)イベントを支えています。画像2. デトロイトでの表彰式に出席したAutomotive CTF 2024ファイナリストとBlock HarborおよびVicOneのエグゼクティブ

画像2. デトロイトでの表彰式に出席したAutomotive CTF 2024ファイナリストとBlock HarborおよびVicOneのエグゼクティブ

これらのイベントでは、参加者が安全な環境下で診断、ファジング、エクスプロイト試行を実行できます。


RAMNの仕組み

ハードウェア設計

RAMNのハードウェア設計はコンパクトでありながら完全な構成を備えています。典型的な構成例としてゲートウェイ(ECU A)、シャシー(ECU B)、パワートレイン(ECU C)、ボディモジュール(ECU D)を模した4つのECUは、それぞれ専用のマイクロコントローラー、CAN-FDトランシーバー、電源を内蔵しています。各ECUは、適切な終端処理とテストポイントを備えた共通のCANバスを共有しており、ユーザーは信号を直接観察したり注入したりすることができます。

画像3. 実車内の通信を再現するECUを搭載したRAMNボード

画像3. 実車内の通信を再現するECUを搭載したRAMNボード


ソフトウェアフレームワーク

RAMNのモジュラー型ファームウェアは、ハードウェアを補完する形で、生産用ECUのロジックを反映しつつ、完全にカスタマイズ可能な設計となっています。全てのECUは共通のコードベースを共有し、特定の動作はコンパイル時に定義されます。開発者は、ユーザー定義のフックを通じて、ハンドラーを容易にオーバーライドしたり、機能を拡張したりできます。

ファームウェアは、従来のCANおよびCAN-FDに加え、シリアル通信用のUSBもサポートしています。LAWICEL社の「slcan」プロトコルを使用することで、RAMNはWireshark、python-can、SavvyCANなどの解析ツールと互換性のある標準的なUSB-to-CANアダプタとして動作します。Unified Diagnostic Services(UDS)に基づく診断サービスにより、各ECUは現実的な診断クエリに応答できます。

RAMNのコンパクトなハードウェアとモジュラー型ファームウェアを組み合わせることで、実世界のECUの動作を再現し、迅速なプロトタイピングやネットワーク実験のための安全な環境を構築します。

プロトコルと通信機能

RAMN は、次のような量産車両と同じ通信規格をサポートしています。

  • Classic CAN: 最大1Mbps、ペイロード8バイト。通常はステータスメッセージや診断に使用 
  • CAN-FD: 最大8 Mbps、ペイロード64バイト。高帯域幅の実験に最適 
  • ISO-TP: メッセージのセグメント化と再構成により、より長いペイロードの送信を可能にします 

RAMN を利用することにより、ハードウェア コンポーネントを変更することなく、プロトコルを切り替えたり、ビット レートを調整したり、タイミングと調停がネットワーク パフォーマンスにどのように影響するかを観察したりできます。


RAMNとCARLAの連携:現実世界と仮想世界の架け橋

RAMNの最も魅力的な機能の一つは、Unreal Engineを基盤とするオープンソースの自動運転シミュレーターであるCARLAとの統合です。CARLAとRAMNを組み合わせることで、物理システムと仮想システムがリアルタイムでデータを交換するハードウェア・イン・ザ・ループ環境が実現します。

統合の仕組み

  • 物理から仮想へ:RAMN上で行われる操作(ノブを回す、センサー入力を切り替えるなど)はCANメッセージを生成し、CARLAがこれを解釈して車両の仮想状態を更新します
  • 仮想から物理へ:CARLAの制御アルゴリズムは、RAMN がCANメッセージに変換するUSBコマンドを発動し、基板上のLEDやアクチュエータを動作させます

この双方向フィードバックループにより、開発者は安全かつ再現性のある方法で組み込みソフトウェアと制御ロジックをテストできます。エンジニアは、シミュレーションされた都市環境内で、センサーノイズ、タイミング遅延、または操作されたメッセージが車両の挙動にどのように影響するかを観察できます。

RAMNテスト用のCARLAの設定

RAMNの統合ユーティリティを使えば、物理ボードをCARLAの仮想環境に簡単に接続できます。手順は次の通りシンプルです:
① CARLAをインストール   ② Python API を設定する  ③ RAMN スクリプトを追加する  ④接続モードとしてシリアル(推奨)もしくはCANモードを選択する   以上です。

前提条件

  • ハードウェア:CARLAのレンダリングを快適に実行するにはCUDA対応GPUが必要です(例:NVIDIA RTX 3070/3080以上)
  • ソフトウェア:Windows 11 または Ubuntu 22.04、Python 3.8 以上

CARLAの設定手順

1. CARLAのインストール。
公式CARLAリポジトリから最新のバイナリまたはリリース版をダウンロードします。

2. Python環境を設定します。

  • 必要なPythonモジュールをインストールします:
    pip install carla numpy pygame 
    pip install carla==XX.XX.XX (Python CARLAバージョン) 
  • 自動運転実験用: pip install shapely networkx 

3. RAMN統合スクリプトを追加します。

  • RAMNリポジトリをクローンまたはダウンロードし、依存関係をインストールしてください。
    pip install -r requirements.txt を実行します。
  • RAMN/Script/Settings: CARLA_PATH.txt に記載されている CARLA 実行ファイルのパスを指定します。

4. CARLAサーバーを起動します。 

  • Windows環境では 0_CARLA_SERVER_start.bat を、
    Linux環境では対応する .sh スクリプトを実行してください。

  • 設定可能なオプションには解像度、グラフィック品質、マップ選択などがあります。CARLASのPythonAPI/UTILフォルダ内にあるconfig.py –m XXを実行してください。低解像度設定の場合は、CarlaUE4.exe -dx11 -windowed -quality-level=Low に設定します。

5. RAMNをCARLAに接続します。テストの目的に応じてモードを選択します。

  • シリアルモード(パフォーマンス向上のため推奨)
    手動制御: 2_CARLA_RAMN_manual_serial.bat 
    AI制御: 3_CARLA_RAMN_auto_serial.bat 
  • CANモード
    手動制御:4_CARLA_RAMN_manual_CAN.bat 
    AI制御: 5_CARLA_RAMN_auto_CAN.bat  

双方向トラフィックを確認するには、お好みのアナライザー(例:python-can、Wireshark)を使用してください。CARLAのシミュレートされたイベントがRAMN上でCANメッセージとして表示され、同時にRAMNボードへの物理入力がシミュレーター上の車両の挙動に反映される様子を確認できるはずです。

研究・教育へのメリット

RAMNとCARLAを統合することで、実車テストに代わる費用対効果の高い代替手段が実現します。学生はデジタルコマンドが物理的動作にどのように変換されるかを可視化でき、セキュリティリサーチャーはサイバー攻撃シナリオを安全にシミュレートして研究することができます。

これらのワークフローは、RAMNボード上でのプロトタイプ作成、CARLAでの動作シミュレーション、トラフィックのリアルタイム解析、そしてファームウェアの反復的な改良という、完全な開発ループを構築します。このような取り回しの良さにより、このプラットフォームは、繰り返し利用可能なテスト環境を求める学術研究室、研究機関、セキュリティチームにとって理想的なプラットフォームとなっています。

自動車サイバーセキュリティにおけるRAMNの重要性

現代の車両は、共有ネットワークを介して通信する数十のECUと数百万行のコードに依存しており、あらゆる接続が潜在的な攻撃対象となります。RAMNは、脆弱性がどのように拡散するかを研究し、それに応じて対策を検証するための安全かつ実用的な手段をエンジニアやリサーチャーに提供します。

RAMNのオープンソースフレームワークにより、ユーザーは侵入検知、メッセージ認証、その他のセキュリティアルゴリズムを用いて機能を拡張できます。CARLAと組み合わせることで、RAMNは物理実験と仮想シミュレーションを橋渡しし、コネクテッドカーを起点とする攻撃や標的とする攻撃を調査・探求する環境を創出します。

つまるところ、RAMNは単なるテストベッド以上の存在といえます。自動車サイバーセキュリティコミュニティが組み込みシステムのセキュリティと教育に取り組む方法に大きな変化をもたらすターニングソリューションとなるでしょう。好奇心と技術的意欲を持つ誰もが複雑なテスト環境にアクセスできるようにすることで、イノベーションを加速し、安全で知的なモビリティの基盤を強化することができるのです。

リソースからもっと知る

自動車サイバーセキュリティの理解を深める

ブログを読む

自動車業界のお客さまのサイバーセキュリティを加速させるために

デモの依頼