JP7393269B2 - 端末装置、処理方法及び端末制御システム - Google Patents

端末装置、処理方法及び端末制御システム Download PDF

Info

Publication number
JP7393269B2
JP7393269B2 JP2020053981A JP2020053981A JP7393269B2 JP 7393269 B2 JP7393269 B2 JP 7393269B2 JP 2020053981 A JP2020053981 A JP 2020053981A JP 2020053981 A JP2020053981 A JP 2020053981A JP 7393269 B2 JP7393269 B2 JP 7393269B2
Authority
JP
Japan
Prior art keywords
data
vulnerability
software
processor
terminal device
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
JP2020053981A
Other languages
English (en)
Other versions
JP2021157221A (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.)
Toshiba TEC Corp
Original Assignee
Toshiba TEC 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 Toshiba TEC Corp filed Critical Toshiba TEC Corp
Priority to JP2020053981A priority Critical patent/JP7393269B2/ja
Publication of JP2021157221A publication Critical patent/JP2021157221A/ja
Application granted granted Critical
Publication of JP7393269B2 publication Critical patent/JP7393269B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明の実施形態は、端末装置、処理方法及び端末制御システムに関する。
機器の起動の高速化を目的とした次のような技術がある。すなわち、当該機器のファームウェアを構成するソフトウェアは、当該機器の動作に最低限必要なものと、そうでないものとに分けられている。そして、当該機器は、機器の動作に最低限必要なソフトウェアのみに対して改ざんの有無の検査を行い、改ざんが無い場合には最低限必要なソフトウェアを用いて起動する。さらに、当該機器は、それ以外のソフトウェアに対して改ざんの有無の検査を行い、問題が無ければそれらのソフトウェアを起動する。
また、内部を複数の領域に分割し、複数の領域それぞれに対して個別にアクセス(読み書き)の可否を変更することができる記憶装置としてOpal仕様のSED(self-encrypting device)(Opal-SED)などが知られている。
特開2015-55898号公報
Opal-SEDなどを用いると、機器の動作に最低限必要なソフトウェアと、それ以外のソフトウェアをそれぞれ別の領域に格納することができる。この状態では、ソフトウェアの一部が改ざんされている場合であっても、改ざんがないことが確認された必要最低限の機能のみは動作させる、いわゆる縮退運転が可能となる。
しかしながら、ソフトウェアの改ざんが無いことを根拠に安全であるとみなすことはセキュリティ上の問題がある。既知の脆弱性があるようなソフトウェアが含まれている場合があるためである。
本発明の実施形態が解決しようとする課題は、脆弱性の深刻度が高いソフトウェアを起動しないようにする端末装置、処理方法及び端末制御システムを提供することである。
実施形態の端末装置は、第1の記憶領域、第2の記憶領域及び起動部を備える。第1の記憶領域は、装置の動作に最低限必要なソフトウェアを含む第1のデータを記憶する。第2の記憶領域は、前記装置の動作に最低限必要ではないソフトウェアを含む第2のデータを記憶する。起動部は、前記装置を起動する際、前記第1のデータの脆弱性の深刻度が所定以上である場合、前記装置を起動しない。起動部は、前記第1のデータの脆弱性の深刻度が所定未満であり、前記第2のデータの脆弱性の深刻度が所定以上である場合、前記第2のデータを用いず前記第1のデータを用いて前記装置を起動する。起動部は、前記第1のデータ及び前記第2のデータの脆弱性の深刻度が所定未満である場合、前記第1のデータ及び前記第2のデータを用いて前記装置を起動する。
実施形態に係る端末制御システム及び当該端末制御システムに含まれる構成要素の要部回路構成の一例を示すブロック図。 図1中の端末装置のプロセッサーによる処理の一例を示すフローチャート。 図1中の端末装置のプロセッサーによる処理の一例を示すフローチャート。 図1中の脆弱性算出サーバーのプロセッサーによる処理の一例を示すフローチャート。
以下、実施形態に係る端末制御システムについて図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。また、各図面及び本明細書中において、同一の符号は同様の要素を示す。
図1は、実施形態に係る端末制御システム1及び端末制御システム1に含まれる構成要素の要部回路構成の一例を示すブロック図である。端末制御システム1は、端末装置100、脆弱性算出サーバー200及びデータベースサーバー300を含む。
端末装置100、脆弱性算出サーバー200及びデータベースサーバー300は、ネットワークNWに接続する。ネットワークNWは、典型的にはインターネットを含む通信網である。ネットワークNWは、LAN(local area network)を含む通信網であっても良い。また、ネットワークNWは、専用線又は公衆携帯電話網などを含む通信網であっても良い。
端末装置100は、記憶しているソフトウェアのデータ整合性及び脆弱性に応じて異なる動作をする装置である。端末装置100は、プログラムによって動作する装置である。例えば、端末装置100は、PC(personal computer)、サーバー、携帯機器、POS(point of sale)端末、事務機器、産業用コンピューター、組み込み機器、又はIoT機器などである。端末装置100は、一例として、プロセッサー101、ROM(read-only memory)102、RAM(random-access memory)103、補助記憶装置104、アクセス制御部105、通信インターフェース106、入力装置107及び表示装置108を含む。そして、バス109などが、これら各部を接続する。
プロセッサー101は、端末装置100の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー101は、ROM102又は補助記憶装置104などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、端末装置100の各種の機能を実現するべく各部を制御する。また、プロセッサー101は、当該プログラムに基づいて後述する処理を実行する。なお、当該プログラムの一部又は全部は、プロセッサー101の回路内に組み込まれていても良い。プロセッサー101は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)、GPU(graphics processing unit)、ASIC(application specific integrated circuit)、PLD(programmable logic device)又はFPGA(field-programmable gate array)などである。あるいは、プロセッサー101は、これらのうちの複数を組み合わせたものである。
ROM102は、プロセッサー101を中枢とするコンピューターの主記憶装置に相当する。ROM102は、専らデータの読み出しに用いられる不揮発性メモリである。ROM102は、上記のプログラムのうち、例えばファームウェアなどを記憶する。当該ファームウェアは、例えば、BIOS(Basic Input/Output System)又はUEFI(Unified Extensible Firmware Interface)などである。また、ROM102は、プロセッサー101が各種の処理を行う上で使用するデータなども記憶する。
RAM103は、プロセッサー101を中枢とするコンピューターの主記憶装置に相当する。RAM103は、データの読み書きに用いられるメモリである。RAM103は、プロセッサー101が各種の処理を行う上で一時的に使用するデータを記憶するワークエリアなどとして利用される。RAM103は、典型的には揮発性メモリである。
補助記憶装置104は、プロセッサー101を中枢とするコンピューターの補助記憶装置に相当する。補助記憶装置104は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はフラッシュメモリなどである。補助記憶装置104は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶装置104は、プロセッサー101が各種の処理を行う上で使用するデータ、プロセッサー101での処理によって生成されたデータ及び各種の設定値などを記憶する。
補助記憶装置104は、例えば、TCG(Trusted Computing Group)により策定されたOpal仕様準拠の自己暗号化ドライブ(SED)である。したがって、補助記憶装置104は、データを暗号化して記憶している。
補助記憶装置104の記憶領域は、第1の記憶領域1041及び第2の記憶領域1042を含む。なお、第1の記憶領域1041及び第2の記憶領域1042は、例えばレンジなどによって区切られる。
第1の記憶領域1041は、端末装置100の動作に必須な(最低限必要な)データの全てを記憶する。当該データは、端末装置100の動作に必須な(最低限必要な)ソフトウェアを全て含む。当該ソフトウェアには、例えばOS(operating system)などが含まれる。なお、第1の記憶領域1041に記憶されたデータは、第1のデータである。
ただし、第1の記憶領域1041は、端末装置100の動作に必須な(最低限必要な)データ以外も記憶していても良い。ただし、端末装置100の動作に最低限な必要なデータのみを記憶していることが好ましい。第1の記憶領域1041は、アクセス制御部105によってアクセス不可に設定されている。なお、第2の記憶領域1042に記憶されたデータは、第2のデータである。
第2の記憶領域1042は、端末装置100の動作に必須ではないソフトウェア及びデータのみを記憶する。
ただし、第2の記憶領域1042は、端末装置100の動作に必須なデータのコピーは記憶していても良い。なぜならば、当該コピーは、端末装置100の動作に必須なデータではないためである。第2の記憶領域1042は、アクセス制御部105によってアクセス不可に設定されている。
アクセス制御部105は、補助記憶装置104のアクセス制御を行う。アクセス制御部105は、補助記憶装置104に内蔵されていても良い。また、プロセッサー101が、BIOS又はUEFIなどに基づいてアクセス制御部105として動作しても良い。
通信インターフェース106は、端末装置100がネットワークNWなどを介して通信するためのインターフェースである。
入力装置107は、端末装置100の操作者による操作を受け付ける。入力装置107は、例えば、キーボード、キーパッド、タッチパッド又はマウスなどである。
表示装置108は、端末装置100の操作者に各種情報を通知するための画像を表示する。なお、文字なども画像である。表示装置108は、例えば、液晶ディスプレイ又は有機EL(electro-luminescence)ディスプレイなどのディスプレイである。また、入力装置107及び表示装置108としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示装置108として、タッチパネルが備えるタッチパッドを入力装置107として用いることができる。
バス109は、コントロールバス、アドレスバス及びデータバスなどを含み、端末装置100の各部で授受される信号を伝送する。
以下、実施形態に係る端末装置100の動作を図2~図4などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図2及び図3は、端末装置100のプロセッサー101による処理の一例を示すフローチャートである。プロセッサー101は、例えば、ROM102又は補助記憶装置104などに記憶されたプログラムに基づいて図2及び図3の処理を実行する。図4は、脆弱性算出サーバー200のプロセッサー201による処理の一例を示すフローチャートである。プロセッサー201は、例えば、ROM202又は補助記憶装置204などに記憶されたプログラムに基づいて図4の処理を実行する。
プロセッサー101は、例えば、端末装置100の起動開始にともない図2及び図3に示す処理を開始する。
脆弱性算出サーバー200は、ソフトウェアの脆弱性の評価及びデータ整合性を検証するサーバー装置である。脆弱性算出サーバー200は、一例として、プロセッサー201、ROM202、RAM203、補助記憶装置204及び通信インターフェース205を含む。そして、バス206などが、これら各部を接続する。
プロセッサー201は、脆弱性算出サーバー200の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー201は、ROM202又は補助記憶装置204などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、脆弱性算出サーバー200の各種の機能を実現するべく各部を制御する。また、プロセッサー201は、当該プログラムに基づいて後述する処理を実行する。なお、当該プログラムの一部又は全部は、プロセッサー201の回路内に組み込まれていても良い。プロセッサー201は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー201は、これらのうちの複数を組み合わせたものである。
ROM202は、プロセッサー201を中枢とするコンピューターの主記憶装置に相当する。ROM202は、専らデータの読み出しに用いられる不揮発性メモリである。ROM202は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM202は、プロセッサー201が各種の処理を行う上で使用するデータなども記憶する。
RAM203は、プロセッサー201を中枢とするコンピューターの主記憶装置に相当する。RAM203は、データの読み書きに用いられるメモリである。RAM203は、プロセッサー201が各種の処理を行う上で一時的に使用するデータを記憶するワークエリアなどとして利用される。RAM203は、典型的には揮発性メモリである。
補助記憶装置204は、プロセッサー201を中枢とするコンピューターの補助記憶装置に相当する。補助記憶装置204は、例えばEEPROM、HDD又はフラッシュメモリなどである。補助記憶装置204は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶装置204は、プロセッサー201が各種の処理を行う上で使用するデータ、プロセッサー201での処理によって生成されたデータ及び各種の設定値などを記憶する。
また、補助記憶装置204は、ソフトウェアデータベース2041を記憶する。ソフトウェアデータベース2041は、端末装置100にインストールされる各ソフトウェアについての情報を記憶及び管理する。ソフトウェアデータベース2041は、当該各ソフトウェアの各バージョンのデータの真正のハッシュ値を記憶する。
通信インターフェース205は、脆弱性算出サーバー200がネットワークNWなどを介して通信するためのインターフェースである。
バス206は、コントロールバス、アドレスバス及びデータバスなどを含み、脆弱性算出サーバー200の各部で授受される信号を伝送する。
データベースサーバー300は、脆弱性データベース301を記憶する。
脆弱性データベース301は、脆弱性の評価などに用いることができるデータベースである。脆弱性データベース301は、例えば、JVN(Japan Vulnerability Notes)などの脆弱性情報データベースである。
以下、実施形態に係る端末制御システム1の動作を図2~図4などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図2及び図3は、端末装置100のプロセッサー101による処理の一例を示すフローチャートである。プロセッサー101は、例えば、ROM102又は補助記憶装置104などに記憶されたプログラムに基づいて図2及び図3の処理を実行する。図4は、脆弱性算出サーバー200のプロセッサー201による処理の一例を示すフローチャートである。プロセッサー201は、例えば、ROM202又は補助記憶装置204などに記憶されたプログラムに基づいて図4の処理を実行する。
端末装置100のプロセッサー101は、例えば、端末装置100の起動開始にともない図2及び図3に示す処理を開始する。
図2のACT11において端末装置100のプロセッサー101は、第1の記憶領域1041へのアクセスを許可するようにアクセス制御部105に指示する。当該指示に応じて、アクセス制御部105は、第1の記憶領域1041へのアクセスを許可するように補助記憶装置104の設定を変更する。これにより、プロセッサー101は、第1の記憶領域1041へのアクセスが可能となり、第1の記憶領域1041に記憶されたソフトウェアの起動、及び当該ソフトウェアに関する情報の取得などが可能となる。
ACT12においてプロセッサー101は、第1の記憶領域1041に記憶されたソフトウェアそれぞれのバージョンを示すバージョン情報を取得する。当該バージョン情報は、例えば、各ソフトウェアに含まれる。
ACT13においてプロセッサー101は、第1の記憶領域1041に記憶されたソフトウェアそれぞれのハッシュ値を取得する。例えば、プロセッサー101は、各ソフトウェアのデータの一部又は全部を入力値としてハッシュ値を算出することでハッシュ値を取得する。
ACT14においてプロセッサー101は、第1のソフトウェア情報を生成する。第1のソフトウェア情報は、第1の記憶領域1041に記憶されたソフトウェアそれぞれについての各種情報を含む。当該各種情報は、ACT12で取得されたバージョン情報及びACT13で取得されたハッシュ値を含む。プロセッサー101は、第1のソフトウェア情報を生成した後、当該第1のソフトウェア情報を脆弱性算出サーバー200に送信するように通信インターフェース106に対して指示する。この送信の指示を受けて通信インターフェース106は、当該第1のソフトウェア情報を脆弱性算出サーバー200に送信する。送信された当該第1のソフトウェア情報は、脆弱性算出サーバー200の通信インターフェース205によって受信される。
一方、図4のACT41において脆弱性算出サーバー200のプロセッサー201は、通信インターフェース205によってソフトウェア情報が受信されるのを待ち受けている。なお、ソフトウェア情報には、第1のソフトウェア情報と第2のソフトウェア情報の2種類がある。プロセッサー201は、ソフトウェア情報が受信されたならば、ACT41においてYesと判定してACT42へと進む。なお、ここで受信されたソフトウェア情報を、以下「受信ソフトウェア情報」という。受信ソフトウェア情報にハッシュ値及びバージョン情報が含まれるソフトウェアを、以下「対象ソフトウェア」という。
ACT42においてプロセッサー201は、対象ソフトウェアそれぞれについてデータの整合性を検証する。受信ソフトウェア情報には、対象ソフトウェアそれぞれのバージョン情報が含まれる。したがって、プロセッサー201は、ソフトウェアデータベース2041を参照して、対象ソフトウェアのバージョン情報が示すバージョンのハッシュ値を取得する。そして、プロセッサー201は、取得したハッシュ値と、受信ソフトウェア情報に含まれる対象ソフトウェアのハッシュ値が一致するか否かを判定する。一致すれば、受信ソフトウェア情報に含まれるハッシュ値の算出元のデータが正しいデータであることを示す。対して、一致しなければ、受信ソフトウェア情報に含まれるハッシュ値の算出元のデータが改ざん又は破損などにより正しくないデータとなっていることを示す。
ACT43においてプロセッサー201は、対象ソフトウェアのバージョン情報などを用いて、対象ソフトウェアの脆弱性を評価する。例えば、プロセッサー201は、受信ソフトウェアに含まれる対象ソフトウェアのバージョン情報から、各対象ソフトウェアの脆弱性を評価してそれぞれ数値(以下「単体脆弱性ポイント」という。)として示す。単体脆弱性ポイントは、それぞれが1つの対象ソフトウェアについての脆弱性を示す。そして、プロセッサー201は、例えば、各対象ソフトウェアの単体脆弱性ポイントから、対象ソフトウェア全体の脆弱性を示す数値(以下「総合脆弱性ポイント」という。)を求める。例えば、プロセッサー201は、各対象ソフトウェアの単体脆弱性ポイントを足し合わせた数値を総合脆弱性ポイントとする。あるいは、プロセッサー201は、その他の法則により、単体脆弱性ポイントから総合脆弱性ポイントを求めても良い。なお、単体脆弱性ポイント及び総合脆弱性ポイントは、脆弱性の深刻度を数値として示したものであり、ここでは数値が大きいほど脆弱性の深刻度が高い(セキュリティ上の問題が大きい)ことを示すものとする。また、反対に、単体脆弱性ポイント及び総合脆弱性ポイントは、数値が小さいほど安全度が高いことを示すといえる。単体脆弱性ポイント及び総合脆弱性ポイントは、脆弱性の深刻度を示す評価値の例である。
以上より、プロセッサー201は、ACT43の処理を行うことで、第1のデータ及び第2のデータの脆弱性の深刻度を評価する評価部として機能する。
プロセッサー201は、対象ソフトウェアの脆弱性を評価するために、例えば、当該対象ソフトウェアのベンダー名(ソフトウェア製作者名)、名称及びバージョンなどの情報に基づき、脆弱性データベース301を参照することで、当該対象ソフトウェアにどのような脆弱性があるかを調べる。なお、脆弱性算出サーバー200は、通信インターフェース205を介してデータベースサーバー300にアクセスすることで脆弱性データベース301を参照する。
そして、プロセッサー201は、当該対象ソフトウェアの脆弱性それぞれについて、CVSS(Common Vulnerability Scoring System)などにより深刻度の値を調べる。さらに、プロセッサー201は、脆弱性の深刻度の値の中で最大の値を当該対象ソフトウェアの単体脆弱性ポイントとする。あるいは、プロセッサー201は、脆弱性の深刻度の値を全て足し合わせたものを当該対象ソフトウェアの単体脆弱性ポイントとする。
また、プロセッサー201は、2種類以上の対象ソフトウェアの組み合わせの影響を考慮して脆弱性を評価しても良い。例えば、プロセッサー201は、特定の対象ソフトウェアの特定のバージョンと、当該特定の対象ソフトウェアとは別の対象ソフトウェアの特定のバージョンとを組み合わせると脆弱性の深刻度が高まることを考慮して総合脆弱性ポイントを評価する。
ACT44においてプロセッサー201は、対象ソフトウェア全てのデータに整合性があるか否かを判定する。プロセッサー201は、受信ソフトウェア情報に含まれる全てのハッシュ値それぞれと、ソフトウェアデータベース2041から取得したそれぞれのハッシュ値とが一致するならば、対象ソフトウェア全てのデータに整合性があると判定する。プロセッサー201は、対象ソフトウェア全てのデータに整合性があると判定するならば、ACT44においてYesと判定してACT45へと進む。
ACT45においてプロセッサー201は、対象ソフトウェアの脆弱性の深刻度が所定以上に高いか否かを判定する。プロセッサー201は、例えば、ACT43で求めた総合脆弱性ポイントが閾値Ta以上であるならば、対象ソフトウェアの脆弱性の深刻度が所定以上に高いと判定する。また、プロセッサー201は、ACT43で求めた単体脆弱性ポイントのいずれかが閾値Tb以上であるならば、対象ソフトウェアの脆弱性の深刻度が所定以上に高いと判定しても良い。なお、閾値Ta及び閾値Tbは、例えば、脆弱性算出サーバー200の管理者、又は図4に示す処理のプログラムの設計者などによって予め定められる。プロセッサー201は、対象ソフトウェアの脆弱性の深刻度が所定よりも低いと判定するならば、ACT45においてNoと判定してACT46へと進む。
ACT46においてプロセッサー201は、許可情報を脆弱性算出サーバー200に送信するように通信インターフェース106に対して指示する。許可情報は、対象ソフトウェアの起動を許可することを受信ソフトウェア情報の送信元に示す情報である。この送信の指示を受けて通信インターフェース106は、当該許可情報を脆弱性算出サーバー200に送信する。送信された当該許可情報は、脆弱性算出サーバー200の通信インターフェース205によって受信される。プロセッサー201は、ACT46の処理の後、ACT41へと戻る。
また、プロセッサー201は、いずれかの対象ソフトウェアのデータに整合性がないと判定するならば、ACT44においてNoと判定してACT47へと進む。
ACT47においてプロセッサー201は、ACT45と同様にして、対象ソフトウェアの脆弱性の深刻度が所定以上に高いか否かを判定する。プロセッサー201は、対象ソフトウェアの脆弱性の深刻度が所定以上に高いと判定するならば、ACT47においてYesと判定してACT48へと進む。
ACT48においてプロセッサー201は、不許可情報を生成する。不許可情報は、対象ソフトウェアの起動を許可しないことを受信ソフトウェア情報の送信元に示す情報である。また、不許可情報は、理由情報を含む。理由情報は、対象ソフトウェアの起動を許可しない理由を示す情報である。ここでは、理由情報が示す理由は、対象ソフトウェアのデータに整合性がないこと、及び対象ソフトウェアの脆弱性の深刻度が所定以上に高いことである。また、理由情報は、どの対象ソフトウェアのデータに整合性がないかも示す。さらに、理由情報は、各対象ソフトウェアについての脆弱性も、単体脆弱性ポイントなどによって示す。プロセッサー201は、不許可情報を生成した後、当該不許可情報を脆弱性算出サーバー200に送信するように通信インターフェース205に対して指示する。この送信の指示を受けて通信インターフェース205は、当該不許可情報を端末装置100に送信する。送信された当該不許可情報は、端末装置100の通信インターフェース106によって受信される。プロセッサー201は、ACT48の処理の後、ACT41へと戻る。
また、プロセッサー201は、ACT47において対象ソフトウェアの脆弱性の深刻度が所定よりも低いと判定するならば、Noと判定してACT49へと進む。
ACT49においてプロセッサー201は、不許可情報を生成する。ここでは、理由情報が示す理由は、対象ソフトウェアのデータに整合性がないことである。プロセッサー201は、不許可情報を生成した後、当該不許可情報を端末装置100に送信するように通信インターフェース205に対して指示する。この送信の指示を受けて通信インターフェース205は、当該不許可情報を端末装置100に送信する。送信された当該不許可情報は、端末装置100の通信インターフェース106によって受信される。プロセッサー201は、ACT49の処理の後、ACT41へと戻る。
また、プロセッサー201は、ACT45において対象ソフトウェアの脆弱性の深刻度が所定以上に高いと判定するならば、Yesと判定してACT50へと進む。
ACT50においてプロセッサー201は、不許可情報を生成する。ここでは、理由情報が示す理由は、対象ソフトウェアの脆弱性の深刻度が所定以上に高いことである。プロセッサー201は、不許可情報を生成した後、当該不許可情報を端末装置100に送信するように通信インターフェース205に対して指示する。この送信の指示を受けて通信インターフェース205は、当該不許可情報を端末装置100に送信する。送信された当該不許可情報は、端末装置100の通信インターフェース106によって受信される。プロセッサー201は、ACT50の処理の後、ACT41へと戻る。
以上より、プロセッサー201は、許可情報又は不許可情報を送信させることで、端末装置100を起動する又は起動しないように指示する指示部として機能する。
一方、図2のACT15において端末装置100のプロセッサー101は、通信インターフェース106によって許可情報又は不許可情報が受信されるのを待ち受けている。プロセッサー101は、許可情報又は不許可情報が受信されたならば、ACT15においてYesと判定してACT16へと進む。
ACT16においてプロセッサー101は、脆弱性算出サーバー200から対象ソフトウェアの起動許可を得たか否かを判定する。なお、ここでの対象ソフトウェアは、第1の記憶領域1041に記憶されたソフトウェアである。プロセッサー101は、ACT15で不許可情報を受信した、すなわち対象ソフトウェアの起動許可を得られなかったならば、ACT16においてNoと判定してACT17へと進む。
ACT17においてプロセッサー101は、第1のエラー画面に対応した画像を生成する。そして、プロセッサー101は、生成したこの画像を表示するように表示装置108に対して指示する。表示の指示を受けて表示装置108は、第1のエラー画面を表示する。
第1のエラー画面は、端末装置100の起動を中止することを示す表示を含む。また、エラー画面は、ACT15で受信された不許可情報に含まれる理由情報が示す情報の表示を含む。
ACT18においてプロセッサー101は、第1の記憶領域1041へのアクセスを禁止するようにアクセス制御部105に指示する。当該指示に応じて、アクセス制御部105は、第1の記憶領域1041へのアクセスを禁止するように補助記憶装置104の設定を変更する。プロセッサー101は、ACT18の処理の後、図2及び図3に示す処理を終了する。
対して、プロセッサー101は、許可情報を受信した、すなわち対象ソフトウェアの起動許可を得たならば、ACT16においてYesと判定してACT19へと進む。
ACT19においてプロセッサー101は、第1の記憶領域1041に記憶されたOSなどを含むソフトウェアを起動する。これにより、端末装置100は、動作が可能となる。プロセッサー101は、ACT19の処理の後、図3のACT20へと進む。
以上より、プロセッサー101は、ACT14~ACT16の処理を行うことで、第1のデータの脆弱性の深刻度が所定以上である場合端末装置100を起動しない起動部として機能する。また、プロセッサー101は、ACT14~ACT16及びACT19の処理を行うことで、前記第1のデータの脆弱性の深刻度が所定未満である場合第1のデータを用いて端末装置100を起動する起動部として機能する。
ACT20においてプロセッサー101は、第2の記憶領域1042へのアクセスを許可するようにアクセス制御部105に指示する。当該指示に応じて、アクセス制御部105は、第2の記憶領域1042へのアクセスを許可するように補助記憶装置104の設定を変更する。これにより、プロセッサー101は、第2の記憶領域1042へのアクセスが可能となり、第2の記憶領域1042に記憶されたソフトウェアの起動、及び当該ソフトウェアに関する情報の取得などが可能となる。
ACT21においてプロセッサー101は、第2の記憶領域1042に記憶されたソフトウェアそれぞれのバージョンを示すバージョン情報を取得する。当該バージョン情報は、例えば、各ソフトウェアに含まれる。
ACT22においてプロセッサー101は、第2の記憶領域1042に記憶されたソフトウェアそれぞれのハッシュ値を取得する。例えば、プロセッサー101は、各ソフトウェアのデータの一部又は全部を入力値としてハッシュ値を算出することでハッシュ値を取得する。
ACT23においてプロセッサー101は、第2のソフトウェア情報を生成する。第2のソフトウェア情報は、第2の記憶領域1042に記憶されたソフトウェアそれぞれについての各種情報を含む。当該各種情報は、ACT21で取得されたバージョン情報及びACT22で取得されたハッシュ値を含む。プロセッサー101は、第2のソフトウェア情報を生成した後、当該第2のソフトウェア情報を脆弱性算出サーバー200に送信するように通信インターフェース106に対して指示する。この送信の指示を受けて通信インターフェース106は、当該第2のソフトウェア情報を脆弱性算出サーバー200に送信する。送信された当該第2のソフトウェア情報は、脆弱性算出サーバー200の通信インターフェース205によって受信される。
第2のソフトウェア情報を受信した脆弱性算出サーバー200は、第1のソフトウェア情報を受信した場合と同様に処理を行う。ただし、脆弱性算出サーバー200は、図4のACT45において、閾値Taに代えて閾値Tcを、閾値Tbに代えて閾値Tdを用いる。閾値Tcは、閾値Taと同じであっても異なっていても良い。閾値Tdは、閾値Tbと同じであっても異なっていても良い。そして、脆弱性算出サーバー200は、許可情報又は不許可情報を端末装置100に送信する。
ACT24においてプロセッサー101は、通信インターフェース106によって許可情報又は不許可情報が受信されるのを待ち受けている。プロセッサー101は、許可情報又は不許可情報が受信されたならば、ACT24においてYesと判定してACT25へと進む。
ACT25においてプロセッサー101は、脆弱性算出サーバー200から対象ソフトウェアの起動許可を得たか否かを判定する。なお、ここでの対象ソフトウェアは、第2の記憶領域1042に記憶されたソフトウェアである。プロセッサー101は、不許可情報を受信した、すなわち対象ソフトウェアの起動許可を得られなかったならば、ACT25においてNoと判定してACT26へと進む。
ACT26においてプロセッサー101は、第2のエラー画面に対応した画像を生成する。そして、プロセッサー101は、生成したこの画像を表示するように表示装置108に対して指示する。表示の指示を受けて表示装置108は、第2のエラー画面を表示する。
第2のエラー画面は、第2の記憶領域1042に記憶されたソフトウェアの起動を中止すること、及び動作に最低限必要なソフトウェアを用いて端末装置100を起動していることを示す表示を含む。また、エラー画面は、ACT24で受信された不許可情報に含まれる理由情報が示す情報の表示を含む。
ACT27においてプロセッサー101は、第2の記憶領域1042へのアクセスを禁止するようにアクセス制御部105に指示する。当該指示に応じて、アクセス制御部105は、第2の記憶領域1042へのアクセスを禁止するように補助記憶装置104の設定を変更する。
対して、プロセッサー101は、許可情報を受信した、すなわち対象ソフトウェアの起動許可を得たならば、ACT25においてYesと判定してACT28へと進む。
ACT28においてプロセッサー101は、第2の記憶領域1042に記憶されたソフトウェアを起動する。これにより、端末装置100は、起動が完了する。
以上より、プロセッサー101は、ACT14~ACT16、ACT19及びACT23~ACT25の処理を行うことで、第2のデータの脆弱性の深刻度が所定以上である場合、第2のデータを用いず端末装置100を起動する起動部として機能する。また、プロセッサー101は、ACT14~ACT16、ACT19、ACT23~ACT25及びACT28の処理を行うことで、第2のデータの脆弱性の深刻度が所定未満である場合、第2のデータを用いて端末装置100を起動する起動部として機能する。また、プロセッサー101は、ACT15、ACT16、ACT19、ACT24、ACT25及びACT28の処理を行うことで、脆弱性算出サーバー200の指示に基づいて端末装置100を起動する起動部として機能する。
プロセッサー101は、ACT27又はACT28の処理の後、ACT29へと進む。
ACT29においてプロセッサー101は、端末装置100をシャットダウンするように指示する入力を受けるのを待ち受ける。プロセッサー101は、端末装置100をシャットダウンするように指示する入力を受けたならば、ACT29においてYesと判定してACT30へと進む。
ACT30においてプロセッサー101は、OSなどを含む起動中のソフトウェア全てを終了する。
ACT31においてプロセッサー101は、第1の記憶領域1041及び第2の記憶領域1042へのアクセスを禁止するようにアクセス制御部105に指示する。当該指示に応じて、アクセス制御部105は、第1の記憶領域1041及び第2の記憶領域1042のうち、アクセスを許可する設定となっているものについて、アクセスを禁止するように補助記憶装置104の設定を変更する。これにより、補助記憶装置104の設定が図2及び図3の処理の開始前の状態に戻る。プロセッサー101は、ACT31の処理の後、図2及び図3に示す処理を終了する。
実施形態の端末制御システム1によれば、端末装置100は、第1の記憶領域1041に、端末装置100の動作に最低限必要なソフトウェアを記憶する。また、端末装置100は、第2の記憶領域1042に、端末装置100の動作に最低限必要でないソフトウェアを記憶する。そして、端末装置100は、第1の記憶領域内のソフトウェアの脆弱性の深刻度が所定以上に高い場合、端末装置100の起動を中止する。これにより、実施形態の端末装置100は、セクリティリスクが高い状態で端末装置100が起動することを防ぐ。
また、実施形態の端末装置100は、第1の記憶領域内のソフトウェアの脆弱性の深刻度が所定未満であり、第2の記憶領域内のソフトウェアの脆弱性の深刻度が所定以上に高い場合、第1の記憶領域内のソフトウェアのみを用いて端末装置100を起動する。そして、第1の記憶領域内のソフトウェア及び第2の記憶領域内のソフトウェアの脆弱性の深刻度がいずれも所定未満である場合、第1の記憶領域内のソフトウェア及び第2の記憶領域内のソフトウェアを用いて端末装置100を起動する。したがって、実施形態の端末装置100は、第2の記憶領域内のソフトウェアの脆弱性の深刻度が所定以上である場合には、第2の記憶領域内のソフトウェアを起動しないことで、第2の記憶領域内のセキュリティリスクが第2の記憶領域外に広がることなどを防ぐ。また、実施形態の端末装置100は第2の記憶領域内のソフトウェアを起動しなくても、第1の記憶領域内のソフトウェアを用いて起動及び動作が可能である。
また、実施形態の端末装置100は、第1の記憶領域内のソフトウェアのデータに整合性が無い場合、端末装置100の起動を中止する。これにより、実施形態の端末装置100は、セクリティリスクが高い状態で端末装置100が起動することを防ぐ。
また、実施形態の端末装置100は、第2の記憶領域内のソフトウェアのデータに整合性が無い場合、第2の記憶領域内のソフトウェアを用いずに端末装置100を起動する。これにより、実施形態の端末装置100は、第2の記憶領域内のソフトウェアのデータに整合性が無い場合、第2の記憶領域内のソフトウェアを起動しないことで、第2の記憶領域内のセキュリティリスクが第2の記憶領域外に広がることなどを防ぐ。
上記の実施形態は以下のような変形も可能である。
上記の実施形態では、対象ソフトウェアの起動の可否を脆弱性算出サーバー200が判定した。しかしながら、端末装置100が対象ソフトウェアの起動の可否を判定しても良い。この場合、脆弱性算出サーバー200は、許可情報又は不許可情報に代えて、ACT42の整合性の検証結果、及びACT43の対象ソフトウェアの脆弱性の評価を示す情報を送信する。当該情報を受信した端末装置100のプロセッサー101は、当該情報に基づき、対象ソフトウェアの起動の可否を判定する。なお、判定の方法は、上記の実施形態における脆弱性算出サーバー200と同様で良い。
上記の実施形態では、脆弱性算出サーバー200は、対象ソフトウェアのいずれかのデータの整合性が無い場合、対象ソフトウェアの起動を許可しない。しかしながら、脆弱性算出サーバー200は、端末装置100の動作への影響が少ない対象ソフトウェアのみがデータの整合性が無く、他の対象ソフトウェアについてはデータの整合性がある場合、対象ソフトウェアの起動を許可してもよい。なお、どのソフトウェアが端末装置100の動作への影響が少ないかについては、予めソフトウェアデータベース2041が記憶しておく。
脆弱性算出サーバー200のプロセッサー201は、対象ソフトウェアのデータの整合性の有無を用いて、脆弱性を示す数値を求めても良い。例えば、プロセッサー201は、対象ソフトウェアのデータの整合性が無い場合、総合脆弱性ポイントを増加させる。なお、プロセッサー201は、端末装置100の動作への影響が多いソフトウェアほど、データの整合性が無い場合の総合脆弱性ポイントを増加させる量を大きくする。なお、各ソフトウェアの端末装置100の動作への影響については、予めソフトウェアデータベース2041が記憶しておく。以上のように処理する場合、プロセッサー201は、ACT43の処理の後、ACT44の処理をスキップしてACT45へと進む。
上記の実施形態において脆弱性算出サーバー200が行う処理の一部又は全部を端末装置100が行っても良い。
上記の実施形態において端末装置100が行う処理の一部を脆弱性算出サーバー200が行っても良い。
プロセッサー101及びプロセッサー201は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。
上記実施形態における各装置は、例えば、上記の各処理を実行するためのプログラムが記憶された状態で各装置の管理者などへと譲渡される。あるいは、当該各装置は、当該プログラムが記憶されない状態で当該管理者などに譲渡される。そして、当該プログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作に基づいて当該各装置に記憶される。このときのプログラムの譲渡は、例えば、ディスクメディア又は半導体メモリなどのようなリムーバブルな記憶媒体を用いて、あるいはインターネット又はLANなどを介したダウンロードにより実現できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1……端末制御システム、100……端末装置、101,201……プロセッサー、102,202……ROM、103,203……RAM、104,204……補助記憶装置、105……アクセス制御部、106,205……通信インターフェース、107……入力装置、108……表示装置、109,206……バス、200……脆弱性算出サーバー、300……データベースサーバー、301……脆弱性データベース、1041……第1の記憶領域、1042……第2の記憶領域、2041……ソフトウェアデータベース

Claims (5)

  1. 装置の動作に最低限必要なソフトウェアを含む第1のデータを記憶する第1の記憶領域と、
    前記装置の動作に最低限必要ではないソフトウェアを含む第2のデータを記憶する第2の記憶領域と、
    前記装置を起動する際、前記第1のデータの脆弱性の深刻度が所定以上である場合、前記装置を起動せず、前記第1のデータの脆弱性の深刻度が所定未満であり、前記第2のデータの脆弱性の深刻度が所定以上である場合、前記第2のデータを用いず前記第1のデータを用いて前記装置を起動し、前記第1のデータ及び前記第2のデータの脆弱性の深刻度が所定未満である場合、前記第1のデータ及び前記第2のデータを用いて前記装置を起動する起動部と、を備える端末装置。
  2. 前記起動部は、前記第1のデータの整合性が無い場合、前記装置を起動しない、請求項1に記載の端末装置。
  3. 前記起動部は、前記第2のデータの整合性が無い場合において前記装置を起動する場合、前記第2のデータを用いずに前記装置を起動する、請求項1又は請求項2に記載の端末装置。
  4. 端末装置が実行する処理方法であって、
    装置の動作に最低限必要なソフトウェアを含む第1のデータを記憶する第1の記憶領域、及び前記装置の動作に最低限必要ではないソフトウェアを含む第2のデータを記憶する第2の記憶領域を備える前記装置を起動する際、前記第1のデータの脆弱性の深刻度が所定以上である場合、前記装置を起動せず、前記第1のデータの脆弱性の深刻度が所定未満であり、前記第2のデータの脆弱性の深刻度が所定以上である場合、前記第2のデータを用いず前記第1のデータを用いて前記装置を起動し、前記第1のデータ及び前記第2のデータの脆弱性の深刻度が所定未満である場合には前記第1のデータ及び前記第2のデータを用いて前記装置を起動する、処理方法。
  5. 端末装置及びサーバー装置を含み、
    前記端末装置は、
    装置の動作に最低限必要なソフトウェアを含む第1のデータを記憶する第1の記憶領域と、
    前記装置の動作に最低限必要ではないソフトウェアを含む第2のデータを記憶する第2の記憶領域と、
    前記サーバー装置の指示に基づいて前記装置を起動する起動部と、を備え、
    前記サーバー装置は、
    前記第1のデータ及び前記第2のデータの脆弱性の深刻度を評価する評価部と、
    前記第1のデータの脆弱性の深刻度が所定以上である場合、前記装置を起動しないよう前記端末装置に指示し、前記第1のデータの脆弱性の深刻度が所定未満であり、前記第2のデータの脆弱性の深刻度が所定以上である場合、前記第2のデータを用いず前記第1のデータを用いて前記装置を起動するように前記端末装置に指示し、前記第1のデータ及び前記第2のデータの脆弱性の深刻度が所定未満である場合には前記第1のデータ及び前記第2のデータを用いて前記装置を起動するように前記端末装置に指示する指示部と、を備える、端末制御システム。
JP2020053981A 2020-03-25 2020-03-25 端末装置、処理方法及び端末制御システム Active JP7393269B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020053981A JP7393269B2 (ja) 2020-03-25 2020-03-25 端末装置、処理方法及び端末制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020053981A JP7393269B2 (ja) 2020-03-25 2020-03-25 端末装置、処理方法及び端末制御システム

Publications (2)

Publication Number Publication Date
JP2021157221A JP2021157221A (ja) 2021-10-07
JP7393269B2 true JP7393269B2 (ja) 2023-12-06

Family

ID=77917773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020053981A Active JP7393269B2 (ja) 2020-03-25 2020-03-25 端末装置、処理方法及び端末制御システム

Country Status (1)

Country Link
JP (1) JP7393269B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170353482A1 (en) 2016-06-01 2017-12-07 Mastercard International Incorporated Systems and Methods for Use in Evaluating Vulnerability Risks Associated With Payment Applications
JP6639615B1 (ja) 2018-11-02 2020-02-05 三菱電機株式会社 制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170353482A1 (en) 2016-06-01 2017-12-07 Mastercard International Incorporated Systems and Methods for Use in Evaluating Vulnerability Risks Associated With Payment Applications
JP6639615B1 (ja) 2018-11-02 2020-02-05 三菱電機株式会社 制御装置

Also Published As

Publication number Publication date
JP2021157221A (ja) 2021-10-07

Similar Documents

Publication Publication Date Title
CN105453103B (zh) 按照参考平台清单和数据封装的安全操作系统启动
TWI446204B (zh) 藉由預防未經授權之開機載入程式的安全執行環境
US7533274B2 (en) Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code
CN103718165B (zh) Bios闪存攻击保护和通知
US10275599B2 (en) Device and method for providing trusted platform module services
EP3047375B1 (en) Virtual machine manager facilitated selective code integrity enforcement
US9710652B1 (en) Verifying boot process of electronic device
US9740866B2 (en) Automatic measuring boot process using an automatic measuring processor coupled to a memory
CN103262092B (zh) 基于存储驱动器的防恶意软件方法和装置
JP2023512428A (ja) ハードウェアエンクレーブを使用して商用オフザシェルフプログラムバイナリを盗用から保護すること
JP6925542B2 (ja) ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム
CN102289612A (zh) 用于安全协处理器中的n元局部性的系统和方法
TW201619866A (zh) 客製化資訊設備的方法
US20170140149A1 (en) Detecting malign code in unused firmware memory
TWI570591B (zh) 允許測試金鑰用於bios安裝之技術
US8108905B2 (en) System and method for an isolated process to control address translation
JP7393269B2 (ja) 端末装置、処理方法及び端末制御システム
CN113449283A (zh) 由主机软件下载的基于非rom的ip固件验证
US20220237297A1 (en) Secure coprocessor enforced system firmware feature enablement
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
CN108595981B (zh) 加密安卓系统的方法
JP7320415B2 (ja) 処理装置及び起動方法
JP2019133220A (ja) 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム
JP2018156505A (ja) 情報処理システム、情報処理方法及び情報処理装置
KR20220001118A (ko) 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231003

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231124

R150 Certificate of patent or registration of utility model

Ref document number: 7393269

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150