[論文レビュー] ScaRR: Scalable Runtime Remote Attestation for Complex Systems
ScaRRは、クラウドベースの仮想マシンなどの複雑なシステムを対象とした、スケーラブルなランタイムリモートアテステーション方式の最初のものであり、画期的な断片化ベースの制御フロー・モデルにより、細粒度で中間的な制御フロー整合性の検証を可能にする。平均して1秒間に200万件の制御フローイベントを処理でき、従来のソリューションを著しく上回りながら、マルチスレーディングおよび動的ランタイム分析をサポートする。
The introduction of remote attestation (RA) schemes has allowed academia and industry to enhance the security of their systems. The commercial products currently available enable only the validation of static properties, such as applications fingerprint, and do not handle runtime properties, such as control-flow correctness. This limitation pushed researchers towards the identification of new approaches, called runtime RA. However, those mainly work on embedded devices, which share very few common features with complex systems, such as virtual machines in a cloud. A naive deployment of runtime RA schemes for embedded devices on complex systems faces scalability problems, such as the representation of complex control-flows or slow verification phase. In this work, we present ScaRR: the first Scalable Runtime Remote attestation schema for complex systems. Thanks to its novel control-flow model, ScaRR enables the deployment of runtime RA on any application regardless of its complexity, by also achieving good performance. We implemented ScaRR and tested it on the benchmark suite SPEC CPU 2017. We show that ScaRR can validate on average 2M control-flow events per second, definitely outperforming existing solutions.
研究の動機と目的
- クラウドVMのような複雑なシステムに対するスケーラブルなランタイムリモートアテステーション(RA)ソリューションの不足に応えること。既存の埋め込みデバイス中心のRA方式では十分にカバーされていない。
- プログラム実行を中断せずに制御フロー整合性のランタイム検証を可能にし、動的かつ中間的な検証をサポートすること。
- モノリシックパスハッシュや記号実行に依存する従来のRA方式のスケーラビリティの限界を克服し、複雑なソフトウェアでは実行不可能な手法を回避すること。
- 検証者が部分実行レポートを最小限の遅延で分析できるようにすることで、細粒度の攻撃検出を可能にすること。
- マルチスレーディングやASLR、スタック・キャニオンなど、現代のシステム機能と互換性を持つソリューションの設計をすること。
提案手法
- ScaRRは、完全な実行パスを意味のある部分パスに断片化する画期的な制御フロー・モデルを導入し、部分的なレポート送信を可能にする。
- プローバーは実行時、中間的な部分レポートを生成・送信し、それぞれが制御フロー実行のセグメントを表す。
- 検証者は静的解析とシャロウ実行の組み合わせを用いて、各部分レポートの軽量で健全な検証を実施し、正しさを保証する。
- システムはLLVMを介したコンパイラインストルメンテーションにより、アプリケーションソースに監視コードを挿入し、ランタイムでの制御フローイベント収集を可能にする。
- ScaRRは、報告書の真正性と整合性を保証するための信頼できるアンカーを用い、同時にW^XやASLRなどの標準的なOSレベルの保護機構に依存してランタイム防御を実現する。
- アーキテクチャは、スレッドごとに独立して制御フローイベントを追跡・レポートすることで、マルチスレーディング実行をサポートする。
実験結果
リサーチクエスチョン
- RQ1クラウドベースの仮想マシンのような複雑なシステムに対して、効果的にスケーラブルに動作するランタイムリモートアテステーション方式を設計できるか?
- RQ2モノリシックパスハッシュや高コストの記号実行に依存せずに、リアルタイムで制御フロー整合性を検証できるか?
- RQ3プログラム実行を妨げることなく、実行パスの中間検証を達成できるか?これにより、細粒度の攻撃検出が可能になるか?
- RQ4複雑なワークロードにおいて、ランタイムRA方式のアテステーションおよび検証速度の性能上限はどの程度か?
- RQ5提案された制御フロー表現モデルは、C-FLAT や DIAT といった既存の手法と比較して、セキュリティ面およびスケーラビリティ面で優れているか?
主な発見
- ScaRRは平均して1秒間に200万件の制御フローイベントを処理するアテステーション速度を達成し、従来のソリューションが1秒間に数百から数干万件しか処理できないのに対し、著しく優れている。
- 部分レポートに対する軽量なチェックにより検証フェーズが極めて効率的であり、パフォーマンスのボトルネックが生じないリアルタイム検証が可能である。
- 部分レポートがコンパクトで、各インターバルごとに送信される制御フローイベントのサブセットに限られるため、ネットワークトラフィックは限定的である。
- パス断片化に基づく制御フロー・モデルにより、表現サイズの指数的増加を伴わずに、複雑な制御フローグラフを正確に表現できる。
- ScaRRはマルチスレッドアプリケーションをサポートし、完全にハイジャックされたユーザースペースの脅威モデル下でもセキュリティ保証を維持する。
- シャロウ実行による健全な検証により、マルチセットベースのモデルで発生する実行順序の喪失を悪用する攻撃(例:COOP)に対して、強固な耐性を示す。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。