ECS Fargateでも無料で証跡管理したい
by @tomoyamachi

対象者

  • コンテナのランタイムセキュリティに興味がある人
  • コンテナセキュリティの予算が勝ち取れなかった人

Fargateで運用する際の問題点

  • Fargate環境で、コンテナに侵入された場合、環境を保全してあとで解析ができない
  • 特定のコンテナを保持したまま切り離しができない
  • そのため、想定しない動作があった際に検知/追跡(証跡管理)をしたい
  • 不審なポートでの通信
  • 許可していないファイルの読み込み/書き込み

コンテナの証跡管理方法

  • アプリケーションの実行時に出されるSystemCallをキャプチャ
  • SystemCallのキャプチャする方法
  • UserLand(ptraceを利用)とKernelLand(eBPF)
  • 👀: eBPFの技術を利用したSDNを2年位前に実験してるので興味ある方はぜひ
  • 👀: ptraceの動作に興味がある場合は、自作のデバッガを作ってみると理解が深まる
  • Fargateでは、eBPFに対応していない…

コンテナ証跡管理を導入する方法

商用サービスを利用する場合

300万円/年くらいの初期費用が必要 (100コンテナがミニマム)。
そのかわり、証跡管理以外の機能も利用可能。
コンテナイメージの脆弱性検知/各種設定の確認など。

OSSで頑張る

OSS製品の理解が必要。
トラブルシュートする技術が必要。
無料。

今回OSSで試す構成

利用するOSS

Sysdigの創業者が開発。コンテナのランタイムセキュリティのデファクトスタンダード。
Falcoルールを指定することで、ルールに沿ったSystemCallを検出することができる。
pdig: Sysdig社が作成したptraceベースでfalcoを動作させるためのライブラリ。現在PublicArchived。


実際に動かしてみる


アプリケーションは /以下に<timestamp>.txtというファイルを作成するように作られている。
# アプリケーションのログ
2021/05/22 03:50:40 successfully create /1621655440.txt

# falcoが検出したログ