WO2020261340A1 - 情報処理装置、制御方法及び制御プログラム - Google Patents

情報処理装置、制御方法及び制御プログラム Download PDF

Info

Publication number
WO2020261340A1
WO2020261340A1 PCT/JP2019/024990 JP2019024990W WO2020261340A1 WO 2020261340 A1 WO2020261340 A1 WO 2020261340A1 JP 2019024990 W JP2019024990 W JP 2019024990W WO 2020261340 A1 WO2020261340 A1 WO 2020261340A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
update
program
file
determination unit
Prior art date
Application number
PCT/JP2019/024990
Other languages
English (en)
French (fr)
Inventor
健一郎 武藤
公洋 山越
中津留 毅
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to EP19935425.9A priority Critical patent/EP3979112B1/en
Priority to US17/621,698 priority patent/US11983543B2/en
Priority to AU2019455635A priority patent/AU2019455635B2/en
Priority to CN201980097771.8A priority patent/CN114026561A/zh
Priority to JP2021528663A priority patent/JP7160202B2/ja
Priority to PCT/JP2019/024990 priority patent/WO2020261340A1/ja
Publication of WO2020261340A1 publication Critical patent/WO2020261340A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Definitions

  • the present invention relates to an information processing device, a control method, and a control program.
  • a technique for confirming the integrity of a program executed during the startup sequence of the device has been proposed.
  • a method of verifying the integrity of each program by using the hash value of each program executed during the system startup sequence and the hash value recorded in advance in the TPM (Trusted Platform Module).
  • TPM Trusted Platform Module
  • the OS Operating System
  • the conventional technology has a problem that it may be difficult to avoid falsification of a file and execution of a falsified program.
  • Non-Patent Documents 1 and 2 may be used in a device not equipped with a TPM or in an environment where signature verification cannot be performed. It is possible that the file cannot be executed and the falsification of the file and the execution of the falsified program cannot be avoided.
  • Non-Patent Document 1 may not be applicable to a device not equipped with TPM. Further, in an environment where Boot Loader and OS modification are not allowed, Secure Boot described in Non-Patent Document 2 may not be applicable.
  • the information processing apparatus determines whether or not the predetermined data regarding the startup of the OS is complete during the shutdown of the OS (Operating System). It is characterized by having a determination unit and a stop unit that stops the shutdown of the OS when the determination unit determines that the predetermined data is not complete.
  • falsification of a file and execution of a falsified program can be avoided in advance.
  • FIG. 1 is a diagram showing an example of the configuration of the information processing apparatus according to the first embodiment.
  • FIG. 2 is a diagram for explaining falsification.
  • FIG. 3 is a diagram for explaining a method of avoiding tampering.
  • FIG. 4 is a flowchart showing a flow of processing for controlling the information processing apparatus according to the first embodiment.
  • FIG. 5 is a flowchart showing the flow of the determination process.
  • FIG. 6 is a diagram showing an example of a computer that executes a control program.
  • FIG. 2 is a diagram showing an example of the configuration of the information processing apparatus according to the first embodiment.
  • the information processing device 10 includes a communication unit 11, an input unit 12, an output unit 13, a storage unit 14, and a control unit 15.
  • the communication unit 11 performs data communication with other devices via the network.
  • the communication unit 11 is a NIC (Network Interface Card).
  • the input unit 12 is an input device such as a mouse or keyboard that accepts data input from the user.
  • the output unit 13 is an output device such as a display that outputs data.
  • the storage unit 14 is a storage device for HDD (Hard Disk Drive), SSD (Solid State Drive), optical disk, and the like.
  • the storage unit 14 may be a semiconductor memory that can rewrite data such as RAM (Random Access Memory), flash memory, and NVSRAM (Non Volatile Static Random Access Memory).
  • the storage unit 14 stores the OS and various programs executed by the information processing device 10. Further, the storage unit 14 stores various information used in executing the program. Further, the storage unit 14 stores the update definition data 141, the start-up execution program 142, and the update file 143.
  • the update definition data 141 is data for defining the update of the file executed when the OS is restarted. As shown in FIG. 1, the update definition data 141 includes an update definition file 141a and an update definition entry 141b. For example, if the OS is a Windows OS, the update definition file 141a is a file such as "wininit.ini". Further, for example, if the OS is a Windows OS, the update definition entry 141b is an entry such as "PendingFileRenameOperations" in the registry.
  • the startup execution program 142 is a program executed during the startup sequence of the OS.
  • the startup execution program 142 is an executable file such as "wininit.exe”.
  • the update file 143 is a file for updating (updating) the execution program 142 at startup by replacement or the like.
  • the OS is a Windows OS
  • the update file 143 is an updated version of "wininit.exe” or the like.
  • the control unit 15 controls the entire information processing device 10.
  • the control unit 15 is, for example, an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the control unit 15 has an internal memory for storing programs and control data that define various processing procedures, and executes each process using the internal memory.
  • the control unit 15 functions as various processing units by operating various programs.
  • the control unit 15 has a start unit 151, a stop unit 152, a determination unit 153, a stop unit 154, and a notification unit 155.
  • the boot unit 151 executes the boot sequence of the OS to configure the OS.
  • the stop unit 152 shuts down the OS and stops the OS.
  • the determination unit 153 determines whether or not the predetermined data related to the startup of the OS is complete during the execution of the shutdown of the OS.
  • the determination unit 153 can determine whether or not the update definition data 141 that defines the update of the file at the time of starting the OS has completeness.
  • the determination unit 153 can determine whether or not the startup execution program 142 executed when the OS is started or the update file 143 for updating the startup execution program 142 is complete.
  • updating the data refers to the change of the data allowed by the user or the like.
  • data updates occur with the installation of new programs, regular system updates, and the like.
  • falsification of data refers to changes in data that are not allowed by the user or the like.
  • data falsification is performed by a malicious person or malware (hereinafter referred to as an attacking subject).
  • the determination unit 153 determines the presence or absence of completeness by collating the hash value of the file and the setting contents. For example, when the information processing device 10 updates the predetermined data, the information processing device 10 calculates the first hash value of the updated data, and includes a path for accessing the predetermined data and a non-volatile storage area. It is stored in the ROM (Read Only Memory). Then, the determination unit 153 calculates a second hash value of the predetermined data at the timing of performing the determination. Then, if the first hash value and the second hash value are the same, the determination unit 153 determines that the predetermined data has completeness. Further, the determination unit 153 determines that the predetermined data is not complete if the first hash value and the second hash value are different.
  • the information processing device 10 can confirm the integrity of the program for executing the control process of the present embodiment, that is, the program for realizing the determination unit 153 and the like by the same method.
  • the determination unit 153 determines whether or not the determination program for executing the determination process is complete.
  • the determination unit 153 may perform each determination process according to the update status of the update definition data 141. In this case, the determination unit 153 determines whether or not the update of the file is defined by the update definition data 141 that defines the update of the file at the time of starting the OS. When the determination unit 153 determines that the update of the file is not defined by the update definition data 141, the determination unit 153 determines whether or not the startup execution program 142 executed at the startup of the OS has integrity. On the other hand, when the determination unit 153 determines that the update of the file is defined by the update definition data 141, the determination unit 153 updates the update definition data 141, the startup execution program 142 executed when the OS starts, and the program. It is determined whether or not the update file 143 of is complete.
  • the determination unit 153 can determine whether or not the update of the file is defined by the same method as the method of determining the integrity of the data. That is, when the hash value of the update definition data 141 at the time when the OS is configured and the hash value of the update definition data 141 when the shutdown starts are different, the determination unit 153 uses the update definition data 141 to file a file. Judge that the update of is defined. The update of the file defined here will be executed at the next OS startup.
  • the stop unit 154 stops the OS shutdown when the determination unit 153 determines that the predetermined data is not complete.
  • the notification unit 155 notifies the falsification contents of the predetermined data.
  • the notification unit 155 may display a warning indicating that the alteration may have been performed and a text indicating the content of the alteration on the output unit 13 which is a display.
  • the determination program is started by the boot sequence of the OS and resides in a volatile storage area (so-called memory). Further, the data of the determination program is stored in the non-volatile storage area (ROM). Further, the data stored in the non-volatile storage area is not tampered with when the power of the information processing device 10 is off, and may be tampered with when the power of the information processing device 10 is on.
  • the judgment program resident in the memory acquires the target data from the ROM when it detects the OS shutdown command.
  • the target data here includes, in addition to the update definition data 141, the startup execution program 142, and the update file 143, the data of the determination program itself that executes the determination process by the determination unit 153.
  • the determination unit 153 calculates the hash value of the acquired target data. Further, the determination unit 153 acquires the correct answer value of the hash value from the ROM. Then, when the calculated hash value and the correct answer value match, the determination unit 153 determines that there is no tampering. On the other hand, if the calculated hash value and the correct answer value do not match, the determination unit 153 determines that the value has been tampered with. Further, when it is determined that the data of the determination program itself has been tampered with, the information processing apparatus 10 may perform recovery processing of the determination program.
  • FIG. 2 is a diagram for explaining falsification.
  • the attacker modifies the update definition file 141a, the update definition entry 141b, the startup execution program 142, and the update file 143 while the OS is running (step S11).
  • FIG. 3 is a diagram for explaining a method of avoiding tampering.
  • the determination unit 153 determines whether or not the update definition file 141a, the update definition entry 141b, the startup execution program 142, and the update file 143 are complete. (Step S21).
  • the information processing apparatus 10 will use the update definition file 141a and the update definition entry 141b whose integrity has been confirmed at the next system startup.
  • the file will be updated according to (step S22).
  • the startup execution program 142 is replaced with the regular update file 143 that has not been tampered with (steps S23 and S24). Further, when it is determined that the startup execution program 142 is complete, if the update of the startup execution program 142 is not defined, the regular startup execution program 142 that has not been tampered with is executed (step S25). ).
  • FIG. 4 is a flowchart showing a flow of processing for controlling the information processing apparatus according to the first embodiment.
  • the stop unit 152 starts shutting down the OS provided in the information processing device 10 (step S101).
  • the determination unit 153 first confirms the completeness of the determination program for executing the processing of the determination unit 153 itself (step S102).
  • the determination unit 153 determines that the determination program has not been tampered with (step S103, No)
  • the information processing apparatus 10 proceeds to step S104.
  • the determination unit 153 determines that the determination program has been tampered with (step S103, Yes)
  • the information processing apparatus 10 proceeds to step S110.
  • the determination unit 153 determines whether or not the update definition data 141 has been updated (step S104). When there is an update (step S105, Yes), the determination unit 153 further confirms the integrity of the update definition data 141, the startup execution program 142, and the update file 143 (step S106). At this time, the determination unit 153 determines whether or not each data has been tampered with by determining whether or not each data has completeness.
  • step S107 When it is determined that there is tampering (step S107, Yes), the stop unit 154 stops the shutdown (step S110). Then, the notification unit 155 notifies the falsification content (step S111). On the other hand, if it is determined that there is no tampering (step S107, No), the stop unit 152 continues to shut down (step S108).
  • step S105 if there is no update (step S105, No), the determination unit 153 further confirms the integrity of the startup execution program 142 (step S109).
  • step S107, Yes the stop unit 154 stops the shutdown (step S110). Then, the notification unit 155 notifies the falsification content (step S111).
  • step S107, No the stop unit 152 continues to shut down (step S108).
  • FIG. 5 is a flowchart showing the flow of the determination process. It is assumed that the determination program that executes the determination process by the determination unit 153 starts execution when the OS is started and resides in the non-volatile storage area (RAM).
  • RAM non-volatile storage area
  • the determination unit 153 calculates the hash value of the target data (step S201).
  • the target data here includes the update definition data 141, the startup execution program 142, the update file 143, and the determination program itself that executes the determination process by the determination unit 153.
  • the determination unit 153 acquires the correct answer value of the hash value from the ROM (step S202). Then, when the calculated hash value and the correct answer value match (step S203, Yes), the determination unit 153 determines that there is no falsification (step S205). On the other hand, when the calculated hash value and the correct answer value do not match (step S203, No), the determination unit 153 determines that there is falsification (step S204).
  • the determination unit 153 determines whether or not the predetermined data regarding the startup of the OS is complete during the execution of the shutdown of the OS.
  • the stop unit 154 stops the shutdown of the OS. In this way, the information processing apparatus 10 can confirm the integrity of the data related to the activation at the time of shutdown. Therefore, according to the present embodiment, it is possible to avoid falsification of the file and execution of the falsified program even in an environment in which the TPM is not installed or signature verification cannot be executed.
  • the notification unit 155 notifies the falsification content of the predetermined data. As a result, the user can take measures before the falsified program or the like is executed.
  • the determination unit 153 determines whether or not the update definition data 141 that defines the update of the file at the time of starting the OS has completeness. As a result, the update file itself has not been tampered with, and even if the file that defines the update has been tampered with, the effects of tampering can be prevented.
  • the determination unit 153 determines whether or not the startup execution program 142 executed when the OS is started or the update file 143 for updating the startup execution program 142 is complete. As a result, when the update file itself is tampered with, the influence of the tampering can be prevented.
  • the determination unit 153 determines whether or not the update of the file is defined by the update definition data 141 that defines the update of the file at the time of starting the OS. When the determination unit 153 determines that the update of the file is not defined by the update definition data 141, the determination unit 153 determines whether or not the startup execution program 142 executed at the startup of the OS has integrity. When the determination unit 153 determines that the update of the file is defined by the update definition data 141, the update definition data 141, the startup execution program 142 executed when the OS starts, and the update for updating the program. Determines if the file 143 is complete. In this way, the information processing device 10 can determine the data for which the integrity is confirmed according to the update status of each data. As a result, the information processing device 10 can efficiently execute the process for avoiding tampering.
  • the determination unit 153 performs a process of determining whether or not there is completeness of predetermined data including the data of the determination program by the determination program resident in the volatile storage area.
  • the determination unit 153 performs a process of determining whether or not there is completeness by a program resident in a volatile storage area.
  • the determination unit 153 determines the predetermined data depending on whether or not the predetermined calculated value calculated from the predetermined data stored in the non-volatile storage area and the correct answer value stored in the non-volatile storage area match. Determine if there is completeness in.
  • the data stored in the non-volatile area is falsified when the information processing device 10 is running. Therefore, according to the present embodiment, by confirming that the judgment unit program itself has not been tampered with at the time of system shutdown, it is ensured that the correct judgment unit program is started again at the next system startup and resides in the volatile memory. Can be guaranteed.
  • each component of each of the illustrated devices is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution and integration of each device is not limited to the one shown in the figure, and all or part of the device may be functionally or physically dispersed or physically distributed in arbitrary units according to various loads and usage conditions. It can be integrated and configured. Further, each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
  • the information processing apparatus 10 can be implemented by installing a control program that executes the above control as package software or online software on a desired computer.
  • the information processing device can function as the information processing device 10.
  • the information processing device referred to here includes a desktop type or notebook type personal computer.
  • the information processing device includes a smartphone, a mobile communication terminal such as a mobile phone and a PHS (Personal Handyphone System), and a slate terminal such as a PDA (Personal Digital Assistant).
  • FIG. 6 is a diagram showing an example of a computer that executes a control program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.
  • Memory 1010 includes ROM 1011 and RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to, for example, the display 1130.
  • the hard disk drive 1090 stores, for example, OS1091, application program 1092, program module 1093, and program data 1094. That is, the program that defines each process of the information processing apparatus 10 is implemented as a program module 1093 in which a code that can be executed by a computer is described.
  • the program module 1093 is stored in, for example, the hard disk drive 1090.
  • a program module 1093 for executing a process similar to the functional configuration in the information processing apparatus 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD.
  • the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 as needed, and executes the processing of the above-described embodiment.
  • the program module 1093 and the program data 1094 are not limited to those stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

情報処理装置10は、OSのシャットダウンの実行中に、OSの起動時におけるファイルの更新を定義する更新定義データ(例えば、設定ファイル及びレジストリのエントリ)、OSの起動時に実行されるプログラム、及び、プログラムを更新するためのファイルに完全性があるか否かを判定する。情報処理装置10は、所定のデータに完全性がないと判定した場合、改ざんがあったと判断し、OSのシャットダウンを中止させる。また、情報処理装置10は、改ざんの内容を通知する。

Description

情報処理装置、制御方法及び制御プログラム
 本発明は、情報処理装置、制御方法及び制御プログラムに関する。
 従来、サーバ等の機器において、当該機器の起動シーケンス中に実行されたプログラムに対し、完全性を確認する技術が提案されている。例えば、システムの起動シーケンス中に実行された各プログラムのハッシュ値と、TPM(Trusted Platform Module)にあらかじめ記録されたハッシュ値とを用いて、各プログラムの完全性を検証する方法が知られている(例えば非特許文献1を参照)。また、システムの起動シーケンス中に、事前に付与された電子署名により完全性が確認されたプログラムのみを実行する方法を連鎖させていくことで、完全性が検証されたOS(Operating System)環境を構成する方法が知られている。
 また、サーバ等の機器を再起動した際の起動シーケンス中に、ファイルの更新を行う技術が存在する。例えば、Windows(登録商標) OSでは、レジストリや設定ファイルを用いてファイルの更新を行う仕組みが存在する(例えば非特許文献3から5を参照)。
