White House Urges Switching to Memory Safe Languages
2024/02/27 DarkReading — ホワイトハウスの ONCD (Office of the National Cyber Director) が、最新技術レポートを公開した。それにより、開発者たちに対して要請されるのは、ソフトウェアにおけるメモリ・セーフティに関連する脆弱性を減らすために、安全なプログラミング言語を使用することである。
Technology Security の Assistant National Cyber Director である Anjana Rajan は、「メモリ・セーフティ関連の脆弱性は、35年もの間にわたり、デジタル・エコシステムの悩みの種であり続けてきたが、もう悩む必要はない」と声明を発している。このレポートは、エンジニアが使用するソフトウェア・ビルディング・ブロックにおいて、アーキテクチャや設計上の決定を下す際に、使用することを目的に作成されている。

メモリ・セーフ・プログラミング言語の活用は、アプリケーションにおけるバッファ・オーバーフローのような、メモリ安全性攻撃を防ぐ方法として、長い間にわたって注目されてきた。DEP (Data Execution Protection) や ASLR (Address-Space Layout Randomization) のような技術は、メモリ・セーフティ関連の攻撃を困難にする。
また、コードにおけるメモリ関連問題を防ぐために、開発者たちが使用すべき、安全な文字列処理ライブラリもある。さらに、広く使われているライブラリを、Rust などの言語を使って書き換えることを目的としたプロジェクトも、複数存在している。
その一方で、この種の攻撃が蔓延し続けるという事実が浮き彫りにするのは、コードを書き換えることの難しさである。Java や .NET が、メモリの安全性を提供していることを考えると、多くのエンタープライズ・ソフトやモバイル・アプリは、すでにメモリ・セーフ言語で書かれていると言える。
難しいのは、Java や .NET 以外の言語で記述された、メモリ・セーフとは言えない、既存のソフトウェア・システムに変更を加えることだ。さらに特に、この種のシステムには、インフラに深く浸透している傾向もある。
Vectra AI の CTO である Tim Wade は、メモリ・セーフティとの交換のために、それらを削除するのは容易ではないと言っている。考えられる1つの選択肢は、既存のシステムを置き換えるのではなく、メモリ・セーフな言語で書かれたソフトウェアを、優先的に選択することだ。
National Cyber Director の Harry Coker は、「この領域に着手するのは、一般的な脆弱性と関連するデータにより、メモリ・セーフティ関連のバグが、この数十年間で最も蔓延した1つであると特定されているからだ。この問題に対処していくためには、ソフトウェアやハードウェアの開発者たちの協力が不可欠である。すべてのプログラミング言語が同じように作られているわけではなく、本質的に安全でないものもある」と語っている。
ONCD のレポート “Back to the Building Blocks: A Path Toward Secure and Measurable Software” の全文は、ここから参照できる。
メモリ・セーフティなプログラミング言語にフォーカスするという米政府の方針は、CISA の Security-by-Design 原則にも取り込まれていたはずです。お隣のキュレーション・チームに聞いてみましたが、メモリ・セーフな言語が使われると、メモリ境界に関連する脆弱性が激減するはずであり、脆弱性の総数も減ってくれるはずだと言っていました。この種の取り組みに、期待が集まります。
You must be logged in to post a comment.