DARPA、メモリ安全性の脆弱性を一度に排除する取り組み

メモリ安全性の脆弱性は、開示されたソフトウェアの脆弱性の中で最も一般的なものであり、主として2つの形で影響する。1つ目は、C言語のようなプログラミング言語は、プログラマーがメモリを直接操作することができ、プログラムに誤ってエラーを生じさせることが容易であるという点。もう1つは、プログラミング言語が「定義されていない動作(undefined behavior)」を示した場合に、メモリ安全性問題が生じる可能性がある。C及びC++言語におけるメモリ安全性問題と20年以上にわたって格闘してきた後、ソフトウェア・エンジニアのコミュニティでは、「バグを見つけるツールに依存するだけでは不十分である」との総意に達している。こうした中、プログラミング言語の「ラスト(Rust)」への近年の文化的シフトと、機械学習技法における最近のブレイクスルーは、新たな種類のソリューションにつながる可能性がある環境を生み出している。国防高等研究計画局(Defense Advanced Research Project Agency: DARPA)の「全てのCをラストに訳す(Translating All C to Rust: TRACTOR)」プログラムは、こうした機会を活用し、世界的なレガシーで脆弱性の高いCコードを、本質的により安全なラスト言語へと大規模に自動翻訳することを目指す。

Defense Advanced Research Project Agency “Eliminating Memory Safety Vulnerabilities Once and For All” (7/31/24)