IPA, "情報セキュリティ技術動向調査タスクグループ報告書(2009年上期)", pp.11-13, 2009年 9月, https://www.ipa.go.jp/security/fy21/reports/tech1-tg/indexa.html UEFI "Unified Extensible Firmware Interface Specification Version 2.6", pp.1803-1808, January, 2016, http://www.uefi.org/sites/default/files/resources/ACPI_6_1.pdf Microsoft, "Windows が使用しているファイルを再起動時に置き換える方法", 2018/04/20, https://support.microsoft.com/ja-jp/help/181345/how-to-replace-in-use-files-at-windows-restart Microsoft, "MoveFileEx function", https://msdn.microsoft.com/ja-jp/windows/aa365240(v=vs.80) TechNet, "wininit.exeについて", https://social.technet.microsoft.com/Forums/ja-JP/b0114542-e0ad-4e87-8306-170396f6d5f6/wininitexe12395123881235612390?forum=windowsvistaja
 しかしながら、従来の技術には、ファイルの改ざん及び改ざんされたプログラムの実行を未然に回避することが困難な場合があるという問題がある。
 例えば、非特許文献3から5に記載の設定ファイルやレジストリのエントリが改ざんされた場合、TPMが非搭載の機器及び署名検証が実行できない環境等では、非特許文献1及び2に記載の方法が実行できず、ファイルの改ざん及び改ざんされたプログラムの実行を回避できないことが考えられる。
 具体的には、TPM非搭載機器では、非特許文献1に記載のTrusted Bootが適用できない場合がある。また、BootLoaderやOS改造が許容されない環境下では、非特許文献2に記載のSecureBootが適用できない場合がある。
 上述した課題を解決し、目的を達成するために、情報処理装置は、OS(Operating System)のシャットダウンの実行中に、前記OSの起動に関する所定のデータに完全性があるか否かを判定する判定部と、前記判定部によって、前記所定のデータに完全性がないと判定された場合、前記OSのシャットダウンを中止させる中止部と、を有することを特徴とする。
 本発明によれば、ファイルの改ざん及び改ざんされたプログラムの実行を未然に回避することができる。
