Information processing device, image forming device, and information processing program

The information processing apparatus temporarily suspends whitelist-based restrictions using an external stop program to ensure device functionality and facilitate whitelist repair, addressing the issue of corrupted whitelists.

JP7753125B2Active Publication Date: 2025-10-14TOSHIBA TEC KK
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2022016532
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-04
Publication Date
2025-10-14
Estimated Expiration
2042-02-04

AI Technical Summary

Technical Problem

Existing information processing devices face the risk of malfunction when a whitelist is corrupted, preventing the execution of permitted programs.

Method used

An information processing apparatus with an execution restriction unit, confirmation unit, and stop unit that temporarily suspends whitelist-based execution restrictions by using a stop program stored externally to prevent unauthorized program execution and allow maintenance operations.

Benefits of technology

Enables the execution of necessary programs during whitelist corruption, ensuring device functionality and allowing for whitelist repair without exposing the stop program's presence in the device's memory.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007753125000001
    Figure 0007753125000001
  • Figure 0007753125000002
    Figure 0007753125000002
  • Figure 0007753125000003
    Figure 0007753125000003
Patent Text Reader

Abstract

To temporarily stop a function to restrict the start-up of an information processing program based on a white list.SOLUTION: An information processing apparatus of an embodiment comprises execution restriction means, confirmation means, and stopping means. When an information processing program requested to be executed is not an information processing program included in a white list as it is permitted to be executed in advance, the execution restriction means restricts the execution of the information processing program. The confirmation means confirms that, based on predetermined information on the information processing program requested to be executed, the information processing program is an information processing program for forcible stopping. In response to the confirmation made by the confirmation means that the information processing program requested to be executed is the information processing program for forcible stopping, the stopping means stops the restriction imposed by the execution restriction means.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] An embodiment of the present invention relates to an information processing apparatus, an image forming apparatus, and an information processing program. [Background technology]

[0002] In an information processing device that allows arbitrary installation and execution of information processing programs, a technology is known in which a whitelist, which is a list of information processing programs that are allowed to be executed, is prepared and requests to execute information processing programs that are not included in the list are rejected. However, when such a technique is applied, if the whitelist is corrupted, there is a risk that an information processing program that is originally permitted to be executed may become unable to be executed. Given these circumstances, it has been desirable to be able to temporarily disable the function that restricts the launch of information processing programs based on a whitelist. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-259160 Summary of the Invention [Problem to be solved by the invention]

[0004] The problem to be solved by the present invention is to provide an information processing apparatus, an image forming apparatus, and an information processing program that can temporarily suspend a function that restricts the activation of an information processing program based on a whitelist. [Means for solving the problem]

[0005] The information processing apparatus according to the embodiment includes an execution restriction unit, a confirmation unit, and a stop unit. The execution restriction unit restricts the execution of the information processing program when the information processing program requested to be executed is not included in a whitelist as an information processing program that is permitted to be executed in advance. The confirmation unit checks the execution status of the information processing program requested to be executed. and different from the whitelist The execution restriction means restricts the execution of the information processing program requested by the execution restriction means when the execution restriction means determines that the information processing program requested by the execution restriction means is a program for forced termination based on predetermined information. [Brief explanation of the drawings]

[0006] [Figure 1] FIG. 2 is a block diagram showing the main circuit configuration of the MFP according to an embodiment. [Figure 2] FIG. 10 is a diagram illustrating an example of a whitelist. [Figure 3] 10 is a flowchart of a startup control process. [Figure 4] 10 is a flowchart of a startup control process. DETAILED DESCRIPTION OF THE INVENTION

[0007] An example of an embodiment will be described below with reference to the drawings. In this embodiment, an MFP (multifunction peripheral) configured with an information processing device for function control built-in will be described as an example. The MFP 1 is a device that has, as its main function, functions involving image formation, such as a print function and a copy function, and is a type of image forming device.

[0008] FIG. 1 is a block diagram showing the main circuit configuration of an MFP 1 according to this embodiment. The MFP 1 includes a processor 10, a main memory 11, an auxiliary storage unit 12, an operation and display unit 13, a scan unit 14, a print unit 15, a facsimile unit 16, an interface unit 17, a communication unit 18, and a transmission path 19. The processor 10, the main memory 11, the auxiliary storage unit 12, the operation and display unit 13, the scan unit 14, the print unit 15, the facsimile unit 16, the interface unit 17, and the communication unit 18 are connected via the transmission path 19.

