本論文では、SECOMP と呼ばれる、コンパートメント化されたC言語コードのコンパイラを紹介する。SECOMPには、未定義動作の影響範囲が動的に侵害されたコンパートメントに制限されることを保証する機械検証済みの証明がある。これは、メインストリームのプログラミング言語に対して初めて実現された強い保証である。
SECOMPは、CompCertの検証済みCコンパイラを拡張したものである。コンパートメントは相互に不信頼であり、手続き呼び出しとリターンを介してのみ相互作用できる。SECOMPは、CompCertのパスと最適化を、このコンパートメント対応の設定に適応させている。
SECOMPの安全なコンパイルの証明では、いくつかの新しい証明工学の工夫が必要とされた。これには、メモリ注入を活用した詳細な模倣関係の定義、システムコールの正しさを示すための情報豊富なトレースイベントの導入、再構成のための一般的な3方向の模倣関係の定義などが含まれる。
To Another Language
from source content
arxiv.org
Глибші Запити