図1は、第1の実施形態に係る情報処理装置の構成の一例を示す図である。 図2は、改ざんについて説明するための図である。 図3は、改ざんの回避方法について説明するための図である。 図4は、第1の実施形態に係る情報処理装置を制御する処理の流れを示すフローチャートである。 図5は、判定処理の流れを示すフローチャートである。 図6は、制御プログラムを実行するコンピュータの一例を示す図である。
 以下に、本願に係る情報処理装置、制御方法及び制御プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[機能構成]
 図1を用いて、第1の実施形態に係る情報処理装置の構成について説明する。図2は、第1の実施形態に係る情報処理装置の構成の一例を示す図である。図1に示すように、情報処理装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
 通信部11は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。入力部12は、ユーザからのデータの入力の受け付けるマウスやキーボード等の入力装置である。出力部13は、データを出力するディスプレイ等の出力装置である。
 記憶部14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部14は、情報処理装置10で実行されるOSや各種プログラムを記憶する。さらに、記憶部14は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部14は、更新定義データ141、起動時実行プログラム142及び更新用ファイル143を記憶する。
 更新定義データ141は、OSの再起動時に実行されるファイルの更新を定義するためのデータである。図1に示すように、更新定義データ141には、更新定義ファイル141a及び更新定義エントリ141bが含まれる。例えば、OSがWindows OSであれば、更新定義ファイル141aは「wininit.ini」等のファイルである。また、例えば、OSがWindows OSであれば、更新定義エントリ141bは、レジストリの「PendingFileRenameOperations」等のエントリである。
 起動時実行プログラム142は、OSの起動シーケンス中に実行されるプログラムである。例えば、OSがWindows OSであれば、起動時実行プログラム142は、「wininit.exe」等の実行ファイルである。
 更新用ファイル143は、起動時実行プログラム142を置換等により更新(アップデート)するためのファイルである。例えば、OSがWindows OSであれば、更新用ファイル143は更新版の「wininit.exe」等である。
 制御部15は、情報処理装置10全体を制御する。制御部15は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部15は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部15は、起動部151、停止部152、判定部153、中止部154及び通知部155を有する。
 起動部151は、OSの起動シーケンスを実行しOSを構成する。停止部152は、OSのシャットダウンを実行しOSを停止する。
 判定部153は、OSのシャットダウンの実行中に、OSの起動に関する所定のデータに完全性があるか否かを判定する。判定部153は、OSの起動時におけるファイルの更新を定義する更新定義データ141に完全性があるか否かを判定することができる。判定部153は、OSの起動時に実行される起動時実行プログラム142、又は起動時実行プログラム142を更新するための更新用ファイル143に完全性があるか否かを判定することができる。
 ここで、データの更新は、ユーザ等により許容されるデータの変更を指すものとする。例えば、データの更新は、新規プログラムのインストールや定期的なシステムのアップデート等に伴って生じる。一方、データの改ざんは、ユーザ等により許容されないデータの変更を指すものとする。例えば、データの改ざんは、悪意のある者及びマルウェア等(以降、攻撃主体)によって行われる。
 判定部153は、ファイルのハッシュ値及び設定内容を照合することによって完全性の有無を判定する。例えば、情報処理装置10は、所定のデータに対して更新があった場合、更新後のデータの第1のハッシュ値を算出し、当該所定のデータにアクセスするためのパスとともに不揮発性の記憶領域であるROM(Read Only Memory)に記憶しておく。そして、判定部153は、判定を行うタイミングで当該所定のデータの第2のハッシュ値を算出する。そして、判定部153は、第1のハッシュ値と第2のハッシュ値が同じであれば、当該所定のデータに完全性があると判定する。また、判定部153は、第1のハッシュ値と第2のハッシュ値が異なっていれば、当該所定のデータに完全性がないと判定する。
 なお、情報処理装置10は、同様の方法で、本実施形態の制御処理を実行するためのプログラム、すなわち判定部153等を実現するためのプログラムの完全性を確認することができる。特に、判定部153は、判定処理を実行するための判定プログラムに完全性があるか否かを判定する。
 また、判定部153は、更新定義データ141の更新状況に応じて各判定処理を行ってもよい。この場合、判定部153は、OSの起動時におけるファイルの更新を定義する更新定義データ141によって、ファイルの更新が定義されているか否かを判定する。判定部153は、更新定義データ141によってファイルの更新が定義されていないと判定した場合、OSの起動時に実行される起動時実行プログラム142に完全性があるか否かを判定する。一方、判定部153は、更新定義データ141によってファイルの更新が定義されていると判定した場合、更新定義データ141、OSの起動時に実行される起動時実行プログラム142、及び、プログラムを更新するための更新用ファイル143に完全性があるか否かを判定する。
 ここで、判定部153は、ファイルの更新が定義されているか否かについても、データの完全性を判定する方法と同様の方法で判定することができる。つまり、判定部153は、OSが構成された時点の更新定義データ141のハッシュ値と、シャットダウンが始まったときの更新定義データ141のハッシュ値とが異なっている場合、更新定義データ141によって、ファイルの更新が定義されていると判定する。なお、ここで定義されたファイルの更新は、次回のOSの起動時に実行されるものである。
 中止部154は、判定部153によって所定のデータに完全性がないと判定された場合、OSのシャットダウンを中止させる。通知部155は、判定部153によって、所定のデータに完全性がないと判定された場合、所定のデータに対する改ざん内容を通知する。例えば、通知部155は、改ざんが行われた可能性がある旨のワーニング及び改ざん内容を示すテキストをディスプレイである出力部13に表示してもよい。
 ここで、判定部153による判定処理を実行するための判定プログラムについて具体的に説明する。前提として、判定プログラムは、OSのブートシーケンスにより起動し、揮発性の記憶領域(いわゆるメモリ)に常駐する。また、判定プログラムのデータは、不揮発性の記憶領域(ROM)に記憶される。また、不揮発性の記憶領域に記憶されたデータは、情報処理装置10の電源がオフの時には改ざんされることはなく、情報処理装置10の電源がオンの時に改ざんされる可能性がある。
 メモリに常駐している判定プログラムは、OSのシャットダウン命令を検知すると、ROMから対象データを取得する。ここでの対象データには、更新定義データ141、起動時実行プログラム142及び更新用ファイル143に加え、判定部153による判定処理を実行する判定プログラム自体のデータが含まれる。
 判定部153は、取得した対象データのハッシュ値を計算する。さらに、判定部153は、ROMからハッシュ値の正解値を取得する。そして、計算したハッシュ値と正解値とが一致する場合、判定部153は改ざんなしと判定する。一方、計算したハッシュ値と正解値とが一致しない場合、判定部153は改ざんありと判定する。また、判定プログラム自体のデータに改ざんがあると判定された場合、情報処理装置10は判定プログラムのリカバリ処理を行ってもよい。
 ここで、図2を用いて、データの改ざん及び改ざんに伴って生じる被害について説明する。図2は、改ざんについて説明するための図である。図2の例では、本実施形態による改ざんの回避が行われないものとする。まず、攻撃主体は、OS稼働中に、更新定義ファイル141a、更新定義エントリ141b、起動時実行プログラム142及び更新用ファイル143に対し改ざんを行う(ステップS11)。
 その後、改ざんの回避が行われない場合、OSがシャットダウンされると停止中になり、改ざんされた状態でシステムが起動される。このとき、更新定義ファイル141a及び更新定義エントリ141bが改ざんされている場合、改ざんされた設定に従って不正なファイルの更新が行われる(ステップS12、S13)。また、更新用ファイル143が改ざんされている場合、起動時実行プログラム142が不正なファイルへ置き換えられる(ステップS14)。また、起動時実行プログラム142が改ざんされている場合であって、起動時実行プログラム142の更新が定義されていない場合、改ざんされた起動時実行プログラム142が実行される(ステップS15)。
 図3を用いて、本実施形態による改ざんの回避方法について説明する。図3は、改ざんの回避方法について説明するための図である。図3に示すように、シャットダウンが開始されると、判定部153は、更新定義ファイル141a、更新定義エントリ141b、起動時実行プログラム142及び更新用ファイル143に完全性があるか否かを判定する(ステップS21)。
 ここで、更新定義ファイル141a及び更新定義エントリ141bの完全性があると判定されると、情報処理装置10は、次回のシステム起動時には、完全性が確認された更新定義ファイル141a及び更新定義エントリ141bに従ってファイルの更新を行うことになる(ステップS22)。
 また、更新用ファイル143の完全性があると判定されると、起動時実行プログラム142は、改ざんされていない正規の更新用ファイル143へ置き換えられる(ステップS23、S24)。また、起動時実行プログラム142の完全性があると判定されると、起動時実行プログラム142の更新が定義されていない場合、改ざんされていない正規の起動時実行プログラム142が実行される(ステップS25)。
