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

「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response

2026/04/30 に開催された関ジャバで投影した資料です。
当日から一部変えている部分はありますが、大体一緒です。
気になる点や問題点あればご連絡ください。

Avatar for mackey0225

mackey0225

April 30, 2026

More Decks by mackey0225

Other Decks in Programming

Transcript

  1. 脆弱性対応について おしながき • そもそも「脆弱性」とは? • 自分のとこでは、こうやっている ◦ 対応の流れ(検知・リスク管理) ▪ 情報の集め方・見つけ方

    ▪ CVE、CVSS スコアについて など • 取り組みを通して意識していること • まだできていないこと(現状の課題)
  2. 脆弱性対応について 脆弱性の例 • SQL インジェクション対策(プレースホルダの利用など)の漏 れによる情報漏洩 • SSRF の脆弱性を突かれ、クラウドリソースのクレデンシャル が奪取された

    • CSRF トークンの検証を行っておらず、Cookie ベースのセッ ション管理のみに依存していたため、CSRF 攻撃が発生した • 脆弱性のある OSS ライブラリを放置した結果、攻撃を受け DoS 状態に陥った
  3. 脆弱性対応について 脆弱性の例 • SQL インジェクション対策(プレースホルダの利用など)の漏 れによる情報漏洩 • SSRF の脆弱性を突かれ、クラウドリソースのクレデンシャル が奪取された

    • CSRF トークンの検証を行っておらず、Cookie ベースのセッ ション管理のみに依存していたため、CSRF 攻撃が発生した • 脆弱性のある OSS ライブラリを放置した結果、攻撃を受け DoS 状態に陥った 今日の話はここに関連した話
  4. 脆弱性対応について 何かを利用している限り責任を伴う • OSS を使わずにシステムを作るのは現代では至難の業 ◦ OSS は原則「無保証」「自己責任」 • 商用ライセンスならお金で万事解決!...とも言えない

    ◦ ベンダーとの SLA 次第 ◦ 何かしら調整事項は発生する • 不具合や脆弱性への対応について能動的な行動が必要 • With great power comes great responsibility.
  5. 脆弱性対応について 情報収集 • 受動的 ◦ JVN iPedia を RSS フィードで

    Slack に流す ◦ GitHub Dependabot のアラートで見る • 能動的 ◦ SNS のタイムラインで盛り上がっているやつを確認 ◦ セキュリティに強いアカウントやブログをフォロー
  6. 脆弱性対応について JVN iPedia を RSS フィードで Slack に流す • JVN

    とは ◦ Japan Vulnerability Notes の略 ◦ 日本におけるソフトウェアなどの脆弱性関連情報や対策情報を提 供しているポータルサイト ◦ JPCERT/CC と IPA で共同運営 ◦ https://jvn.jp/index.html • JVN iPedia とは ◦ 脆弱性対策情報のデータベースのこと ◦ RSS フィードがあるので、Slack に垂れ流せる ◦ https://jvndb.jvn.jp/
  7. 脆弱性対応について リスク分析 • 対象の脆弱性の内容を確認 ◦ CVE レポートの内容確認 ◦ CVSS スコアの確認と判断

    ◦ PoC の有無 • 対象のライブラリやソフトウェアの利用状況確認 ◦ どのバージョンを使用しているか ◦ どの環境で利用しているか ◦ どのような用途で使用しているか
  8. 脆弱性対応について CVE とは • Common Vulnerabilities and Exposures の略 •

    https://www.cve.org/ • 各システムやアプリケーションの脆弱性に対して MITRE 社が採番している識別子(CVE-ID)やその活動全体を指す ◦ アメリカ政府の支援で活動 • 公開されている脆弱性を特定、定義し、カタログ化 • 各研究機関やベンダーとの連携を行いながら運営 ◦ 日本では JPCERT/CC が中心になっている
  9. 脆弱性対応について 参考:JPCERT/CC • Japan Computer Emergency Response Team Coordination Center

    の略 • https://www.jpcert.or.jp/ • インシデント等の報告の受け付け、対応の支援、発生状況 の把握、手口の分析、再発防止のための対策の検討や助言 • 国内・国外の CSIRT や SOC の橋渡し・窓口的な存在
  10. 脆弱性対応について CVE の発足の経緯 • 1999年1月に MITRE 社のDavid E. Mann氏とSteven M.

    Christey氏によって発表したホワイトペーパーがきっかけ ◦ 『Towards a Common Enumeration of Vulnerabilities』 • その後、19名のメンバーを委員会として発足し、321件の CVE レコードを作成、1999年9月に正式に公開された
  11. 脆弱性対応について CVE レコードの概要 • CVE ID:フォーマット(CVE-<西暦>-連番) • CNA:CVE IDを採番した機関 •

    Description:脆弱性の内容 • CWE:脆弱性の種類(後述) • CVSS:脆弱性のスコア(後述) • Product Status:影響の受けるバージョンなどが記載
  12. 脆弱性対応について CWE とは • Common Weakness Enumeration の略 • 一般的な脆弱性タイプをまとめたリスト

    ◦ 現時点で 944 種類がリストアップされている • MITRE が中心になって策定されている • 現在のバージョンは 4.19.1 • https://cwe.mitre.org/index.html
  13. 脆弱性対応について CVSS スコアとは • Common Vulnerability Scoring System の略 •

    脆弱性の深刻度を 0.0〜10.0 のスコアで定量的に評価する国 際的な業界標準 • 2005年にアメリカのNIAC(National Infrastructure Advisory Council)が考案・作成 • その後、管理をFIRST(Forum of Incident Response and Security Teams)に移管 • 現在 v4.0 が最新 • https://www.first.org/cvss/
  14. 脆弱性対応について CVSS スコアの仕組み • 大きくは4つのグループの評価項目がある ◦ Base Metrics(基本) ◦ Threat

    Metrics(脅威) ◦ Environmental Metrics(環境) ◦ Supplemental Metrics(補助) • スコアの算出には、どのグループの組み合わせを使ったかも併せて表記す る ◦ Base を基本として、Base のみであれば、CVSS-B とする ◦ さらに Threat と Environmental の組み合わせで、CVSS-BE、 CVSS-BT、CVSS-BTE を定義する • (自分はもっぱら、Base しか見かけないな)
  15. 脆弱性対応について CVSS スコアの仕組み(Base Metrics の評価基 準) • Exploitability Metrics:攻撃がどれくらい容易に行えるかを評価 ◦

    Attack Vector : どこから攻撃可能か(ネットワーク、隣接ネットワー ク、ローカル、物理) ◦ Attack Complexity : 攻撃を成功させるために、攻撃者が制御できない 要因を回避する難易度(低、高) ◦ Attack Requirements : 攻撃を実行するために必要な、システム側の特 定の条件(なし、あり) ◦ Privileges Required : 攻撃に必要な権限(なし、低、高) ◦ User Interaction : 攻撃成功にユーザーの操作が必要か(なし、パッシ ブ、アクティブ)
  16. 脆弱性対応について CVSS スコアの仕組み(Base Metrics の評価基 準) • Vulnerable System Impact:脆弱性が存在するシステムそのものへの影響

    を評価 ◦ Confidentiality : 情報漏えいの影響度(なし、低、高) ◦ Integrity : 情報改ざんの影響度(なし、低、高) ◦ Availability : システム停止などの影響度(なし、低、高) • Subsequent System Impact:脆弱なシステムを踏み台にして別のシステム に影響を及ぼす場合の影響度を評価 ◦ Confidentiality : (なし、低、高) ◦ Integrity : (なし、低、高) ◦ Availability : (なし、低、高)
  17. 脆弱性対応について 対象のライブラリやソフトウェアの利用状況確認 自組織の状況確認も並行して必要 • どのバージョンを使用しているか ◦ 明示的に指定しているかどうか、依存関係の有無など • どの環境で利用しているか ◦

    クラウドインフラ、開発メンバーの端末など ◦ どのようにインストール適用しているかも併せて確認 • どのような用途で使用しているか ◦ ライブラリのすべての機能を使っているわけではない
  18. 脆弱性対応について • すぐパッチ適用できるなら、分析など考えずに実施する ◦ 事前検証が必要な場合や本番環境への影響がある場合は計画して対応する • 対応優先度を高いと判断する条件 ◦ 攻撃に関して容易に実現できる場合 ◦

    いんたーねっとで盛り上がっている場合 ▪ 一種のバイアス(バンドワゴン効果、同調圧力)は意識しながら判断 • 対応優先度を低いと判断する条件 ◦ 脆弱性があっても別の仕組みで防げている場合(AWS の機能でブロックなど) ◦ ライブラリは影響のあるバージョンだけど、対象の機能を使っていない場合 ◦ パッチ適用が現時点でまだ公開されていない場合 集めた情報を整理し、対応について判断する
  19. 脆弱性対応について 現時点でこれからのこと • SBOM の作成・管理 • クラウドベンダーのサービスの利活用 ◦ AWS Systems

    Manager Patch Manager など • 計画的なライブラリの更新ルール ◦ マイナー・パッチは積極的に実施する? ◦ メジャーは予め決めておく?