[0009] The processor 10, main memory 11, and auxiliary storage unit 12 are connected via a transmission line 19 to form a computer that performs information processing for controlling the MFP 1. The processor 10 corresponds to the central part of the computer. The processor 10 executes information processing for controlling each part to realize various functions of the MFP 1 in accordance with information processing programs such as an operating system and application programs.

[0010] The main memory 11 corresponds to the main storage portion of the computer. The main memory 11 includes a read-only memory area and a rewritable memory area. The main memory 11 stores part of the information processing program in the read-only memory area. The main memory 11 may also store data necessary for the processor 10 to execute processes for controlling each part in the read-only memory area or the rewritable memory area. The main memory 11 uses the rewritable memory area as a work area for the processor 10.

[0011] The auxiliary storage unit 12 corresponds to the auxiliary storage portion of the computer. The auxiliary storage unit 12 may be, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), an SSD (solid state drive), or any other well-known storage device. The auxiliary storage unit 12 stores data used by the processor 10 when performing various processes and data generated by the processes performed by the processor 10. The auxiliary storage unit 12 may also store the information processing program. In this embodiment, the auxiliary storage unit 12 stores a startup control program PRA, which is one of the information processing programs. In this embodiment, the auxiliary storage unit 12 also stores a program group GRA, which includes one or more information processing programs. A portion of the storage area of ​​the auxiliary storage unit 12 is used as an area for storing whitelist data DAA and a termination hash value VAA. The whitelist data DAA is data representing a whitelist. 2, the whitelist is a list showing hash values ​​(hereinafter referred to as activation hash values) for each information processing program (hereinafter referred to as legitimate programs) that is permitted to be executed on the MFP 1. The termination hash value VAA is a hash value for a termination program, which will be described later.

[0012] Which information processing programs are permitted to be executed on the MFP1 is determined, for example, by the manufacturer of the MFP1. Then, for example, during the manufacturing process of the MFP1, whitelist data DAA is written to the auxiliary storage unit 12. The startup hash value for one legitimate program is calculated, for example, by providing the entire legitimate program as an argument to a predetermined hash function. However, only a predetermined portion of one information processing program may also be used as the argument. The shutdown hash value VAA is calculated by providing the entire shutdown program (described below) as an argument to a predetermined hash function. However, only a predetermined portion of the shutdown program may also be used as the argument. Well-known hash functions, such as MD5, can be used as the hash function. The hash function for calculating the startup hash value and the hash function for calculating the shutdown hash value may be the same or different.

[0013] The whitelist data DAA may be created according to the circumstances of the user of the MFP 1. That is, for example, the whitelist data DAA representing a whitelist including information processing programs that are determined to be permitted to be executed by the manufacturer of the MFP 1, as well as additional information processing programs that are determined to be permitted at the user's request, may be written to the auxiliary storage unit 12. In this case, for example, the whitelist data DAA may be written to the auxiliary storage unit 12 by an operator or the like during installation work to start using the MFP 1. The boot hash value may be stored in a read-only memory area of ​​the main memory 11.

[0014] The operation and display unit 13 inputs operations by the operator and displays various information to the operator. The operation and display unit 13 may include various operation and display devices such as a touch panel, keyboard, key switches, LED lamps, or a liquid crystal display panel, as appropriate. In most cases, the operator is a user of the MFP 1. However, the operator may also be a worker who performs maintenance on the MFP 1.

[0015] The scanning unit 14 reads an original document and generates image data of the image represented on the original document.

[0016] The print unit 15 prints the image represented by the image data onto recording paper. The print unit 15 includes a well-known print device such as an electrophotographic image forming device. The facsimile unit 16 performs various well-known processes for carrying out image communication conforming to facsimile standards via a communication network (not shown) such as the PSTN (public switched telephone network).

[0017] The interface unit 17 has a port to which the external memory 2 can be attached or detached. When the external memory 2 is attached to the port, the interface unit 17 interfaces for sending and receiving data to and from the external memory 2. As the interface unit 17, a ready-made device that complies with an existing standard such as the USB (universal serial bus) standard can be used. The communication unit 18 executes communication processing for performing data communication via the communication network 3. The communication unit 18 can use, for example, an existing communication device for a LAN (local area network). The transmission path 19 includes an address bus, a data bus, and control signal lines, and transmits data and control signals exchanged between the connected components.