[第1の実施形態の処理]
 図4を用いて、情報処理装置10を制御する制御処理の流れを説明する。図4は、第1の実施形態に係る情報処理装置を制御する処理の流れを示すフローチャートである。図4に示すように、停止部152は、情報処理装置10に備えられたOSのシャットダウンを開始する(ステップS101)。
 ここで、判定部153は、まず判定部153自身の処理を実行するための判定プログラムの完全性を確認する(ステップS102)。判定部153が判定プログラムの改ざんがないと判定した場合(ステップS103、No)、情報処理装置10はステップS104に進む。一方、判定部153が判定プログラムの改ざんがあると判定した場合(ステップS103、Yes)、情報処理装置10はステップS110に進む。
 次に、判定部153は、更新定義データ141の更新の有無を判定する(ステップS104)。更新がある場合(ステップS105、Yes)、判定部153は、さらに更新定義データ141、起動時実行プログラム142及び更新用ファイル143の完全性を確認する(ステップS106)。このとき、判定部153は、各データに完全性があるか否かを判定することにより、改ざんがあったか否かを判定することになる。
 改ざんがあると判定された場合(ステップS107、Yes)、中止部154はシャットダウンを中止させる(ステップS110)。そして、通知部155は、改ざん内容を通知する(ステップS111)。一方、改ざんがないと判定された場合(ステップS107、No)、停止部152はシャットダウンを引き続き実行する(ステップS108)。
 ステップS105に戻り、更新がない場合(ステップS105、No)、判定部153は、さらに起動時実行プログラム142の完全性を確認する(ステップS109)。改ざんがあると判定された場合(ステップS107、Yes)、中止部154はシャットダウンを中止させる(ステップS110)。そして、通知部155は、改ざん内容を通知する(ステップS111)。一方、改ざんがないと判定された場合(ステップS107、No)、停止部152はシャットダウンを引き続き実行する(ステップS108)。
 図5を用いて、判定部153による判定処理について説明する。図5は、判定処理の流れを示すフローチャートである。判定部153による判定処理を実行する判定プログラムは、OSの起動時に実行が開始され、不揮発性の記憶領域(RAM)に常駐しているものとする。
 図5に示すように、判定部153は、対象データのハッシュ値を計算する(ステップS201)。ここでの対象データには、更新定義データ141、起動時実行プログラム142及び更新用ファイル143に加え、判定部153による判定処理を実行する判定プログラム自体が含まれる。
 次に、判定部153は、ROMからハッシュ値の正解値を取得する(ステップS202)。そして、計算したハッシュ値と正解値とが一致する場合(ステップS203、Yes)、判定部153は改ざんなしと判定する(ステップS205)。一方、計算したハッシュ値と正解値とが一致しない場合(ステップS203、No)、判定部153は改ざんありと判定する(ステップS204)。
