Loading...
ECS Fargateでも無料で証跡管理したい
by
@tomoyamachi
対象者
コンテナのランタイムセキュリティに興味がある人
コンテナセキュリティの予算が勝ち取れなかった人
Fargateで運用する際の問題点
Fargate環境で、コンテナに侵入された場合、環境を保全してあとで解析ができない
特定のコンテナを保持したまま切り離しができない
EC2の場合はsnapshotを利用してフォレンジック環境を作成できる /
Infrastructure Domain Incidents(AWS Whitepapers)
Fargateの場合、VM領域がユーザ管理ではなくsnapshotを利用できない。
利用中のコンテナが終了すれば、調査ができなくなる
/
ECS Fargate threat modeling(sysdig blog)
そのため、想定しない動作があった際に検知/追跡(証跡管理)をしたい
不審なポートでの通信
許可していないファイルの読み込み/書き込み
コンテナの証跡管理方法
アプリケーションの実行時に出されるSystemCallをキャプチャ
SEの教科書
より
SystemCallのキャプチャする方法
UserLand(ptraceを利用)とKernelLand(eBPF)
👀
: eBPFの技術を利用したSDNを2年位前に実験してるので興味ある方はぜひ
+
WSA研 : XDPを利用したエッジデバイスでのネットワーク制御
👀
: ptraceの動作に興味がある場合は、
自作のデバッガ
を作ってみると理解が深まる
Fargateでは、eBPFに対応していない…
コンテナ証跡管理を導入する方法
商用サービスを利用する場合
300万円/年くらいの初期費用が必要
(100コンテナがミニマム)。
そのかわり、証跡管理以外の機能も利用可能。
コンテナイメージの脆弱性検知/各種設定の確認など。
OSSで頑張る
OSS製品の理解が必要。
トラブルシュートする技術が必要。
無料。
今回OSSで試す構成
利用するOSS
Sysdigの創業者が開発。コンテナのランタイムセキュリティのデファクトスタンダード。
Falcoルールを指定することで、ルールに沿ったSystemCallを検出することができる。
GitHub - falcosecurity/falco: Cloud Native Runtime Security
Cloud Native Runtime Security. Contribute to falcosecurity/falco development by creating an account on GitHub.
github.com
pdig: Sysdig社が作成したptraceベースでfalcoを動作させるためのライブラリ。現在PublicArchived。
GitHub - falcosecurity/pdig: ptrace-based event producer for udig
ptrace-based event producer for udig. Contribute to falcosecurity/pdig development by creating an account on GitHub.
github.com
GitHub - tomoyamachi/falco-on-distroless-fargate: trace an application activity, in distroless:static image. this image also work on ECS Fargate.
trace an application activity, in distroless:static image. this image also work on ECS Fargate. - GitHub - tomoyamachi/falco-on-distroless-fargate: trace an application activity, in distroless:stat...
github.com
対象のGitレポジトリ
実際に動かしてみる
アプリケーションは
/
以下に<timestamp>.txtというファイルを作成するように作られている。
# アプリケーションのログ
2021/05/22 03:50:40 successfully
create
/
1621655440.
txt
# falcoが検出したログ
Please turn on JavaScript to use Paper in all of its awesomeness. ^_^
対象者
Fargateで運用する際の問題点
コンテナの証跡管理方法
コンテナ証跡管理を導入する方法
商用サービスを利用する場合
OSSで頑張る
今回OSSで試す構成
利用するOSS
実際に動かしてみる
# アプリケーションのログ
2021/05/22 03:50:40 successfully create /1621655440.txt
# falcoが検出したログ