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. Copyright © 2022 Bitkey Inc. All right reserved.
    Goから学ぶ脆弱性対応ポリシー
    株式会社ビットキー びやあき 2022-12-07

    View Slide

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

    View Slide

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

    View Slide

  4. 4
    Copyright © 2022 Bitkey Inc. All right reserved.
    2. モチベーション

    View Slide

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

    View Slide

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

    View Slide

  7. 7
    Copyright © 2022 Bitkey Inc. All right reserved.
    3. 調査内容

    View Slide

  8. 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」を設定します。

    View Slide

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

    View Slide

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

    View Slide

  11. 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にバックポートさ
    れて即リリースされている

    View Slide

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

    https://go.dev/security/vuln/

    View Slide

  13. 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 をよく見ていれ 、脆弱性に関する
    情報が早めに手に入る?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  17. 17
    Copyright © 2022 Bitkey Inc. All right reserved.
    4. まとめ

    View Slide

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

    View Slide

  19. 19
    End of File
    Copyright © 2022 Bitkey Inc. All right reserved.

    View Slide