[第1の実施形態の効果]
 これまで説明してきたように、判定部153は、OSのシャットダウンの実行中に、OSの起動に関する所定のデータに完全性があるか否かを判定する。中止部154は、判定部153によって所定のデータに完全性がないと判定された場合、OSのシャットダウンを中止させる。このように、情報処理装置10は、起動に関するデータの完全性を、シャットダウンの際に確認することができる。このため、本実施形態によれば、TPMが非搭載の機器及び署名検証が実行できない環境等であっても、ファイルの改ざん及び改ざんされたプログラムの実行を未然に回避することができる。
 通知部155は、判定部153によって、所定のデータに完全性がないと判定された場合、所定のデータに対する改ざん内容を通知する。これにより、ユーザは改ざんされたプログラム等が実行される前に対策を取ることができる。
 判定部153は、OSの起動時におけるファイルの更新を定義する更新定義データ141に完全性があるか否かを判定する。これにより、更新用ファイル自体は改ざんされておらず、更新を定義するファイルが改ざんされている場合であっても、改ざんによる影響を防止することができる。
 判定部153は、OSの起動時に実行される起動時実行プログラム142、又は起動時実行プログラム142を更新するための更新用ファイル143に完全性があるか否かを判定する。これにより、更新用ファイル自体が改ざんされた場合に、改ざんによる影響を防止することができる。
 判定部153は、OSの起動時におけるファイルの更新を定義する更新定義データ141によって、ファイルの更新が定義されているか否かを判定する。判定部153は、更新定義データ141によってファイルの更新が定義されていないと判定した場合、OSの起動時に実行される起動時実行プログラム142に完全性があるか否かを判定する。判定部153は、更新定義データ141によってファイルの更新が定義されていると判定した場合、更新定義データ141、OSの起動時に実行される起動時実行プログラム142、及び、プログラムを更新するための更新用ファイル143に完全性があるか否かを判定する。このように、情報処理装置10は、各データの更新状況に応じて、完全性を確認するデータを決定することができる。これにより、情報処理装置10は、改ざんを回避するための処理を効率良く実行することができる。
 判定部153は、揮発性の記憶領域に常駐する判定プログラムによって、判定プログラムのデータを含む所定のデータの完全性があるか否かを判定する処理を行う。判定部153は、完全性があるか否かを判定する処理を、揮発性の記憶領域に常駐するプログラムによって行う。判定部153は、不揮発性の記憶領域に記憶された所定のデータから計算される所定の計算値と、不揮発性の記憶領域に記憶された正解値とが一致するか否かによって、所定のデータに完全性があるか否かを判定する。不揮発性の領域に記憶されたデータの改ざんが行われるのは、情報処理装置10が起動中の場合である。このため、本実施形態によれば、システムシャットダウン時に判定部プログラム自体に改ざんが無かったことを確認することにより、次回システム起動時に再び正しい判定部プログラムが起動し揮発メモリに常駐することを確実に保証できる。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 一実施形態として、情報処理装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の制御を実行する制御プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の制御プログラムを情報処理装置に実行させることにより、情報処理装置を情報処理装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 図6は、制御プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、情報処理装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、情報処理装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 情報処理装置
 11 通信部
 12 入力部
 13 出力部
 14 記憶部
 15 制御部
 141 更新定義データ
 141a 更新定義ファイル
 141b 更新定義エントリ
 142 起動時実行プログラム
 143 更新用ファイル
 151 起動部
 152 停止部
 153 判定部
 154 中止部
 155 通知部

