アメリカ国家安全保障局(NSA:National Security Agency)は、ソフトウェアのメモリ安全性に関するガイダンス「Software Memory Safety」を、11月10日(現地時間)にリリースした。
同ガイダンスは、近年のサイバーセキュリティ脅威の多くに利用されている、ソフトウェアのメモリ安全性の悪用を防ぐことを目的としており、組織におけるソフトウェアの開発にあたっては、可能な限りメモリ安全なプログラミング言語を使用するとともに、コンパイラのオプション、ツールのオプション、OS構成といったコードの安全性を高める対策を施すことで、保護を強化することを推奨している。
メモリ安全でないプログラミング言語としては、一般的に使用されているCやC++を挙げており、これらのプログラミング言語はメモリ管理において高い自由度と柔軟性を提供する一方で、メモリ参照が安全に行われているかどうかのチェックはプログラマに大きく依存していると指摘する。
同ガイダンスでは、メモリ安全なプログラミング言語の一例として、C#、Go、Java、Ruby、Rust、Swiftなどを挙げる。[...]