[0018] The external memory 2 is, for example, a USB memory. The external memory 2 stores a stop program PRB, a repair program PRC, and whitelist data DAB. The external memory 2 can be attached to a port of the interface unit 17, and when attached, outputs the stop program PRB, the repair program PRC, and the whitelist data DAB to the interface unit 17 in response to a request from the processor 10. The stop program PRB and the repair program PRC are information processing programs that represent the procedure for information processing by the processor 10. The whitelist data DAB is data that represents a whitelist, similar to the whitelist data DAA. The communication network 3 may be the Internet, a VPN (virtual private network), a LAN, a public communication network, a mobile communication network, or the like, either singly or in appropriate combination. As an example of the communication network 3, a LAN is used.

[0019] Next, we will explain the operation of the MFP 1 configured as above. Note that the content of the processes explained below is just an example, and it is possible to change the order of some of the processes, omit some of the processes, or add other processes as appropriate.

[0020] In the MFP1, the processor 10 controls each part of the MFP1 to realize functions such as printing, copying, scanning, and facsimile in the same manner as existing MFPs of the same type. Such control is realized by the processor 10 executing information processing in accordance with the information processing programs included in the program group GRA. Thus, the processor 10 executes information processing based on the information processing programs included in the program group GRA, causing the computer with the processor 10 as its central part to function as processing means. Note that a detailed description of the information processing based on the information processing programs included in the program group GRA will be omitted. The following describes the control processing related to the start of information processing based on the information processing programs included in the program group GRA or the stop program PRB and repair program PRC stored in the external memory 2.

[0021] When the MFP 1 is in an operating state, the processor 10 executes information processing based on the startup control program PRA (hereinafter referred to as startup control processing). The startup control processing is preferably executed as a resident process. 3 and 4 are flowcharts of the startup control process. In ACT1 in Figure 3, the processor 10 waits for a request to start an information processing program. When a request for start-up is made, the processor 10 judges YES and proceeds to ACT2. Note that the judgment here can be made using, for example, the function of the "Linux Security Module." Note that "Linux" is a registered trademark.

[0022] In ACT2, the processor 10 calculates a hash value for the information processing program (hereinafter referred to as the "designated program") designated as the startup target in the request. The processor 10 calculates the hash value, for example, by providing the entire designated program stored in the auxiliary storage unit 12 or the external memory 2 as an argument to the same hash function used to calculate the startup hash value and the shutdown hash value. However, if different hash functions are used to calculate the startup hash value and the shutdown hash value, the processor 10 uses, for example, the hash function used to calculate the shutdown hash value if the designated program is the shutdown program PRB, and uses the hash function used to calculate the startup hash value if the designated program is other than the shutdown program PRB. Furthermore, if a portion of the information processing program is used as an argument to calculate the startup hash value and the shutdown hash value, the processor 10 uses the same portion of the designated program stored in the auxiliary storage unit 12 or the external memory 2 as an argument.

[0023] In ACT3, the processor 10 checks whether the specified program is a stopped program. For example, the processor 10 checks whether the hash value calculated in ACT2 matches the hash value for stopping. If the processor 10 cannot confirm the event, it determines that the program is not a stopped program and judges NO, and proceeds to ACT4. In ACT4, the processor 10 checks whether the specified program is a legitimate program. For example, the processor 10 checks whether the hash value calculated in ACT2 matches the boot hash value.

[0024] For example, when a user requests the execution of a function by operating the operation / display unit 13, a request is made to start information processing based on an information processing program that describes the information processing required to realize that function. If the information processing program stored in the auxiliary storage unit 12 is a legitimate program, the hash value calculated in ACT2 will match the startup hash value. In this case, the processor 10 determines that the program is a legitimate program, selects YES, and proceeds to ACT5. In ACT5, the processor 10 allows the execution of the designated program. In response, the processor 10 starts information processing based on the designated program as processing of a thread separate from the startup control processing. Then, in the startup control processing, the processor 10 returns to the standby state of ACT1.

