メディア
連載
» 2023年10月20日 07時00分 公開

何年もソフトウェア業界を悩ませてきた、セキュリティに関する「ある問題」

Googleの推計によれば、ソフトウェアの脆弱性の70%がどこから生じているのか、原因が分かっている。

[David JonesCybersecurity Dive]
Cybersecurity Dive

 脆弱(ぜいじゃく)性のあるソフトウェアは攻撃者の格好の標的だ。脆弱性を修正するパッチが公開されるまで、危険な状態にさらされる。

脆弱性問題とプログラミング言語との関係とは

 サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)は、脆弱性を排除するための取り組みの一環として、ある提言をまとめた。脆弱性の排除とプログラミング言語には関係があるという。

 CISAは、ソフトウェア業界がメモリ安全性の高いプログラミング言語を使用すればいいと提言する。

 メモリ安全性の高いプログラミング言語の利用の他にも2つの対策がある。ソフトウェアの開発段階におけるセキュアバイデザインの実践と、オープンソースソフトウェアのセキュリティを向上させる取り組みだ。プログラミング言語の種類はこれらと比べると地味に見えるものの、効果は大きいという。

 ホワイトハウスのOffice of National Cyber Directorは2023年8月、オープンソースセキュリティに関する情報提供を求め(注1)、メモリ安全性の高い言語を用いた開発に関する意見を募集した。

まず何をすればよいのか

 CISAのボブ・ロード氏(シニア・テクニカルアドバイザー)は、2023年9月20日に公開されたブログ投稿の中で(注2)、ソフトウェア開発者に対して、製品ラインからメモリ安全性に関連する脆弱性を排除することを目標にするよう呼び掛けた。

 「ソフトウェア開発企業は、ソフトウェア開発のライフサイクルをどのように変更したのかを詳細に説明するメモリセーフティロードマップを公開することから始めるべきだ」(ロード氏)

 このロードマップには、開発企業がメモリ安全性の高い言語を用いて製品開発を開始する時期や、オープンソースライブラリのメモリ安全性を高める取り組みをサポートする計画が盛り込まれた。

なぜメモリ安全性に注目するのか

 「メモリ安全性の欠如は、何十年もの間、ソフトウェア業界を悩ませてきた。ソフトウェアメーカーのトップビジネスリーダーは適切な投資をし、顧客のセキュリティに責任を負わなければならない。それが実現されるまで、脆弱性はもちろん、メモリ安全性の問題はサイバー被害の主な原因であり続けるだろう」(ロード氏)

 Googleの推計によると、メモリ安全性の問題はソフトウェアに潜む脆弱性の70%以上に関係している。

 サイバーセキュリティ事業を営むSonatypeのブライアン・フォックス氏(CTO《最高技術責任者》兼共同設立者)は「安全ではないメモリの使用によって起こるヌルポインタやバッファオーバーフローのような問題は、脆弱性のかなりの割合を占める」と述べた。

 CISAのジェン・イースタリー氏(ディレクター)は「CやC++のような安全ではない言語を使うことが、悪意ある攻撃の格好の標的を作り出している」と指摘する。「なぜならば、これらの言語は実行速度が速いために、多くのプログラムやオペレーティングシステムで広く使われているからだ」(注3)(注4)。

 CISAは、2023年9月20日に開催された「2023 National Cybersecurity Education Colloquium」に参加し、教育機関に対して、メモリ安全性の高いプログラミングの使用を授業計画に組み込むよう呼び掛けた。

 ユーザー企業はベンダーからソリューションを導入する際、今後はメモリ安全性の低いプログラミング言語を利用していないことを条件に挙げるとよいだろう。顧客の要望が強ければ次第に開発言語が切り替わっていくはずだ。

© Industry Dive. All rights reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。