TW201426297A - System and method for securing baseboard management controller - Google Patents
System and method for securing baseboard management controller Download PDFInfo
- Publication number
- TW201426297A TW201426297A TW101149852A TW101149852A TW201426297A TW 201426297 A TW201426297 A TW 201426297A TW 101149852 A TW101149852 A TW 101149852A TW 101149852 A TW101149852 A TW 101149852A TW 201426297 A TW201426297 A TW 201426297A
- Authority
- TW
- Taiwan
- Prior art keywords
- management controller
- configuration parameters
- baseboard management
- storage area
- firmware program
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本發明涉及一種電腦安全保護系統及方法,尤其關於一種基板管理控制器安全保護系統及方法。The invention relates to a computer security protection system and method, in particular to a substrate management controller security protection system and method.
在計算設備(例如伺服器)中,基板管理控制器負責監測計算設備各個硬體的運行狀態(例如風扇的轉速、CPU的溫度、CPU的電壓等),並在發生異常時將異常情況報告給用戶。然而,基板管理控制器本身也有可能出現異常。若基板管理控制器出現異常,則無法對計算設備各個硬體的運行狀態進行監測。In a computing device (such as a server), the baseboard management controller is responsible for monitoring the operating state of each hardware of the computing device (such as the speed of the fan, the temperature of the CPU, the voltage of the CPU, etc.), and reporting the abnormality to the abnormality when an abnormality occurs. user. However, the substrate management controller itself may also have an abnormality. If the substrate management controller is abnormal, the operating status of each hardware of the computing device cannot be monitored.
鑒於以上內容,有必要提供一種基板管理控制器安全保護系統及方法,能夠保證基板管理控制器的正常運行。In view of the above, it is necessary to provide a substrate management controller security protection system and method, which can ensure the normal operation of the substrate management controller.
一種基板管理控制器安全保護系統,運行於基板管理控制器中,所述基板管理控制器包括儲存設備,該儲存設備內儲存有固件程式,該系統包括:劃分模組,用於在所述儲存設備中劃分參數儲存區,該參數儲存區用於儲存基板管理控制器的配置參數;獲取模組,用於在基板管理控制器運行所述固件程式的過程中獲取該基板管理控制器的配置參數,並將獲取的配置參數儲存至所述參數儲存區;偵測模組,用於偵測所述基板管理控制器中各個進程的運行狀況;及恢復模組,用於在所述基板管理控制器的進程發生異常時,從所述參數儲存區讀取該基板管理控制器的配置參數,根據讀取的配置參數修改所述固件程式並啟動修改後的固件程式。A substrate management controller security protection system, running in a substrate management controller, the substrate management controller includes a storage device, wherein the storage device stores a firmware program, and the system includes: a partitioning module for storing in the storage A parameter storage area is defined in the device, where the parameter storage area is used for storing configuration parameters of the baseboard management controller; and an acquisition module is configured to acquire configuration parameters of the baseboard management controller in a process of the baseboard management controller running the firmware program And storing the obtained configuration parameters to the parameter storage area; the detecting module is configured to detect the running status of each process in the baseboard management controller; and the recovery module is configured to be used in the baseboard management control When an abnormality occurs in the process of the device, the configuration parameters of the baseboard management controller are read from the parameter storage area, the firmware program is modified according to the read configuration parameters, and the modified firmware program is started.
一種基板管理控制器安全保護方法,應用於基板管理控制器中,所述基板管理控制器包括儲存設備,該儲存設備內儲存有固件程式,該方法包括步驟:在所述儲存設備中劃分參數儲存區,該參數儲存區用於儲存基板管理控制器的配置參數;在基板管理控制器運行所述固件程式的過程中獲取該基板管理控制器的配置參數,並將獲取的配置參數儲存至所述參數儲存區;偵測所述基板管理控制器中各個進程的運行狀況;及當所述基板管理控制器的進程發生異常時,從所述參數儲存區讀取該基板管理控制器的配置參數,根據讀取的配置參數修改所述固件程式並啟動修改後的固件程式。A substrate management controller security protection method is applied to a substrate management controller, wherein the substrate management controller includes a storage device, wherein the storage device stores a firmware program, and the method includes the steps of: dividing parameter storage in the storage device a parameter storage area for storing configuration parameters of the baseboard management controller; acquiring configuration parameters of the baseboard management controller during operation of the firmware management program by the baseboard management controller, and storing the acquired configuration parameters to the a parameter storage area; detecting an operation status of each process in the baseboard management controller; and reading, when the process of the baseboard management controller is abnormal, reading configuration parameters of the baseboard management controller from the parameter storage area, Modify the firmware program according to the read configuration parameters and start the modified firmware program.
本發明劃分專門的儲存區域儲存基板管理控制器的配置參數,在基板管理控制器出現異常時根據儲存的配置參數恢復修改基板管理控制器的固件程式,保證了基板管理控制器的正常運行。The invention divides the configuration parameters of the special storage area storage substrate management controller, and restores the firmware program of the substrate management controller according to the stored configuration parameters when the substrate management controller is abnormal, thereby ensuring the normal operation of the substrate management controller.
參閱圖1所示,係本發明基板管理控制器安全保護系統的運行環境示意圖。所述基板管理控制器安全保護系統100運行於計算設備1的基板管理控制器10中。該基板管理控制器10還包括固件程式101、儲存設備102及處理器103。所述儲存設備102儲存基板管理控制器安全保護系統100及固件程式101的程式碼。所述處理器103執行基板管理控制器安全保護系統100及固件程式101的程式碼,以保證基板管理控制器10的正常運行。在本實施例中,所述儲存設備102是快閃記憶體。Referring to FIG. 1 , it is a schematic diagram of an operating environment of a substrate management controller security protection system of the present invention. The baseboard management controller security protection system 100 operates in the baseboard management controller 10 of the computing device 1. The baseboard management controller 10 further includes a firmware program 101, a storage device 102, and a processor 103. The storage device 102 stores the code of the baseboard management controller security protection system 100 and the firmware program 101. The processor 103 executes the code of the substrate management controller security protection system 100 and the firmware program 101 to ensure normal operation of the substrate management controller 10. In this embodiment, the storage device 102 is a flash memory.
參閱圖2所示,係圖1中基板管理控制器安全保護系統的功能模組圖。所述基板管理控制器安全保護系統100包括劃分模組1000、獲取模組1001、偵測模組1002及恢復模組1003。Referring to FIG. 2, it is a functional module diagram of the substrate management controller security protection system in FIG. The baseboard management controller security protection system 100 includes a partitioning module 1000, an obtaining module 1001, a detecting module 1002, and a recovery module 1003.
所述劃分模組1000用於在儲存設備102中劃分一個參數儲存區,用於儲存基板管理控制器10的配置參數。在本實施例中,所述配置參數包括引導裝載程式環境參數、作業系統內核環境參數、根檔案系統映射環境參數及IPMI(Intelligent Platform Management Interface,智慧平臺管理介面)應用程式參數等。在本實施例中,劃分模組1000還設定所述參數儲存區的讀寫權限。例如,將所述參數儲存區設定為只允許獲取模組1001寫入資料,只允許恢復模組1003讀取資料。The partitioning module 1000 is configured to divide a parameter storage area in the storage device 102 for storing configuration parameters of the baseboard management controller 10. In this embodiment, the configuration parameters include boot loader environment parameters, operating system kernel environment parameters, root file system mapping environment parameters, and IPMI (Intelligent Platform Management Interface) application parameters. In this embodiment, the partitioning module 1000 also sets the read and write permissions of the parameter storage area. For example, the parameter storage area is set to allow only the acquisition module 1001 to write data, and only the recovery module 1003 is allowed to read data.
所述獲取模組1001用於在基板管理控制器10運行固件程式101的過程中獲取基板管理控制器10的配置參數,並將獲取的配置參數儲存至參數儲存區。在本實施例中,獲取模組1001以指定時間間隔(如每小時一次)獲取基板管理控制器10的配置參數,將獲取的配置參數儲存至參數儲存區並取代原來的配置參數。The acquiring module 1001 is configured to acquire configuration parameters of the substrate management controller 10 during the execution of the firmware program 101 by the substrate management controller 10, and store the acquired configuration parameters into the parameter storage area. In this embodiment, the acquisition module 1001 acquires the configuration parameters of the substrate management controller 10 at a specified time interval (eg, once per hour), and stores the acquired configuration parameters into the parameter storage area and replaces the original configuration parameters.
所述偵測模組1002用於偵測基板管理控制器10中各個進程的運行狀況。在本實施例中,基板管理控制器10運行的進程包括儲存設備驅動進程、儲存設備讀寫管理進程、記憶體回收進程、用戶登錄進程、固件程式更新進程、Web伺服器進程、IPMI(Intelligent Platform Management Interface,智慧平臺管理介面)管理進程、系統事件警報進程等。The detection module 1002 is configured to detect the running status of each process in the baseboard management controller 10. In this embodiment, the process of the baseboard management controller 10 includes a storage device driver process, a storage device read/write management process, a memory recovery process, a user login process, a firmware update process, a web server process, and an IPMI (Intelligent Platform). Management Interface, intelligent platform management interface) management process, system event alert process, etc.
所述恢復模組1003用於在基板管理控制器10運行的進程發生異常時,從參數儲存區讀取基板管理控制器10的配置參數。例如,若IPMI管理進程異常,則恢復模組1003從參數儲存區讀取基板管理控制器10的配置參數。The recovery module 1003 is configured to read the configuration parameters of the substrate management controller 10 from the parameter storage area when an abnormality occurs in the process of the substrate management controller 10 running. For example, if the IPMI management process is abnormal, the recovery module 1003 reads the configuration parameters of the baseboard management controller 10 from the parameter storage area.
所述恢復模組1003還用於根據讀取的基板管理控制器10的配置參數修改固件程式101並啟動修改後的固件程式101,使得基板管理控制器10恢復正常運行。例如,若基板管理控制器10的IPMI應用程式發生變化,IPMI應用程式參數就會發生變化,則根據變化後的IPMI應用程式參數修改固件程式101並啟動該修改後的固件程式101。The recovery module 1003 is further configured to modify the firmware program 101 according to the read configuration parameters of the baseboard management controller 10 and start the modified firmware program 101, so that the baseboard management controller 10 resumes normal operation. For example, if the IPMI application of the baseboard management controller 10 changes and the IPMI application parameters change, the firmware program 101 is modified based on the changed IPMI application parameters and the modified firmware program 101 is started.
參閱圖3所示,係本發明基板管理控制器安全保護方法較佳實施例的流程圖。Referring to FIG. 3, it is a flow chart of a preferred embodiment of the substrate management controller security protection method of the present invention.
步驟S301,劃分模組1000在儲存設備102中劃分一個參數儲存區,用於儲存基板管理控制器10的配置參數。在本實施例中,所述配置參數包括引導裝載程式環境參數、作業系統內核環境參數、根檔案系統映射環境參數及IPMI(Intelligent Platform Management Interface,智慧平臺管理介面)應用程式參數等。在本實施例中,劃分模組1000還設定所述參數儲存區的讀寫權限。例如,將所述參數儲存區設定為只允許獲取模組1001寫入資料,只允許恢復模組1003讀取資料。In step S301, the partitioning module 1000 divides a parameter storage area in the storage device 102 for storing configuration parameters of the baseboard management controller 10. In this embodiment, the configuration parameters include boot loader environment parameters, operating system kernel environment parameters, root file system mapping environment parameters, and IPMI (Intelligent Platform Management Interface) application parameters. In this embodiment, the partitioning module 1000 also sets the read and write permissions of the parameter storage area. For example, the parameter storage area is set to allow only the acquisition module 1001 to write data, and only the recovery module 1003 is allowed to read data.
步驟S302,獲取模組1001在基板管理控制器10運行固件程式101的過程中獲取基板管理控制器10的配置參數,並將獲取的配置參數儲存至參數儲存區。在本實施例中,獲取模組1001以指定時間間隔(如每小時一次)獲取基板管理控制器10的配置參數,將獲取的配置參數儲存至參數儲存區並取代原來的配置參數。In step S302, the acquisition module 1001 acquires the configuration parameters of the substrate management controller 10 during the execution of the firmware program 101 by the substrate management controller 10, and stores the acquired configuration parameters into the parameter storage area. In this embodiment, the acquisition module 1001 acquires the configuration parameters of the substrate management controller 10 at a specified time interval (eg, once per hour), and stores the acquired configuration parameters into the parameter storage area and replaces the original configuration parameters.
步驟S303,偵測模組1002偵測基板管理控制器10中各個進程的運行狀況。若基板管理控制器10中各個進程運行正常,則偵測模組1002重複執行偵測動作。在本實施例中,基板管理控制器10運行的進程包括儲存設備驅動進程、儲存設備讀寫管理進程、記憶體回收進程、用戶登錄進程、固件程式更新進程、Web伺服器進程、IPMI(Intelligent Platform Management Interface,智慧平臺管理介面)管理進程、系統事件警報進程等。In step S303, the detecting module 1002 detects the running status of each process in the baseboard management controller 10. If each process in the substrate management controller 10 is operating normally, the detection module 1002 repeatedly performs the detection action. In this embodiment, the process of the baseboard management controller 10 includes a storage device driver process, a storage device read/write management process, a memory recovery process, a user login process, a firmware update process, a web server process, and an IPMI (Intelligent Platform). Management Interface, intelligent platform management interface) management process, system event alert process, etc.
若偵測模組1002偵測到基板管理控制器10運行的進程發生異常,步驟S304,恢復模組1003從參數儲存區讀取基板管理控制器10的配置參數。例如,若IPMI管理進程異常,則恢復模組1003從參數儲存區讀取基板管理控制器10的配置參數。If the detection module 1002 detects that the process of the substrate management controller 10 is abnormal, the recovery module 1003 reads the configuration parameters of the substrate management controller 10 from the parameter storage area in step S304. For example, if the IPMI management process is abnormal, the recovery module 1003 reads the configuration parameters of the baseboard management controller 10 from the parameter storage area.
步驟S305,恢復模組1003根據讀取的基板管理控制器10的配置參數修改固件程式101。例如,若基板管理控制器10的IPMI應用程式發生變化,則IPMI應用程式參數發生變化,則根據變化後的IPMI應用程式參數修改固件程式101。In step S305, the recovery module 1003 modifies the firmware program 101 according to the configuration parameters of the read substrate management controller 10. For example, if the IPMI application of the baseboard management controller 10 changes, the IPMI application parameters change, and the firmware program 101 is modified based on the changed IPMI application parameters.
步驟S306,恢復模組1003啟動修改後的固件程式101,使得基板管理控制器10恢復正常運行。In step S306, the recovery module 1003 starts the modified firmware program 101, so that the substrate management controller 10 resumes normal operation.
綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述者僅為本發明之較佳實施方式,本發明之範圍並不以上述實施方式為限,舉凡熟悉本案技藝之人士爰依本發明之精神所作之等效修飾或變化,皆應涵蓋於以下申請專利範圍內。In summary, the present invention complies with the requirements of the invention patent and submits a patent application according to law. However, the above description is only a preferred embodiment of the present invention, and the scope of the present invention is not limited to the above-described embodiments, and equivalent modifications or variations made by those skilled in the art in accordance with the spirit of the present invention are It should be covered by the following patent application.
1...計算設備1. . . Computing device
10...基板管理控制器10. . . Baseboard management controller
100...基板管理控制器安全保護系統100. . . Baseboard management controller security protection system
101...固件程式101. . . Firmware program
102...儲存設備102. . . Storage device
103...處理器103. . . processor
1000...劃分模組1000. . . Partition module
1001...獲取模組1001. . . Get module
1002...偵測模組1002. . . Detection module
1003...恢復模組1003. . . Recovery module
圖1係本發明基板管理控制器安全保護系統的運行環境示意圖。1 is a schematic diagram of an operating environment of a substrate management controller security protection system of the present invention.
圖2係圖1中基板管理控制器安全保護系統的功能模組圖。2 is a functional block diagram of the substrate management controller security protection system of FIG. 1.
圖3係本發明基板管理控制器安全保護方法較佳實施例的流程圖。3 is a flow chart of a preferred embodiment of the substrate management controller security protection method of the present invention.
100...基板管理控制器安全保護系統100. . . Baseboard management controller security protection system
1000...劃分模組1000. . . Partition module
1001...獲取模組1001. . . Get module
1002...偵測模組1002. . . Detection module
1003...恢復模組1003. . . Recovery module
Claims (8)
劃分模組,用於在所述儲存設備中劃分參數儲存區,該參數儲存區用於儲存基板管理控制器的配置參數;
獲取模組,用於在基板管理控制器運行所述固件程式的過程中獲取該基板管理控制器的配置參數,並將獲取的配置參數儲存至所述參數儲存區;
偵測模組,用於偵測所述基板管理控制器中各個進程的運行狀況;及
恢復模組,用於在所述基板管理控制器的進程發生異常時,從所述參數儲存區讀取該基板管理控制器的配置參數,根據讀取的配置參數修改所述固件程式並啟動修改後的固件程式。A substrate management controller security protection system runs in a baseboard management controller, the baseboard management controller includes a storage device, and the storage device stores a firmware program, and the system includes:
a dividing module, configured to divide a parameter storage area in the storage device, where the parameter storage area is used to store configuration parameters of the baseboard management controller;
Obtaining a module, configured to acquire configuration parameters of the baseboard management controller during a process of running the firmware program by the baseboard management controller, and store the acquired configuration parameters into the parameter storage area;
a detection module, configured to detect an operation status of each process in the baseboard management controller; and a recovery module, configured to read from the parameter storage area when an abnormality occurs in a process of the baseboard management controller The baseboard manages the configuration parameters of the controller, modifies the firmware program according to the read configuration parameters, and starts the modified firmware program.
在所述儲存設備中劃分參數儲存區,該參數儲存區用於儲存基板管理控制器的配置參數;
在基板管理控制器運行所述固件程式的過程中獲取該基板管理控制器的配置參數,並將獲取的配置參數儲存至所述參數儲存區;
偵測所述基板管理控制器中各個進程的運行狀況;及
當所述基板管理控制器的進程發生異常時,從所述參數儲存區讀取該基板管理控制器的配置參數,根據讀取的配置參數修改所述固件程式並啟動修改後的固件程式。A substrate management controller security protection method is applied to a substrate management controller. The substrate management controller includes a storage device, and the storage device stores a firmware program. The method includes the following steps:
Dividing a parameter storage area in the storage device, the parameter storage area is configured to store configuration parameters of the baseboard management controller;
Acquiring configuration parameters of the baseboard management controller in a process of running the firmware program by the baseboard management controller, and storing the acquired configuration parameters into the parameter storage area;
Detecting an operation status of each process in the baseboard management controller; and when an abnormality occurs in a process of the baseboard management controller, reading configuration parameters of the baseboard management controller from the parameter storage area, according to the read The configuration parameters modify the firmware program and launch the modified firmware program.
設定所述參數儲存區的讀寫權限。The method for securing a substrate management controller according to claim 5, wherein the method further comprises:
Set the read and write permissions of the parameter storage area.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210557551.9A CN103885869A (en) | 2012-12-20 | 2012-12-20 | Substrate management controller safety protection system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201426297A true TW201426297A (en) | 2014-07-01 |
Family
ID=50954777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101149852A TW201426297A (en) | 2012-12-20 | 2012-12-25 | System and method for securing baseboard management controller |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103885869A (en) |
TW (1) | TW201426297A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328431A (en) * | 2020-11-05 | 2021-02-05 | 山东云海国创云计算装备产业创新中心有限公司 | Recovery device and method for BMC (baseboard management controller) system |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598283A (en) * | 2015-02-06 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | Method for realizing single-architecture multi-structure BMC firmware program |
CN106326060A (en) * | 2015-06-25 | 2017-01-11 | 昆达电脑科技(昆山)有限公司 | Baseplate management control system and method for same |
CN108121614A (en) * | 2018-01-16 | 2018-06-05 | 郑州云海信息技术有限公司 | A kind of IPMI process monitoring methods, system, equipment and computer media |
CN111832084B (en) * | 2019-04-22 | 2024-06-25 | 富联精密电子(天津)有限公司 | Firmware protection system and method for baseboard management controller |
CN112487500B (en) * | 2019-09-12 | 2024-10-11 | 环达电脑(上海)有限公司 | Authentication method |
CN111124509B (en) * | 2019-11-29 | 2021-07-06 | 苏州浪潮智能科技有限公司 | Server starting method and device |
CN111813600B (en) * | 2020-06-29 | 2024-08-02 | 中国长城科技集团股份有限公司 | Method, device, terminal and medium for recovering controller |
CN115858251B (en) * | 2023-01-18 | 2023-05-16 | 苏州浪潮智能科技有限公司 | Control method and device of substrate control unit, electronic equipment and storage medium |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863081B (en) * | 2005-10-14 | 2010-05-05 | 华为技术有限公司 | Managing system and method based on intelligent platform managing interface |
CN100465907C (en) * | 2006-08-04 | 2009-03-04 | 华为技术有限公司 | Apparatus and method of CMOS parameter setting and maintaining |
US8732829B2 (en) * | 2008-04-14 | 2014-05-20 | Tdi Technologies, Inc. | System and method for monitoring and securing a baseboard management controller |
TW201020769A (en) * | 2008-11-24 | 2010-06-01 | Inventec Corp | Server system and record device and management method thereof |
TWI483125B (en) * | 2010-11-01 | 2015-05-01 | Hon Hai Prec Ind Co Ltd | Baseboard management controller recovery system and using method of the same |
-
2012
- 2012-12-20 CN CN201210557551.9A patent/CN103885869A/en active Pending
- 2012-12-25 TW TW101149852A patent/TW201426297A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328431A (en) * | 2020-11-05 | 2021-02-05 | 山东云海国创云计算装备产业创新中心有限公司 | Recovery device and method for BMC (baseboard management controller) system |
Also Published As
Publication number | Publication date |
---|---|
CN103885869A (en) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201426297A (en) | System and method for securing baseboard management controller | |
US11520894B2 (en) | Verifying controller code | |
JP6715356B2 (en) | Memory Allocation Techniques in Partially Offloaded Virtualization Managers | |
CN105892444B (en) | Security event detection through virtual machine introspection | |
EP2989579B1 (en) | Redundant system boot code in a secondary non-volatile memory | |
US9141464B2 (en) | Computing device and method for processing system events of computing device | |
US9684517B2 (en) | System monitoring and debugging in a multi-core processor system | |
CN111950014A (en) | Security measurement method and device for starting server system and server | |
US10339284B2 (en) | Measurement method, electronic device, and measurement system | |
CN111353162A (en) | TrustZone kernel-based asynchronous execution active trusted computing method and system | |
EP3185166B1 (en) | Trusted metric method and device | |
US9928367B2 (en) | Runtime verification | |
WO2015065513A1 (en) | Systems and methods for updating system-level services within read-only system images | |
US10474517B2 (en) | Techniques of storing operational states of processes at particular memory locations of an embedded-system device | |
US11593487B2 (en) | Custom baseboard management controller (BMC) firmware stack monitoring system and method | |
US10776193B1 (en) | Identifying an remediating correctable hardware errors | |
US20210357298A1 (en) | Recovery via backups of recovery information | |
CN113826072B (en) | Code update in system management mode | |
US9785492B1 (en) | Technique for hypervisor-based firmware acquisition and analysis | |
TWI553490B (en) | Method and system for remote system configuration management and non-transitory computer-readable storage medium | |
US20090144332A1 (en) | Sideband access based method and apparatus for determining software integrity | |
WO2014004212A1 (en) | Timer for hardware protection of virtual machine monitor runtime integrity watcher | |
US20130198552A1 (en) | Power consumption monitoring | |
WO2016122590A1 (en) | Processor state determination | |
JP2015171008A (en) | Information processor, control method for information processor, and program |