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

Goから学ぶ脆弱性対応ポリシー

 Goから学ぶ脆弱性対応ポリシー

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. 2 Copyright © 2022 Bitkey Inc. All right reserved. Outline

    1. 自己紹介 2. モチベーション 3. 調査内容 4. まとめ
  2. 3 Copyright © 2022 Bitkey Inc. All right reserved. 自己紹介

    びやあき BYAK お仕事 趣味 ビットキーのバックエンドチームであ るBKPに所属。 OIDCやSAML、SCIMなど外部ID連携周 りやビットキー内部でのサービス間認 証周りの開発を主に担当しています。 クラウドサービスを使うことが多いで す。Workload Identityとかが好きで す。 ボードゲーム Vtuber系の技術を試す
  3. 5 Copyright © 2022 Bitkey Inc. All right reserved. 2.

    モチベーション なぜ脆弱性について調べようと思ったか • きっかけ OpenSSL 脆弱性対応 • 脆弱性なにもわからない • こ ままで良いんだっけ ... • ちょっと調べておこう
  4. 6 Copyright © 2022 Bitkey Inc. All right reserved. 2.

    モチベーション この話のゴール • 日頃何をウォッチすれ いいかわかる • 脆弱性を見つけたらどうすれ いいかわかる
  5. 8 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 go 1.19.3 で修正された脆弱性 CVE-2022-41716 環境変数を任意 値に設定できる場合、攻撃者 Windows 上で環境変数を 悪意を持って設定することができます。 syscall.StartProcess および os/exec.Cmd において、NUL 値を含む無効な 環境変数値が適切にチェックされません。 悪意 ある環境変数値 、こ 挙動を悪用して別 環境変数に値を設定する ことができます。 例え 、環境変数Aに文字列「Bxx00C=D」を入力すると、 変数「A=B」と「C=D」を設定します。
  6. 9 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 go 1.19.3 で修正された脆弱性 CVE-2022-41716 テスト 実装
  7. 10 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 go 1.19.3 で修正された脆弱性 CVE-2022-41716 テスト 実装 • どうやって報告された か • どうやって修正された か
  8. 11 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 CVE-2022-41716 の報告者 • CVE レコードが作成された 2022-09-28 • Issueが作成された 2022-10-18 • 2022-11-02 に修正がメインにマージされ、1.19と1.18にバックポートさ れて即リリースされている
  9. 12 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 Go プロジェクトのセキュリティ脆弱性の扱い • 脆弱性を見つけたらメールでGoセキュリティチームに報告する • Goセキュリティチームが内容を精査する • 脆弱性DBに公開し、影響範囲を確認したり、修正したりできるようにな る https://go.dev/security/vuln/
  10. 13 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 Go プロジェクトのセキュリティ脆弱性の扱い • 脆弱性を見つけたらメールでGoセキュリティチームに報告する • Goセキュリティチームが内容を精査する • 脆弱性DBに公開し、影響範囲を確認したり、修正したりできるようにな る https://go.dev/security/vuln/ • Issueが作成された 10/18 • 修正バージョンが公開された 11/2 • つまり、Issue Tracker をよく見ていれ 、脆弱性に関する 情報が早めに手に入る?
  11. 14 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 セキュリティ脆弱性のIssueを探す • 2022-12-05時点で2件 Issueがある
  12. 15 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 セキュリティ脆弱性のIssueを探す • 内容 非公開 • CVE レコードも採番 みで情報 非公開
  13. 16 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    調査内容 Goプロジェクトのセキュリティポリシー • セキュリティイシューに PUBLIC、PRIVATE、URGENT 分類がある • PUBLIC以外 イシュー 、それを修正した バージョンがリリースされる直前まで公開されない https://go.dev/security/policy
  14. 18 Copyright © 2022 Bitkey Inc. All right reserved. 4.

    まとめ 脆弱性についての理解 • 利用しているソフト メンテナから情報が公開される ◦ Go 場合 Twitterを見ておけ 良い ◦ govulncheckでチェック漏れを防ぐことができる • 脆弱性 不具合と別 方法で報告する場合が多い ◦ Go 場合 Goセキュリティチームにメールで報告 ◦ 基本的に メンテナに非公開で連絡する が良い