[0025] If the designated program has been illegally written to the auxiliary storage unit 12, or has been illegally replaced or modified, the hash value calculated in ACT2 will not match the startup hash value. In such a case, the processor 10 determines that the designated program is not a legitimate program, judges NO in ACT4, and proceeds to ACT6. Even if the designated program is a legitimate program, if the whitelist data DAA is corrupted and the startup hash value for the designated program has changed, the processor 10 will judge NO in ACT4. As ACT6, processor 10 rejects the execution of the designated program. In this case, processor 10 does not start information processing based on the designated program. Then, processor 10 returns to the standby state of ACT1 in the startup control process. In this way, processor 10 executes information processing based on startup control program PRA, and the computer with processor 10 as its central part functions as an execution restriction means. At this time, processor 10 may execute a predetermined warning operation, such as displaying a screen on operation / display unit 13 to inform the user that the designated program cannot be started.

[0026] If the whitelist data DAA is corrupted, for example, a maintenance worker for the MFP 1 inserts a special external memory 2, prepared in advance for that purpose, into a port of the interface unit 17. This special external memory 2 is, for example, a USB memory in which a stop program PRB is stored. The worker then issues an instruction to execute the stop program PRB stored in the external memory 2. If the start-up of the stop program PRB is requested in response to this instruction and the stop program PRB stored in the external memory 2 is a legitimate stop program, the hash value calculated in ACT2 will match the stop hash value. In this case, the processor 10 determines that the specified program is the stop program PRB, determines YES in ACT3, and proceeds to ACT7 in FIG. 4. Thus, by the processor 10 executing information processing based on the startup control program PRA, the computer, whose core component is the processor 10, confirms that the stop program PRB is a forcibly stopped information processing program, and functions as a confirmation means.

[0027] In ACT 7, the processor 10 checks whether or not a request to start an information processing program has been made, in the same way as in ACT 1. If the processor 10 cannot check the relevant event, it determines NO and proceeds to ACT 8. In ACT8, the processor 10 checks whether a return instruction, which will be described later, has been issued. If the processor 10 cannot confirm the relevant event, it determines NO and returns to ACT7. Thus, the processor 10, as ACT7 and ACT8, waits for a start request or a return instruction.

[0028] When a request to start an information processing program is made, the processor 10 determines YES in ACT7 and proceeds to ACT9. In ACT9, the processor 10 allows the execution of the specified program. In response, the processor 10 starts information processing based on the specified program as processing of a thread separate from the startup control processing. Then, in the startup control processing, the processor 10 returns to the standby state in ACT7 and ACT8.

[0029] In this way, processor 10 allows execution of the specified program without checking based on the whitelist in response to a startup request that occurs while ACT7 and ACT8 are in standby mode. In other words, processor 10 stops the whitelist-based check function after a request to execute the shutdown program PRB is made while external memory 2 storing the legitimate shutdown program PRB is attached. Thus, by processor 10 executing information processing based on the startup control program PRA, the computer with processor 10 as its central part functions as a shutdown means.

[0030] Thus, the operator can start information processing based on the information processing program required for maintenance without being affected by the corrupted whitelist data DAA. For example, the operator instructs execution of the repair program PRC stored in the external memory 2. In response to this, the processor 10 starts information processing based on the repair program PRC in ACT9. Then, in the information processing based on the repair program PRC, the processor 10 performs a predetermined repair process, such as writing the whitelist data DAB stored in the external memory 2 to the auxiliary storage unit 12 as whitelist data DAA. The repair of the whitelist data DAA stored in the auxiliary storage unit 12 may be realized, for example, by information processing by the processor 10 based on an information processing program included in the program group GRA or an operating system, in response to an instruction from the operator. In addition, any maintenance process other than repairing the whitelist data DAA may be executed as appropriate. After completing the necessary maintenance work, the operator instructs the system to return to normal operation, for example, by a predetermined operation on the operation and display unit 13. Alternatively, the instruction to return to normal operation may be given to the startup control process by information processing based on the repair program PRC.

[0031] When the processor 10 receives an instruction to return in this way, it judges YES in ACT8 and proceeds to ACT10. In ACT10, the processor 10 selects one of the information processing programs for information processing currently being executed as processing of a thread separate from the activation control processing as an information processing program to be checked (hereinafter referred to as a target program).

[0032] In ACT 11, the processor 10 calculates a hash value for the target program. For example, the processor 10 calculates the hash value by providing the entire target program stored in the auxiliary storage unit 12 or the external memory 2 as an argument to the same hash function used to calculate the startup hash value. However, if a portion of the information processing program is used as an argument to calculate the startup hash value, the processor 10 uses the same portion of the target program stored in the auxiliary storage unit 12 or the external memory 2 as an argument.

