バックナンバーはこちら

today&tomorrow

Industry Trend

2017 Jan Winter vol.105

遍在するソフトウェア、遍在する脆弱性

シノプシス シグナル・インテグリティ・グループ、ビジネス開発担当マネージャー Robert Vamosi

「パーソナル」な性格を強めるソフトウェア

人命にかかわる分野で近年ソフトウェアの役割が大きくなっているもう1つの例として、病院で使用したり体内に埋め込んで使用したりする医療機器があります。2008年はじめ、ペースメーカーなどの医療機器で使用されるソフトウェアに各種攻撃に対する脆弱性があることが明らかにされました。当時のディック・チェイニー副大統領も、第三者による信号の改ざんを危惧して自身のペースメーカーの通信機能を無効にしていたことが今では知られています(フィクションですが、人気テレビドラマ「Heartland」でも同じようなエピソードがありました)。

ところが、自動車業界と医療業界ではこの問題への対応がまったく異なっていました。医療業界には安全とセキュリティに関するベスト・プラクティスがあり、機器に見つかった脆弱性を解消するための期間が何年もあったにもかかわらず、これらのベスト・プラクティスは現在必ずしも十分に明確化されているとは言えません。一方の自動車業界にも安全とセキュリティに関するベスト・プラクティスがありますが、こちらはごく最近の事象をも糧にしようという姿勢が見てとれます。

「ネットワーク接続が導入されたのは自動車業界の方が後ですが、(自動車メーカーの方が)ほかの業界で起こった事象を真剣に受け止めていたような印象を受けます。対策に乗り出すのも先んじていました。報告される脆弱性の種類を見ると、製造および開発プロセスの早期に取り組みを開始した分だけ、セキュリティに関するベスト・プラクティスは医療機器メーカーよりも自動車メーカーの方が充実しており、より効果的に実装されているように見えます。」(Clark)。

信用と(頻繁な)点検は別物

シノプシス、クリティカル・システム・セキュリティ担当ディレクターのMike Ahmadiは、サプライ・チェーンのテストを繰り返し実行することの必要性について次のように述べています。「たとえば飛行機を使った旅行にはいくつものベスト・プラクティスがありますが、それにもかかわらず飛行機が離陸する際には毎回(パイロットが)所定の手順に従ってチェックリストの全項目を点検します。これは、機体を製造および保守点検している会社を信用しているかどうかとは関係なく、必ず行われます。そして実際に問題が見つかることも少なくありません。私自身、そのために搭乗便が遅れた経験が何度もあります」。

チェックリストが必要な理由について、Ahmadiはクリティカルなシステム(少なくとも安全とセキュリティに関する部分)の動的な性質を挙げています。「セキュリティで何が問題かと言えば、状況が刻々と変化するということです。たとえば今日の点検で問題が見つからなかったとしても、1年も経てば脆弱性や攻撃可能性はすっかり様変わりしてしまいます。さほどクリティカルでないシステムなら、点検の間隔を短くすることで対処できるかもしれません。しかしクリティカルなシステムの場合は可能な限り頻繁に点検を行う必要があります」。

サイバー・サプライ・チェーンのソフトウェアの場合、後者に該当します。誰もが利用できるオープンソース・プロジェクトのコードを使用してソフトウェアを開発する場合、ライブラリが最新の状態に更新されていない可能性もあります。もっと困るのは、既存のプロジェクトで使用しているコードに新しい脆弱性が見つかった場合です。

2014年、シノプシスの研究者がOpenSSLの深刻な脆弱性を独自に共同発見しました。この結果、一夜にして6億を超えるIPアドレスが攻撃のリスクを抱えていることが明らかになりました。これはSSLのハートビート機能の実装方法に欠陥があったことによるもので、約2年間にわたって製品に存在したまま放置されていました。ソフトウェア・パッケージに含まれるすべてのコンポーネントを1つずつ手順を踏んで検査し、継続的にテストを実施しなければ現在から将来にかけての企業のリスクを正しく評価することはできません。

synopsys heartbleed2years on

ここに価値をもたらすのがシノプシスのソリューションです。

「シノプシスは自動テスト・ツールを提供しています。もちろん、これらはすべて手動で行うことも可能です。人間がコードを1行1行チェックしてCVE、CVEスコア、CWEを参照してメトリクスを定義することもできます。人手で全体を精査して、プロトコル・レベルで問題を起こしそうなテスト・ケースを作成することも不可能ではありません。しかしシノプシスの自動テスト・ツールに接続すれば、ボタンを押して結果を待つだけです」(Ahmadi)。

自動車のダッシュボード・コンポーネントであれ、体内埋め込み型の医療機器であれ、これら機器を動かすソフトウェアの重要性はデスクトップPC、ノートPC、モバイル機器で動作するソフトウェアとなんら変わりません。これらの機器を製造する際には、ソフトウェアの品質とセキュリティのテストを必ず実行するよう心がけてください。ソフトウェア開発ライフサイクルの早期段階でこうした脆弱性を修正すれば、後になって修正するよりも大幅に手間が省け、少なくともブランドの信用を守ることができます。

Ahmadiは次のように述べています。「自動テスト・ツールを使用してもソフトウェアのエラーがなくなるわけではありませんが、エラーの数は間違いなく激減し、短期間でより多くの成果を上げることができます」。

著者紹介

Robert Vamosi:シノプシス、シグナル・インテグリティ・グループ、ビジネス開発マネージャー。『When Gadgets Betray Us: The Dark Side of Our Infatuation with New Technologies』の著者。ハッキングの歴史に関するドキュメンタリー映画「Code 2600」にも出演。15年以上にわたり、Forbes、CBS News、PCWorldなどに情報セキュリティに関する記事を寄稿。

カテゴリートップ