MONOist 静的解析で見つかった弱点にはどのように対応しますか。
岡氏 静的解析はソースコードから不具合を見つける。早期のバグ修正で不具合を除去し、後工程の手間を減らすことが重要になる。不具合の基準の1つは、ソースコードがコーディングのガイドラインに沿っているかどうかだ。自動車メーカーとサプライヤーには、CERT C、MISRA C、AUTOSARが採用されている。また、脆弱性のリストであるCWE(Common Weakness Enumeration)も考慮に入れるという話が出てきている。
ただ、実際にインフォテインメントシステムのソースコード15万行がガイドラインに準拠しているか調べると、4万件近いエクセプション(ガイドラインへの不適合)が見つかった例がある。これを全て修正するには、1件5分として3300時間かかってしまう。自動車メーカーは全て修正する必要はないと理解している。仕様を決める時に、どんな脅威があるか、どのルールが必要か決めればガイドラインの中で準拠すべき部分が決まる。そうでなければルールの数が決まらない。多くのエクセプションが出る可能性がある。
MONOist オープンソースソフトウェアがよく使われるようになっています。セキュリティ上の課題はありますか。
岡氏 出荷される自動車のソフトウェアの23%はオープンソースソフトウェアだ。オープンソースソフトウェアは、幾つかのリスクがある。オープンソースの部分の脆弱性を攻撃される可能性や、ライセンスの条件を順守しておらず、訴訟に至る懸念もある。また、オープンソースソフトウェアのコミュニティーが活発に活動しているか、脆弱性の修正や新機能の追加が積極的に行われるかも重要だ。実際にバイナリー解析ツールを使うと、どのオープンソースソフトウェアに何件の弱点や脆弱性が含まれているか明らかにできる。
MONOist ファジングテストでは何が見つかりますか。
岡氏 ファジングテストは未知の脆弱性を探す。Wi-Fi、Bluetooth、CANなど通信プロトコルに情報を投げる時、異常なフォーマットのデータも一緒に投げ、どういう反応をするかを見る。異常なデータでシステムがダウンしたり、おかしな動きをしたりしないか見る。自動車の機能安全規格ISO 26262で定められているインタフェーステストや故障注入などのテストもファジングツールで対応している。自動車業界が多く使うプロトコルはテレマティクス向けのIP関連が多い。新たに、MP3やJPEG、MPEG-4といったメディアファイルもランクインし始めている。
Copyright © ITmedia, Inc. All Rights Reserved.