Prevalence of Cross-File Dependencies in Terraform and Their Resolution by Security Scanners
本論文は、大規模なTerraformデータセットを分析することで、ファイル間の依存関係が普及しており、しばしばセキュリティに敏感なリソースを伴うことを明らかにし、さらに、制御された実験を通じて、現代のセキュリティスキャナーがこれらの複雑なファイル間関係を解決する能力を、差異はあるものの十分に備えていることを実証し、マルチファイルにおける推論は不可能であるという仮定に異を唱えるものである。
原著者: Moatasem M. Draz
原著者: Moatasem M. Draz
原論文は CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) でライセンスされています。 ✨ これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
技術要約:Terraformにおけるファイル間依存関係の普及率とセキュリティスキャナーによる解決能力
問題提起
Infrastructure as Code (IaC) の研究およびセキュリティ分析は、歴史的にTerraformの設定に関する2つの未検証の仮定に基づいている。(1) 設定を個々のファイルの平坦な集合として扱う「ユニット・オブ・アナリシス(分析単位)の仮定」、および (2) 現在のセキュリティスキャナーはファイルやモジュールの境界を越えて値を解決できず、マルチファイルによる推論は将来的な機能であるとする「能力の仮定」である。本論文は、実世界のレポジトリにおけるファイル間依存関係の実際の普及率を調査し、広く使用されているセキュリティスキャナーがこれらの依存関係を通じて定義された値を解決できるかどうかを実証的にテストすることで、これらの仮定に異議を唱えるものである。
手法
本研究は、62,406個のオープンソースTerraformレポジトリからなる公開コーパスであるTerraDSを活用した2フェーズのアプローチを採用している。
特性調査 (RQ1–RQ3):
- データソース: 分析には、HCL主体のプロジェクトへのバイアスを軽減するため、言語の優位性ではなくTerraformファイルの存在に基づいてレポジトリをインデックス化したTerraDSを使用する。
- グラフ構築: 各レポジトリに対して、有向モジュールレベル依存グラフを再構築する。ノードはモジュール(ディレクトリ)を表し、エッジはモジュール呼び出しを表す。
- 分類学: ソース文字列に基づき、依存関係を7つのカテゴリに分類し、レポジトリ内でのクロスファイル参照(例:
../../shared/db,./modules/network)と外部参照(レジストリ、VCSなど)を区別する。 - セキュリティとの関連付け: 「セキュリティに敏感な」リソース(例:IAMポリシー、セキュリティグループ、S3バケット)を特定し、それらのリソースを宣言しているモジュールをクロスファイル依存関係がどの程度の頻度でターゲットにしているかを測定する。
- 統計分析: クロスファイル依存関係の数と、レポジトリの特性(サイズ、人気度、モジュール数)との間の相関関係を算出する。
制御されたツール評価 (RQ4):
- 実験設計: Checkov、tfsec、Terrascan、Trivyの4つの広く使用されているスキャナーをテストするために、マッチド・コントロール/トリートメント/インライン設計を用いる。
- 構成要素: 7つの特定のクロスファイル構成を、2つのセキュリティプロパティ(パブリックリードS3 ACLおよびオープンなセキュリティグループイングレス)にわたってテストする:
- モジュール内 (Intra-module): 変数のデフォルト値、ローカル値、
terraform.tfvars、およびoverride.tfのマージ。 - モジュール間 (Inter-module): モジュールの入力、出力の連鎖(output chaining)、およびネストされたモジュール。
- モジュール内 (Intra-module): 変数のデフォルト値、ローカル値、
- *オラクル (Oracle): あるツールが構成を「解決」したとみなされるのは、その構成を通じて注入された不安全な値を検出し(トリートメント)、かつ、同じ値を安全な構成においては無視し(コントロール)、さらにその値を直接注入した場合に検出できた(インライン・ポジティブコントロール)場合のみである。この設計により、ツールにルールが欠けているのか、あるいはクロスファイル参照を追跡できていないのかを区別する。
主な貢献
- 大規模な特性化: 62,406のレポジトリという規模でのクロスファイル依存関係に関する初の経験的研究であり、そのような依存関係が一般的であり、構造的に重要であることを確立した。
- 依存関係の分類学: モジュールパターンのソースベースの分類を行い、ディレクトリ走査型のローカル参照およびサブディレクトリ参照の優位性を定量化した。
- セキュリティ表面分析: クロスファイル依存関係をセキュリティに敏感なリソースに結びつけ、これらの依存関係がIAMやネットワーク制御を定義するモジュールを頻繁にターゲットにしていることを示した。
- 能力マップ: スキャナーの能力に関するグラウンドトゥルース(正解)の評価を行い、解決能力はバイナリ(二値的)ではなく段階的であることを明らかにした。本研究は、スキャナーはクロスファイル参照を追跡できないという包括的な仮定を修正するものである。
- 再現パッケージ: コード、データ、および他のツールや構成に対してバッテリーを再実行できるジェネレーターを完全にリリースする。
結果
- 普及率 (RQ1): クロスファイル依存関係は**34.7%**のレポジトリに存在している。分布は高度に右に歪んでおり、中央値のレポジトリは依存関係が少ないが、上位10%のレポジトリは不釣り合いに多くのエッジを含んでいる。
- パターン (RQ2): レポジトリ内のクロスファイル依存関係は、すべてのモジュール依存関係の**61.2%**を占めている。支配的なパターンはディレクトリ走査型のローカル参照(38.5%)であり、次いでサブディレクトリ参照(22.7%)である。
- セキュリティ表面 (RQ3): クロスファイル依存関係を持つレポジトリの**41.7%**において、その依存関係はセキュリティに敏感なリソースを宣言するモジュールをターゲットにしている。IAMポリシーとセキュリティグループのルールが最も頻繁にターゲットとされるリソースタイプである。クロスファイル結合は、構造的複雑性(モジュール数、ρ=0.752)とは強く相関するが、人気(スター数、ρ=0.113)とは弱く相関する。
- ツールの能力 (RQ4):
- ユニバーサルなサポート: 4つのスキャナーすべてが、別ファイルで定義された値(変数デフォルトおよびローカル値(モジュール内))を正常に解決した。
- 分岐するサポート:
terraform.tfvarsを介して供給される値を解決できるのはCheckovのみである。 - モジュール間の伝播: Checkowは、モジュールの境界を越える値(入力、出力の連鎖、ネスト)を完全に解決できる唯一のツールである。Terrascanは直接的なモジュール入力を解決するが、連鎖した出力やネストされたモジュールでは失敗する。tfsecとTrivyは、テストされたモジュール間の構成を一つも解決できなかった。
- 不一致:
override.tf(後勝ちセマンティクス)の処理は、プロパティによって一貫性がない。例えば、3つのツールはセキュリティグループの上書きを解決したが、S3 ACLの上書きを解決したツールは一つもなかった。
意義と主張
本論文は、「IaCスキャナーは一様にクロスファイル参照を追跡できない」という一般的な仮定は、テストされたツールと構成においては不正確であると主張している。本研究は以下のことを示している:
- クロスファイル構造は、Terraform構成の例外的なケースではなく、支配的なモードである。
- セキュリティスキャナーは、異なる程度のクロスファイル解決能力を備えている。すべてのツールが普遍的に完璧であるわけではないが、Checkowはテストされた構成に対して包括的な解決能力を示した。一方で、他のツールは最短のモジュール内フローに限定されていた。
- 「盲点」は能力の完全な欠如ではなく、特定のツール、構成メカニズム(例:
tfvarsvs 変数)、および間接性の深さ(モジュールのネスト)に依存する段階的な制限である。
著者は、研究者や実務家はスキャナーがクロスファイル参照に対して盲目であると想定すべきではないと結論付けている。代わりに、ツール選択は特定の能力マップに基づくべきである。tfsec、Trivy、またはTerrascanに依存しているチームは、terraform.tfvarsやモジュールの境界を通じて伝播するセキュリティに関連する値を見逃す可能性がある一方、Checkowはテストされた構成をカバーしている。本論文は、クロスファイル解決を、単なる想定された制限としてではなく、IaCツールの測定可能な第一級の能力として扱うことを提唱している。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。
毎週最高の computer science 論文をお届け。
スタンフォード、ケンブリッジ、フランス科学アカデミーの研究者に信頼されています。
受信トレイを確認して登録を完了してください。
問題が発生しました。もう一度お試しください。
スパムなし、いつでも解除可能。