57
ホワイトハウスは開発者に対し、CとC++を避け、「メモリ安全」なプログラミング言語を使用するよう促している。
ホワイトハウス
(画像クレジット:Pexels)

更新: 2024年2月29日 午前8時28分 (太平洋標準時)

メモリセーフなプログラミング言語の NSA リストは、情報シートのバージョン 1.1 を反映するように更新されました。

「専門家は、CやC++など、メモリ安全性に関連する特性を欠きながらも、重要なシステムで広く普及しているプログラミング言語をいくつか特定している」と報告書には記されている。「サイバーセキュリティ・インフラセキュリティ庁(CISA)のオープンソースソフトウェアセキュリティロードマップで推奨されているように、最初からメモリ安全なプログラミング言語を選択することは、設計段階からセキュリティを重視したソフトウェア開発の一例である。」

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

19ページにわたるこの報告書の目的は、サイバーセキュリティの責任が個人や中小企業だけに負わされるのではなく、より大規模な組織、テクノロジー企業、そして最終的には政府に課されることを確実にすることです。

この報告書では、「安全でない」プログラミング言語とされるもの、具体的にはCとC++について詳細に説明しています。プログラミング言語の長所と短所を議論する場ではありませんが、報告書が特定の言語に代わるものを示唆していないのは興味深い点です。「メモリセーフなプログラミング言語は数十種類あり、それらは使用可能であり、また使用すべきである」とされています。

ONCDは、企業やエンジニアに対し、ソフトウェア開発におけるベストプラクティスの採用とメモリセーフなハードウェアの導入を促し、悪意のある攻撃者が攻撃可能な攻撃対象領域を縮小するよう求めています。報告書自体には、メモリセーフなプログラミング言語の定義が詳細に記載されていません。しかし、2022年11月、国家安全保障局(NSA)は、メモリセーフとみなされるプログラミング言語の詳細を記載したサイバーセキュリティ情報シートを発行しました。

NSAが推奨するメモリ安全なプログラミング言語

  • さび
  • 行く
  • C#
  • ジャワ
  • 迅速
  • JavaScript
  • ルビー
  • パイソン
  • デルファイ/オブジェクトパスカル
  • エイダ

提案されたプログラミング言語の人気はどの程度でしょうか?プログラミング言語の人気度を示すTIOBEインデックスを見ると、Pythonが1位です。NSAが推奨する選択肢の中では、C#が5位、Javaが4位、JavaScriptが6位、Goが8位です。続いてDelphi / Object Pascalが12位、Swiftが16位、Rustが18位、そしてRubyが20位と、いずれも僅差です。NSAが選んだ言語のほとんどが上位20位以内に入り、Adaだけがランクインしていません。しかし、10言語のうち開発者に「人気」があるのはわずか5言語です。

この報告書では、ソフトウェアセキュリティの測定基準の改善も求められています。ONCDは、より優れた測定基準によって、テクノロジープロバイダーは脆弱性が問題となる前に、より適切な計画を立て、予測し、軽減できるようになると考えています。

パート2(8ページ)では、NASAが「成功した失敗」と分類したアポロ13号ミッションを振り返ります。このミッションは壊滅的な失敗に見舞われ、3人の宇宙飛行士は間抜けな修理を行い、数々の問題を軽減して無事に帰還しました。メモリセーフなコードの必要性は宇宙計画にも影響を与えており、レポートでは、将来同様の事故が発生しないよう、可能な限りカーネルに近いメモリセーフな言語を使用するべきだと詳述しています。

この報告書は、米国政府が講じた一連の措置の最新のものです。2023年3月、バイデン大統領はサイバーセキュリティに関する大統領令[PDF]に署名し、ソフトウェアとハ​​ードウェアのセキュリティ確保のためのプロセスを開始するとともに、テクノロジー業界との関係構築も開始しました。

世界がますますデジタルファーストになるにつれ、より良いコーディングの必要性が高まっています。質の低いコードは、悪意を持って脆弱性を悪用される可能性があります。この報告書では、2021年12月に発生したLog4jの脆弱性に焦点を当てています。この脆弱性では、オープンソースのJavaロギングライブラリであるLog4jが、Log4Shellと呼ばれるゼロデイ脆弱性によって悪用されました。

レス・パウンダーは、トムズ・ハードウェアのアソシエイトエディターです。クリエイティブテクノロジストとして、7年間にわたり、老若男女を問わず、教育と啓発のためのプロジェクトを手がけてきました。Raspberry Pi Foundationと協力し、教師向けトレーニングプログラム「Picademy」の執筆・提供にも携わっています。