JP7500400B2 - 情報処理装置、情報処理装置の制御方法及びプログラム - Google Patents
情報処理装置、情報処理装置の制御方法及びプログラム Download PDFInfo
- Publication number
- JP7500400B2 JP7500400B2 JP2020191893A JP2020191893A JP7500400B2 JP 7500400 B2 JP7500400 B2 JP 7500400B2 JP 2020191893 A JP2020191893 A JP 2020191893A JP 2020191893 A JP2020191893 A JP 2020191893A JP 7500400 B2 JP7500400 B2 JP 7500400B2
- Authority
- JP
- Japan
- Prior art keywords
- verification
- boot code
- setting area
- range setting
- tampered
- 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
Links
- 238000000034 method Methods 0.000 title claims description 40
- 230000010365 information processing Effects 0.000 title claims description 37
- 238000012795 verification Methods 0.000 claims description 261
- 230000008569 process Effects 0.000 claims description 28
- 238000011084 recovery Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 description 32
- 238000001514 detection method Methods 0.000 description 18
- 230000015654 memory Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
第1のブートコードを保持する第1の保存媒体と、前記第1のブートコードの復旧に用いる第2のブートコードを保持する第2の保存媒体とを備える情報処理装置であって、
前記第1のブートコードの検証範囲を指定する第1の検証範囲設定領域および前記第2のブートコードの検証範囲を指定する第2の検証範囲設定領域の改ざんの有無を検証する第1の検証手段と、
前記第1の検証範囲設定領域が改ざんされていない場合、前記第1のブートコードの改ざんの有無を検証する第2の検証手段と、
前記第1のブートコードが改ざんされており且つ前記第2の検証範囲設定領域が改ざんされていない場合、前記第2のブートコードの改ざんの有無を検証する第3の検証手段と、
前記第2のブートコードが改ざんされていない場合、前記第2のブートコードを用いて前記第1のブートコードを復旧する復旧手段と、
を備えることを特徴とする。
図1のブロック図を参照して、本実施形態に係る情報処理装置(MFP)とクライアントPCとの接続形態を説明する。
図2は、本実施形態に係るMFP100のコントローラ部101の詳細を示すブロック図である。CPU201は、コントローラ部101内の主な演算処理を行う。なお、後述する組み込みコントローラ212が具備するCPUと区別するために、本実施形態ではCPU201を「メインCPU」と呼称する場合がある。CPU201はバスを介してDRAM202と接続される。DRAM202は、CPU201が演算する過程で演算命令を表すプログラムデータや、処理対象のデータを一時的に配置するための作業メモリとして、CPU201によって使用される。CPU201は、バスを介してI/Oコントローラ203と接続される。I/Oコントローラ203は、CPU201の指示に従い各種デバイスに対する入出力を行う。I/Oコントローラ203にはSATA(Serial Advanced Technology Attachment)I/F205が接続され、その先にFlashROM211が接続される。CPU201は、FlashROM211をMFP100の機能を実現するためのプログラム、およびドキュメントファイルを永続的に記憶するために使用する。I/Oコントローラ203には、ネットワークI/F204が接続され、ネットワークI/F204の先には、有線LANデバイス210が接続される。
コピー機能を実施する場合、CPU201は、SATA I/F205を介してFlashROM211からプログラムデータ(モジュールデータ)をDRAM202に読み込む。CPU201は、DRAM202に読み込まれたプログラム(モジュール)に従いパネルI/F206を介して操作部102に対するユーザからのコピー指示を検出する。CPU201は、コピー指示を検出するとスキャナI/F208を介してスキャナ部104から原稿を電子データとして受け取りDRAM202に格納する。CPU201は、DRAM202に格納した画像データに対して出力に適した色変換処理などを実施する。CPU201は、DRAM202に格納した画像データをプリンタI/F207を介してプリンタ部103に転送し、紙媒体への出力処理を実施する。
PDL印刷を実施する場合、クライアントPC110は、LAN120を介して印刷指示を行う。CPU201は、SATA I/F205を介してFlashROM211からプログラムデータ(モジュールデータ)をDRAM202に読み込む。そして、DRAM202に読み込まれたプログラム(モジュール)に従いネットワークI/F204を介して印刷指示を検出する。CPU201は、PDL送信指示を検出するとネットワークI/F204を介して印刷データを受信し、SATA I/F205を介してFlashROM211に印刷データを保存する。CPU201は、印刷データの保存が完了すると、FlashROM211に保存した印刷データをDRAM202に画像データとして展開する。CPU201は、DRAM202に格納した画像データに対して出力に適した色変換処理などを実施する。CPU201は、DRAM202に格納した画像データをプリンタI/F207を介してプリンタ部103に転送し、紙媒体への出力処理を実施する。
続いて、図3のブロック図を参照して、本実施形態に係るMFP100のコントローラ部101で実行されるソフトウェアが実現する機能構成の一例を説明する。なお、コントローラ部101で実行されるソフトウェアのうち、組み込みコントローラソフト350だけは組み込みコントローラ212が実行し、それ以外は全てCPU201が実行する。
ここで、図4に、第1の保存媒体であるSPI-Flash1 213及び第2の保存媒体であるSPI-Flash2 214に配置されるデータを例示する。
続いて、図7のフローチャートを参照して、本実施形態に係るソフトウェアの改ざん検知、改ざんされたソフトウェアの復旧および復旧用ソフトウェアのアップデート処理を説明する。本処理は主に組み込みコントローラ212により実行される。
上記実施形態では、改ざん検知部351で第1の検証範囲設定領域403を検証した後、第1の検証範囲設定領域403の検証範囲数、検証範囲開始アドレス、検証範囲サイズを用いてBIOS360の改ざん有無を検証した。本変形例では、さらに、検証範囲設定領域で指定する検証範囲に検証範囲設定領域そのものを含めることとする。
さらに、検証範囲設定領域で指定する検証範囲に第1の組み込みコントローラソフト350を含めることによって、別バージョンの組み込みコントローラソフト350で置き換えるロールバック攻撃を防ぐことができる。
上記実施形態では非連続な検証範囲に対してハッシュ関数を実行して生成した1つのハッシュ値から生成した署名値を用いて改ざん検知を実行していた。そのほかの実現方法としては、分割した検証範囲ごとにハッシュ値および署名値を生成し、検証に使用することも可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (12)
- 第1のブートコードを保持する第1の保存媒体と、前記第1のブートコードの復旧に用いる第2のブートコードを保持する第2の保存媒体とを備える情報処理装置であって、
前記第1のブートコードの検証範囲を指定する第1の検証範囲設定領域および前記第2のブートコードの検証範囲を指定する第2の検証範囲設定領域の改ざんの有無を検証する第1の検証手段と、
前記第1の検証範囲設定領域が改ざんされていない場合、前記第1のブートコードの改ざんの有無を検証する第2の検証手段と、
前記第1のブートコードが改ざんされており且つ前記第2の検証範囲設定領域が改ざんされていない場合、前記第2のブートコードの改ざんの有無を検証する第3の検証手段と、
前記第2のブートコードが改ざんされていない場合、前記第2のブートコードを用いて前記第1のブートコードを復旧する復旧手段と、を備え、
前記第1の検証範囲設定領域および第2の検証範囲設定領域は、前記情報処理装置の起動後に書き換わらない領域であることを特徴とする情報処理装置。 - 前記第3の検証手段は、さらに、前記第1の検証範囲設定領域が改ざんされている場合、前記第2のブートコードの改ざんの有無を検証し、
前記復旧手段は、前記第2のブートコードが改ざんされていない場合、前記第2のブートコードを用いて前記第1のブートコードを復旧することを特徴とする請求項1に記載の情報処理装置。 - 前記第1のブートコードを用いて前記第2のブートコードを更新する更新手段をさらに備え、
前記更新手段は、前記第1の検証範囲設定領域が改ざんされておらず、前記第1のブートコードが改ざんされておらず、且つ前記第2の検証範囲設定領域が改ざんされている場合、更新を行うことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記第1の検証範囲設定領域に含まれる前記第1のブートコードのバージョン情報と、前記第2の検証範囲設定領域に含まれる前記第2のブートコードのバージョン情報とを比較する比較手段と、
前記第1のブートコードのバージョン情報と前記第2のブートコードのバージョン情報とが異なる場合、前記第1のブートコードを用いて前記第2のブートコードを更新する更新手段と、をさらに備え、
前記比較手段は、前記第1の検証範囲設定領域が改ざんされておらず、前記第1のブートコードが改ざんされておらず、且つ前記第2の検証範囲設定領域が改ざんされていない場合、比較を行うことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記第1の検証範囲設定領域および前記第2の検証範囲設定領域の両方が改ざんされている場合、前記情報処理装置の起動処理を中止する中止手段をさらに備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
- 前記復旧手段により前記第2のブートコードを用いて前記第1のブートコードを復旧する処理を実行した後、前記第1のブートコードの改ざんの有無を検証する第4の検証手段と、
前記第4の検証手段により前記第1のブートコードが改ざんされていることが検証された場合、前記情報処理装置の起動処理を中止する中止手段と、
をさらに備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。 - 前記第2の検証手段は、前記第1の保存媒体に記憶された第1の署名値を使用して前記第1のブートコードの改ざんの有無を検証し、
前記第3の検証手段は、前記第2の保存媒体に記憶された第2の署名値を使用して前記第2のブートコードの改ざんの有無を検証することを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。 - 前記第1のブートコードはBIOSであり、前記第2のブートコードはBIOSゴールデンコピーであることを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
- 前記第1の検証範囲設定領域により指定される検証範囲は、前記第1の検証範囲設定領域それ自体を含み、
前記第2の検証範囲設定領域により指定される検証範囲は、前記第2の検証範囲設定領域それ自体を含むことを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。 - 前記情報処理装置は、前記情報処理装置の各手段として機能する組み込みコントローラソフトに従って動作する組み込みコントローラを備えており、
前記第1の検証範囲設定領域により指定される検証範囲および前記第2の検証範囲設定領域により指定される検証範囲は、前記組み込みコントローラソフトを含むことを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。 - 第1のブートコードを保持する第1の保存媒体と、前記第1のブートコードの復旧に用いる第2のブートコードを保持する第2の保存媒体とを備える情報処理装置の制御方法であって、
前記第1のブートコードの検証範囲を指定する第1の検証範囲設定領域および前記第2のブートコードの検証範囲を指定する第2の検証範囲設定領域の改ざんの有無を検証する第1の検証工程と、
前記第1の検証範囲設定領域が改ざんされていない場合、前記第1のブートコードの改ざんの有無を検証する第2の検証工程と、
前記第1のブートコードが改ざんされており且つ前記第2の検証範囲設定領域が改ざんされていない場合、前記第2のブートコードの改ざんの有無を検証する第3の検証工程と、
前記第2のブートコードが改ざんされていない場合、前記第2のブートコードを用いて前記第1のブートコードを復旧する復旧工程と、を有し、
前記第1の検証範囲設定領域および第2の検証範囲設定領域は、前記情報処理装置の起動後に書き換わらない領域であることを特徴とする情報処理装置の制御方法。 - コンピュータを、請求項1乃至10の何れか1項に記載の情報処理装置として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020191893A JP7500400B2 (ja) | 2020-11-18 | 2020-11-18 | 情報処理装置、情報処理装置の制御方法及びプログラム |
US17/528,452 US11928217B2 (en) | 2020-11-18 | 2021-11-17 | Information processing apparatus, control method of information processing apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020191893A JP7500400B2 (ja) | 2020-11-18 | 2020-11-18 | 情報処理装置、情報処理装置の制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022080687A JP2022080687A (ja) | 2022-05-30 |
JP7500400B2 true JP7500400B2 (ja) | 2024-06-17 |
Family
ID=81587608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020191893A Active JP7500400B2 (ja) | 2020-11-18 | 2020-11-18 | 情報処理装置、情報処理装置の制御方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11928217B2 (ja) |
JP (1) | JP7500400B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102579A (ja) | 2008-10-24 | 2010-05-06 | Hitachi Ltd | 情報処理装置、及びコンピュータプログラム |
JP2011253408A (ja) | 2010-06-03 | 2011-12-15 | Nec Corp | サーバシステム及びそのbios復旧方法 |
JP2020126576A (ja) | 2019-01-31 | 2020-08-20 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | Biosの復旧と更新の方法およびシステム |
JP2020160747A (ja) | 2019-03-26 | 2020-10-01 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464256B2 (en) * | 2003-09-18 | 2008-12-09 | Aristocrat Technologies Australia Pty. Limited | Bios protection device preventing execution of a boot program stored in the bios memory until the boot program is authenticated |
WO2014175861A1 (en) | 2013-04-23 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Recovering from compromised system boot code |
CN104252419B (zh) * | 2014-09-16 | 2017-09-19 | 华为技术有限公司 | 一种内存分配的方法及装置 |
US10474823B2 (en) * | 2016-02-16 | 2019-11-12 | Atmel Corporation | Controlled secure code authentication |
US11144631B2 (en) * | 2018-09-11 | 2021-10-12 | Apple Inc. | Dynamic switching between pointer authentication regimes |
-
2020
- 2020-11-18 JP JP2020191893A patent/JP7500400B2/ja active Active
-
2021
- 2021-11-17 US US17/528,452 patent/US11928217B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102579A (ja) | 2008-10-24 | 2010-05-06 | Hitachi Ltd | 情報処理装置、及びコンピュータプログラム |
JP2011253408A (ja) | 2010-06-03 | 2011-12-15 | Nec Corp | サーバシステム及びそのbios復旧方法 |
JP2020126576A (ja) | 2019-01-31 | 2020-08-20 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | Biosの復旧と更新の方法およびシステム |
JP2020160747A (ja) | 2019-03-26 | 2020-10-01 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US11928217B2 (en) | 2024-03-12 |
US20220156378A1 (en) | 2022-05-19 |
JP2022080687A (ja) | 2022-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9880908B2 (en) | Recovering from compromised system boot code | |
US9519786B1 (en) | Firmware integrity ensurance and update | |
US11669609B2 (en) | Information processing apparatus, control method of the same, and storage medium | |
US20220284103A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2020160747A (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP2019212114A (ja) | 情報処理装置、その制御方法およびプログラム | |
JP2023129643A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2008171306A (ja) | 電子装置およびプログラム | |
JP2003058486A (ja) | 画像形成装置 | |
JP7500400B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
US11947948B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2020082441A (ja) | 画像形成装置、その制御方法、及びプログラム | |
JP7374780B2 (ja) | 情報処理装置および情報処理装置の制御方法 | |
KR102467636B1 (ko) | 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체 | |
JP2020053002A (ja) | 情報処理装置とその制御方法、及びプログラム | |
US11907049B2 (en) | Information processing apparatus, method of controlling the same, and storage medium with features for updating code and data areas of non-volatile memory | |
JP2022157063A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP7011697B1 (ja) | 情報処理装置および情報処理方法 | |
US20230132214A1 (en) | Information processing apparatus and method of the same | |
US20230273798A1 (en) | Information processing apparatus and method for controlling information processing apparatus | |
JP2023064046A (ja) | 情報処理装置、及びその起動方法 | |
JP2021117523A (ja) | 情報処理装置、情報処理装置の処理方法およびプログラム | |
JP2021117589A (ja) | 情報処理装置、情報処理装置の処理方法およびプログラム | |
JP2023031511A (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JP2022187302A (ja) | 情報処理装置とその制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231109 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240430 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7500400 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |