Chromium プロジェクトの開発者
Chromium を設計したとき、当初は
コードベースのセキュリティを維持するために、Google はまた、「
コード ベースのセキュリティをさらに強化するために、コード ベースでのメモリ エラーの発生を防ぐプロジェクトが開始されました。 主なアプローチは XNUMX つあります。メモリを安全に操作するための関数を備えた C++ ライブラリを作成することと、ハードウェア保護メカニズムを使用してガベージ コレクターの範囲を拡張することです。
作業は次の XNUMX つの分野に集中することが予想されます。
- C++ 開発プロセスに対する大幅な変更。パフォーマンスへの悪影響は排除されません (境界チェックとガベージ コレクションの追加)。 生のポインタの代わりに、次の型を使用することが提案されています。
ミラクルポイント これにより、パフォーマンス、メモリ消費量、安定性に顕著な悪影響を与えることなく、悪用可能な use-after-free エラーをセキュリティ上の脅威にならないクラッシュに減らすことができます。 - コンパイル時にメモリ安全性チェックを実行するように設計された言語を使用すると (コード実行時のそのようなチェックに固有のパフォーマンスへの悪影響は排除されますが、新しい言語のコードと他の言語のコードとの相互作用を整理するための追加コストが発生します) C++)。
メモリセーフなライブラリを使用するのが最も簡単な方法ですが、効率は低くなります。 Rust でコードを書き直すことは、最も効果的な方法であると評価されていますが、非常にコストがかかる方法でもあります。
出所: オープンネット.ru