(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024083510
(43)【公開日】2024-06-21
(54)【発明の名称】送信装置、方法、及びプログラム
(51)【国際特許分類】
G06F 21/64 20130101AFI20240614BHJP
【FI】
G06F21/64
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2024062472
(22)【出願日】2024-04-09
(62)【分割の表示】P 2022531246の分割
【原出願日】2020-06-22
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100141519
【弁理士】
【氏名又は名称】梶田 邦之
(72)【発明者】
【氏名】磯山 和彦
(72)【発明者】
【氏名】榮 純明
(72)【発明者】
【氏名】西岡 淳
(72)【発明者】
【氏名】小林 佑嗣
(57)【要約】
【課題】伝送対象となるコンテナに含まれうる変更禁止領域に関する情報および変更禁止領域が変更されていないことを示す情報を適切に提供すること。
【解決手段】送信装置100aは、コンテナ2内に含まれる変更禁止領域に関する情報と、上記変更禁止領域が変更されていないことを示す情報と、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報をコンテナ2に含めて、コンテナ2を送信する送信処理部133と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報とを取得する情報取得手段と、
前記変更禁止領域に関する前記情報と前記変更禁止領域が変更されていないことを示す前記情報とを前記コンテナに含めて当該コンテナを送信する送信処理手段と、
を備える送信装置。
【請求項2】
前記変更禁止領域に関する前記情報は、前記コンテナにおける前記変更禁止領域の位置を特定するための情報を含む、請求項1記載の送信装置。
【請求項3】
前記変更禁止領域に関する前記情報は、前記変更禁止領域に含まれる1以上のファイルの属性情報を含む、請求項1又は2記載の送信装置。
【請求項4】
前記変更禁止領域が変更されていないことを示す前記情報は、前記変更禁止領域に関する前記情報から生成されたハッシュ値を含む、請求項1記載の送信装置。
【請求項5】
送信装置によって実行される方法であって、
コンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報とを取得することと、
前記変更禁止領域に関する前記情報と前記変更禁止領域が変更されていないことを示す前記情報とを前記コンテナに含めて当該コンテナを送信することと、
を備える方法。
【請求項6】
コンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報とを取得することと、
前記変更禁止領域に関する前記情報と前記変更禁止領域が変更されていないことを示す前記情報とを前記コンテナに含めて当該コンテナを送信することと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテナの伝送のための送信装置、方法、及びプログラムに関する。
【背景技術】
【0002】
ソフトウェアサプライチェーンの複雑化により、様々な要因で開発されてコンテナ化されたソフトウェアに脆弱性が組み込まれる危険性が増加してきている。
【0003】
要因としては、例えば、サードパーティーライブラリ、OSおよびNW設定、これらを組み合わせた完成品であるコンテナ、及び、当該コンテナにより起因する脆弱性などが想定される。
【0004】
例えば、特許文献1には、バッチジョブ解析部にて本番サーバに配備されたコンテナのバッチジョブを解析して利用するコンテナイメージを特定すること、及び外部の脆弱性情報データベースを参照してコンテナイメージがデータベースに登録された脆弱性を保持しているか判断することが記載されている。
【0005】
また、特許文献2には、各ライブラリについてセキュリティ問題をもたらすかどうかを判断すること、各アプリのフィーチャのセットを抽出してデータベースのインデックステーブル内に格納すること、各アプリのフィーチャのセットをライブラリのインデックステーブル内のフィーチャのセットと比較してどのライブラリがアプリと関連付けられるかを識別すること、及び各アプリケーションについてアプリの名前及び関連付けられたライブラリの名前を脆弱性参照テーブル内に格納することが記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2019-056986号公報
【特許文献2】特表2019-525287号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した文献などに開示された技術では、コンテナイメージ全体の正統性を保証しているに過ぎない。このため、例えば二次開発者によりコンテナイメージの改変及びそのパラメータの設定変更について、変更禁止領域であること、及び変更禁止領域が変更されていないことを判断できない、という問題がある。
【0008】
本発明の目的は、伝送対象となるコンテナに含まれうる変更禁止領域に関する情報および変更禁止領域が変更されていないことを示す情報を適切に提供することを可能にする送信装置、受信装置、コンテナ伝送システム、方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0009】
本発明の一つの態様によれば、送信装置は、コンテナ内に含まれる変更禁止領域に関する情報と、上記変更禁止領域が変更されていないことを示す情報とを取得する情報取得手段と、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報とを上記コンテナに含めて当該コンテナを送信する送信処理手段と、を備える。
【0010】
本発明の一態様によれば、方法は、コンテナ内に含まれる変更禁止領域に関する情報と、上記変更禁止領域が変更されていないことを示す情報とを取得することと、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報とを上記コンテナに含めて当該コンテナを送信することと、を備える。
【0011】
本発明の一態様によれば、プログラムは、コンテナ内に含まれる変更禁止領域に関する情報と、上記変更禁止領域が変更されていないことを示す情報とを取得することと、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報とを上記コンテナに含めて当該コンテナを送信することと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0012】
本発明の一つの態様によれば、伝送対象となるコンテナに含まれうる変更禁止領域に関する情報および変更禁止領域が変更されていないことを示す情報を適切に提供することが可能になる。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
【図面の簡単な説明】
【0013】
【
図1】
図1は、第1の実施形態に係るコンテナ伝送システム1aの概略的な構成の例を示すブロック図である。
【
図2】
図2は、第1の実施形態に係る送信装置100aの構成の例を説明するブロック図である。
【
図3】
図3は、第1の実施形態に係る受信装置200aの構成の例を説明するブロック図である。
【
図4】
図4は、変更禁止領域に関する情報の例示的な生成手順を概略的に説明するための図である。
【
図5】
図5は、変更禁止領域が変更されていないことを示す情報の例示的な生成手順を概略的に説明するための図である。
【
図6】
図6は、ハッシュ生成機能52によりハッシュ値を生成する処理の例を概略的に説明するための図である。
【
図7】
図7は、変更禁止領域のための脆弱性検査に関する情報の例示的な生成手順を概略的に説明するための図である。
【
図8】
図8は、SBOMに記述される種々の情報の具体例を示す図である。
【
図9】
図9は、第1の実施形態の第1の具体例に係る処理の流れを説明するための図である。
【
図10】
図10は、第1の実施形態の第2の具体例に係る処理の流れを説明するための図である。
【
図11】
図11は、第1の実施形態の変形例に係る処理の流れを説明するための図である。
【
図12】
図12は、第2の実施形態に係る送信装置100bの概略的な構成の例を示すブロック図である。
【
図13】
図13は、第2の実施形態に係る受信装置200bの概略的な構成の例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
【0015】
説明は、以下の順序で行われる。
1.本発明の実施形態の概要
2.第1の実施形態
2.1.コンテナ伝送システム1aの構成
2.2.送信装置100aの構成
2.3.受信装置200aの構成
2.4.動作例
2.5.変形例
3.第2の実施形態
3.1.送信装置100bの構成
3.2.受信装置200bの構成
3.3.動作例
4.他の実施形態
【0016】
<<1.本発明の実施形態の概要>>
まず、本発明の実施形態の概要を説明する。
【0017】
(1)技術的課題
ソフトウェアサプライチェーンの複雑化により、様々な要因で開発されてコンテナ化されたソフトウェアに脆弱性が組み込まれる危険性が増加してきている。
【0018】
要因としては、例えば、サードパーティーライブラリ、OSおよびNW設定、これらを組み合わせた完成品であるコンテナ、及び、当該コンテナにより起因する脆弱性などが想定される。
【0019】
例えば、上述した特許文献1には、バッチジョブ解析部にて本番サーバに配備されたコンテナのバッチジョブを解析して利用するコンテナイメージを特定すること、及び外部の脆弱性情報データベースを参照してコンテナイメージがデータベースに登録された脆弱性を保持しているか判断することが記載されている。
【0020】
また、上述した特許文献2には、各ライブラリについてセキュリティ問題をもたらすかどうかを判断すること、各アプリのフィーチャのセットを抽出してデータベースのインデックステーブル内に格納すること、各アプリのフィーチャのセットをライブラリのインデックステーブル内のフィーチャのセットと比較してどのライブラリがアプリと関連付けられるかを識別すること、及び各アプリケーションについてアプリの名前及び関連付けられたライブラリの名前を脆弱性参照テーブル内に格納することが記載されている。
【0021】
しかしながら、上述した文献などに開示された技術では、コンテナイメージ全体の正統性を保証しているに過ぎない。このため、例えば二次開発者によりコンテナイメージの改変及びそのパラメータの設定変更について、変更禁止領域であること、及び変更禁止領域が変更されていないことを判断できない、という問題がある。
【0022】
そこで、本実施形態では、伝送対象となるコンテナに含まれうる変更禁止領域に関する情報および変更禁止領域が変更されていないことを示す情報を適切に提供することを目的とする。
【0023】
(2)技術的特徴
本発明の実施形態では、送信装置が、コンテナ内に含まれる変更禁止領域に関する情報と、上記変更禁止領域が変更されていないことを示す情報とを取得し、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報とを上記コンテナに含めて当該コンテナを送信する。
【0024】
これにより、例えば、伝送対象となるコンテナに含まれうる変更禁止領域に関する情報および変更禁止領域が変更されていないことを示す情報を適切に提供することが可能になる。なお、上述した技術的特徴は本発明の実施形態の具体的な一例であり、当然ながら、本発明の実施形態は、上述した技術的特徴に限定されない。
【0025】
<<2.第1の実施形態>>
続いて、
図1~
図11を参照して、第1の実施形態を説明する。
【0026】
<2.1.コンテナ伝送システム1aの構成>
図1を参照して、第1の実施形態に係るコンテナ伝送システム1aの構成の例を説明する。
図1は、第1の実施形態に係るコンテナ伝送システム1aの概略的な構成の例を示すブロック図である。
図1参照すると、コンテナ伝送システム1aは、コンテナ2を送信する送信装置100aと、コンテナ2を受信する受信装置200aとを含む。
【0027】
<2.2.送信装置100aの構成>
図2は、第1の実施形態に係る送信装置100aの構成の例を説明するブロック図である。
図2を参照すると、送信装置100aは、ネットワーク通信部110、記憶部120、及び処理部130を備える。
【0028】
(1)ネットワーク通信部110
ネットワーク通信部110は、ネットワークから信号を受信し、ネットワークへ信号を送信する。
【0029】
(2)記憶部120
記憶部120は、送信装置100aの動作のためのプログラム(命令)及びパラメータ、並びに様々なデータを、一時的に又は恒久的に記憶する。当該プログラムは、送信装置100aの動作のための1つ以上の命令を含む。
【0030】
(3)処理部130
処理部130は、送信装置100aの様々な機能を提供する。処理部130は、情報取得部131、送信処理部133、及び受信処理部135を備える。なお、処理部130は、これらの構成要素以外の他の構成要素をさらに含みうる。すなわち、処理部130は、これらの構成要素の動作以外の動作も行いうる。情報取得部131、送信処理部133、及び受信処理部135の具体的な動作は、後に詳細に説明する。
【0031】
(4)実装例
ネットワーク通信部110は、ネットワークアダプタ並びに/又はネットワークインタフェースカード等により実装されてもよい。記憶部120は、メモリ(例えば、不揮発性メモリ及び/若しくは揮発性メモリ)並びに/又はハードディスク等により実装されてもよい。処理部130は、1つ以上のプロセッサにより実装されてもよい。情報取得部131、送信処理部133、及び受信処理部135は、同一のプロセッサにより実装されてもよく、別々に異なるプロセッサにより実装されてもよい。上記メモリ(記憶部120)は、上記1つ以上のプロセッサ内に含まれていてもよく、又は、上記1つ以上のプロセッサ外にあってもよい。
【0032】
送信装置100aは、プログラム(命令)を記憶するメモリと、当該プログラム(命令)を実行可能な1つ以上のプロセッサとを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、処理部130の動作(情報取得部131、送信処理部133、及び/又は受信処理部135の動作)を行ってもよい。上記プログラムは、処理部130の動作(情報取得部131、送信処理部133、及び/又は受信処理部135の動作)をプロセッサに実行させるためのプログラムであってもよい。
【0033】
<2.3.受信装置200aの構成>
図3は、第1の実施形態に係る受信装置200aの構成の例を説明するブロック図である。
図3を参照すると、受信装置200aは、ネットワーク通信部210、記憶部220、及び処理部230を備える。
【0034】
(1)ネットワーク通信部210
ネットワーク通信部210は、ネットワークから信号を受信し、ネットワークへ信号を送信する。
【0035】
(2)記憶部220
記憶部220は、受信装置200aの動作のためのプログラム(命令)及びパラメータ、並びに様々なデータを、一時的に又は恒久的に記憶する。当該プログラムは、受信装置200aの動作のための1つ以上の命令を含む。
【0036】
(3)処理部230
処理部230は、受信装置200aの様々な機能を提供する。処理部230は、受信処理部231、情報取得部233、及び検証処理部235を備える。なお、処理部230は、これらの構成要素以外の他の構成要素をさらに含みうる。すなわち、処理部230は、これらの構成要素の動作以外の動作も行いうる。受信処理部231、情報取得部233、及び検証処理部235の具体的な動作は、後に詳細に説明する。
【0037】
(4)実装例
ネットワーク通信部210は、ネットワークアダプタ並びに/又はネットワークインタフェースカード等により実装されてもよい。記憶部220は、メモリ(例えば、不揮発性メモリ及び/若しくは揮発性メモリ)並びに/又はハードディスク等により実装されてもよい。処理部230は、1つ以上のプロセッサにより実装されてもよい。受信処理部231、情報取得部233、及び検証処理部235は、同一のプロセッサにより実装されてもよく、別々に異なるプロセッサにより実装されてもよい。上記メモリ(記憶部220)は、上記1つ以上のプロセッサ内に含まれていてもよく、又は、上記1つ以上のプロセッサ外にあってもよい。
【0038】
受信装置200aは、プログラム(命令)を記憶するメモリと、当該プログラム(命令)を実行可能な1つ以上のプロセッサとを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、処理部230の動作(受信処理部231、情報取得部233、及び/又は検証処理部235の動作)を行ってもよい。上記プログラムは、処理部230の動作(受信処理部231、情報取得部233、及び/又は検証処理部235の動作)をプロセッサに実行させるためのプログラムであってもよい。
【0039】
<2.4.動作例>
次に、第1の実施形態に係る動作例について説明する。
【0040】
第1の実施形態によれば、送信装置100a(情報取得部131)は、送信されるべきコンテナ2内に含まれる変更禁止領域に関する情報と、上記変更禁止領域が変更されていないことを示す情報と、上記変更禁止領域のための脆弱性検査に関する情報とを取得する。送信装置100a(送信処理部133)は、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報と、上記変更禁止領域のための脆弱性検査に関する上記情報とをコンテナ2に含めて、コンテナ2を送信する。
【0041】
例えば、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報と、上記変更禁止領域のための脆弱性検査に関する上記情報とは、コンテナ2についてのソフトウェア部品表(Software Bill of Material:SBOM)として、コンテナ2に含められる。
【0042】
また、第1の実施形態によれば、受信装置200a(受信処理部231)は、コンテナ2を受信する。受信装置200a(情報取得部233)は、コンテナ2に含まれる上記変更禁止領域に関する上記情報に基づいた脆弱性検査に関する情報を取得する。受信装置200a(検証処理部235)は、コンテナ2に含まれる上記変更禁止領域のための脆弱性検査に関する上記情報と、上記変更禁止領域に関する上記情報に基づいた脆弱性検査に関する上記情報とに基づいて、コンテナ2のための検証処理を行う。
【0043】
第1の実施形態によれば、伝送対象となるコンテナに含まれうる脆弱性に関する情報を適切に提供することが可能になる。より詳細な動作に関しては、以下に説明する。
【0044】
(1)変更禁止領域に関する情報
上記変更禁止領域に関する上記情報は、コンテナ2における上記変更禁止領域の位置を特定するための情報を含む。具体的に、上記変更禁止領域の位置を特定するための情報は、上記変更禁止領域を構成するディレクトリ又はフォルダのパス情報である。
【0045】
また、上記変更禁止領域に関する上記情報は、上記変更禁止領域に含まれる1以上のファイルの属性情報を含む。ここで、1以上のファイルの属性情報の各々は、それぞれのファイルのメタデータ(ファイル情報)であってもよい。
【0046】
図4は、変更禁止領域に関する情報の例示的な生成手順を概略的に説明するための図である。
【0047】
図4を参照すると、ステップS401において、例えば、コンテナ2のコンテナ開発者41により、コンテナ2のルートフォルダ21のうち、開発者自身が開発したアプリ、ライブラリが正しく動くために変更してはいけないディレクトリ及び/又はフォルダが、変更禁止領域211として指定される。なお、ルートフォルダ21に含まれるディレクトリ212は、コンテナ開発者41以外の二次開発者により変更可能(言い換えれば、編集可能)なディレクトリとして機能する。
【0048】
次に、ステップS403において、例えば、インストール実行監視機能42により、変更禁止領域211に含まれるアプリケーション及びライブラリのインストールテストが実行され、インストール動作に必要となるパス情報421及びインストール実行時に影響するファイル情報422が抽出される。そして、抽出されたパス情報421及びファイル情報422が、変更禁止領域情報43(上記変更禁止領域に関する上記情報に相当。)として生成される。例えば、ステップS405において、変更禁止領域情報43が、コンテナ2のためのSBOMに追記される。
【0049】
(2)変更禁止領域が変更されていないことを示す情報
上記変更禁止領域が変更されていないことを示す上記情報は、上記変更禁止領域に関する上記情報から生成されたハッシュ値を含む。
【0050】
図5は、変更禁止領域が変更されていないことを示す情報の例示的な生成手順を概略的に説明するための図である。
【0051】
図5を参照すると、ハッシュ生成機能52が、例えば
図4を用いて説明した変更禁止領域情報43を参照し(S501)、対応するファイル情報をコンテナ2から検索して(S503)、これらの情報に基づいてハッシュ値を計算する。次に、コンテナ構成証明書作成機能53が、コンテナ構成認証機能54から署名を取得して(S505)、署名されたハッシュ値を含むコンテナ構成証明書を生成する。そして、コンテナ構成証明書がSBOMに追記される(S507)。
【0052】
図6は、ハッシュ生成機能52によりハッシュ値を生成する処理の例を概略的に説明するための図である。
【0053】
図6を参照すると、一例として、ステップS611において、上記変更禁止領域に関する上記情報に含まれる複数のパス情報及び複数のファイル情報が結合される。次に、ステップS613において、結合されたデータを用いてハッシュ値が算出される。
【0054】
また、代替処理の例として、ステップS621において、パス情報の各々からそれぞれのハッシュ値が生成され、ファイル情報の各々からそれぞれのハッシュ値が生成される。次に、ステップS623において、ステップS621により生成された2つのハッシュ値を文字列結合することにより新しいハッシュ値を計算する処理が、繰り返され最終的にトップハッシュ値が算出される。
【0055】
(3)変更禁止領域のための脆弱性検査に関する情報
上記変更禁止領域のための脆弱性検査に関する上記情報は、上記変更禁止領域の脆弱性検査を行う検査ツールに関する情報を含む。具体的に、上記検査ツールに関する上記情報は、検査ツールを識別するためのツール名、ルールを証明するための保証情報などが含まれる。
【0056】
上記変更禁止領域のための脆弱性検査に関する上記情報は、上記変更禁止領域に含まれる検査対象領域に関する情報を含む。検査対象領域は、例えばアプリケーションのインストール又は起動を行うためのファイルなどが該当する。
【0057】
また、上記検査ツールを実行するための情報(検査ツールの実行用アプリケーションのインストール又は起動を行うためのファイル)が、コンテナ2に含まれてもよい。この場合、受信装置200a(情報取得部233)は、コンテナ2に含まれる上記検査ツールを用いて、上記変更禁止領域に関する上記情報のための検査を行い、上記変更禁止領域に関する上記情報に基づいた脆弱性検査に関する上記情報を取得する。
【0058】
さらに、上記変更禁止領域のための脆弱性検査に関する上記情報は、上記変更禁止領域において脆弱性に関与するパラメータの設定条件(例えば、セキュリティを確保可能な許容パラメータ情報)を示す情報を含む。
【0059】
図7は、変更禁止領域のための脆弱性検査に関する情報の例示的な生成手順を概略的に説明するための図である。
【0060】
図7を参照すると、ステップS701において、コンテナ2のコンテナ開発者71により、コンテナ2のルートフォルダ21のうち、自身が開発したアプリ、ライブラリが正しく動くために変更してはいけないディレクトリ及び/又はフォルダが、変更禁止領域211として指定される。
【0061】
次に、ステップS703において、コンテナ開発者71の指示に応じて、検査ツール72により、変更禁止領域211に含まれるアプリケーション及びライブラリの脆弱性検査が行われる。これにより、検査結果73が得られる。
【0062】
次に、ステップS705において、コンテナ開発者71により、ステップS703による脆弱性検査についての検査条件情報(例えば、検査ツールに関する情報、検査対象領域に関する情報など)が指定される。
【0063】
また、ステップS707において、フォーマット整形部75により、コンテナ2のためのセキュリティ対策ナレッジを管理する対策ナレッジデータベース74が参照され、コンテナ2のシステム情報に基づき検査結果73に応じた許容パラメータ情報が決定される。そして、フォーマット整形部75により、上記検査条件情報および上記許容パラメータ情報に基づいて、検査結果に関連する追加情報が決定される。
【0064】
次に、ステップS709において、当該追加情報がSBOMフォーマット検査結果76として、SBOMに追記される。
【0065】
(4)SBOMの記述例
図8は、SBOMに記述される種々の情報の具体例を示す図である。
【0066】
図8を参照すると、セキュアSBOM800内の<セキュアPATH>から</セキュアPATH>までの記述のうち、<PATH>から</PATH>までの各々の記述が、上記変更禁止領域に関する上記情報に相当する。また、セキュアSBOM800内の<HASH>から</HASH>までの記述が、上記変更禁止領域が変更されていないことを示す上記情報に相当する。
【0067】
また、セキュアSBOM800内の<脆弱性情報リスト>から</脆弱性情報リスト>までの記述が、上記変更禁止領域のための脆弱性検査に関する上記情報に相当する。具体的には、<検査ツール情報>から</検査ツール情報>までの記述が、上記検査ツールに関する上記情報に相当する。また、<検査ターゲット>から</検査ターゲット>までの記述が、上記検査対象領域に関する情報に相当する。また、<脆弱性個別情報>から</脆弱性個別情報>までの記述のうち、<パラメータ情報>から</パラメータ情報>までの記述が、上記変更禁止領域において脆弱性に関与する上記パラメータの設定条件を示す上記情報に相当する。
【0068】
(5)処理の流れ
次に、第1の実施形態に係る処理の流れを説明する。
【0069】
(5-1)第1の具体例に係る処理の流れ
図9は、第1の実施形態の第1の具体例に係る処理の流れを説明するための図である。
【0070】
図9を参照すると、ステップS901において、検査ツール91が署名付きで配布される。
【0071】
次に、ステップS903において、コンテナ構成証明書作成機能92が、変更禁止領域211に含まれるパス情報及びファイル情報を取得する。次に、ステップS905において、コンテナ構成証明書作成機能92は、取得したパス情報及びファイル情報に基づいてハッシュ値を算出し、コンテナ構成認証機能93から取得される署名をハッシュ値に付加する。これにより、署名されたハッシュ値を含むコンテナ構成証明書94が生成され、検査結果証明書作成機能96に送られる。
【0072】
次に、ステップS907において、検査ツール91を用いて、変更禁止領域211に含まれるライブラリLib及びアプリケーションAppが検査され、検査結果95が得られる。検査結果95は検査結果証明書作成機能96に送られる。
【0073】
次に、ステップS909において、検査結果証明書作成機能96は、検査結果95に基づいて検査結果証明書を生成し、検査結果認証機能97から取得される署名を当該検査結果証明書に付加する。そして、当該検査結果証明書とコンテナ構成証明書94とを含むSBOM98が生成される。その後、送信装置100aによりSBOM98が付加されたコンテナ2が、受信装置200aに送られる。
【0074】
なお、
図9に示す処理において、送信装置100a(処理部130)が、ステップS901~S909のうちの少なくとも1つのステップを実行してもよい。
【0075】
(5-2)第2の具体例に係る処理の流れ
図10は、第1の実施形態の第2の具体例に係る処理の流れを説明するための図である。
【0076】
図10を参照すると、ステップS1001において、検査ツールを実行するための情報が、コンテナ2内に配置される。
【0077】
次に、ステップS1003において、コンテナ構成証明書作成機能1001が、変更禁止領域211に含まれるパス情報及びファイル情報を取得する。次に、ステップS1005において、コンテナ構成証明書作成機能1001は、取得したパス情報及びファイル情報に基づいてハッシュ値を算出し、コンテナ構成認証機能1002から取得される署名をハッシュ値に付加する。これにより、署名されたハッシュ値を含むコンテナ構成証明書1003が生成され、検査結果証明書作成機能1004に送られる。
【0078】
次に、ステップS1007において、変更禁止領域211に配置された検査ツールを用いて、変更禁止領域211に含まれるライブラリLib及びアプリケーションAppが検査され、検査結果1005が得られる。検査結果1005は検査結果証明書作成機能1004に送られる。
【0079】
次に、ステップS1009において、検査結果証明書作成機能1004は、検査結果1005に基づいて検査結果証明書を生成し、検査結果認証機能1006から取得される署名を当該検査結果証明書に付加する。そして、当該検査結果証明書とコンテナ構成証明書1003とを含むSBOM1007が生成され、送信装置100aに送られる。その後、送信装置100aによりSBOM1007が付加されたコンテナ2が、受信装置200aに送られる。
【0080】
次に、ステップS1011において、受信装置200aが、検査結果認証機能1006にアクセスすることにより、SBOM1007に含まれる検査結果証明書が正規であることを確認する。
【0081】
次に、ステップS1013において、受信装置200aが、コンテナ2に含まれる検査ツールを用いて、変更禁止領域211に含まれるライブラリLib及びアプリケーションAppを検査し、検査結果1008を得る。
【0082】
次に、ステップS1015において、受信装置200aが、SBOM1007に含まれる検査結果証明書で示される検査結果1005と、検査ツールを用いた検査結果1008とを比較し、同じ検査結果であることを検証する。
【0083】
なお、
図10に示す処理において、送信装置100a(処理部130)が、ステップS1001~S1009のうちの少なくとも1つのステップを実行してもよい。
【0084】
(6)まとめ
以上のように第1の実施形態によれば、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報とがコンテナ2に含まれているので、コンテナ2の中でセキュリティが保証されている領域(例えば変更禁止領域211)がどこであるかをコンテナ2の受け手側(受信装置200a)で判断することができる。
【0085】
また、第1の実施形態によれば、上記変更禁止領域のための脆弱性検査に関する上記情報がコンテナ2に含まれているので、変更禁止領域211についてどのようにセキュリティが保証されているかを、受信装置200aで判断することができる。
【0086】
<2.5.変形例>
第1の実施形態は、上述した動作例に限らず種々の変形が可能である。
【0087】
例えば、送信装置100a(送信処理部133)は、コンテナ2の送信前に、上記変更禁止領域に関する上記情報を、通信ネットワーク(例えばインターネット)を介して、脆弱性検査を行うコンピューティングシステム(例えばクラウドサービス)に送信してもよい。この場合、送信装置100a(受信処理部135)は、コンテナ2の送信前に、上記脆弱性検査を行う上記コンピューティングシステム(例えばクラウドサービス)から、上記通信ネットワーク(例えばインターネット)を介して、上記変更禁止領域のための脆弱性検査に関する上記情報を受信する。
【0088】
図11は、第1の実施形態の変形例に係る処理の流れを説明するための図である。
【0089】
まず、
図11を参照すると、コンテナ提供者に相当する送信装置100aは、クラウドサービス300にアクセスすることによりSBOMを取得する。また、コンテナユーザに相当する受信装置200aは、クラウドサービス300にアクセスすることによりコンテナ2についての検証処理を行う。
【0090】
具体的には、ステップS1101において、クラウドサービス300では、コンテナ構成証明書作成機能301が、送信装置100aから、変更禁止領域211に含まれるパス情報及びファイル情報を取得する。
【0091】
次に、ステップS1103において、クラウドサービス300では、コンテナ構成証明書作成機能301が、取得したパス情報及びファイル情報に基づいてハッシュ値を算出し、クラウドサービス300に含まれるコンテナ構成認証機能302から取得される署名をハッシュ値に付加する。これにより、クラウドサービス300では、署名されたハッシュ値を含むコンテナ構成証明書303が生成され、検査結果証明書作成機能304に送られる。
【0092】
次に、ステップS1105において、クラウドサービス300に配置された検査ツール305を用いて、変更禁止領域211に含まれるライブラリLib及びアプリケーションAppが検査され、検査結果306が得られる。検査結果306は検査結果証明書作成機能304に送られる。
【0093】
次に、ステップS1107において、クラウドサービス300では、検査結果証明書作成機能304が、検査結果306に基づいて検査結果証明書を生成し、検査結果認証機能1006から取得される署名を当該検査結果証明書に付加する。
【0094】
次に、ステップS1109において、クラウドサービス300は、当該検査結果証明書とコンテナ構成証明書303とを含むSBOM308を生成し、SBOM308を送信装置100aに配布する。
【0095】
次に、ステップS1111において、送信装置100aは、クラウドサービス300から配布されたSBOM308を、コンテナ2に付加する。
【0096】
次に、ステップS1113において、送信装置100aは、SBOM308が付加されたコンテナ2を、インターネットを介して、受信装置200aに送信する。
【0097】
次に、ステップS1115において、受信装置200aが、クラウドサービス300に含まれる検査結果認証機能307にアクセスすることにより、SBOM308に含まれる検査結果証明書が正規であることを確認する。
【0098】
次に、ステップS1117において、受信装置200aは、クラウドサービス300にアクセスして、受信されたコンテナ2に含まれる変更禁止領域211を送信する。これにより、クラウドサービス300では、検査ツール305を用いて、変更禁止領域211の再検査が行われ、検査結果が検査結果証明書作成機能304に送られる。
【0099】
次に、ステップS1119において、受信装置200aは、クラウドサービス300に含まれる検査結果証明書作成機能304から、上述した検査結果306に対応する情報(検査結果309)を取得する。
【0100】
次に、ステップS1121において、受信装置200aが、SBOM308に含まれる検査結果証明書で示される検査結果と、クラウドサービス300から取得した検査結果309と、を比較し、同じ検査結果であることを検証する。
【0101】
図11に示すような変形例によれば、脆弱性検査の役割をクラウドサービス300上で行うことで、送信装置100a及び受信装置200aで行われる処理を軽減することができる。
【0102】
<<3.第2の実施形態>>
続いて、
図12及び
図13を参照して本発明の第2の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
【0103】
<3.1.送信装置100bの構成>
図12は、第2の実施形態に係る送信装置100bの概略的な構成の例を示すブロック図である。
図12を参照すると、送信装置100bは、情報取得部151、及び送信処理部153を備える。
【0104】
情報取得部151、及び送信処理部153は、1つ以上のプロセッサと、メモリ(例えば、不揮発性メモリ及び/若しくは揮発性メモリ)並びに/又はハードディスクとにより実装されてもよい。情報取得部151、及び送信処理部153は、同一のプロセッサにより実装されてもよく、別々に異なるプロセッサにより実装されてもよい。上記メモリは、上記1つ以上のプロセッサ内に含まれていてもよく、又は、上記1つ以上のプロセッサ外にあってもよい。
【0105】
<3.2.受信装置200bの構成>
図13は、第2の実施形態に係る受信装置200bの概略的な構成の例を示すブロック図である。
図13を参照すると、受信装置200bは、受信処理部251、情報取得部253、及び検証処理部255を備える。
【0106】
受信処理部251、情報取得部253、及び検証処理部255は、1つ以上のプロセッサと、メモリ(例えば、不揮発性メモリ及び/若しくは揮発性メモリ)並びに/又はハードディスクとにより実装されてもよい。受信処理部251、情報取得部253、及び検証処理部235は、同一のプロセッサにより実装されてもよく、別々に異なるプロセッサにより実装されてもよい。上記メモリは、上記1つ以上のプロセッサ内に含まれていてもよく、又は、上記1つ以上のプロセッサ外にあってもよい。
【0107】
<3.3.動作例>
第2の実施形態に係る動作例を説明する。
【0108】
第2の実施形態によれば、送信装置100b(情報取得部151)は、送信されるべきコンテナ内に含まれる変更禁止領域に関する情報と、上記変更禁止領域が変更されていないことを示す情報と、上記変更禁止領域のための脆弱性検査に関する情報とを取得する。送信装置100b(送信処理部153)は、上記変更禁止領域に関する上記情報と上記変更禁止領域が変更されていないことを示す上記情報と、上記変更禁止領域のための脆弱性検査に関する上記情報とを上記コンテナに含めて、当該コンテナを送信する。
【0109】
また、第2の実施形態によれば、受信装置200b(受信処理部251)は、コンテナを受信する。受信装置200b(情報取得部253)は、上記コンテナに含まれる上記変更禁止領域に関する上記情報に基づいた脆弱性検査に関する情報を取得する。受信装置200b(検証処理部255)は、上記コンテナに含まれる上記変更禁止領域のための脆弱性検査に関する上記情報と、上記変更禁止領域に関する上記情報に基づいた脆弱性検査に関する上記情報とに基づいて、当該コンテナのための検証処理を行う。
【0110】
-第1の実施形態との関係
一例として、第2の実施形態に係る送信装置100bが備える情報取得部151、及び送信処理部153は、それぞれ、第1の実施形態に係る送信装置100aが備える情報取得部131、及び送信処理部133の動作を行ってもよい。また、第2の実施形態に係る受信装置200aが備える受信処理部251、情報取得部253、及び検証処理部255は、それぞれ、第1の実施形態に係る受信装置200aが備える受信処理部231、情報取得部233、及び検証処理部235の動作を行ってもよい。この場合に、第1の実施形態についての説明は、第2の実施形態にも適用されうる。なお、第2の実施形態は、この例に限定されない。
【0111】
以上、第2の実施形態を説明した。第2の実施形態によれば、伝送対象となるコンテナに含まれうる脆弱性に関する情報を適切に提供することが可能になる。
【0112】
<<4.他の実施形態>>
以上、本発明の実施形態を説明したが、本発明はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
【0113】
例えば、本明細書に記載されている処理におけるステップは、必ずしもシーケンス図に記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、シーケンス図として記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。
【0114】
また、本明細書において説明した送信装置の構成要素(例えば、情報取得部、及び/又は送信処理部)を備える装置(例えば、送信装置を構成する複数の装置(又はユニット)のうちの1つ以上の装置(又はユニット)、又は上記複数の装置(又はユニット)のうちの1つのためのモジュール)が提供されてもよい。また、上記構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable medium)が提供されてもよい。当然ながら、このような装置、モジュール、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本発明に含まれる。
【0115】
また、本明細書において説明した受信装置の構成要素(例えば、受信処理部、情報取得部、及び/又は検証処理部)を備える装置(例えば、受信装置を構成する複数の装置(又はユニット)のうちの1つ以上の装置(又はユニット)、又は上記複数の装置(又はユニット)のうちの1つのためのモジュール)が提供されてもよい。また、上記構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable medium)が提供されてもよい。当然ながら、このような装置、モジュール、方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本発明に含まれる。
【0116】
上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0117】
(付記1)
送信されるべきコンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報と、前記変更禁止領域のための脆弱性検査に関する情報とを取得する情報取得部と、
前記変更禁止領域に関する前記情報と前記変更禁止領域が変更されていないことを示す前記情報と、前記変更禁止領域のための脆弱性検査に関する前記情報とを前記コンテナに含めて当該コンテナを送信する送信処理部と、
を備える送信装置。
【0118】
(付記2)
前記変更禁止領域に関する前記情報は、前記コンテナにおける前記変更禁止領域の位置を特定するための情報を含む、付記1記載の送信装置。
【0119】
(付記3)
前記変更禁止領域に関する前記情報は、前記変更禁止領域に含まれる1以上のファイルの属性情報を含む、付記1又は2記載の送信装置。
【0120】
(付記4)
前記変更禁止領域が変更されていないことを示す前記情報は、前記変更禁止領域に関する前記情報から生成されたハッシュ値を含む、付記1記載の送信装置。
【0121】
(付記5)
前記変更禁止領域のための脆弱性検査に関する前記情報は、前記変更禁止領域の脆弱性検査を行う検査ツールに関する情報を含む、付記1乃至4のうち何れか1項記載の送信装置。
【0122】
(付記6)
前記コンテナは、前記検査ツールを実行するための情報を更に含む、付記5記載の送信装置。
【0123】
(付記7)
前記変更禁止領域のための脆弱性検査に関する前記情報は、前記変更禁止領域に含まれる検査対象領域に関する情報を含む、付記1乃至6記載のうち何れか1項送信装置。
【0124】
(付記8)
前記変更禁止領域のための脆弱性検査に関する前記情報は、前記変更禁止領域において脆弱性に関与するパラメータの設定条件を示す情報を含む、付記1乃至7のうち何れか1項記載の送信装置。
【0125】
(付記9)
前記送信処理部は、前記コンテナの送信前に、前記変更禁止領域に関する前記情報を、通信ネットワークを介して、脆弱性検査を行うコンピューティングシステムに送信し、
当該送信装置は、前記コンテナの送信前に、前記脆弱性検査を行う前記コンピューティングシステムから、前記通信ネットワークを介して、前記変更禁止領域のための脆弱性検査に関する前記情報を受信する受信処理部と、を更に備える、付記1乃至8のうち何れか1項記載の送信装置。
【0126】
(付記10)
コンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報と、前記変更禁止領域のための脆弱性検査に関する情報とを含む当該コンテナを受信する受信処理部と、
前記コンテナに含まれる前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する情報を取得する情報取得部と、
前記コンテナに含まれる前記変更禁止領域のための脆弱性検査に関する前記情報と、前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する前記情報とに基づいて、前記コンテナのための検証処理を行う検証処理部と、
を備える受信装置。
【0127】
(付記11)
前記コンテナは、前記変更禁止領域に関する前記情報に基づいた脆弱性検査を行う検査ツールに関する情報を更に含み、
前記情報取得部は、前記検査ツールを用いて前記変更禁止領域に関する前記情報のための検査を行い、前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する前記情報を取得する、付記10記載の受信装置。
【0128】
(付記12)
送信されるべきコンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報と、前記変更禁止領域のための脆弱性検査に関する情報とを含む当該コンテナを送信する送信装置と、
前記コンテナを受信して、当該コンテナに含まれる前記変更禁止領域のための脆弱性検査に関する前記情報と前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する前記情報とに基づいて当該コンテナのための検証処理を行う受信装置と、
を備えるコンテナ伝送システム。
【0129】
(付記13)
送信されるべきコンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報と、前記変更禁止領域のための脆弱性検査に関する情報とを取得することと、
前記変更禁止領域に関する前記情報と前記変更禁止領域が変更されていないことを示す前記情報と、前記変更禁止領域のための脆弱性検査に関する前記情報とを前記コンテナに含めて当該コンテナを送信することと、
を備える方法。
【0130】
(付記14)
コンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報と、前記変更禁止領域のための脆弱性検査に関する情報とを含む当該コンテナを受信することと、
前記コンテナに含まれる前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する情報を取得することと、
前記コンテナに含まれる前記変更禁止領域のための脆弱性検査に関する前記情報と、前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する前記情報とに基づいて、前記コンテナのための検証処理を行うことと、
を備える方法。
【0131】
(付記15)
送信装置により、送信されるべきコンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報と、前記変更禁止領域のための脆弱性検査に関する情報とを含む当該コンテナを送信することと、
受信装置により、前記コンテナを受信して、当該コンテナに含まれる前記変更禁止領域のための脆弱性検査に関する前記情報と前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する前記情報とに基づいて当該コンテナのための検証処理を行うことと、
を備える方法。
【0132】
(付記16)
送信されるべきコンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報と、前記変更禁止領域のための脆弱性検査に関する情報とを取得することと、
前記変更禁止領域に関する前記情報と前記変更禁止領域が変更されていないことを示す前記情報と、前記変更禁止領域のための脆弱性検査に関する前記情報とを前記コンテナに含めて当該コンテナを送信することと、
をコンピュータに実行させるためのプログラム。
【0133】
(付記17)
コンテナ内に含まれる変更禁止領域に関する情報と、前記変更禁止領域が変更されていないことを示す情報と、前記変更禁止領域のための脆弱性検査に関する情報とを含む当該コンテナを受信することと、
前記コンテナに含まれる前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する情報を取得することと、
前記コンテナに含まれる前記変更禁止領域のための脆弱性検査に関する前記情報と、前記変更禁止領域に関する前記情報に基づいた脆弱性検査に関する前記情報とに基づいて、前記コンテナのための検証処理を行うことと、
をコンピュータに実行させるためのプログラム。
【産業上の利用可能性】
【0134】
コンテナの伝送のためのコンテナ伝送システムにおいて、伝送対象となるコンテナに含まれうる脆弱性に関する情報を適切に提供することを可能にする。
【符号の説明】
【0135】
1a コンテナ伝送システム
100a、100b 送信装置
131、151、233、253 情報取得部
133、153 送信処理部
135、231、251 受信処理部
200a、200b 受信装置
235、255 検証処理部