JP7238997B2 - バックドア検査装置、ユーザ装置、システム、方法、及びプログラム - Google Patents

バックドア検査装置、ユーザ装置、システム、方法、及びプログラム Download PDF

Info

Publication number
JP7238997B2
JP7238997B2 JP2021539841A JP2021539841A JP7238997B2 JP 7238997 B2 JP7238997 B2 JP 7238997B2 JP 2021539841 A JP2021539841 A JP 2021539841A JP 2021539841 A JP2021539841 A JP 2021539841A JP 7238997 B2 JP7238997 B2 JP 7238997B2
Authority
JP
Japan
Prior art keywords
backdoor
software
inspection
communication
information
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
JP2021539841A
Other languages
English (en)
Other versions
JPWO2021029160A5 (ja
JPWO2021029160A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2021029160A1 publication Critical patent/JPWO2021029160A1/ja
Publication of JPWO2021029160A5 publication Critical patent/JPWO2021029160A5/ja
Application granted granted Critical
Publication of JP7238997B2 publication Critical patent/JP7238997B2/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、バックドア検査装置、ユーザ装置、システム、方法、及び非一時的なコンピュータ可読媒体に関するものであり、特に、ソフトウェアにバックドアが含まれているか否かを第三者が容易に検証することが可能なバックドア検査装置、ユーザ装置、システム、方法、及び非一時的なコンピュータ可読媒体に関する。
近年、日常の暮らしを支えるインフラや企業システムは複雑化しており、単一の企業のデバイス(機器)だけで構成することは難しい。そこで、外部からデバイスを調達し、調達したデバイスを組み合わせ、又は、組み込んでインフラや企業システムを構成する。インフラや企業システムを構成する際、調達したデバイスの製造者及び製造・流通チェーンは信頼できるという前提で取り扱われる。しかしながら、これらの組込みデバイスにおいて、ソフトウェア、ファームウェア、及びハードウェアの面で、ユーザ(組込み者)が認知していない隠された機能や予期しない機能が発見される事象(インシデント)が多数報告されている。従って、デバイスの製造者及び製造・流通チェーンが信頼できるという前提が成り立たなくなってきており、例えば、ソフトウェア内の不正な機能を検出する方法が必要となってきている。尚、ユーザが認知していない隠された機能や追加的な機能であって、ソフトウェア内の不正な機能のことを、「バックドア」と称する。
特許文献1には、セキュア環境下で動作するプログラムとして入力された検証対象のプログラムに、当該プログラム内の命令により、同じ環境下に新たなプログラムを実行させる機能であるプログラム実行機能が含まれていないかどうか、および/または、検証対象のプログラムもしくはその動作元であるセキュア環境の保護機構に、プログラム実行中の外部からのデータ入力に起因する攻撃を防御する機能である外部入力攻撃防御機能が含まれているかどうかを検証するプログラム検証手段と、プログラム検証手段による検証の結果に基づいて、プログラムに署名を付与する署名手段と、を備える、プログラム検証システムが開示されている。
特許文献2には、コンピュータ・システム、方法、またはコンピュータ可読媒体が、ソフトウェア・リポジトリに向けられた不受理の可能性のあるソフトウェアコンポーネントを制御することが開示されている。また、特許文献2には、リポジトリまたはアプリケーションに関連付けされた事前規定のアプリケーションまたはリポジトリ・ポリシーが、リスクと、リスクごとに、そのリスクに対して行われるアクションとをあらかじめ定義すること、アクションは、通すアクションまたは通さないアクションとすることができ、ポリシーで定義された事前規定のプログラム・ステップであることが開示されている。また、特許文献2には、コンポーネントがリポジトリまたはアプリケーションに対して新規でない場合には、コンポーネントは通常の処理のために通過すること、コンポーネントが新規である場合には、ソフトウェアコンポーネントと一致するリスクが判定され、一致するリスクについては、事前規定のポリシーで定義されているように、アクションが行われることが開示されている。
特許文献3には、アプリ側のPCは、アプリの特定識別値と暗号識別値を保持し、自己の証明書を保持し、外部から読出し不能なセキュリティ領域に、特定関数とユーザ情報や秘密鍵等を保持していることが開示されている。特許文献3には、秘密鍵は証明書に格納された公開鍵と対応したものであり、アプリは、証明書と上記の特定識別値および暗号識別値を別のアプリに送信することが開示されている。また、特許文献3には、アプリは、別のアプリから別の証明書と特定識別値と暗号識別値を受信し、これらに基づいて別のアプリの正当性を判断し、正当であると判断すると別のアプリとの通信を許可することが開示されている。特許文献3に記載されている証明書は、公開鍵が含まれる証明書であって、バックドア検査結果を示したバックドア検査証明書ではない。
特許文献4には、改竄不可能なディジタル署名されたハッシュ値をデーモン・プログラム毎に記録しておくことができるため、デーモン・プログラムが不正な通信を行うバックドアに置きかえられた場合であっても、このバックドアを簡易に検出することができることが開示されている。特許文献4には、ディジタル署名は、デーモン・プログラム自体、デーモン・プログラムが出力するログファイルまたはパケット、デーモン・プログラムに固有の設定ファイルにすることもできることが開示されている。特許文献4には、デーモン・プログラムがお互いに認証を終わり、TCP層でのコネクションを張った後も、デーモン間で定期的にディジタル署名されたハッシュ値を交換し、常時デーモン・プログラムを監視することができることが開示されている。特許文献4には、証明書に基づいてファイルが置き換わっていないかを検査することを開示しているが、ソフトウェア構成情報に基づいてバックドアの検査を行うことは開示していない。
国際公開第2019/026137号 特表2019-500676号公報 特開2009-199147号公報 特開2001-236314号公報
上述のように、ソフトウェア内の不正な機能を検出する方法が必要であるという課題があった。また、ソフトウェア内にバックドアが含まれているか否かを第三者が容易に検証することもできないという課題があった。特許文献1及び特許文献2は、これらの課題を解決することは開示していない。
本開示の目的は、上述した課題のいずれかを解決するバックドア検査装置、ユーザ装置、システム、方法、及び非一時的なコンピュータ可読媒体を提供することにある。
本開示に係るバックドア検査装置は、
ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行する証明書発行手段と、
を備える。
本開示に係るシステムは、
ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行した証明書を登録するデータベースと、前記証明書に基づいて通信の相手先装置を検証するユーザ装置と、を備え、
前記バックドア検査装置は、
前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記証明書を発行する証明書発行手段と、を有し、
前記データベースは、
前記証明書を信頼性情報として登録する登録手段と、
前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
前記ユーザ装置は、
通信の前記相手先装置にインストールされた前記ソフトウェアの前記ソフトウェア構成情報を前記相手先装置から受信する通信手段と、
前記ソフトウェアの情報に対応する前記バックドアの検査の結果を前記データベースから取得し、前記取得した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、を有し、
前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う。
本開示に係るシステムは、
ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行した証明書を登録するデータベースと、前記証明書に基づいて通信の相手先装置を検証するユーザ装置と、前記ユーザ装置と通信を行う前記相手先装置と、を備え、
前記バックドア検査装置は、
前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記証明書を発行する証明書発行手段と、を有し、
前記データベースは、
前記証明書を信頼性情報として登録する登録手段と、
前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
前記相手先装置は、
前記相手先装置にインストールされた前記ソフトウェア構成情報に対応する前記バックドアの検査の結果を前記データベースから取得する取得手段と、
前記取得した前記バックドアの検査の結果を前記ユーザ装置に出力する出力手段と、を有し、
前記ユーザ装置は、
前記バックドアの検査の結果を前記相手先装置から取得する通信手段と、
前記取得した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段を有し、
前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う。
本開示に係る方法は、
ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行することと、
を備える。
本開示に係る非一時的なコンピュータ可読媒体は、
ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行することと、
をコンピュータに実行させるプログラムが格納される。
本開示に係るユーザ装置は、
通信の相手先装置にインストールされたソフトウェアの情報を含むソフトウェア構成情報を前記相手先装置から受信し、前記ソフトウェアの情報に対応するバックドアの検査の結果をデータベースから前記相手先装置を経由して受信する通信手段と、
前記受信した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、
を備え、
前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う。
本開示に係るシステムは、
ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行したバックドア検査証明書を登録するデータベースと、前記バックドア検査証明書に基づいて通信の相手先装置を検証するユーザ装置と、を備え、
前記バックドア検査装置は、
前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記バックドア検査証明書を発行する証明書発行手段と、を有し、
前記データベースは、
前記バックドア検査証明書を信頼性情報として登録する登録手段と、
前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
前記ユーザ装置は、
通信の前記相手先装置にインストールされた前記ソフトウェアの前記ソフトウェア構成情報を前記相手先装置から受信し、前記ソフトウェアの情報に対応する前記バックドアの検査の結果を前記データベースから前記相手先装置を経由して受信する通信手段と、
前記受信した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、を有し、
前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う。
本開示によれば、ソフトウェアにバックドアが含まれているか否かを第三者が容易に検証することが可能なバックドア検査装置、ユーザ装置、システム、方法、及び非一時的なコンピュータ可読媒体を提供することができる。
実施の形態1に係るバックドア検査装置を例示するブロック図である。 実施の形態1に係るバックドア検査装置を例示するブロック図である。 実施の形態2に係るシステムを例示するブロック図である。 実施の形態2に係るシステムの動作を例示するシーケンス図である。 実施の形態2に係るシステムの動作を例示する図である。 実施の形態2に係るユーザ装置を例示するブロック図である。 実施の形態2に係るユーザ装置を例示するブロック図である。 実施の形態3に係るシステムを例示するブロック図である。 実施の形態3に係るシステムの動作を例示するシーケンス図である。 バックドア検査証明書の発行までを例示するブロック図である。
以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
[実施の形態1]
実施の形態1に係るバックドア検査装置の構成の概要を説明する。
図1は、実施の形態1に係るバックドア検査装置を例示するブロック図である。
図1に示すように、実施の形態1に係るバックドア検査装置11は、バックドア推定手段111と、証明書発行手段112と、を備える。
バックドア推定手段111は、ソフトウェアの機能と構造とを解析し、ソフトウェアに対してバックドアの検査を行い、バックドアであると推定される推定コードをソフトウェアから特定する。機器を使用するユーザが認知していない隠された機能や追加的な機能であって、ソフトウェア内の不正な機能、又は、望まれていない機能のことを、「バックドア」と称する。ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードをソフトウェアから特定することを、「バックドア解析」と称することもある。推定コードは、バックドアである可能性が高く疑わしいコードのことである。
証明書発行手段112は、バックドアの検査に関する情報と、バックドアの検査に関する情報をソフトウェアに紐づけた情報と、を含む証明書を発行する。バックドア推定手段111が解析するソフトウェアは、例えば、ユーザが使用するユーザ装置12bの通信の相手先装置にインストールされたソフトウェアである。バックドアの検査に関する情報は、例えば、ソフトウェア内にバックドアが有るか無いか等の情報を含む。
バックドア検査装置11は、バックドアの検査に関する情報と、バックドアの検査に関する情報をソフトウェアに紐づけた情報と、を含む証明書を発行する。第三者は証明書を取得し、ソフトウェアに紐づけられた(対応付けられた)バックドアの検査に関する情報を取得することにより、ソフトウェア内にバックドアが含まれているかを検証することができる。これにより、実施の形態1によれば、ソフトウェアにバックドアが含まれているか否かを第三者が容易に検証することが可能なバックドア検査装置を提供することができる。
尚、コードは、ソースコードでも実行コードでもよい。複数のコードをまとめてコードブロックと称することもある。
実施の形態1に係るバックドア検査装置の構成の詳細を説明する。
図2は、実施の形態1に係るバックドア検査装置を例示するブロック図である。
図2は、図1の詳細を示す。
図2に示すように、バックドア検査装置11のバックドア推定手段111は、機能推定手段1111と構造解析手段1112と分析手段1113とを有する。
機能推定手段1111は、ソフトウェア内のインターフェース機能、認証機能、コマンドパーサ機能等の特定機能を推定する。
構造解析手段1112は、推定した特定機能を起点として、制御フローに基づいて、ソフトウェア全体の構造を明らかにする。具体的には、構造解析手段1112は、制御フローに含まれる複数の機能を抽出し、各機能の推定を行う。構造解析手段1112は、推定した各機能をタイプ毎に分離する。
分析手段1113は、バックドアのタイプ毎の分析手段を有する。分析手段1113は、バックドアのタイプ毎の分析手段を使用して、分離した機能と該機能に対応するバックドアとをタイプ毎に比較する。分析手段1113は、比較の結果、機能がバックドアであるか否かを推定し、バックドアであると推定された推定コードをソフトウェアから特定する。また、分析手段1113は、個別の機能に依存しない、ソフトウェア全体の検査を行ってもよい。
証明書発行手段112が発行する証明書は、バックドアがソフトウェア内に含まれているか否かを示す情報、すなわち、バックドアの検査の結果を含む。バックドアの検査の結果は、バックドアがソフトウェア内に含まれる場合、推定コードのソフトウェア内での位置情報を含む。
証明書は、ソフトウェアのハッシュ値、ソフトウェアの名称、及び、バックドアの検査を行った自装置(バックドア検査装置11)の署名のうち少なくともいずれかを含んでもよい。証明書にバックドア検査装置11の署名が含まれることにより、バックドア検査装置11がバックドアの検査を行ったことを証明することができる。また、証明書は、バックドア検査を行ったことを示す情報を含んでもよい。
証明書は、バックドアの検査を行ったバックドア検査装置11のバージョン、バックドア検査装置11を使用して解析を行った解析者のID、解析者の署名、解析者の所属組織、及び、解析者の氏名のうち少なくともいずれかを含んでもよい。また、証明書は、加えて、解析の実施日を含んでもよい。
証明書は、ソフトウェアに組み込まれてもよい(同梱されてもよい)。そして、証明書が組み込まれたソフトウェアは、ユーザが使用するユーザ装置12b、又は、記憶媒体13にダウンロードされてもよい。これにより、ユーザは、ユーザ装置12bのソフトウェア内の証明書に基づいて、バックドアがソフトウェア内に含まれていないことを確認した上で、ユーザ装置12bを使用することができる。
[実施の形態2]
実施の形態2に係るシステムの構成を説明する。
図3は、実施の形態2に係るシステムを例示するブロック図である。
図3に示すように、システム10は、バックドア検査装置11と、データベース14と、ユーザ装置12bと、を備える。
バックドア検査装置11は、バックドア推定手段111と、証明書発行手段112と、を有する。
バックドア推定手段111は、装置開発者が開発したソフトウェアの機能と構造とを解析し、ソフトウェアに対してバックドアの検査を行い、バックドアであると推定される推定コードをソフトウェアから特定する。証明書発行手段112は、バックドアの検査に関する情報と、バックドアの検査に関する情報をソフトウェアに紐づけた情報と、を含む証明書を発行する。
データベース14は、登録手段(図示せず)と、送信手段(図示せず)と、を有する。登録手段は、バックドア検査装置11が発行した証明書を信頼性情報として登録する。送信手段は、ソフトウェアの情報を含むソフトウェア構成情報に基づいてバックドアの検査の結果を含む検査に関する情報を送信する。バックドアの検査の結果を、検証情報又は検証結果と称する。データベース14は、例えば、サーバ装置であってもよい。
ユーザ装置12bは、通信相手検証手段121と、通信手段122と、を有する。通信手段122は、通信の相手先装置12aにインストールされたソフトウェアのソフトウェア構成情報を、相手先装置12aから受信する。
通信相手検証手段121は、通信の相手先装置12aにインストールされ、通信の相手先装置12aが使用するソフトウェアのバックドアの検査の結果をデータベース14に問い合わせる。
通信相手検証手段121は、通信の相手先装置12aが使用するソフトウェアの情報に対応するバックドアの検査の結果をデータベース14から取得する。通信相手検証手段121は、バックドアの検査の結果に基づいて相手先装置12aとの通信を許可するか否かを判断する。
通信相手検証手段121は、バックドアがソフトウェア内に含まれる場合、相手先装置12aとの通信を許可しないと判断する。また、通信相手検証手段121は、バックドアがソフトウェア内に含まれない場合、相手先装置12aとの通信を許可すると判断する。
通信手段122は、通信相手検証手段121が相手先装置12aとの通信を許可すると判断した場合、相手先装置12aと通信を行う。
これにより、ユーザは、ユーザ装置12bをネットワークに接続して使用する場合、相手先装置12aにインストールされたソフトウェアにバックドアが含まれているか否かを容易に検証することができる。その結果、ユーザは、相手先装置12aとして、信頼性が高く安全な装置のみを使用することができる。
尚、バックドア検査装置11及びデータベース14は、認証機関が所有し、認証機関が、バックドアがソフトウェア内に含まれるか否かを検証してもよい。
また、ユーザ装置12bは、証明書をデータベース14から取得し、証明書に基づいてバックドアが含まれるソフトウェアを特定し、特定されたソフトウェアがインストールされた装置を通信の相手先装置12aとして選択しないようにしてもよい。
図3に示す例では、通信の相手先装置12aとユーザ装置12bとが直接通信する際に、バックドアの有無によって、その通信の可否を判定したが、これには限定されない。通信の相手先装置12aとユーザ装置12bとが直接通信しない場合であっても、ユーザ装置12bが接続の可否を判断(判定)してもよい。
具体的には、ユーザ装置12bの通信相手検証手段121は、バックドアがソフトウェア内に含まれる場合、相手先装置12aと外部のサーバ(図示せず)との通信を許可しないと判断する。通信相手検証手段121は、バックドアがソフトウェア内に含まれない場合、相手先装置12aと外部のサーバとの通信を許可すると判断する。相手先装置12aは、通信相手検証手段121が相手先装置12aとサーバとの通信を許可すると判断した場合、サーバと通信を行うようにしてもよい。すなわち、相手先装置12aがサーバと通信する際に、相手先装置12aはユーザ装置12bから接続許可の判断を受け、バックドアが含まれていないと判断された場合のみ、サーバと通信するようにしてもよい。
また、具体的には、ユーザ装置12bは、相手先装置12aにインストールされたソフトウェア内にバックドアが含まれないことを確認した場合、相手先装置12aがバックドアの検査に合格したことを示す第1トークンを発行する。相手先装置12aは、サーバにアクセスする際に、第2トークンを提示する。サーバは、相手先装置12aが提示した第2トークンが、ユーザ装置12bから発行された第1トークン(正規のトークン)であることを確認した場合、相手先装置12aとの通信を行ってもよい。
また、上記のようなトークンを用いない方法もある。具体的には、ユーザ装置12bは、相手先装置12aにインストールされたソフトウェア内にバックドアが含まれないことを確認した場合、相手先装置12aを識別するための識別子をサーバに通知する。サーバは、通知された識別子を有する装置との間でのみ通信を行ってもよい。識別子は、IPアドレス及びMACアドレスの少なくとも一方を含む。すなわち、ユーザ装置12bは、バックドアが無いことを確認した相手先装置12aのIPアドレスやMACアドレス等をサーバに通知し、サーバは、通知されたIPアドレスやMACアドレスを有する装置からの通信のみ接続を受け付けてもよい。
また、検疫ネットワークのように、ネットワークスイッチで接続の可否を制御してもよい。ネットワークスイッチ(図示せず)は、新しい機器(例えば、相手先装置12a)がネットワークに接続された場合、相手先装置12aがユーザ装置12bのみと通信できるように通信を制御する。よって、具体的には、ユーザ装置12bは、上述した方法で、相手先装置12aにインストールされたソフトウェア内にバックドアがあるか否かの検査を行う。ユーザ装置12bは、相手先装置12aにインストールされたソフトウェア内にバックドアが含まれないことを確認した場合、ネットワークスイッチに対して、相手先装置12aの通信の制限を解除する指示を行ってもよい。
ユーザ装置12bは、ネットワークスイッチに対して、相手先装置12aの通信の制限を解除する指示を直接送るのではなく、相手先装置12aの通信の制限を解除するためのトークンを相手先装置12aに発行してもよい。相手先装置12aは、発行されたトークンをネットワークスイッチに送信してもよい。ネットワークスイッチは、送信されたトークンを受信し、相手先装置12aの通信の制限を解除してもよい。
実施の形態2に係るシステムの動作を説明する。
図4は、実施の形態2に係るシステムの動作を例示するシーケンス図である。
図5は、実施の形態2に係るシステムの動作を例示する図である。
図6は、実施の形態2に係るユーザ装置を例示するブロック図である。
図6は、検証される側の相手先装置12aのブロック図を示す。
図7は、実施の形態2に係るユーザ装置を例示するブロック図である。
図7は、検証する側のユーザ装置12bのブロック図を示す。
図4に示すように、認証機関において、バックドア検査装置11がバックドア解析を実施し、データベース14がバックドア検査結果を含む証明書を保存(登録)する(ステップS101)。データベース14は、一般的なデータベースでもよいし、ブロックチェーンのような分散型データベースでもよい。データベースを、ソフトウェアの信頼性情報データベースと称することもある。
図4から図7に示すように、ユーザ装置12bは、通信の相手先装置12aに、相手先装置12aにインストールされたソフトウェアの情報を含むソフトウェア構成情報を要求するためのソフトウェア構成要求を送信する(ステップS102)。
相手先装置12aは、自装置内部のソフトウェアコンポーネントのリストを作成する(ステップS103)。このとき、相手先装置12aは、リストの確かさを保証するため、TEE(Trusted Execution Environment)を用いてリストを作成してもよい。すなわち、TEE内に配置された検証エージェントが検証対象のソフトウェアに対してソフトウェアコンポーネントの調査を行い、ソフトウェアコンポーネントのリストを作成してもよい。
相手先装置12aは、作成したリストを含むソフトウェア構成情報をユーザ装置12bに送信する(ステップS104)。
ユーザ装置12bは、ソフトウェア構成情報を受信し(ステップS104)、受信したソフトウェア構成情報を認証機関に送信してバックドア検査結果を問い合わせる(ステップS105)。
認証機関は、ソフトウェアの情報を含むソフトウェア構成情報に基づいてバックドア検証結果を検索する(ステップS106)。
認証機関は、ソフトウェア構成情報に基づいて検索したバックドア検証結果を、ユーザ装置12bに送信する(ステップS107)。
ユーザ装置12bは、バックドア検査結果を認証機関から取得する(ステップS107)。ユーザ装置12bは、取得したバックドア検証結果に基づき、バックドアがソフトウェア内に含まれる場合、もしくは、検査結果が登録されていない場合、相手先装置12aと通信を行わずに終了する(ステップS108)。
ユーザ装置12bは、バックドアがソフトウェア内に含まれていない場合、相手先装置12aと通信を行う(ステップS109)。
ユーザ装置12bと相手先装置12aとが通信を行う際、それぞれの装置は、通信相手のソフトウェアの情報を認証機関から取得し、ソフトウェア内にバックドアが無いことを確信した後、通信を行うことができる。
尚、図4に示すステップS101やステップS102の前、すなわち、シーケンスを開始する前に、リモートアテステーションと呼ばれる技術を用いて、TEE内部に配置されソフトウェア構成情報を作成するための検証エージェントが改ざんされていないか否かを検証してもよい。改ざんの有無の検証は、双方向で行ってもよいし、一方が他方を検証してもよい。
実施の形態1と実施の形態2では、相手先装置12aがソフトウェア構成情報をユーザ装置12bに送信し、ユーザ装置12bがソフトウェア構成情報を基づいて、認証機関にバックドアの有無の問い合わせを行うことを例に挙げて説明した。
この代わりに、相手先装置12aの検証エージェントがソフトウェア構成情報に基づいて、認証機関にバックドアの有無(バックドアの検査の結果)の問い合わせを行い、相手先装置12aが、バックドアの有無の情報をユーザ装置12bに送信してもよい。そして、ユーザ装置12bは、バックドアが含まれていないという情報が送られてきた場合のみ、相手先装置12aとの通信の接続を許可してもよい。
[実施の形態3]
実施の形態3に係るシステムの構成を説明する。
図8は、実施の形態3に係るシステムを例示するブロック図である。
実施の形態1に係るシステム10においては、検証する側であるユーザ装置12bがソフトウェアの信頼性情報が保存されたデータベース14からバックドア検査証明書を受信する。これに対して実施の形態3に係るシステム30においては、ユーザ装置32bが、検証される側である相手先装置32aを経由して、バックドア検査証明書をデータベース34から受信する。
図3に示すように、システム30は、バックドア検査装置31とデータベース34とユーザ装置32bとを備える。バックドア検査装置31は、ソフトウェアに対してバックドアの検査を行う。データベース34は、バックドア検査装置31が発行したバックドア検査証明書を登録する。ユーザ装置32bは、バックドア検査証明書に基づいて通信の相手先装置32aを検証する。
バックドア検査装置31は、バックドア推定手段と証明書発行手段とを有する。バックドア検査装置31のバックドア推定手段は、ソフトウェアの機能と構造とを解析し、ソフトウェアに対してバックドアの検査を行い、バックドアであると推定される推定コードをソフトウェアから特定する。
バックドア検査装置31の証明書発行手段は、バックドアの検査に関する情報と、バックドアの検査に関する情報をソフトウェアに紐づけた情報と、を含むバックドア検査証明書を発行する。
データベース34は、登録手段と送信手段とを有する。データベース34の登録手段は、バックドア検査証明書を信頼性情報として登録する。
データベース34の送信手段は、ソフトウェアの情報を含むソフトウェア構成情報に基づいてバックドアの検査の結果を含むバックドアの検査に関する情報を、バックドア検査証明書として送信する。
ユーザ装置32bは、通信手段と通信相手検証手段とを有する。ユーザ装置32bの通信手段は、通信の相手先装置32aにインストールされたソフトウェアのソフトウェア構成情報を相手先装置32aから受信する。ユーザ装置32bの通信手段は、ソフトウェアの情報に対応するバックドアの検査の結果を含むバックドア検査証明書を、データベース34から相手先装置32aを経由して受信する。
ユーザ装置32bの通信相手検証手段は、受信したバックドアの検査の結果を含むバックドア検査証明書に基づいて相手先装置32aとの通信を許可するか否かを判断する。
ユーザ装置32bの通信手段は、ユーザ装置32bの通信相手検証手段が相手先装置32aとの通信を許可すると判断した場合、相手先装置32aと通信を行う。
認証機関は、データベース34を有する。ユーザ装置32bの通信手段は、認証機関証明書を認証機関から受信する。認証機関証明書は、該当する認証機関が信頼できることを証明する証明書である。認証機関証明書は、認証機関の公開鍵を含む。また、認証機関の情報、例えば、認証機関名称、所在地、連絡先を含んでもよい。また、信頼できる第3者機関の署名を含んでもよい。
ユーザ装置32bの通信相手検証手段は、バックドアの検査の結果を含むバックドア検査証明書に加えて、認証機関証明書に基づいて相手先装置32aとの通信を許可するか否かを判断してもよい。
実施の形態3に係るシステムの動作を説明する。
図9は、実施の形態3に係るシステムの動作を例示するシーケンス図である。
図9に示すように、ユーザ装置32bは、解析の対象とする解析対象コードを特定する(ステップS201)。
認証機関は、バックドアの解析を実施する(ステップS202)。
認証機関は、認証機関の署名付きのバックドア検査証明書を、相手先装置32aに送信する。なお、この署名は、認証機関証明書に含まれる公開鍵によって検証可能なように生成される(ステップS203)。
ユーザ装置32bは、相手先装置32aにインストールされたソフトウェアの情報を含むソフトウェア構成情報を相手先装置32aに要求する(ステップS204)。
相手先装置32aは、自装置内部のソフトウェアコンポーネントのリストを作成する(ステップS205)。このとき、作成したリストの確かさを保証するため、TEEを用いてリストを作成してもよい。
相手先装置32aは、作成したリストを含むソフトウェア構成情報と、ステップS203において受信したバックドア検査証明書と、をユーザ装置32bに送信する(ステップS206)。
ユーザ装置32bは、認証機関証明書を、認証機関から受信する(ステップS207)。尚、ユーザ装置32bは、認証機関証明書を、事前に認証機関から受信してもよい。
ユーザ装置32bは、認証機関証明書に含まれる公開鍵でバックドア検査証明書の署名を検証することで、バックドア検査証明書の真正性を確認する。バックドア検査証明書の真正性が担保されていない場合、ユーザ装置32bは、相手先装置32aと接続せずに終了する、もしくは、ユーザ装置32bの管理者に警告を出した上で処理を継続する(ステップS208)。
ユーザ装置32bは、バックドアが含まれている、もしくは、検査結果が登録されていない場合、相手先装置32aと接続せずに終了する(ステップS209)。
ユーザ装置32bは、バックドアが含まれていない、もしくは、検査結果が登録されている場合、相手先装置32aと通信を開始する(ステップS210)。
上記の動作では、ステップS207において、ユーザ装置32bは認証機関証明を認証機関から受信したが、信頼可能な第3者機関から受信してもよい。
図10は、バックドア検査証明書の発行までを例示するブロック図である。
図10は、ユーザインタフェース(UI:User Interface)を利用したオンラインでのバックドア検査証明書の発行を示す。
図10に示すように、認証機関は、ユーザインタフェース上に表示された「コードアップロードフォーム」を要求する。この例では、ユーザインタフェースとして、ディスプレイを用いた。機器メーカは、これに対応して、機器の検査対象コード(解析対象コード)を認証機関に送信する。
認証機関は、ディスプレイ上に表示された「バックドア検査証明書リンク」に従い、機器の検査対象コードに対応するバックドア検査証明書を、オンラインで機器メーカに発行する。
機器メーカは、このようにして、オンラインでバックドア検査証明書を取得することができる。
尚、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(具体的にはフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(具体的には光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(具体的には、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM))、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
尚、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行する証明書発行手段と、
を備えるバックドア検査装置。
(付記2)
前記証明書は、前記バックドアの検査の結果を含み、
前記検査の結果は、前記バックドアが前記ソフトウェア内に含まれる場合、前記推定コードの前記ソフトウェア内での位置情報を含む、
付記1に記載のバックドア検査装置。
(付記3)
前記証明書は、前記ソフトウェアのハッシュ値、前記ソフトウェアの名称、及び、前記バックドアの検査を行った自装置の署名のうち少なくともいずれかを含む、
付記1又は2に記載のバックドア検査装置。
(付記4)
前記証明書は、前記バックドアの検査を行った自装置のバージョン、自装置を使用して解析を行った解析者のID、及び、前記解析者の氏名のうち少なくともいずれかを含む、
付記1から3のいずれか1つに記載のバックドア検査装置。
(付記5)
前記証明書は、前記ソフトウェアに組み込まれ、
前記証明書が組み込まれた前記ソフトウェアは、ユーザが使用するユーザ装置、又は、記憶媒体にダウンロードされる、
付記1から4のいずれか1つに記載のバックドア検査装置。
(付記6)
ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行した証明書を登録するデータベースと、前記証明書に基づいて通信の相手先装置を検証するユーザ装置と、を備え、
前記バックドア検査装置は、
前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記証明書を発行する証明書発行手段と、を有し、
前記データベースは、
前記証明書を信頼性情報として登録する登録手段と、
前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
前記ユーザ装置は、
通信の前記相手先装置にインストールされた前記ソフトウェアの前記ソフトウェア構成情報を前記相手先装置から受信する通信手段と、
前記ソフトウェアの情報に対応する前記バックドアの検査の結果を前記データベースから取得し、前記取得した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、を有し、
前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う、
システム。
(付記7)
前記通信相手検証手段は、
前記バックドアが前記ソフトウェア内に含まれる場合、前記相手先装置との通信を許可しないと判断し、
前記バックドアが前記ソフトウェア内に含まれない場合、前記相手先装置との通信を許可すると判断する、
付記6に記載のシステム。
(付記8)
前記通信相手検証手段は、
前記バックドアが前記ソフトウェア内に含まれる場合、前記相手先装置と外部のサーバとの通信を許可しないと判断し、
前記バックドアが前記ソフトウェア内に含まれない場合、前記相手先装置と外部の前記サーバとの通信を許可すると判断し、
前記相手先装置は、前記通信相手検証手段が前記相手先装置と前記サーバとの通信を許可すると判断した場合、前記サーバと通信を行う、
付記6又は7に記載のシステム。
(付記9)
前記ユーザ装置は、前記相手先装置にインストールされた前記ソフトウェア内に前記バックドアが含まれないことを確認した場合、前記相手先装置が前記バックドアの検査に合格したことを示す第1トークンを発行し、
前記相手先装置は、前記サーバにアクセスする際に、第2トークンを前記サーバに提示し、
前記サーバは、前記相手先装置が提示した前記第2トークンが、前記ユーザ装置から発行された前記第1トークンであることを確認した場合、前記相手先装置との通信を行う、
付記8に記載のシステム。
(付記10)
前記ユーザ装置は、前記相手先装置にインストールされた前記ソフトウェア内に前記バックドアが含まれないことを確認した場合、前記相手先装置を識別するための識別子を前記サーバに通知し、
前記サーバは、前記通知された前記識別子を有する装置との間でのみ通信を行う、
付記8に記載のシステム。
(付記11)
前記識別子は、IPアドレス及びMACアドレスの少なくとも一方を含む、
付記10に記載のシステム。
(付記12)
前記相手先装置がネットワークに接続された場合、前記相手先装置が前記ユーザ装置のみと通信を行うように制御するネットワークスイッチをさらに備え、
前記ユーザ装置は、前記相手先装置にインストールされた前記ソフトウェアに前記バックドアが含まれないことを確認した場合、前記ネットワークスイッチに対して、前記相手先装置の通信の制限を解除する指示を行う、
付記6又は7に記載のシステム。
(付記13)
前記相手先装置がネットワークに接続された場合、前記相手先装置が前記ユーザ装置のみと通信を行うように制御するネットワークスイッチをさらに備え、
前記ユーザ装置は、前記相手先装置の通信の制限を解除するためのトークンを前記相手先装置に発行し、
前記相手先装置は、前記トークンを前記ネットワークスイッチに送信し、
前記ネットワークスイッチは、前記トークンを受信し、前記相手先装置の通信の制限を解除する、
付記6又は7に記載のシステム。
(付記14)
前記相手先装置は、前記ソフトウェア構成情報を作成するための検証エージェントを有し、
前記ユーザ装置は、前記ソフトウェア構成情報を前記相手先装置から受信する前に、前記検証エージェントが改ざんされていないか否かを検証する、
付記6から13のいずれか1つに記載のシステム。
(付記15)
前記ユーザ装置は、
前記証明書を前記データベースから取得し、
前記証明書に基づいて前記バックドアが含まれる前記ソフトウェアを特定し、
特定された前記ソフトウェアがインストールされた装置を通信の前記相手先装置として選択しない、
付記6から14のいずれか1つに記載のシステム。
(付記16)
ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行した証明書を登録するデータベースと、前記証明書に基づいて通信の相手先装置を検証するユーザ装置と、前記ユーザ装置と通信を行う前記相手先装置と、を備え、
前記バックドア検査装置は、
前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記証明書を発行する証明書発行手段と、を有し、
前記データベースは、
前記証明書を信頼性情報として登録する登録手段と、
前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
前記相手先装置は、
前記相手先装置にインストールされた前記ソフトウェア構成情報に対応する前記バックドアの検査の結果を前記データベースから取得する取得手段と、
前記取得した前記バックドアの検査の結果を前記ユーザ装置に出力する出力手段と、を有し、
前記ユーザ装置は、
前記バックドアの検査の結果を前記相手先装置から取得する通信手段と、
前記取得した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段を有し、
前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う、
システム。
(付記17)
ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行することと、
を備える方法。
(付記18)
ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行することと、
をコンピュータに実行させるプログラムが格納される非一時的なコンピュータ可読媒体。
(付記19)
通信の相手先装置にインストールされたソフトウェアの情報を含むソフトウェア構成情報を前記相手先装置から受信し、前記ソフトウェアの情報に対応するバックドアの検査の結果をデータベースから前記相手先装置を経由して受信する通信手段と、
前記受信した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、
を備え、
前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う、
ユーザ装置。
(付記20)
ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行したバックドア検査証明書を登録するデータベースと、前記バックドア検査証明書に基づいて通信の相手先装置を検証するユーザ装置と、を備え、
前記バックドア検査装置は、
前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記バックドア検査証明書を発行する証明書発行手段と、を有し、
前記データベースは、
前記バックドア検査証明書を信頼性情報として登録する登録手段と、
前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
前記ユーザ装置は、
通信の前記相手先装置にインストールされた前記ソフトウェアの前記ソフトウェア構成情報を前記相手先装置から受信し、前記ソフトウェアの情報に対応する前記バックドアの検査の結果を前記データベースから前記相手先装置を経由して受信する通信手段と、
前記受信した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、を有し、
前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う、
システム。
(付記21)
前記通信手段は、前記データベースを有する認証機関の認証機関証明書を前記認証機関から受信し、
前記通信相手検証手段は、前記バックドアの検査の結果に加えて、前記認証機関証明書に基づいて前記相手先装置との通信を許可するか否かを判断する、
付記20に記載のシステム。
この出願は、2019年8月9日に提出された国際出願番号PCT/JP2019/031648に基づく優先権の利益に基づいており、その開示は参照により全体が本明細書に組み込まれる。
10、30:システム
11、31:バックドア検査装置
111:バックドア推定手段
1111:機能推定手段
1112:構造解析手段
1113:分析手段
112:証明書発行手段
12b、32b:ユーザ装置
12a、32a:相手先装置
121、121a、121b、321a、321b:通信相手検証手段
122:通信手段
13:記憶媒体
14、34:データベース

Claims (20)

  1. ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
    前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行する証明書発行手段と、
    を備え
    前記証明書は、前記バックドアの検査の結果を含み、
    前記検査の結果は、前記バックドアが前記ソフトウェア内に含まれる場合、前記推定コードの前記ソフトウェア内での位置情報を含む、
    バックドア検査装置。
  2. 前記証明書は、前記ソフトウェアのハッシュ値、前記ソフトウェアの名称、及び、前記バックドアの検査を行った自装置の署名のうち少なくともいずれかを含む、
    請求項1に記載のバックドア検査装置。
  3. 前記証明書は、前記バックドアの検査を行った自装置のバージョン、自装置を使用して解析を行った解析者のID、及び、前記解析者の氏名のうち少なくともいずれかを含む、
    請求項1または2に記載のバックドア検査装置。
  4. 前記証明書は、前記ソフトウェアに組み込まれ、
    前記証明書が組み込まれた前記ソフトウェアは、ユーザが使用するユーザ装置、又は、記憶媒体にダウンロードされる、
    請求項1から3のいずれか1つに記載のバックドア検査装置。
  5. ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行した証明書を登録するデータベースと、前記証明書に基づいて通信の相手先装置を検証するユーザ装置と、を備え、
    前記バックドア検査装置は、
    前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
    前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記証明書を発行する証明書発行手段と、を有し、
    前記データベースは、
    前記証明書を信頼性情報として登録する登録手段と、
    前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
    前記ユーザ装置は、
    通信の前記相手先装置にインストールされた前記ソフトウェアの前記ソフトウェア構成情報を前記相手先装置から受信する通信手段と、
    前記ソフトウェアの情報に対応する前記バックドアの検査の結果を前記データベースから取得し、前記取得した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、を有し、
    前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う、
    システム。
  6. 前記通信相手検証手段は、
    前記バックドアが前記ソフトウェア内に含まれる場合、前記相手先装置との通信を許可しないと判断し、
    前記バックドアが前記ソフトウェア内に含まれない場合、前記相手先装置との通信を許可すると判断する、
    請求項5に記載のシステム。
  7. 前記通信相手検証手段は、
    前記バックドアが前記ソフトウェア内に含まれる場合、前記相手先装置と外部のサーバとの通信を許可しないと判断し、
    前記バックドアが前記ソフトウェア内に含まれない場合、前記相手先装置と外部の前記サーバとの通信を許可すると判断し、
    前記相手先装置は、前記通信相手検証手段が前記相手先装置と前記サーバとの通信を許可すると判断した場合、前記サーバと通信を行う、
    請求項5又6に記載のシステム。
  8. 前記ユーザ装置は、前記相手先装置にインストールされた前記ソフトウェア内に前記バックドアが含まれないことを確認した場合、前記相手先装置が前記バックドアの検査に合格したことを示す第1トークンを発行し、
    前記相手先装置は、前記サーバにアクセスする際に、第2トークンを前記サーバに提示し、
    前記サーバは、前記相手先装置が提示した前記第2トークンが、前記ユーザ装置から発行された前記第1トークンであることを確認した場合、前記相手先装置との通信を行う、
    請求項7に記載のシステム。
  9. 前記ユーザ装置は、前記相手先装置にインストールされた前記ソフトウェア内に前記バックドアが含まれないことを確認した場合、前記相手先装置を識別するための識別子を前記サーバに通知し、
    前記サーバは、前記通知された前記識別子を有する装置との間でのみ通信を行う、
    請求項7に記載のシステム。
  10. 前記識別子は、IPアドレス及びMACアドレスの少なくとも一方を含む、
    請求項9に記載のシステム。
  11. 前記相手先装置がネットワークに接続された場合、前記相手先装置が前記ユーザ装置のみと通信を行うように制御するネットワークスイッチをさらに備え、
    前記ユーザ装置は、前記相手先装置にインストールされた前記ソフトウェアに前記バックドアが含まれないことを確認した場合、前記ネットワークスイッチに対して、前記相手先装置の通信の制限を解除する指示を行う、
    請求項5又6に記載のシステム。
  12. 前記相手先装置がネットワークに接続された場合、前記相手先装置が前記ユーザ装置のみと通信を行うように制御するネットワークスイッチをさらに備え、
    前記ユーザ装置は、前記相手先装置の通信の制限を解除するためのトークンを前記相手先装置に発行し、
    前記相手先装置は、前記トークンを前記ネットワークスイッチに送信し、
    前記ネットワークスイッチは、前記トークンを受信し、前記相手先装置の通信の制限を解除する、
    請求項5又6に記載のシステム。
  13. 前記相手先装置は、前記ソフトウェア構成情報を作成するための検証エージェントを有し、
    前記ユーザ装置は、前記ソフトウェア構成情報を前記相手先装置から受信する前に、前記検証エージェントが改ざんされていないか否かを検証する、
    請求項5か12のいずれか1つに記載のシステム。
  14. 前記ユーザ装置は、
    前記証明書を前記データベースから取得し、
    前記証明書に基づいて前記バックドアが含まれる前記ソフトウェアを特定し、
    特定された前記ソフトウェアがインストールされた装置を通信の前記相手先装置として選択しない、
    請求項5か13のいずれか1つに記載のシステム。
  15. ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行した証明書を登録するデータベースと、前記証明書に基づいて通信の相手先装置を検証するユーザ装置と、前記ユーザ装置と通信を行う前記相手先装置と、を備え、
    前記バックドア検査装置は、
    前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
    前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記証明書を発行する証明書発行手段と、を有し、
    前記データベースは、
    前記証明書を信頼性情報として登録する登録手段と、
    前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
    前記相手先装置は、
    前記相手先装置にインストールされた前記ソフトウェア構成情報に対応する前記バックドアの検査の結果を前記データベースから取得する取得手段と、
    前記取得した前記バックドアの検査の結果を前記ユーザ装置に出力する出力手段と、を有し、
    前記ユーザ装置は、
    前記バックドアの検査の結果を前記相手先装置から取得する通信手段と、
    前記取得した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段を有し、
    前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う、
    システム。
  16. バックドア検査装置がソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
    前記バックドア検査装置が前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行することと、
    を備え
    前記証明書は、前記バックドアの検査の結果を含み、
    前記検査の結果は、前記バックドアが前記ソフトウェア内に含まれる場合、前記推定コードの前記ソフトウェア内での位置情報を含む、
    方法。
  17. ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対してバックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定することと、
    前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む証明書を発行することと、
    をコンピュータに実行させ
    前記証明書は、前記バックドアの検査の結果を含み、
    前記検査の結果は、前記バックドアが前記ソフトウェア内に含まれる場合、前記推定コードの前記ソフトウェア内での位置情報を含む、
    プログラム。
  18. 通信の相手先装置にインストールされたソフトウェアの情報を含むソフトウェア構成情報を前記相手先装置から受信し、前記ソフトウェアの情報に対応するバックドアの検査の結果をデータベースから前記相手先装置を経由して受信する通信手段と、
    前記受信した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、
    を備え、
    前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う、
    ユーザ装置。
  19. ソフトウェアに対してバックドアの検査を行うバックドア検査装置と、前記バックドア検査装置が発行したバックドア検査証明書を登録するデータベースと、前記バックドア検査証明書に基づいて通信の相手先装置を検証するユーザ装置と、を備え、
    前記バックドア検査装置は、
    前記ソフトウェアの機能と構造とを解析し、前記ソフトウェアに対して前記バックドアの検査を行い、前記バックドアであると推定される推定コードを前記ソフトウェアから特定するバックドア推定手段と、
    前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記ソフトウェアに紐づけた情報と、を含む前記バックドア検査証明書を発行する証明書発行手段と、を有し、
    前記データベースは、
    前記バックドア検査証明書を信頼性情報として登録する登録手段と、
    前記ソフトウェアの情報を含むソフトウェア構成情報に基づいて前記バックドアの検査の結果を含む前記バックドアの検査に関する情報を送信する送信手段と、を有し、
    前記ユーザ装置は、
    通信の前記相手先装置にインストールされた前記ソフトウェアの前記ソフトウェア構成情報を前記相手先装置から受信し、前記ソフトウェアの情報に対応する前記バックドアの検査の結果を前記データベースから前記相手先装置を経由して受信する通信手段と、
    前記受信した前記バックドアの検査の結果に基づいて前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、を有し、
    前記通信手段は、前記通信相手検証手段が前記相手先装置との通信を許可すると判断した場合、前記相手先装置と通信を行う、
    システム。
  20. 前記通信手段は、前記データベースを有する認証機関の認証機関証明書を前記認証機関から受信し、
    前記通信相手検証手段は、前記バックドアの検査の結果に加えて、前記認証機関証明書に基づいて前記相手先装置との通信を許可するか否かを判断する、
    請求項19に記載のシステム。
JP2021539841A 2019-08-09 2020-07-06 バックドア検査装置、ユーザ装置、システム、方法、及びプログラム Active JP7238997B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPPCT/JP2019/031648 2019-08-09
PCT/JP2019/031648 WO2021028971A1 (ja) 2019-08-09 2019-08-09 バックドア検査装置、システム、方法、及び非一時的なコンピュータ可読媒体
PCT/JP2020/026366 WO2021029160A1 (ja) 2019-08-09 2020-07-06 バックドア検査装置、ユーザ装置、システム、方法、及び非一時的なコンピュータ可読媒体

Publications (3)

Publication Number Publication Date
JPWO2021029160A1 JPWO2021029160A1 (ja) 2021-02-18
JPWO2021029160A5 JPWO2021029160A5 (ja) 2022-04-15
JP7238997B2 true JP7238997B2 (ja) 2023-03-14

Family

ID=74570553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021539841A Active JP7238997B2 (ja) 2019-08-09 2020-07-06 バックドア検査装置、ユーザ装置、システム、方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220277083A1 (ja)
JP (1) JP7238997B2 (ja)
WO (2) WO2021028971A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024069875A1 (ja) * 2022-09-29 2024-04-04 日本電気株式会社 評価装置、端末、評価システム、評価方法、及び記録媒体
WO2024069876A1 (ja) * 2022-09-29 2024-04-04 日本電気株式会社 評価装置、評価方法、及び、記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007095043A (ja) 2005-08-31 2007-04-12 Mitsubishi Electric Corp 端末装置、接続条件判定装置、セキュリティ保全システム及びセキュリティ保全方法
JP2009098851A (ja) 2007-10-16 2009-05-07 Mitsubishi Electric Corp 不正コード検出システム
JP2019036273A (ja) 2017-08-10 2019-03-07 エーオー カスペルスキー ラボAO Kaspersky Lab ユーザと銀行サービスとの相互通信中における潜在的に危険なデバイスを識別するシステム及び方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282672A (ja) * 1998-03-31 1999-10-15 Hitachi Software Eng Co Ltd オンラインプログラム転送方法およびオンラインプログラム実行システム
US9811665B1 (en) * 2013-07-30 2017-11-07 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
US10581874B1 (en) * 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007095043A (ja) 2005-08-31 2007-04-12 Mitsubishi Electric Corp 端末装置、接続条件判定装置、セキュリティ保全システム及びセキュリティ保全方法
JP2009098851A (ja) 2007-10-16 2009-05-07 Mitsubishi Electric Corp 不正コード検出システム
JP2019036273A (ja) 2017-08-10 2019-03-07 エーオー カスペルスキー ラボAO Kaspersky Lab ユーザと銀行サービスとの相互通信中における潜在的に危険なデバイスを識別するシステム及び方法

Also Published As

Publication number Publication date
WO2021028971A1 (ja) 2021-02-18
US20220277083A1 (en) 2022-09-01
JPWO2021029160A1 (ja) 2021-02-18
WO2021029160A1 (ja) 2021-02-18

Similar Documents

Publication Publication Date Title
US11784823B2 (en) Object signing within a cloud-based architecture
US9497210B2 (en) Stateless attestation system
KR101680525B1 (ko) 앱 위변조 탐지 가능한 2채널 인증 대행 시스템 및 그 방법
US8266676B2 (en) Method to verify the integrity of components on a trusted platform using integrity database services
US8612773B2 (en) Method and system for software installation
CN106687980B (zh) 管理程序和虚拟机保护
KR20060060664A (ko) 리모트 액세스 시스템, 게이트웨이, 클라이언트 기기,프로그램 및 기억 매체
CN105099705B (zh) 一种基于usb协议的安全通信方法及其系统
JP2006139747A (ja) 通信システムおよび安全性保証装置
US20110231662A1 (en) Certificate validation method and validation server
JP7238997B2 (ja) バックドア検査装置、ユーザ装置、システム、方法、及びプログラム
CN104636680A (zh) 维护部件的真实性验证及使用的许可证密钥的提供和获取
Cooper et al. Security considerations for code signing
Fan et al. Ruledger: Ensuring execution integrity in trigger-action IoT platforms
US20140373167A1 (en) Trace center apparatus and method for enabling contents to be traced
WO2019057308A1 (en) SUPPLY OF SUPPORTERS FOR SELLERS
US20130311385A1 (en) Third Party Security Monitoring & Audit
KR100545676B1 (ko) 사용자 단말기의 상태 정보를 이용한 인증 방법 및 시스템
CN113868628A (zh) 一种签名验证方法、装置、计算机设备和存储介质
CN115146284A (zh) 数据处理方法、装置、电子设备和存储介质
KR20150072061A (ko) 모바일 신뢰 모듈 기반 서비스 보안 장치 및 방법
KR102378989B1 (ko) 산업제어시스템 운영 환경을 고려한 취약점 시험 결과 확인 시스템 및 방법
WO2023084561A1 (ja) インストール制御装置、インストール制御方法、共有システム、共有方法及び記憶媒体
CN114301601B (zh) 一种基于Android平台的接口管理方法及终端
WO2022107422A1 (ja) コンピュータシステム、ソフトウェア改竄検証方法、及び非一時的なコンピュータ可読媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220127

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230213

R151 Written notification of patent or utility model registration

Ref document number: 7238997

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151