PSIRT Framework のご紹介

PSIRT Framework のご紹介

こんにちは。セキュリティ室の伊藤です。 昨年から取り組んできた PSIRT Framework(ドラフト版)を日本語に抄訳した成果物が公開されましたので、 本ブログで、ご紹介いたします。

PSIRT Services Framework 1.0 Draft (Japanese) ※ PDF ファイルです。 https://www.first.org/education/FIRST_PSIRT_Services_Framework_v1.0_draft_ja.pdf

抄訳のきっかけ

サイボウズが加盟するコンピュータソフトウェア協会(以下、CSAJ) は Software ISAC(以下、SWISAC)と 呼ばれる研究会を今年立ち上げました。

Sofrware ISAC http://www.csaj.jp/committee/security/softwareisac.html

ソフトウェアのよりセキュアな開発や更新等を行うための活動を行う SWISAC では、 活動の一環として PSIRT Framework を抄訳することとしました。 https://www.first.org/education/Draft_FIRST_PSIRT_Service_Framework_v1.0

抄訳のご支援および、FIRST との折衝など JPCERT/CC 様に多大なご支援をいただきました。 また抄訳成果物のレビューについて、Sony PSIRT 様ならびに、Panasonic PSIRT 様にご支援いただきました。 改めましてこの場を借りて、お礼申し上げます。

PSIRT Framework とは?

PSIRT Framework は自社製品の脆弱性に対応するセキュリティチームである 「PSIRT」が提供するサービス(≒役務)をまとめたドキュメントです。 国際的な CSIRT のコミュニティである「FIRST」が 2017 年 8 月に Draft 版が公開されました。

PSIRT Framework ができるまでの経緯については、下記の記事が大変参考になりますので、 ぜひご参照ください。

現代のCSIRTが提供するサービスをまとめた一覧「FIRST CSIRT Framework Version 1.1」 https://internet.watch.impress.co.jp/docs/column/security/1099603.html

PSIRT Framework では、サービスを6つの大分類(Service Area)にまとめ、 これらの関係性を次のようにまとめています。

PSIRT Organuzation Structure https://www.first.org/education/psfw_media/image1.png

PSIRT の組織構造は、取り扱う製品に応じて様々な形があります。 他の Service Framework と同様に全てのサービスを PSIRT に実装する必要はありません。 組織内の各チームがどのサービスエリアの業務を担っているかを俯瞰し、 不足しているサービスについて各チームに紹介したり、実装について議論するといった使い方ができます。 また各サービスエリアごとに収集するべき定量的なメトリクスの例が提示されているため、 PSIRT の業務を継続的に改善するために必要な基礎的な情報源の洗い出しや、見直しを行う際にも活用できます。

この他に PSIRT 活動を通して必要となる機能が「General PSIRT Activities(Draft 版では「Operational Foundation(運用基盤)」)」として、まとめられています。 PSIRT を構築する上で必須となる活動が集約されていますので、特にこれから PSIRT を構築するという際には、ぜひご参照ください。

ここからは6つの「Service Area」に分類される個々の「Service」と、 それを実現するための「機能(Function)」について、簡単にご紹介します。

  • Service Area 1 Stakeholder Ecosystem Management(ステークホルダエコシステムマネジメント)
  • Service Area 2 Vulnerability Discovery(脆弱性の発見)
  • Service Area 3 Vulnerability triage and analysis(脆弱性情報のトリアージと分析)
  • Service Area 4 Remediation(対策)
  • Service Area 5 Vulnerability Disclosure(脆弱性の開示)
  • Service Area 6 Training and Education(トレーニングと教育)

Service Area 1 Stakeholder Ecosystem Management(ステークホルダエコシステムマネジメント)

内部および、外部のステークホルダのそれぞれに応じたコミュニケーション方法の確立、 セキュアな開発ライフサイクルの構築などが含まれます。Bug Bounty の機能もこの Service Area に含まれています。

Service 1 Internal Stakeholder Management(内部のステークホルダ管理)

  • Function 1 Engage Internal Stakeholders(内部ステークホルダとの交流)
  • Function 2 Internal Secure Development Lifecycle(社内のセキュアな開発ライフサイクル)
  • Function 3 Incident Post-mortem process(インシデント事後対応プロセス)

Service 2 Finder Community Engagement(発見者のコミュニティとの交流)

  • Function 1 Engage Finders(発見者との交流)

