核心概念
静的解析とマシンラーニング予測を組み合わせることで、アプリケーションの攻撃面を大幅に削減できる。
要約
本論文は、静的解析とマシンラーニング予測を組み合わせたアプリケーションデブロートフレームワークPDSGを提案している。
PDSGは、プロファイリングステージとリリースステージから成る。プロファイリングステージでは、アプリケーションのトレースデータを収集し、機械学習モデルを訓練する。リリースステージでは、この機械学習モデルを使ってアプリケーションの実行時に関数呼び出しを予測し、予測された関数のみを実行可能にすることで攻撃面を削減する。
さらに、PDSGは静的解析を用いて、予測ミスが発生した場合でも正しい制御フローを保証する機能を備えている。具体的には、静的に導出した呼び出し関係の不変性を実行時に検査することで、予測ミスと実際の攻撃を区別する。
これにより、PDSGは従来手法よりも高い攻撃面削減率を達成しつつ、実行時のオーバーヘッドも抑えられる。
統計
アプリケーションの攻撃面を82.5%削減できる。
実行時のオーバーヘッドは8.9%である。