JP7828270B2 - 脆弱性評価装置、脆弱性評価システム及び脆弱性評価方法 - Google Patents

脆弱性評価装置、脆弱性評価システム及び脆弱性評価方法

Info

Publication number
JP7828270B2
JP7828270B2 JP2022210495A JP2022210495A JP7828270B2 JP 7828270 B2 JP7828270 B2 JP 7828270B2 JP 2022210495 A JP2022210495 A JP 2022210495A JP 2022210495 A JP2022210495 A JP 2022210495A JP 7828270 B2 JP7828270 B2 JP 7828270B2
Authority
JP
Japan
Prior art keywords
vulnerability
software asset
software
information
asset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022210495A
Other languages
English (en)
Other versions
JP2024093869A (ja
Inventor
パラシュラム シャウリヤ ラージュラパーティ
洋子 熊谷
アショクマール チェッティマニ
裕紀 山▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2022210495A priority Critical patent/JP7828270B2/ja
Publication of JP2024093869A publication Critical patent/JP2024093869A/ja
Application granted granted Critical
Publication of JP7828270B2 publication Critical patent/JP7828270B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、脆弱性評価装置、脆弱性評価システム及び脆弱性評価方法に関する。
近年、情報システムにおける新たな脆弱性の発見や情報システムへの新たな攻撃手法の出現などにより、サイバーセキュリティ技術が注目を集めている。このような状況の下、情報システムが脆弱性を含んでいるか、脆弱性を利用したサイバー攻撃を受けた際に被害がどこまで広がるか、という問題は社会や組織において重要な関心事項となっている。
そのため、例えば企業等においては、ビジネス上のリスクを把握するために、新たに発見される脆弱性やサイバー攻撃(以下、サイバーイベントという)に関する様々なレポートを取得し、これらのレポートに基づいて適切な対策を講じることが求められている。
従来から、ソフトウエアにおける脆弱性の有無を判定するために、いくつかの提案がなされている。
例えば、米国特許第11218510号(特許文献1)には、「ソフトウエアサプライチェーンの全てのレベルからの脆弱性の全体に基づいて、ソフトウエアプリケーションの包括的なサイバーセキュリティの脅威を評価するためのシステムと方法。ソフトウエアプリケーションのコード及び/又は動作を分析して、ソフトウエアを構成するコンポーネントを特定し、当該コンポーネントのソースを識別し、当該コンポーネントに関連する脆弱性を特定し、当該コンポーネントのリストをコンパイルし、当該コンポーネント及びそのソース間の関係の有向グラフを作成し、ソフトウエアサプライチェーンの脆弱性に基づいてソフトウエアプリケーションに関連する全体的な脅威を評価する」技術が記載されている。
米国特許第11218510号
上記の特許文献1には、特定のソフトウエアを構成するソフトウエアコンポーネントのそれぞれの脆弱性やソース(出所)に基づいて、当該ソフトウエアのサイバー攻撃への耐性を評価する手段が記載されている。
しかし、現代のソフトウエア販売モデルでは、ソフトウエアが含むコンポーネントに関する構成情報は、クライアント等のエンドユーザーには提供されないことがある。このため、ソフトウエアが含むコンポーネントに関する構成情報がエンドユーザーに提供されない場合には、例えば特許文献1のような、ソフトウエアコンポーネントの構成方法に基づく脆弱性評価の適用が限られてしまい、ソフトウエアにおける脆弱性の有無を把握することができないことがある。
また、特許文献1に記載の手段では、評価対象の所定のソフトウエアにおける何らかの脆弱性の有無を判定することができるものの、ユーザによって指定された特定の脆弱性の有無を判定することや、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性がある関連ソフトウエアを判定することは想定されていない。
更に、特許文献1に記載の手段では、評価対象の所定のソフトウエアに含まれるコンポーネント及びこれらのコンポーネントのソース間の関係を示すサイバーフィジカルグラフを作成するが、当該サイバーフィジカルグラフは、コンポーネントと公開脆弱性情報とを関連付けないため、日々発見される新たな脆弱性を考慮した脆弱性評価が困難となる。
そこで、本開示は、例えばソフトウエアが含むコンポーネントに関する構成情報が提供されない場合であっても、ソフトウエアにおける特定の脆弱性の有無を判定すると共に、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性があるソフトウエアを判定することができる脆弱性評価手段を提供することを目的とする。
上記の課題を解決するために、代表的な本発明の脆弱性評価装置の一つは、プロセッサとメモリと記憶部とを備え、前記記憶部は、ソフトウエア資産を特徴付けるソフトウエア資産情報を格納するソフトウエア資産データベースを含んでいる。そして、前記メモリは、前記プロセッサを、前記ソフトウエア資産に関する脆弱性を特徴付ける脆弱性情報を取得する脆弱性管理部と、前記ソフトウエア資産情報と、前記脆弱性情報との関係を示す知識データベースを生成する知識データベース管理部と、第1のソフトウエア資産における第1の脆弱性を指定する脆弱性指定入力を受け付ける入力管理部と、前記脆弱性指定入力に基づいて前記知識データベースを検索することで、前記第1の脆弱性を含む可能性がある第2のソフトウエア資産を示す脆弱性含有候補情報を生成する脆弱性含有候補判定部として機能させるための処理命令を含む。
本開示によれば、例えばソフトウエアが含むコンポーネントに関する構成情報が提供されない場合であっても、ソフトウエアにおける特定の脆弱性の有無を判定すると共に、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性があるソフトウエアを判定することができる脆弱性評価手段を提供することができる。
上記以外の課題、構成及び効果は、以下の発明を実施するための形態における説明により明らかにされる。
図1は、本開示の実施形態を実施するためのコンピュータシステムを示す図である。 図2は、本開示の実施形態に係る脆弱性評価システムの構成の一例を示す図である。 図3は、本開示の実施形態に係る脆弱性評価システムによる処理の全体の流れの一例を示す図である。 図4は、本開示の実施形態に係る脆弱性含有候補判定処理の流れの一例を示す図である。 図5は、本開示の実施形態に係るソフトウエア資産検証処理の流れの一例を示す図である。 図6は、本開示の実施形態に係るグラフ形式の知識データベースの一例を示す図である。 図7は、本開示の実施形態に係る表形式の知識データベースの一例を示す図である。 図8は、本開示の実施形態に係るソフトウエア資産管理データベースの一例を示す図である。 図9は、本開示の実施形態に係るSBOMデータベースの一例を示す図である。 図10は、本開示の実施形態に係るバイナリーデータベースの構成の一例を示す図である。 図11は、本開示の実施形態に係る脆弱性データベースの構成の一例を示す図である。 図12は、本開示の実施形態に係るソフトウエア資産構成情報データベースの構成の一例を示す図である。 図13は、本開示の実施形態に係る脆弱性含有候補情報の構成の一例を示す図である。 図14は、本開示の実施形態に係る評価結果情報の構成を示す図である。
以下、図面を参照して、本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
また、「第1」、「第2」、「第3」等の用語は、本開示において様々な要素又は構成要素を説明するのに用いられる場合があるが、これらの要素又は構成要素はこれらの用語によって限定されるべきでないことが理解されるであろう。これらの用語は、或る要素又は構成要素を別の要素又は構成要素と区別するためにのみ用いられる。したがって、以下で論述する第1の要素又は構成要素は、本発明概念の教示から逸脱することなく第2の要素又は構成要素と呼ぶこともできる。
まず、図1を参照して、本開示の実施形態を実施するためのコンピュータシステム100について説明する。本明細書で開示される様々な実施形態の機構及び装置は、任意の適切なコンピューティングシステムに適用されてもよい。コンピュータシステム100の主要コンポーネントは、1つ以上のプロセッサ102、メモリ104、端末インターフェース112、ストレージインタフェース113、I/O(入出力)デバイスインタフェース114、及びネットワークインターフェース115を含む。これらのコンポーネントは、メモリバス106、I/Oバス108、バスインターフェースユニット109、及びI/Oバスインターフェースユニット110を介して、相互的に接続されてもよい。
コンピュータシステム100は、プロセッサ102と総称される1つ又は複数の汎用プログラマブル中央処理装置(CPU)102A及び102Bを含んでもよい。ある実施形態では、コンピュータシステム100は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム100は単一のCPUシステムであってもよい。各プロセッサ102は、メモリ104に格納された命令を実行し、オンボードキャッシュを含んでもよい。
ある実施形態では、メモリ104は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体(揮発性又は不揮発性のいずれか)を含んでもよい。メモリ104は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造の全て又は一部を格納してもよい。例えば、メモリ104は、脆弱性評価アプリケーション150を格納していてもよい。ある実施形態では、脆弱性評価アプリケーション150は、後述する機能をプロセッサ102上で実行する命令又は記述を含んでもよい。
ある実施形態では、脆弱性評価アプリケーション150は、プロセッサベースのシステムの代わりに、又はプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、及び/又は他の物理ハードウェアデバイスを介してハードウェアで実施されてもよい。ある実施形態では、脆弱性評価アプリケーション150は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、又は他のデータ入力デバイス(図示せず)が、バスインターフェースユニット109、プロセッサ102、又はコンピュータシステム100の他のハードウェアと直接通信するように提供されてもよい。
コンピュータシステム100は、プロセッサ102、メモリ104、表示システム124、及びI/Oバスインターフェースユニット110間の通信を行うバスインターフェースユニット109を含んでもよい。I/Oバスインターフェースユニット110は、様々なI/Oユニットとの間でデータを転送するためのI/Oバス108と連結していてもよい。I/Oバスインターフェースユニット110は、I/Oバス108を介して、I/Oプロセッサ(IOP)又はI/Oアダプタ(IOA)としても知られる複数のI/Oインタフェースユニット112,113,114、及び115と通信してもよい。
表示システム124は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置126に提供することができる。また、コンピュータシステム100は、データを収集し、プロセッサ102に当該データを提供するように構成された1つ又は複数のセンサ等のデバイスを含んでもよい。
例えば、コンピュータシステム100は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示システム124は、単独のディスプレイ画面、テレビ、タブレット、又は携帯型デバイスなどの表示装置126に接続されてもよい。
I/Oインタフェースユニットは、様々なストレージ又はI/Oデバイスと通信する機能を備える。例えば、端末インタフェースユニット112は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等のユーザ入力デバイスのようなユーザI/Oデバイス116の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザI/Oデバイス116及びコンピュータシステム100に対して入力データや指示を入力し、コンピュータシステム100からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザI/Oデバイス116を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
ストレージインタフェース113は、1つ又は複数のディスクドライブや直接アクセスストレージ装置117(通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイ又は他のストレージ装置であってもよい)の取り付けが可能である。ある実施形態では、ストレージ装置117は、任意の二次記憶装置として実装されてもよい。メモリ104の内容は、ストレージ装置117に記憶され、必要に応じてストレージ装置117から読み出されてもよい。I/Oデバイスインタフェース114は、プリンタ、ファックスマシン等の他のI/Oデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース115は、コンピュータシステム100と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク130であってもよい。
ある実施形態では、コンピュータシステム100は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム(クライアント)からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム100は、デスクトップコンピュータ、携帯型コンピュータ、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、又は任意の他の適切な電子機器であってもよい。
次に、図2を参照して、本開示の実施形態に係る脆弱性評価システムについて説明する。
図2は、本開示の実施形態に係る脆弱性評価システム200の構成の一例を示す図である。脆弱性評価システム200は、脆弱性評価を行うためのシステムである。図2に示すように、脆弱性評価システム200は、脆弱性評価装置210、通信ネットワーク250、外部DB260及びクライアント端末270とからなる。脆弱性評価システム200において、脆弱性評価装置210、外部DB260及びクライアント端末270は、通信ネットワーク250を介して互いに接続されてもよい。
脆弱性評価装置210は、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性がある他のソフトウエア資産を判定するための装置であり、図2に示すように、メモリ220、記憶部230、プロセッサ244及び入出力部246を主に含む。
ある実施形態では、脆弱性評価装置210は、図1に示すコンピュータシステム100によって実装されてもよい。
メモリ220は、本開示の実施形態に係る脆弱性評価手段を実施するための脆弱性評価アプリケーション150を格納するためのメモリであってもよい。この脆弱性評価アプリケーション150は、図2に示すように、脆弱性管理部221、知識データベース管理部222、入力管理部223、脆弱性含有候補判定部224、検索部225、リスク評価部226及び結果出力部227等のソフトウエアモジュールの機能を実施するための処理命令を含んでもよい。
脆弱性管理部221は、ソフトウエア資産に関する脆弱性を特徴付ける脆弱性情報を取得し、例えば後述する脆弱性DB235に格納するための機能部である。ある実施形態では、脆弱性管理部221は、例えば後述するCVEDB261、CWEDB262、CAPECDB263等の外部の公開脆弱性データベースから脆弱性情報を取得してもよい。
本開示では、「ソフトウエア資産」とは、特定の作業や機能をコンピュータに実行させるためのプログラムやデータの集合を意味し、例えば特定の個人や組織に所有されるプロプライエタリソフトウエアであってもよく、オープンソースのソフトウエアであってもよい。また、本開示における「脆弱性」とは、上述したソフトウエア資産において、プログラムの不具合や設計上のミスが原因となって発生した情報セキュリティ上の欠陥を意味する。
知識データベース管理部222は、ソフトウエア資産情報と、脆弱性情報との関係を示す知識データベースを生成するための機能部である。この知識データベースは、後述するように、例えば、ソフトウエア資産、当該ソフトウエア資産を開発及び販売するソフトウエア提供者、当該ソフトウエア資産と共に用いられるソフトウエア製品を含むパッケージ、ソフトウエア資産の脆弱性、脆弱性を利用する攻撃手法や弱点等の情報の論理的関係をグラフ又は表形式で示すデータ集合であってもよい。後述するように、この知識データベースを用いることで、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性がある他のソフトウエア資産を判定することが可能となる。
入力管理部223は、特定のソフトウエア資産(例えば、第1のソフトウエア資産)における特定の脆弱性(例えば、第1の脆弱性)を指定する脆弱性指定入力等の情報を、例えば後述するクライアント端末270から受け付けるための機能部である。一例として、入力管理部223は、特定のCVEIDを示す脆弱性指定入力を受け付けてもよい。
脆弱性含有候補判定部224は、入力管理部223によって受け付けられた脆弱性指定入力に基づいて、知識データベース管理部222によって生成された知識データベースを検索することで、脆弱性指定入力に示される脆弱性(例えば第1の脆弱性)を含む可能性があるソフトウエア資産(例えば、第2のソフトウエア資産)を示す脆弱性含有候補情報を生成するための機能部である。
脆弱性含有候補判定部224によれば、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性がある他のソフトウエア資産を判定することができる。
検索部225は、後述する記憶部230に格納されるソフトウエア資産管理DB231と、脆弱性含有候補判定部224によって生成される脆弱性含有候補情報とに基づいて、ソフトウエア資産管理データベース231に格納されるソフトウエア資産の内、脆弱性含有候補情報に示されるソフトウエア資産(第2のソフトウエア資産)に対する類似度基準を満たし、脆弱性含有候補情報と同様の脆弱性を含む可能性があるソフトウエア資産(第3のソフトウエア資産)を特定するための機能部である。
検索部225によれば、脆弱性を含む可能性があると判定された脆弱性含有候補のソフトウエア資産は、例えば所定のクライアントによって使用されているか否かを判定することができる。
リスク評価部226は、脆弱性含有候補情報に示されるソフトウエア資産(第2のソフトウエア資産)に対する類似度基準を満たすソフトウエア資産(第3のソフトウエア資産)への脆弱性(例えば、脆弱性指定入力によって示される第1の脆弱性)のリスクを定量的に示すリスク評価値を計算するための機能部である。
結果出力部227は、脆弱性含有候補情報に示されるソフトウエア資産(第2のソフトウエア資産)に対する類似度基準を満たすソフトウエア資産(第3のソフトウエア資産)と、リスク評価部226によって計算されるリスク評価値とを示す評価結果情報を生成し、例えば入出力部246を介して後述するクライアント端末270に出力するための機能部である。
記憶部230は、本開示の実施形態に係る各種情報を格納するためのデータベース(以下、「DB」)を収容する記憶領域であり、図2に示すように、ソフトウエア資産管理部DB231、バイナリーDB232、ソフトウエア資産構成情報DB233、SBOMDB234及び脆弱性DB236を含んでもよい。本開示において、記憶部230に格納されるソフトウエア資産管理部DB231、バイナリーDB232、ソフトウエア資産構成情報DB233、SBOMDB234及び脆弱性DB235を「ソフトウエア資産データベース」と総称する。
なお、記憶部230に格納されるソフトウエア資産管理部DB231、バイナリーDB232、ソフトウエア資産構成情報DB233、SBOMDB234及び脆弱性DB235の詳細については、図7~14を参照して説明するため、ここではその説明を省略する。
プロセッサ244は、メモリ220によって格納される脆弱性評価アプリケーション150の各機能部の機能を規定する処理命令を実施するための処理部である。
入出力部246は、脆弱性評価装置210に入力される情報を受け付けると共に、脆弱性評価装置210によって生成される結果データ等の情報を出力するための機能部である。ある実施形態では、入出力部246は、特定のソフトウエア資産における特定の脆弱性を指定する脆弱性指定入力をユーザから受け付けるインターフェース画面や、脆弱性を含む可能性があるソフトウエア資産及び当該ソフトウエア資産のリスク評価値を示す評価結果情報をユーザに提示するインターフェース画面をクライアント端末270を介して出力してもよい。ある実施形態では、入出力部246は、例えばキーボード、マウス、GUI(Graphical User Interface)を表示するディスプレイ等を含んでもよい。
通信ネットワーク250は、例えばローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、衛星ネットワーク、ケーブルネットワーク、WiFiネットワーク、又はそれらの任意の組み合わせを含むものであってもよい。
外部DB260は、ソフトウエア資産の脆弱性、弱点及び攻撃手法等に関する公開情報を格納するデータベースである。図2に示すように、外部DB260は、例えば、ソフトウエア資産における既知の脆弱性を示すCVE(Common Vulnerabilities and Exposure)DB261、ソフトウエア資産における既知の弱点を示すCWE(Common Weakness Enumeration)DB262、及びソフトウエア資産に対する既知の攻撃手法を示すCAPEC(Common Attack Pattern Enumeration and Classification)DB263を含んでもよい。
上述したように、脆弱性管理部221は、外部DB260に含まれるCVEDB261、CWEDB262及びCAPECDB263にアクセスすることで、本開示の実施形態に係る知識データベースの生成に用いられる脆弱性情報を取得することができる。
クライアント端末270は、脆弱性評価装置210のユーザによって利用可能な端末装置である。ある実施形態では、このユーザは、ソフトウエア資産の使用者であり、使用中のソフトウエア資産における特定の脆弱性の有無の判定を脆弱性評価装置210に対して依頼するクライアントであってもよい。
ユーザは、クライアント端末270を用いることで、例えば入出力部246によって提供されるGUIに対して、特定の脆弱性の有無を判定するための脆弱性指定入力を入力したり、脆弱性評価装置210から出力される評価結果情報を確認したりすることができる。一例として、クライアント端末270は、例えばスマートフォン、スマートウォッチ、タブレット、パソコン等を含んでもよく、特に限定されない。
なお、図2では、説明の便宜上、1つのクライアント端末270を含む構成を一例として説明しているが、実際には、クライアントに利用されるクライアント端末270に加えて、当該クライアントで製造・開発する製品やサービスを対象に、セキュリティレベルの向上やインシデント発生時の対応を行う組織(PSIRT;Product Security Incidence Response Team)に利用可能な端末を含む構成や、クライアント端末270を複数含む構成も可能である。
以上説明した脆弱性評価システム200によれば、例えばソフトウエアが含むコンポーネントに関する構成情報が提供されない場合であっても、ソフトウエアにおける特定の脆弱性の有無を判定すると共に、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性があるソフトウエアを判定することができる。
次に、図3を参照して、本開示の実施形態に係る脆弱性評価システムによる処理の全体の流れについて説明する。
図3は、本開示の実施形態に係る脆弱性評価システム200による処理の全体の流れ300の一例を示す図である。上述したように、本開示の実施形態に係る脆弱性評価システム200は、脆弱性評価を行うための処理を実行するシステムであり、図3に示すように、脆弱性評価システム200による処理の流れ300は、特定の脆弱性を含む可能性があるソフトウエア資産(以下、脆弱性含有候補)を判定する脆弱性含有候補判定処理400と、判定した脆弱性含有候補が特定の使用者(クライアント等)によって使用中か否かを判定するソフトウエア資産検証処理500とからなる。
なお、図3を参照して、脆弱性評価システム200による処理の全体の流れ300の概要について説明するが、脆弱性含有候補判定処理400及びソフトウエア資産検証処理500の詳細については図5及び図6を参照して後述する。
まず、ステップS301では、脆弱性評価装置210の脆弱性管理部221は、脆弱性情報を取得するための公開脆弱性情報取得要求を外部DB260に送信する。
脆弱性管理部221は、所定の間隔(1日、3日、1週間)毎に、公開脆弱性情報取得要求を定期的に外部DB260に送信してもよい。
次に、ステップS302では、脆弱性管理部221は、ステップS301で送信した公開脆弱性情報取得要求の結果として、要求した脆弱性情報を取得する。ここでの脆弱性情報は、例えば、特定のソフトウエア資産について、特定の脆弱性を示すCVEID、特定の弱点を示すCWEID、特定の攻撃手法を示すCAPECID及びこれらの脆弱性、弱点及び攻撃手法の深刻度を示すCVSS(Common Vulnerability Scoring System)等の情報を含んでもよい。脆弱性管理部221は、取得した脆弱性情報を例えば図2に示す脆弱性DB235に格納してもよい。
次に、ステップS303では、知識DB管理部222は、ステップS302で取得した脆弱性情報に基づいて、ソフトウエア資産情報(例えば図2に示すソフトウエア資産管理部DB231に管理されているソフトウエア資産の情報)と、取得した脆弱性情報との関係を示す知識データベースを生成又は更新する。知識DB管理部222は、知識データベースには含まれていない新たな脆弱性情報を受信する度に知識データベースを更新してもよい。
次に、ステップS304では、クライアント端末270は、有無を確認したい、第1のソフトウエア資産における第1の脆弱性を指定する脆弱性指定入力を脆弱性評価装置210に対して入力する。
次に、ステップS305では、脆弱性管理部221、クライアント端末270から受信した脆弱性指定入力によって示される第1のソフトウエア資産に関する属性(第1のソフトウエア資産の提供者ID、第1のソフトウエア資産のソフトウエア資産ID、第1のソフトウエア資産のパッケージ情報、第1のソフトウエア資産のOS、第1の脆弱性に関連するCWEIDやCAPECID等)を取得するための属性取得要求を外部DB270に送信する。
なお、図3では、脆弱性管理部221が属性取得要求を外部DB260に送信する場合を一例として示しているが、本開示はこれに限定されず、ソフトウエア資産の属性に関する情報を事前に構築した内部のデータベースから取得してもよい。
次に、ステップS306では、脆弱性管理部221は、ステップS305で送信した属性取得要求の結果として、要求した属性の情報を取得する。
次に、ステップS307では、脆弱性管理部221は、ステップS304で受信した脆弱性指定入力と、ステップS306で取得した第1のソフトウエア資産の属性情報に基づいて、ステップS303で生成された知識データベースに対する検索要求を脆弱性含有候補判定部224に送信する。
次に、ステップS308では、脆弱性含有候補判定部224は、ステップS304で受信した脆弱性指定入力と、ステップS306で取得した第1のソフトウエア資産の属性情報に基づいて知識データベースを検索する。
次に、ステップS309では、脆弱性含有候補判定部224は、ステップS308で実施した検索の結果として、第1のソフトウエア資産の属性情報に対して所定の類似度基準を満たす属性情報を有するソフトウエア資産を、第1のソフトウエア資産と同様に第1の脆弱性を含む可能性がある第2のソフトウエア資産を示す脆弱性含有候補情報を取得する。
次に、ステップS310では、リスク評価部226は、ステップS309で取得した脆弱性含有候補情報に示されるソフトウエア資産(第2のソフトウエア資産)における脆弱性の深刻度を示すリスク評価値を計算する。
次に、ステップS311では、リスク評価部226は、ステップS310で計算したリスク評価値を脆弱性含有候補判定部224に転送する。
次に、ステップS312では、脆弱性含有候補判定部224は、ステップS309で取得した脆弱性含有候補情報とステップS311で転送されたリスク評価値とをクライアント端末270に送信する。
次に、ステップS313では、クライアント端末270は、ステップS309で判定した脆弱性含有候補が特定の使用者(クライアント等)によって使用中か否かを判定するソフトウエア資産検証を依頼するソフトウエア資産検証要求を脆弱性評価装置210に送信する。
次に、ステップS314では、検索部225は、ステップS309で取得した脆弱性含有候補情報と、記憶部230に格納されているソフトウエア資産DB(例えば図2に示すソフトウエア資産管理部DB231に管理されているクライアントのソフトウエア資産の情報)とに基づいて、脆弱性含有候補が特定の使用者(クライアント等)によって使用中か否かを判定するソフトウエア資産検証を実行する。
次に、ステップS315では、検索部225は、ステップS314で実行したソフトウエア資産検証の結果として、ソフトウエア資産DBに管理されているクライアントのソフトウエア資産の内、脆弱性含有候補に含まれる第2のソフトウエア資産に一致する(つまり、所定の類似度基準を満たす)第3のソフトウエア資産を判定する。
次に、ステップS316では、リスク評価部226は、ステップS315で判定した第3のソフトウエア資産に対する第1の脆弱性のリスクを示すリスク評価値を計算する。
次に、ステップS317では、リスク評価部226は、ステップS316で計算した第3のソフトウエア資産に対する第1の脆弱性のリスクを示すリスク評価値を検索部225に転送する。
次に、ステップS318では、検索部225は、結果出力部227や入出力部246を介して、ステップS315で判定した第3のソフトウエア資産と、ステップS316で計算したリスク評価値とを示す評価結果情報を生成し、クライアント端末270に送信する。
以上説明した脆弱性評価システム200によれば、例えばソフトウエアが含むコンポーネントに関する構成情報が提供されない場合であっても、ソフトウエアにおける特定の脆弱性の有無を判定すると共に、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性があるソフトウエアを判定することができる。
次に、図4を参照して、本開示の実施形態に係る脆弱性含有候補判定処理について説明する。
図4は、本開示の実施形態に係る脆弱性含有候補判定処理400の流れの一例を示す図である。脆弱性含有候補判定処理400は、特定の脆弱性を含むソフトウエア資産(以下、脆弱性含有候補)を判定するための処理であり、図2に示す脆弱性管理部221、知識データベース管理部222、入力管理部223及び脆弱性含有候補判定部224によって実施される。
まず、ステップS402では、脆弱性評価装置210の脆弱性管理部221は、脆弱性情報を外部DB260から取得する。ここで、脆弱性管理部221は、例えば図2に示すソフトウエア資産管理部DB231に管理されているソフトウエア資産(例えば、脆弱性の有無を判定する対象のソフトウエア資産)のそれぞれについて、既知の脆弱性を示す脆弱性情報を取得するための公開脆弱性情報取得要求をCVEDB261、CWE262及びCAPECDB263に送信することで、ソフトウエア資産管理部DB231に管理されている各ソフトウエア資産に関する脆弱性(vulnerability)、弱点(weakness)及び攻撃手法(attack pattern)の情報を脆弱性情報として取得してもよい。
次に、ステップS404では、知識データベース管理部222は、ステップS402で取得した脆弱性情報に基づいて、ソフトウエア資産情報(例えば図2に示すソフトウエア資産管理部DB231に管理されているソフトウエア資産の情報)と、取得した脆弱性情報との関係を示す知識データベースを生成する。
ここで、知識データベースを生成するためには、まず、知識データベース管理部222は、ステップS402で取得した脆弱性情報に対して所定の固有表現認識手法(Named Entity Recognition;NER)を実行することで、当該脆弱性情報におけるソフトウエア資産に関する第1の固有表現と、脆弱性に関する第2の固有表現とを抽出する。より具体的には、知識データベース管理部222は、ソフトウエア資産の名称、バージョン名、提供者名、OS(Operating System)に関する情報を第1の固有表現として抽出し、脆弱性の名称、攻撃手法の名称、弱点の名称、CVEID、CWEID、CAPECID及び被害に関する情報を第2の固有表現として抽出してもよい。
この固有表現認識は、手動で行われてもよく、機械学習手法によって行われてもよい。
次に、知識データベース管理部222は、脆弱性情報に対して、所定の関係抽出(Relationship Extraction)手法を実行することで、抽出した固有表現の間の関係に関する情報を抽出する。これにより、「名詞-動詞-名詞」形式の情報(triplet information)を得ることができる。
このように取得した固有表現の情報及びその関係に関する情報を、それぞれの論理的関係に基づいて対応付けることで、例えば図6、7に示すような知識データベースを生成することができる。また、知識データベース管理部222は、いわゆるSTIX(Structured Threat Information Expression)を用いて知識データベースを集約し、構成してもよい。
次に、ステップS406では、入力管理部223は、第1のソフトウエア資産における第1の脆弱性を指定する脆弱性指定入力をクライアント端末270から受け付ける。この脆弱性指定入力は、例えば、特定の脆弱性(つまり、使用中のソフトウエア資産において有無を判定したい脆弱性)を識別するCVEIDを規定する情報を含んでもよい。
次に、ステップS408では、脆弱性含有候補判定部224は、ステップS406で受信した脆弱性指定入力に基づいて、ステップS404で生成した知識データベースを検索することで、脆弱性指定入力に指定される第1の脆弱性を含む可能性がある第2のソフトウエア資産を判定し、判定した第2のソフトウエア資産を示す脆弱性含有候補情報を生成する。
図4に示すステップS409からS411を参照して、知識データベースを検索する処理の詳細について説明する。
まず、ステップS409では、脆弱性含有候補判定部224は、ステップS406で受信した脆弱性指定入力に示される第1のソフトウエア資産(すなわち、既知の脆弱性を含むソフトウエア資産)を特徴付けるソフトウエア資産属性を示す属性情報を判定する。この属性情報は、例えば、第1のソフトウエア資産の提供者ID、第1のソフトウエア資産のソフトウエア資産ID、第1のソフトウエア資産のパッケージ情報、第1のソフトウエア資産のOS、第1のソフトウエア資産の機能、第1のソフトウエア資産に用いられるAPI、コード、ソフトウエアモジュール等を含んでもよい。ある実施形態では、脆弱性含有候補判定部224は、第1のソフトウエア資産の属性情報を外部DB260から取得してもよく、記憶部230に予め格納されているソフトウエア資産情報から取得してもよい。
次に、ステップS410では、脆弱性含有候補判定部224は、ステップS409で取得した第1のソフトウエア資産の属性情報に基づく検索クエリを生成する。この検索クエリは、知識データベースにおいて、第1のソフトウエア資産の属性情報に対する類似度基準を満たす他のソフトウエア資産を特定するための検索クエリである。
ある実施形態では、脆弱性含有候補判定部224は、この検索クエリをNeo4j(登録商標)の「Cypher」(登録商標)等のような、(名詞―動詞―名詞)形式のクエリが生成可能なクエリ言語で生成されてもよい。
一例として、脆弱性含有候補判定部224は、「MATCH (:product {name: 'XYZ'})-[:contains]->(package:’ABC’)」との検索クエリを生成してもよい。
なお、第1のソフトウエア資産に関する複数の属性情報を取得した場合、脆弱性含有候補判定部224は、属性毎に異なる検索クエリを生成してもよい。
次に、ステップS411では、脆弱性含有候補判定部224は、ステップS410で生成した検索クエリを用いて、知識データベースに対する検索を実施する。上述したように、第1のソフトウエア資産の属性情報に基づいて生成した検索クエリを用いて知識データベースを検索することで、当該第1のソフトウエア資産の属性に一致する第2のソフトウエア資産を特定することができる。そして、第1のソフトウエア資産と属性が一致している第2のソフトウエア資産は、第1のソフトウエア資産と同様に、第1の脆弱性を含む可能性があるため、脆弱性含有候補として判定し、後述するソフトウエア資産検証処理500を行うことで、脆弱性を利用するサイバー攻撃等による被害を回避することができる。
次に、ステップS412では、リスク評価部226は、ステップS408で生成した脆弱性含有候補情報に示されるソフトウエア資産(第2のソフトウエア資産)における脆弱性(第1の脆弱性)に関するリスク評価値を計算し、出力する。ここで、リスク評価部226は、第2のソフトウエア資産が第1の脆弱性を含有している確率、第1の脆弱性の第2のソフトウエア資産に対する重要度や深刻度、第1の脆弱性の影響を受けるソフトウエア資産の数、第2のソフトウエア資産を使用するシステムの第1の脆弱性に対する耐性、第1の脆弱性のサプライチェーンにおける影響範囲等に基づいてリスク評価値を計算してもよい。
次に、図5を参照して、本開示の実施形態に係るソフトウエア資産検証処理について説明する。
図5は、本開示の実施形態に係るソフトウエア資産検証処理500の流れの一例を示す図である。ソフトウエア資産検証処理500は、図4を参照して説明した脆弱性含有候補判定処理400において判定した脆弱性含有候補が特定の使用者(クライアント等)によって使用中か否かを判定するための処理であり、検索部225、リスク評価部226及び結果出力部227によって実施される。
まず、ステップS502では、検索部225は、図2や図8等で示すソフトウエア資産管理部DB231に情報が格納されているソフトウエア資産の内、第1の脆弱性を含む可能性がある脆弱性含有候補である第2のソフトウエア資産に対する類似度基準を満たす第3のソフトウエア資産を特定する。
本開示において、「類似度基準」との表現は、異なるソフトウエア資産(例えば、第1のソフトウエア資産と第2のソフトウエア資産、第2のソフトウエア資産と第3のソフトウエア資産)が実質的に類似しているか否かを判定するための情報であり、例えばユークリッド距離やコサイン距離の計算手法によって計算した類似度閾値等であってもよい。
検索部225は、第2のソフトウエア資産に対する類似度基準を満たす第3のソフトウエア資産を検索するためには、自然言語に基づく検索、ソフトウエアコードに基づく検索、ソフトウエア部品表に基づく検索、及びバイナリーに基づく検索を用いてもよい。
例えば、ある実施形態では、検索部225は、所定の自然言語処理手法を用いることで、ソフトウエア資産管理データベース231におけるソフトウエア資産の内、第2のソフトウエア資産のソフトウエア資産ID(ソフトウエア資産の名称等)に対する類似度基準を満たすソフトウエア資産を第3のソフトウエア資産として特定してもよい。ここで、検索部225は、第2のソフトウエア資産のソフトウエア資産IDをソフトウエア資産管理データベース231から取得してもよい。
また、ある実施形態では、検索部225は、第2のソフトウエア資産から、ソースコードの一部であるソースコード部分を抽出し、所定のコード比較手法を用いることで、ソフトウエア資産管理データベース231におけるソフトウエア資産の内、第2のソフトウエア資産のソースコード部分に対する類似度基準を満たすソフトウエア資産を第3のソフトウエア資産として特定してもよい。
また、ある実施形態では、検索部225は、ソフトウエア資産管理データベース231におけるソフトウエア資産の内、図2や図9に示すSBOMDBに格納される第2のソフトウエア資産のソフトウエア部品表に対する類似度基準を満たすソフトウエア資産を第3のソフトウエア資産として特定してもよい。
更に、ある実施形態では、検索部225は、ソフトウエア資産管理データベース231におけるソフトウエア資産の内、図2や図10に示すバイナリーDB232に格納される第2のソフトウエア資産の前記バイナリーデータに対する類似度基準を満たすソフトウエア資産を第3のソフトウエア資産として特定してもよい。
このように、自然言語、ソースコード、ソフトウエア部品表、及びバイナリーに基づく検索を行うことで、第1の脆弱性を含む可能性がある脆弱性含有候補である第2のソフトウエア資産に実質的に態様する第3のソフトウエア資産を、例えば所定のクライアントが使用しているソフトウエア資産の中から特定することができる。
次に、ステップS504では、リスク評価部226は、ステップS502で特定した第3のソフトウエア資産に対する第1の脆弱性のリスクを示すリスク評価値を計算する。
ある実施形態では、このリスク評価値は、第3のソフトウエア資産が第1の脆弱性を含む確率を示す値であってもよい。この場合、リスク評価部226は、第2のソフトウエア資産の第1のソフトウエア資産に対する類似度や、第3のソフトウエア資産に対する第2の類似度等に基づいて、第3のソフトウエア資産が第1の脆弱性を含む確率を計算し、リスク評価値としてもよい。
また、ある実施形態では、このリスク評価値は、第1の脆弱性の第3のソフトウエア資産に対する重要度や深刻度を示す値であってもよい。この場合、リスク評価部226は、第3のソフトウエア資産の機密性、完全性及び可用性に対する第1の脆弱性の影響度を定量的に示すCVSS(Common Vulnerability Scoring System)スコアを計算し、リスク評価値としてもよい。
更に、ある実施形態では、リスク評価部226は、第1の脆弱性の影響を受けるソフトウエア資産の数(つまり、第3のソフトウエア資産の数)、第3のソフトウエア資産を使用する企業や組織の数、第1の脆弱性のサプライチェーンにおける影響範囲に基づいてリスク評価値を計算してもよい。
次に、ステップS506では、リスク評価部226は、ステップS502で特定した第3のソフトウエア資産と、ステップS504で計算したリスク評価値とを示す評価結果情報を生成し、例えば図2に示す入出力部246や通信ネットワーク250を介して、クライアント端末270に提供してもよい。この評価結果情報の詳細については、図16や図17を参照して説明するため、ここではその説明を省略する。
図5に示すソフトウエア資産検証処理500によれば、クライアント等のユーザが指定した第1の脆弱性を含むソフトウエア資産と実質的に類似しており、第1の脆弱性を含む可能性がある第2のソフトウエア資産(脆弱性含有候補)に対応する第3のソフトウエア資産が当該クライアントによって使用中か否かを判定することができる。このように、ユーザは、使用中のソフトウエア資産の中で、特定の脆弱性を含む可能性があるソフトウエア資産を特定することで、当該脆弱性を解消する対策や被害を抑える処置等を準備し、サイバーセキュリティを向上させることができる。
次に、図6及び図7を参照して、本開示の実施形態に係る知識データベースの構成について説明する。上述したように、本開示の一態様は、ソフトウエア資産情報及び脆弱性情報との関係を示す知識データベースに基づいて脆弱性評価を行うことに関する。この知識データベースは、グラフ形式で構成してもよく、表形式で構成してもよい。
図6は、本開示の実施形態に係るグラフ形式の知識データベース600の一例を示す図である。
図6に示すように、グラフ形式の知識データベース600は、例えば名称やソフトウエア資産IDによって識別される特定のソフトウエア資産606、当該ソフトウエア資産のバージョン604、当該ソフトウエア資産のOS608、当該ソフトウエア資産の提供者602、当該ソフトウエア資産を含むパッケージ610、当該パッケージのソフトウエアのバージョン612、当該パッケージの脆弱性614、当該脆弱性のCVEID616、当該脆弱性による被害618、当該脆弱性に関連する弱点620とそのCWEID622、当該脆弱性に対する攻撃手法624及び当該攻撃手法のCAPECID626等の情報の間の依存関係を、ノード及びエッジからなるグラフ形式で示すデータ構造であってもよい。
このグラフ形式の知識データベース600は、例えば上述した「Cypher」等のクエリ言語で生成される(名詞―動詞―名詞)形式の検索クエリによって検索可能である。
図7は、本開示の実施形態に係る表形式の知識データベース700の一例を示す図である。
図7に示すように、表形式の知識データベース700は、例えば所定のソフトウエア資産702について、提供者704、バージョン706、同じ脆弱性を含む可能性がある他のソフトウエア資産である脆弱性含有候補708、技術的分類710、応用分野712、CVEID714、攻撃手法716、OS718、CWE720及びCAPECID722に関する情報を、行及び列からなる表形式で示すデータ構造であってもよい。
この表形式の知識データベース700は、既存のテーブルクエリ言語で生成される検索クエリによって検索可能である。
図6や図7に示す知識データベース600、700に対して、特定のソフトウエア資産の属性(提供者、パッケージ、ソフトウエア資産の名称等)に基づく検索クエリを用いた検索を実施することで、ソフトウエア資産の属性に基づいた類似度比較が可能となる。これにより、例えばソフトウエアが含むコンポーネントに関する構成情報が提供されない場合であっても、ソフトウエアにおける特定の脆弱性の有無を判定すると共に、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性があるソフトウエアを判定することができる。
次に、図8を参照して、本開示の実施形態に係るソフトウエア資産管理部DBについて説明する。
図8は、本開示の実施形態に係るソフトウエア資産管理部DB231の一例を示す図である。本開示の実施形態に係るソフトウエア資産管理部DB231は、脆弱性評価の対象となるソフトウエア資産に関する情報を格納するためのデータベースであり、ソフトウエア資産管理部DB231に示すように、ソフトウエア資産ID801、バージョンID802、使用者ID803及び提供者ID804等の情報を含んでもよい。
ソフトウエア資産ID801は、所定のソフトウエア資産を一意に識別する情報であり、図8に示すように、「P1」、「P2」、「P3」等の文字列であってもよく、ソフトウエア資産の名称であってもよい。
バージョンID802は、特定のソフトウエア資産のソフトウエアバージョンを示す情報であり、図8に示すように、「V1」、「V2」、「V3」等であってもよい。
使用者ID803は、特定のソフトウエア資産の使用者を一意に識別する情報であり、図8に示すように、「O1」、「O2」、「O3」等の文字列であってもよく、使用者の社名や氏名等であってもよい。ここでの使用者は、例えば、自己のソフトウエア資産に対する脆弱性評価を依頼するクライアント(つまり、図2に示すクライアント端末270の利用者)であってもよい。
提供者ID804は、特定のソフトウエア資産を使用者に提供する提供者(ベンダーともいう)を一意に識別する情報であり、図8に示すように、「S1」、「S2」、「S3」等の文字列であってもよく、提供者の社名や氏名等であってもよい。
上述したソフトウエア資産検証処理500において、検索部225は、所定の自然言語処理手法を用いてソフトウエア資産管理部DB231に格納されている情報を解析することで、ソフトウエア資産管理データベース231におけるソフトウエア資産の内、第2のソフトウエア資産に対する類似度基準を満たすソフトウエア資産を第3のソフトウエア資産として特定することができる。
次に、図9を参照して、本開示の実施形態に係るSBOMDBについて説明する。
図9は、本開示の実施形態に係るSBOMDB234の一例を示す図である。本開示の実施形態に係るSBOMDB234は、脆弱性評価の対象となるソフトウエア資産のソフトウエア部品表(Software Bill of Materials)を格納するためのデータベースであり、図9に示すように、コンポーネントID902、バージョンID904、ライセンス906、ファイルパス908及びセキュリティスコア910等の情報を含んでもよい。
なお、ソフトウエア部品表とは、特定の製品に含まれる(プロプライエタリ及びオープンソースなど)のソフトウエアコンポーネント、ライセンス、依存関係を示す情報である。
コンポーネントIDは、特定のソフトウエア資産に含まれるそれぞれのソフトウエアコンポーネントを一意に識別するための情報であり、図9に示すように、「C1」、「C2」、「C3」等の文字列であってもよく、ソフトウエアコンポーネントの名称であってもよい。
バージョンID904は、ソフトウエアコンポーネントのソフトウエアバージョンを示す情報であり、図9に示すように、例えば「2.0」、「1.2.1」、「6.0」等で表現してもよい。
ライセンス906は、ソフトウエアコンポーネントに関係するライセンスを示す情報であり、図9に示すように、「MIT」や「BSD-3-Clause」等であってもよい。
ファイルパス908は、ソフトウエアコンポーネントが所定の記憶領域に格納されているファイルパスを示す情報であり、図9に示すように、例えば「demo1/example」であってもよい。
セキュリティスコア910は、ソフトウエアコンポーネントのセキュリティレベルの評価を定量的に示す情報であり、図9に示すように、例えば「90」、「80」、「40」等であってもよい。
上述したソフトウエア資産検証処理500において、検索部225は、SBOMDB234に格納されている情報を用いることで、ソフトウエア資産管理データベース231におけるソフトウエア資産の内、第2のソフトウエア資産のソフトウエア部品表に対する類似度基準を満たすソフトウエア資産を第3のソフトウエア資産として特定することができる。
次に、図10を参照して、本開示の実施形態に係るバイナリーDBついて説明する。
図10は、本開示の実施形態に係るバイナリーDB232の構成の一例を示す図である。本開示の実施形態に係るバイナリーDB232は、脆弱性評価の対象となるソフトウエア資産のバイナリーデータを格納するためのデータベースであり、図10に示すように、ソフトウエア資産のバイナリーファイルを示すファイルID1002、作成日時1004、変更日時1006及びサイズ1008を含んでもよい。
ファイルID1002は、特定のソフトウエア資産のバイナリーファイルを一意に識別する情報であり、図10に示すように、例えば「F1」、「F2」、「F3」等で表現してもよい。
作成日時1004は、特定のバイナリーファイルが作成された日時を示し、変更日時は、作成済みのバイナリーファイルが変更された日時を示す。図10に示すように、作成日時1004及び変更日時1006は、YYYY/MM/DD形式であってもよい。
サイズ1008は、バイナリーファイルのファイルサイズを例えばキロバイト(KB)単位で示す情報である。
上述したソフトウエア資産検証処理500において、検索部225は、バイナリーDB232に格納されている情報を用いることで、ソフトウエア資産管理データベース231におけるソフトウエア資産の内、第2のソフトウエア資産のバイナリーデータに対する類似度基準を満たすソフトウエア資産を第3のソフトウエア資産として特定することができる。
SBOMDB234
次に、図11を参照して、本開示の実施形態に係る脆弱性DBについて説明する
図11は、本開示の実施形態に係る脆弱性DB235の構成の一例を示す図である。本開示の実施形態に係る脆弱性DB235は、脆弱性評価の対象となるソフトウエア資産(例えば、図2や図8に示すソフトウエア資産管理DB231において情報が格納されているソフトウエア資産)に関する脆弱性の情報を格納するデータベースであり、図11に示すように、脆弱性ID1102、CVEID1104、CWEID1106、ソフトウエア資産ID1108及びCVSS1110を含んでもよい。
図11に示す脆弱性DB235に格納される情報は、例えば、図2に示すCVEDB261、CWEDB262、CAPECDB263等の外部DB260から取得されてもよい。
脆弱性ID1102は、特定の脆弱性を脆弱性DB235において一意に識別する情報であり、図11に示すように、「2351」や「48521」等の文字列で表現してもよい。
CVEID1104は、ソフトウエア資産における既知の脆弱性を上述したCVEDB261において一意に識別する情報であり、図11に示すように、「CVE-2022-XXXX」形式の文字列で表現してもよい。
CWEID1106は、ソフトウエア資産における既知の弱点(Weakness)を上述したCWEDB262において一意に識別する情報であり、図11に示すように、「XXX」形式の情報で表現してもよい。
ソフトウエア資産ID1108は、特定の脆弱性ID1102、CVEID1104、CWEID1106、及びCVSS1110に関連するソフトウエア資産を一意に識別するための情報であり、図11に示すように、「P1」、「P2」、「P3」等の文字列であってもよく、ソフトウエア資産の名称であってもよい。
CVSS1110は、特定のソフトウエア資産に関する脆弱性、弱点及び攻撃手法等の深刻度を示す情報であり、図11に示すように、「5.5」や「9.7」であってもよい。ある実施形態では、このCVSS1110は、特定の脆弱性に対応付けられた値であり、外部DB260から取得されてもよい。
次に、図12を参照して、本開示の実施形態に係るソフトウエア資産構成情報DBについて説明する。
図12は、本開示の実施形態に係るソフトウエア資産構成情報DB233の構成の一例を示す図である。上述したように、本開示の実施形態に係るソフトウエア資産構成情報DB233は、脆弱性評価の対象となるソフトウエア資産(例えば、図2や図8に示すソフトウエア資産管理DB231において情報が格納されているソフトウエア資産)に関する構成情報(configuration information)を格納するデータベースであり、図12に示すように、ファイル名1202、ファイルサイズ1204、ファイル種類1206、ファイルパーミッション1208及び所有者1210に関する情報を含んでもよい。
ファイル名1202は、特定のソフトウエア資産に関する構成ファイル(configuration file)を識別するファイル名であり、例えば図12に示すように、「2351」等の文字列であってもよい。
ファイルサイズ1204は、特定のソフトウエア資産に関する構成ファイルのファイルサイズを例えばキロバイト(KB)単位で示す情報である。
ファイル種類1206は、特定のソフトウエア資産に関する構成ファイルの種類を示す情報であり、例えば図12に示すように、「PHP」や「HTACCESS」等であってもよい。
ファイルパーミッション1208は、特定のソフトウエア資産に関する構成ファイル毎に定義される、読み出し・書込みなどのアクセスに対する許可を示す情報であり、例えば図12に示すように、例えば「-rwx-xr-x」や「-rw-r-r--」等であってもよい。
所有者1210は、特定のソフトウエア資産に関する構成ファイルの所有者を示す情報であり、例えば図12に示すように、「Root」等であってもよい。
上述したソフトウエア資産検証処理500において、検索部225は、ソフトウエア資産構成情報DB233に格納されている情報を用いることで、ソフトウエア資産管理データベース231におけるソフトウエア資産の内、第2のソフトウエア資産の構成データに対する類似度基準を満たすソフトウエア資産を第3のソフトウエア資産として特定することができる。
次に、図13を参照して、本開示の実施形態に係る脆弱性含有候補情報について説明する。
図13は、本開示の実施形態に係る脆弱性含有候補情報1300の構成の一例を示す図である。本開示の実施形態に係る脆弱性含有候補情報1300は、ユーザによって指定された第1の脆弱性を含む可能性がある第2のソフトウエア資産に関する情報であり、図4を参照して説明した脆弱性含有候補判定処理400によって生成される。
図13に示すように、脆弱性含有候補情報1300は、CVEID1302、ソフトウエア資産ID1304、提供者1306、サービス種類1308、コード/ライブラリ1310、CWEID1312、技術的分類1314、脆弱性含有候補1316、リスク評価値1318及び応用分野1320を含んでもよい。
CVEID1302は、特定のソフトウエア資産における脆弱性を一意に識別する情報であり、例えば図13に示すように「CVE-2022-XXXX」であってもよい。このCVEID1302は、例えば上述した脆弱性指定入力に示されるCVEIDであってもよい。
ソフトウエア資産ID1304は、CVEID1302によって識別される脆弱性を含み、上述した脆弱性指定入力に示されるソフトウエア資産(第1のソフトウエア資産)を識別する情報であり、例えば図13に示すように、「P1」、「P2」、「P3」等の文字列であってもよく、ソフトウエア資産の名称であってもよい。
提供者1306は、ソフトウエア資産を提供する提供者(ベンダー、サプライヤー)を示す情報であり、例えば図13に示すように、「V1」、「V2」、「V3」等であってもよい。
サービス種類1308は、ソフトウエア資産に関係するサービスの種類を示す情報であり、例えば図13に示すように、「S1」、「S2」、「S3」等であってもよい。
コード/ライブラリ1310は、ソフトウエア資産のコードやライブラリを示す情報であり、図13に示すように、「C1」、「C2」、「C3」等であってもよい。
CWEID1312は、特定のソフトウエア資産における弱点を一意に識別する情報であり、例えば図13に示すように「276」であってもよい。このCWEID1312は、例えば上述した脆弱性指定入力に示されるCWEIDであってもよく、外部DB260から取得sあれてもよい。
技術的分類1314は、ソフトウエア資産の技術的分類を示す情報であり、例えば図13に示すように「SSL」や「REST API」であってもよい
脆弱性含有候補1316は、ソフトウエア資産ID1304によって識別されるソフトウェア資産と同様に、CVEID1302によって指定される脆弱性を含む可能性がある他のソフトウエア資産を示す情報であり、例えば図13に示すように、「P23」、「P17」、「P103」等であってもよい。この脆弱性含有候補1316は、例えば図4を参照して説明した脆弱性含有候補判定処理400によって判定されてもよい。
リスク評価値1318は、特定のソフトウエア資産に対する特定の脆弱性のリスクを定量的に示す値であり、上述したように、特定のソフトウエア資産が特定の脆弱性を含有している確率、特定の脆弱性の特定のソフトウエア資産に対する重要度や深刻度、特定の脆弱性の影響を受けるソフトウエア資産の数、特定のソフトウエア資産を使用するシステムの脆弱性に対する耐性、特定の脆弱性のサプライチェーンにおける影響範囲等に基づいて計算されてもよい。
応用分野1320は、ソフトウエア資産が利用可能な応用分野を示す情報であり、例えば図13に示すように、「自動車業界」や「ITウエブサーバ」等であってもよい。
図13を参照して説明した脆弱性含有候補情報1300、例えば上述したソフトウエア資産検証処理500において、脆弱性含有候である第2のソフトウエア資産に対する類似度基準を満たし、脆弱性を含む可能性がある第3のソフトウエア資産を判定するために用いられてもよい。
次に、図14を参照して、本開示の実施形態に係る評価結果情報について説明する。
図14は、本開示の実施形態に係る評価結果情報1400の構成を示す図である。本開示の実施形態に係る評価結果情報1400は、脆弱性評価の対象となるソフトウエア資産(例えば、図2や図8に示すソフトウエア資産管理DB231において情報が格納されているソフトウエア資産)毎に、特定の脆弱性(図14には例示せず)の有無及びリスク評価値を示す情報であり、図5を参照して説明したソフトウエア資産検証処理500によって生成されてもよい。
図14に示すように、評価結果情報1400は、ソフトウエア資産ID1402、脆弱性有無1404及びリスク評価値1406を含んでもよい。
ソフトウエア資産ID1402は、脆弱性評価の対象となるソフトウエア資産(例えば、図2や図8に示すソフトウエア資産管理DB231において情報が格納されているソフトウエア資産)を一意に識別する情報であり、例えば図14に示すように、「P3」、「P43」、「P18」等の文字列であってもよく、ソフトウエア資産の名称であってもよい。
脆弱性有無1404は、ソフトウエア資産ID1402に識別されるソフトウエア資産毎に、特定の脆弱性の有無を示す情報であり、例えば図14に示すように、「YES」又は「NO」であってもよい。ここでの脆弱性有無は、図5を参照して説明したソフトウエア資産検証処理500によって判定されてもよい。
リスク評価値1406は、ソフトウエア資産ID1402に識別されるソフトウエア資産毎に、脆弱性によるリスクを定量的に示す情報であり、例えば図14に示すように「7.2」や「10」であってもよい。このリスク評価値は、図5を参照して説明したソフトウエア資産検証処理500におけるステップS504で計算されてもよく、上述したように、特定のソフトウエア資産が特定の脆弱性を含む確率を示す値であってもよく、脆弱性のソフトウエア資産に対する重要度や深刻度を示す値であってもよい。
上述したように、図4に示す評価結果情報1400をクライアントに提供することで、提供者は、自己の使用中のソフトウエア資産の内、特定の脆弱性を含む可能性があるソフトウエア資産を容易に確認することができる。
上述したように、新たな脆弱性の発見や新たな攻撃手法の出現が増加する中、使用中のソフトウエア資産のサイバーセキュリティの状況を把握することが社会や組織において重要な関心事項となっている。ソフトウエア資産を構成するコンポーネントを分析して脆弱性の有無を判定する手段は存在するものの、一般的には、ソフトウエアが含むコンポーネントに関する構成情報は、クライアント等のエンドユーザーに提供されないため、従来の脆弱性評価の手段の適用が限られてしまい、ソフトウエアにおける脆弱性の有無を把握することができないことがある。
そこで、本開示の実施形態に係る脆弱性評価手段では、特定の脆弱性を含むソフトウエア資産の属性情報に基づいて生成した検索クエリを用いて、ソフトウエア資産の情報と公開の脆弱性情報との関係を示す知識データベースを検索することで、当該ソフトウエア資産の属性に一致する他のソフトウエア資産を、同じ脆弱性を含む可能性がある脆弱性含有候補として特定することができる。
この検索で用いられる知識データベースの情報やソフトウエア資産の属性情報は、ソフトウエア資産のコンポーネントに関するプロプライエタリの構成情報が提供されなくとも取得可能な情報であるため、例えばソフトウエアが含むコンポーネントに関する構成情報が提供されない場合であっても、確実な脆弱性評価が可能となる。
また、本開示の実施形態に係る脆弱性評価手段では、クライアント等のユーザが指定した特定の脆弱性を含むソフトウエア資産と実質的に類似しており、同じ脆弱性を含む可能性がある脆弱性含有候補を特定した後、当該脆弱性含有候補に対する類似度基準を満たすソフトウエア資産を、所定のクライアントが使用しているソフトウエア資産の中で特定することで、クライアントは、当該脆弱性を解消する対策や被害を抑える処置等を準備し、サイバーセキュリティを向上させることができる。
このように、本開示の実施形態に係る脆弱性評価手段によれば、例えばソフトウエアが含むコンポーネントに関する構成情報が提供されない場合であっても、ソフトウエアにおける特定の脆弱性の有無を判定すると共に、特定の脆弱性を含むソフトウエアとの類似度が高く、同様の脆弱性を含む可能性があるソフトウエアを判定することができる脆弱性評価手段を提供することができる。
上述したように、本開示の実施形態に係る脆弱性評価手段は、以下の態様を含む。
(態様1)
脆弱性評価装置であって、
プロセッサとメモリと記憶部とを備え、
前記記憶部は、
ソフトウエア資産を特徴付けるソフトウエア資産情報を格納するソフトウエア資産データベースを含み、
前記メモリは、前記プロセッサを
前記ソフトウエア資産に関する脆弱性を特徴付ける脆弱性情報を取得する脆弱性管理部と、
前記ソフトウエア資産情報と、前記脆弱性情報との関係を示す知識データベースを生成する知識データベース管理部と、
第1のソフトウエア資産における第1の脆弱性を指定する脆弱性指定入力を受け付ける入力管理部と、
前記脆弱性指定入力に基づいて前記知識データベースを検索することで、前記第1の脆弱性を含む可能性がある第2のソフトウエア資産を示す脆弱性含有候補情報を生成する脆弱性含有候補判定部、
として機能させるための処理命令を含むことを特徴とする脆弱性評価装置。
(態様2)
前記ソフトウエア資産データベースは、
ソフトウエア資産を識別するソフトウエア資産IDと、ソフトウエア資産の使用者を識別する使用者IDとを少なくとも含むソフトウエア資産管理データベースを含み、
前記脆弱性評価装置は、
前記ソフトウエア資産管理データベースと、前記脆弱性含有候補情報とに基づいて、前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産に対する類似度基準を満たす第3のソフトウエア資産を前記使用者ID毎に特定する検索部と、
前記第3のソフトウエア資産に対する前記第1の脆弱性のリスクを示すリスク評価値を計算するリスク評価部と、
前記第3のソフトウエア資産と、計算した前記リスク評価値とを示す評価結果情報を生成し、出力する結果出力部と、
を更に含むことを特徴とする、態様1に記載の脆弱性評価装置。
(態様3)
前記検索部は、
所定の自然言語処理手法を用いることで、前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産の前記ソフトウエア資産IDに対する類似度基準を満たすソフトウエア資産を前記第3のソフトウエア資産として特定する、
ことを特徴とする、態様2に記載の脆弱性評価装置。
(態様4)
前記検索部は、
前記第2のソフトウエア資産から、ソースコード部分を抽出し、
所定のコード比較手法を用いることで、前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産の前記ソースコード部分に対する類似度基準を満たすソフトウエア資産を前記第3のソフトウエア資産として特定する、
ことを特徴とする、態様2又は3に記載の脆弱性評価装置。
(態様5)
前記ソフトウエア資産データベースは、
ソフトウエア資産のソフトウエア部品表を示すSBOMデータベースを含み、
前記検索部は、
前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産の前記ソフトウエア部品表に対する類似度基準を満たすソフトウエア資産を前記第3のソフトウエア資産として特定する、
ことを特徴とする、態様2乃至4のいずれか一つに記載の脆弱性評価装置。
(態様6)
前記ソフトウエア資産データベースは、
ソフトウエア資産のバイナリーデータを示すバイナリーデータベースを含み、
前記検索部は、
前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産の前記バイナリーデータに対する類似度基準を満たすソフトウエア資産を前記第3のソフトウエア資産として特定する、
ことを特徴とする、態様2乃至5のいずれか一つに記載の脆弱性評価装置。
(態様7)
前記脆弱性含有候補判定部は、
前記第1のソフトウエア資産を特徴付けるソフトウエア資産属性を判定し、
前記ソフトウエア資産属性に基づいて、前記知識データベースを検索する検索クエリを生成し、
前記検索クエリに基づいて前記知識データベースを検索することで、前記ソフトウエア資産属性に対する類似度基準を満たすソフトウエア資産を判定し、前記ソフトウエア資産属性に対する類似度基準を満たすソフトウエア資産を、前記第1の脆弱性を含む可能性がある前記第2のソフトウエア資産とする、
ことを特徴とする、態様1乃至6のいずれか一つに記載の脆弱性評価装置。
(態様8)
前記ソフトウエア資産属性は、
前記第1のソフトウエア資産の提供者ID、前記第1のソフトウエア資産のソフトウエア資産ID及び前記第1のソフトウエア資産のパッケージ情報のいずれかを含む、
ことを特徴とする、態様7に記載の脆弱性評価装置。
(態様9)
前記知識データベース管理部は、
前記脆弱性情報に対して所定の固有表現認識手法を実行することで、前記脆弱性情報におけるソフトウエア資産に関する第1の固有表現と、脆弱性に関する第2の固有表現とを抽出し、
前記脆弱性情報に対して所定の関係抽出手法を実行することで、抽出した前記第1の固有表現と前記第2の固有表現との間の関係に関する関係情報を抽出し、
前記第1の固有表現と前記第2の固有表現とを前記関係情報に基づいて対応付けることで、前記知識データベースを生成する、
ことを特徴とする、態様1乃至8のいずれか一つに記載の脆弱性評価装置。
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
150 脆弱性評価アプリケーション
200 脆弱性評価システム
210 脆弱性評価装置
220 メモリ
221 脆弱性管理部
222 知識データベース管理部
223 入力管理部
224 脆弱性含有候補判定部
225 検索部
226 リスク評価部
227 結果出力部
230 記憶部
231 ソフトウエア資産管理データベース
232 バイナリーデータベース
233 ソフトウエア資産構成情報データベース
234 SBOMデータベース
235 脆弱性データベース
244 プロセッサ
246 入出力部
250 通信ネットワーク
260 外部データベース
270 クライアント端末

Claims (11)

  1. 脆弱性評価装置であって、
    プロセッサとメモリと記憶部とを備え、
    前記記憶部は、
    ソフトウエア資産を特徴付けるソフトウエア資産情報を格納するソフトウエア資産データベースを含み、
    前記メモリは、前記プロセッサを
    前記ソフトウエア資産に関する脆弱性を特徴付ける脆弱性情報を取得する脆弱性管理部と、
    前記ソフトウエア資産情報と前記脆弱性情報との関係を示す知識データベースを生成する知識データベース管理部と、
    第1のソフトウエア資産における第1の脆弱性を指定する脆弱性指定入力を受け付ける入力管理部と、
    前記脆弱性指定入力に基づいて前記知識データベースを検索することで、前記第1の脆弱性を含む可能性がある第2のソフトウエア資産を示す脆弱性含有候補情報を生成する脆弱性含有候補判定部、
    として機能させるための処理命令を含むことを特徴とする脆弱性評価装置。
  2. 前記ソフトウエア資産データベースは、
    ソフトウエア資産を識別するソフトウエア資産IDと、ソフトウエア資産の使用者を識別する使用者IDとを少なくとも含むソフトウエア資産管理データベースを含み、
    前記脆弱性評価装置は、
    前記ソフトウエア資産管理データベースと、前記脆弱性含有候補情報とに基づいて、前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産に対する類似度基準を満たす第3のソフトウエア資産を前記使用者ID毎に特定する検索部と、
    前記第3のソフトウエア資産に対する前記第1の脆弱性のリスクを示すリスク評価値を計算するリスク評価部と、
    前記第3のソフトウエア資産と、計算した前記リスク評価値とを示す評価結果情報を生成し、出力する結果出力部と、
    を更に含むことを特徴とする、請求項1に記載の脆弱性評価装置。
  3. 前記検索部は、
    所定の自然言語処理手法を用いることで、前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産の前記ソフトウエア資産IDに対する類似度基準を満たすソフトウエア資産を前記第3のソフトウエア資産として特定する、
    ことを特徴とする、請求項2に記載の脆弱性評価装置。
  4. 前記検索部は、
    前記第2のソフトウエア資産から、ソースコード部分を抽出し、
    所定のコード比較手法を用いることで、前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産の前記ソースコード部分に対する類似度基準を満たすソフトウエア資産を前記第3のソフトウエア資産として特定する、
    ことを特徴とする、請求項2に記載の脆弱性評価装置。
  5. 前記ソフトウエア資産データベースは、
    ソフトウエア資産のソフトウエア部品表を示すSBOMデータベースを含み、
    前記検索部は、
    前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産の前記ソフトウエア部品表に対する類似度基準を満たすソフトウエア資産を前記第3のソフトウエア資産として特定する、
    ことを特徴とする、請求項2に記載の脆弱性評価装置。
  6. 前記ソフトウエア資産データベースは、
    ソフトウエア資産のバイナリーデータを示すバイナリーデータベースを含み、
    前記検索部は、
    前記ソフトウエア資産管理データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産の前記バイナリーデータに対する類似度基準を満たすソフトウエア資産を前記第3のソフトウエア資産として特定する、
    ことを特徴とする、請求項2に記載の脆弱性評価装置。
  7. 前記脆弱性含有候補判定部は、
    前記第1のソフトウエア資産を特徴付けるソフトウエア資産属性を判定し、
    前記ソフトウエア資産属性に基づいて、前記知識データベースを検索する検索クエリを生成し、
    前記検索クエリに基づいて前記知識データベースを検索することで、前記ソフトウエア資産属性に対する類似度基準を満たすソフトウエア資産を判定し、前記ソフトウエア資産属性に対する類似度基準を満たすソフトウエア資産を、前記第1の脆弱性を含む可能性がある前記第2のソフトウエア資産とする、
    ことを特徴とする、請求項1に記載の脆弱性評価装置。
  8. 前記ソフトウエア資産属性は、
    前記第1のソフトウエア資産の提供者ID、前記第1のソフトウエア資産のソフトウエア資産ID及び前記第1のソフトウエア資産のパッケージ情報のいずれかを含む、
    ことを特徴とする、請求項7に記載の脆弱性評価装置。
  9. 前記知識データベース管理部は、
    前記脆弱性情報に対して所定の固有表現認識手法を実行することで、前記脆弱性情報におけるソフトウエア資産に関する第1の固有表現及び脆弱性に関する第2の固有表現とを抽出し、
    前記脆弱性情報に対して所定の関係抽出手法を実行することで、抽出した前記第1の固有表現と前記第2の固有表現との間の関係に関する関係情報を抽出し、
    前記第1の固有表現と前記第2の固有表現とを前記関係情報に基づいて対応付けることで、前記知識データベースを生成する、
    ことを特徴とする、請求項1に記載の脆弱性評価装置。
  10. クライアント端末と、
    ソフトウエア資産に対する脆弱性評価を行うための脆弱性評価装置と、
    既知の脆弱性に関する情報を格納する公開脆弱性データベースとが通信ネットワークを介して接続されている脆弱性評価システムであって、
    前記脆弱性評価装置は、
    プロセッサとメモリと記憶部とを備え、
    前記記憶部は、
    ソフトウエア資産を特徴付けるソフトウエア資産情報を格納するソフトウエア資産データベースを含み、
    前記メモリは、前記プロセッサを
    前記ソフトウエア資産に関する脆弱性を特徴付ける脆弱性情報を前記公開脆弱性データベースから取得する脆弱性管理部と、
    前記ソフトウエア資産情報と前記脆弱性情報との関係を示す知識データベースを生成する知識データベース管理部と、
    第1のソフトウエア資産における第1の脆弱性を指定する脆弱性指定入力を受け付ける入力管理部と、
    前記脆弱性指定入力に基づいて前記知識データベースを検索することで、前記第1の脆弱性を含む可能性がある第2のソフトウエア資産を示す脆弱性含有候補情報を生成し、前記クライアント端末に送信する脆弱性含有候補判定部、
    として機能させるための処理命令を含むことを特徴とする脆弱性評価システム。
  11. 脆弱性評価方法であって、
    ソフトウエア資産を特徴付けるソフトウエア資産情報を格納するソフトウエア資産データベースを構築する工程と、
    前記ソフトウエア資産に関する脆弱性を特徴付ける脆弱性情報を取得する工程と、
    前記脆弱性情報に対して所定の固有表現認識手法を実行することで、前記脆弱性情報におけるソフトウエア資産に関する第1の固有表現及び脆弱性に関する第2の固有表現とを抽出する工程と、
    前記脆弱性情報に対して所定の関係抽出手法を実行することで、抽出した前記第1の固有表現と前記第2の固有表現との間の関係に関する関係情報を抽出する工程と、
    前記第1の固有表現と前記第2の固有表現とを前記関係情報に基づいて対応付けることで、前記ソフトウエア資産情報と、前記脆弱性情報との関係を示す知識データベースを生成する工程と、
    第1のソフトウエア資産における第1の脆弱性を指定する脆弱性指定入力を受け付ける工程と、
    前記第1のソフトウエア資産を特徴付けるソフトウエア資産属性を判定する工程と、
    前記ソフトウエア資産属性に基づいて、前記知識データベースを検索する検索クエリを生成する工程と、
    前記検索クエリに基づいて前記知識データベースを検索することで、前記ソフトウエア資産属性に対する類似度基準を満たすソフトウエア資産を判定し、前記ソフトウエア資産属性に対する類似度基準を満たすソフトウエア資産を、前記第1の脆弱性を含む可能性がある第2のソフトウエア資産として判定する工程と、
    前記第2のソフトウエア資産を示す脆弱性含有候補情報を生成する工程と、
    前記ソフトウエア資産データベースと、前記脆弱性含有候補情報とに基づいて、前記ソフトウエア資産データベースにおけるソフトウエア資産の内、前記第2のソフトウエア資産に対する類似度基準を満たす第3のソフトウエア資産を特定する工程と、
    前記第3のソフトウエア資産に対する前記第1の脆弱性のリスクを示すリスク評価値を計算する工程と、
    前記第3のソフトウエア資産と、計算した前記リスク評価値とを示す評価結果情報を生成し、出力する工程と、
    を含むことを特徴とする脆弱性評価方法。
JP2022210495A 2022-12-27 2022-12-27 脆弱性評価装置、脆弱性評価システム及び脆弱性評価方法 Active JP7828270B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022210495A JP7828270B2 (ja) 2022-12-27 2022-12-27 脆弱性評価装置、脆弱性評価システム及び脆弱性評価方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022210495A JP7828270B2 (ja) 2022-12-27 2022-12-27 脆弱性評価装置、脆弱性評価システム及び脆弱性評価方法

Publications (2)

Publication Number Publication Date
JP2024093869A JP2024093869A (ja) 2024-07-09
JP7828270B2 true JP7828270B2 (ja) 2026-03-11

Family

ID=91805129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022210495A Active JP7828270B2 (ja) 2022-12-27 2022-12-27 脆弱性評価装置、脆弱性評価システム及び脆弱性評価方法

Country Status (1)

Country Link
JP (1) JP7828270B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2026022957A1 (ja) * 2024-07-23 2026-01-29 Ntt株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP2026044071A (ja) * 2024-08-29 2026-03-12 Astemo株式会社 攻撃方法分析支援装置
WO2026078833A1 (ja) * 2024-10-09 2026-04-16 Ntt株式会社 評価装置及び評価方法
JP7828691B1 (ja) * 2026-01-28 2026-03-12 Cloudbase株式会社 情報処理システム、情報処理方法及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067848A1 (en) 2005-09-22 2007-03-22 Alcatel Security vulnerability information aggregation
CN115470484A (zh) 2021-06-11 2022-12-13 苏州三六零智能安全科技有限公司 物联网设备固件漏洞检测方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067848A1 (en) 2005-09-22 2007-03-22 Alcatel Security vulnerability information aggregation
CN115470484A (zh) 2021-06-11 2022-12-13 苏州三六零智能安全科技有限公司 物联网设备固件漏洞检测方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中島 明日香 ほか,機械語命令の類似度算出による複製された脆弱性の発見手法の提案,コンピュータセキュリティシンポジウム2015 論文集 [CD-ROM] ,日本,一般社団法人情報処理学会,2015年10月14日,Vol. 2015, No. 3,pp. 304-309

Also Published As

Publication number Publication date
JP2024093869A (ja) 2024-07-09

Similar Documents

Publication Publication Date Title
JP7828270B2 (ja) 脆弱性評価装置、脆弱性評価システム及び脆弱性評価方法
US11704431B2 (en) Data security classification sampling and labeling
US12505291B2 (en) Identifying and analyzing actions from vector representations of alphanumeric characters using a large language model
US11509667B2 (en) Predictive internet resource reputation assessment
CN109428886B (zh) 用于经由区块链进行评论验证和可信度评分的方法和系统
Cen et al. A probabilistic discriminative model for android malware detection with decompiled source code
NL2029110B1 (en) Method and system for static analysis of executable files
CN109886016B (zh) 用于检测异常数据的方法、设备和计算机可读存储介质
Soud et al. A fly in the ointment: an empirical study on the characteristics of Ethereum smart contract code weaknesses
US11775749B1 (en) Content masking attacks against information-based services and defenses thereto
Cheng et al. Logextractor: Extracting digital evidence from android log messages via string and taint analysis
WO2019142345A1 (ja) セキュリティ情報処理装置、情報処理方法及び記録媒体
CN119106424A (zh) 智能合约审计方法、装置、区块链系统和计算机设备
Ortu et al. Taxonomic insights into ethereum smart contracts by linking application categories to security vulnerabilities
TW202603606A (zh) 使用生成式人工智慧模型識別及修復人工智慧使用案例中之差距
Carmichael et al. How well do feature-additive explainers explain feature-additive predictors?
Huang et al. The sword of damocles: Upgradeable smart contract in ethereum
Ghimire et al. Hwrex: Ai-enabled hardware weakness and risk exploration and storytelling framework with llm-assisted mitigation suggestion
Kirschner et al. Automatic derivation of vulnerability models for software architectures
CN119692999B (zh) 智能支付方法、装置、计算机设备及存储介质
CN113485905A (zh) 数据交易中的测试方法、装置、设备以及计算机存储介质
Chu et al. SGDL: Smart contract vulnerability generation via deep learning
Beksultanova et al. Analysis tools for smart contract security
EP4571496A1 (en) Identifying security-relevant commits through architectural context
US20260080081A1 (en) Sensitive data detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250225

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20260218

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260227

R150 Certificate of patent or registration of utility model

Ref document number: 7828270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150