Service 3 Community and Organizational Engagement(コミュニティと組織との交流)

  • Function 1 Define & Engage with Upstream Communities & Partners(上流コミュニティとパートナーの定義と交流)
  • Function 2 Engage with Peer PSIRTs(ピア PSIRT 間の交流)
  • Function 3 Engage with Coordinators (CERTs, CSIRTs, or other coordination center organizations)(コーディネーター(CERT、CSIRT および、その他の調整組織)との交流)
  • Function 4 Engage with security vendors(セキュリティベンダとの交流)
  • Function 5 Engage with Bug-Bounty Vendors(バグバウンティベンダとの交流)

Service 4 Downstream Stakeholder Management(下流のステークホルダマネジメント)

  • Function 1 Engage with Downstream Stakeholders(下流のステークホルダとの交流)

Service 5 Incident Communications Coordination within the Organization(組織内でのインシデントに関するコミュニケーションの調整)

  • Function 1 Provide Communication Channels/Outlets(通信チャネル/情報提供方法を提供する)
  • Function 2 Secure Communications Management(安全なコミュニケーションの管理)
  • Function 3 Security Defect Tracking System Updates(脆弱性をトラッキングするシステムのアップデート)
  • Function 4 Information Sharing and Publishing(情報の共有および公開)

Service 6 Reward Finders with Recognition & Acknowledgement(広告と謝辞による報酬を発見者に与える)

  • Function 1 Provide Acknowledgements(謝辞の提供)
  • Function 2 Reward Finders(発見者への報償)

Service 7 Stakeholder Metrics(ステークホルダメトリクス)

  • Function 1 Understand Stakeholder Artifact Requirements(ステークホルダの要件を理解する)
  • Function 2 Collect Stakeholder Metrics(ステークホルダのメトリクスを収集する)
  • Function 3 Analyze Stakeholder Metrics(ステークホルダメトリクスの分析)
  • Function 4 Provide Stakeholder Metric Artifacts(ステークホルダメトリクスの報告書を提供する)

Service Area 2 Vulnerability Discovery(脆弱性の発見)

脆弱性ハンドリングにおける「脆弱性情報の受付」に関する機能や、脆弱性情報の収集に関する機能が含まれています。

Service 1 Intake of Vulnerability Reporting(脆弱性報告の受付)

  • Function 1 Ensure Reachability(到達性を確保する)
  • Function 2 Handle Vulnerability Reports(脆弱性報告の取り扱い)

Service 2 Identify Unreported Vulnerabilities(報告されない脆弱性を特定する)

  • Function 1 Monitor Exploit Databases(攻撃情報データベースの監視)
  • Function 2 Monitor Conference Programs(カンファレンスプログラムの監視)
  • Function 3 Monitor Publications by Renown Finders(高名な報告者による発表を監視する)
  • Function 4 Monitor Mass Media(マスメディアの監視)

Service 3 Monitoring for Product Component Vulnerabilities(製品コンポーネントの脆弱性のモニタリング)

  • Function 1 Inventory of Product Components(製品コンポーネントの目録)
  • Function 2 Monitor Third-Party Advisories(サードパーティのアドバイザリのモニタリング)
  • Function 3 Monitor Vulnerability Intelligence Sources(脆弱性に関するインテリジェンスソースのモニタリング)
  • Function 4 Set-up Procedures for Intake of Vendor-Internal Supply Chain Vulnerabilities(ベンダ組織内のサプライチェーンの脆弱性情報の受付手順を確立する)
  • Function 5 Notification of Internal Development Teams(組織内の開発チームへの通知)

Service 4 Identifying New Vulnerabilities(新しい脆弱性を特定する)

  • Function 1 Vulnerability Assessment(脆弱性アセスメント)
  • Function 2 Maintain Expertise for Security Testing Tools(セキュリティテストツールの専門知識の維持)

Service 5 Vulnerability Discovery Metrics(脆弱性発見のメトリクス)

  • Function 1 Operational Reports(運用レポート)
  • Function 2 Business Reports(ビジネスレポート)

Service Area 3 Vulnerability triage and analysis(脆弱性情報のトリアージと分析)

受け付けた脆弱性情報をトリアージし、脆弱性として認定するための機能が含まれています。

