国家安全保障局(NSA)とサイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)は、メモリ安全言語(MSL)への移行を促す新たな呼びかけを行いました。
新しい共同報告書、メモリ安全言語:現代のソフトウェア開発における脆弱性の削減では、重要なシステムを悩ませ続けるメモリ関連の脆弱性と戦うために、MSLを通じたソフトウェアの近代化の緊急性が概説されています。
報告書の主要な推奨事項として、特にレガシーシステムや高リスクのインフラを管理する組織に対し、設計上、一般的なメモリエラーを防ぐ言語を採用することが求められています。パフォーマンスや相互運用性の懸念は残るものの、これらの課題は克服可能であり、システムの整合性に対する長期的な利益がはるかに大きいと機関は主張しています。
このガイダンスは、政府と産業界全体でメモリ安全が現代の開発においてもはや選択肢ではなく、基礎的なものと見なされるべきだという合意が高まっていることを反映しています。特にRustのようなMSLをサポートするツールやエコシステムが成熟するにつれて。
これらの言語は、バッファオーバーフローのようなサイバー攻撃で最も悪用される脆弱性のクラス全体を最小限に抑えます。
しかし、移行には摩擦が伴います。報告書では以下の点が認識されています:
-
既存のコードベースは、しばしば密接に結合された非MSLコンポーネントに依存している
-
言語間のコミュニケーションからパフォーマンスのオーバーヘッドが生じる可能性がある
-
多くのMSLはまだ包括的なツールやコミュニティサポートを欠いている
-
重要なサードパーティライブラリがまだMSLで書かれていない可能性がある
これらの障壁に対処するために、報告書はモジュール化された書き換え、堅牢な依存関係管理、メモリ安全の原則を学術界や職場のスキル向上に組み込むためのターゲットを絞ったトレーニングプログラムを奨励しています。
サイバーセキュリティにおける戦略的シフト
学術界はすでに、特にPythonやJavaのような高レベルのMSLをカリキュラムに組み込んでいます。
DARPAのTRACTORやV-SPELLSのようなプログラムも、レガシーのCコードをRustに変換することで近代化を自動化することを目指しています。ProssimoやOpen Source Security Foundation(OpenSSF)などの業界プレイヤーは、メモリ安全なコードでインターネットの基盤インフラを構築することで需要を促進しています。
メモリ安全コードについてもっと読む: 重要なオープンソースプロジェクトの大多数がメモリ安全でないコードを含む
それでも、報告書はMSLが万能薬ではないと警告しています。制約のある環境や完全な移行が現実的でない状況では、既存のアーキテクチャを放棄せずに安全性を高めることができるメモリタグ付けハードウェアやコンパイラの強化などの代替案が概説されています。
同時に、NSAとCISAは、MSLの広範な採用がメモリの脆弱性を大規模に排除するための最も効果的な道であると主張しています。
「戦略的なMSLの採用は、安全なソフトウェアの未来への投資です」と報告書は述べています。
「メモリ安全のロードマップを定義し、ベストプラクティスの採用をリードすることで、組織はソフトウェアの回復力を大幅に向上させ、より安全なデジタル環境を確保するのに役立ちます。」
翻訳元: https://www.infosecurity-magazine.com/news/nsa-cisa-urge-memory-safe-languages/