Accelerating Memory Safety: DARPA’s TRACTOR Program Transforms C to Rust
2024/08/04 SecurityOnline — 米国の国防機関である DARPA (Defense Advanced Research Projects Agency) は、C 言語から Rust への自動変換を目的とする TRACTOR プログラムを通じて、メモリ・セーフなプログラミング言語への移行を加速させている。このイニシアチブでは、レガシー C コードの Rust への変換を自動化するための、機械学習ツールを開発している。メモリ・セーフティの問題は、大規模なコードベースにおける脆弱性の、主な原因となっている。DARPA は、AI モデルがプログラミング言語の変換を支援し、ソフトウェアの安全性を高めることを期待している。

Google や Microsoft といった技術大手は、数年前からメモリ・セーフティの問題について警告を発しており、手作業によるメモリ管理を必要としないプログラミング言語の、つまり Rust などの活用を提唱している。このトレンドについては、ホワイトハウスや CISA (Cybersecurity and Infrastructure Security Agency) などの政府機関も注目している。現時点において CISA は、Rust/C#/Go/Java/Python/Swift などの、メモリ・セーフなプログラミング言語の使用を推奨している。
C と C++ の支持者は、ISO 規格を厳格に遵守し、テストツールを使用することで同等の結果が得られると主張している。しかし DARPA は、これらの言語におけるメモリ安全性の問題は依然として大きいと考えている。
2015年にリリースされた Rust は、メモリ・セーフティを確保しながら、高性能を必要とするシステム・プログラミングにも適している。この言語は、セキュリティ・リスクを軽減するために、NTP (Network Time Protocol) デーモンなどの重要なコードを Rust で書き換えることを目的とする、Prossimo プログラムなどの取り組みを通じて人気を博している。
TRACTOR プログラムは、民間セクターでも注目を集めている。たとえば、ハードウェアのコード変換を専門とする Code Metal は、DARPA のプログラムが有望でタイムリーであると評価している。しかし、自動コード変換において、依然として困難な課題でとして挙げられるのは、Rust では禁止されている C 言語のポインタ処理の複雑さである。
2024年8月26日に DARPA は、TRACTOR プログラムへの提案を計画している人々へ向けて、イベントを開催する予定だという。参加登録の締め切りは、8月19日までとなっている。
メモリ・セーフな言語を使おうという掛け声は、2023/04/14 の「Security-by-Design と Security-by-Default の原則:政府の調達力を用いて普及させる – CISA」から始まっています。その時から1年以上が経過しましたが、ようやく DARPA が、C → Rust への転換を開始しました。しかし、文中でも指摘されているように、C 言語のポインタ処理の複雑さが難題とのことです。クリアできると良いですね。
You must be logged in to post a comment.