[0033] In ACT12, the processor 10 checks whether the target program is a legitimate program. For example, the processor 10 checks whether the hash value calculated in ACT11 matches the startup hash value. If the target program is not a legitimate program listed on the whitelist, the hash value calculated in ACT11 does not match the startup hash value. If the two hash values ​​do not match, the processor 10 determines that the program is not a legitimate program and determines NO, and proceeds to ACT13.

[0034] In ACT13, the processor 10 updates the anomaly list. The anomaly list is a list of information processing programs whose execution is abnormal (hereinafter referred to as "abnormal programs"). For example, if the processor 10 is executing ACT13 for the first time, the processor 10 generates anomaly list data representing an anomaly list that includes the target program as an abnormal program and stores the data in the main memory 11 or the auxiliary storage unit 12. Also, for example, if the processor 10 has already executed ACT13, the processor 10 updates the anomaly list data stored in the main memory 11 or the auxiliary storage unit 12 to represent an anomaly list that includes the current target program as an abnormal program. Thus, at this time, the processor 10 has detected that the information processing program being executed is not an information processing program included in the whitelist and permitted to be executed. In other words, by the processor 10 executing information processing based on the startup control program PRA, the computer with the processor 10 as its central part functions as a detection means.

[0035] Once the processor 10 has finished updating the anomaly list, it proceeds to ACT 14. If the hash value calculated in ACT 11 matches the startup hash value, the processor 10 determines that the target program is a legitimate program and judges YES in ACT 12, skipping ACT 13 and proceeding to ACT 14.

[0036] In ACT14, the processor 10 checks whether there is an information processing program that has not yet been selected as a target program. If the processor 10 confirms this event, it determines YES and repeats ACT10 and subsequent steps. Note that when the processor 10 executes ACT10 for the second or subsequent times, it selects an information processing program other than the one already selected as the target program during the loop of ACT10 to ACT14. The processor 10 also determines YES in ACT14 if there is an information processing program currently being executed that has not yet been selected as a target program during the loop of ACT10 to ACT14. Thus, the processor 10 checks whether each of the currently executing information processing programs is a legitimate program, and if it is not a legitimate program, it adds it to the abnormal list as an abnormal program. If the processor 10 has selected all of the currently executing information processing programs as target programs, it determines NO in ACT14 and proceeds to ACT15.

[0037] In ACT15, the processor 10 executes a notification operation to notify the operator of the results of the checks in ACT10 to ACT14. The processor 10, for example, causes the operation and display unit 13 to display a check result screen. The check result screen is a screen indicating whether or not each information processing program currently being executed contains an abnormal program. The specific type of screen to be used for the check result screen may be determined as appropriate by, for example, the designer of the MFP1. As an example, the check result screen is expected to be a screen that displays a list of abnormal programs included in an abnormality list. Furthermore, as an example, the check screen is expected to be a screen that indicates that an unauthorized program is currently being executed when an abnormality list is generated. The notification operation may be performed in any other manner, such as by printing a result sheet showing the check results using the print unit 15, or by sending notification information from the communication unit 18 to any notification destination terminal via the communication network 3. Then, the processor 10 thereafter returns to the standby state of ACT1 in FIG.

[0038] The processor 10 ends the display of the check result screen when a predetermined display end condition is met. One example of the display end condition is when a predetermined operation to instruct the end of display of the check result screen is performed on the operation / display unit 13. One example of the display end condition is when a predetermined time has elapsed since the check result screen was displayed. The processor 10 may return to the standby state of ACT1 while the check result screen is still displayed, or may return to the standby state of ACT1 after ending the display of the check result screen.

[0039] If the operator confirms based on the check result screen that an abnormal program is being executed, the operator stops the execution of the information processing program, uninstalls it, or takes other appropriate measures. Note that the processor 10 may perform processing to stop the execution of the target program, for example, before or after ACT 13. Furthermore, if the determination in ACT 12 is NO, the processor 10 may accept an operation specifying whether or not to stop the execution of the target program, and if the instruction to stop the execution of the target program is given, the processor 10 may proceed to ACT 13 or ACT 14 after performing processing to stop the execution of the target program, or if the instruction not to stop the execution is given, the processor 10 may proceed directly to ACT 14.

