コメントを投稿するにはログインが必要です
ログインページへ
八百万のOSS「たまたまCIを止めていたから助かった」──そんな偶然に頼ったサプライチェーン攻撃対策、そろそろ卒業しませんか?今回はゲストにcicd-sensor作者のrungさんを迎え、CI/CDジョブの中身を監視して攻撃を検知するというアプローチを深掘りします。
前半はcicd-sensorの概要から。GitHub ActionsやGitLab CI/CDのジョブ上でeBPFを使ってプロセス・ネットワーク・ファイルアクセスを監視し、SSHキーやクラウドのアクセスキーを狙う「宝探し」型の攻撃を検知する仕組みを解説します。検知結果の表示やジョブの強制失敗に加え、実行時の挙動をログやattestationとして残して後から調査することもできます。後半は実装の深掘りで、cgroupによるジョブへのイベント仕分け、式言語CELで書かれた検知ルールとベースラインルールの設計思想、HTTPSで暗号化される前の情報をOpenSSLのuprobeで取得する、開発中のHTTPリクエスト監視機能の設計など、かなりディープな内容に。GitHubが攻撃データのアップロード先として悪用されると、`github.com`というドメイン名だけでは正常な通信と区別できない、という検知の難しさの話は必聴です。
CIを回しているエンジニアなら他人事ではない一本。正式リリース前のいま、ぜひチェックしてみてください。
## 関連リンク
- cicd-sensor(公式サイト): https://cicd-sensor.github.io/
- cicd-sensor(GitHubリポジトリ): https://github.com/cicd-sensor/cicd-sensor
- cicd-sensorのattestation predicate: https://cicd-sensor.github.io/user-guide/attestation-predicate.html
- HTTPリクエスト監視機能の設計: https://github.com/cicd-sensor/cicd-sensor/issues/136
- GitHub Actions: https://github.com/features/actions
- GitLab CI/CD: https://docs.gitlab.com/ci/
- eBPF: https://ebpf.io/
- CEL (Common Expression Language): https://cel.dev/
- Open Policy Agent (Rego): https://www.openpolicyagent.org/
- Expr: https://github.com/expr-lang/expr
- Falco: https://falco.org/
- Tetragon: https://tetragon.io/
- cilium/ebpf: https://github.com/cilium/ebpf
- cgroups: https://man7.org/linux/man-pages/man7/cgroups.7.html
- Renovate: https://docs.renovatebot.com/
- GMO Flatt Security: https://flatt.tech/
─────────────
YouTube: https://youtu.be/DK1-qUmI_pA
Web: https://yaoyorozu-oss.henteko07.com/
X: https://x.com/yaoyorozu_oss