Service 1 Vulnerability Qualification(脆弱性の認定基準)

  • Function 1 Quality gate and Bug bars(品質ゲートとバグバーズ)
  • Function 2 Continuous improvement(継続的改善)

Service 2 Established Finders

  • Function 1 Finder Database(発見者データベース)
  • Function 2 Accelerated Handling for Established Finders(関係が良好な発見者の対応を加速)
  • Function 3 Finder Profile(発見者プロファイル)
  • Function 4 Defining Finder Report Quality(報告者のレポートの品質を定義する)

Service 3 Vulnerability Reproduction(脆弱性の再現)

  • Function 1 Establish Service Level Agreement for Vulnerability Reproduction(脆弱性の再現に関するサービスレベルアグリーメント(SLA)の設置)
  • Function 2 Reproduction Test Environment(再現テストの環境)
  • Function 3 Reproduction Tools(再現ツール)
  • Function 4 Vulnerability Storage(脆弱性情報の保管場所)
  • Function 5 Affected Products(影響のある製品)

Service Area 4 Remediation(対策)

認定した脆弱性を改修し、各ステークホルダーに修正プログラムを提供するための機能が含まれています。 また PSIRT に必要となるインシデントハンドリングに関する機能も定義されています。

Service 1 Security Patch Release Management Plan(セキュリティパッチリリースマネジメント計画)

  • Function 1 Product Lifecycle Management(製品ライフサイクル管理)
  • Function 2 Method of Delivery(提供方法)
  • Function 3 Delivery Cadence(提供間隔)

Service 2 Remediation(対策)

  • Function 1 Analysis(分析)
  • Function 2 Remedy Resolution(対策の決定)
  • Function 3 Remedy Delivery(対策の提供)
  • Function 4 Risk Management(リスクマネジメント)

Service 3 Incident Handling(インシデントハンドリング)

  • Function 1 Establish Situation Room(緊急対応室を作る)
  • Function 2 Incident Management(インシデント管理)
  • Function 3 Communication Plan(コミュニケーション計画)

Service 4 Vulnerability Release Metrics(脆弱性リリースメトリクス)

  • Function 1 Operational Reports(運用レポート)
  • Function 2 Business Reports(ビジネスレポート)

Service Area 5 Vulnerability Disclosure(脆弱性の開示)

改修した脆弱性について、脆弱性情報を公開するための機能が含まれています。

Service 1 Notification(通知)

  • Function 1 Intermediate Vendor (Downstream Vendor)(中間ベンダ (下流ベンダ))
  • Function 2 Coordinators(調整者)
  • Function 3 Finder(発見者)

Service 2 Coordination(コーディネーション)

  • Function 1 Bi-Lateral Coordination(双方向なコーディネーション)
  • Function 2 Multi-Vendor Coordination(マルチベンダのコーディネーション)

Service 3 Disclosure(情報公開)

  • Function 1 Release Notes(リリースノート)
  • Function 2 Security Advisory(セキュリティアドバイザリ)
  • Function 3 Knowledge-Base Articles(ナレッジベースの記事)
  • Function 4 内部のステークホルダとのコミュニケーション

Service 4 Vulnerability Metrics(脆弱性情報マネジメントの評価指標)

  • Function 1 Operational Reports(運用レポート)

Service Area 6 Training and Education(トレーニングと教育)

Service Area を担当する各チームに必要となる継続的な教育プログラムに関する機能が含まれています。 PSIRT メンバ、開発者、診断者を始めとして、組織内の各ステークホルダに必要となるトレーニングが記載されています。

Service 1 Training the PSIRT team(PSIRTチームのトレーニング)

  • Function 1 Technical training(技術的なトレーニング)
  • Function 2 Communications Training(コミュニケーショントレーニング)
  • Function 3 Process Training(プロセスのトレーニング)
  • Function 4 Task Tools Training(タスクツールのトレーニング)
  • Function 5 Tracking All Training Initiatives(すべてのトレーニングの取り組みをトラッキング)

Service 2 Training the Development Team(開発チームのトレーニング)

  • Function 1 PSIRT Process Training(PSIRTプロセスのトレーニング)

Service 3 Training the Validation Team(診断チームのトレーニング)

  • Function 1 PSIRT Process Training(PSIRTプロセスのトレーニング)