[0040] As described above, the MFP1 restricts the execution of an information processing program when the information processing program requested to be executed is not an information processing program that has been previously permitted to be executed. However, if the MFP1 determines that the information processing program requested to be executed is the stop program PRB, it suspends the execution restriction. In this way, the function of restricting the launch of information processing programs based on the whitelist can be temporarily suspended. Furthermore, since a request to execute the stop program PRB constitutes a request to suspend the execution restriction, it is possible to prevent the suspension of the execution restriction by someone who is unaware of this.

[0041] As in the above embodiment, the MFP1 does not store the stop program PRB in the auxiliary memory unit 12, but executes it from the external memory 2, so that even if the contents stored in the auxiliary memory unit 12 are analyzed, the existence of the stop program PRB will not be discovered, and it is possible to prevent the execution restriction from being illegally suspended using the stop program PRB.

[0042] Furthermore, the MFP1 determines that execution of the stop program PRB has been requested if the hash value calculated using the entire information processing program requested to be executed as an argument matches a hash value calculated in advance using the entire stop program PRB as an argument. Thus, unless the information processing program requested to be executed exactly matches the stop program PRB, the execution restriction will not be suspended, and the execution restriction will not be suspended by an operation by someone who does not have the legitimate stop program PRB. Even if a portion of the stop program PRB is used to calculate the hash value, the execution restriction cannot be suspended unless a malicious program that exactly matches the relevant portion is prepared, so it is possible to prevent the execution restriction from being suspended by operations by someone who does not have the legitimate stop program PRB.In addition, since the data size of the argument is smaller than when the entire information processing program is used as an argument, the time required to calculate the hash function can be shortened.

[0043] Furthermore, when the MFP 1 restores from a state in which execution restriction is suspended to a state in which execution control is performed, it checks whether an information processing program that is not permitted to be executed is being executed. Therefore, if an information processing program that is not permitted to be executed is started while execution restriction is suspended, it can detect that such a situation exists. The MFP 1 then notifies the operator that the situation exists, allowing the operator to recognize that the situation exists and take measures to resolve the situation.

[0044] This embodiment can be modified in various ways as follows. The stop program PRB may be stored in the auxiliary storage unit 12. Alternatively, a storage device separate from the main memory 11 and the auxiliary storage unit 12 may be provided in the MFP 1, and the stop program PRB may be stored in that storage device.

[0045] Verification that the information processing program requested to be executed is a legitimate program or a stopped program may be performed by a method other than using a hash value. For example, the processor 10 may determine that the information processing program requested to be executed is a legitimate program by checking that the file path of the information processing program matches a file path registered in a whitelist. In this case, the processing load on the processor 10 can be reduced compared to the above embodiment.

[0046] For example, the execution restriction may be stopped by stopping the startup control process through information processing by the processor 10 based on an information processing program other than the startup control program PRA, such as the stop program PRB. In this case, the processor 10 stops the startup control process based on its process ID (identifier). The relevant process ID can be obtained using, for example, the Linux command "ps." The process can be stopped using, for example, the Linux command "kill."

[0047] The processes in ACT10 to ACT15 may be omitted.

[0048] Information processing for controlling the functions of an image forming apparatus other than the MFP 1 can also be implemented in a similar manner to the above.

[0049] The same implementation as the above embodiment is possible even for various information processing apparatuses that perform information processing other than information processing for controlling the functions of the image forming apparatus.

[0050] The information processing based on the repair program PRC can also be realized as information processing based on the stop program PRB.

[0051] Some or all of the functions realized by the processor 10 through information processing can be realized by hardware that executes information processing not based on a program, such as a logic circuit. Each of the above functions can also be realized by combining the above hardware, such as the logic circuit, with software control.

