仮想環境「Vista」を使ってファジングテスト-Mentor Forum 2018 セミナーレポート

2018年5月18日、Mentor Graphicsはセミナーイベント「Mentor Forum 2018 - System of Systems」を開催した。

「Mentor Forum 2018 - System of Systems」では、単独のツールでは解決できない下記の課題について様々なソリューションが紹介されたが、セミナー全体を通じて車載システムの開発を意識した内容であった。

 ?Model Based System Engineering
 ?Safety
 ?TAT短縮のための設計手法改革
 ?消費電力最適化

ここでは車載システムの開発にも繋がる面白い事例が紹介された「Model Based System Engineering」に関するセッションについてレポートする。

「Model Based System Engineering」のセッションでは、Mentorのバーチャル・プロトタイピング環境「Vista」によるソリューションが紹介された。「Vista」はシステムレベル記述言語「SystemC」のTLM 2.0をベースとしたバーチャル・プロトタイピング環境で、各種HWモデルを用いた実機レスのシミュレーションが可能。Mentorはこの「Vista」を用いて制御設計に「制御設計用物理モデル」を導入する事で大きなTAT短縮効果が得られると主張。車載ECU開発向けのバーチャルECUモデルを紹介した。

ment20180518-01.jpg

ECU開発へのバーチャル・プロトタイピングの導入は特に目新しい話では無いが、「Vista」のソリューション説明を久しぶりに聞く身としてはその豊富なバーチャルECUモデルのラインナップに驚かされた。ARMやルネサスなどプロセッサ・コアのモデルが35種類、ペリフェラルも含めた車載向けのチップ・モデルは計15種類用意しているという事で、数年前よりもかなり種類が増えたようだ。
※バーチャルECUモデルの詳細はMentor Graphics社にお問い合わせ下さい。

その「Vista」のユースケースとして面白かったのが「ファジングテスト」だ。ファジング(Fuzzing)はソフトウェアの脆弱性を検出するテスト手法の一つ。Mentorは「Vista」を用いたネットワーク・プロトコルに対するファジングテストの試みについて紹介した。

Mentorの構築したファジングテスト環境は下記の図の通りで、「Vista」にFPGAのプラットフォームを載せ、その上で組み込みLinuxを立ち上げポートフォアーディングを行い、外からファズを投げるというもの。組み込みLinux上にHTTPサーバーを立ち上げ、脆弱性のあるアプリケーションを動かし、仮想NICモデルを用いてバッファオーバーフローをカウントした。その結果、実機に対するファジングテストと同等の事が「Vista」の仮想環境でもできる事を確認。GDBによる不具合事象の動的解析も可能であり、「Vista」を用いてファジングテストを自動化すれば大きなメリットが得られるとした。

ment20180518-02.jpg
ment20180518-03.jpg


なおMentorによると、死活監視や周期チェックなどネットワークに対するファジングテストの基本シーケンスは自動化に向いているが、「ファズ」と呼ばれるランダムなテストパターンの作成にはノウハウが必要なため、今回のファジングテスト環境ではセキュリティの専門家である株式会社FFRIのファジングツールを使用したとの事。仮想モデルの実装方法によってファジングツールとのインターフェースを柔軟に対応できるという。

Mentorは今回取り組んだ「Vista」を用いたファジングテスト手法に関するホワイトペーパーを公開する予定。今後は同手法を車載ネットワークのセキュリティ・テストにも応用していく計画だという。