Service 4 Continuing Education for All StakeholdersS(すべてのステークホルダへの継続的な教育)

  • Function 1 Training the Executive Management(経営層のマネジメントに関するトレーニング)
  • Function 2 Training the Legal Team(法務チームの教育)
  • Function 3 Training the Government Affairs and Compliance Team(政府関係者、コンプライアンスチームの教育)
  • Function 4 Training the Marketing Team(マーケティングチームのトレーニング)
  • Function 5 Training the Public Relations Team(広報チームのトレーニング)
  • Function 6 Training the Sales Team(セールスチームのトレーニング)
  • Function 7 Training the Support Team(サポートチームのトレーニング)

Service 5 Provide Feedback Mechanism(フィードバック機能の提供)

draft 版から正式版へ

2018/06/21 に正式版がリリースされました。全体的に図が多数追加されており、各 Function が理解しやすくなっています。 ここでは主な変更点について、Service Area ごとに確認していきます。

Service Area 1 Stakeholder Ecosystem Management(ステークホルダエコシステムマネジメント)

Service2 に「CSIRT」と「PSIRT」とのかかわりに関する節として Function6 が追加されました。 また Service2 と Service3 の項目が整理されました。 Service3 に定義されていた各ステークホルダとのコミュニケーションに関する記載が Service2 に移動し、 Downstream Community の定義が Service3 に追加されました。

Service 2 Finder Community Engagement(発見者のコミュニティとの交流)

  • Function 1 Engage Finders(発見者との交流)
  • Function 2 Engage with Peer PSIRTs(ピア PSIRT 間の交流)
  • Function 3 Engage with Coordinators (CERTs, CSIRTs, or other coordination center organizations)(コーディネーター(CERT、CSIRT および、その他の調整組織)との交流)
  • Function 4 Engage with Security Researchers(セキュリティリサーチャーとの交流)
  • Function 5 Engage with Bug-Bounty Vendors(バグバウンティベンダとの交流)
  • Function 6 Anticipate the needs of the CSIRTs(CSIRT のニーズを予測する)

Service 3 Community and Organizational Engagement(コミュニティと組織との交流)

  • Function 1 Define & Engage with Upstream Communities & Partners(上流コミュニティとパートナーの定義と交流)
  • Function 2 Define & Engage with Downstream Communities & Partners(下流コミュニティとパートナーの定義と交流)

Service Area 2 Vulnerability Discovery(脆弱性の発見)

Sevice 4 の Function1 が Vulnerability Assessment から Product Security Assessment に変更されています。 内容が大きく変更されたわけではありませんが、自社とサードパーティの双方をアセスメントする必要があることが 明確に示され、分かりやすくなりました。

Service 4 Identifying New Vulnerabilities(新しい脆弱性を特定する)

  • Function 1 Product Security Assessment(製品セキュリティアセスメント)
  • Function 2 Maintain Expertise for Security Testing Tools(セキュリティテストツールの専門知識の維持)

Service Area 3 Vulnerability triage and analysis(脆弱性情報のトリアージと分析)

Sevice 3 の Function5 の標題が変更されていますが、内容に大きな変更はありません。

Service 3 Vulnerability Reproduction(脆弱性の再現)

  • Function 1 Establish Service Level Agreement for Vulnerability Reproduction(脆弱性の再現に関するサービスレベルアグリーメント(SLA)の設置)
  • Function 2 Reproduction Test Environment(再現テストの環境)
  • Function 3 Reproduction Tools(再現ツール)
  • Function 4 Vulnerability Storage(脆弱性情報の保管場所)
  • Function 5 Impacted Products(影響のある製品)

Service Area 4 Remediation(対策)

Service Area 5 Vulnerability Disclosure(脆弱性の開示)

Service Area 6 Training and Education(トレーニングと教育)

これらの Service Area には大きな変更はありません。

終わりに

PSIRT Framework v1.0 は PSIRT に必要な機能が具体的かつ、網羅的にまとめられており、 現在 PSIRT を持つ組織の方にも、これから PSIRT を作ろうとお考えになられている組織の方にも参照いただくことができる体系立てられたドキュメントです。

サイボウズは FIRST に加盟している訳ではありませんが、Framework の動向を追い、 微力ではありますが PSIRT に関する普及・啓発といった観点からも協力すべく、正式版を抄訳する計画を立てております。 今後も PSIRT をお持ちの企業の皆様とも意見交換をさせていただきながら、より安全な脆弱性情報ハンドリングができるように努めてまいります。