Claims (8)

  1.  OS(Operating System)のシャットダウンの実行中に、前記OSの起動に関する所定のデータに完全性があるか否かを判定する判定部と、
     前記判定部によって、前記所定のデータに完全性がないと判定された場合、前記OSのシャットダウンを中止させる中止部と、
     を有することを特徴とする情報処理装置。
  2.  前記判定部によって、前記所定のデータに完全性がないと判定された場合、前記所定のデータに対する改ざん内容を通知する通知部をさらに有することを特徴とする請求項1に記載の情報処理装置。
  3.  前記判定部は、前記OSの起動時におけるファイルの更新を定義する更新定義データに完全性があるか否かを判定することを特徴とする請求項1又は2に記載の情報処理装置。
  4.  前記判定部は、前記OSの起動時に実行されるプログラム、又は前記プログラムを更新するためのファイルに完全性があるか否かを判定することを特徴とする請求項1又は2に記載の情報処理装置。
  5.  前記判定部は、
     前記OSの起動時におけるファイルの更新を定義する更新定義データによって、ファイルの更新が定義されているか否かを判定し、
     前記更新定義データによってファイルの更新が定義されていないと判定した場合、前記OSの起動時に実行されるプログラムに完全性があるか否かを判定し、
     前記更新定義データによってファイルの更新が定義されていると判定した場合、前記更新定義データ、前記OSの起動時に実行されるプログラム、及び、前記プログラムを更新するためのファイルに完全性があるか否かを判定することを特徴とする請求項1又は2に記載の情報処理装置。
  6.  前記判定部は、揮発性の記憶領域に常駐する判定プログラムによって、前記判定プログラムのデータを含む所定のデータの完全性があるか否かを判定する処理を行い、
     前記判定部は、不揮発性の記憶領域に記憶された前記所定のデータから計算される所定の計算値と、前記不揮発性の記憶領域に記憶された正解値とが一致するか否かによって、前記所定のデータに完全性があるか否かを判定することを特徴とする請求項1又は2に記載の情報処理装置。
  7.  情報処理装置によって実行される制御方法であって、
     前記情報処理装置に備えられたOS(Operating System)のシャットダウンの実行中に、前記OSの起動に関する所定のデータに完全性があるか否かを判定する判定工程と、
     前記判定工程によって、前記所定のデータに完全性がないと判定された場合、前記OSのシャットダウンを中止させる中止工程と、
     を含むことを特徴とする制御方法。
  8.  情報処理装置に、
     前記情報処理装置に備えられたOS(Operating System)のシャットダウンの実行中に、前記OSの起動に関する所定のデータに完全性があるか否かを判定する判定ステップと、
     前記判定ステップによって、前記所定のデータに完全性がないと判定された場合、前記OSのシャットダウンを中止させる中止ステップと、
     を実行させることを特徴とする制御プログラム。
PCT/JP2019/024990 2019-06-24 2019-06-24 情報処理装置、制御方法及び制御プログラム WO2020261340A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP19935425.9A EP3979112B1 (en) 2019-06-24 2019-06-24 Information processing device, control method, and control program
US17/621,698 US11983543B2 (en) 2019-06-24 2019-06-24 Information processing device, control method, and control program
AU2019455635A AU2019455635B2 (en) 2019-06-24 2019-06-24 Information processing device, control method, and control program
CN201980097771.8A CN114026561A (zh) 2019-06-24 2019-06-24 信息处理装置、控制方法以及控制程序
JP2021528663A JP7160202B2 (ja) 2019-06-24 2019-06-24 情報処理装置、制御方法及び制御プログラム
PCT/JP2019/024990 WO2020261340A1 (ja) 2019-06-24 2019-06-24 情報処理装置、制御方法及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/024990 WO2020261340A1 (ja) 2019-06-24 2019-06-24 情報処理装置、制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
WO2020261340A1 true WO2020261340A1 (ja) 2020-12-30

