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

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

Info

Publication number
JP7184198B2
JP7184198B2 JP2021534471A JP2021534471A JP7184198B2 JP 7184198 B2 JP7184198 B2 JP 7184198B2 JP 2021534471 A JP2021534471 A JP 2021534471A JP 2021534471 A JP2021534471 A JP 2021534471A JP 7184198 B2 JP7184198 B2 JP 7184198B2
Authority
JP
Japan
Prior art keywords
file
verification information
verification
information
hash value
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
JP2021534471A
Other languages
English (en)
Other versions
JPWO2021014595A1 (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 JPWO2021014595A1 publication Critical patent/JPWO2021014595A1/ja
Application granted granted Critical
Publication of JP7184198B2 publication Critical patent/JP7184198B2/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (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は、検証情報作成システムの構成例を示す図である。 図2は、検証情報リストの例を示す図である。 図3は、署名付き検証情報リストの例を示す図である。 図4は、図1の検証情報作成装置の処理手順の例を示すフローチャートである。 図5は、照合情報におけるhash値を用いた検証処理の例を示すフローチャートである。 図6は、照合情報を用いた、不要なファイルの追加の検証処理の例を示すフローチャートである。 図7は、照合情報を用いた、必須構成のファイルの削除の検証処理の例を示すフローチャートである。 図8は、照合情報を用いた、アクセス元の検証処理の例を示すフローチャートである。 図9は、検証情報作成プログラムを実行するコンピュータの例を示す図である。 図10は、照合情報リストの例を示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は、以下に説明する実施形態に限定されない。なお、以下に説明する検証情報は、機器にインストールされたソフトウェアに関連するファイルに変更や改ざんが行われていないかを検証するための基礎となる情報であり、実際にファイルの変更や改ざんが行われていないかを検証する機器に合わせて修正されたものを照合情報と定義する。
[概要]
本実施形態の検証情報作成装置(検証情報作成システム)は、例えば、検証装置にインストールされるソフトウェアの検証情報を作成するため、当該ソフトウェアのソフトウェアパッケージに含まれる情報の解析結果を用いる。
例えば、Linux(登録商標)では、rpmパッケージ、debパッケージといったプログラムの配布形式がある。これらのパッケージには、インストール先のディレクトリが指定されているため、ユーザはコマンドを実行するだけでソフトウェアをインストールできる仕組みになっている。
なお、rpmパッケージとはレッドハット社が開発したソフトウェアのパッケージを管理するためのシステムである。debパッケージは、例えば、DebianやUbuntuなど、Linuxで用いられるバイナリのパッケージである。
例えば、rpmパッケージの場合、設定まで完了した後に、以下に示すように、rpmコマンドを実行することで、様々な情報を取得することができる。
Figure 0007184198000001
つまり、rpmコマンドを実行することで、rpmパッケージから、パッケージ名、パッケージに梱包されているファイル名、ファイルモード、ファイルタイプ(d:ディレクトリ/c:キャラクタデバイス/s:ソケット/-:ファイル)、パーミッション(r:ファイルやディレクトリの読み出し可/w:ファイルやディレクトリの書き込み可/x:ファイルの実行可)、ドキュメントまたはコンフィグファイルとフラグが付けられたファイルか否か、ハッシュ値(MD5)、各々のファイルに対する検証フラグの数値等を取得することができる。
検証情報作成装置は、例えば、rpmパッケージに対し、上記のrpmコマンドを実行することにより、上記の各情報を取得することができる。
ここで、パッケージに含まれるファイルのうち、ファイルの検証時にハッシュ確認を行うものは、ファイルの書き換えが発生しないバイナリファイルであると見なせる。よって、検証情報作成装置は、上記の%{fileverifyflags:hex}の値(0x********)と0x00000001の論理積を取った値が1となるファイルを、検証情報として用いるファイルとする。
また、パッケージに含まれるファイルのうち、コンフィグファイルで、かつ、書き込み不可となっているものは、一度設定したら変更は発生しないと見なせる。よって、検証情報作成装置は、%{fileflags}の値を参照し、コンフィグファイルで、かつ、書き込み不可となっているファイルについても検証情報として用いるファイルとする。
検証情報作成装置が、上記の処理を行うことで、例えば、図2に示す検証情報を作成する。すなわち、検証情報作成装置は、例えば、図2に示す、検証情報の作成対象のソフトウェアパッケージのパッケージ名、パッケージ文字列(ソフトウェアパッケージのパッケージ名+当該ソフトウェアパッケージがインストールされる機器の識別情報)、当該機器における検証対象のファイルのファイルパスまたはディレクトリパス情報、当該ファイルのハッシュ値、存在必須属性等を含む検証情報を作成する。
なお、debパッケージの場合は、インストール後に各パッケージに含まれるファイルのファイルパスとハッシュ値(MD5)は、以下のコマンドで取得できる。よって、検証情報作成装置は、以下のコマンドで取得した検証情報として使用すればよい。
# dlocate --md5sum パッケージ名
このように検証情報作成装置は、ソフトウェアパッケージを解析し、当該ソフトウェアパッケージに含まれるファイルのうち、日々の運用において変更される可能性の低いファイルの情報を用いて検証情報を作成する。これにより、当該検証情報を用いて自身の検証装置にインストールされたソフトウェアの検証を行う検証装置は、ソフトウェアがインストールされた後、日々の運用において当該ソフトウェアに関連するファイルが変更されたとしても当該ソフトウェアの完全性の確認(検証)を行うことができる。
[構成]
次に、図1を用いて、検証情報作成システムの構成例を説明する。検証情報作成システムは、例えば、ソフトウェアパッケージのソフトウェアの検証情報を作成する検証情報作成装置10と、当該検証情報を用いて自身の検証装置20にインストールされたソフトウェアの検証処理を行う検証装置20とを備える。
検証情報作成装置10は、データ処理部11と、データ格納部12とを備える。検証情報作成装置10は、例えば、インターネット等のネットワーク経由で、利用者端末に接続される。
データ処理部11は、処理受付部111と、解析処理部112と、署名付与部115とを備える。データ格納部12は、検証情報リスト格納部121と、署名付き検証情報リスト格納部122と、解析ルール格納部123とを備える。
まず、データ処理部11を構成する各部を説明する。処理受付部111は、利用者端末からソフトウェアパッケージのソフトウェアの検証情報の作成依頼を受け付け、その結果を返す。
解析処理部112は、ソフトウェアパッケージを解析して検証情報を作成する。この解析処理部112は、解析部(取得部)113と検証情報作成部114とを備える。
解析部113は、解析ルール格納部123から、検証情報の作成対象のソフトウェアパッケージについて当該ソフトウェアパッケージを解析するためのルールを読み出す。そして、解析部113は、読み出したルールに従い、当該ソフトウェアパッケージに含まれるファイルから、日々の運用において変更される可能性が低いファイルの情報を取得する。
例えば、解析部113は、所定のコマンドを実行することにより、ソフトウェアパッケージに含まれるファイルのうち、検証時にハッシュ値を用いた確認を行うファイル(例えば、バイナリファイル)のファイルパスおよび当該ファイルのハッシュ値と、書き換え不可のコンフィグファイルのファイルパスとを取得する。また、解析部113は、当該ソフトウェアパッケージのパッケージ名、検証情報ID(例えばシリアル番号)も取得する。
検証情報作成部114は、解析部113によるソフトウェアパッケージの解析により取得された情報をもとに、当該ソフトウェアパッケージのソフトウェアの検証情報を作成する。例えば、検証情報作成部114は、解析部113によるソフトウェアパッケージの解析により取得された情報をもとに、当該ソフトウェアパッケージのパッケージ名、検証情報ID、検証対象のファイルのファイルパスまたはディレクトリパス情報、当該ファイルのハッシュ値、存在必須属性等を示した検証情報(図2参照)を作成する。その後、検証情報作成部114は、作成した検証情報を検証情報リスト格納部121に格納し、検証情報の作成が完了したことを利用者端末に返す。
なお、処理受付部111が利用者端末経由で検証情報の読み出し指示を受け付けた場合、処理受付部111は、検証情報リスト格納部121から読み出し指示の対象の検証情報を読み出し、利用者端末へ送信する。その後、処理受付部111が、利用者端末から当該検証情報の修正を受け付けると、修正を反映した検証情報を検証情報リスト格納部121に格納する。
例えば、処理受付部111が、利用者端末から、検証情報に、当該検証情報におけるアクセス元許可リスト(図2参照)に許可されるアクセス元(アクセス許可されるプログラムの実行ファイルパス)を追加する旨の指示を受け付けると、当該指示に基づき修正した検証情報を検証情報リスト格納部121に格納する。
なお、処理受付部111は、外部装置(例えば、利用者端末)から送信された検証情報を検証情報リスト格納部121に格納してもよい。
署名付与部115は、検証情報にユーザ署名の公開鍵証明書を付与する。例えば、署名付与部115が、利用者端末から検証情報に署名の付与依頼を受け付けると、処理受付部111は、検証情報リスト格納部121から該当する検証情報を選択し、署名付与部115に検証情報を渡す。そして、署名付与部115は、当該検証情報のうち、検証情報IDをパッケージID(パッケージ名+検証情報ID+検証情報が格納される機器の識別情報)として置き換えた情報に対して、検証情報が格納される機器のユーザ署名とユーザ署名の公開鍵証明書とを付与した検証情報(図3参照)を署名付き検証情報リスト格納部122に格納する。
次に、データ格納部12の各部を説明する。データ格納部12の検証情報リスト格納部121は、検証情報のリスト(検証情報リスト)を格納する。検証情報は、例えば、図2に示すように、ソフトウェアパッケージのパッケージ名、パッケージ文字列、検証対象のファイルのファイルパスまたはディレクトリパス情報、当該ファイルのhash値(ハッシュ値)、存在必須属性等を含む。また、検証情報は、図2に示すように、構成確認対象属性、アクセス元許可リスト等を含んでいてもよい。
存在必須属性は、検証情報のファイルパス/ディレクトリパス情報に示されるファイルが、当該ソフトウェアパッケージのインストールされる機器において必須のファイルか否かを示す属性情報である。
また、構成確認対象属性は、検証情報のファイルパス/ディレクトリパス情報に示されるファイルが、構成確認の対象であるか否かを示す属性情報である。
さらに、アクセス元許可リストは、検証情報のファイルパス/ディレクトリパス情報に示されるファイルに対し、アクセスが許可されるプログラムの実行ファイルパスを示す情報である。
上記の存在必須属性、構成確認対象属性、アクセス元許可リストの情報は、例えば、利用者端末から入力される。
署名付き検証情報リスト格納部122は、署名付き検証情報のリスト(図3参照)を格納する。この署名付き検証情報のリストは、検証情報が格納される機器のユーザ署名とユーザ署名の公開鍵証明書とを付与した検証情報のリストである。例えば、図3に示す署名付き検証情報のリストは、図2に示す検証情報それぞれに、検証情報IDを、パッケージ名+検証情報ID+検証情報が格納される機器の識別情報をパッケージIDとして置き換えた情報に対して、検証情報が格納される機器のユーザ署名とユーザ署名の公開鍵証明書とを付与したものである。
解析ルール格納部123は、ソフトウェアパッケージごとに、当該ソフトウェアパッケージのソフトウェアの検証情報の作成に用いる解析方法を示した情報(解析ルール)を格納する。例えば、解析ルールは、rpmパッケージに対して、rpmコマンドを実行することにより、ファイルの検証時にハッシュ確認を行うバイナリファイルの情報と、コンフィグファイルで、かつ、書き込み不可となっているファイルの情報とを取得するといったものである。
[処理手順]
次に、図4を用いて検証情報作成装置10の処理手順の例を説明する。例えば、検証情報作成装置10が、利用者端末等から、ソフトウェアパッケージのソフトウェアの検証情報を作成する旨の入力を受け付けると以下の処理を実行する。
まず、検証情報作成装置10の解析部113は、検証情報の作成対象のソフトウェアパッケージを取得し(S1)、当該ソフトウェアパッケージの解析ルールに基づき、当該ソフトウェアパッケージの解析を実行する(S2)。その後、検証情報作成部114は、解析部113による当該ソフトウェアパッケージの解析結果に基づき、当該ソフトウェアパッケージの検証情報を作成する(S3)。そして、検証情報作成部114は、S3で作成した検証情報を検証情報リスト格納部121に格納する。
その後、処理受付部111が、利用者端末等から検証情報の修正入力を受け付けた場合(S4でYes)、修正を反映した検証情報を検証情報リスト格納部121に格納する(S5:検証情報を修正)。その後、署名付与部115は、検証情報リスト格納部121に格納される検証情報のユーザ署名とユーザ署名の公開鍵証明書とを付与し、署名付き検証情報リスト格納部122に格納する(S6:検証情報の署名付与)。一方、処理受付部111が検証情報の修正入力を受け付けなかった場合(S4でNo)、S5の処理をスキップして、S6へ進む。
このようにすることで検証情報作成装置10は、ソフトウェアパッケージのソフトウェアの検証情報を作成し、署名を付与することができる。
[検証処理の例]
次に、検証情報作成装置10により作成された検証情報を用いた検証処理の例を説明する。例えば、図1に示す検証装置20は、検証情報作成装置10から、自身の検証装置20の検証情報を取得し、図5~図8に示す検証処理を実行する。まず、図5を用いて、検証情報におけるhash値を用いた検証処理の例について説明する。検証情報作成装置10で作成された検証情報は、検証装置20に格納される。検証装置20は、ユーザ署名やユーザ署名公開鍵証明書に基づき、受領した検証情報が改ざんされていないことを確認する。検証装置20では、当該検証装置20にインストールされているソフトウェアと検証情報とを比較し、当該検証装置20に合致するものを照合情報として格納する。これがファイルの変更や改ざんのチェックに使われるものとなる。例えば、図3に示す署名付き検証情報リストでは、tomcat-9.0.4とclamav-0.100のソフトウェアパッケージの存在必須属性が「必須でない」と記されている。ここで、検証装置20には、tomcat-9.0.4はインストールされているが、clamav-0.100はインストールされていないとすると、照合情報としては図10に記載された内容が保存されることになる。つまり、検証装置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)。
[不要なファイルの追加の検証処理]
次に、図6を用いて、不要なファイルの追加の検証処理の例について説明する。まず、検証装置20が当該検証装置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)。
[必須構成のファイルの削除の検証処理]
次に、図7を用いて、必須構成のファイルの削除の検証処理の例について説明する。まず検証装置20が当該検証装置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)。
[アクセス元の検証処理]
次に、図8を用いて、アクセス元の検証処理の例について説明する。まず、検証装置20が当該検証装置20内のファイルへのアクセスを検知し、アクセスを検知したファイルのパスが、照合情報に登録されているパスと一致する場合(S41でYes)、照合情報の該当パスにアクセス元許可リストが設定されているか否かを判定する(S42)。
S42で検証装置20がアクセスを検知したファイルが照合情報の該当パスにアクセス元許可リストが設定されていると判定した場合(S42でYes)、アクセスを検知したファイルのアクセス元プロセスパスが、照合情報の該当パスのアクセス元許可リストに記載のパスと一致するか否かを判定する(S43)。
S43で検証装置20がアクセスを検知したファイルのアクセス元プロセスパスが、照合情報の該当パスのアクセス元許可リストに記載のパスと一致しないと判定した場合(S43でNo)、当該アクセス元は許可されていないため、完全性の判定結果はNGと判定する(S47)。そして、検証装置20は、その判定の結果をログに出力する(S49)。
一方、S43で検証装置20がアクセスを検知したファイルのアクセス元プロセスパスが、照合情報の該当パスのアクセス元許可リストに記載のパスと一致すると判定した場合(S43でYes)、アクセスを検知したファイルのアクセス元プロセスのhash値の確認を行う。そして、検証装置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が行ってもよい。
[プログラム]
また、上記の実施形態で述べた検証情報作成装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を検証情報作成装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、検証情報作成装置10を、クラウドサーバに実装してもよい。
図9を用いて、上記のプログラム(検証情報作成プログラム)を実行するコンピュータの一例を説明する。図9に示すように、コンピュータ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が接続される。
ここで、図9に示すように、ハードディスクドライブ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 解析ルール格納部

Claims (7)

  1. ソフトウェアパッケージに対し所定のコマンドを実行することにより、前記ソフトウェアパッケージに含まれるファイルのうち、当該ファイルの検証時にハッシュ値を用いて確認を行うファイルのファイルパスおよび前記ファイルのハッシュ値を取得する取得部と、
    前記取得部により取得されたファイルパスおよび前記ファイルのハッシュ値を含む、前記ソフトウェアパッケージのソフトウェアの検証に用いる検証情報を作成する検証情報作成部と、
    を備えることを特徴とする検証情報作成システム。
  2. 前記取得部は、さらに、
    前記ソフトウェアパッケージに含まれるファイルのうち、書き換え不可のコンフィグファイルのファイルパスおよび前記コンフィグファイルのハッシュ値を取得する
    ことを特徴とする請求項1に記載の検証情報作成システム。
  3. 前記検証情報に、前記検証情報が格納される機器のユーザのユーザ署名と、前記ユーザの公開鍵証明書とを付与する署名付与部
    をさらに備えることを特徴とする請求項1に記載の検証情報作成システム。
  4. 前記検証情報に示されるファイルの情報のうち、自身の検証装置にインストールされていないソフトウェアのファイルの情報を削除した照合情報を作成し、
    前記検証装置における、前記照合情報に示されるファイルパスのファイルへのアクセスを検知した場合、前記照合情報に示される前記ファイルのハッシュ値と、アクセス先のファイルのハッシュ値とを用いて、前記ファイルが改ざんされたか否かを判定する検証装置
    をさらに備えることを特徴とする請求項1に記載の検証情報作成システム。
  5. 前記検証情報に示されるファイルの情報のうち、自身の検証装置にインストールされていないソフトウェアのファイルの情報を削除した照合情報を作成し、
    前記検証装置において、いずれかのファイルへのアクセスを検知した場合において、アクセス先のファイルが前記照合情報に示されるファイルパスの示すディレクトリの直下のファイルまたは同じディレクトリのファイルであるとき、意図しないファイルが前記検証装置に追加されたと判定する検証装置
    をさらに備えることを特徴とする請求項1に記載の検証情報作成システム。
  6. 検証情報作成システムにより実行される検証情報作成方法であって、
    ソフトウェアパッケージに対し所定のコマンドを実行することにより、前記ソフトウェアパッケージに含まれるファイルのうち、当該ファイルの検証時にハッシュ値を用いて確認を行うファイルのファイルパスを取得する工程と、
    前記取得されたファイルパスおよび前記ファイルのハッシュ値を含む、前記ソフトウェアパッケージのソフトウェアの検証に用いる検証情報を作成する工程と、
    を含むことを特徴とする検証情報作成方法。
  7. ソフトウェアパッケージに対し所定のコマンドを実行することにより、前記ソフトウェアパッケージに含まれるファイルのうち、当該ファイルの検証時にハッシュ値を用いて確認を行うファイルのファイルパスを取得するステップと、
    前記取得されたファイルパスおよび前記ファイルのハッシュ値を含む、前記ソフトウェアパッケージのソフトウェアの検証に用いる検証情報を作成するステップと、
    をコンピュータに実行させることを特徴とする検証情報作成プログラム。
JP2021534471A 2019-07-23 2019-07-23 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム Active JP7184198B2 (ja)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPWO2021014595A1 JPWO2021014595A1 (ja) 2021-01-28
JP7184198B2 true JP7184198B2 (ja) 2022-12-06

Family

ID=74192550

Family Applications (1)

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

Country Status (6)

Country Link
US (1) US20220269803A1 (ja)
EP (1) EP3989094B1 (ja)
JP (1) JP7184198B2 (ja)
CN (1) CN114175033A (ja)
AU (1) AU2019457782B2 (ja)
WO (1) WO2021014595A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021014596A1 (ja) * 2019-07-23 2021-01-28 日本電信電話株式会社 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072856A (ja) 2004-09-03 2006-03-16 Rikogaku Shinkokai ファイル検査のための設定データ生成プログラム及びシステム
JP2019008377A (ja) 2017-06-20 2019-01-17 日本電信電話株式会社 照合情報生成装置、管理システム及び照合情報生成方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8784195B1 (en) * 2003-03-05 2014-07-22 Bally Gaming, Inc. Authentication system for gaming machines
US20100062844A1 (en) * 2003-03-05 2010-03-11 Bally Gaming, Inc. Authentication and validation systems for gaming devices
EP1766974A1 (en) * 2004-07-14 2007-03-28 Matsushita Electric Industrial Co., Ltd. Method for authenticating and executing an application program
US8892532B2 (en) * 2006-12-06 2014-11-18 Lsi Corporation Document management with verifiable time-of-archive capability
GB2463467B (en) * 2008-09-11 2013-03-06 F Secure Oyj Malware detection method and apparatus
US9349011B2 (en) * 2012-05-16 2016-05-24 Fisher-Rosemount Systems, Inc. Methods and apparatus to identify a degradation of integrity of a process control system
CN109977086B (zh) * 2013-11-29 2023-09-01 华为终端有限公司 终端间应用共享的方法和终端
US10142109B2 (en) * 2016-08-16 2018-11-27 Hewlett Packard Enterprise Development Lp Instantiating containers
JP6713954B2 (ja) * 2017-06-20 2020-06-24 日本電信電話株式会社 ファイル管理装置及びファイル管理方法
JP6813442B2 (ja) 2017-06-28 2021-01-13 日本電信電話株式会社 検証装置
JP7056514B2 (ja) * 2018-10-30 2022-04-19 日本電信電話株式会社 管理システム、取得装置及び管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072856A (ja) 2004-09-03 2006-03-16 Rikogaku Shinkokai ファイル検査のための設定データ生成プログラム及びシステム
JP2019008377A (ja) 2017-06-20 2019-01-17 日本電信電話株式会社 照合情報生成装置、管理システム及び照合情報生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大垣 靖男,PC初心者からサーバー上級者まで7パターンの危険と対策 完全保存版 これで安心!Linuxセキュリティ,日経Linux,日本,2013年10月08日,第15巻、第11号
西村 めぐみ,パッケージ管理の全テクニック! rpm/deb/tgzを使いこなす,Linux WORLD ,日本,2001年09月01日,第5巻、第9号 ,pp.107-123

Also Published As

Publication number Publication date
AU2019457782B2 (en) 2023-08-10
EP3989094A1 (en) 2022-04-27
WO2021014595A1 (ja) 2021-01-28
EP3989094A4 (en) 2022-12-21
JPWO2021014595A1 (ja) 2021-01-28
CN114175033A (zh) 2022-03-11
AU2019457782A1 (en) 2022-02-10
EP3989094B1 (en) 2023-11-08
US20220269803A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
CN105760773B (zh) 通过易受攻击的应用控制打开文件的系统和方法
US8082442B2 (en) Securely sharing applications installed by unprivileged users
US10339575B2 (en) Method and system for provenance tracking in software ecosystems
CN106295255B (zh) 应用程序的加固方法和装置
US9317681B2 (en) Information processing apparatus, information processing method, and computer program product
JP2016527608A (ja) プロセス認証とリソースパーミッション
US12067122B2 (en) Detecting added functionality in open source package
CN110555293A (zh) 用于保护数据的方法、装置、电子设备和计算机可读介质
CN111052117B (zh) 在没有多元化创作的情况下安全地定义操作系统组成
JP2007200102A (ja) 不正コードおよび不正データのチェックシステム、プログラムおよび方法
US8656494B2 (en) System and method for optimization of antivirus processing of disk files
US20070136728A1 (en) Computer readable medium in which program is stored, computer data signal embodied in carrier wave, information processing apparatus that executes program, and program control method for executing program
RU2491623C1 (ru) Система и способ проверки файлов на доверенность
RU2357287C2 (ru) Безопасная идентификация исполняемого файла для определяющего доверие логического объекта
JP7184198B2 (ja) 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
JP7315028B2 (ja) 検証情報修正装置、検証情報修正方法、および、検証情報修正プログラム
JP7222428B2 (ja) 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
US11080403B1 (en) Securely constructing a trusted virtual environment
US11436331B2 (en) Similarity hash for android executables
US11526609B1 (en) System and method for recent file malware scanning
CN113139197B (zh) 一种项目验签方法、装置和电子设备
CN112346712A (zh) 系统客制化方法、装置及计算机可读存储介质
CN116522411A (zh) 镜像签名校验方法、应用创建方法、装置、设备及介质
JP2009010911A (ja) 認証システムおよび装置
CN118394380A (zh) 一种设备中固件刷新的方法及装置、设备、介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211102

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: 20221025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221107

R150 Certificate of patent or registration of utility model

Ref document number: 7184198

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150