[0052] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. The inventions described in the original claims of this application are set forth below. [Supplementary Note 1] An execution restriction means for restricting the execution of an information processing program when the information processing program requested to be executed is not an information processing program included in a whitelist that is previously permitted to be executed; a confirmation means for confirming that the information processing program requested to be executed is a forced stop information processing program based on predetermined information related to the information processing program; a stopping means for stopping the restriction imposed by the execution restriction means in response to the confirmation means confirming that the information processing program requested to be executed is an information processing program for forced stop; An information processing device equipped with the above. [Supplementary Note 2] The verification means verifies that the information processing program requested to be executed is an information processing program for forced termination when a hash value obtained by applying at least a part of the information processing program requested to be executed as an argument to a predetermined hash function matches a predetermined value. 10. The information processing device according to claim 1. [Supplementary Note 3] The confirmation means uses the entire information processing program requested to be executed as an argument. 3. The information processing device according to claim 2. [Supplementary Note 4] A detection means for detecting, when the suspension by the suspension means is ended and the restriction by the execution restriction means is resumed, whether the information processing program being executed is not an information processing program included in a whitelist as an information processing program that is permitted to be executed; The information processing device according to any one of Supplementary Note 1 to Supplementary Note 3, further comprising: [Appendix 5] A forming device for forming an image on a recording medium; a processing means for executing information processing for controlling the operation of the forming device according to an information processing program; an execution restriction means for restricting the processing means from executing the information processing program when the information processing program requested to be executed is not an information processing program included in a whitelist that is previously permitted to be executed; a confirmation means for confirming that the information processing program requested to be executed is a forced stop information processing program based on predetermined information related to the information processing program; a stopping means for stopping the restriction imposed by the execution restriction means in response to the confirmation means confirming that the information processing program requested to be executed is an information processing program for forced stop; An image forming apparatus comprising: [Appendix 6] Computer, an execution restriction means for restricting the execution of an information processing program when the information processing program requested to be executed is not an information processing program included in a whitelist as an information processing program that is permitted to be executed in advance; a confirmation means for confirming that the information processing program requested to be executed is a forced stop information processing program based on predetermined information related to the information processing program; a stopping means for stopping the restriction imposed by the execution restriction means in response to the confirmation means confirming that the information processing program requested to be executed is an information processing program for forced stop; An information processing program that makes it function as such. [Explanation of symbols]

[0053] 1...MFP, 2...external memory, 3...communication network, 10...processor, 11...main memory, 12...auxiliary storage unit, 13...operation and display unit, 14...scan unit, 15...print unit, 16...facsimile unit, 17...interface unit, 18...communication unit, 19...transmission path

Claims

1. an execution restriction means for restricting the execution of an information processing program when the information processing program requested to be executed is not an information processing program included in a whitelist as an information processing program that is permitted to be executed in advance; a confirmation means for confirming that the information processing program requested to be executed is a forcibly stopped information processing program based on predetermined information different from the whitelist; a stopping means for stopping the restriction imposed by the execution restriction means in response to the confirmation means confirming that the information processing program requested to be executed is an information processing program for forced stop; An information processing device equipped with the above.

2. the confirmation means obtains a hash value by providing at least a part of the information processing program requested to be executed as an argument to a predetermined hash function as the predetermined information, and confirms that the information processing program requested to be executed is an information processing program for forced termination if the hash value matches the predetermined value; The information processing device according to claim 1 .

3. the confirmation means uses the entire information processing program requested to be executed as an argument; The information processing device according to claim 2 .

4. a detection means for detecting, when the suspension by the suspension means is ended and the restriction by the execution restriction means is resumed, that the information processing program being executed is not an information processing program included in the whitelist as an information processing program that is permitted to be executed; The information processing device according to any one of claims 1 to 3, further comprising:

5. a forming device for forming an image on a recording medium; a processing means for executing information processing for controlling the operation of the forming device according to an information processing program; an execution restriction means for restricting the processing means from executing the information processing program when the information processing program requested to be executed is not an information processing program included in a whitelist that is previously permitted to be executed; a confirmation means for confirming that the information processing program requested to be executed is a forcibly stopped information processing program based on predetermined information different from the whitelist; a stopping means for stopping the restriction imposed by the execution restriction means in response to the confirmation means confirming that the information processing program requested to be executed is an information processing program for forced stop; An image forming apparatus comprising:

6. Computer, an execution restriction means for restricting the execution of an information processing program when the information processing program requested to be executed is not an information processing program included in a whitelist as an information processing program that is permitted to be executed in advance; a confirmation means for confirming that the information processing program requested to be executed is a forcibly stopped information processing program based on predetermined information different from the whitelist; a stopping means for stopping the restriction imposed by the execution restriction means in response to the confirmation means confirming that the information processing program requested to be executed is an information processing program for forced stop; An information processing program that makes it function as such.

Citation Information

Patent Citations

  • Management of mobile device according to security policy selected in dependence on environment

    JP2004265286A

  • System and method for preventing unauthorized program start

    JP2009259160A

  • Automatic transaction device and automatic transaction system using the same

    JP2011113144A

  • Image processor and electronic blackboard provided with the same

    JP2016139322A

  • Calculator

    JP2017004334A