WO2012077300A1 - 情報処理装置、及び、情報処理方法 - Google Patents
情報処理装置、及び、情報処理方法 Download PDFInfo
- Publication number
- WO2012077300A1 WO2012077300A1 PCT/JP2011/006668 JP2011006668W WO2012077300A1 WO 2012077300 A1 WO2012077300 A1 WO 2012077300A1 JP 2011006668 W JP2011006668 W JP 2011006668W WO 2012077300 A1 WO2012077300 A1 WO 2012077300A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- check
- application
- program
- attack
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Definitions
- the present invention relates to a technique for preventing leakage of information due to content to which an unauthorized program is added.
- An attack that leaks other photographic data inside the device by capturing the illicit photo data with an unauthorized program added to such a device is conceivable.
- an attacker sends illegal photo data to which an illegal program is added to a target person's PC by using e-mail or the like, and causes the above-described device to capture the photo data.
- photographic data including illegal photographic data in which an illegal program is added to a recording medium such as CD-R (Compact Disc Recordable) or DVD-R (Digital Versatile Disk Recordable) is recorded.
- CD-R Compact Disc Recordable
- DVD-R Digital Versatile Disk Recordable
- an application (hereinafter, a program executed by a computer and a processing unit that performs a certain process is called an application) has data to be used during execution secured on a RAM (Random Access Memory). Stored in the stack area.
- a stack frame is created for each function in the application (which is a part of the application and means a modularized processing unit).
- the stack frame is last-in first-out (LIFO: Last In First Out, FILO: It is stored in the stack area with the structure of First In Last Out.
- the stack frame includes a local variable area 200, a save area 201, a return address 202, and an argument area 203 as shown in FIG.
- the local variable area 200 stores local variables used in the function.
- the save area 201 the state of the CPU when the function is called is saved (that is, recorded), and when the function ends, the recorded CPU state is read from the save area so that the CPU is in the state before the save.
- the return address 202 stores a return destination address (that is, an address in the RAM) that is returned at the end of processing defined in the function.
- the argument area 203 stores an argument when the function is called.
- the buffer overflow vulnerability is a problem when data input from the outside is saved in a buffer (variable) secured in the local variable area 200 on the stack. Specifically, there is a vulnerability that the save area 201, the return address 202, and the argument area 203 are rewritten as a result of input of data larger than the buffer size.
- the buffer overflow attack is (1) a function in a specific application has a buffer overflow vulnerability, and (2) the function reads illegal photo data loaded with an illegal program. It will be executed.
- FIG. 19 shows a conventional buffer overflow attack countermeasure described in Patent Document 1.
- the task 101 inputs a system call request that involves reading data from the data area 102 to an OS (Operating System) 107.
- OS Operating System
- the OS 107 requests the validity verification unit 104 to check the validity of the system call request.
- the validity verification unit 104 determines the validity of the system call request and outputs a determination result.
- the legitimacy verification unit 104 determines that the request is an unauthorized system call, it rejects the system call request and notifies the attack countermeasure unit 112 of it.
- the attack countermeasure unit 112 takes countermeasures against the task 101 that requested the system call.
- the command execution unit 106 causes the system call 105 to be executed.
- the conventional configuration has a problem that the responsiveness of processing deteriorates with respect to the system call request because the validity check is performed on all the system call requests.
- the present invention solves the above-described conventional problems, and an object of the present invention is to provide an information processing apparatus that improves the responsiveness of system call processing without sacrificing safety.
- An information processing apparatus is an information processing apparatus that executes one or more programs having an application identifier that is a unique identifier, and is being executed in the information processing apparatus by acquiring the application identifier.
- An application identification unit that identifies the program of the program, a caller identification unit that identifies a caller that indicates which part of the program the program code has called from when the program code is called, and the identification
- the check application management unit that manages the check result, which is information including the results of checking the safety of executing the specified program in the past, the specified caller, and the specified check result based on the check result Whether or not to check if the program is attacked And a attack check determination section constant to.
- the caller specifying unit can specify the caller of the program code. Therefore, the attack check determination unit can determine whether or not it is necessary to check whether or not the program code is attacked with the specified caller. As a result, it is possible to provide an information processing apparatus that improves the responsiveness of system call processing without sacrificing safety.
- the information processing apparatus further includes an attack check unit that checks whether the identified program is attacked, and the attack check determination unit includes the attack check determination unit. If it is determined that an attack check is to be performed on the selected program, it may be checked whether or not the specified program is attacked.
- the caller specifying unit is a return address that is an address in a memory indicating a return destination for returning execution processing to the specified program after calling the program code from the specified program
- the caller may be specified using.
- the information processing apparatus can specifically identify the caller of the program code from the return address.
- the caller identification unit uses the stack pointer value of the call stack used by the identified program and the return address when the program code is called from the identified program and the return address. May be specified.
- the call source of the program code can be uniquely determined by the two information of the return address when calling the program code and the stack pointer of the call stack. Therefore, the caller identification unit can identify the caller by acquiring these pieces of information.
- the check application management unit (A) information indicating a result of checking whether or not the specified program is attacked, and (B) whether or not the specified program is attacked. It is also possible to store information including both of the information indicating whether or not the check for determining whether the check is necessary is associated with the app identifier and the caller included in the identified program as the check result. .
- the attack check determination unit can determine the safety of calling the program code from the caller specified by the caller specifying unit from the past check results stored in the check application management unit. .
- the attack check determination unit acquires the check result stored in the check application management unit in association with the application identifier of the identified program, and (A) the acquired check If the result indicates that the identified program is not attacked or the identified program is attacked, it is determined that the attack is not checked, and (B) When the acquired check result indicates that a check for determining whether or not an attack has occurred is necessary, it may be determined that the attack check unit checks whether an attack is being performed.
- a content specifying unit that specifies a data file that the specified program is to read by calling the program code using a content identifier that is an identifier indicating the data file; and the specified data
- a readability determination unit that determines whether or not to read a file, and the readability determination unit includes (A) the check result associated with the content identifier, the application identifier, and the caller. (B) The check result associated with the content identifier, the application identifier, and the caller is stored in the check application management unit. And the check result indicates that the identified program is If it is determined that the data file has not been shot, it is determined that the specified data file is read.
- the check application management unit sets the caller of the program code and the identifier of the data file read by the called program code as a set, and records the safety check results, thereby enabling more accurate and safer Gender can be determined.
- the read permission determination unit determines the application identifier.
- the check application management unit associates information indicating that it is necessary to check whether or not the program specified in (2) is under attack with the content identifier, the application identifier, and the caller. It may be stored in
- the check application management unit may delete the check result stored in association with the application identifier of the deleted or updated program.
- the information processing apparatus can perform the reading process.
- the information processing apparatus can perform the attack check process again.
- the check application management unit stores the check result in at least one of the information processing apparatus including the check application management unit and an information processing apparatus different from the information processing apparatus including the check application management unit. It may be.
- safety can be determined without checking even if the file has not been read by itself.
- the check application management unit may delete the check result stored in association with the content identifier indicating the changed data file. .
- the present invention can be realized not only as such an information processing apparatus but also as an information processing method using characteristic means included in the information processing apparatus as a step, or such characteristic steps in a computer. It can also be realized as a program to be executed. Needless to say, such a program can be distributed via a recording medium such as a CD-ROM (Compact Disc Only Memory) and a transmission medium such as the Internet.
- a recording medium such as a CD-ROM (Compact Disc Only Memory)
- a transmission medium such as the Internet.
- the present invention can be realized as a semiconductor integrated circuit (LSI) that realizes part or all of the functions of such an information processing apparatus.
- LSI semiconductor integrated circuit
- the responsiveness of system call processing can be improved without sacrificing safety.
- FIG. 1 is an overall configuration diagram of a content storage / display system according to Embodiment 1 of the present invention.
- FIG. 2 is a software configuration diagram of the content storage / display apparatus according to Embodiment 1 of the present invention.
- FIG. 3 is a hardware configuration diagram of the content storage / display apparatus according to Embodiment 1 of the present invention.
- FIG. 4 is a configuration diagram of the update server according to Embodiment 1 of the present invention.
- FIG. 5 is a function call relationship diagram according to the first embodiment of the present invention.
- FIG. 6 is a configuration diagram of an OS having the information processing apparatus according to the first embodiment of the present invention.
- FIG. 7 is a configuration diagram of an attack check result list according to Embodiment 1 of the present invention.
- FIG. 1 is an overall configuration diagram of a content storage / display system according to Embodiment 1 of the present invention.
- FIG. 2 is a software configuration diagram of the content storage / display apparatus according to Embodiment 1 of the
- FIG. 8 is a configuration diagram of the check required application list according to the first embodiment of the present invention.
- FIG. 9 is a block diagram showing another configuration of the information processing apparatus according to Embodiment 1 of the present invention.
- FIG. 10 is a flowchart of check necessity determination processing according to Embodiment 1 of the present invention.
- FIG. 11 is a flowchart of the file reading process in the first embodiment of the present invention.
- FIG. 12 is a configuration diagram of the information processing apparatus according to Embodiment 2 of the present invention.
- FIG. 13 is a configuration diagram of an attack check result list according to Embodiment 2 of the present invention.
- FIG. 14 is a flowchart of check necessity determination processing according to Embodiment 2 of the present invention.
- FIG. 15 is an overall configuration diagram of a content storage / display system according to Embodiment 3 of the present invention.
- FIG. 16 is a configuration diagram of the information processing apparatus according to Embodiment 3 of the present invention.
- FIG. 17 is a flowchart of check necessity determination processing according to Embodiment 3 of the present invention.
- FIG. 18 is a diagram illustrating an example of a stack configuration.
- FIG. 19 is a diagram illustrating an example of a configuration of a conventional OS.
- the information processing apparatus is a content storage / display apparatus that captures and stores photo data from devices such as a camera and a PC, and displays the photo data in response to a user request.
- FIG. 1 is a configuration diagram of a content storage / display system 1000 according to Embodiment 1 of the present invention.
- the content storage / display system 1000 includes a content storage / display device 1001, a camera 1010, a PC 1011, and an update server 1020.
- Content storage / display device 1001 captures and stores photo data from camera 1010, PC 1011, or the like. Further, the stored photo data is displayed in response to a user request. Furthermore, it has a reading unit for reading a recording medium such as the recording disk 1030, and can take photographic data taken by a person other than the user.
- the content storage / display device 1001 executes one or more programs having an application identifier, which is a unique identifier, on a CPU (Central Processing Unit) in order to realize the storage and display functions of these contents.
- an application identifier which is a unique identifier
- the camera 1010 is connected to the content storage / display device 1001 using a USB (Universal Serial Bus), a wireless LAN (Local Area Network), or the like.
- the camera 1010 records photo data obtained by a user taking a photo at an event such as a trip in a nonvolatile memory built in the camera 1010 or a removable recording medium.
- the recorded photo data is transferred to the content storage / display device 1001.
- the user can transfer the photo data recorded on the recording medium to the content storage / display apparatus 1001 by taking out the recording medium from the camera 1010 and mounting it on the content storage / display apparatus 1001.
- the PC 1011 is a computer connected to a network and used when a user receives an email or performs web browsing.
- the PC 1011 is also connected to the content storage / display device 1001 via a network. Photo data attached to an e-mail, photo data downloaded at the time of Web browsing, and the like are captured from the PC 1011 to the content storage / display device 1001 via the network.
- the update server 1020 is connected to the content storage / display device 1001 via a network.
- the update server 1020 stores update software for the content storage / display device 1001 and transfers the update software to the content storage / display device 1001 in response to a request from the content storage / display device 1001.
- the update software is created when a defect is found in the software operating in the content storage / display device 1001 or when a function is added to the software.
- the recording disk 1030 is a recording medium for recording photographic data.
- the content storage / display device 1001 includes an information processing device according to the present invention.
- FIG. 2 is a software configuration diagram of the content storage / display apparatus 1001 according to Embodiment 1 of the present invention.
- the content storage / display device 1001 includes an OS 1101, a content collection application 1102, a display application 1103, an editing application 1104, and a management application 1105.
- the OS 1101 includes the information processing apparatus 100.
- the OS 1101 loads and executes applications (programs such as the content collection application 1102, the display application 1103, the editing application 1104, and the management application 1105) running on the OS 1101 on the memory.
- applications programs such as the content collection application 1102, the display application 1103, the editing application 1104, and the management application 1105
- the OS 1101 confirms whether the requested application is authorized to use the resource. As a result of the confirmation, if it is determined that the user has authority, the OS 1101 provides resources to the application via the information processing apparatus 100. Requests from the application to the OS 1101 include file read requests and write requests, and connection requests to other devices connected via a network.
- the content collection application 1102 is an application that collects the photo data recorded in the camera 1010, the PC 1011, and the recording disk 1030 and stores it in the content storage / display device 1001.
- the content collection application 1102 monitors whether a device such as the camera 1010 is connected via USB or wireless LAN, and if it is detected that the device is connected, the content collection application 1102 records the information in the device or on a recording medium attached to the device. Collect photo data. Further, the network connection is monitored, and when it is detected that a device such as the PC 1011 is connected, the photograph data recorded in the device is collected.
- the content collection application 1102 stores and accumulates the collected photographic data in a nonvolatile storage device in the content storage / display device 1001.
- the display application 1103 is an application that displays the photo data accumulated by the content collection application 1102 on a display device such as a liquid crystal display.
- the display application 1103 displays a list of thumbnail images attached to the photo data or displays one photo data designated by the user.
- the display application 1103 also performs a slide show display in which a plurality of pieces of photo data selected by the user are displayed at regular time intervals.
- the editing application 1104 is an application for editing photo data stored in the content storage / display device 1001.
- the editing application 1104 stores the edited photo data as new photo data or overwrites the edited photo data in accordance with the user's selection. Also, the editing application 1104 deletes from the content storage / display device 1001 the photo data that the user has determined is unnecessary.
- the management application 1105 manages the applications and OS installed in the content storage / display device 1001.
- the management application 1105 communicates with the update server 1020 and periodically checks whether there is an application installed in the content storage / display device 1001 or OS update software.
- the management application 1105 detects update software, the management application 1105 notifies the user, receives the application or OS update software from the update server 1020, and performs update processing.
- FIG. 3 is a hardware configuration diagram of the content storage / display apparatus 1001 according to Embodiment 1 of the present invention.
- the content storage / display device 1001 includes a system LSI 1200, a memory 1210, and a nonvolatile storage device 1220.
- the system LSI 1200 includes a CPU (Central Processing Unit) 1201, a card I / F (Interface) 1202, a network I / F 1203, and an input / output I / F 1204.
- CPU Central Processing Unit
- card I / F Interface
- network I / F 1203
- the CPU 1201 controls the overall operation of the content storage / display device 1001 by executing an instruction code included in the OS 1101 and each application stored in the memory 1210.
- the CPU 1201 has two modes, a privileged mode and a non-privileged mode.
- the OS 1101 operates in a privileged mode, and can freely access various resources such as the memory 1210, the card I / F 1202, the network I / F 1203, and the input / output I / F 1204. Therefore, the information processing apparatus 100 according to the present invention included in the OS 1101 operates in the privileged mode.
- the content collection application 1102, the display application 1103, the editing application 1104, and the management application 1105 operate in a non-privileged mode and can be accessed only within the range set by the OS 1101.
- the memory 1210 stores an OS 1101, a content collection application 1102, a display application 1103, an editing application 1104, and a management application 1105.
- FIG. 3 shows a state in which each element of the software configuration shown in FIG.
- the nonvolatile storage device 1220 stores a caller check result table 1221, content A 1222, and content B 1223. Although not shown, the nonvolatile storage device 1220 stores each component before the software configuration shown in FIG. 2 is loaded into the memory 1210. Specifically, the content collection application 1102, the display application 1103, the editing application 1104, and the management application 1105 shown in FIG. 2 are respectively the content collection application 1102 and the display application 1103 stored in the memory 1210 shown in FIG. , The editing application 1104 and the management application 1105. Each function is implement
- the content storage / display device 1001 further includes an input / output device such as a liquid crystal display (not shown in FIG. 3), but these are not the essence of the present invention and will not be described.
- the system LSI 1200 further includes peripheral circuits and the like not shown in FIG. 3, but these are not the essence of the present invention and will not be described.
- the memory 1210 may further store an application not shown in FIGS. 2 and 3 and a work area for processing photo data.
- the nonvolatile storage device 1220 may further store an application or content not shown in FIG. 2 or FIG.
- FIG. 4 is a configuration diagram of the update server 1020 according to Embodiment 1 of the present invention.
- the update server 1020 includes an update process receiving unit 1300 and an update software holding unit 1301.
- the update processing reception unit 1300 receives an inquiry from the management application 1105 of the content storage / display device 1001. As a result of the inquiry, if an update is necessary, the update processing reception unit 1300 performs a software update process in the content storage / display device 1001 in cooperation with the management application 1105. In the update process, the update process reception unit 1300 acquires the update software from the update software holding unit 1301 and transmits it to the management application 1105.
- the update software holding unit 1301 holds update software necessary for software update processing in the content storage / display device 1001.
- the attack check process (that is, the process for determining whether or not the application is attacked) does not need to be performed before the attack, but needs to be performed after the attack. That is, if the timing at which an attack is possible is known, the attack check process may be performed immediately after that. This is because it is difficult to determine whether or not an attack is made after an attack, that is, unless an unauthorized program is operating on a call stack used by a running application. Therefore, it is desirable that the attack check process can be performed immediately after being attacked.
- the content storage / display apparatus 1001 is an apparatus such as a PC in which a user cannot freely add an app or download photo data or an app via a network. Therefore, in order for an attacker to attack the content storage / display device 1001, there is only a method of crafting photo data such as photo data captured by the content storage / display device 1001. For example, an attacker uses photo data (content added with an illegal program) that has been crafted to counter the vulnerability (buffer overflow, etc.) of the display application 1103 that displays photo data in the content storage / display device 1001. create. The attacker attacks the content storage / display device 1001 by causing the content storage / display device 1001 to capture the crafted photo data.
- the content storage / display device 1001 is attacked at the timing when the display application 1103 reads the content to which an unauthorized program is added and tries to perform display processing. Therefore, the attack check process needs to be performed at a timing after the photo data reading process is performed.
- the attack check process is performed at the timing of the next system call request.
- the buffer overflow when attacking using the buffer overflow vulnerability, if the display application 1103 reads the content with the malicious program added, the buffer overflow always occurs and the malicious program operates. That is, if the display application 1103 is attacked, the photo data read at that time is content to which an unauthorized program is added, and if not attacked, it can be determined that normal photo data has been read.
- the content storage / display device 1001 does not perform the attack check process at the timing of the next system call request. Thereby, the execution of the attack check process can be omitted.
- the attack check process may or may not be omitted.
- FIG. 5 is a schematic diagram showing the function call relationship in the display application 1103.
- the display application 1103 includes a main function 1560, a thumbnail acquisition function 1561, a data body acquisition function 1562, and a read function 1563.
- the main function 1560 performs processing for displaying a list of photo data stored in the content storage / display device 1001 using thumbnails or displaying photo data selected by the user from the thumbnails.
- the thumbnail acquisition function 1561 acquires thumbnail data from the photo data stored in the content storage / display device 1001.
- the data body acquisition function 1562 acquires the data of the photo body from the photo data stored in the content storage / display device 1001.
- the read function 1563 receives a photo data read request from the thumbnail acquisition function 1561 or the data body acquisition function 1562, and makes a file read system call request to the OS 1101.
- the display application 1103 in FIG. 5 for example, consider a case where the data body acquisition function 1562 has a buffer overflow vulnerability.
- the display application 1103 makes a file call system call request to the OS 1101 from the main function 1560 via the thumbnail acquisition function 1561 and the read function 1563 (path 1).
- the display application 1103 since there is no function having a buffer overflow vulnerability in the middle of the path 1, it is not attacked. However, for this reason, it is dangerous for the user to select the same picture and determine that the attack check process need not be performed when displaying the main body of the picture data. This is because an attack using the buffer overflow vulnerability is executed for the first time when illegal data is called from a function having the buffer overflow vulnerability, and can be detected.
- a file call system call request is made to the OS 1101 from the main function 1560 via the data body acquisition function 1562 and the read function 1563 (path 2).
- the data body acquisition function 1562 in the middle of the path 2 has a buffer overflow vulnerability.
- the read photo data is content to which an unauthorized program is added, the content storage / display device 1001 is attacked by the unauthorized program.
- the information processing apparatus 100 determines the difference between the paths by using the fact that the function executed in the middle is different. Specifically, when the route is different, the difference in the route is determined by using the value of the stack pointer of the application (for example, the display application 1103 in FIG. 5) when the system call is requested. judge. Therefore, as will be described later, in the attack check result list 1530 used for the determination by the attack check determination unit 1510, in addition to the application identifier and the content identifier, the caller address and the stack pointer value when the system call is requested are also checked. It is associated with the result and stored together.
- FIG. 6 is a configuration diagram of the information processing apparatus 100 included in the OS 1101 according to Embodiment 1 of the present invention.
- the information processing apparatus 100 includes a check application management unit 1500, a system call management unit 1501, and a file reading management unit 1502.
- the check application management unit 1500 manages the check result of checking whether the application is attacked. It also manages apps that need to be checked for attacks.
- the check application management unit 1500 (A) checks whether the program (application) identified by the application identification unit 1511 is attacked, and (B) the identified program is The check result, which is information including both of the information indicating whether the check for determining whether or not the attack is necessary, is stored in association with the application identifier and the caller of the identified program Yes.
- the check application management unit 1500 has an attack check result list 1530 shown in FIG.
- the check application management unit 1500 manages check results by updating the attack check result list 1530.
- the application is being attacked means that a malicious program runs on the stack of the application against the buffer overflow vulnerability that exists in the application. Means the state.
- FIG. 7 shows an example of the attack check result list 1530.
- the attack check result list 1530 includes an application identifier, a content identifier, a caller address, a stack pointer value, and a check result.
- the application identifier is an identifier that identifies an application that runs on the OS 1101.
- the application identifier is a file name of the application.
- the content identifier is an identifier for identifying a photo data file stored in the nonvolatile storage device 1220.
- the content identifier is, for example, the file name of the photo data file in the first embodiment of the present invention.
- the caller address is the address of the application execution code when the application requests a system call. For example, it is an address of an execution code of the display application when the display application requests reading of photo data. That is, the caller address is an address used as a return address used when returning from the OS 1101 to the display application in the first embodiment of the present invention.
- the stack pointer value is the value of the application stack pointer when the application requests a system call. For example, it is the value of the stack pointer of the display application when the display application requests reading of photo data.
- the check application management unit 1500 receives an application identifier, a content identifier, a caller address, and a stack pointer value from the file reading management unit 1502.
- a check result “ ⁇ ” or “ ⁇ ” indicating whether or not an attack has occurred, or “necessary” indicating that an attack is necessary is required.
- One of the three values is stored.
- the check result is “ ⁇ ”, it means that the program (application) having the corresponding application identifier is not attacked.
- the check result is “x”, it indicates that an attack is being made.
- the check result is “necessary”, it indicates that it is necessary to check whether or not the attack is being performed.
- the check result is received by the check application management unit 1500 from the attack check unit 1512 included in the system call management unit 1501.
- the attack check result list 1530 may include an application identifier, a content identifier, a caller address, a stack pointer value, and a check result, and the order is not limited to this.
- the order of the content identifier, the application identifier, the caller address, the stack pointer value, and the check result may be the order of the check result, the application identifier, the content identifier, the caller address, and the stack pointer value.
- the data structure of the attack check result list 1530 does not have to be in the form of the table shown in FIG. Any format that can identify a combination of an application identifier, a content identifier, a caller address, a stack pointer value, and a check result may be used. For example, using a table with app identifiers on the horizontal axis and content identifiers on the vertical axis, each combination of app identifier and content identifier has a link to a list of combinations of caller addresses and stack pointer values. Also good.
- the check application management unit 1500 receives an inquiry from the system call management unit 1501 as to whether or not the application indicated by the application identifier needs to be checked. Upon receiving an inquiry from the system call management unit 1501, the check application management unit 1500 acquires the check result of the application from the attack check result list 1530 and returns the acquired check result.
- the check application management unit 1500 receives a check result for checking whether an attack has occurred and an application identifier from the attack check unit 1512 included in the system call management unit 1501, and records the received check result in the attack check result list 1530. To do.
- the system call management unit 1501 includes an attack check determination unit 1510, an application identification unit 1511, and an attack check unit 1512.
- the system call management unit 1501 uses the attack check determination unit 1510 to determine whether the application that requested the system call has been attacked. If it is determined that the attack has not occurred, the requested system call processing is executed. If it is determined that the attack has occurred, an error is returned to the application that requested the system call. Details of the check necessity determination process at the time of system call request will be described later using a flowchart.
- the attack check determination unit 1510 determines whether it is necessary to check whether or not the application that requested the system call has been attacked. Specifically, the attack check determination unit 1510 determines whether to check whether the specified program is attacked based on the caller of the program specified by the application specifying unit 1511.
- the attack check determination unit 1510 acquires the check result stored in the attack check result list 1530 of the check application management unit 1500 in association with the application identifier of the identified program.
- the attack check determination unit 1510 checks whether the program (app) is attacked. Judge that there is no.
- the attack check determination unit 1510 performs an attack check. It is determined that the check by the unit 1512 is performed.
- the attack check determination unit 1510 acquires the attack check result of the application that requested the system call from the check application management unit 1500. If the acquired check result is “necessary”, the attack check determination unit 1510 requests the attack check unit 1512 to check. If the check result is “ ⁇ ”, the requested system call process is executed without performing the check. If the check result is “x”, an error is returned to the application that requested the system call. In any case, the attack check determination unit 1510 requests the check application management unit 1500 to register the check result acquired from the attack check unit 1512.
- the application identification unit 1511 identifies the application that requested the system call. Specifically, the application identifier that the program executed in the content storage / display apparatus 1001 has is acquired to identify the application that requested the system call.
- the application identification unit 1511 identifies an application using a file name stored in a process management structure managed by the OS 1101 as an application identifier.
- the application identification unit 1511 notifies the attack check determination unit 1510 of the file name of the application that is the application identifier.
- the attack check determination unit 1510 determines that an attack check is performed on the application specified by the application specifying unit 1511
- the attack check unit 1512 detects that the application (that is, the application that requested the system call) is attacking. Check if it has been done.
- the check method is described in detail in, for example, Patent Document 1 or Patent Document 2 described above. Also, other check methods may be used.
- the file read management unit 1502 includes a read permission determination unit 1520, a content specifying unit 1521, an application specifying unit 1522, and a caller specifying unit 1523.
- the file read management unit 1502 is called from the system call management unit 1501 when the application requests a file read by a system call, and performs a file read process.
- the file reading management unit 1502 refers to the attack check result list 1530 during the file reading process, and determines whether or not to perform the reading process. Details of the file reading process will be described later using a flowchart.
- the read permission determination unit 1520 determines whether or not to read a data file specified by a content specifying unit 1521 described later. That is, the read permission determination unit 1520 determines whether the check result associated with (A) the content identifier, the application identifier, and the caller is not stored in the check application management unit 1500, or (B) the content The check result associated with the identifier, the application identifier, and the caller is stored in the check application management unit 1500, and the check result is attacked by the program (application) specified by the application specifying unit 1511. If it is not indicated, it is determined that the specified data file is read.
- the check result associated with the content identifier, the application identifier, and the caller is stored in the check application management unit 1500, and the check result is stored in the program (application ) Indicates that a previous attack has occurred, the readability determination unit 1520 determines that the specified data file is not read.
- the read permission determination unit 1520 acquires an attack check result from the check application management unit 1500, and determines read permission according to the acquired check result.
- the readability determination unit 1520 determines that reading is possible when the check result is “ ⁇ ”, and determines that reading is not possible when the check result is “x”.
- the readability determination unit 1520 determines that the read is possible and requests the check application management unit 1500 to register the check result “necessary”. To do. That is, when the determination result is not stored in the check app management unit, the read applicability determination unit 1520 does not store the check result associated with the content identifier, the app identifier, and the caller. Information indicating that the program specified by the specifying unit 1511 needs to be checked to determine whether or not it is attacked is associated with the content identifier, the application identifier, and the caller, and the check application management unit 1500 Remember me.
- the content specifying unit 1521 reads a data file that the program (application) specified by the application specifying unit 1511 is to read by calling a program code (that is, a system call), and a content identifier that is an identifier indicating the data file. Use to identify.
- the content specifying unit 1521 specifies photo data read by the display application 1103 by a user operation, for example.
- the photo data is stored using the file name of the photo data stored in the file identifier notified at the time of the read request. Use an identifying method.
- the content specifying unit 1521 notifies the readability determining unit 1520 of the photo data file name as a content identifier.
- the application identification unit 1522 has the same function as the application identification unit 1511 included in the system call management unit 1501, except that the application identifier is notified to the readability determination unit 1520. That is, the application specifying unit 1511 acquires an application identifier to refer to the attack check result list 1530. On the other hand, the application specifying unit 1522 acquires an application identifier in order to update the attack check result list 1530.
- the caller identification unit 1523 identifies from which part of the program the program (application) identified by the application identification unit 1511 calls the program code. Specifically, the caller identification unit 1523 identifies which part of the application is the caller that called the OS 1101 file reading process.
- the caller identification unit 1523 uses the address of the execution code of the application and the value of the stack pointer when the application requests reading of photo data as a method for identifying the caller. To identify the caller. That is, when the program code (system call) is called from the program (application) specified by the application specifying unit 1511, the caller specifying unit 1523 executes (A) the program code after executing the program code. The caller is specified by using the return address, which is an address in the memory indicating the return destination for returning the process, and (B) the value of the stack pointer of the call stack used by the specified program. More specifically, the caller identification unit 1523 uses the return address for returning to the application at the end of the file reading process and the stack pointer value of the application at the time when the file read request is made, to Is identified.
- the attack check determination unit 1510 determines whether to perform the attack check process using the attack check result list 1530, but the present invention is not limited to this.
- the check application management unit 1500 may manage an application that requires an attack check process as the check application list 1531 that is required, separately from the attack check result list 1530.
- An example of the structure of the check required application list 1531 is shown in FIG. In this case, the check application management unit 1500 stores only “ ⁇ ” or “ ⁇ ” as the check result in the attack check result list 1530.
- the check application management unit 1500 registers the requested application in the required check application list 1531 illustrated in FIG. To do. Further, the attack check determination unit 1510 inquires of the check application list 1531 provided in the check application management unit 1500 whether the application identifier of the application that requested the system call is registered.
- the attack check determination unit 1510 sets all the check results related to the same content identifier as the content identifier whose check result is “x” to “x”.
- the check application management unit 1500 may be requested to do so. Specifically, the check application management unit 1500 displays the check results of all the rows in the attack check result list 1530 having the same content identifier as the content identifier including “ ⁇ ” in the past check results as “ ⁇ ”. It may be.
- all the check results related to the same application identifier as the application identifier that has become “ ⁇ ” may be “ ⁇ ”.
- the check application management unit 1500 displays the check results of all the rows in the attack check result list 1530 having the same application identifier as the application identifier whose past check result includes “ ⁇ ” as “ ⁇ ”. It may be.
- the readability determination unit 1520 may not read the photo data or the like in the case of photo data having the same content identifier as the content identifier including “ ⁇ ” in the past check result. Furthermore, the call from the same caller address as the caller address in which “ ⁇ ” is included in the past check result may not be executed, and the photo data or the like may not be read. In addition to the application identifier, the readability determination unit 1520 may perform the same process on the caller address and the stack pointer value.
- system call management unit 1501 and the file reading management unit 1502 may not exist separately.
- the file reading management unit 1502 may be inside the system call management unit 1501.
- FIG. 9 is a block diagram showing another configuration of the information processing apparatus.
- the information processing apparatus 100A includes an application identification unit 1511, a caller identification unit 1523, an attack check determination unit 1510, and a check application management unit 1500.
- the information processing apparatus 100A has the same effect as the information processing apparatus 100 shown in FIG.
- the information processing apparatus 100A can acquire the application identifier that specifies the application that requested the system call from the application specifying unit 1511.
- the information processing apparatus 100A can acquire the stack pointer and the return address in the execution stack of the application from the caller identification unit 1523 when the application identified by the application identifier requests a system call.
- the attack check determination unit 1510 makes an inquiry to the check application management unit 1500 having the attack check result list 1530
- the information processing apparatus 100A receives a system call request that follows the call path specified by the stack pointer and the return address. Whether or not safety has already been confirmed can be determined.
- the information processing apparatus 100A can process the system call request promptly by omitting the attack check for the system call request that follows the call path whose safety has been confirmed once.
- the readability determination unit 1520 registers the check result “necessary” in the check application management unit 1500.
- the readability determination unit 1520 may determine that the check is not required according to the source of the photo data requested to be read by the application. At this time, not “necessary” but “o” is registered as a check result. Examples of the capture source that the readability determination unit 1520 should determine that the check is unnecessary include a camera 1010 in which an attacker cannot rewrite photo data.
- the readability determination unit 1520 registers the check result “necessary” only when requested to read the photo data captured from a specific capture source. If the source is other than that, “ ⁇ ” is registered as a check result.
- an import source to be checked there is a device that allows an attacker to rewrite photo data, such as a PC. Also, it is possible to check all the photo data captured via a network such as the Internet.
- the system call management unit 1501 uses the attack check determination unit 1510 to determine whether or not the application that requested the system call has been attacked. Only when it is determined that an attack has not occurred, the processing of the requested system call is executed, thereby preventing execution of an unauthorized system call request. At this time, it is determined whether or not the application that requested the system call needs to be checked whether or not the application is attacked, and the check process is executed only when the check is necessary. Speed up processing.
- the display application 1103 requests a system call from the system call management unit 1501 of the information processing apparatus 100 included in the OS 1101 (S1000).
- the system call management unit 1501 uses the application specifying unit 1511 to acquire the identifier of the requested application that is the application that requested the system call (S1001).
- the application specifying unit 1511 acquires the file name of the application stored in the process management structure managed by the OS 1101, and uses the file name as the application identifier.
- the attack check determination unit 1510 included in the system call management unit 1501 determines whether it is necessary to check whether the application that requested the system call is attacked or not.
- the check application management unit 1500 is inquired about the past attack check result (S1002). At this time, the attack check determination unit 1510 notifies the check application management unit 1500 of the application identifier acquired in S1001.
- the check application management unit 1500 acquires a set of data associated with the application identifier notified from the attack check determination unit 1510 as an attack check result from the attack check result list 1530 (S1003).
- the data set associated with the application identifier includes, for example, an application identifier, a content identifier, a caller address, a stack pointer value, and a check result. That is, the data set associated with the application identifier is information included in a row including the same application identifier as the notified application identifier in each row of the attack check result list 1530.
- the check application management unit 1500 notifies the attack check determination unit 1510 of the attack check result acquired in S1003 (S1004).
- the attack check determination unit 1510 included in the system call management unit 1501 determines whether or not the check is necessary based on the received attack check result (S1005). Specifically, if “required” is included in the “check result” column of the received attack check result, it is determined that an attack check is necessary (“required” in S1005), and if not included, an attack is performed. It is determined that the check is unnecessary (“No” in S1005).
- the attack check unit 1512 uses the attack check unit 1512 to check whether the application that requested the system call is attacked (S1006).
- the check method is described in detail in Patent Document 1 or Patent Document 2, for example. Other methods may also be used.
- the system call management unit 1501 requests the check application management unit 1500 to register the check result (S1007).
- the attack check determination unit 1510 has a data set whose check result is “necessary” (that is, an application identifier, a content identifier, a caller address, a stack pointer value, The check application management unit 1500 is notified of the data set in which the check result is rewritten to the result checked in step S1006.
- the check application management unit 1500 reflects the data set received from the attack check determination unit 1510 in the attack check result list 1530 (S1008). Specifically, the check result of the row corresponding to the data set received from the attack check determination unit 1510 among the rows included in the attack check result list 1530 is updated with the received check result.
- the system call management unit 1501 determines the result of the attack check (S1009). Specifically, if the app is not attacked as a result of the attack check in step S1006, “OK” is determined in step S1009, and “NG” is determined if the app is attacked.
- step S1009 the system call management unit 1501 executes the system call processing requested by the application (S1010). Further, the system call management unit 1501 returns the result of the system call processing to the display application 1103 after the system call processing ends.
- step S1009 if the system call management unit 1501 determines “NG” in step S1009, it returns an error to the display application 1103.
- an unnecessary attack check process is performed as to whether or not an application is attacked by the information processing apparatus 100 performing the above-described check necessity determination process during the system call process. Can be omitted. Therefore, the information processing apparatus 100 according to the present embodiment can speed up the processing performed by the OS 1101 when requesting a system call.
- check necessity determination process it is necessary for the file reading management unit 1502 to perform attack check processing before (1) determining whether the file may be read and (2) system call processing after the file reading processing before the file reading processing.
- check necessity determination process the check process is performed only when it is determined that the file reading process needs to be checked. As a result, it is possible to prevent illegal file reading and to prevent the attacker from expanding the attack.
- the check process can be omitted, and the process by the OS 1101 when a system call is requested can be accelerated.
- the display application 1103 requests the system call management unit 1501 to read the file (S1100).
- the attack check determination unit 1510 provided in the system call management unit 1501 determines whether or not it is necessary to check whether the display application 1103 is attacked by the check necessity determination process shown in FIG. 10 (S1101). In the check necessity determination process, when it is determined that the system call process is to be performed (“OK” in S1009 in FIG. 10), the system call management unit 1501 requests the file reading management unit 1502 to perform the file reading process ( S1102).
- the file reading management unit 1502 uses the content specifying unit 1521 to acquire a content identifier that is an identifier of the content requested to be read (S1103).
- the content specifying unit 1521 acquires the file name of the photo data stored in the file identifier notified at the time of the read request, and uses this file name as the content identifier.
- the file reading management unit 1502 uses the application specifying unit 1522 to acquire the application identifier of the application that has requested reading (S1104).
- the application specifying unit 1522 acquires the file name of the application stored in the process management structure managed by the OS 1101, and uses the file name as the application identifier.
- the file read management unit 1502 uses the caller identification unit 1523 to acquire data for identifying the caller who called the file read request (S1105).
- the application execution code address return address
- the stack pointer value the data for identifying the caller To do.
- the file reading management unit 1502 requests the check application management unit 1500 to acquire the attack check result from the attack check result list 1530 (S1106). At this time, the file reading management unit 1502 notifies the check application management unit 1500 of the application identifier, the content identifier, the caller address, and the stack pointer value.
- the check application management unit 1500 confirms whether the check results corresponding to all of the application identifier, content identifier, caller address, and stack pointer value received from the file read management unit 1502 exist in the attack check result list 1530. To do. If the check application management unit 1500 exists, the check application management unit 1500 acquires the result (S1107). Thereafter, the check application management unit 1500 returns the acquired check result to the file reading management unit 1502. If the check result does not exist, information indicating that it does not exist is notified (S1108).
- the file reading management unit 1502 determines whether the file can be read using the check result received from the check application management unit 1500 (S1109). When the received check result is “ ⁇ ” or information indicating that the check result does not exist, the file reading management unit 1502 determines “OK”. On the other hand, if the received check result is “ ⁇ ”, it is determined as “No”.
- step S1109 the file reading management unit 1502 determines whether it is necessary to check whether or not the application that has requested the file reading is attacked (S1110). Specifically, if the check result received in step S1108 is information indicating that no check result exists, the file reading management unit 1502 determines “necessary” in step S1110. If the received check result is “ ⁇ ”, “No” is determined in step S1110.
- the file reading management unit 1502 determines “necessary” in step S1110, the file reading management unit 1502 requests the check application management unit 1500 to register that an application attack check is necessary (S1111). At this time, the file reading management unit 1502 notifies the check application management unit 1500 of the application identifier, the content identifier, the caller address, and the stack pointer value.
- the check application management unit 1500 adds the application identifier, content identifier, caller address, and stack pointer value received from the file read management unit 1502 to the attack check result list 1530. Further, the corresponding check result is set to “necessary” (S1112).
- the file reading management unit 1502 performs a file reading process when it is determined as “No” in step S1110 and after the process of step S1112 (S1113).
- the attack check result list 1530, the content A 1222, and the content B 1223 are stored in the nonvolatile storage device 1220
- the present invention is not limited to this.
- it may be stored in a protected memory (not shown) inside the system LSI or a tamper-resistant nonvolatile storage device (not shown).
- the content A 1222 and the content B 1223 are stored in the nonvolatile storage device 1220 (see FIG. 3), checked by the attack check unit 1512, and then protected by the protected memory or It may be stored in a tampered nonvolatile storage device.
- the check application management unit 1500 deletes the check result corresponding to the application identifier of the updated / deleted application from the attack check result list 1530. May be.
- the reading process can be performed.
- attack check processing can be performed again.
- the check application management unit 1500 may delete the check result regarding the content identifier of the updated / deleted photo data from the attack check result list 1530. This makes it possible to detect when the photo data has been updated to content with an unauthorized program added. On the other hand, when the content with an unauthorized program is updated to normal photo data, the photo can be displayed.
- information processing apparatus 100A executes one or more programs having an application identifier that is a unique identifier.
- the information processing apparatus 100A acquires an application identifier to identify an application (that is, a program being executed in the information processing apparatus 100A), and the identified application is a function such as a system call ( That is, when calling the program code), the caller specifying unit 1523 for specifying the caller that indicates which part of the application (that is, which part of the program) the function is called, and the specified program are executed.
- the check application management unit 1500 that manages the check results, which are information including the results of checking the security against the past, and the specified application (program) is attacked based on the specified caller and the check result Attack check to determine whether or not to check And a click determining portion 1510.
- the content storage / display apparatus 1001 further includes an attack check unit 1512 that checks whether the identified application is attacked, and the attack check determination unit 1510 includes the attack check determination unit 1510 for the identified application. On the other hand, when it is determined that an attack check is to be performed, it is checked whether or not the identified application is attacked.
- the caller identification unit 1523 identifies the caller using a return address that is an address in memory indicating a return destination for returning execution processing to the identified application after calling a function from the identified application. .
- the caller identification unit 1523 may identify the caller using the value of the stack pointer of the call stack used by the identified application and the return address when a function is called from the identified application. .
- the check application management unit 1500 determines (A) information indicating a result of checking whether or not the identified program is attacked, and (B) whether or not the identified program is attacked. Information including both of the information indicating whether the check to be performed is necessary may be stored as a check result in association with the application identifier and the caller included in the identified program.
- the attack check determination unit 1510 is information associated with the application identifier and the caller, and information indicating that it is necessary to check whether the application specified by the application identifier is attacked.
- the check application management unit 1500 it is determined that the check is to be performed, and when it is not stored, it is determined that the check is not to be performed.
- the attack check determination unit 1510 acquires the check result associated with the application identifier of the specified program and stored in the check application management unit 1500, and (A) the acquired check result is specified. If it indicates that the program is not attacked or the specified program is attacked, it is determined not to check whether the program is attacked, and (B) the acquired check result is attacked. If it is shown that a check for determining whether or not the attack is necessary is necessary, it may be determined that the attack check unit checks whether or not the attack is being performed.
- a content specifying unit 1521 for specifying a data file to be read by the specified application by calling a function using a content identifier that is an identifier indicating the data file, and whether the specified data file is read
- a readability determination unit 1520 that determines whether or not.
- the readability determination unit 1520 determines that (A) the check result associated with the content identifier, the application identifier, and the caller is not stored in the check application management unit 1500, or (B) the content When the check result associated with the identifier, the application identifier, and the caller is stored in the check application management unit 1500 and the check result indicates that the identified application is not attacked Determines that the specified data file is read, (C) the check result associated with the content identifier, the application identifier, and the caller is stored in the check application management unit 1500, and If the check results indicate that the identified app was previously attacked, the identified data It may be determined that does not read the file.
- the read permission determination unit 1520 specifies the application identifier.
- Information indicating that a check for determining whether or not an application to be attacked is necessary may be stored in the check application management unit 1500 in association with the content identifier, the application identifier, and the caller. Good.
- the check app management unit 1500 is associated with the app identifier of the deleted or updated app among the check results stored as the attack check result list 1535.
- the stored record of check results may be deleted.
- the check application management unit 1500 may delete the check result stored in association with the content identifier indicating the changed data file.
- the attack check process is omitted when processing a system call from an application whose safety (not attacked) has been confirmed once. Can do.
- a file read occurs in a system call, it is possible to stop reading a file that was attacked previously. As a result, it is possible to improve the responsiveness of system call processing while maintaining safety.
- FIG. 12 is a configuration diagram of an information processing device 100B according to Embodiment 2 of the present invention.
- the system call management unit 1501A includes an attack check determination unit 1510, an application identification unit 1511, an attack check unit 1512, and a caller identification unit 1523.
- the attack check determination unit 1510 determines whether it is necessary to check whether or not the application that requested the system call has been attacked.
- the attack check determination unit 1510 acquires an application identifier from the application specifying unit 1511 and acquires a caller address and a stack pointer value from the caller specifying unit 1523.
- the attack check determination unit 1510 checks whether there is data that matches the specified application identifier, caller address, and stack pointer value in the later-described attack check result list via the check application management unit 1500.
- the attack check determination unit 1510 performs an attack check using the attack check unit 1512 when there is no matching data. On the other hand, if there is matching data, the attack check is not performed.
- FIG. 13 shows an example of the attack check result list 1535.
- the attack check result list 1535 includes an application identifier, a caller address, a stack pointer value, and a check result.
- the check result stores only “O” or “X” indicating the check result of whether or not an attack has occurred.
- the application specifying unit 1511, the attack checking unit 1512, and the caller specifying unit 1523 are the same as those in the first embodiment of the present invention.
- system call management unit 1501A specifies an application identifier, a caller address, and a stack pointer value in the attack check result acquisition process in step S1204.
- the attack check result is acquired from the check application management unit 1500.
- the attack check result list 1535 includes a line including the specified application identifier, caller address, and stack pointer value
- the check application management unit 1500 checks the corresponding line. Returns the result (“ ⁇ ” or “ ⁇ ”).
- the check application management unit 1500 replaces “O” or “X” as the check result, Information indicating that the check result does not exist is returned.
- the check application management unit 1500 determines “necessary” when the received check result is information indicating that the check result does not exist in the check necessity determination in step S1206. If it is “ ⁇ ”, it is determined as “No”. If it is “x”, it is determined as “NG”.
- step S1206 when it is determined as “necessary” in step S1206, the system call management unit 1501A performs an attack check process (S1006) and a result registration process (S1108). Further, a check result determination process (S1009) is performed.
- step S1206 the system call management unit 1501A performs a check result determination process (S1009).
- system call management unit 1501A returns an error to the called display application 1103 when it is determined “NG” in step S1206.
- the information processing apparatus does not generate and manage the attack check result list 1530 in its own device like the information processing apparatus 100B according to the second embodiment of the present invention, but from other devices.
- the attack check result list 1530 is acquired.
- FIG. 15 is a configuration diagram of a content storage / display system 1000A according to Embodiment 3 of the present invention.
- the content storage / display system 1000A includes content storage / display devices 1001A and 1002A, a camera 1010, a PC 1011, and an update server 1020.
- Content storage / display device 1001A is connected to content storage / display device 1002A via a network.
- the content storage / display device 1001A transmits the photo data stored in its own device to the content storage / display device 1002A. At this time, the content storage / display device 1001A transmits the attack check result list 1535 together with the photo data.
- the content storage / display device 1002A is connected to the content storage / display device 1001A via a network.
- the content storage / display device 1002A displays the photo data received from the content storage / display device 1001A
- the content storage / display device 1002A refers to the attack check result list 1535 received from the content storage / display device 1001A. Display data only.
- Content storage / display device 1001A and content storage / display device 1002A have the same functions as content storage / display device 1001 according to Embodiment 1 of the present invention except for the above.
- the content storage / display devices 1001A and 1002A, the camera 1010, the PC 1011 and the update server 1020 are the same as in the first and second embodiments of the present invention.
- FIG. 16 is a configuration diagram of a content storage / display device 1001A and an information processing device 100C included in the content storage / display device 1002A according to Embodiment 3 of the present invention.
- the information processing apparatus 100C included in the content storage / display apparatus 1002A includes an attack check determination unit 1510, an application identification unit 1511, and a caller identification unit 1523. Further, the information processing apparatus 100D included in the content storage / display apparatus 1001A includes a check application management unit 1500A and an attack check result list 1535.
- the attack check determination unit 1510 determines whether it is necessary to check whether or not the application that requested the system call has been attacked.
- the attack check determination unit 1510 acquires an application identifier from the application specifying unit 1511 and acquires a caller address and a stack pointer value from the caller specifying unit 1523.
- the attack check determination unit 1510 acquires the attack check result list 1535 that the check application management unit 1500A has via the check application management unit 1500. Thereafter, it is confirmed whether or not the acquired attack check result list 1535 includes data (row) in which the application identifier, the caller address, and the stack pointer value all match.
- the check application management unit 1500 included in the information processing apparatus 100C according to Embodiment 3 of the present invention stores the check result in an information processing apparatus 100D different from the information processing apparatus C including the check application management unit 1500. It may be. Further, the check application management unit 1500 sends the check result to at least one of the information processing device 100C including the check application management unit 1500 and the information processing device 100D different from the information processing device 100C including the check application management unit. You may remember.
- the check necessity determination process performed by the information processing apparatus 100C included in the content storage / display apparatus 1002A according to Embodiment 3 of the present invention is largely the same as the check necessity determination process (FIG. 14) according to Embodiment 2 of the present invention.
- the part is the same process. Therefore, with reference to FIG. 17, it demonstrates centering on the part from which a process differs. Note that the processing of the information processing apparatus 100D included in the content storage / display apparatus 1001A according to the present embodiment is the same as that of the second embodiment, and thus the description thereof is omitted.
- information processing apparatus 100C included in content storage / display apparatus 1002A specifies an application identifier, a caller address, and a stack pointer value in an attack check result acquisition process. To do. Also, a check result that matches the specified application identifier or the like is acquired from the check application management unit 1500A of the information processing apparatus 100D connected via the network via the information processing apparatus 100C (S1204).
- the check application management unit 1500A included in the content storage / display device 1001A refers to the attack check result list 1535.
- the check application management unit 1500A when there is no line in the attack check result list 1535 that matches the specified combination of application identifiers or the like, instead of “o” or “x” as the check result, For example, a result “check result does not exist” is returned.
- the attack check determination unit 1510 determines “OK” in step S1009 when the received check result is “ ⁇ ”. If the check result is “x” or “the check result does not exist”, “NG” is determined in step S1009 (S1009).
- step S1009 the information processing apparatus 100C performs system call processing (S1010). On the other hand, if “NG” is determined in step S1009, an error is returned to the application that called the system call.
- the information processing apparatus 100C included in the content storage / display apparatus 1002A may not perform the attack check process, but is not limited thereto.
- the information processing device 100C provided in the content storage / display device 1002A is the same as in the first and second embodiments of the present invention. May be combined such that the attack check process is performed, while the photograph data received from the content storage / display device 1001A is not subjected to the attack check process.
- the present invention is not limited to this.
- the content and attack check result list may be shared between two or more arbitrary content storage / display devices.
- the content storage / display device 1002A may further share photo data with a third content storage / display device other than the content storage / display device 1001A.
- the content storage / display device 1002A combines the attack check result list 1535 acquired from the content storage / display device 1001A with the attack check result list acquired from the third content storage / display device 1001A. It may be used and managed as a check result list.
- the information processing apparatus 100C included in the content storage / display apparatus 1002A does not necessarily acquire the attack check result list 1535 every time a system call is issued in step S1204.
- the attack check result list 1535 may be acquired at the same time when the content storage / display device 1002A receives content such as a photo from the content storage / display device 1001A.
- the content storage / display device has been described as a specific example of the device having the information processing device.
- the target to which the information processing device according to the present invention is applied is The display device is not limited.
- the present invention may be applied to a content display device that does not accumulate content to be displayed but temporarily acquires it from an external storage and displays it.
- the content storage / display device 1002A performs an attack when (A) photo data is received from another device (for example, the content storage / display device 1001A).
- another device for example, the content storage / display device 1001A
- the storage / display device 1002A itself does not need to perform the attack check process. As a result, the responsiveness of system call processing can be greatly improved.
- the content identifier in the above embodiment is the file name of the photo data file, it is not limited to this.
- a combination of a file name and a file size, a hash value of photo data, or an identifier embedded in photo data may be used.
- the photo data may include a plurality of photos in one file like a database instead of a file.
- the attack check process in the first to third embodiments is a process for checking whether the return address is an address of the stack area, but is not limited to this.
- a special value called “canary” may be placed between the local variable area of the stack and the return address, and the value of “canary” may be checked at the end of the function.
- the information processing device 100C when the photograph data uniquely collected by the content storage / display device 1002A is read, the information processing device 100C is similar to the first embodiment and the second embodiment of the present invention.
- the attack check process may be performed.
- the information processing apparatus 100C may combine the photographic data received from the content storage / display apparatus 1001A so that the attack check process is not performed.
- the information processing apparatus 100C reads the photo data received from the content storage / display apparatus 1001A using an app that checks the “canary” value when reading the photo data independently collected by the content storage / display apparatus 1002A. In this case, an application that does not check the “canary” value may be used.
- the attack check process is executed before the system call process when the system call is requested.
- processing may be performed in parallel with system call processing.
- the information processing apparatus may request only the attack check process, and the actual process may be performed in the background where the application operates.
- the check necessity determination process and the file reading process in the first to third embodiments are started when the user selects photo data, but the present invention is not limited to this. .
- the photo data reading process is performed in the background, so that the attack check result list before the user displays the photo 1530 and 1535 may be created.
- each of the above devices is a computer system including a microprocessor, a ROM (Read Only Memory), a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
- a computer program is stored in the RAM or the hard disk unit.
- Each device achieves its functions by the microprocessor operating according to the computer program.
- the computer program is configured by combining a plurality of instruction codes indicating instructions for the computer in order to achieve a predetermined function.
- a part or all of the components constituting each of the above devices may be configured by one system LSI (Large Scale Integration).
- the system LSI is a super multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, a computer system including a microprocessor, a ROM, a RAM, and the like. .
- a computer program is stored in the RAM.
- the system LSI achieves its functions by the microprocessor operating according to the computer program.
- each part of the constituent elements constituting each of the above devices may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
- the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration. Further, the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible.
- An FPGA Field Programmable Gate Array
- a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
- a part or all of the constituent elements constituting each of the above devices may be constituted by an IC card or a single module that can be attached to and detached from each device.
- the IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like.
- the IC card or the module may include the super multifunctional LSI described above.
- the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
- the present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of the computer program.
- the present invention also provides a computer-readable recording medium such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray ( (Registered trademark) Disc), or recorded in a semiconductor memory or the like.
- the digital signal may be recorded on these recording media.
- the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.
- the present invention may be a computer system including a microprocessor and a memory, the memory storing the computer program, and the microprocessor operating according to the computer program.
- the program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like, and is executed by another independent computer system. It is good.
- the present invention can be applied to an information processing apparatus that can prevent information leakage.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明の実施の形態1に係る情報処理装置は、カメラやPCなどの機器から写真データを取り込み、蓄積し、ユーザの要求に応じて、写真データを表示するコンテンツ蓄積・表示装置である。
図1は、本発明の実施の形態1におけるコンテンツ蓄積・表示システム1000の構成図である。
図2は、本発明の実施の形態1におけるコンテンツ蓄積・表示装置1001のソフトウェア構成図である。
図3は、本発明の実施の形態1におけるコンテンツ蓄積・表示装置1001のハードウェア構成図である。
図4は、本発明の実施の形態1における更新サーバ1020の構成図である。
攻撃チェック処理(すなわち、アプリが攻撃されているか否かを判定する処理)は、攻撃される前には実施する必要がなく、攻撃された後に実施する必要がある。つまり、攻撃される可能性のあるタイミングが分かれば、その直後に攻撃チェック処理を実施すればよいことになる。なぜなら、攻撃された後、すなわち、実行中のアプリが使用するコールスタック上で不正なプログラムが動作している状態でなければ、攻撃されているか否かを判定することは困難なためである。よって、攻撃された直後に、攻撃チェック処理を実施できることが望ましい。
図6は、本発明の実施の形態1におけるOS1101が有する情報処理装置100の構成図である。
システムコール管理部1501は、システムコールを要求したアプリが攻撃されているかどうかを、攻撃チェック判定部1510を用いて判定する。攻撃されていないと判定した場合にのみ、要求されたシステムコールの処理を実行することで、不正なシステムコール要求の実行を防止する。この時、システムコールを要求したアプリに対して、そのアプリが攻撃されているかどうかのチェックが必要か判定し、チェックが必要な場合のみチェック処理を実行することで、システムコール要求時のOS1101による処理を高速化する。
次に、ファイル読み込みを伴うシステムコールが要求された場合における、ファイル読み込み管理部1502が行う処理について説明する。
本発明の実施の形態1では、ファイル読み込み管理部1502でアプリのチェックを実施するかを判定し、その判定結果に基づいてシステムコール管理部1501が攻撃チェック処理を行った。実施の形態2では、システムコール管理部1501がアプリのチェック実施の判定と、攻撃チェック処理を行う構成について説明する。
図12は、本発明の実施の形態2に係る情報処理装置100Bの構成図である。
本発明の実施の形態2に係るチェック要否判定処理は、本発明の実施の形態1に係るチェック要否判定処理(図10、図11)と一部は同じ処理となる。処理の異なる部分を中心に説明する。
本発明の実施の形態3に係る情報処理装置は、本発明の実施の形態2に係る情報処理装置100Bのように攻撃チェック結果リスト1530を自機器内で生成及び管理せず、他の機器から攻撃チェック結果リスト1530を取得する。
図15は、本発明の実施の形態3におけるコンテンツ蓄積・表示システム1000Aの構成図である。
図16は、本発明の実施の形態3に係るコンテンツ蓄積・表示装置1001A、及びコンテンツ蓄積・表示装置1002Aが備える情報処理装置100Cの構成図である。
本発明の実施の形態3に係るコンテンツ蓄積・表示装置1002Aが備える情報処理装置100Cが行うチェック要否判定処理は、本発明の実施の形態2に係るチェック要否判定処理(図14)と大部分は同じ処理となる。よって、図17を参照して、処理の異なる部分を中心に説明する。なお、本実施の形態に係るコンテンツ蓄積・表示装置1001Aが備える情報処理装置100Dの処理は、実施の形態2と同様であるため、説明を省略する。
101 タスク
102 データ領域
103 システムコールテーブル
104 正当性検証部
105 システムコール
106 命令実行部
107、1101 OS
112 攻撃対策部
1000、1000A コンテンツ蓄積・表示システム
1001、1001A、1002A コンテンツ蓄積・表示装置
1010 カメラ
1011 PC
1020 更新サーバ
1030 記録ディスク
1102 コンテンツ収集アプリ
1103 表示アプリ
1104 編集アプリ
1105 管理アプリ
1200 システムLSI
1201 CPU
1202 カードI/F
1203 ネットワークI/F
1204 入出力I/F
1210 メモリ
1220 不揮発性記憶装置
1221 呼び出し元チェック結果表
1222 コンテンツA
1223 コンテンツB
1300 更新処理受付部
1301 更新用ソフトウェア保持部
1500、1500A チェックアプリ管理部
1501、1501A システムコール管理部
1502 ファイル読み込み管理部
1510 攻撃チェック判定部
1511、1522 アプリ特定部
1512 攻撃チェック部
1520 読み込み可否判定部
1521 コンテンツ特定部
1523 呼び出し元特定部
1530、1535 攻撃チェック結果リスト
1531 要チェックアプリリスト
1560 main関数
1561 サムネイル取得関数
1562 データ本体取得関数
1563 read関数
Claims (15)
- 一意な識別子であるアプリ識別子を有する1以上のプログラムを実行する情報処理装置であって、
前記アプリ識別子を取得することにより前記情報処理装置において実行中のプログラムを特定するアプリ特定部と、
前記特定されたプログラムが、プログラムコードの呼び出し時に、前記プログラムのどの部分から前記プログラムコードを呼び出したかを示す呼び出し元を特定する呼び出し元特定部と、
前記特定されたプログラムを実行することに対する安全性について過去にチェックした結果を含む情報であるチェック結果を管理するチェックアプリ管理部と、
前記特定された呼び出し元と前記チェック結果とに基づいて、前記特定されたプログラムが攻撃されているかのチェックを行うか否かを判定する攻撃チェック判定部とを備える
情報処理装置。 - 前記情報処理装置は、さらに、
前記特定されたプログラムが攻撃されているかをチェックする攻撃チェック部を備えており、
前記攻撃チェック部は、前記攻撃チェック判定部が、前記特定されたプログラムに対して攻撃チェックを行うと判定した場合には、前記特定されたプログラムが攻撃されているか否かをチェックする
請求項1に記載の情報処理装置。 - 前記呼び出し元特定部は、前記特定されたプログラムから前記プログラムコードを呼び出した後に前記特定されたプログラムへ実行処理を戻すための戻し先を示すメモリ内のアドレスであるリターンアドレスを用いて、前記呼び出し元を特定する
請求項2に記載の情報処理装置。 - 前記呼び出し元特定部は、前記特定されたプログラムから前記プログラムコードを呼び出した場合に前記特定されたプログラムが使用するコールスタックのスタックポインタの値と、前記リターンアドレスとを用いて前記呼び出し元を特定する
請求項3に記載の情報処理装置。 - 前記チェックアプリ管理部は、(A)前記特定されたプログラムが攻撃されているか否かをチェックした結果を示す情報、及び、(B)前記特定されたプログラムが、攻撃されているか否かを判定するチェックが必要であるかを示す情報、の両方を含む情報を前記チェック結果として、前記特定されたプログラムが有する前記アプリ識別子と前記呼び出し元とに対応付けて記憶している
請求項3又は4に記載の情報処理装置。 - 前記攻撃チェック判定部は、前記特定されたプログラムが有するアプリ識別子に対応付けられて前記チェックアプリ管理部に記憶されている前記チェック結果を取得し、
(A)取得した前記チェック結果が、前記特定されたプログラムが攻撃されていないこと、又は、前記特定されたプログラムが攻撃されていることを表す場合には、攻撃されているかのチェックを行わないと判定し、
(B)取得した前記チェック結果が、攻撃されているか否かを判定するチェックが必要であることを表す場合には、攻撃チェック部による攻撃がされているかのチェックを行うと判定する
請求項5に記載の情報処理装置。 - さらに、前記特定されたプログラムが前記プログラムコードを呼び出すことにより読み込もうとしているデータファイルを、前記データファイルを示す識別子であるコンテンツ識別子を用いて特定するコンテンツ特定部と、
前記特定されたデータファイルを読み込むか否かを判定する読み込み可否判定部とを備え、
前記読み込み可否判定部は、
(A)前記コンテンツ識別子と、前記アプリ識別子と、前記呼び出し元とに対応付けられた前記チェック結果が、前記チェックアプリ管理部に記憶されていないか、又は、(B)前記コンテンツ識別子と、前記アプリ識別子と、前記呼び出し元とに対応付けられた前記チェック結果が、前記チェックアプリ管理部に記憶されており、かつ、前記チェック結果が、前記特定されたプログラムが攻撃されていないことを示す場合には、前記特定されたデータファイルを読み込むと判定し、
(C)前記コンテンツ識別子と、前記アプリ識別子と、前記呼び出し元とに対応付けられている前記チェック結果が、前記チェックアプリ管理部に記憶されており、かつ、前記チェック結果が、前記特定されたプログラムが以前に攻撃されたことを示す場合には、前記特定されたデータファイルを読み込まないと判定する
請求項5に記載の情報処理装置。 - 前記読み込み可否判定部は、
前記コンテンツ識別子と、前記アプリ識別子と、前記呼び出し元とに対応付けられた前記チェック結果が、前記チェックアプリ管理部に記憶されていない場合には、前記アプリ識別子で特定されるプログラムが、攻撃されているか否かを判定するチェックが必要であることを示す情報を、前記コンテンツ識別子と、前記アプリ識別子と、前記呼び出し元とに対応付けて前記チェックアプリ管理部に記憶させる
請求項7に記載の情報処理装置。 - 前記チェックアプリ管理部は、前記プログラムが削除又は更新された場合には、削除又は更新された前記プログラムが有するアプリ識別子に対応づけられて記憶されているチェック結果を削除する
請求項5に記載の情報処理装置。 - 前記チェックアプリ管理部は、前記チェック結果を、当該チェックアプリ管理部を備える前記情報処理装置、及び、当該チェックアプリ管理部を備える前記情報処理装置とは異なる情報処理装置の少なくとも一方に記憶している
請求項1に記載の情報処理装置。 - 前記チェックアプリ管理部は、前記特定されたデータファイルが変更された場合には、当該変更されたデータファイルを示すコンテンツ識別子に対応づけられて記憶されているチェック結果を削除する
請求項7に記載の情報処理装置。 - 一意な識別子であるアプリ識別子を有する1以上のプログラムを実行する情報処理方法であって、
前記アプリ識別子を取得することにより前記情報処理方法によって実行中のプログラムを特定するアプリ特定ステップと、
前記特定されたプログラムが、プログラムコードの呼び出し時に、前記プログラムのどの部分から前記プログラムコードを呼び出したかを示す呼び出し元を特定する呼び出し元特定ステップと、
前記特定されたプログラムを実行することに対する安全性について過去にチェックした結果を含む情報であるチェック結果を管理するチェックアプリ管理ステップと、
前記特定された呼び出し元と前記チェック結果とに基づいて、前記特定されたプログラムが攻撃されているかのチェックを行うか否かを判定する攻撃チェック判定ステップとを含む
情報処理方法。 - 請求項12に記載の情報処理方法をコンピュータに実行させる
プログラム。 - 請求項13に記載のプログラムを記録した
コンピュータ読み取り可能な記録媒体。 - 一意な識別子であるアプリ識別子を有する1以上のプログラムを実行する集積回路であって、
前記アプリ識別子を取得することにより前記集積回路において実行中のプログラムを特定するアプリ特定部と、
前記特定されたプログラムが、プログラムコードの呼び出し時に、前記プログラムのどの部分から前記プログラムコードを呼び出したかを示す呼び出し元を特定する呼び出し元特定部と、
前記特定されたプログラムを実行することに対する安全性について過去にチェックした結果を含む情報であるチェック結果を管理するチェックアプリ管理部と、
前記特定された呼び出し元と前記チェック結果とに基づいて、前記特定されたプログラムが攻撃されているかのチェックを行うか否かを判定する攻撃チェック判定部とを備える
集積回路。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/574,787 US20120297485A1 (en) | 2010-12-08 | 2011-11-29 | Information processing device and information processing method |
| EP11847025.1A EP2650809B1 (en) | 2010-12-08 | 2011-11-29 | Information processing device and information processing method |
| CN2011800071783A CN102725763A (zh) | 2010-12-08 | 2011-11-29 | 信息处理装置及信息处理方法 |
| JP2012505930A JP5954666B2 (ja) | 2010-12-08 | 2011-11-29 | 情報処理装置、及び、情報処理方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010274112 | 2010-12-08 | ||
| JP2010-274112 | 2010-12-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012077300A1 true WO2012077300A1 (ja) | 2012-06-14 |
Family
ID=46206812
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2011/006668 Ceased WO2012077300A1 (ja) | 2010-12-08 | 2011-11-29 | 情報処理装置、及び、情報処理方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20120297485A1 (ja) |
| EP (1) | EP2650809B1 (ja) |
| JP (1) | JP5954666B2 (ja) |
| CN (1) | CN102725763A (ja) |
| WO (1) | WO2012077300A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015141718A (ja) * | 2014-01-27 | 2015-08-03 | イグルー セキュリティ,インク. | プログラムの脆弱点を用いた攻撃の探知装置および方法 |
| JP2016038745A (ja) * | 2014-08-07 | 2016-03-22 | パナソニックIpマネジメント株式会社 | 決済処理装置 |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7673135B2 (en) | 2005-12-08 | 2010-03-02 | Microsoft Corporation | Request authentication token |
| US9191405B2 (en) * | 2012-01-30 | 2015-11-17 | Microsoft Technology Licensing, Llc | Dynamic cross-site request forgery protection in a web-based client application |
| US9177147B2 (en) | 2012-09-28 | 2015-11-03 | Intel Corporation | Protection against return oriented programming attacks |
| US9223979B2 (en) | 2012-10-31 | 2015-12-29 | Intel Corporation | Detection of return oriented programming attacks |
| CN103150513B (zh) * | 2013-03-20 | 2015-12-09 | 北京奇虎科技有限公司 | 拦截应用程序中的植入信息的方法及装置 |
| CN107209834B (zh) * | 2015-02-04 | 2020-07-07 | 日本电信电话株式会社 | 恶意通信模式提取装置及其系统和方法、记录介质 |
| US11616719B2 (en) * | 2015-10-23 | 2023-03-28 | Netflix, Inc | Techniques for determining client-side effects of server-side behavior using canary analysis |
| US10268601B2 (en) * | 2016-06-17 | 2019-04-23 | Massachusetts Institute Of Technology | Timely randomized memory protection |
| US10437990B2 (en) | 2016-09-30 | 2019-10-08 | Mcafee, Llc | Detection of return oriented programming attacks in a processor |
| CN106650355B (zh) * | 2016-12-08 | 2020-04-10 | 武汉斗鱼网络科技有限公司 | 一种保护函数调用的方法及装置 |
| US10073767B2 (en) * | 2017-01-18 | 2018-09-11 | Pivotal Software, Inc. | Trace Management |
| CN108256989B (zh) * | 2017-04-06 | 2020-09-04 | 平安科技(深圳)有限公司 | 准备金系统的数据显示方法及系统 |
| US10540523B2 (en) | 2017-04-26 | 2020-01-21 | International Business Machines Corporation | Comprehensive system wide cross-reference mechanism using runtime data collection |
| US10650156B2 (en) * | 2017-04-26 | 2020-05-12 | International Business Machines Corporation | Environmental security controls to prevent unauthorized access to files, programs, and objects |
| US11392686B2 (en) * | 2018-01-02 | 2022-07-19 | Blackberry Limited | Detecting stack cookie utilization in a binary software component using binary static analysis |
| US11106491B2 (en) * | 2018-04-06 | 2021-08-31 | Beijing Didi Infinity Technology And Development Co., Ltd. | Method and system for kernel routine callbacks |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004126854A (ja) | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 攻撃対策装置 |
| JP2009199529A (ja) | 2008-02-25 | 2009-09-03 | Fourteenforty Research Institute Inc | 情報機器、プログラム及び不正なプログラムコードの実行防止方法 |
| JP2010097594A (ja) * | 2008-09-22 | 2010-04-30 | Ntt Docomo Inc | Api検査装置及び状態監視装置 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100430147B1 (ko) * | 2000-03-15 | 2004-05-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 액세스 제어 |
| US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
| JP2006031363A (ja) * | 2004-07-15 | 2006-02-02 | Mitsubishi Research Institute Inc | バッファオーバーフロー脆弱性検出プログラム及びバッファオーバーフロー脆弱性検出方法 |
| JP2006065689A (ja) * | 2004-08-27 | 2006-03-09 | Ntt Docomo Inc | 秘密情報保護装置、伝播規則導出装置及び秘密情報保護方法 |
| US7779269B2 (en) * | 2004-09-21 | 2010-08-17 | Ciena Corporation | Technique for preventing illegal invocation of software programs |
| JP2006172003A (ja) * | 2004-12-14 | 2006-06-29 | Ntt Docomo Inc | プログラム実行監視装置、プログラム実行監視方法及びプログラム作成方法 |
| TWI335531B (en) * | 2006-12-13 | 2011-01-01 | Inst Information Industry | Apparatus, method, application program, and computer readable medium thereof for generating and utilizing a feature code to monitor a program |
| US20100325077A1 (en) * | 2007-02-21 | 2010-12-23 | Naoshi Higuchi | Computer, operation rule application method and operating system |
| WO2009015671A1 (en) * | 2007-07-31 | 2009-02-05 | Sony Corporation | Automatically protecting computer systems from attacks that exploit security vulnerabilities |
| US8316448B2 (en) * | 2007-10-26 | 2012-11-20 | Microsoft Corporation | Automatic filter generation and generalization |
| CN100586058C (zh) * | 2007-11-20 | 2010-01-27 | 中国人民解放军信息工程大学 | 基于j2ee中间件规范的容忍入侵应用服务器及容忍入侵方法 |
| US8321949B1 (en) * | 2008-08-29 | 2012-11-27 | Adobe Systems Incorporated | Managing software run in a computing system |
| JP2010102454A (ja) * | 2008-10-22 | 2010-05-06 | Fuji Xerox Co Ltd | 情報処理装置、情報処理プログラム |
| US8875285B2 (en) * | 2010-03-24 | 2014-10-28 | Microsoft Corporation | Executable code validation in a web browser |
-
2011
- 2011-11-29 US US13/574,787 patent/US20120297485A1/en not_active Abandoned
- 2011-11-29 WO PCT/JP2011/006668 patent/WO2012077300A1/ja not_active Ceased
- 2011-11-29 JP JP2012505930A patent/JP5954666B2/ja not_active Expired - Fee Related
- 2011-11-29 EP EP11847025.1A patent/EP2650809B1/en not_active Not-in-force
- 2011-11-29 CN CN2011800071783A patent/CN102725763A/zh active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004126854A (ja) | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 攻撃対策装置 |
| JP2009199529A (ja) | 2008-02-25 | 2009-09-03 | Fourteenforty Research Institute Inc | 情報機器、プログラム及び不正なプログラムコードの実行防止方法 |
| JP2010097594A (ja) * | 2008-09-22 | 2010-04-30 | Ntt Docomo Inc | Api検査装置及び状態監視装置 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP2650809A4 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015141718A (ja) * | 2014-01-27 | 2015-08-03 | イグルー セキュリティ,インク. | プログラムの脆弱点を用いた攻撃の探知装置および方法 |
| JP2016038745A (ja) * | 2014-08-07 | 2016-03-22 | パナソニックIpマネジメント株式会社 | 決済処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2012077300A1 (ja) | 2014-05-19 |
| CN102725763A (zh) | 2012-10-10 |
| EP2650809A1 (en) | 2013-10-16 |
| EP2650809B1 (en) | 2016-11-02 |
| US20120297485A1 (en) | 2012-11-22 |
| EP2650809A4 (en) | 2014-06-11 |
| JP5954666B2 (ja) | 2016-07-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5954666B2 (ja) | 情報処理装置、及び、情報処理方法 | |
| US20170346843A1 (en) | Behavior processing method and device based on application program | |
| CN111898047B (zh) | 一种通过网页监测对网页进行区块链存证的方法及装置 | |
| US20130225148A1 (en) | Terminal with module protection and module managing method | |
| Srivastava et al. | Logical acquisition and analysis of data from android mobile devices | |
| US9946856B1 (en) | On-demand application permissions | |
| CN110134653B (zh) | 一种利用日志辅助数据库审计方法及系统 | |
| AU2025202394A1 (en) | Architecture, Method and Apparatus for Enforcing Collection and Display of Computer File Metadata | |
| CN112231699B (zh) | 读取函数的拦截方法、装置、电子设备和计算机可读介质 | |
| KR101977428B1 (ko) | 애플리케이션용 콘텐츠 핸들링 기법 | |
| Pieterse et al. | Detecting manipulated smartphone data on Android and iOS devices | |
| JP4807289B2 (ja) | 情報処理装置及びファイル処理方法並びにプログラム | |
| JP5828457B2 (ja) | Api実行制御装置およびプログラム | |
| JP2009043154A (ja) | 情報漏洩防止方法及びシステム | |
| CN117807039B (zh) | 一种容器处理方法、装置、设备、介质及程序产品 | |
| CN106557572A (zh) | 一种安卓应用程序文件的提取方法及系统 | |
| KR102212664B1 (ko) | 로그 데이터의 무결성을 보장하는 장치 및 방법 | |
| JP2009271943A (ja) | 監査証跡の記録方法、監査証跡の記録装置および監査証跡を記録するためのプログラム | |
| Troutman et al. | Mobile forensics | |
| KR102926787B1 (ko) | 모바일 장치용 데이터 삭제 시스템에서 수행되는 방법 | |
| CN114281257B (zh) | 一种光盘文件的快速预览方法、计算设备及存储介质 | |
| US20190392133A1 (en) | System and method for producing secure data management software | |
| CN113778913B (zh) | 一种缓存的处理方法、电子设备及计算机存储介质 | |
| CN120470008A (zh) | 一种绑定关系更改方法、装置、存储介质及电子设备 | |
| JP5825595B2 (ja) | Api実行制御装置およびプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 201180007178.3 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2012505930 Country of ref document: JP |
|
| REEP | Request for entry into the european phase |
Ref document number: 2011847025 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 13574787 Country of ref document: US Ref document number: 2011847025 Country of ref document: EP |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11847025 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |