JP2020003957A - 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法 - Google Patents

起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法 Download PDF

Info

Publication number
JP2020003957A
JP2020003957A JP2018121326A JP2018121326A JP2020003957A JP 2020003957 A JP2020003957 A JP 2020003957A JP 2018121326 A JP2018121326 A JP 2018121326A JP 2018121326 A JP2018121326 A JP 2018121326A JP 2020003957 A JP2020003957 A JP 2020003957A
Authority
JP
Japan
Prior art keywords
information processing
unit
processing apparatus
software
restart
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.)
Granted
Application number
JP2018121326A
Other languages
English (en)
Other versions
JP2020003957A5 (ja
JP7059127B2 (ja
Inventor
山下 貴弘
Takahiro Yamashita
貴弘 山下
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018121326A priority Critical patent/JP7059127B2/ja
Priority to PH12019000216A priority patent/PH12019000216A1/en
Priority to EP19181447.4A priority patent/EP3588355B1/en
Priority to US16/449,167 priority patent/US11481496B2/en
Priority to CN201910561627.7A priority patent/CN110647422A/zh
Publication of JP2020003957A publication Critical patent/JP2020003957A/ja
Publication of JP2020003957A5 publication Critical patent/JP2020003957A5/ja
Priority to JP2022064235A priority patent/JP7322233B2/ja
Application granted granted Critical
Publication of JP7059127B2 publication Critical patent/JP7059127B2/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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00026Methods therefor
    • H04N1/00037Detecting, i.e. determining the occurrence of a predetermined state
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法を提供する。【解決手段】情報処理装置は、起動指示に従って実行される複数のソフトウェアの少なくとも1つの改ざんを検知する検知手段と、改ざんを検知する機能が有効または無効を示す情報を記憶する記憶手段と、起動指示を受信してから経過した時間を計測する計測手段と、計測手段によって計測された時間に従って情報処理装置を再起動する再起動手段と、記憶手段に記憶された情報に基づいて、再起動手段による情報処理装置の再起動を禁止する禁止手段と、を備える。【選択図】なし

Description

本発明は、起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法に関する。
起動時に実行されるソフトウェア(以下、起動対象ソフトウェア)の改ざんを検知(以下、改ざん検知と呼ぶ)して、改ざんが検知された起動対象ソフトウェアを実行しない機能を有する情報処理装置が知られている。起動時に起動対象ソフトウェアの改ざんを検知するのに要する時間によって、情報処理装置の起動時間が長期化する。
また、印刷装置や読取装置などの組込システム等では、装置の起動処理が所定時間内に完了しないときに、装置を再起動する再起動機能が知られている(特許文献1)。特許文献1では、BIOSによる起動処理中に何らかの異常が発生して、監視時間をカウントし終えるまでにBIOSによる起動処理が完了しなかったら、電子機器を再起動する。
特開2012−22469号公報
特許文献1には、起動対象ソフトウェアの改ざんを検知することについては何ら言及されていない。引用文献1に開示される電子機器において起動対象ソフトウェアの改ざんを検知すると、異常が発生していないにも関わらず、改ざん検知に要する時間に起因する起動時間の長期化によって、電子機器が再起動してしまう。
そこで、本発明は、起動対象ソフトウェアの改ざんの検知に起因する起動時間の長期化によって、情報処理装置が再起動するのを禁止する、ことを目的とする。
上記の課題を解決するため、情報処理装置は、起動指示に従って実行される複数のソフトウェアの少なくとも1つの改ざんを検知する検知手段と、前記起動指示を受信してから経過した時間を計測する計測手段と、前記計測手段によって計測された時間に基づいて前記情報処理装置を再起動する再起動手段と、前記計測手段による時間の計測を停止する停止手段と、を備える。
本発明によれば、改ざんの検知に起因する起動時間の長期化によって、情報処理装置が再起動するのを禁止することができる。
画像形成装置1のハード構成図 HDD103に記憶されているソフトウェアを示した図 起動時に実行する処理を示したフローチャート BIOSが実行する処理を示したフローチャート Loaderが実行する処理を示したフローチャート Initrdが実行する処理を示したフローチャート WDTが実行する処理を示したフローチャート 起動時に実行する処理を示したフローチャート WDTの構成を示すブロック図 WDTの不揮発領域に改ざん検知機能の有効/無効を示す情報を記憶するフローチャート
以下、図面を参照して本発明の実施の形態を詳しく説明する。
本実施形態では、情報処理装置として、プリント機能及びスキャン機能を有する画像形成装置を例に説明する。
<第1実施形態>
図1は、画像形成装置1のハード構成図である。
本実施形態の画像形成装置1は、起動時に実行される起動対象ソフトウェア(BIOS、Loader、Initrd、Firmware)の改ざんを検知して、改ざんが検知されたソフトウェアを実行しない機能(改ざん検知機能)を有する。
中央演算処理部(以下、CPU)101は、画像形成装置1を稼働させるためのソフトウェアを実行する。システムバス102は、CPU101と周辺ユニットとを通信可能に接続する、および、周辺ユニット同士を通信可能に接続する通信路である。周辺ユニットとは、HDD103、RAM104、ネットワークコントローラ105、USBホストコントローラ107、及び、電力制御部109を含む。また、周辺ユニットは、ディスプレイコントローラ110、入出力コントローラ112、RTC114、不揮発性メモリ115、スキャナI/F116、及び、プリンタI/F118を含む。
HDD(ハードディスクドライブ)103は、画像形成装置1が動作するために必要な各種プログラム、データベース、一時記憶ファイルを記憶する。RAM104には、画像形成装置1のプログラムが展開される。また、RAM104は、プログラムの実行時の変数や、各ユニットからDMA(Dynamic Memory Access)で転送されるデータの格納領域となる。ネットワークコントローラ105は、ネットワーク上の他の機器と通信を行う。USBホストコントローラ107は、USBホストコントローラ107に接続されたUSBデバイスと通信を行う。
ディスプレイ110は、画像形成装置1の動作状況等を表示する。ディスプレイコントローラ111は、入力される信号を用いて、ディスプレイ110に映像を表示する。入力部113は、キーボード、マウス、テンキー、カーソルキー、タッチパネル等であって、ユーザーからの指示を受け付ける。入力部コントローラ112は、入力部113を制御する。入力部113がタッチパネルである場合は、物理的にはディスプレイ111の表面に装着される。RTC(リアルタイムクロック)114は、時計機能、アラーム機能、タイマ機能等を有する。不揮発メモリ115には、改ざん検知機能が有効または無効であることを示す情報(改ざん検知設定)等を記憶する設定領域(記憶部)120が存在する。また、不揮発性メモリ115は、BIOS121を記憶する。不揮発性メモリ115の詳細は後述する。
電力制御部109は、画像形成装置1に設けられるユニットへの電力の供給と停止を制御する。電力制御部109は、プログラマブルなロジックデバイスである。電力制御部109は、General Purpose Input Output(以下、GPIO)を有する。CPU101は、GPIOを介して、電力制御部の所定のレジスタに設定値を記憶する。電力制御部109は、所定のレジスタの設定値に基づいて、ユニットへの電力の供給と停止を制御する。電力制御部109は、WDT(ウオッチドッグタイマ)122を有し、ユーザーから起動指示を受信したタイミングでカウントを開始し、所定時間を計測したときに、画像形成装置1を再起動するリセット信号を出力する。これにより、起動対象ソフトウェアがハングアップした場合に、画像形成装置1を再起動することが可能になる。電力制御部109の特定のレジスタに所定の設定値を設定すると、WDT122によるカウントが停止される。電力制御部109のレジスタの設定値の変更は、ソフト制御によって可能である。
システムバス102には、スキャナI/F116を介して、スキャナ117が接続されている。スキャナ117は、原稿の画像をスキャンし、当該画像の画像データを出力する。また、システムバス102には、プリンタI/F118を介して、プリンタ119が接続されている。プリンタ119は、入力された画像データに基づいて紙などの記録媒体に画像を印刷する。
不揮発メモリ115は、BIOS(Basic Input Output System)121を記憶する。BIOSは、画像形成装置1の各ユニットの初期化を行う。CPU101は、ユーザーから受信した起動指示に従って、BIOS121を実行する。また、不揮発メモリ115には、設定領域120が設けられている。設定領域120には、改ざん検知機能の設定情報(改ざん検知機能が有効か無効かを示す情報)等を記憶する。設定領域120に記憶された設定情報等は、改ざんを意図する者によって容易に書き換えることができないように保護されている。
図2は、HDD103に記憶されているソフトウェアを示した図である。各々のソフトウェアが実行する処理の詳細は後述する。
HDD103には、複数のソフトウェアを記憶可能である。複数のソフトウェアとは、OS(オペレーティングシステム)201、Loader202、Initrd203、及び、Firmware204が記憶されている。
OS201は、多くのソフトウェアが共通して利用する基本的な機能などを有する。Loader202は、OS201及びInitrd203を起動する機能を有する。また、Initrd203は、幾つかのファイルを含んでおり、Loader202がInitrd203をRAM104に展開する。Initrd203は、OS201がファイルシステムを使用できるようになる前にマウントされる初期のファイルシステムである。OS201の起動初期段階において、HDD103のファイルを解釈できない状態であっても、RAM104に展開されたInitrd203に含まれるファイルを代替で使用可能になる。
Firmware204は、プリント処理を行うファームウェアやスキャン処理を行うファームウェアを有する。また、HDD103は、設定ファイル、ユーザーデータ等を記憶する。OS201、Loader202、及び、Initrd203の各々から、OS201のハッシュ値、Loader202のハッシュ値、及び、Initrd203のハッシュ値と比較される比較値を、所定の算出方法で算出しておく。また、Firmware204からFirmware204のハッシュ値と比較される比較値を、所定の算出方法で算出しておく。そして、OS201の比較値、Loader202の比較値、及び、Initrd203の比較値は、不揮発性メモリ120の設定領域120に記憶する。また、Firmware204のハッシュ値と比較される比較値は、HDD103に記憶する。これらの比較値は、後述する改ざん検知で利用される。一般的に、改ざん検知の対象のソフトウェアのデータサイズが大きくなれば、改ざん検知に要する時間が長期化することが知られている。
図3は、起動時に実行する処理を示したフローチャートである。BIOS121が実行する処理、Loader202が実行する処理、及び、Initrd203が実行する処理の詳細は後述する。本実施形態では、BIOS121が、OS201、Loader202、及び、Initrd203の改ざん検知を行う。なお、本実施形態ではBIOS121が、OS201、Loader202、Initrd203の改ざん検知を行うが、起動されたソフトが順番に次のソフトウェアの改ざん検知を行っても良い。例えば、BIOS121がLoader202の改ざん検知を行い、そして、Loader202がOS201及びInitd203の改ざん検知を行っても良い。また、本実施形態では、BIOS121の改ざん検知を行っていないが、当然、BIOS121の改ざん検知を行ってもよい。
CPU101は、不揮発メモリ115に記憶されているBIOS121を読み出し、BIOS121を実行する(S301)。BIOS121は、Loader202、OS201、及び、Initrd203の改ざんを検知する。Loader202、OS201、及び、Initrd203の改ざんが無いと判断すると、CPU101は、HDD103に記憶されているLoader202を読み出し、Loader202を実行する(S302)。次に、Loader202は、OS201及びInitrd203をHDD103から読み出して、RAM104に展開する。そして、CPU101は、OS201及びInitrd203を実行する(S303、S304)。OS201は、図1に記載された各ハードウェアの初期化を行う。また、OS201は、Initrd203を用いて、OS201の起動処理を行う。Initrd203は、RAM104上に仮のファイルシステムを提供し、OS201は、HDD103上のファイルシステムを解釈可能になるまでの間、Initrd203で代用する。ハードウェアの初期化完了後、OS201は、WDT122による所定時間のカウントを停止する(S305)。これにより、WDT122が所定時間のカウントを終了することにより、画像形成装置1が再起動されることを禁止することができる。事前の処理で、WDT122がすでに解除されていたとしても問題は無い。最後に、OS201は、各種ファームウェア204を起動する(S306)。これにより、画像形成装置1が有するプリント機能やスキャン機能が実行可能な状態となる。
図4は、BIOSが実行する処理を示したフローチャートである。
CPU101は、システムバス102に接続された各ハードウェアを認識して、各ハードウェアの初期化処理を行う(S401)。そして、CPU101は、記憶領域120から改ざん検知機能の設定情報を読み出す(S402)。そして、CPU101は、S402で読み出した設定情報に基づいて、改ざん検知機能が有効か否かを判定する(S403)。有効であると判定した場合(S403:Yes)、CPU101は、HDD103に記憶されたOS201、Loader202及びInitrd203を検証して(S404)、OS201、Loader202及びInitrd203の改ざんを検知する。Loader202の改ざんを検知する検知方法は、Loader202のハッシュ値と、記憶領域120上に予め記憶された値と、のを比較により行う。また、OS201の改ざんの検知方法は、OS201のハッシュ値と、記憶領域120上に予め記憶された値と、のを比較により行う。また、Initrd203の改ざんの検知方法は、Initrd203のハッシュ値と、記憶領域120上に予め記憶された値と、のを比較により行う。上記したLoader202のハッシュ値、OS201のハッシュ値、及び、Initrd203のハッシュ値は、公知のアルゴリズム(例えば、SHA−256)を使って算出する。なお、改ざんの検知方法は、上記の方法に限定されない。
そして、CPU101は、OS201、Loader202及びInitrd203のいずれか1つにおいて改ざんを検知した場合(S405:Yes)、CPU101は、WDT122によるカウントを停止する(S406)。そして、CPU101は、起動不良が発生したことを示すエラー情報をディスプレイ111に表示するよう指示する(S407)。WDT122によるカウントを停止することにより、エラー情報が表示された後に、WDT122による画像形成装置1の再起動を禁止することができる。S407の後、CPU101は、以降の処理を実行せず、待機する。本実施形態では、エラー情報がディスプレイ111に表示されるようにしたが、不図示のLEDの点灯や明滅であっても良い。また、エラー情報を外部のサーバ等に送信しても良い。
一方で、改ざん検知機能が無効であると判定した場合(S403:No)、CPU101は、Loader202をHDD103からRAM104に展開する。そして、CPU101は、RAM104に展開されたLoader202を実行する(S408)。また、OS201、Loader202及びInitrd203の全てに改ざんが検知されなかった場合(S405:No)、CPU101は、Loader202をHDD103からRAM104に展開する。そして、CPU101は、RAM104に展開されたLoader202を実行する(S408)。
図5は、Loaderが実行する処理を示したフローチャートである。
CPU101は、記憶領域120から改ざん検知機能の設定情報を読み出す(S501)。そして、CPU101は、読み出した設定情報に基づいて、改ざん検知機能が有効か否かを判定する(S502)。有効であると判定した場合(S502:Yes)、CPU101は、WDT122によるカウントを停止する(S503)。これにより、Initrd203やOS201の改ざんの検知中に、WDT122が画像形成装置1を再起動するのを禁止することができる。最後に、CPU101は、OS201及びInitrd203をRAM104に展開し、RAM104に展開されたOS201及びInitrd203を実行する(S504)。
図6は、Initrdが実行する処理を示したフローチャートである。
CPU101は、記憶領域120から改ざん検知機能の設定情報を読み出す(S601)。そして、CPU101は、読み出した設定情報に基づいて、改ざん検知機能が有効か否かを判定する(S602)。有効であると判定した場合(S602:Yes)、CPU101は、Firmware204を検証して(S603)、Firmware204の改ざんを検知する。Firmware204の改ざんの検知方法は、上記したLoader202等の検知方法と同様であるので、その説明を省略する。
一般的に、図2に記載されるソフトウェアの中では、Firmware204のデータサイズが最も大きいため、Firmware204の改ざんを検知するのに要する時間が相対的に長くなる。検知方法によっては数分オーダーの時間を要する場合があるが、これはWDT122の発動する時間オーダー(秒オーダー)よりも長い。
Firmware204の改ざんを検知した場合(S604:Yes)、CPU101は、起動不良が発生したことを示すエラー情報をディスプレイ111に表示するよう指示する(S605)。なお、WDT122によるカウントは、既に図5のS503で停止済みであるため、本図のフローではWDT122によるカウントの停止は行わない。
一方で、Firmware204の改ざんを検知しなかった場合(S604:No)や、改ざん検知機能が無効である場合(S602:No)、CPU101は、ファイルシステムの初期化を行う(S606)。OS201がHDD103上のファイルシステムを解釈できるようになった時点で、CPU101は、HDD103の領域をマウントし、Firmware204をファイルとして認識した上で、適切な起動順序で実行する。
図7は、WDTが実行する処理を示したフローチャートである。本フローチャートは、画像形成装置1に電力が供給された時点で開始され、図3のソフトウェアの実行フローと並行して実行される。WDT122は、図3のフローでソフトウェアがハングアップした場合に再起動をかけることで起動処理をやり直すために使用されるものである。
まず、WDT122は、カウント値を初期値(例えば、90秒)に設定する(S701)。この初期値は、あらかじめ固定された値でも良いし、CPU101から指示された値や、不揮発領域に記憶された設定値を設定しても良い。続いて、WDT122は、カウントの停止がされたか否かを確認する(S702)。停止された場合(S702:Yes)、処理を終了する。一方で、停止されていない場合(S702:No)、WDT122は、残カウント値を読み、0か否か確認する。(S703)。カウント値が1以上である場合(S703:No)は、WDT122は、カウント値を減らす(S704)。そして、WDT122は、所定時間待機し(S705)、再度S702からのフローを繰り返す。所定時間は、例えば、1秒とする。設定された初期値(例えば、90秒)が経過した場合に、WDT122は、リセット信号を出力する。画像形成装置1は、リセット信号に従って、再起動する。
本実施形態では、WDT122が初期値(例えば、90秒)をカウントしたときに、画像形成装置1が再起動するが、WDT122が初期値をカウントしたときに、画像形成装置1をシャットダウンしても良い。
<第2実施形態>
第1実施形態では、Initrd203の起動後に、WDT122のカウントを停止する例について説明した。この第2実施形態では、BIOS121の起動後に、WDT122によるカウントを停止する。第2実施形態と第1実施形態とでは、WDT122によるカウントを停止するタイミングが異なる。
図8は、起動時に実行する処理を示したフローチャートである。本実施形態でも、BIOS121が、OS201、Loader202、及び、Initrd203の改ざん検知を行う。
CPU101は、不揮発メモリ115に記憶されているBIOS121を読み出し、BIOS121を実行する(S801)。BIOS121は、Loader202、OS201、及び、Initrd203の改ざんを検知する。Loader202、OS201、及び、Initrd203の改ざんが無いと判断すると、WDT122によるカウントを停止する(S802)。
続いて、CPU101は、HDD103に記憶されているLoader202を読み出し、Loader202を実行する(S802)。つまり、本実施形態では、Loader202を実行する前に、WDT122によるカウントを停止する(S802)。S803、S804、S805及びS806は、図3のS302、S303、S304及びS306と同様であるので、その説明を省略する。
<第3実施形態>
第1実施形態では、不揮発性メモリ115に記憶された設定情報に基づいて、WDT122によるカウントを停止した。第3実施形態では、WDT122が有する所定の設定値に基づいて、WDT122によるカウントを停止する。第1実施形態と第3実施形態とでは、WDT122の内部構成が異なっている。
図9は、第3実施形態に係るWDTの構成を示すブロック図である。WDT122は、不揮発領域901を備える。不揮発性領域901は、CPU101の指示に従って、設定情報を記憶する。また、不揮発性領域901は、上記した初期値や、WDT122によるカウントが停止されたことを示す情報を記憶することができる。
図10は、WDTの不揮発領域に改ざん検知機能の有効/無効を示す情報を記憶するフローチャートである。改ざん検知機能の設定を変更したときに、不揮発領域901に所定の設定値を記憶する。ディスプレイ111が備えているタッチパネルやキー操作によって、改ざん検知機能の設定が変更されたときに、本フローが実行される。
CPU101は、改ざん検知機能の設定の変更が、改ざん検知機能を有効にする変更であると判定した場合(S1001:Yes)、CPU101は、記憶領域120に改ざん検知機能が有効であることを示す設定値を記憶する(S1002)。更に、CPU101は、不揮発領域901に、改ざん検知機能が有効であることを示す設定値を書き込む(S1003)。不揮発領域901に改ざん検知機能が有効であることを示す設定値が記憶されている場合、WDT122によるカウントは停止される。なお、不揮発領域901に改ざん検知機能が有効であることを示す設定値が記憶されている場合、WDT122によるカウントを開始しないようにしても良い。これにより、改ざん検知機能によって起動時間が長期化しても、画像形成装置1が再起動するのを禁止することができる。
一方で、CPU101は、改ざん検知機能の設定の変更が、改ざん検知機能を無効にする変更であると判定した場合(S1001:No)、CPU101は、記憶領域120に改ざん検知機能が無効であることを示す設定値を記憶する(S1004)。更に、CPU101は、不揮発領域901に改ざん検知機能が無効であることを示す設定値を書き込む(S1005)。
(その他の実施例)
上記した実施形態では、改ざん検知機能の有効/無効を示す設定値に基づいて、WDT122によるカウントを停止したが、改ざん検知機能の有効/無効を示す設定値に基づいて、WDT122に設定する初期値を変更しても良い。例えば、改ざん検知機能の無効を示す設定値が記憶されていれば、WDT122に90秒を設定し、改ざん検知機能の有効を示す設定値が記憶されていれば、WDT122に90秒より長い270秒を設定する。
上記した実施形態では、改ざん検知機能の有効/無効を示す設定値に基づいて、WDT122によるカウントを停止する例について説明したが、本発明はこれだけに限定されない。例えば、本発明は、改ざん検知機能の有効/無効を示す設定値に基づいて、WDT122がカウントする初期値を改ざん検知による起動時間を考慮して長くしても良い。例えば、改ざん検知機能が無効を示す設定値である場合に、例えば90秒を初期値とし、改ざん検知機能が有効を示す設定値である場合に、例えば270秒を初期値とする。これにより、改ざん検知機能による起動時間が長期化しても、画像形成装置1が再起動するのを禁止することができる。さらに、ソフトのハングアップなどで改ざん検知が途中で停止したとしても、長めに設定した時間で画像形成装置1を再起動することができる。
また、上記した実施形態では、改ざん検知機能の有効/無効を示す設定値に基づいて、WDT122によるカウントを停止する例について説明したが、本発明はこれだけに限定されない。例えば、本発明は、改ざん検知機能の有効/無効を示す設定値に基づいて、WDT122がカウントしたカウント値をリセットしても良い。これにより、WDT122がカウントしたカウント値がリセットされるので、例えば、既にWDT122が30秒をカウントしていたとしても、その30秒がリセットされる。これにより、画像形成装置1が再起動されるまでの時間が30秒だけ延長される。
また、上記した実施形態では、BIOS121がLoader202、OS202及びInitrd203の改ざんを検知する前に、WDT122によるカウントを停止しても良い。
また、上記した実施形態では、改ざん検知機能の有効/無効を示す設定値に基づいて、WDT122によるカウントを停止する例について説明した。が、本発明は、改ざん検知機能の有効/無効を示す設定値に基づいて、WDT122から出力されるリセット信号をマスクする回路を設けても良い。
また、上記した実施形態では、OS201、Loader202、Initrd203及びFirmware204が、HDD203に記憶されている。が、OS201、Loader202及びInitrd203がFlashに記憶され、Firmware204がHDDに記憶されていても良い。
上記した実施形態では、本発明の情報処理装置の一例として画像形成装置1について説明したが、本発明の情報処理装置は、画像形成装置でなくても構わない。例えば、本発明の画像形成装置は、パーソナルコンピュータ、タブレット、スマートフォン、ゲーム機、遊技機、空気調和機、ATMであっても良い。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給するよう構成することによっても達成される。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
1 画像形成装置
101 CPU
103 HDD
115 不揮発性メモリ
121 BIOS
120 設定領域
122 WDT
201 OS
202 Loader
203 Initrd

Claims (15)

  1. 起動指示に従って実行される複数のソフトウェアの少なくとも1つの改ざんを検知する検知手段と、
    前記改ざんを検知する機能が有効または無効を示す情報を記憶する記憶手段と、
    前記起動指示を受信してから経過した時間を計測する計測手段と、
    前記計測手段によって計測された時間に従って情報処理装置を再起動する再起動手段と、
    前記記憶手段に記憶された前記情報に基づいて、前記再起動手段による前記情報処理装置の再起動を禁止する禁止手段と、を備えることを特徴とする情報処理装置。
  2. 前記禁止手段は、前記計測手段による時間の計測を停止することによって、前記再起動手段による前記情報処理装置の再起動を禁止する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記禁止手段は、前記計測手段が時間を計測する機能を無効にすることによって、前記再起動手段による前記情報処理装置の再起動を禁止する、ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記禁止手段は、前記記憶手段に前記改ざんを検知する機能が有効を示す情報が記憶されている場合、前記再起動手段による前記情報処理装置の再起動を禁止、前記改ざんを検知する機能が無効を示す情報が前記記憶手段に記憶されている場合、前記再起動手段による前記情報処理装置の再起動を禁止しない、ことを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記禁止手段は、前記検知手段よって前記複数のソフトウェアの少なくとも1つの改ざんが検知された場合、前記再起動手段による前記情報処理装置の再起動を禁止する、ことを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記改ざんが検知されたことを示す情報を出力する出力手段、をさらに備えることを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記出力手段は、前記改ざんが検知されたことを示す情報を表示する表示手段である、ことを特徴とする請求項6に記載の情報処理装置。
  8. 前記複数のソフトウェアを実行可能な実行手段をさらに備え、
    前記実行手段は、前記検知手段よって改ざんが検知されなかったソフトウェアを実行する、ことを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  9. 前記実行手段は、前記複数のソフトウェアを所定の順番で実行し、
    前記実行手段によって実行されたソフトウェアが、次に実行されるべきソフトウェアの改ざんを検知する、ことを特徴とする請求項8に記載の情報処理装置。
  10. 前記実行手段は、前記複数のソフトウェアとは異なる他のソフトウェアを実行可能であって、
    前記実行手段によって実行された前記他のソフトウェアは、前記複数のソフトウェアの改ざんを検知する、ことを特徴とする請求項8又は9に記載の情報処理装置。
  11. 前記他のソフトウェアは、BIOSであることを特徴とする請求項10に記載の情報処理装置。
  12. 前記複数のソフトウェアは、Loader、OS、Initrd及びFirmwareの何れか1つを含む、ことを特徴とする請求項1乃至9の何れか1項に記載の情報処理装置。
  13. 画像を印刷する印刷手段をさらに備える、ことを特徴とする請求項1乃至10の何れか1項に記載の情報処理装置。
  14. 原稿の画像を読み取る読取手段をさらに備える、ことを特徴とする請求項1乃至11の何れか1項に記載の情報処理装置。
  15. 起動指示に従って実行される複数のソフトウェアの少なくとも1つの改ざんを検知する検知工程と、
    前記改ざんを検知する機能が有効または無効を示す情報を記憶部に記憶する記憶工程と、
    前記起動指示を受信してから経過した時間を計測する計測工程と、
    前記計測工程によって計測された時間に従って情報処理装置を再起動する再起動工程と、
    前記記憶部に記憶された前記情報に基づいて、前記再起動工程の実行を禁止する禁止工程と、を有することを特徴とする情報処理装置の制御方法。
JP2018121326A 2018-06-26 2018-06-26 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及びその制御方法 Active JP7059127B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2018121326A JP7059127B2 (ja) 2018-06-26 2018-06-26 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及びその制御方法
PH12019000216A PH12019000216A1 (en) 2018-06-26 2019-06-18 Information processing apparatus for detecting tampering with software executed at boot time, method for rebooting information processing apparatus, and storage medium
EP19181447.4A EP3588355B1 (en) 2018-06-26 2019-06-20 Information processing apparatus for detecting tampering with software executed at boot time, method for rebooting information processing apparatus, storage medium, and program
US16/449,167 US11481496B2 (en) 2018-06-26 2019-06-21 Information processing apparatus for detecting tampering with software executed at boot time, method for rebooting information processing apparatus, and storage medium
CN201910561627.7A CN110647422A (zh) 2018-06-26 2019-06-26 信息处理装置、信息处理装置的重启方法和存储介质
JP2022064235A JP7322233B2 (ja) 2018-06-26 2022-04-08 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018121326A JP7059127B2 (ja) 2018-06-26 2018-06-26 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及びその制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022064235A Division JP7322233B2 (ja) 2018-06-26 2022-04-08 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法

Publications (3)

Publication Number Publication Date
JP2020003957A true JP2020003957A (ja) 2020-01-09
JP2020003957A5 JP2020003957A5 (ja) 2021-07-26
JP7059127B2 JP7059127B2 (ja) 2022-04-25

Family

ID=66999707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018121326A Active JP7059127B2 (ja) 2018-06-26 2018-06-26 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及びその制御方法

Country Status (5)

Country Link
US (1) US11481496B2 (ja)
EP (1) EP3588355B1 (ja)
JP (1) JP7059127B2 (ja)
CN (1) CN110647422A (ja)
PH (1) PH12019000216A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6584487B2 (ja) * 2017-12-20 2019-10-02 キヤノン株式会社 情報処理装置、その制御方法およびプログラム
US11409874B2 (en) * 2019-07-03 2022-08-09 International Business Machines Corporation Coprocessor-accelerated verifiable computing
US11657125B2 (en) * 2019-09-20 2023-05-23 Canon Kabushiki Kaisha Information processing apparatus and reset control method
DE102020206526A1 (de) * 2020-05-26 2021-12-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Betreiben einer elektronischen Vorrichtung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008525892A (ja) * 2004-12-23 2008-07-17 マイクロソフト コーポレーション モニタを用いてtpmを常に“オン”にロックする方法及びシステム
WO2009013831A1 (ja) * 2007-07-26 2009-01-29 Panasonic Corporation 情報処理端末及び改ざん検証方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792556B1 (en) * 2000-05-31 2004-09-14 Dell Products L.P. Boot record recovery
US7062643B2 (en) * 2000-08-01 2006-06-13 Fujitsu Limited System method and apparatus for controlling a boot process of a computer
DE102008011925B4 (de) * 2008-02-29 2018-03-15 Globalfoundries Inc. Sicheres Initialisieren von Computersystemen
DE112008004022T5 (de) * 2008-10-15 2011-07-28 Fujitsu Ltd., Kanagawa Informationsverarbeitungsvorrichtung und Boot-Vollendungsmeldeprogramm
JP5148662B2 (ja) 2010-07-13 2013-02-20 東芝テック株式会社 電子機器およびその制御プログラム
JP5967945B2 (ja) * 2012-01-20 2016-08-10 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6305069B2 (ja) * 2014-01-10 2018-04-04 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
GB201413836D0 (en) * 2014-08-05 2014-09-17 Arm Ip Ltd Device security apparatus and methods
US11397801B2 (en) * 2015-09-25 2022-07-26 Argus Cyber Security Ltd. System and method for controlling access to an in-vehicle communication network
US10469690B2 (en) * 2016-11-30 2019-11-05 Ricoh Company, Ltd. Information processing apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008525892A (ja) * 2004-12-23 2008-07-17 マイクロソフト コーポレーション モニタを用いてtpmを常に“オン”にロックする方法及びシステム
WO2009013831A1 (ja) * 2007-07-26 2009-01-29 Panasonic Corporation 情報処理端末及び改ざん検証方法

Also Published As

Publication number Publication date
US20190392149A1 (en) 2019-12-26
US11481496B2 (en) 2022-10-25
EP3588355A1 (en) 2020-01-01
PH12019000216A1 (en) 2020-01-27
CN110647422A (zh) 2020-01-03
JP7059127B2 (ja) 2022-04-25
EP3588355B1 (en) 2023-05-17

Similar Documents

Publication Publication Date Title
JP7059127B2 (ja) 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及びその制御方法
TWI530790B (zh) 系統啓動碼恢復方法、運算系統、及供於系統中使用之控制器
CN103718165B (zh) Bios闪存攻击保护和通知
US20120297242A1 (en) Image processing apparatus and method for controlling image processing apparatus
KR101197152B1 (ko) 전자장치와 이를 포함하는 전자장치 시스템 및 그 제어방법
JP2012216014A (ja) 情報処理装置及びデータ保護方法
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP7322233B2 (ja) 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法
JP2015032103A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US11822928B2 (en) Information processing apparatus, method of controlling same, storage medium, and image forming apparatus
JP2020086516A (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
US20230155840A1 (en) Information processing apparatus and control method for information processing apparatus
JP2021089607A (ja) 情報処理装置
JP2022126549A (ja) 情報処理装置
US20230069169A1 (en) Information processing apparatus and control method of the same
JP2019200660A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US11181963B2 (en) Information processing device and control method for the same
US10942810B2 (en) Start-up processing for information processing apparatus and method, and storage medium
JP2020057250A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2020155029A (ja) 情報処理装置とその制御方法、及びプログラム
JP2024004647A (ja) 情報処理装置および情報処理装置の制御方法
JP2009010756A (ja) 画像処理装置、自己診断方法、自己診断プログラム及び記録媒体
JP2023047420A (ja) 情報処理装置および情報処理装置の制御方法
JP2021018594A (ja) 情報処理装置、その制御方法、及びプログラム
JP2023031907A (ja) 情報処理装置および情報処理装置の制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220413

R151 Written notification of patent or utility model registration

Ref document number: 7059127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151