JP2015153198A - コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ - Google Patents
コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ Download PDFInfo
- Publication number
- JP2015153198A JP2015153198A JP2014027059A JP2014027059A JP2015153198A JP 2015153198 A JP2015153198 A JP 2015153198A JP 2014027059 A JP2014027059 A JP 2014027059A JP 2014027059 A JP2014027059 A JP 2014027059A JP 2015153198 A JP2015153198 A JP 2015153198A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- uefi
- function
- boot
- area
- 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
Links
- 230000007257 malfunction Effects 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 title claims description 37
- 238000004590 computer program Methods 0.000 title description 3
- 230000006870 function Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000007704 transition Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006266 hibernation Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012360 testing method Methods 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/572—Secure firmware programming, e.g. of basic input output system [BIOS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
Abstract
【解決手段】ファームウェアROM100には、コード領域101、デフォルト領域103、変数領域105、107を設けている。変数領域105には、UEFIが作成したプリブートに不可欠なデータ(CV)を書き込む。変数領域105には、UEFIが定義するグローバル・バリアブルズ(GV)と、OSが作成したデータ(UV)を書き込む。変数領域105は、ファームウェアROMのなかでライト・ロックが可能な記録領域である。UEFIはプリブートを終了したあとに変数領域105をライト・ロックする。よって、OSによるCVの書き換えを防ぐことができる。
【選択図】図2
Description
図1は、ノートブック型またはデスクトップ型のPC10の主要なハードウェアの構成を示す機能ブロック図である。多くのハードウェアの構成は周知であるため、本発明の理解に必要な範囲で説明する。チップセット13はさまざまな規格のインターフェース機能を備えており、CPU11、システム・メモリ15、GPU17、HDD21、USBコネクタ23、有線または無線のLANに接続するためのネットワーク・モジュール25、およびキーボード29などが接続されている。GPU17にはLCD19が接続されている。チップセット13にはさらに、SPI(Serial Peripheral Interface)コントローラにはファームウェアROM100が接続されている。
図2は、ファームウェアROM100のデータ構造を示す図で、図3はシステム・メモリ15にロードされて実行状態にあるソフトウェアの階層構造を示す図である。ファームウェアROM100は、不揮発性で記憶内容の電気的な書き替えが可能なフラッシュ・メモリで、一例としてコード領域101、デフォルト領域103、変数領域105、107の4ブロックに区分している。
図4、図5は、UEFIファームウェア150が変数領域105、107に対するアクセスを制御する手順を示すフローチャートである。ブロック211で、PC10の電源が起動してシステムがコールド・ブートを開始する。このとき図6に示すように、変数領域105にはCVが記録され、変数領域107にはGVとUVが書き込みの順番に応じて混合した状態で記録されている。パワー・オン・リセットしたチップセット13は、ブロック213でSPIコントローラに設定していたファームウェアROM100のコード領域101、デフォルト領域103および変数領域105に対するライト・ロック機能を解除する。
100 ファームウェアROM
101 コード領域
103 デフォルト領域
105 CVを記録する変数領域
107 GV、UVを記録する変数領域
109 UVを記録する変数領域
150 UEFIファームウェア
400 ファームウェアROMとは異なる不揮発性メモリ
Claims (16)
- コンピュータに、
不揮発性メモリに設定された第1の変数領域と第2の変数領域を認識する機能と、
前記第1の変数領域にプリブートに不可欠な構成データを書き込む機能と、
前記第2の変数領域にシステム・ファームウェアが定義しオペレーティング・システムによる書き換えが可能な公開データを書き込む機能と、
前記オペレーティング・システムからのリクエストに応じて前記第2の変数領域にユーザ・データを書き込む機能と、
前記プリブートを終了したあとの前記第1の変数領域に対する書き込みを制限する機能と
を実現させるためのシステム・ファームウェア。 - 前記書き込みを制限する機能が、前記第1の変数領域に接続されたインターフェース・コントローラをライト・ロックする機能を含む請求項1に記載のシステム・ファームウェア。
- 前記書き込みを制限する機能が、前記オペレーティング・システムによる前記構成データを更新するためのリクエストを無効にする機能を含む請求項1または請求項2に記載のシステム・ファームウェア。
- 前記プリブートの間に前記第2の変数領域の残容量を確認する機能と、
前記残容量が所定値未満になったときに前記第2の変数領域をクリーン・アップすることを示す画面を表示する機能と、
前記クリーン・アップの指示を受け取ったときに前記ユーザ・データを消去する機能と
を有する請求項1に記載のシステム・ファームウェア。 - 前記構成データと前記公開データのデフォルト値を格納する第3の変数領域を認識する機能と、
前記プリブートの間に前記構成データおよび前記公開データのそれぞれと前記デフォルト値を比較する機能と、
いずれかの前記構成データまたは前記公開データが消去されたと判断したときに前記デフォルト値を前記第1の変数領域または前記第2の変数領域に書き込む機能と
を有する請求項1に記載のシステム・ファームウェア。 - 前記システム・ファームウェアがUEFI規格に適合し、前記公開データは前記UEFI規格が定義するグローバル・バリアブルズである請求項1に記載のシステム・ファームウェア。
- 前記プリブートの間に前記第2の変数領域に記録された前記グローバル・バリアブルズのなかでブートに関連するグローバル・バリアブルズのパラメータに対する改変の有無を判断する機能と、
前記パラメータが改変されたと判断したときにデフォルト値を書き込む機能と
を含む請求項6に記載のシステム・ファームウェア。 - 前記ブートに関連するグローバル・バリアブルズが、Boot####、BootOrder、Drive####、DriveOrder、およびKey####である請求項7に記載のシステム・ファームウェア。
- 前記オペレーティング・システムが、前記UEFIの規格に対応してUEFIネイティブ・モードで動作する請求項6に記載のシステム・ファームウェア。
- UEFI規格に適合するシステム・ファームウェアと、プリブートに不可欠なコンフィグレーション・バリアブルズと、前記UEFI規格が定義するグローバル・バリアブルズと、前記UEFI規格に対応するオペレーティング・システムが作成したユーザ・バリアブルズを格納する不揮発性メモリを実装したコンピュータに、
前記コンフィグレーション・バリアブルズ、前記グローバル・バリアブルズ、または前記ユーザ・バリアブルズのいずれかに対する書き換えのリクエストを受け取る機能と、
プリブート中か否かを判断する機能と、
前記プリブート中だと判断したときに前記リクエストを処理する機能と、
前記プリブートが終了したと判断したときに前記コンフィグレーション・バリアブルズの書き換えを無効にする機能と
を実現させるためのシステム・ファームウェア。 - 前記プリブートが終了したと判断したときに前記グローバル・バリアブルズおよび前記ユーザ・バリアブルズに対する書き換えのリクエストを処理する機能を含む請求項10に記載のシステム・ファームウェア。
- UEFI規格に適合するシステム・ファームウェアを格納する不揮発性メモリを実装したコンピュータの動作不良を防止する方法であって、
プリブートに不可欠なコンフィグレーション・バリアブルズを前記不揮発性メモリの第1の記憶領域に書き込むステップと、
前記UEFI規格が定義するグローバル・バリアブルズを前記不揮発性メモリの第2の記憶領域に書き込むステップと、
前記UEFI規格に対応するオペレーティング・システムから受け取ったリクエストに応じてユーザ・バリアブルズを前記不揮発性メモリの第3の記憶領域に書き込むステップと、
前記プリブートが終了した後の前記オペレーティング・システムから前記第1の記憶領域に対するアクセスを制限するステップと
を有する方法。 - プロセッサと、UEFIコードを格納した不揮発性メモリと、UEFI規格に適合するオペレーティング・システムを格納したディスク・ドライブとを有するコンピュータであって、前記不揮発性メモリが、
プリブートに不可欠な構成データを書き込む第1の記録領域と、
前記UEFI規格が定義するデータと、前記オペレーティング・システムが作成したユーザ・データとを書き込む第2の記録領域と、
前記プリブートが終了した後の前記オペレーティング・システムから前記第1の記録領域に対する書き込みを制限する手段と
を有するコンピュータ。 - 前記書き込みを制限する手段が、前記不揮発性メモリのインターフェース・コントローラを含む請求項13に記載のコンピュータ。
- 前記第2の記録領域が、前記UEFI規格が定義するデータの記録領域と前記ユーザ・データの記録領域に分割されている請求項13に記載のコンピュータ。
- プロセッサと、UEFI規格に適合するオペレーティング・システムを格納したディスク・ドライブとを有するコンピュータであって、
UEFIコードと、プリブートに不可欠な構成データと、前記UEFI規格が定義するデータとを格納する第1の不揮発性メモリと、
前記オペレーティング・システムが作成したユーザ・データを書き込む第2の不揮発性メモリと、
前記プリブートが終了した後の前記オペレーティング・システムから前記第1の記録領域に対する書き込みを制限する手段と
を有するコンピュータ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014027059A JP5889933B2 (ja) | 2014-02-15 | 2014-02-15 | コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ |
CN201510009424.9A CN104850762B (zh) | 2014-02-15 | 2015-01-08 | 防止计算机的动作不良的方法、计算机程序以及计算机 |
US14/621,708 US10216936B2 (en) | 2014-02-15 | 2015-02-13 | Method of preventing computer malfunction, computer program, and computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014027059A JP5889933B2 (ja) | 2014-02-15 | 2014-02-15 | コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015153198A true JP2015153198A (ja) | 2015-08-24 |
JP5889933B2 JP5889933B2 (ja) | 2016-03-22 |
Family
ID=53798360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014027059A Active JP5889933B2 (ja) | 2014-02-15 | 2014-02-15 | コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ |
Country Status (3)
Country | Link |
---|---|
US (1) | US10216936B2 (ja) |
JP (1) | JP5889933B2 (ja) |
CN (1) | CN104850762B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017058992A (ja) * | 2015-09-17 | 2017-03-23 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理装置の動作環境設定情報を更新する方法、及び、情報処理装置の動作環境設定情報を更新するプログラム |
JP6204555B1 (ja) * | 2016-09-21 | 2017-09-27 | レノボ・シンガポール・プライベート・リミテッド | 不揮発性メモリに格納した変数を保護する方法、システム・ファームウェアおよびコンピュータ |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI562071B (en) * | 2015-11-04 | 2016-12-11 | Mitac Computing Technology Corp | Method for startup inspection and computer system using the same |
CN106815033B (zh) * | 2015-11-27 | 2020-07-17 | 佛山市顺德区顺达电脑厂有限公司 | 开机检查方法及计算机系统 |
US10140117B2 (en) * | 2016-06-30 | 2018-11-27 | Microsoft Technology Licensing, Llc | Fault-tolerant variable region repaving during firmware over the air update |
US10282243B2 (en) | 2016-09-15 | 2019-05-07 | International Business Machines Corporation | Performance enhancement for platform data dump collection |
WO2018199893A1 (en) * | 2017-04-24 | 2018-11-01 | Hewlett-Packard Development Company, L.P. | Displaying a bios update progress |
US11263326B2 (en) * | 2017-06-02 | 2022-03-01 | Apple Inc. | Method and apparatus for secure system boot |
US10831897B2 (en) * | 2017-07-14 | 2020-11-10 | Dell Products, L.P. | Selective enforcement of secure boot database entries in an information handling system |
US10635818B1 (en) * | 2017-08-25 | 2020-04-28 | American Megatrends International, Llc | Blocking runtime firmware variable access |
US10621354B2 (en) * | 2018-02-22 | 2020-04-14 | Dell Products, L.P. | Verifying basic input/output system (BIOS) boot block code |
WO2019236087A1 (en) * | 2018-06-07 | 2019-12-12 | Hewlett-Packard Development Company, L.P. | Non-volatile memory protections |
US10740084B2 (en) * | 2018-08-16 | 2020-08-11 | Intel Corporation | Soc-assisted resilient boot |
CN109582370B (zh) * | 2018-11-01 | 2022-07-19 | 浙江大华技术股份有限公司 | 一种nor flash嵌入式设备的启动方法及装置 |
US11169818B2 (en) * | 2019-04-25 | 2021-11-09 | Dell Products L.P. | Systems and methods for dynamically locating and accessing operating system (OS) file system data from a pre-boot environment |
CN111159726B (zh) * | 2019-12-10 | 2022-09-13 | 中国电子科技网络信息安全有限公司 | 一种基于uefi环境变量的全盘加解密方法及系统 |
JP2021111112A (ja) * | 2020-01-09 | 2021-08-02 | キヤノン株式会社 | 画像形成装置、及びその制御方法 |
CN112181793B (zh) * | 2020-09-28 | 2022-11-11 | 大唐高鸿信安(浙江)信息科技有限公司 | 一种日志记录方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012127522A1 (ja) * | 2011-03-18 | 2012-09-27 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
US20120260082A1 (en) * | 2011-04-08 | 2012-10-11 | Insyde Software Corp. | System and method for processing requests to alter system security databases and firmware stores in a unified extensible firmware interface-compliant computing device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327741A1 (en) * | 2008-06-30 | 2009-12-31 | Zimmer Vincent J | System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid) |
US8533830B1 (en) * | 2009-03-31 | 2013-09-10 | Mcafee, Inc. | System, method, and computer program product for mounting an image of a computer system in a pre-boot environment for validating the computer system |
JP2012059024A (ja) * | 2010-09-09 | 2012-03-22 | Ricoh Co Ltd | 情報処理装置、起動制御方法、起動制御プログラム及び記録媒体 |
US9256745B2 (en) * | 2011-03-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Protecting operating system configuration values using a policy identifying operating system configuration settings |
US9075751B2 (en) * | 2012-08-09 | 2015-07-07 | Intel Corporation | Secure data protection with improved read-only memory locking during system pre-boot |
KR20150111937A (ko) * | 2013-01-30 | 2015-10-06 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 비휘발성 메모리 기록 메커니즘 |
US10289399B2 (en) * | 2014-01-22 | 2019-05-14 | Hewlett-Packard Development Company, L.P. | System firmware configuration data |
-
2014
- 2014-02-15 JP JP2014027059A patent/JP5889933B2/ja active Active
-
2015
- 2015-01-08 CN CN201510009424.9A patent/CN104850762B/zh active Active
- 2015-02-13 US US14/621,708 patent/US10216936B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012127522A1 (ja) * | 2011-03-18 | 2012-09-27 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
US20120260082A1 (en) * | 2011-04-08 | 2012-10-11 | Insyde Software Corp. | System and method for processing requests to alter system security databases and firmware stores in a unified extensible firmware interface-compliant computing device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017058992A (ja) * | 2015-09-17 | 2017-03-23 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理装置の動作環境設定情報を更新する方法、及び、情報処理装置の動作環境設定情報を更新するプログラム |
JP6204555B1 (ja) * | 2016-09-21 | 2017-09-27 | レノボ・シンガポール・プライベート・リミテッド | 不揮発性メモリに格納した変数を保護する方法、システム・ファームウェアおよびコンピュータ |
Also Published As
Publication number | Publication date |
---|---|
CN104850762B (zh) | 2019-03-05 |
CN104850762A (zh) | 2015-08-19 |
US10216936B2 (en) | 2019-02-26 |
JP5889933B2 (ja) | 2016-03-22 |
US20150235029A1 (en) | 2015-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5889933B2 (ja) | コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ | |
US11520894B2 (en) | Verifying controller code | |
JP6054908B2 (ja) | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ | |
CN103718165B (zh) | Bios闪存攻击保护和通知 | |
JP4433401B2 (ja) | 情報処理システム、プログラム、及び情報処理方法 | |
US9880908B2 (en) | Recovering from compromised system boot code | |
TWI559167B (zh) | 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法 | |
JP4793733B2 (ja) | 高インテグリティファームウェア | |
CN102298529B (zh) | 为系统提供硅集成代码 | |
EP2989583B1 (en) | Configuring a system | |
US8539213B2 (en) | Manageability extension mechanism for system firmware | |
US8819330B1 (en) | System and method for updating a locally stored recovery image | |
US7827376B2 (en) | System and method for protecting hidden protected area of HDD during operation | |
US8281119B1 (en) | Separate normal firmware and developer firmware | |
US7069445B2 (en) | System and method for migration of a version of a bootable program | |
TWI743480B (zh) | 電腦系統與其開機方法 | |
US20130311761A1 (en) | Intelligently Loading Legacy Option ROMs In A Computing System | |
KR100775431B1 (ko) | 임베디드 시스템 및 임베디드 시스템의 펌웨어 업데이트방법 | |
JP6204555B1 (ja) | 不揮発性メモリに格納した変数を保護する方法、システム・ファームウェアおよびコンピュータ | |
Kildall | User interface | |
Terzić et al. | BASIC INPUT/OUTPUT SYSTEM BIOS FUNCTIONS AND MODIFICATIONS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160116 |
|
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: 20160216 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5889933 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |