SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

制御システム用ソフトウェアの脆弱性対策
~CERTコーディングスタンダードの活用~

ICSソフトウェアの脆弱性対策に効く厳選14個のセキュアコーディングルール

  • このエントリーをはてなブックマークに追加

 年度頭からOpenSSLの脆弱性が世間を賑わせていましたが、Webの世界だけでなく、社会インフラを支える制御システムソフトウェア(ICSソフトウェア)においても脆弱性対策を留意しておく必要があります。本稿では、米国のICS-CERTが公開している脆弱性アドバイザリから見えてきたICSソフトウェアの脆弱性の傾向に加え、セキュアコーディングに特に効果的なルールを厳選して紹介します。(編集部)

  • このエントリーをはてなブックマークに追加

社会インフラで使われているシステムの脆弱性を検証

 OpenSSLにHeartbleedの脆弱性が発見されたのは記憶に新しいつい先日(4月)ですが、今月6月、今度は日本の研究者である菊池さん(株式会社レピダム)がCCS Injectionと呼ばれる脆弱性を発見し、話題になりました。OpenSSLはWebの世界におけるサーバやクライアントのプログラムで幅広く利用されているオープンソースソフトウェアであることから、社会的インパクトも大きく、これらの脆弱性は注目を集めました。

 一方、今回ご紹介するレポートが調査の対象とした制御システム用ソフトウェア(以下ICSソフトウェア)は、発電所やガス、水道、鉄道、ビル管理、といった社会の重要インフラなどで利用される、我々の生活を支える存在です。Webのように、一般に注目されやすい分野ではないかもしれませんが、これらのソフトウェアが安定して安全に動いているからこそ、社会インフラが滞りなく運用されています。

 逆に言えば、ICSソフトウェアにセキュリティ上の脆弱性が存在し、脆弱性がサイバー攻撃の脅威にさらされるということは、社会インフラそのものが脅威にさらされるということでもあり、さらに言えば、社会インフラを末端で利用する私たちの生活そのものが脅威にさらされる可能性がある、と考えることもできます。

 そんな社会インフラを支えるICSソフトウェアにおける脆弱性の現状を確認するために、調査を行いまとめたのが下記のレポートです。

ICSソフトウェアに含まれる脆弱性の傾向

 調査レポートでは、ICSソフトウェアの脆弱性の概要をまとめるとともに、JPCERT/CCのサイトで公開している「CERT Cコーディングスタンダード」のルールをICSソフトウェアの開発者の皆様にも活用していただくために、脆弱性を作り込まないために有効な推奨コーディングルールをピックアップしています。

 調査は米国のICS-CERTが公開している脆弱性アドバイザリを対象に行ったのですが、ICS-CERTは、2010年から2013年末までの期間に445件の脆弱性を公開しており、脆弱性の種類には次のグラフのような傾向が見られます(図1、調査レポート9ページのデータを元に作成)。

図1. ICS ソフトウェアの脆弱性ランキング
図1. ICS ソフトウェアの脆弱性ランキング

 傾向としては、入力データを確認しないことが原因で作り込まれる脆弱性(CWE-20)が全体の31%を占めるほか、C/C++言語のコーディングでありがちなバッファオーバーフロー系の脆弱性(CWE-118)が全体の29%を占めることなどが分かりました。

 また、ICSソフトウェアの脆弱性の3割以上に、脆弱性が攻撃可能であることを実証するコード(Proof-of-Concept)が存在することも分かり、意外な発見でした(図2)。

図2. 攻撃コードの有無
図2. 攻撃コードの有無

 調査レポートではその他の観点からもICSソフトウェアの脆弱性の傾向を概観しています。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
検証から判明したセキュアコーディングに効く厳選14個のルール

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

久保 正樹(JPCERT コーディネーションセンター)(クボ マサキ(JPCERT コーディネーションセンター))

脆弱性アナリストJPCERTコーディネーションセンター慶応義塾大学環境情報学部卒。ソニーでデスクトップPCのソフトウェア開発に携わったのち、米国ダートマス大学にてオーディオ信号処理、電子音響音楽の研究を行い、電子音響音楽修士を取得。2005年4月よりJPCERTコーディネーションセンターにて、脆弱性...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7858 2014/06/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング