JP7222428B2 - 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム - Google Patents

検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム Download PDF

Info

Publication number
JP7222428B2
JP7222428B2 JP2021534472A JP2021534472A JP7222428B2 JP 7222428 B2 JP7222428 B2 JP 7222428B2 JP 2021534472 A JP2021534472 A JP 2021534472A JP 2021534472 A JP2021534472 A JP 2021534472A JP 7222428 B2 JP7222428 B2 JP 7222428B2
Authority
JP
Japan
Prior art keywords
file
software
verification information
hash value
package
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
JP2021534472A
Other languages
English (en)
Other versions
JPWO2021014596A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021014596A1 publication Critical patent/JPWO2021014596A1/ja
Application granted granted Critical
Publication of JP7222428B2 publication Critical patent/JP7222428B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、検証情報作成システム、検証情報作成方法、および、検証情報作成プログラムに関する。
従来、各種機器にインストールされたソフトウェアにセキュリティ上問題がないこと(完全性)を確認するため、当該ソフトウェアに関連するファイルの変更や改ざんを検知する技術がある(非特許文献1,2参照)。ここで、ソフトウェアは、設定変更やセキュリティパッチの適用等で更新される。このため、システム運用者は、ソフトウェアの導入時に加え、日々の運用において適宜完全性を確認する必要がある。
特開2019-8738号公報 特開2019-8377号公報
Tripwire、[online]、[2019年7月11日検索]、インターネット<https://www.tripwire.co.jp/about/> 日経XTECH、"仮想環境のセキュリティを高めるインテルTXT"、[online]、[2019年7月11日検索]、インターネット<https://tech.nikkeibp.co.jp/it/article/COLUMN/20071114/287197/>
しかし、従来技術において、上記の完全性の確認に用いる照合情報(検証情報)は、ある時点で完全性の確認しかできないため信頼性が必ずしも高くない、一般的なソフトウェアには対応していないという問題があった。また、信頼性を確保しつつ、一般的なソフトウェアにも対応する検証情報を生成しようとすると、人手による作業が多くなり手間がかかるという問題があった。
また、ソフトウェアパッケージの中には、当該ソフトウェアパッケージに関する様々な設定情報やソフトウェアパッケージに含まれる各種ライブラリの依存関係を示した情報(メタ情報)が正しく記述されていない場合もあるので、インストール後に検証情報を手動で設定しなければならない場合もある。また、ソフトウェアパッケージを使わずにソフトウェアをインストールする場合、ユーザがインストール先を指定するため、インストール先を反映した検証情報を作成する必要もあるという問題もあった。そこで、本発明は、本発明は、前記した問題を解決する検証情報の作成手段を提供することを課題とする。
前記した課題を解決するため、本発明は、検証対象のソフトウェアを機器にインストールし、前記機器から前記ソフトウェアのインストール先のディレクトリを取得し、前記取得したディレクトリに格納されるファイルの種類に基づき、ハッシュ値を取得可能なファイルを特定し、前記ハッシュ値を取得可能なファイルのファイルパスおよび前記ファイルのハッシュ値を取得する第1の取得部と、前記第1の取得部により取得されたファイルのファイルパスおよび前記ファイルのハッシュ値を含む、前記ソフトウェアの検証に用いる検証情報を作成する第1の検証情報作成部と、を備えることを特徴とする。
本発明によれば、検証情報の作成手段を提供することができる。
図1は、検証情報作成システムの構成例を示す図である。 図2は、zipinfoコマンドの実行により得られる情報を例示した図である。 図3は、zipinfoコマンドの実行により得られる情報を例示した図である。 図4は、検証情報リストの例を示す図である。 図5は、署名付き検証情報リストの例を示す図である。 図6は、第1の実施形態における検証情報作成装置の処理手順の例を示すフローチャートである。 図7は、図6のS112の解析処理の例を示すフローチャートである。 図8は、検証情報におけるhash値を用いた検証処理の例を示すフローチャートである。 図9は、検証情報を用いた、不要なファイルの追加の検証処理の例を示すフローチャートである。 図10は、検証情報を用いた、必須構成のファイルの削除の検証処理の例を示すフローチャートである。 図11は、検証情報を用いた、アクセス元の検証処理の例を示すフローチャートである。 図12は、第2の実施形態における検証情報作成装置の処理手順の例を示すフローチャートである。 図13は、検証情報作成プログラムを実行するコンピュータの例を示す図である。 図14は、照合情報リストの例を示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)を第1の実施形態および第2の実施形態に分けて説明する。本発明は、以下に説明する各実施形態に限定されない。なお、以下に説明する検証情報は、機器にインストールされたソフトウェアに関連するファイルに変更や改ざんが行われていないかを検証するための基礎となる情報であり、実際にファイルの変更や改ざんが行われていないかを検証する機器に合わせて修正されたものを照合情報と定義する。
[概要]
以下に、各実施形態の検証情報作成装置(検証情報作成システム)の概要を説明する。各実施形態の検証情報作成装置は、例えば、上記の検証情報を作成するため、ソフトウェアがインストールされた検証装置で当該ソフトウェアを動作させる。そして、検証情報作成装置は、当該ソフトウェアを動作させたときのファイルやディレクトリの実際の振る舞いを解析し、検証情報を作成する。
例えば、ソフトウェアのソースファイルやインストールのためのメタデータを1つにまとめたtarファイルを用いて検証装置にソフトウェアをインストールする場合、ユーザはインストール先のディレクトリを指定することができる。ここでインストール時にユーザが指定したインストールディレクトリなどは、上記のtarファイルを展開したソースディレクトリ内のconfig.niceまたはconfig.statusに保存されている。よって、検証情報作成装置は、tarファイルを展開したソースディレクトリ内のconfig.niceまたはconfig.statusに基づき、ソフトウェアのインストールディレクトリを特定する。そして、検証情報作成装置は、特定したインストールディレクトリに格納される各ファイルの情報を用いて検証情報を作成する。
例えば、検証情報作成装置は、特定したインストールディレクトリに格納される各ファイルの種類に基づき、各ファイルが実体のあるファイルか否かを判定する。そして、検証情報作成装置は、実体のあるファイルを、ハッシュ値を取ることができるファイルとして特定する。その後、検証情報作成装置は、ハッシュ値を取ることができるファイルについてハッシュ値を計算し、当該ファイルのファイルパスと計算したハッシュ値とを含む検証情報を作成する(図4参照)。
このようにすることで検証情報作成装置は、ソフトウェアのインストール先をユーザが指定するようなソフトウェアパッケージや、インストールされた環境によって各種設定情報が変更されるソフトウェアパッケージに関する検証情報を作成することができる。
なお、以下において、検証情報作成装置が、ソフトウェアパッケージの検証情報の作成のため、検証装置に当該ソフトウェアをインストールし、当該ソフトウェアを動作させたときのファイルやディレクトリの実際の振る舞いを解析することを、適宜「動的解析」と呼ぶ。
[第1の実施形態]
[構成]
次に、図1を用いて、第1の実施形態の検証情報作成システムの構成例を説明する。検証情報作成システムは、例えば、ソフトウェアパッケージの検証情報を作成する検証情報作成装置10と、当該検証情報を用いて自身の検証装置20にインストールされたソフトウェアの検証処理を行う検証装置20とを備える。
検証情報作成装置10は、データ処理部11と、データ格納部12とを備える。検証情報作成装置10は、例えば、インターネット等のネットワーク経由で、利用者端末に接続される。
データ処理部11は、処理受付部111と、動的解析処理部112と、署名付与部113とを備える。データ格納部12は、検証情報リスト格納部121と、署名付き検証情報リスト格納部122と、動的解析ルール格納部123とを備える。
なお、破線で示す静的解析処理部115と静的解析ルール格納部124は、検証情報作成装置10に装備される場合と装備されない場合とがあり、装備される場合については第2の実施形態で述べる。
まず、データ処理部11を構成する各部を説明する。処理受付部111は、利用者端末からソフトウェアパッケージの検証情報の作成依頼を受け付け、その結果を返す。
動的解析処理部112は、検証情報の作成対象のソフトウェアパッケージに対し動的解析を行い、検証情報を作成する。この動的解析処理部112は、第1の解析部(第1の取得部)1121と第1の検証情報作成部1122とを備える。
第1の解析部1121は、動的解析ルール格納部123から、検証情報の作成対象のソフトウェアパッケージについて当該ソフトウェアパッケージの動的解析を行うためのルールを読み出す。そして、第1の解析部1121は、読み出したルールに従い、当該ソフトウェアパッケージを検証装置20にインストールし、当該検証装置20から、当該ソフトウェアパッケージのソフトウェアのインストール先のディレクトリを取得する。その後、第1の解析部1121は、取得したディレクトリに格納されるファイルの種類に基づき、ハッシュ値を取得可能なファイルを特定する。そして、第1の解析部1121は、当該ハッシュ値を取得可能なファイルのファイルパスと、当該ファイルのハッシュ値とを取得する。
例えば、第1の解析部1121は、例えば、tarファイルに含まれるconfig.niceまたはconfig.statusに基づき、ソフトウェアのインストールディレクトリを特定する。そして、第1の解析部1121は、特定したインストールディレクトリに格納されるファイルの種類に基づき、当該ファイルが実体のあるファイルか否かを判定する。
そして、第1の解析部1121は、実体があると判定したファイルを、ハッシュ値を取ることができるファイルとして特定する。その後、第1の解析部1121は、ハッシュ値を取ることができるファイルについて、当該ファイルのハッシュ値を計算し、当該ファイルのファイルパスと、計算した当該ファイルのハッシュ値とを取得する。
また、第1の解析部1121は、tarファイルから当該ソフトウェアパッケージのパッケージ名、検証情報ID(例えばシリアル番号)も取得する。
例えば、第1の解析部1121は、以下に示すコマンドを実行することにより、インストールディレクトリに格納される各ファイルの種類を特定し、ハッシュ値を取得することができるファイルについて、当該ファイルのハッシュ値を計算する。
Figure 0007222428000001
ここで、例えば、上記のハッシュ値を取得することができるファイルが、テキストファイルである場合、ソフトウェアのインストール後に、設定変更等によりファイルの書き換えが発生する可能性がある。そこで、第1の解析部1121は、上記のハッシュ値を取得することができるファイルがテキストファイルである場合、検証装置20におけるソフトウェアの設定変更後に、当該ファイルのハッシュ値を再計算する。そして、第1の検証情報作成部1122は、検証情報における当該ファイルに関するハッシュ値を再計算した値に書き換える。
また、第1の解析部1121による解析対象のソフトウェアパッケージは圧縮ファイルであってもよい。
圧縮ファイルは、例えば、zipファイルやwarファイルである。zipファイルは、複数のファイルを1つのファイルとしてまとめて取り扱うアーカイブフォーマットである。warファイルは、Java(登録商標) Platform Enterprise Edition(Java EE)アプリケーションのパッケージであり、zip形式で圧縮されている。
zipファイルもwarファイルイも、zipinfoコマンドにより当該圧縮ファイルに格納されているファイルのファイル形式(t:テキストファイル、b:バイナリファイル)を確認することができる(図2および図3参照)。
よって、第1の解析部1121は、例えば、上記のzipinfoコマンドにより得られたファイルのファイル形式がテキストファイルであれば、当該ファイルは書き換えられる可能性があるので、当該検証装置20におけるソフトウェアの設定変更後に、当該ファイルのハッシュ値を再計算する。
第1の検証情報作成部1122は、第1の解析部1121によるソフトウェアパッケージの解析により取得された情報をもとに、当該ソフトウェアパッケージの検証情報を作成する。
例えば、第1の検証情報作成部1122は、第1の解析部1121によるソフトウェアパッケージの解析により取得された、当該ソフトウェアパッケージのパッケージ名、検証情報ID(例えばシリアル番号)、検証対象のファイルのファイルパスまたはディレクトリ、当該ファイルのハッシュ値等を用いて検証情報(図4参照)を作成する。その後、第1の検証情報作成部1122は、作成した検証情報を検証情報リスト格納部121に格納し、検証情報の作成が完了したことを利用者端末に返す。
なお、処理受付部111が利用者端末経由で検証情報の読み出し指示を受け付けた場合、処理受付部111は、検証情報リスト格納部121から読み出し指示の対象の検証情報を読み出し、利用者端末へ送信する。その後、処理受付部111が、利用者端末から当該検証情報の修正を受け付けると、修正を反映した検証情報を検証情報リスト格納部121に格納する。
例えば、処理受付部111が、利用者端末から、検証情報に、当該検証情報におけるアクセス元許可リスト(図4参照)に許可されるアクセス元(アクセス許可されるプログラムの実行ファイルパス)を追加する旨の指示を受け付けると、当該指示に基づき修正した検証情報を検証情報リスト格納部121に格納する。
なお、処理受付部111は、外部装置(例えば、利用者端末)から送信された検証情報を検証情報リスト格納部121に格納してもよい。
署名付与部113は、検証情報にユーザ署名の公開鍵証明書を付与する。例えば、署名付与部113が、利用者端末から検証情報に署名の付与依頼を受け付けると、処理受付部111は、検証情報リスト格納部121から該当する検証情報を選択し、署名付与部113に検証情報を渡す。そして、署名付与部113は、当該検証情報のうち、検証情報IDをパッケージID(パッケージ名+検証情報ID+検証情報が格納される機器の識別情報)として置き換えた情報に対して、検証情報が格納される機器のユーザ署名とユーザ署名の公開鍵証明書とを付与した検証情報(図5参照)を署名付き検証情報リスト格納部122に格納する。
そして、署名付与部113は、当該検証情報に、ソフトウェアパッケージがインストールされる検証装置20のユーザ署名とユーザ署名の公開鍵証明書とを付与し(図5参照)、署名付き検証情報リスト格納部122に格納する。
次に、データ格納部12の各部を説明する。データ格納部12の検証情報リスト格納部121は、検証情報のリスト(検証情報リスト)を格納する。検証情報は、例えば、図4に示すように、ソフトウェアパッケージのパッケージ名、検証情報ID、検証対象のファイルのファイルパスまたはディレクトリパス情報、当該ファイルのhash値(ハッシュ値)、存在必須属性等を含む。また、検証情報は、図4に示すように、構成確認対象属性、アクセス元許可リスト等を含んでいてもよい。
存在必須属性は、検証情報のファイルパス/ディレクトリパス情報に示されるファイルが、当該ソフトウェアパッケージのインストールされる機器において必須のファイルか否かを示す属性情報である。
また、構成確認対象属性は、検証情報のファイルパス/ディレクトリパス情報に示されるファイルが、構成確認の対象であるか否かを示す属性情報である。
さらに、アクセス元許可リストは、検証情報のファイルパス/ディレクトリパス情報に示されるファイルに対し、アクセスが許可されるプログラムの実行ファイルパスを示す情報である。
上記の存在必須属性、構成確認対象属性、アクセス元許可リストの情報は、例えば、利用者端末から入力された情報である。
署名付き検証情報リスト格納部122は、署名付き検証情報のリスト(図5参照)を格納する。この署名付き検証情報のリストは、ソフトウェアパッケージがインストールされる機器のユーザ署名とユーザ署名の公開鍵証明書とを付与した検証情報のリストである。例えば、署名付き検証情報のリスト(図5参照)は、図4に示す検証情報それぞれに、検証情報IDを、パッケージ名+検証情報ID+検証情報が格納される機器の識別情報をパッケージIDとして置き換えた情報に対して、検証情報が格納される検証装置20のユーザ署名とユーザ署名の公開鍵証明書とを付与したものである。
動的解析ルール格納部123は、ソフトウェアパッケージごとに、当該ソフトウェアパッケージの検証情報の作成に用いる動的解析の方法を示した情報(動的解析ルール)を格納する。
動的解析ルールは、例えば、以下のようなものである。すなわち、第1の解析部1121が、tarファイルに対し動的解析を行う際には、まず、tarファイルについて、当該tarファイルに含まれるconfig.niceまたはconfig.statusに基づき、ソフトウェアのインストールディレクトリを特定する。次に、第1の解析部1121は、特定したインストールディレクトリに格納される各ファイルの種類に基づき、各ファイルが実体のあるファイルか否かを判定する。そして、第1の解析部1121は、実体があると判定したファイルについて、ハッシュ値を取ることができるファイルとして特定し、当該ファイルのファイルパスと、当該ファイルのハッシュ値とを取得するといったものである。
[処理手順]
次に、図6を用いて検証情報作成装置10の処理手順の例を説明する。例えば、検証情報作成装置10が、利用者端末等から、ソフトウェアパッケージの検証情報を作成する旨の入力を受け付けると以下の処理を実行する。
まず、検証情報作成装置10の第1の解析部1121は、検証情報の作成対象のソフトウェアパッケージを機器にインストールし(S111)、当該ソフトウェアパッケージの動的解析ルールに基づき、当該ソフトウェアパッケージの動的解析を実行する(S112)。その後、第1の検証情報作成部1122は、第1の解析部1121による当該ソフトウェアパッケージの解析結果に基づき、当該ソフトウェアパッケージの検証情報を作成する(S113)。そして、第1の検証情報作成部1122は、S113で作成した検証情報を検証情報リスト格納部121に格納する。
その後、処理受付部111が、利用者端末等から検証情報の修正入力を受け付けた場合(S114でYes)、検証情報を修正し(S115)、再度S111以降の処理を実行する。一方、処理受付部111が検証情報の修正入力を受け付けなかった場合(S114でNo)、署名付与部113は、検証情報リスト格納部121に格納される検証情報にユーザ署名とユーザ署名の公開鍵証明書とを付与し、署名付き検証情報リスト格納部122に格納する(S116:検証情報の署名付与)。
図7を用いて、S112の解析処理を詳細に説明する。まず、第1の解析部1121は、当該ソフトウェアパッケージの動的解析ルールに基づき、当該ソフトウェアパッケージのソフトウェアのインストール先のディレクトリを特定する(S121)。その後、第1の解析部1121は、当該ディレクトリ内の各ファイルの種類を特定する(S122)。ここで、第1の解析部1121が、当該ディレクトリ内の各ファイルの種類に基づき、実体のあるファイルと判定した(S123でYes)ファイルについて、第1の解析部1121は、当該ソフトウェアパッケージのソフトウェアのインストール先の機器から、パッケージ名、検証情報ID、当該ファイルのファイルパス、当該ファイルのハッシュ値を取得する(S124:パッケージ名、検証情報ID、ファイルパス、ハッシュ値を取得)。一方、第1の解析部1121が、当該ディレクトリ内の各ファイルの種類に基づき、実体のあるファイルではないと判定した(S123でNo)ファイルは、S124の処理は行わない。
このようにすることで検証情報作成装置10は、ソフトウェアパッケージの動的解析により、当該ソフトウェアパッケージの検証情報を作成することができる。なお、上記の検証情報の作成処理は、例えば、検証情報作成装置10が利用者端末等から、ソフトウェアパッケージの検証情報の作成指示を受け付けた場合に実行してもよいし、既存の検証情報に修正が行われた旨の入力を受け付けた場合に実行してもよい。
[検証処理の例]
次に、検証情報作成装置10により作成された検証情報を用いた検証処理の例を説明する。例えば、図1に示す検証装置20は、検証情報作成装置10から、自身の検証装置20の検証情報を取得し、図8~図11に示す検証処理を実行する。まず、図8を用いて、検証情報におけるhash値を用いた検証処理の例について説明する。検証情報作成装置10で作成された検証情報は、検証装置20に格納される。検証装置20は、ユーザ署名やユーザ署名公開鍵証明書に基づき、受領した検証情報が改ざんされていないことを確認する。検証装置20では、当該検証装置20にインストールされているソフトウェアと検証情報とを比較し、当該検証装置20に合致するものを照合情報として格納する。これがファイルの変更や改ざんのチェックに使われるものとなる。例えば、図5に示す署名付き検証情報リストでは、tomcat-9.0.4とclamav-0.100のソフトウェアパッケージの存在必須属性が「必須でない」と記されている。ここで、検証装置20には、tomcat-9.0.4はインストールされているが、clamav-0.100はインストールされていないとすると、照合情報としては図14に記載された内容が保存されることになる。つまり、検証装置20は、署名付き検証情報リストから、実際には当該検証装置20にインストールされていないソフトウェアのファイルの検証情報を削除した情報を、照合情報として格納する。
[hash値を用いた検証処理]
まず、検証装置20が当該検証装置20内のファイルへのアクセスを検知すると、アクセスを検知したファイルのパスが、照合情報に登録されているパスと一致するか否かを判定する(S11)。ここで、検証装置20が、アクセスを検知したファイルのパスが、照合情報に登録されているパスと一致すると判定し(S11でYes)、かつ、当該照合情報の該当パスにhash値が存在する場合(S12でYes)、アクセスを検知したファイルのhash値が照合情報の該当パスのhash値と一致するか否かを判定する(S13)。
S13で、検証装置20がアクセスを検知したファイルのhash値が照合情報の該当パスのhash値と一致しないと判定した場合(S13でNo)、当該ファイルは改ざんされているため、完全性の判定結果はNGと判定する(S14)。そして、検証装置20は、その判定の結果をログに出力する(S17)。
一方、検証装置20がアクセスを検知したファイルのhash値が照合情報の該当パスのhash値と一致すると判定した場合(S13でYes)、当該ファイルの完全性の判定結果はOK(改ざんされていない)と判定する(S15)。そして、検証装置20は、その判定の結果をログに出力する(S17)。
なお、S11で検証装置20がアクセスを検知したファイルのパスが、照合情報に登録されているパスと一致しないと判定した場合(S11でNo)、当該ファイルは保護対象外と判定し(S16)、その判定の結果をログに出力する(S17)。また、検証装置20が当該照合情報の該当パスにhash値が存在しないと判定した場合(S12でNo)も、当該ファイルは保護対象外と判定し(S16)、その判定の結果をログに出力する(S17)。
[不要なファイルの追加の検証処理]
次に、図9を用いて、不要なファイルの追加の検証処理の例について説明する。まず、検証装置20が機器内のファイルへのアクセスを検知すると、アクセスを検知したファイルが、照合情報において構成確認対象のファイルであるか否かを判定する(S21)。ここで、検証装置20が、アクセスを検知したファイルが、照合情報において構成確認対象のファイルであると判定した場合(S21でYes)、アクセスを検知したファイルのパスが照合情報に登録されているディレクトリの配下に存在するか否かを判定する(S22)。
S22で検証装置20がアクセスを検知したファイルのパスが照合情報に登録されているディレクトリの配下に存在すると判定した場合(S22でYes)、S23へ進む。
S23において、検証装置20が、アクセスを検知したファイルのパスが照合情報のディレクトリの直下のファイル名またはディレクトリ名と一致しないと判定した場合(S23でNo)、検証装置20は、意図しないファイルが追加されているため、完全性の判定結果はNGと判定する(S24)。そして、検証装置20は、その判定の結果をログに出力する(S27)。
一方、検証装置20がアクセスを検知したファイルのパスが照合情報の構成確認対象ディレクトリの直下のファイル名またはディレクトリ名と一致すると判定した場合(S23でYes)、当該ファイルの完全性の判定結果はOK(不要なファイルが追加されていない)と判定する(S25)。そして、検証装置20は、その判定の結果をログに出力する(S27)。
なお、S21で検証装置20がアクセスを検知したファイルが、照合情報において構成確認対象のファイルではない場合(S21でNo)、当該ファイルは保護対象外と判定し(S26)、その判定の結果をログに出力する(S27)。
また、S22で検証装置20がアクセスを検知したファイルのパスが照合情報に登録されている構成確認対象ディレクトリの配下に存在しないと判定した場合(S22でNo)も、当該ファイルは保護対象外と判定し(S26)、その判定の結果をログに出力する(S27)。
[必須構成のファイルの削除の検証処理]
次に、図10を用いて、必須構成のファイルの削除の検証処理の例について説明する。まず検証装置20が機器内のファイルへのアクセスを検知し、アクセスを検知したファイルが、照合情報において構成確認対象のファイルである場合(S31でYes)、アクセスを検知したファイルが照合情報に登録されているディレクトリの配下に存在するか否かを判定する(S32)。
S32で検証装置20がアクセスを検知したファイルが照合情報に登録されているディレクトリの配下に存在すると判定した場合(S32でYes)、当該ファイルの完全性の判定結果はOK(ファイルが削除されていない)と判定する(S34)。そして、検証装置20は、その判定の結果をログに出力する(S36)。
一方、検証装置20がアクセスを検知したファイルが照合情報に登録されているディレクトリの配下に存在しないと判定した場合(S32でNo)、当該ファイルは削除されているため完全性の判定結果はNGと判定する(S33)。そして、検証装置20は、その判定の結果をログに出力する(S36)。
なお、S31で検証装置20がアクセスを検知したファイルのパスが構成確認対象のファイルではない場合も(S31でNo)、当該ファイルは保護対象外と判定し(S35)、その判定の結果をログに出力する(S36)。
[アクセス元の検証処理]
次に、図11を用いて、アクセス元の検証処理の例について説明する。まず、検証装置20が機器内のファイルへのアクセスを検知し、アクセスを検知したファイルのパスが、照合情報に登録されているパスと一致する場合(S41でYes)、照合情報の該当パスにアクセス元許可リストが設定されているか否かを判定する(S42)。
S42で検証装置20がアクセスを検知したファイルが照合情報の該当パスにアクセス元許可リストが設定されていると判定した場合(S42でYes)、アクセスを検知したファイルのアクセス元プロセスパスが、照合情報の該当パスのアクセス元許可リストに記載のパスと一致するか否かを判定する(S43)。
S43で検証装置20がアクセスを検知したファイルのアクセス元プロセスパスが、照合情報の該当パスのアクセス元許可リストに記載のパスと一致しないと判定した場合(S43でNo)、当該アクセス元は許可されていないため、完全性の判定結果はNGと判定する(S47)。そして、検証装置20は、その判定の結果をログに出力する(S49)。
一方、S43で検証装置20がアクセスを検知したファイルのアクセス元プロセスパスが、照合情報の該当パスのアクセス元許可リストに記載のパスと一致すると判定した場合(S43でYes)、アクセスを検知したファイルのアクセス元プロセスのhash値の確認を行う(S44)。そして、検証装置20が、アクセスを検知したファイルのアクセス元プロセスのhash値の確認結果がOKでなければ(S44でNo)、当該ファイルは改ざんされているため完全性の判定結果はNGと判定する(S45)。そして、検証装置20は、その判定の結果をログに出力する(S49)。
一方、S44で、検証装置20が、アクセスを検知したファイルのアクセス元プロセスのhash値の確認結果がOKであれば(S44でYes)、当該ファイルの完全性の判定結果はOKと判定する(S46)。そして、検証装置20は、その判定の結果をログに出力する(S49)。
なお、S41で検証装置20がアクセスを検知したファイルが、照合情報に登録されているパスと一致しない場合(S41でNo)、当該ファイルは保護対象外と判定し(S48)、その判定の結果をログに出力する(S49)。
また、S42で検証装置20がアクセスを検知したファイルが照合情報の該当パスにアクセス元許可リストが設定されていないと判定した場合(S42でNo)も、当該ファイルは保護対象外と判定し(S48)、その判定の結果をログに出力する(S49)。
このようにすることで、検証装置20は、検証情報作成装置10により作成された検証情報に基づき、当該検証装置20にインストールされるソフトウェアのファイルに合わせて修正した照合情報を用いて各種検証処理を行うことができる。
なお、上記の検証処理は、例えば、検証情報作成装置10が行ってもよい。
[第2の実施形態]
ソフトウェアパッケージの中には、ソフトウェアのインストール先のディレクトリが予め指定されているものがある。例えば、Linux(登録商標)のrpmパッケージ、debパッケージには、インストール先のディレクトリが予め指定されている。よって、検証情報作成装置10は、上記のrpmパッケージ、debパッケージ等については、機器にインストールしなくても、ソフトウェアパッケージ自体を解析することで、ソフトウェアのインストール先を特定することができる。以下、上記のようなソフトウェアパッケージの解析を静的解析と呼ぶ。
なお、rpmパッケージとはレッドハット社が開発したソフトウェアのパッケージを管理するためのシステムである。debパッケージは、DebianやUbuntuなど、Linux(登録商標)で用いられるバイナリのパッケージである。
例えば、rpmパッケージの場合、設定まで完了した後に、以下に示すように、rpmコマンドを実行することで、様々な情報を取得することができる。
Figure 0007222428000002
つまり、検証情報作成装置10は、rpmコマンドを実行することで、rpmパッケージから、パッケージ名、パッケージに梱包されているファイル名、ファイルモード、ファイルタイプ(d:ディレクトリ/c:キャラクタデバイス/s:ソケット/-:ファイル)、パーミッション(r:ファイルやディレクトリの読み出し可/w:ファイルやディレクトリの書き込み可/x:ファイルの実行可)、ドキュメントまたはコンフィグファイルとフラグが付けられたファイルか否か、ハッシュ値(MD5)、各々のファイルに対する検証フラグの数値等を取得することができる。
検証情報作成装置10は、例えば、rpmパッケージに対し、上記のrpmコマンドを実行することにより、上記の各情報を取得することができる。
ここで、パッケージに含まれるファイルのうち、ファイルの検証時にハッシュ確認を行うものは、ファイルの書き換えが発生しないバイナリファイルであると見なせる。よって、検証情報作成装置は、上記の%{fileverifyflags:hex}の値(0x********)と0x00000001の論理積を取った値が1となるファイルを、検証情報として用いるファイルとする。
また、パッケージに含まれるファイルのうち、コンフィグファイルで、かつ、書き込み不可となっているものは、一度設定したら変更は発生しないと見なせる。よって、検証情報作成装置は、%{fileflags}の値を参照し、コンフィグファイルで、かつ、書き込み不可となっているファイルについても検証情報として用いるファイルとする。
検証情報作成装置10が、上記の処理を行うことで、例えば、図4に示す検証情報を作成する。すなわち、検証情報作成装置10は、例えば、図4に示す、検証情報の作成対象のソフトウェアパッケージのパッケージ名、検証情報ID、当該機器における検証対象のファイルのファイルパスまたはディレクトリパス情報、当該ファイルのハッシュ値、存在必須属性等を含む検証情報を作成する。
なお、debパッケージの場合は、インストール後に各パッケージに含まれるファイルのファイルパスとハッシュ値(MD5)は、以下のコマンドで取得できる。よって、検証情報作成装置は、以下のコマンドで取得した検証情報として使用すればよい。
# dlocate --md5sum パッケージ名
そこで、検証情報作成装置10は、検証情報の作成対象のソフトウェアパッケージが、静的解析により検証情報を作成できるソフトウェアパッケージであれば、静的解析により検証情報を作成し、静的解析により検証情報を作成できないソフトウェアパッケージであれば、動的解析により検証情報を作成してもよい。上記の検証情報作成装置10を第2の実施形態の検証情報作成装置10として説明する。第1の実施形態と同じ構成は同じ符号を付して説明を省略する。
第2の実施形態における検証情報作成装置10は、図1の破線で示す、判定部114と、静的解析処理部115と、静的解析ルール格納部124とをさらに備える。
判定部114は、検証情報の作成対象となるソフトウェアパッケージが、静的解析の対象となるソフトウェアパッケージか否かを判定する。例えば、判定部114は、検証情報の作成対象となるソフトウェアパッケージが、rpmパッケージまたはdebパッケージであれば、当該ソフトウェアパッケージを静的解析の対象となるソフトウェアパッケージと判定する。一方、検証情報の作成対象となるソフトウェアパッケージが、rpmパッケージでもなくdebパッケージでもなければ、判定部114は当該ソフトウェアパッケージを動的解析の対象となるソフトウェアパッケージと判定する。
静的解析処理部115は、ソフトウェアパッケージに対し、静的解析を行い、その解析結果を用いて検証情報を作成する。この静的解析処理部115は、第2の解析部(第2の取得部)1151と、第2の検証情報作成部1152とを備える。
第2の解析部1151は、静的解析ルール格納部124から、検証情報の作成対象のソフトウェアパッケージについて当該ソフトウェアパッケージに対し静的解析を行うためのルールを読み出す。そして、第2の解析部1151は、読み出したルールに従い、当該ソフトウェアパッケージに含まれるファイルから、日々の運用において変更される可能性が低いファイルの情報を取得する。
例えば、第2の解析部1151は、所定のコマンドを実行することにより、ソフトウェアに含まれるファイルのうち、検証時にハッシュ値を用いた確認を行うファイル(例えば、バイナリファイル)のファイルパスおよび当該ファイルのハッシュ値と、書き換え不可のコンフィグファイルのファイルパスとを取得する。また、第2の解析部1151は、当該ソフトウェアパッケージのパッケージ名、検証情報ID(例えばシリアル番号)も取得する。
第2の検証情報作成部1152は、第2の解析部1151によるソフトウェアパッケージの解析により取得された情報をもとに、当該ソフトウェアパッケージの検証情報を作成する。例えば、第2の検証情報作成部1152は、第2の解析部1151によるソフトウェアパッケージの静的解析により取得された情報をもとに、当該ソフトウェアパッケージのパッケージ名、検証情報ID、検証対象のファイルのファイルパスまたはディレクトリパス情報、当該ファイルのハッシュ値、存在必須属性等を示した検証情報(図4参照)を作成する。その後、第2の検証情報作成部1152は、作成した検証情報を検証情報リスト格納部121に格納し、検証情報の作成が完了したことを利用者端末に返す。
静的解析ルール格納部124は、ソフトウェアパッケージごとに、当該ソフトウェアパッケージに対し静的解析を行うやり方を示した情報(静的解析ルール)を格納する。例えば、静的解析ルールは、rpmパッケージに対して、rpmコマンドを実行し、ファイルの検証時にハッシュ確認を行うバイナリファイルの情報を取得し、コンフィグファイルで、かつ、書き込み不可となっているファイルの情報を取得するといったものである。
[処理手順]
次に、図12を用いて第2の実施形態の検証情報作成装置10の処理手順の例を説明する。例えば、検証情報作成装置10が、利用者端末等から、ソフトウェアパッケージの検証情報を作成する旨の入力を受け付けると以下の処理を実行する。
まず、検証情報作成装置10の判定部114は、検証情報の作成対象のソフトウェアパッケージが静的解析の対象のパッケージソフトウェアか否かを判定する(S130)。ここで、判定部114が検証情報の作成対象のソフトウェアパッケージが静的解析の対象のパッケージソフトウェアであると判定した場合(S130でYes)、検証情報作成装置10はソフトウェアパッケージを取得する(S131)。そして、第2の解析部1151は、当該ソフトウェアパッケージの静的解析ルールに基づき、当該ソフトウェアパッケージの解析を実行する(S132)。
その後、第2の検証情報作成部1152は、第2の解析部1151による当該ソフトウェアパッケージの解析結果に基づき、当該ソフトウェアパッケージの検証情報を作成する(S133)。そして、第2の検証情報作成部1152は、S133で作成した検証情報を検証情報リスト格納部121に格納する。その後、処理受付部111が検証情報の修正入力を受け付けた場合(S144でYes)、検証情報を適切な内容に修正し(S145)、S141へ進む。
一方、S144において、処理受付部111が検証情報の修正入力を受け付けなかった場合(S144でNo)、署名付与部113は、検証情報リスト格納部121に格納される検証情報のユーザ署名とユーザ署名の公開鍵証明書とを付与し、署名付き検証情報リスト格納部122に格納する(S146:検証情報の署名付与)。
また、S130において、判定部114が検証情報の作成対象のソフトウェアパッケージが静的解析の対象のパッケージソフトウェアではないと判定した場合(S130でNo)、検証情報作成装置10は、検証情報の作成対象のソフトウェアパッケージを機器にインストールする(S141)。そして、第1の解析部1121は、当該ソフトウェアパッケージの動的解析ルールに基づき、当該ソフトウェアパッケージの動的解析を実行する(S142)。その後、第1の検証情報作成部1122は、第1の解析部1121による当該ソフトウェアパッケージの解析結果に基づき、当該ソフトウェアパッケージの検証情報を作成する(S143)。そして、S144へ進む。
このようにすることで検証情報作成装置10は、静的解析により検証情報を作成することができるソフトウェアパッケージについては静的解析により検証情報を作成することができる。
その後、例えば、検証装置20は、上記の検証情報を用いて、第1の実施形態と同様にソフトウェアパッケージの検証処理を行う。
[プログラム]
また、上記の実施形態で述べた検証情報作成装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を検証情報作成装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、検証情報作成装置10を、クラウドサーバに実装してもよい。
図13を用いて、上記のプログラム(検証情報作成プログラム)を実行するコンピュータの一例を説明する。図13に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図13に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明したデータ格納部は、例えばハードディスクドライブ1090やメモリ1010に装備される。
そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、上記の検証情報作成プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 検証情報作成装置
20 検証装置
11 データ処理部
12 データ格納部
111 処理受付部
112 動的解析処理部
113 署名付与部
114 判定部
115 静的解析処理部
121 検証情報リスト格納部
122 署名付き検証情報リスト格納部
123 動的解析ルール格納部
124 静的解析ルール格納部
1121 第1の解析部
1122 第1の検証情報作成部
1151 第2の解析部
1152 第2の検証情報作成部

Claims (7)

  1. 検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアであるか否かを判定する判定部と、
    前記検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアではないと判定された場合、前記検証対象のソフトウェアを機器にインストールし、前記機器から前記ソフトウェアのインストール先のディレクトリを取得し、前記取得したディレクトリに格納されるファイルの種類に基づき、ハッシュ値を取得可能なファイルを特定し、前記ハッシュ値を取得可能なファイルのファイルパスおよび前記ファイルのハッシュ値を取得する第1の取得部と、
    前記第1の取得部により取得されたファイルのファイルパスおよび前記ファイルのハッシュ値を含む、前記ソフトウェアの検証に用いる検証情報を作成する第1の検証情報作成部と、
    前記検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアであると判定された場合、前記ソフトウェアのソフトウェアパッケージに対し所定のコマンドを実行することにより、前記ソフトウェアパッケージに含まれるファイルのうち、当該ファイルの検証時にハッシュ値を用いて確認を行うファイルのファイルパスおよび前記ファイルのハッシュ値を取得する第2の取得部と、
    前記第2の取得部により取得されたファイルパスおよび前記ファイルのハッシュ値を含む前記ソフトウェアパッケージの検証情報を作成する第2の検証情報作成部と、
    を備えることを特徴とする検証情報作成システム。
  2. 前記第1の取得部は、
    前記ハッシュ値を取得可能なファイルがテキストファイルである場合、前記機器において前記ソフトウェアの設定変更の実施後に前記テキストファイルのハッシュ値を取得すること
    を特徴する請求項1に記載の検証情報作成システム。
  3. 前記ソフトウェアが、tarファイルによりインストールされるソフトウェアである場合、前記第1の取得部は、前記機器において前記tarファイルを展開したディレクトリに保存されるconfig.niceまたはconfig.statusから、前記ソフトウェアのインストール先のディレクトリを取得する
    ことを特徴とする請求項1に記載の検証情報作成システム。
  4. 前記検証情報の作成後、前記検証情報が変更された場合、前記第1の取得部は、再度、前記ソフトウェアを機器にインストールし、前記ハッシュ値を取得可能なファイルのファイルパスおよび前記ファイルのハッシュ値を取得し、
    前記第1の検証情報作成部は、前記第1の取得部により取得されたファイルのファイルパスおよび前記ファイルのハッシュ値を含む、前記ソフトウェアの検証情報を作成する
    ことを特徴とする請求項1~請求項のいずれか1項に記載の検証情報作成システム。
  5. 前記検証情報に、前記ソフトウェアがインストールされた機器のユーザのユーザ署名と、前記ユーザの公開鍵証明書とを付与する署名付与部
    をさらに備えることを特徴とする請求項1に記載の検証情報作成システム。
  6. 検証情報作成システムにより実行される検証情報作成方法であって、
    検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアであるか否かを判定する工程と、
    前記検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアではないと判定した場合、前記検証対象のソフトウェアを機器にインストールし、前記機器から前記ソフトウェアのインストール先のディレクトリを取得し、前記取得したディレクトリに格納されるファイルの種類に基づき、ハッシュ値を取得可能なファイルを特定し、前記ハッシュ値を取得可能なファイルのファイルパスおよび前記ファイルのハッシュ値を取得する工程と、
    前記取得したファイルのファイルパスおよび前記ファイルのハッシュ値を含む、前記ソフトウェアの検証に用いる検証情報を作成する工程と、
    前記検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアであると判定した場合、前記ソフトウェアのソフトウェアパッケージに対し所定のコマンドを実行することにより、前記ソフトウェアパッケージに含まれるファイルのうち、当該ファイルの検証時にハッシュ値を用いて確認を行うファイルのファイルパスおよび前記ファイルのハッシュ値を取得する工程と、
    前記取得したファイルパスおよび前記ファイルのハッシュ値を含む前記ソフトウェアパッケージの検証情報を作成する工程と、
    を含むことを特徴とする検証情報作成方法。
  7. 検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアであるか否かを判定するステップと、
    前記検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアではないと判定した場合、前記検証対象のソフトウェアを機器にインストールし、前記機器から前記ソフトウェアのインストール先のディレクトリを取得し、前記取得したディレクトリに格納されるファイルの種類に基づき、ハッシュ値を取得可能なファイルを特定し、前記ハッシュ値を取得可能なファイルのファイルパスおよび前記ファイルのハッシュ値を取得するステップと、
    前記取得したファイルのファイルパスおよび前記ファイルのハッシュ値を含む、前記ソフトウェアの検証に用いる検証情報を作成するステップと、
    前記検証対象のソフトウェアが、rpmパッケージまたはdebパッケージのソフトウェアであると判定した場合、前記ソフトウェアのソフトウェアパッケージに対し所定のコマンドを実行することにより、前記ソフトウェアパッケージに含まれるファイルのうち、当該ファイルの検証時にハッシュ値を用いて確認を行うファイルのファイルパスおよび前記ファイルのハッシュ値を取得するステップと、
    前記取得したファイルパスおよび前記ファイルのハッシュ値を含む前記ソフトウェアパッケージの検証情報を作成するステップと、
    をコンピュータに実行させることを特徴とする検証情報作成プログラム。
JP2021534472A 2019-07-23 2019-07-23 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム Active JP7222428B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/028922 WO2021014596A1 (ja) 2019-07-23 2019-07-23 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム

Publications (2)

Publication Number Publication Date
JPWO2021014596A1 JPWO2021014596A1 (ja) 2021-01-28
JP7222428B2 true JP7222428B2 (ja) 2023-02-15

Family

ID=74193572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021534472A Active JP7222428B2 (ja) 2019-07-23 2019-07-23 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム

Country Status (6)

Country Link
US (1) US20220292224A1 (ja)
EP (1) EP3989095B1 (ja)
JP (1) JP7222428B2 (ja)
CN (1) CN114175034A (ja)
AU (1) AU2019458656B2 (ja)
WO (1) WO2021014596A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2021449745A1 (en) 2021-06-10 2023-12-14 Nippon Telegraph And Telephone Corporation Monitoring device, monitoring method, and monitoring program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019008376A (ja) 2017-06-20 2019-01-17 日本電信電話株式会社 ファイル管理装置及びファイル管理方法
JP2019008738A (ja) 2017-06-28 2019-01-17 日本電信電話株式会社 検証装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100062844A1 (en) * 2003-03-05 2010-03-11 Bally Gaming, Inc. Authentication and validation systems for gaming devices
US10110594B2 (en) * 2013-09-04 2018-10-23 Hewlett-Packard Development Company, L.P. Header section download of package
US10284374B2 (en) * 2015-06-10 2019-05-07 Arris Enterprises Llc Code signing system with machine to machine interaction
US11128444B2 (en) * 2016-06-30 2021-09-21 Intel Corporation Technologies for serializable binary data distribution
CN106485139B (zh) * 2016-09-29 2019-06-04 商客通尚景科技(上海)股份有限公司 一种应用程序的安全验证方法
JP6753819B2 (ja) 2017-06-20 2020-09-09 日本電信電話株式会社 照合情報生成装置、管理システム及び照合情報生成方法
CN110059475A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于数据保护的方法、设备和计算机程序产品
US11438139B2 (en) * 2018-02-07 2022-09-06 Raouf Boutaba Blockchain based secure naming and update verification
CN111046436A (zh) * 2018-10-11 2020-04-21 中国人民解放军战略支援部队航天工程大学 基于系统级包管理的签名认证方法及服务器
JP7056514B2 (ja) * 2018-10-30 2022-04-19 日本電信電話株式会社 管理システム、取得装置及び管理方法
AU2019457782B2 (en) * 2019-07-23 2023-08-10 Nippon Telegraph And Telephone Corporation Verifying information creating system, verifying information creating method, and verifying information creating program
US20230015273A1 (en) * 2019-12-17 2023-01-19 Nippon Telegraph And Telephone Corporation Verification information revising device, verification information revising method, and verification information revising program
US20220207142A1 (en) * 2020-12-30 2022-06-30 Virsec Systems, Inc. Zero Dwell Time Process Library and Script Monitoring
US20240129194A1 (en) * 2021-03-25 2024-04-18 Intel Corporation Multiradio interface data model and radio application package container format for reconfigurable radio systems
CN114444027A (zh) * 2021-12-27 2022-05-06 北京升明科技有限公司 软件签名植入方法、验证方法、装置、电子设备及介质
CN116340932A (zh) * 2023-03-29 2023-06-27 北京科银京成技术有限公司 具有隔离功能的应用程序包生成方法、管理方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019008376A (ja) 2017-06-20 2019-01-17 日本電信電話株式会社 ファイル管理装置及びファイル管理方法
JP2019008738A (ja) 2017-06-28 2019-01-17 日本電信電話株式会社 検証装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
西村 めぐみ,パッケージ管理の全テクニック! rpm/deb/tgzを使いこなす,Linux WORLD,日本,2001年09月01日,第5巻、第9号,pp.107-123

