Information processing device, control method, and program
By introducing an operating mode based on predefined security keys into the BIOS of the information processing device, and combining the restricted use list and restricted processing unit, the problem of difficult to prevent third-party attacks in the Secure Boot environment is solved, and higher security protection capabilities are achieved.
Patent Information
- Application Number
- JP2023193416
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-11-14
- Publication Date
- 2025-03-19
- Estimated Expiration
- 2043-11-14
AI Technical Summary
Existing information processing equipment is difficult to effectively prevent third-party attacks in the Secure Boot environment, especially because the UEFI interface is easily tampered with, and some signed programs may have vulnerabilities and may be exploited for attacks.
By introducing an operating mode based on a predefined security key in the BIOS, the use of protocols not in the trust list is restricted by combining the use of restricted use of list storage units and restricted processing units. When an illegal start-up program is detected, the restriction processing unit restricts the use of these protocols.
It effectively improves the defense capabilities in the Secure Boot environment and reduces the possibility of third-party attacks. Even under the protection of Secure Boot, it can prevent third-party tampering and monitoring.
Smart Images

Figure 0007649362000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, a control method, and a program. [Background technology]
[0002] In recent years, in information processing devices such as personal computers, a function called secure boot has been implemented in the BIOS (Basic Input Output System) that prevents the execution of programs that are not signed with a key (secure boot key) registered in the system, so as to prevent third parties from tampering with or monitoring the pre-boot environment before the OS (Operating System) starts up (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2017-146694 A Summary of the Invention [Problem to be solved by the invention]
[0004] In conventional information processing devices, a general-purpose interface whose protocols are defined by the UEFI (Unified Extensible Firmware Interface) specification is used to exchange information between drivers, manage system information, set BIOS, etc. However, since this general-purpose interface is a program that exists in memory, it may be rewritten by a third party's program. Furthermore, among programs signed with a secure boot key, vulnerabilities that can circumvent secure boot may be found, and a third party may tamper with the program even under the protection of secure boot. Therefore, in a conventional information processing device, when a program tampered with by a third party is executed in secure boot, there is a possibility that programs executed thereafter may be tampered with or monitored.
[0005] The present invention has been made to solve the above problem, and its purpose is to provide an information processing device, a control method, and a program that can improve defense against attacks from third parties in secure boot. [Means for solving the problem]
[0006] In order to solve the above problem, one aspect of the present invention includes an authentication processing unit that, in BIOS (Basic Input Output System) processing, confirms the legitimacy of a boot program for booting an OS (Operating System) based on a predetermined security key, a trust list storage unit that stores a trust list that is a list of trusted providers of the boot program, and a chain information storage unit that stores chain information indicating whether or not an unauthorized boot program that may have been tampered with has been executed, and in a secure boot process that executes the boot program whose legitimacy has been confirmed by the authentication processing unit, a boot processing unit that, when the boot program obtained from a provider not included in the trust list stored in the trust list storage unit is executed, changes the chain information stored in the chain information storage unit to information indicating that the unauthorized boot program has been executed, and a restriction processing unit that, when the chain information stored in the chain information storage unit is information indicating that the unauthorized boot program has been executed, restricts the use of a preset security-related protocol. a usage restriction list storage unit that stores a list of the protocols whose usage is restricted; Equipped with The restriction processing unit restricts the use of a protocol included in the list of protocols stored in the usage restriction list storage unit when the chain information indicates that an unauthorized startup program has been executed. It is an information processing device.
[0007] In addition, in one aspect of the present invention, in the information processing device, the trust list includes a BIOS memory in which the BIOS program is stored, the BIOS memory being a provider. Showing that, Information indicating a firmware volume or information provided by a preset server device Showing that, Information indicating a network boot may also be included.
[0009] In addition, according to one aspect of the present invention, in the information processing device, the list of protocols the use of which is restricted may include a protocol related to a network connection or a protocol related to a Trusted Platform Module (TPM).
[0010] Another aspect of the present invention is a control method for an information processing device including an authentication processing unit that verifies the legitimacy of a startup program for starting an OS (Operating System) based on a predetermined security key in BIOS (Basic Input Output System) processing, a trust list storage unit that stores a trust list that is a list of trusted providers of the startup program, and a chain information storage unit that stores chain information indicating whether or not an unauthorized startup program that may have been tampered with has been executed, the control method including a startup processing step of changing the chain information stored in the chain information storage unit to information indicating that the unauthorized startup program has been executed when the startup processing unit executes the startup program acquired from a provider not included in the trust list stored in the trust list storage unit in a secure boot process in which the startup processing unit executes the startup program whose legitimacy has been confirmed by the authentication processing unit, and a restriction processing step of restricting use of a preset security-related protocol when the chain information stored in the chain information storage unit is information indicating that an unauthorized startup program has been executed. The information processing device includes a usage restriction list storage unit that stores a list of the protocols whose usage is restricted, and in the restriction processing step, when the chain information is information indicating that an unauthorized startup program has been executed, the restriction processing unit restricts the use of a protocol included in the list of protocols stored in the usage restriction list storage unit. It is a control method.
[0011] Moreover, one aspect of the present invention relates to a secure boot process for causing a computer of an information processing device, the information processing device including an authentication processing unit that confirms the legitimacy of a boot program for booting an OS (Operating System) based on a predetermined security key in processing of a basic input output system (BIOS), a trust list storage unit that stores a trust list which is a list of trusted providers of the boot program, and a chain information storage unit that stores chain information indicating whether an unauthorized boot program that may have been tampered with has been executed, to execute the boot program whose legitimacy has been confirmed by the authentication processing unit, the secure boot process includes a boot processing step of changing the chain information stored in the chain information storage unit to information indicating that the unauthorized boot program has been executed when the boot program obtained from a provider not included in the trust list stored in the trust list storage unit is executed, and a restriction processing step of restricting the use of a preset security-related protocol when the chain information stored in the chain information storage unit is information indicating that an unauthorized boot program has been executed. The information processing device includes a usage restriction list storage unit that stores a list of the protocols whose usage is restricted, and in the restriction processing step, when the chain information is information indicating that an unauthorized startup program has been executed, the information processing device executes a process of restricting the use of a protocol included in the list of protocols stored in the usage restriction list storage unit. This is a program for Effect of the Invention
[0012] According to the above-described aspects of the present invention, in secure boot, it is possible to improve defense against attacks from third parties. [Brief description of the drawings]
[0013] [Figure 1] FIG. 2 is a diagram illustrating an example of a main hardware configuration of a notebook PC according to the present embodiment. [Diagram 2] 2 is a functional block diagram showing an example of a functional configuration of an information processing system and a notebook PC according to the present embodiment. FIG. [Diagram 3] 11 is a diagram showing an example of data in a trust list storage unit in the present embodiment. FIG. [Figure 4] 5 is a diagram showing an example of data in a restriction list storage unit in the present embodiment. FIG. [Diagram 5]5 is a flowchart showing an example of a startup process of the notebook PC according to the present embodiment. [Figure 6] 5 is a flowchart showing an example of protocol processing in the notebook PC according to the present embodiment. [Figure 7] FIG. 1 is a diagram illustrating an example of a third-party attack on a notebook PC according to the prior art. [Figure 8] FIG. 11 is a first diagram illustrating the effect of the notebook PC according to the present embodiment against attacks by a third party. [Figure 9] FIG. 13 is a diagram illustrating another example of a third-party attack on a notebook PC according to the prior art. [Figure 10] FIG. 2 is a second diagram illustrating the effect of the notebook PC according to this embodiment against attacks by a third party. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An information processing apparatus and a control method according to an embodiment of the present invention will be described below with reference to the drawings.
[0015] 1 is a diagram showing an example of a main hardware configuration of a notebook PC 1 according to this embodiment. In this embodiment, the notebook PC 1 will be described as an example of an information processing device.
[0016] As shown in FIG. 1, the notebook PC 1 includes a CPU 11, a main memory 12, a video subsystem 13, a display unit 14, a chipset 21, a BIOS memory 22, an SSD 23, an audio system 24, a WLAN card 25, a USB connector 26, an embedded controller 31, an input unit 32, and a power supply circuit 33.
[0017] In this embodiment, the CPU 11 and the chipset 21 correspond to the main control unit 10. The main control unit 10 is an example of a processor (main processor) that executes a program stored in a memory (main memory 12).
[0018] A CPU (Central Processing Unit) 11 executes various arithmetic processes under program control, and controls the entire notebook PC 1. The main memory 12 is a writable memory used as a read area for the execution program of the CPU 11 or as a work area for writing processing data for the execution program. The main memory 12 is composed of, for example, multiple DRAM (Dynamic Random Access Memory) chips. The execution program includes a BIOS (Basic Input Output System), an OS, various drivers for operating the hardware of peripheral devices, various services / utilities, application programs, etc.
[0019] Video subsystem 13 is a subsystem for implementing functions related to image display, and includes a video controller. This video controller processes drawing commands from CPU 11, writes the processed drawing information to a video memory, and also reads the drawing information from the video memory and outputs it to display unit 14 as drawing data (display data).
[0020] The display unit 14 is, for example, a liquid crystal display, and displays a display screen based on drawing data (display data) output from the video subsystem 13.
[0021] The chipset 21 includes controllers for a Universal Serial Bus (USB), a serial AT Attachment (Serial ATA), a Serial Peripheral Interface (SPI) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express bus, and a Low Pin Count (LPC) bus, and is connected to a plurality of devices. In FIG. 1, a BIOS memory 22, an SSD 23, an audio system 24, a WLAN card 25, and a USB connector 26 are connected to the chipset 21 as examples of devices.
[0022] The BIOS memory 22 is configured with an electrically rewritable non-volatile memory such as an EEPROM (Electrically Erasable Programmable Read Only Memory) or a flash ROM, etc. The BIOS memory 22 stores the BIOS, system firmware for controlling the embedded controller 31, etc.
[0023] An SSD (Solid State Drive) 23 (an example of a non-volatile storage device) stores an OS, various drivers, various services / utilities, application programs, and various data. The audio system 24 records, plays back, and outputs audio data.
[0024] A WLAN (Wireless Local Area Network) card 25 connects to a network via a wireless LAN and performs data communication. The USB connector 26 is a connector for connecting peripheral devices that use USB.
[0025] The embedded controller 31 (an example of a sub-controller) is a one-chip microcomputer that monitors and controls various devices (peripheral devices, sensors, etc.) regardless of the system state of the notebook PC 1. The embedded controller 31 also has a power management function that controls the power circuit 33. The embedded controller 31 is composed of a CPU, ROM, RAM, etc. (not shown), and also has A / D input terminals for multiple channels, D / A output terminals, a timer, and digital input / output terminals. For example, an input unit 32 and a power circuit 33 are connected to the embedded controller 31 via these input / output terminals, and the embedded controller 31 controls the operations of these.
[0026] Next, the functional configuration of the notebook PC 1 according to this embodiment will be described with reference to FIG. Fig. 2 is a functional block diagram showing an example of the functional configuration of the information processing system 100 and the notebook PC 1 according to this embodiment. Note that Fig. 2 shows only the functional configuration related to the present invention among the functional configuration of the notebook PC 1.
[0027] 2, the information processing system 100 includes a notebook PC 1 and a boot server 2. The notebook PC 1 and the boot server 2 are connectable to each other via a network NW1.
[0028] The boot server 2 is, for example, a server device for network booting, which is a server device for providing various services provided by the manufacturer of the notebook PC 1. The boot server 2 provides the notebook PC 1 with an OS startup program for network booting via the network NW1.
[0029] As shown in FIG. 2, the notebook PC 1 includes a main control unit 10, a storage unit 40, and a NW (Network) communication unit 250.
[0030] The NW communication unit 250 is a functional unit realized by a network device such as a WLAN card 25. The main control unit 10 can connect to the network NW1 via the NW communication unit 250. In this embodiment, the NW communication unit 250 is described as connecting to the network NW1 using wireless LAN (WiFi (registered trademark)).
[0031] The storage unit 40 is realized by a memory such as the BIOS memory 22 or the main memory 12, and stores, for example, various information used for various processes of the main control unit 10. The storage unit 40 includes a trust list storage unit 41, a restriction list storage unit 42, and a chain flag storage unit 43.
[0032] The trust list storage unit 41 is, for example, a storage unit realized by the BIOS memory 22, and stores a trust list that is a list of providers of trusted boot programs. Here, the provider refers to a device that executes (starts) the boot program, such as an https boot, a USB device connected to the USB connector 26, the built-in SSD 23, or firmware in the BIOS memory 22. Also, the boot program refers to, for example, various UEFI programs that are executed when starting an OS (such as Windows (registered trademark)). The trust list storage unit 41 stores a list of devices that can be trusted as providers (starts). An example of data in the trust list storage unit 41 will now be described with reference to FIG.
[0033] FIG. 3 is a diagram showing an example of data in the trust list storage unit 41 in this embodiment. In the example shown in FIG. 3, the trust list stored in the trust list storage unit 41 includes "Firmware Volume," "Https Boot," and the like as trusted UEFI Sources.
[0034] Here, "Firmware Volume" indicates that the firmware in the BIOS memory 22 is the source (startup source), and "Https Boot" indicates that, for example, a network boot by the boot server 2 is the source (startup source).
[0035] Returning to the explanation of FIG. 2, the restriction list storage unit 42 (an example of a usage restriction list storage unit) is a storage unit realized by, for example, the BIOS memory 22, and stores a list of protocols (the use of which is restricted). Here, a protocol refers to a standard that defines procedures and rules for exchanging data in the notebook PC 1, electrical regulations for signals, and procedures for sending and receiving in communication. When a startup program (UEFI program) is executed from a provider (startup source) that is not on the above-mentioned trust list, the restriction list storage unit 42 stores, as a usage restriction list, a list of protocols whose use is restricted (prohibited) in subsequent processing. The usage restriction list includes protocols that are likely to pose a security threat, such as protocols related to network connections and protocols related to a TPM (Trusted Platform Module). An example of data in the restriction list storage unit 42 will now be described with reference to FIG.
[0036] FIG. 4 is a diagram showing an example of data stored in the restriction list storage unit 42 in this embodiment. In the example shown in FIG. 4, the usage restriction list stored in the restriction list storage unit 42 includes "WiFiInfoPassProtocol", "WiFiConfigProtocol", "BBBBBBBBBBProtocol", "CCCCCCCCProtocol", and the like as usage restriction protocols.
[0037] Here, "WiFiInfoPassProtocol" is a protocol for transferring the SSID (Service Set Identifier) and password of the wireless LAN, and "WiFiConfigProtocol" is a protocol for setting up the connection of the wireless LAN.
[0038] Returning to the explanation of Fig. 2 again, the chain flag storage unit 43 (an example of a chain information storage unit) is, for example, a storage unit realized by a system area of the main memory 12, and stores a boot chain flag (chain information) indicating whether or not a possibly tampered unauthorized startup program has been executed. For example, when an unauthorized startup program has not been executed, the boot chain flag stores information indicating a trusted state (for example, "0"), and when an unauthorized startup program has been executed, stores information indicating a distrusted state (for example, "1").
[0039] The main control unit 10 is a functional unit that is realized by causing the CPU 11 and the chipset 21 to execute programs stored in the BIOS memory 22 and the SSD 23, and executes various processes based on the BIOS and the OS. The main control unit 10 includes a BIOS processing unit 110 and an OS processing unit 120.
[0040] The BIOS processing unit 110 executes various processes based on the BIOS (BIOS processes). The BIOS processing unit 110 includes an authentication processing unit 111, a startup processing unit 112, and a restriction processing unit 113.
[0041] The authentication processing unit 111 verifies the validity of a boot program (e.g., a UEFI program) for booting an OS based on a predetermined security key in BIOS processing (BIOS processing). The authentication processing unit 111 verifies the validity of the boot program (e.g., a UEFI program) by checking a signature based on a security key (e.g., a secure boot key). The authentication processing unit 111 executes authentication processing for secure boot, which will be described later.
[0042] The boot processing unit 112 executes various processes for booting up the notebook PC 1 (OS) in BIOS processing (BIOS processing). The boot processing unit 112 executes a secure boot process for executing a boot program whose validity has been confirmed by the authentication processing unit 111.
[0043] In addition, when the startup processing unit 112 executes a startup program obtained from a source not included in the trust list stored in the trust list memory unit 41 during secure boot processing, the startup processing unit 112 changes the boot chain flag stored in the chain flag memory unit 43 to information indicating that an unauthorized startup program has been executed.
[0044] The boot processing unit 112, for example, acquires a Device Path Class from the Device Path of the boot program (UEFI program), and confirms the source of the boot program (UEFI program) based on the Device Path Class. The boot processing unit 112 determines whether the confirmed source is included in the trust list stored in the trust list storage unit 41. If the confirmed source is not included in the trust list stored in the trust list storage unit 41, the boot processing unit 112 changes the boot chain flag stored in the chain flag storage unit 43 from a trusted state (e.g., "0") to an untrusted state (e.g., "1").
[0045] The restriction processing unit 113 restricts the use of a preset security-related protocol when the boot chain flag stored in the chain flag storage unit 43 is information indicating that an unauthorized startup program has been executed (e.g., a suspicious state "1"). For example, when the boot chain flag is information indicating that an unauthorized startup program has been executed (e.g., a suspicious state "1"), the restriction processing unit 113 restricts the use of a protocol included in the list of protocols stored in the restriction list storage unit 42. For example, the restriction processing unit 113 prohibits the use of a protocol included in the usage restriction list shown in FIG. 3.
[0046] The OS processing unit 120 is a functional unit that takes over processing after the OS startup processing is performed by the BIOS processing unit 110. The OS processing unit 120 executes various types of processing based on the OS.
[0047] Next, the operation of the notebook PC 1 according to this embodiment will be described with reference to the drawings. First, the start-up process of the notebook PC 1 according to this embodiment will be described with reference to FIG. FIG. 5 is a flowchart showing an example of the startup process of the notebook PC 1 according to this embodiment.
[0048] 5, when the notebook PC 1 starts booting, the BIOS processor 110 of the notebook PC 1 starts a POST (Power On Self Test) process and sets the boot chain flag to a trusted state of "0" (step S101). The BIOS processor 110 stores the trusted state of "0" in the boot chain flag of the chain flag storage unit 43.
[0049] Next, the boot processing unit 112 of the BIOS processing unit 110 judges whether or not the boot source (supplier) is included in the trust list (step S102). The boot processing unit 112 confirms the provider of the boot program (startup program) by the Device Path Class, and judges whether or not the confirmed provider is included in the trust list stored in the trust list storage unit 41. If the boot source (supplier) is included in the trust list (step S102: YES), the boot processing unit 112 advances the process to step S104. If the boot source (supplier) is not included in the trust list (step S102: NO), the boot processing unit 112 judges that an unauthorized boot program has been executed, and advances the process to step S103.
[0050] In step S103, the startup processing unit 112 sets the boot chain flag to the untrusted state "1." That is, the startup processing unit 112 stores the untrusted state "1" in the boot chain flag of the chain flag storage unit 43. After the process of step S103, the process proceeds to step S104.
[0051] In step S104, the boot processing unit 112 executes the boot program by secure boot. The boot processing unit 112 uses the authentication processing unit 111 to verify the authenticity of the boot program, and executes the processing of the boot program whose authenticity has been verified.
[0052] Next, the boot processing unit 112 judges whether or not the boot process is completed (step S105). That is, the boot processing unit 112 judges whether or not there is a boot program to be executed next. If the boot process is completed (there is no boot program to be executed next) (step S105: YES), the boot processing unit 112 passes the process over to the OS processing unit 120. If the boot process is not completed (there is a boot program to be executed next) (step S105: YES), the boot processing unit 112 returns the process to step S102 and executes the process for the boot program to be executed next.
[0053] Next, the protocol restriction process of the notebook PC 1 will be described with reference to FIG. 6 is a flowchart showing an example of protocol processing of the notebook PC according to this embodiment. Note that the protocol processing here is, for example, protocol processing such as InstallProtocol, LocalProtocol, and HandleProtocol of the UEFI specification.
[0054] As shown in FIG. 6, the restriction processing unit 113 of the BIOS processing unit 110 judges whether the boot chain flag is in the untrusted state "1" (step S201). The restriction processing unit 113 judges whether the boot chain flag in the chain flag storage unit 43 is in the untrusted state "1" or not. If the boot chain flag is in the untrusted state "1" (step S201: YES), the restriction processing unit 113 advances the process to step S203. If the boot chain flag is not in the untrusted state "1" (trusted state "0") (step S201: NO), the restriction processing unit 113 advances the process to step S202.
[0055] In step S202, the BIOS processing unit 110 executes a protocol process. The BIOS processing unit 110 executes protocol processes such as InstallProtocol, LocalProtocol, and HandleProtocol. After the process of step S202, the BIOS processing unit 110 advances the process to the next process.
[0056] Furthermore, in step S203, the restriction processing unit 113 determines whether or not the protocol is included in the usage restriction list. The restriction processing unit 113 checks the usage restriction list stored in the restriction list storage unit 42, and determines whether or not the process is included in the usage restriction list. If the process is included in the usage restriction list (step S203: YES), the restriction processing unit 113 advances the process to step S204. If the process is not included in the usage restriction list (step S203: NO), the restriction processing unit 113 returns the process to step S204.
[0057] In step S204, the restriction processing unit 113 returns an error result and does not execute the protocol process. After the process of step S204, the restriction processing unit 113 advances the process to the next process.
[0058] Next, an example of an attack and the effect of the notebook PC 1 according to this embodiment will be described with reference to FIGS. FIG. 7 is a diagram for explaining an example of a third-party attack on a notebook PC according to the prior art.
[0059] The attack example shown in Figure 7 shows an example where a malicious third party, an attacker AT1, attempts to steal connection information by installing malware and tampering with the protocol before the Wifi Configuration App is executed.
[0060] The attacker AT1 uses a USB to execute the boot program ATP1, which contains malware called "Attack.efi", and tampers with "WiFiConfigProtocol".
[0061] In the conventional notebook PC shown in Figure 7, when the BIOS subsequently executes the boot program BP1 called “WifiConfigurationApp.efi”, the attacker AT1 can steal wireless LAN connection information using the tampered “WiFiConfigProtocol”.
[0062] 8 is a first diagram for explaining the effect of the notebook PC 1 according to this embodiment against an attack by a third party. Here, a case where an attacker AT1 launches an attack similar to that in FIG. 7 against the notebook PC 1 according to this embodiment will be explained.
[0063] As shown in FIG. 8, in the notebook PC 1 according to this embodiment, when a boot program ATP1 called “Attack.efi” is executed from USB, for example, as shown in FIG. 3, the USB is not included in the trust list as a trusted source, so the boot processing unit 112 changes the boot chain flag to the untrusted state “1.”
[0064] Next, when the boot program BP1 called "WifiConfigurationApp.efi" is executed by the BIOS, the restriction processing unit 113 prohibits the use of "WiFiConfigProtocol" because "WiFiConfigProtocol" is included in the usage restriction list, for example, as shown in Fig. 4. Therefore, in the notebook PC 1 according to this embodiment, the attacker AT1 cannot steal the connection information of the wireless LAN.
[0065] FIG. 9 is a diagram for explaining another example of a third party's attack on a notebook PC according to the prior art. The example of an attack shown in Figure 9 shows an example in which a malicious third party, an attacker AT1, attempts to steal a password by running a boot program ATP2 called “EFIApp(Ver1)”, an old version in which a password leakage bug has been found, and using “WiFiInfoPassProtocol”.
[0066] The AT1 attacker uses a USB to run an old version of the boot program ATP2 called "EFIApp (Ver1)", which executes "WiFiInfoPassProtocol", making it possible to steal wireless LAN passwords.
[0067] 10 is a second diagram for explaining the effect of the notebook PC 1 according to this embodiment against an attack by a third party. Here, a case where an attacker AT1 launches an attack similar to that in FIG. 9 on the notebook PC 1 according to this embodiment will be explained.
[0068] As shown in FIG. 10, in the notebook PC 1 according to this embodiment, when a boot program ATP2 called “EFIApp(Ver1)” is executed from USB, for example, as shown in FIG. 3, the USB is not included in the trust list as a trusted source, so the boot processing unit 112 changes the boot chain flag to an untrusted state of “1.”
[0069] Next, the restriction processing unit 113 prohibits the use of "WiFiInfoPassProtocol" because "WiFiInfoPassProtocol" is included in the usage restriction list as shown in Fig. 4. Therefore, in the notebook PC 1 according to this embodiment, the attacker AT1 cannot steal the wireless LAN password.
[0070] As described above, the notebook PC 1 (information processing device) according to this embodiment includes the authentication processing unit 111, the trust list storage unit 41, the chain flag storage unit 43 (chain information storage unit), the boot processing unit 112, and the restriction processing unit 113. The authentication processing unit 111 checks the legitimacy of a boot program (boot program) for booting an OS based on a predetermined security key in BIOS processing. The trust list storage unit 41 stores a trust list that is a list of providers of trustworthy boot programs. The chain flag storage unit 43 stores chain information (for example, a boot chain flag) indicating whether or not an unauthorized boot program that may have been tampered with has been executed. In a secure boot process for executing a boot program whose legitimacy has been confirmed by the authentication processing unit 111, when the boot processing unit 112 executes a boot program acquired from a provider not included in the trust list stored in the trust list storage unit 41, the boot processing unit 112 changes the boot chain flag stored in the chain flag storage unit 43 to information indicating that an unauthorized boot program has been executed (untrusted state "1"). The restriction processing unit 113 restricts the use of a preset security-related protocol when the boot chain flag stored in the chain flag storage unit 43 is information indicating that an unauthorized boot program has been executed.
[0071] As a result, in the notebook PC 1 (information processing device) according to this embodiment, even if a program tampered with by a third party is executed in secure boot, the possibility that programs executed thereafter will be tampered with or monitored can be reduced (see the above-mentioned FIGS. 8 and 10). Therefore, the notebook PC 1 according to this embodiment can improve defense against attacks from third parties in secure boot.
[0072] In addition, in this embodiment, the trust list includes a firmware volume ("Firmware Volume") provided by the BIOS memory 22 in which the BIOS program is stored, or a network boot ("Https Boot") provided by a pre-configured server device.
[0073] As a result, the notebook PC 1 of this embodiment lists firmware volumes ("Firmware Volume") or network boots ("Https Boot") that can be safely booted, and determines that an unauthorized boot program has been executed (untrusted state "1") by executing anything other than that (for example, booting from USB), making it possible to easily detect the execution of an unauthorized boot program that may have been tampered with.
[0074] The notebook PC 1 according to this embodiment also includes a restriction list storage unit 42 (use restriction list storage unit) that stores a list of protocols whose use is restricted. When the boot chain flag is information indicating that an unauthorized boot program has been executed (untrusted state "1"), the restriction processing unit 113 restricts the use of protocols included in the list of protocols stored in the restriction list storage unit 42.
[0075] As a result, the notebook PC 1 according to this embodiment can appropriately restrict protocols that may threaten security by using a simple method of a list of protocols whose usage is restricted (usage restriction list). Therefore, the notebook PC 1 according to this embodiment can further improve defense against attacks from third parties in secure boot.
[0076] In this embodiment, the list of protocols whose use is restricted includes protocols related to network connections (for example, "WiFiConfigProtocol") or protocols related to the TPM.
[0077] This allows the notebook PC 1 according to the present embodiment to appropriately restrict protocols that are likely to pose a security threat, and therefore the notebook PC 1 according to the present embodiment can further improve defense against attacks from third parties in secure boot.
[0078] The control method according to the present embodiment is a control method for the notebook PC 1 including the above-mentioned authentication processing unit 111 and the chain flag storage unit 43, and includes a startup processing step and a restriction processing step. The authentication processing unit 111 checks the validity of a boot program for starting the OS based on a predetermined security key in BIOS processing. The chain flag storage unit 43 stores the trust list storage unit 41 that stores a trust list that is a list of providers of trusted boot programs, and a boot chain flag indicating whether or not a possibly tampered unauthorized boot program has been executed. In the startup processing step, when the startup processing unit 112 executes a boot program acquired from a provider not included in the trust list stored in the trust list storage unit 41 in secure boot processing, the boot chain flag stored in the chain flag storage unit 43 is changed to information indicating that an unauthorized boot program has been executed. In the restriction processing step, when the boot chain flag stored in the chain flag storage unit 43 is information indicating that an unauthorized boot program has been executed, the restriction processing unit 113 restricts the use of a preset security-related protocol.
[0079] As a result, the control method according to this embodiment has the same effects as the notebook PC 1 described above, and can improve defense against attacks from third parties in secure boot.
[0080] The present invention is not limited to the above-described embodiment, and can be modified without departing from the spirit of the present invention. For example, in the above embodiment, the information processing device is the notebook PC 1, but the information processing device is not limited to this, and may be, for example, another information processing device such as a tablet terminal device or a desktop PC.
[0081] Furthermore, in the above embodiment, the provider of the trusted list is not limited to the example shown in FIG. 3, and may include providers of other devices. Furthermore, in the above embodiment, the protocols in the usage restriction list are not limited to the example shown in FIG. 4, and may include other protocols.
[0082] Each of the components of the notebook PC 1 described above has a computer system inside. A program for implementing the functions of each of the components of the notebook PC 1 described above may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed to perform processing in each of the components of the notebook PC 1 described above. Here, "reading a program recorded on a recording medium into a computer system and executing it" includes installing the program into a computer system. The "computer system" referred to here includes hardware such as an OS and peripheral devices. Furthermore, a "computer system" may include multiple computer devices connected via a network including the Internet, WAN, LAN, dedicated lines, and other communication lines. Furthermore, a "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into a computer system. In this way, the recording medium storing the program may be a non-transitory recording medium such as a CD-ROM.
[0083] The recording medium also includes a recording medium installed inside or outside and accessible from a distribution server to distribute the program. The program may be divided into a plurality of parts, downloaded at different times, and then combined with each component of the notebook PC 1, or each divided program may be distributed by a different distribution server. Furthermore, the "computer-readable recording medium" includes a recording medium that holds a program for a certain period of time, such as a volatile memory (RAM) inside a computer system that becomes a server or a client when a program is transmitted via a network. The program may be a recording medium for implementing part of the above-mentioned functions. Furthermore, the program may be a recording medium that can realize the above-mentioned functions in combination with a program already recorded in the computer system, that is, a so-called difference file (difference program).
[0084] In addition, some or all of the above-mentioned functions may be realized as an integrated circuit such as LSI (Large Scale Integration). Each of the above-mentioned functions may be individually processed, or some or all of the functions may be integrated into a processor. The integrated circuit method is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. In addition, if an integrated circuit technology that can replace LSI appears due to advances in semiconductor technology, an integrated circuit based on that technology may be used. [Explanation of symbols]
[0085] 1. Laptop 2 Boot Server 10 Main control section 11 CPU 12. Main memory 13 Video Subsystem 14 Display section 21 Chipset 22 BIOS memory 23 SSD 24 Audio System 25 WLAN Card 26 USB connector 31 Embedded Controller (EC) 32 Input section 33 Power supply circuit 40 Storage section 41 Trust List Storage 42 Restriction list storage section 43 Chain Flag Storage 100 Information Processing Systems 110 BIOS processing unit 111 Authentication processing unit 112 Startup Processing Section 113 Restriction Processing Unit 120 OS Processing Unit 250 Network Communications Department NW1 Network
Claims
1. an authentication processing unit that verifies the validity of a boot program for booting an OS (Operating System) based on a predetermined security key in a process of a BIOS (Basic Input Output System); a trust list storage unit that stores a trust list which is a list of trusted providers of the startup program; a chain information storage unit that stores chain information indicating whether or not the startup program, which may have been tampered with, has been executed; a boot processing unit that changes the chain information stored in the chain information storage unit to information indicating that the unauthorized boot program has been executed when the boot program obtained from a source not included in the trust list stored in the trust list storage unit is executed in a secure boot process of executing the boot program whose legitimacy has been confirmed by the authentication processing unit; a restriction processing unit that restricts use of a preset security-related protocol when the chain information stored in the chain information storage unit is information indicating that an unauthorized startup program has been executed; a usage restriction list storage unit that stores a list of the protocols whose usage is restricted; Equipped with The restriction processing unit restricts use of the protocol included in the list of protocols stored in the usage restriction list storage unit when the chain information is information indicating that an unauthorized startup program has been executed. Information processing device.
2. The trust list includes information indicating a firmware volume, which indicates that the BIOS memory in which the BIOS program is stored is the provider, or information indicating a network boot, which indicates that a preset server device is the provider. The information processing device according to claim 1 .
3. The list of protocols whose use is restricted includes a protocol related to network connection or a protocol related to a Trusted Platform Module (TPM). The information processing device according to claim 1 .
4. A method for controlling an information processing device including an authentication processing unit that, in a BIOS (Basic Input Output System) process, verifies the validity of a boot program for booting an OS (Operating System) based on a predetermined security key, a trust list storage unit that stores a trust list that is a list of trusted providers of the boot program, and a chain information storage unit that stores chain information indicating whether or not an unauthorized boot program that may have been tampered with has been executed, a boot processing step of changing the chain information stored in the chain information storage unit to information indicating that the unauthorized boot program has been executed when the boot processing unit executes the boot program acquired from a source not included in the trust list stored in the trust list storage unit in a secure boot process in which the boot processing unit executes the boot program whose legitimacy has been confirmed by the authentication processing unit; a restriction processing step in which a restriction processing unit restricts use of a preset security-related protocol when the chain information stored in the chain information storage unit is information indicating that an unauthorized startup program has been executed; Including, the information processing device includes a usage restriction list storage unit that stores a list of the protocols whose usage is restricted, In the restriction processing step, when the chain information indicates that an unauthorized startup program has been executed, the restriction processing unit restricts use of a protocol included in the list of protocols stored in the usage restriction list storage unit. Control methods.
5. An information processing device includes an authentication processing unit that verifies the authenticity of a boot program for booting an OS (Operating System) based on a predetermined security key in a BIOS (Basic Input Output System) process, a trust list storage unit that stores a trust list that is a list of trusted providers of the boot program, and a chain information storage unit that stores chain information on whether or not an unauthorized boot program that may have been tampered with has been executed. a boot processing step of changing the chain information stored in the chain information storage unit to information indicating that the unauthorized boot program has been executed when the boot program obtained from a source not included in the trust list stored in the trust list storage unit is executed in a secure boot process of executing the boot program whose legitimacy has been confirmed by the authentication processing unit; a restriction processing step of restricting use of a preset security-related protocol when the chain information stored in the chain information storage unit is information indicating that an unauthorized startup program has been executed; Run the command, the information processing device includes a usage restriction list storage unit that stores a list of the protocols whose usage is restricted, In the restriction processing step, when the chain information indicates that an unauthorized startup program has been executed, a process of restricting the use of a protocol included in the list of protocols stored in the usage restriction list storage unit is performed. The program to be executed.
Citation Information
Patent Citations
Safety management method and device, electronic equipment and storage medium
CN116502216A
Trusted network booting system and method
JP2013143143A
Authentication method, authentication program, and information processor
JP2017146694A
Communication control unit, communication control program and communication system
JP2018061217A
Relay device, relay method and relay program
JP2020027963A