Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェー...

セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。

サプライチェーン攻撃 にどう向き合う?~今こそ見直す、リスクとの向き合い方~ - connpass
https://findy.connpass.com/event/392431/

Avatar for tk3fftk

tk3fftk

June 08, 2026

More Decks by tk3fftk

Other Decks in Programming

Transcript

  1. Hiroki Takatsuka @tk3fftk primeNumber (2022 〜 ) • TROCCO /

    COMETA SRE, Engineering Manager • Security Team ⽴ち上げ → 兼務メンバー • Corporate SRE ⽴ち上げ 最近はFinOpsなども ヤフー株式会社 (2016 〜 2022) • CI/CD プラットフォーム Screwdriver.cd の SRE, Engineering Manager 猫はアルくんです、かわいいですね。
  2. 3

  3. 8 • 「weblio英和辞典 (risk)」 ◦ (危険・不利などを受けるかもしれない)危険,恐れ • 「デジタル大辞泉」 ◦ 危険の生じる可能性。危険度。また、結果を予測できる度合い。

    予想通りにいかない可能性。 • 「熊とワルツを - リスクを愉しむプロジェクト管理」 ◦ 1. 将来起こりうる出来事で、望まない結果を生むもの。 (原因) ◦ 2. 望まない結果そのもの。 (結果) リスクってなんだろう 〜色々な定義〜
  4. 9 リスクってなんだろう 〜色々な定義〜 • 「weblio英和辞典 (risk)」 ◦ (危険・不利などを受けるかもしれない)危険,恐れ • 「デジタル大辞泉」

    ◦ 危険の生じる可能性。危険度。また、結果を予測できる度合い。 予想通りにいかない可能性。 • 「熊とワルツを - リスクを愉しむプロジェクト管理」 ◦ 1. 将来起こりうる出来事で、望まない結果を生むもの。 (原因) ◦ 2. 望まない結果そのもの。 (結果) リスクとは、必ず起きるものではないらしい (実現する/しないの確率が存在する)
  5. 10 リスクってなんだろう 〜色々な定義〜 リスクとは、大小があるものらしい (危険>不利≧予想通りにいかない) • 「weblio英和辞典 (risk)」 ◦ (危険・不利などを受けるかもしれない)危険,恐れ

    • 「デジタル大辞泉」 ◦ 危険の生じる可能性。危険度。また、結果を予測できる度合い。 予想通りにいかない可能性。 • 「熊とワルツを - リスクを愉しむプロジェクト管理」 ◦ 1. 将来起こりうる出来事で、望まない結果を生むもの。 (原因) ◦ 2. 望まない結果そのもの。 (結果)
  6. 11 サプライチェーン攻撃のリスクが漠然と不安になる理由を考えてみる • リスクの実現確率が読みにくいこと ◦ 語弊を恐れずに言うと交通事故や通り魔に遭うような感覚に近いのでは ◦ AIによる不確実性も読みにくさを加速させている ▪ 動いてるものや利用しているパッケージを完全に把握できていないケース

    が増えてきている (そもそも依存完全把握はムズいが) ▪ 非エンジニアのAI利用、vibe codingの拡大 • リスクが実現した際の被害の大きさが読みにくいこと ◦ 万が一攻撃を食らったらどこまで何が盗られるのか? ◦ 自分だけでなく自分が攻撃の踏み台として利用されるのでは? 👉 解像度を上げるために「セキュリティ意識」を高めよう!
  7. 12 知識を高めるのは難しい(険しい)が、意識なら今から変えられる • セキュリティに限らず、専門知識を高めるのは険しい道のり ◦ 他に学ぶべきこと・やりたいことが大量にある世の中 ◦ (とはいえ、そうも言ってられない状況な気もしつつ…) • 攻撃手法の詳細まで踏み込めなくても「意識を高める」ことで守れる

    部分がある ◦ ⚠ もちろん、詳細を知っていた方が間違いなくプラスではある • 高塚自身もセキュリティの専門家ではなく意識が高いだけ ◦ それでもこうやって登壇の機会をいただく程度にはやっていけている
  8. 16 普段扱っている情報(データ)を理解・意識しておく • 本番環境(アプリケーション)のデータ ◦ DBに何が入ってる?個人情報は? ◦ クレデンシャルはどこで何を管理している? • 開発環境のデータ

    ◦ 弊社のソースコードって、漏れるとどこまでまずいんだっけ? ◦ 開発環境の本番のデータとか入ってないよね? ◦ GitHubに個人情報とか乗せてないよね? • ローカルマシンにあるデータ ◦ 環境変数とか.envみたいなのって何が入っている? ◦ AWSのアクキーとかってある?
  9. 17 脅威モデリングの考え方を取り入れる (⚠あくまで考え方) 脅威モデリングの考え方を「自分の家をどう守るか」という例で説明してみる 脅威モデリングの問い 家にたとえると 01 何を守るのか? → 大切なものはどこ?

    現金・通帳・思い出の品が、家のどこにあるか 02 何が起きると困る? → 起こりうることを想像 空き巣・なくし物・火事…どこから入られる? 03 どう備えるか? → できる備えをする 鍵をかける・金庫に入れる・保険に入る 04 ちゃんとできた? → 見落としはない? 裏口や窓も大丈夫か、鍵は閉め忘れていないか 01
  10. 19 • 「問題が発生する前の抽象的な概念の段階で対策を考えるプロセス」 • リスクは発生するまで抽象的な概念にすぎない ◦ 無視しても大丈夫なこともある ▪ ⚠リスクを考えなかったという管理上の過失については責任を免れられない ◦

    実現し、実際の問題になることで具体化する (リスク移行) • リスク管理は大抵の人が日常で実践している ◦ 保険に入る、一本早い電車に乗る、生牡蠣は食べない… リスク管理とは
  11. 20 • リスク管理の活動 a. 思いつく限りのリスクを考えぬき、検討を継続すべきリスクを選別 b. リスクが実現した場合の影響の大小、リスクの実現率を検討する c. リスクが実現した場合に、何をすべきか計画しておく d.

    リスクが実現した場合の影響を小さくする、または実現率を低くする対 策を実施する e. リスクを追跡、実現しないかどうかを監視する • すべてのリスクに対して対策をすることは現実的ではない • 見えないふりをして影響がないことを祈るのも違うのは明らか 👉 この2点の間のどこかにスタンスを取る リスク管理をしよう
  12. 21 • 定義: リスクは抽象的なもの • リスク軽減の対策を考えるには具体と抽象の往復が必要 • 具体と抽象とは別軸で、想像力を働かせ視座を上げることも必要 具体と抽象の往復 リスク

    抽象 サプライチェーン攻撃 具体 サプライチェーン リスク軽減対策 具体 サプライチェーン攻撃 によるリスク 抽象(やや具体)
  13. 22 例えば「axiosで侵害があった」というケースを考えてみる 抽 象 度 axiosで侵害 視座を上げる 組織内に波及? 抽象化 npm侵害の構造

    抽象化 外部モジュール 導入リスク 具体 横展開 AIツール利用で 混入率↑ 自分ができる 行動は? 具体 axiosに依存しているライブラリも 侵害されている可能性がある 社内でもaxiosを使っている axiosだけでなくnpmのエコシステム 全体への波及があるのでは 「検証せずに外部のモジュールを導入する こと全般のリスク」とも言えるのでは 具体 非エンジニアもAIツールを使い開発 をすることがある。 エンジニアだけの問題ではなく なっているのではないか? axiosの対応を実施
  14. 24 情報源を持っておく・コミュニティに参加する 勝手に宣伝 && 高塚がこのあたりから情報を得ることが多いよという話 • コミュニティ/ Slack ◦ CloudSec

    JP ▪ 国内のクラウドセキュリティに関わるエンジニア有志によるベンダー ニュートラルなコミュニティ ◦ 情シスSlack ▪ 約17,000名越えが参加する情シスのためのSlackコミュニティ ◦ Cyber-sec+ ▪ サイバーセキュリティに特化したオンラインコミュニケーションスペース
  15. 25 情報源を持っておく・X (Twitter)/Podcast 勝手に宣伝 && 高塚がこのあたりから情報を得ることが多いよという話 • X (Twitter) (敬称略)

    ◦ GMO Flatt Security株式会社 (@flatt_security) ◦ Socket (@SocketSecurity) ◦ YONEUCHI, Takashi (@y0n3uchy) ◦ yousukezan (@yousukezan) ◦ Hazy (@kawada_syogo225) ◦ piyokango (@piyokango) • Podcast ◦ #セキュリティのアレ
  16. 31 • ほぼ「1行足すだけ」または「1コマンド実行するだけ」で導入可能 ◦ 例: npm config set registry https://npm.flatt.tech/

    • 公開アドバイザリより速くカバレッジも高いパッケージブロック機能 • npm, PyPI, RubyGems, Goに対応、Packagistやcrates.ioも対応予定 ◦ PyPIなど一部パッケージマネージャーにはcooldownあり (ここから有償機能) • Takumi Guardを通じたインストールログの確認 • MDM等の管理ツールを組み合わせた一括セットアップへの対応 ◦ (弊社では絶賛ここに取組中です🐼) Takumi Guard (Takumi by GMO) の機能
  17. 32 • 「自動更新で侵害された拡張機能が入ってきちゃった」を避けたい • 例: 侵害されたVSCode拡張によりGitHub社内reposが漏洩 (2026/05) ◦ Investigation update:

    GitHub Enterprise Server signing key rotation - The GitHub Blog ◦ 直接の対策ではないが「あのGitHubでも」起こるリスクという見方もできる • 使ってないものは消しておこう(もう使ってなければエディタごと) ◦ 一覧は code --list-extensions --show-versions でも見れる • “cmd + ,” → “autoupdate” で検索して設定変更 VSCode系エディタの拡張棚卸し + 自動更新停止
  18. 33 • minimumReleaseAge的な設定を可能にする機能は議論中 ◦ Security: minimumReleaseAge setting for mitigating supply

    chain attacks on extensions · Issue #316867 ◦ Visual Studio Code 1.123から2時間のdelayが入るようにはなった • 現時点でも、allowlist方式でのポリシー管理は可能 ◦ Manage extensions in enterprise environments ◦ やるかどうかは組織規模と体制次第… • autoUpdate的な設定はissueは盛り上がってなさそう… ◦ extensions.autoUpdate setting should be group policy controlled · Issue #234543 FYI: VSCode系エディタの拡張の中央管理はたいへん
  19. 35 • GitHub Actionが侵害されるケースもある ◦ New GitHub Action supply chain

    attack: reviewdog/action-setup (2025/03) ◦ Popular GitHub Action tj-actions/changed-files is compromised (2025/03) ◦ 直接利用しているActionが侵害されていなくても、Actionが依存するActionが… • Git tagは可変であり、悪意ある第三者がリポジトリを侵害した場 合、既存のタグが指す先を書き換えることが可能 • サプライチェーン攻撃とは別で「なにもしてないのに壊れました」 を避けるためにも固定しておくほうがよい👌 GitHub Actions SHA pinning がなぜ必要か
  20. 36 • GitHub Actionsで外部のActionを利用する場合、v1などのタグ指定ではなく SHA(commit hash)でバージョンを固定することを強制する設定 • チェックボックスをクリックして有効化するだけなので入れるだけなら簡単 ◦ Organization

    or Repository Levelで設定できる • 利用しているActionやReusable Workflowが依存しているActionも対象 ◦ Actionは「依存の依存がわからない」問題がある ▪ Actionのサプライチェーンを可視化する手段は提供されていない ▪ 実行時にしか弾いてくれない GitHub Actions SHA pinning enforcement
  21. 38 What's coming to our GitHub Actions 2026 security roadmap

    - The GitHub Blog > Think of it as Go’s go.mod + go.sum, but for your workflow with complete reproducibility and auditability. FYI: workflow-level dependency locking機能もロードマップにはある
  22. 39 Docker Hardened Image (DHI) - Docker が提供する「最小構成・セキュア・本番向け」のコンテナイメージ - docker

    pull dhi.io/node:26-alpine みたいに使える (要 docker login) - ほぼ既知のCVEゼロを目指して保守 - 有償プランだとSLAやサポートが付く
  23. 41 • リスクの定義から考える不安の正体と向き合い方 ◦ 漠然と怖いのは「実現確率」と「被害規模」が読みにくいから → 解像度を上げれば向き合える ◦ 知識は一気に高められなくても、"意識" は今日から変えられる

    ◦ 影響やリスクを判断できるのは現場のエンジニア=「あなただか らできる」こと • セキュリティ意識の高め方 (4つの習慣) ◦ 情報のアンテナを張る (コミュニティ / X / Podcast) ◦ 自分たちへの影響を考える (具体⇔抽象、リスク管理) ◦ 困りごと、自分が扱う情報を把握しておく (脅威モデリング的な 発想) ◦ 低コストの対策はすぐやる (多層防御的な発想) まとめ: 意識を上げればサプライチェーン攻撃への耐性は高められる
  24. 42 • 熊とワルツを - リスクを愉しむプロジェクト管理 • 「具体⇔抽象」トレーニング 思考力が飛躍的にアップする29問 • サプライチェーン攻撃対策の社内展開したやつの抜粋(SHA

    pinning 必須化/min-release-age/Takumi Guard) • Takumi Guardと近しい機能を持っているツール ◦ AikidoSec/safe-chain ◦ SocketDev/sfw-free 参考資料