Also Published As

Publication number Publication date
EP3989095A1 (en) 2022-04-27
WO2021014596A1 (ja) 2021-01-28
EP3989095B1 (en) 2023-10-11
AU2019458656A1 (en) 2022-02-24
EP3989095A4 (en) 2022-12-21
CN114175034A (zh) 2022-03-11
US20220292224A1 (en) 2022-09-15
JPWO2021014596A1 (ja) 2021-01-28
AU2019458656B2 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
CN102521081B (zh) 修复遭破坏的软件
US11385890B2 (en) Shared software libraries for computing devices
JP4263476B2 (ja) ハッシュによるアセンブリの完全性の確認のための方法、コンピュータ可読媒体及びプログラム
US10885201B2 (en) Apparatus for quantifying security of open-source software package, and apparatus and method for optimizing open-source software package
KR100965706B1 (ko) 코드 재기입이 가능한 컴퓨터 장치 및 코드 재기입 방법
US11704115B2 (en) Software pipeline configuration
US20120324446A1 (en) Virtual machine image composition and signing
JP2007200102A (ja) 不正コードおよび不正データのチェックシステム、プログラムおよび方法
US11645245B2 (en) Container software discovery and cataloging
US20220198003A1 (en) Detecting added functionality in open source package
US20120296878A1 (en) File set consistency verification system, file set consistency verification method, and file set consistency verification program
CN111008034B (zh) 一种补丁生成方法及装置
AU2019371545B2 (en) Management system, acquisition device and management method
JP7222428B2 (ja) 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
JP7315028B2 (ja) 検証情報修正装置、検証情報修正方法、および、検証情報修正プログラム
JP7184198B2 (ja) 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
US9946853B1 (en) Techniques for application code obfuscation
KR20190020999A (ko) 악성프로그램 처리장치 및 처리방법
WO2022038407A1 (en) Remote compiling and signing kernel modules
CN112346712A (zh) 系统客制化方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230117

R150 Certificate of patent or registration of utility model

Ref document number: 7222428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150