Family

ID=74061528

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/024990 WO2020261340A1 (ja) 2019-06-24 2019-06-24 情報処理装置、制御方法及び制御プログラム

Country Status (6)

Country Link
US (1) US11983543B2 (ja)
EP (1) EP3979112B1 (ja)
JP (1) JP7160202B2 (ja)
CN (1) CN114026561A (ja)
AU (1) AU2019455635B2 (ja)
WO (1) WO2020261340A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0114542B2 (ja) 1980-08-22 1989-03-13 Olympus Optical Co
JP2005301968A (ja) * 2003-08-12 2005-10-27 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2012032925A (ja) * 2010-07-29 2012-02-16 Canon Inc プラットフォーム完全性検証システム
JP2013257711A (ja) * 2012-06-12 2013-12-26 Toshiba Corp 情報処理装置及び情報処理方法
JP2016021224A (ja) * 2014-06-20 2016-02-04 株式会社東芝 メモリ管理装置、プログラム、及び方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385623B1 (en) * 1999-11-12 2002-05-07 Dell Usa, L.P. System and method for ensuring proper execution of scheduled file updates
KR101949998B1 (ko) * 2010-11-18 2019-04-22 구글 엘엘씨 컴퓨팅 객체의 콘텍스트 히스토리
CN102750477B (zh) 2012-06-11 2014-03-19 腾讯科技(深圳)有限公司 控制终端关闭的方法和系统
US9129114B2 (en) * 2012-12-03 2015-09-08 Imation Corp. Preboot environment with system security check
US10317985B2 (en) * 2014-01-29 2019-06-11 Hewlett Packard Enterprise Development Lp Shutdown of computing devices
US20160283338A1 (en) * 2015-03-27 2016-09-29 Intel Corporation Boot operations in memory devices
JP6609199B2 (ja) * 2016-03-01 2019-11-20 ルネサスエレクトロニクス株式会社 組込み機器
JP6927155B2 (ja) * 2018-05-30 2021-08-25 日本電信電話株式会社 異常検出装置、異常検出方法および異常検出プログラム
US11599426B2 (en) * 2019-02-11 2023-03-07 Hewlett-Packard Development Company, L.P. Recovery via backups of recovery information
US11062033B2 (en) * 2019-02-26 2021-07-13 Vmware, Inc. Independent integrity verification of security policy data in applications on a client

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0114542B2 (ja) 1980-08-22 1989-03-13 Olympus Optical Co
JP2005301968A (ja) * 2003-08-12 2005-10-27 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2012032925A (ja) * 2010-07-29 2012-02-16 Canon Inc プラットフォーム完全性検証システム
JP2013257711A (ja) * 2012-06-12 2013-12-26 Toshiba Corp 情報処理装置及び情報処理方法
JP2016021224A (ja) * 2014-06-20 2016-02-04 株式会社東芝 メモリ管理装置、プログラム、及び方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IPA, INFORMATION SECURITY TECHNOLOGY SURVEY TASK GROUP REPORT (FIRST HALF-YEAR, 2009, 13 September 2009 (2009-09-13)
MICROSOFT, METHOD OF REPLACING IN-USE FILES AT WINDOWS RESTART, 20 April 2018 (2018-04-20), Retrieved from the Internet <URL:https://support.microsoft.com/ja-jp/help/181345/how-to-replace-in-use-files-at-windows-restart>
UEFI, UNIFIED EXTENSIBLE FIRMWARE INTERFACE SPECIFICATION VERSION 2.6, January 2016 (2016-01-01), pages 1803 - 1808

Also Published As

Publication number Publication date
US20220350612A1 (en) 2022-11-03
EP3979112A1 (en) 2022-04-06
AU2019455635A1 (en) 2022-01-27
AU2019455635B2 (en) 2023-04-20
EP3979112B1 (en) 2023-11-08
JPWO2020261340A1 (ja) 2020-12-30
US11983543B2 (en) 2024-05-14
JP7160202B2 (ja) 2022-10-25
EP3979112A4 (en) 2023-01-04
CN114026561A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
US11520894B2 (en) Verifying controller code
US9880908B2 (en) Recovering from compromised system boot code
US10528765B2 (en) Technologies for secure boot provisioning and management of field-programmable gate array images
CN107533608B (zh) 可信更新
TWI559167B (zh) 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法
EP2696282B1 (en) System and method for updating authorized software
EP2840492A1 (en) Method and apparatus for modifying a computer program in a trusted manner
US7877809B1 (en) Secure automatable clean boot system
US20060265756A1 (en) Disk protection using enhanced write filter
US10592661B2 (en) Package processing
US10025587B2 (en) Method of bootup and installation, and computer system thereof
US20210303694A1 (en) Dynamic application deployment in trusted code environments
US20150143163A1 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
CN108139901B (zh) 使用外部设备的运行时间验证
US10664573B2 (en) Computing apparatus and method with persistent memory
US8881291B2 (en) System and method for inhibiting the processing of new code modules by an outdated runtime environment
US10095855B2 (en) Computer system and operating method therefor
US11301228B2 (en) Managing removal and modification of installed programs on a computer device
WO2020261340A1 (ja) 情報処理装置、制御方法及び制御プログラム
US20200244461A1 (en) Data Processing Method and Apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19935425

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021528663

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019935425

Country of ref document: EP

Effective date: 20211228

ENP Entry into the national phase

Ref document number: 2019455635

Country of ref document: AU

Date of ref document: 20190624

Kind code of ref document: A