WO2015023144A1 - Method and device for monitoring data integrity in shared memory environment - Google Patents

Method and device for monitoring data integrity in shared memory environment Download PDF

Info

Publication number
WO2015023144A1
WO2015023144A1 PCT/KR2014/007574 KR2014007574W WO2015023144A1 WO 2015023144 A1 WO2015023144 A1 WO 2015023144A1 KR 2014007574 W KR2014007574 W KR 2014007574W WO 2015023144 A1 WO2015023144 A1 WO 2015023144A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
bus
local
access command
local processor
Prior art date
Application number
PCT/KR2014/007574
Other languages
French (fr)
Korean (ko)
Inventor
조한수
강병훈
백윤흥
이승욱
신준범
Original Assignee
삼성전자 주식회사
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사, 서울대학교산학협력단 filed Critical 삼성전자 주식회사
Priority to US14/911,932 priority Critical patent/US10168934B2/en
Priority to EP14836158.7A priority patent/EP3035227B1/en
Publication of WO2015023144A1 publication Critical patent/WO2015023144A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Definitions

  • Embodiments of the present disclosure relate to a snooper based kernel integrity monitoring apparatus and a control method thereof. More specifically, the present invention relates to an integrity monitoring apparatus and memory control method for sharing a memory with a main system in a system on chip environment.
  • SoC System on Chip
  • OS Operating System
  • the addition of the processing processor and memory of the additional device entails an increase in the area of the SoC, thereby increasing the manufacturing cost and increasing the power consumption during system processing.
  • the embodiment of the present specification is proposed to solve the above-mentioned problem, and includes a monitoring device in an SoC environment, through which a data integrity is broken due to an attack of a malicious program and the like, and a corresponding operation is performed.
  • An object of the present invention is to provide an apparatus and a control method which can be used.
  • another embodiment of the present disclosure is to provide a monitoring device and a control method that can reduce the system area and power consumption by sharing the memory with the host system for data integrity monitoring in SoC environment.
  • a memory access method in a memory control unit of an integrity monitor system sharing a memory with a host system comprises the steps of receiving a memory access command from a local processor of the integrity monitor system; Accessing system memory of the host system according to the memory access command; Receiving corresponding data from the host system based on the access command; And transferring the received data to the local processor, wherein the system memory comprises a secure area accessible by the memory controller when a memory access command is received from the local processor.
  • An integrity monitor system apparatus sharing a memory with a host system may include a local processor that controls an operation of the integrity monitor system; And receiving a memory access command from the local processor, accessing a system memory of the host system according to the memory access command, receiving corresponding data from the host system based on the access command, and receiving the received access command. And a memory controller for transmitting one data to the local processor, wherein the system memory includes a secure area accessible by the memory controller when a memory access command is received from the local processor.
  • a method and apparatus for monitoring the integrity of data processed in a host system in an SoC environment are provided.
  • the apparatus for monitoring data integrity in the host system shares a memory with the host system, a method and apparatus for efficiently using the system area and reducing power consumption are provided.
  • the reliability of the integrity monitoring apparatus may be improved by providing a control device for reading and writing a memory.
  • FIG. 1 is a view showing the structure of a system according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram illustrating a structure of a system according to another exemplary embodiment of the present specification.
  • 3A to 3C are diagrams illustrating a connection relationship between memory controllers according to various embodiments of the present disclosure.
  • 4A to 4C are diagrams illustrating signal flows of respective configuration diagrams according to embodiments of the present specification.
  • each block of the flowchart illustrations and combinations of flowchart illustrations may be performed by computer program instructions. Since these computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, those instructions executed through the processor of the computer or other programmable data processing equipment may be described in flow chart block (s). It creates a means to perform the functions. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in the flowchart block (s).
  • Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions for performing the processing equipment may also provide steps for performing the functions described in the flowchart block (s).
  • each block may represent a portion of a module, segment, or code that includes one or more executable instructions for executing a specified logical function (s).
  • logical function e.g., a module, segment, or code that includes one or more executable instructions for executing a specified logical function (s).
  • the functions noted in the blocks may occur out of order.
  • the two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the corresponding function.
  • ' ⁇ part' used in the present embodiment refers to software or a hardware component such as an FPGA or an ASIC, and ' ⁇ part' performs certain roles.
  • ' ⁇ ' is not meant to be limited to software or hardware.
  • ' ⁇ Portion' may be configured to be in an addressable storage medium or may be configured to play one or more processors.
  • ' ⁇ ' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
  • the functionality provided within the components and the 'parts' may be combined into a smaller number of components and the 'parts' or further separated into additional components and the 'parts'.
  • the components and ' ⁇ ' may be implemented to play one or more CPUs in the device or secure multimedia card.
  • FIG. 1 is a view showing the structure of a system according to an embodiment of the present disclosure.
  • a system of the present disclosure may include a host system 150 capable of performing computation and signal transmission and reception, and an integrity monitor system 100 for monitoring the integrity of signals transmitted and received by the host system 150. have.
  • the integrity monitor system 100 may be implemented on the same chip as the host system 150 or may be connected to each other through a separate connection structure.
  • the integrity monitor system 100 of the embodiment may include one or more of a snooper 105, a verification unit 110, a local bus 115, a local memory 120, a local processor 125, and a local bridge 130. Can be.
  • the snooper 105 may be connected to the system bus 165 and may monitor data to and from the system bus 165 through a snooping technique.
  • the verification unit 110 may verify the traffic snooped by the snooper 105 to determine whether the integrity is maintained by an attack such as malicious software.
  • the verification unit 110 may exchange data with other components of the integrity monitor system 100 through the local bus 115.
  • the local memory 120 may read and write one or more of data required by the integrity monitor system 100 during operation and data such as integrity verification result values.
  • the local memory 120 may transmit / receive data with other components of the integrity monitor system 100 via the local bus 115.
  • the local processor 125 may serve as a controller that can control the overall operation of the integrity monitor system 100.
  • the local processor 125 may exchange data with other components of the integrity monitor system 100 through the local bus 115.
  • the local bridge 130 may transmit / receive data with other components of the integrity monitor system 100 through the local bus 115, and may perform an operation of a connection interface that may transmit / receive signals with an external system. .
  • the local bridge 130 may be connected to the system bridge 170 of the host system 150 to perform signal transmission and reception.
  • the host system may include one or more of system memory 155, system processor 160, system bus 165, and system bridge 170.
  • the system memory 155 may store data necessary for the host system 150 to operate, and may read the stored data under the control of the system processor 160.
  • the system memory 155 may exchange data with other components of the host system 150 through the system bus 165.
  • the system processor 160 may serve as a controller for controlling overall operations of the host system 150.
  • the system processor 160 may exchange data with other components of the host system 150 through the system bus 165.
  • the system bridge 170 may transmit / receive data with other components of the host system 150 through the system bus 165 and perform an operation of a connection interface that may transmit / receive a signal with an external system.
  • the system bridge 170 may be connected to the local bridge 130 of the integrity monitor system 100 to perform signal transmission and reception.
  • the integrity monitor system 100 may monitor traffic generated by the host system 150 to monitor the integrity of data included in the traffic.
  • the integrity monitor system 100 may monitor the traffic transmitted and received on the system bus 165 of the host system 150 through the snooper 105.
  • Snooper 105 may monitor traffic to and from the system bus through a snooping method.
  • the integrity monitor system 100 may notify the host system 150 that the integrity of the data is broken. More specifically, the integrity monitor system 100 may inform the system processor 160 that the integrity of the corresponding data is broken through the local bridge 130 via the system bridge 170. The system processor 160 may perform an operation such as reprocessing data whose integrity is broken. As described above, the integrity monitor system 100 monitors the integrity of the traffic traveling on the system bus 165 to perform a more reliable operation.
  • the local bridge 130 is an optional structure, and the system bridge 170 may be connected to the local bus 115 through a direct connection.
  • FIG. 2 is a diagram illustrating a structure of a system according to another exemplary embodiment of the present specification.
  • the integrity monitor system 200 may be implemented on the same chip as the host system 250 or may be connected to each other through a separate connection structure.
  • the embodiment disclosed in FIG. 2 shares the system memory 255 area of the host system 250 with the integrity monitor system 200, and may further include a memory controller 220 for such sharing.
  • Integrity monitoring system 200 of the embodiment may include one or more of the snoop 205, the verification unit 210, the local bus 215, the memory control unit 220 and the local processor 225.
  • the host system 250 may include one or more of a system memory 255, a system processor 260, a system bus 265, and a system bridge 270.
  • the snoop 205 may be connected to the system bus 165 and may monitor data traveling on the system bus 265 through a snooping technique.
  • the verification unit 210 may verify the traffic snooped by the snoop 205 and determine whether integrity is maintained by an attack such as malicious software.
  • the verification unit 210 may transmit / receive data with other components of the integrity monitor system 200 through the local bus 215.
  • the memory controller 220 is a module for sharing the system memory 255 of the host system 250 by the integrity monitor system 200 according to an exemplary embodiment. More specifically, the system memory 255 may be accessed according to control signals of the local processor 225 and the system processor 260 to perform a read or write operation.
  • the memory controller 220 may be connected to one or more of the local bus 215, the local processor 225, the system memory 255, and the system bus 265. One or more of the above connections may be selectively performed, and the detailed description and the connection relationship of the memory controller will be described later.
  • the local processor 225 may serve as a controller for controlling the overall operation of the integrity monitor system 200.
  • the local processor 225 may exchange data with other components of the integrity monitor system 200 through the local bus 215.
  • the local processor 225 may control the memory controller 220 to read data stored in the system memory 255. More specifically, the memory controller 220 may read data stored in the system memory 255 and transfer the data stored in the system memory 255 to the local processor 225 through the system bus 265, the system bridge 270, and the local bus 215.
  • the system bridge 270 may also be an optional configuration.
  • a local bus may be additionally provided between the local bus 215 and the system bridge 270.
  • the host system may include one or more of system memory 255, system processor 260, system bus 265, and system bridge 270.
  • the system memory 255 may include a security area 257 and a system area 259, and each area may store one or more of a program and data.
  • the security area 257 In the case of the security area 257, one or more of programs and data related to the integrity monitor system 200 may be stored.
  • the system memory 255 may be accessed through the memory control unit 220.
  • the security area 257 may be accessed only when access is performed according to the operation of the integrity monitor system 200 through the operation of the memory control unit 220. In this case, kernel independence of the integrity monitor system 200 may be guaranteed even in an environment in which the system memory 255 is shared.
  • the host system 250 is an area accessible by the memory controller 220. More specifically, one or more of programs and data related to the host system 250 may be stored. When the memory controller 220 accesses the system memory 255 according to the request of the host system 250, the memory controller 220 may not access the security area 257, thereby ensuring kernel independence.
  • the security area 257 may be set and changed only by the local processor 255 through the memory controller 220, and the system processor 260 may not perform any operation and access to the security area 257. Can not.
  • the snoop 205 may look at the information on the system bus 265.
  • the verification unit 210 stores the address of the security zone 257, and requests an analysis from the local processor 225 when an attack on the security zone 257 is detected, and the local processor 225 results in the analysis. May be informed to the system processor 260.
  • the security zone 257 may be allocated to the integrity monitor system 200 by the system processor 260, and the memory controller 220, the verification unit 210, and the local processor 225 according to the allocation information. May be determined.
  • the system processor 260 may serve as a controller for controlling the overall operation of the host system 250.
  • the system processor 260 may exchange data with other components of the host system 250 through the system bus 265.
  • the system processor 260 may control the overall operation of the host system 250 except for the security area 257.
  • the system bridge 270 may transmit / receive data with other components of the host system 250 through the system bus 265, and may perform an operation of a connection interface that may transmit / receive a signal with an external system.
  • the system bridge 270 may be connected to the integrity monitor system 200 to perform signal transmission and reception.
  • the integrity monitor system 200 may monitor traffic generated by the host system 250 to monitor the integrity of data included in the traffic.
  • the integrity monitor system 200 may monitor the traffic transmitted and received on the system bus 265 of the host system 250 through the snooper 205.
  • Snooper 205 may monitor traffic to and from the system bus through a snooping method.
  • the integrity monitor system 200 may notify the host system 250 that the integrity of the data is broken. As described above, the integrity monitor system 200 monitors the integrity of the traffic traveling on the system bus 265 to perform a more reliable operation.
  • the configuration and connection relationship of the memory controller 220 will be described below.
  • the memory controller 220 is configured in a form included in the integrity monitor system 200 in an embodiment, it may be located in the host system 200 according to an embodiment.
  • the integrity monitor system 200 may be connected to and operate on the host system.
  • the integrity monitor system 200 is connected to the system memory 255 and the system bus 265.
  • the system memory 255 may be controlled to prevent the connection.
  • 3A to 3C are diagrams illustrating a connection relationship between memory controllers according to various embodiments of the present disclosure.
  • the memory controller 305 of the integrity monitor system may include a memory access unit 310 and a setting unit 315.
  • the memory access unit 310 may be connected to the system memory and the system bus. Based on the control command input to the setting unit, the system memory may be accessed to perform a read or write operation. In addition, one or more programs and data may be received from the system bus to perform a write operation to the system memory, or one or more of programs and data read from the system memory may be transferred to the system bus.
  • the setting unit 315 may control the operation of the memory access unit 310 based on the received control command.
  • the setting unit 315 may be connected to a local bus of the integrity monitor system.
  • the control command may also be received from a local processor of the integrity monitor system.
  • the control command may be received through a local bus. More specifically, when a read or write command is received from the system processor of the host system from the system bus, the memory access unit may be controlled to access the system area on the system memory.
  • the setting unit 315 may control the memory access unit to access the security area on the system memory based on the command.
  • the message received by the setting unit 315 may be received through a local bus.
  • the memory controller 305 of the integrity monitor system may include a memory access unit 310 and a setting unit 315.
  • the memory access unit 310 may be connected to the system memory and the system bus. Based on the control command input to the setting unit, the system memory may be accessed to perform a read or write operation. In addition, one or more programs and data may be received from the system bus to perform a write operation to the system memory, or one or more of programs and data read from the system memory may be transferred to the system bus.
  • the setting unit 315 may control the operation of the memory access unit 310 based on the received control command.
  • the setting unit 315 may be connected to a local processor of the integrity monitor system.
  • the control command may be received from a local processor of the integrity monitor system. More specifically, when a read or write command is received from the system processor of the host system from the system bus, the memory access unit may be controlled to access the system area on the system memory.
  • the setting unit 315 may control the memory access unit to access a security area on the system memory based on the command.
  • the message received by the setting unit 315 may be received through a local bus.
  • the memory controller 305 of the integrity monitor system may include a memory access unit 310 and a setting unit 315.
  • the memory access unit 310 may be connected to the system memory and the system bus. Based on the control command input to the setting unit, the system memory may be accessed to perform a read or write operation. In addition, one or more programs and data may be received from the system bus to perform a write operation to the system memory, or one or more of programs and data read from the system memory may be transferred to the system bus.
  • the setting unit 315 may control the operation of the memory access unit 310 based on the received control command.
  • the setting unit 315 may be connected to the system bus of the host system. More specifically, the local processor may be connected to the system bus through the local bus and transmit control commands to the setting unit through the system bus.
  • the control command may be received from a local processor of the integrity monitor system. More specifically, when a read or write command is received from the system processor of the host system from the system bus, the memory access unit may be controlled to access the system area on the system memory.
  • the setting unit 315 may control the memory access unit to access a security area on the system memory based on the command.
  • the message received by the setting unit 315 may be received through a local bus.
  • the setting unit 315 may control how the memory access unit 310 is connected to the system memory according to a control command of the local processor.
  • the security area of the system memory may allow access to the integrity monitor system only, and the independence of the integrity monitor system may be guaranteed by blocking the access attempts of other devices.
  • FIGS. 4A to 4C are diagrams illustrating signal flows of respective configuration diagrams according to embodiments of the present specification.
  • a signal may travel between one or more entities of the local processor 401, the local bus 402, the memory controller 403, the system memory 404, and the system bus 405.
  • the embodiment describes the signal flow of the read command, the write command may also be performed in a corresponding structure.
  • FIG. 4A is a diagram illustrating a signal transmission and reception method in the system of the structure of FIG. 3A.
  • the local processor 401 may transmit a memory read command to the local bus 402.
  • the local bus 402 may transmit the memory read command to the memory controller 403.
  • the memory controller 403 may transmit a read request to the system memory 404 based on the received memory read command.
  • an area corresponding to the memory read is a security area of the system memory 404 and may be an area accessible by the local processor 401. The area may be accessed according to a read command of the local processor 401 under the control of the memory controller 403.
  • system memory 404 may transmit data stored in a corresponding area to the memory controller 403 according to the memory read request.
  • the memory controller 403 may transfer the received data to the system bus 405.
  • system bus 405 may transfer the data received in operation 418 to the local bus 402.
  • the local bus 402 may transfer the data received in operation 420 to the local processor 401.
  • the local processor 401 may access a corresponding region of the memory of the system 404 shared with the host system, and may be accessed under the control of the memory controller 403. Independence of the system can be ensured.
  • 4B is a diagram illustrating a signal transmission and reception method in the system of the structure of FIG. 3B.
  • the local processor 401 may transmit a memory read command to the memory controller 403.
  • the memory controller 403 may transmit a read request to the system memory 404 based on the received memory read command.
  • an area corresponding to the memory read is a security area of the system memory 404 and may be an area accessible by the local processor 401. The area may be accessed according to a read command of the local processor 401 under the control of the memory controller 403.
  • system memory 404 may transmit data stored in a corresponding area to the memory controller 403 according to the memory read request.
  • the memory controller 403 may transfer the received data to the system bus 405.
  • system bus 405 may transfer the data received in operation 436 to the local bus 402.
  • the local bus 402 may transfer the data received in operation 438 to the local processor 401.
  • the local processor 401 may access a corresponding region of the memory of the system 404 shared with the host system, and may be accessed under the control of the memory controller 403. Independence of the system can be ensured. In addition, as the local processor 401 is directly connected to the memory controller 403, a faster operation is possible.
  • 4C is a diagram illustrating a signal transmission and reception method in the system of the structure of FIG. 3C.
  • the local processor 401 may transmit a memory read command to the local bus 402.
  • the local bus 402 may transmit the memory read command to the system bus 405.
  • system bus 405 may transmit the memory read command to the memory controller 403.
  • the memory controller 403 may transmit a read request to the system memory 404 based on the received memory read command.
  • an area corresponding to the memory read is a security area of the system memory 404 and may be an area accessible by the local processor 401. The area may be accessed according to a read command of the local processor 401 under the control of the memory controller 403.
  • system memory 404 may transmit data stored in a corresponding area to the memory controller 403 according to the memory read request.
  • the memory controller 403 may transfer the received data to the system bus 405.
  • system bus 405 may transfer the data received in operation 460 to the local bus 402.
  • the local bus 402 may transfer the data received in operation 462 to the local processor 401.
  • the local processor 401 may access a corresponding region of the memory of the system 404 shared with the host system, and may be accessed under the control of the memory controller 403. Independence of the system can be ensured.
  • the command is transmitted through the system bus 405, so that the direct control command transfer interface is connected between the local processor 401 and the memory controller 403. You can pass a command even if there is no.
  • the memory controller 403 when the memory controller 403 is located on the host system, the memory controller 403 may operate in the same structure as the embodiment of FIG. 4C.

Abstract

A method for accessing memory in a memory control unit of an integrity monitoring system which shares memory with a host system, according to an embodiment of the present specification, comprises the steps of: receiving a memory access command from a local processor of an integrity monitoring system; accessing a system memory of a host system on the basis of the memory access command; receiving data, which corresponds to the access command, from the host system; and transmitting the received data to the local processor, wherein the system memory comprises a security area, which is accessible if a memory control unit has received the memory access command from the local processor. Embodiments of the present specification provide a method and a device for monitoring, in an SoC environment, the integrity of data which is processed in a host system.

Description

메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법Data integrity monitoring device and method in memory sharing environment
본 명세서의 실시 예는 스누퍼 기반의 커널 무결성 감시 장치 및 그 제어 방법에 관한 것이다. 보다 구체적으로 시스템 온 칩(System on Chip) 환경에서 메인 시스템과 메모리를 공유하는 무결성 감시 장치 및 그 제어 방법에 관한 것이다. Embodiments of the present disclosure relate to a snooper based kernel integrity monitoring apparatus and a control method thereof. More specifically, the present invention relates to an integrity monitoring apparatus and memory control method for sharing a memory with a main system in a system on chip environment.
SoC(System on Chip)을 이용한 장치들이 늘어나면서 환경에서 데이터 처리시 악성 소프트웨어 공격을 감시하는 방법의 필요성이 높아졌다. 특히 SoC 환경에서 OS(Operating System) Kernel에 대한 공격 감시를 보다 효율적으로 수행할 필요성이 높아지게 됨으로써 SoC 환경에서 처리되는 데이터를 감시함으로써 무결성(integrity)을 검사하고, 악성 소프트 등의 공격을 효율적으로 차단할 필요성이 발생하였다. 그러나 별도의 감시 장치를 이용할 경우, 추가되는 장치의 처리 프로세서 및 메모리를 추가함에 따라 SoC의 면적의 확대가 수반되었고 이에 따라 제조 단가가 상승하고, 시스템 처리시 전력 소비가 많아지는 문제점이 발생하였다. As more devices use System on Chip (SoC), the need for a way to monitor malicious software attacks in data processing in the environment is increasing. In particular, the need for more efficient monitoring of the OS (Operating System) Kernel in the SoC environment increases, so that data processed in the SoC environment can be monitored to check integrity and effectively block attacks such as malicious software. A need arose. However, when a separate monitoring device is used, the addition of the processing processor and memory of the additional device entails an increase in the area of the SoC, thereby increasing the manufacturing cost and increasing the power consumption during system processing.
본 명세서의 실시 예는 상술한 문제점을 해결하기 위하여 제안된 것으로 SoC 환경에서 감시 장치를 구비하고, 이를 통해 악성 프로그램등의 공격에 따라 데이터의 무결성이 깨어지는 것을 감지 하고 이에 따른 대응 동작을 수행할 수 있는 장치 및 제어방법을 제공하는 것을 목적으로 한다. The embodiment of the present specification is proposed to solve the above-mentioned problem, and includes a monitoring device in an SoC environment, through which a data integrity is broken due to an attack of a malicious program and the like, and a corresponding operation is performed. An object of the present invention is to provide an apparatus and a control method which can be used.
또한 본 명세서의 다른 실시 예는 SoC환경에서 데이터 무결성 감시를 위해 호스트 시스템과 메모리를 공유하는 방법을 통해 시스템 면적을 줄이고 전력소비를 줄일 수 있는 감시 장치 및 제어 방법을 제공하는 것을 목적으로 한다. In addition, another embodiment of the present disclosure is to provide a monitoring device and a control method that can reduce the system area and power consumption by sharing the memory with the host system for data integrity monitoring in SoC environment.
상술한 과제를 달성하기 위하여, 본 명세서의 일 실시 예에 따르는 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템의 메모리 제어부에서 메모리 접근 방법은 무결성 모니터 시스템의 로컬 프로세서로부터 메모리 접근 명령을 수신하는 단계; 상기 메모리 접근 명령에 따라 상기 호스트 시스템의 시스템 메모리에 접근(access)하는 단계; 상기 호스트 시스템으로부터 상기 접근 명령을 기반으로 대응되는 데이터를 수신하는 단계; 및 상기 수신한 데이터를 상기 로컬 프로세서로 전달하는 단계;를 포함하며, 상기 시스템 메모리는 상기 메모리 제어부가 상기 로컬 프로세서로부터 메모리 접근 명령이 수신한 경우 접근 가능한 보안 영역을 포함하는 것을 특징으로 한다. In order to achieve the above object, a memory access method in a memory control unit of an integrity monitor system sharing a memory with a host system according to an embodiment of the present disclosure comprises the steps of receiving a memory access command from a local processor of the integrity monitor system; Accessing system memory of the host system according to the memory access command; Receiving corresponding data from the host system based on the access command; And transferring the received data to the local processor, wherein the system memory comprises a secure area accessible by the memory controller when a memory access command is received from the local processor.
본 명세서의 다른 실시 예에 따르는 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템 장치는 상기 무결성 모니터 시스템의 동작을 제어하는 로컬 프로세서; 및 상기 로컬 프로세서로부터 메모리 접근 명령을 수신하고, 상기 메모리 접근 명령에 따라 상기 호스트 시스템의 시스템 메모리에 접근(access)하고, 상기 호스트 시스템으로부터 상기 접근 명령을 기반으로 대응되는 데이터를 수신하고, 상기 수신한 데이터를 상기 로컬 프로세서로 전달하는 메모리 제어부를 포함하며, 상기 시스템 메모리는 상기 메모리 제어부가 상기 로컬 프로세서로부터 메모리 접근 명령이 수신한 경우 접근 가능한 보안 영역을 포함하는 것을 특징으로 한다. An integrity monitor system apparatus sharing a memory with a host system according to another exemplary embodiment of the present disclosure may include a local processor that controls an operation of the integrity monitor system; And receiving a memory access command from the local processor, accessing a system memory of the host system according to the memory access command, receiving corresponding data from the host system based on the access command, and receiving the received access command. And a memory controller for transmitting one data to the local processor, wherein the system memory includes a secure area accessible by the memory controller when a memory access command is received from the local processor.
본 명세서의 일 실시 예에 따르면, SoC 환경에서 호스트 시스템에서 처리되는 데이터의 무결성을 감시할 수 있는 방법 및 장치가 제공된다. According to one embodiment of the present specification, a method and apparatus for monitoring the integrity of data processed in a host system in an SoC environment are provided.
또한 본 명세서의 다른 실시 예에 따르면 호스트 시스템에서 데이터 무결성을 감시하는 장치가 호스트 시스템과 메모리를 공유함에 따라 시스템 면적으로 효율적으로 이용하고, 전력 소비를 줄일 수 있는 방법 및 장치가 제공된다. In addition, according to another embodiment of the present disclosure, as the apparatus for monitoring data integrity in the host system shares a memory with the host system, a method and apparatus for efficiently using the system area and reducing power consumption are provided.
본 명세서의 또 다른 실시 예에 따르면, 호스트 시스템과 메모리를 공유할 경우 메모리 읽기 쓰기를 위한 제어 장치를 구비함으로써 무결성 모니터링 장치의 신뢰성을 높일 수 있다. According to another embodiment of the present disclosure, when the memory is shared with the host system, the reliability of the integrity monitoring apparatus may be improved by providing a control device for reading and writing a memory.
도 1은 본 명세서의 실시 예에 따른 시스템의 구조를 나타낸 도면이다. 1 is a view showing the structure of a system according to an embodiment of the present disclosure.
도 2는 본 명세서의 다른 실시 예에 따른 시스템의 구조를 나타낸 도면이다. 2 is a diagram illustrating a structure of a system according to another exemplary embodiment of the present specification.
도 3a 내지 3c의 경우 본 명세서의 각 실시 예에 따른 메모리 제어부의 연결관계를 나타낸 도면이다. 3A to 3C are diagrams illustrating a connection relationship between memory controllers according to various embodiments of the present disclosure.
도 4a 내지 4c의 경우 본 명세서의 각 실시 예에 따른 각 구성도의 신호 흐름을 나타낸 도면이다. 4A to 4C are diagrams illustrating signal flows of respective configuration diagrams according to embodiments of the present specification.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents which are well known in the technical field to which the present invention belongs and are not directly related to the present invention will be omitted. This is to more clearly communicate without obscure the subject matter of the present invention by omitting unnecessary description.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, in the accompanying drawings, some components are exaggerated, omitted or schematically illustrated. In addition, the size of each component does not fully reflect the actual size. The same or corresponding components in each drawing are given the same reference numerals.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them will be apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and only the embodiments of the present invention make the disclosure of the present invention complete and the general knowledge in the technical field to which the present invention belongs. It is provided to fully convey the scope of the invention to those skilled in the art, and the invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
이하, 본 발명의 실시 예들에 의하여 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법을 설명하기 위해 도면들을 참고하여 본 발명을 설명하도록 한다.Hereinafter, an embodiment of the present invention will be described with reference to the drawings to describe an apparatus and method for monitoring data integrity in a memory sharing environment.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this point, it will be understood that each block of the flowchart illustrations and combinations of flowchart illustrations may be performed by computer program instructions. Since these computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, those instructions executed through the processor of the computer or other programmable data processing equipment may be described in flow chart block (s). It creates a means to perform the functions. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in the flowchart block (s). Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions for performing the processing equipment may also provide steps for performing the functions described in the flowchart block (s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a portion of a module, segment, or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of order. For example, the two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the corresponding function.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In this case, the term '~ part' used in the present embodiment refers to software or a hardware component such as an FPGA or an ASIC, and '~ part' performs certain roles. However, '~' is not meant to be limited to software or hardware. '~ Portion' may be configured to be in an addressable storage medium or may be configured to play one or more processors. Thus, as an example, '~' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and the 'parts' may be combined into a smaller number of components and the 'parts' or further separated into additional components and the 'parts'. In addition, the components and '~' may be implemented to play one or more CPUs in the device or secure multimedia card.
도 1은 본 명세서의 실시 예에 따른 시스템의 구조를 나타낸 도면이다. 1 is a view showing the structure of a system according to an embodiment of the present disclosure.
도 1을 참조하면, 본 명세서의 시스템은 연산 및 신호 송수신을 수행할 수 있는 호스트 시스템(150) 및 호스트 시스템(150)에서 송수신되는 신호의 무결성을 감시하는 무결성 모니터 시스템(100)을 포함할 수 있다. Referring to FIG. 1, a system of the present disclosure may include a host system 150 capable of performing computation and signal transmission and reception, and an integrity monitor system 100 for monitoring the integrity of signals transmitted and received by the host system 150. have.
실시 예에 따라 무결성 모니터 시스템(100)은 호스트 시스템(150)과 동일한 칩 상에 구현될 수 있으며, 별도의 연결 구조를 통해서 서로 연결될 수도 있다. In some embodiments, the integrity monitor system 100 may be implemented on the same chip as the host system 150 or may be connected to each other through a separate connection structure.
실시 예의 무결성 모니터 시스템(100)은 스누퍼(105), 검증부(110), 로컬 버스(115), 로컬 메모리(120), 로컬 프로세서(125) 및 로컬 브릿지(130)중 하나 이상을 포함할 수 있다. The integrity monitor system 100 of the embodiment may include one or more of a snooper 105, a verification unit 110, a local bus 115, a local memory 120, a local processor 125, and a local bridge 130. Can be.
스누퍼(105)는 시스템 버스(165)와 연결될 수 있으며, 시스템 버스(165)상을 오가는 데이터를 스누핑 기법을 통해 감시할 수 있다. The snooper 105 may be connected to the system bus 165 and may monitor data to and from the system bus 165 through a snooping technique.
검증부(110)는 스누퍼(105)가 스누핑 한 트래픽을 검증하여, 악성 소프트등의 공격 등에 의해 무결성이 유지되는지 판단할 수 있다. 검증부(110)는 로컬 버스(115)를 통해 무결성 모니터 시스템(100)의 다른 구성 요소와 데이터 송수신을 할 수 있다. The verification unit 110 may verify the traffic snooped by the snooper 105 to determine whether the integrity is maintained by an attack such as malicious software. The verification unit 110 may exchange data with other components of the integrity monitor system 100 through the local bus 115.
로컬 메모리(120)는 무결성 모니터 시스템(100)이 동작 중 필요한 데이터 및 무결성 검증 결과 값과 같은 데이터 중 하나 이상을 읽고 쓸 수 있다. 로컬 메모리(120)는 로컬 버스(115)를 통해 무결성 모니터 시스템(100)의 다른 구성 요소와 데이터 송수신을 할 수 있다.The local memory 120 may read and write one or more of data required by the integrity monitor system 100 during operation and data such as integrity verification result values. The local memory 120 may transmit / receive data with other components of the integrity monitor system 100 via the local bus 115.
로컬 프로세서(125)는 무결성 모니터 시스템(100)의 동작 전반을 제어할 수 있는 제어부의 역할을 수행할 수 있다. 로컬 프로세서(125)는 로컬버스(115)를 통해 무결성 모니터 시스템(100)의 다른 구성 요소와 데이터 송수신을 할 수 있다.The local processor 125 may serve as a controller that can control the overall operation of the integrity monitor system 100. The local processor 125 may exchange data with other components of the integrity monitor system 100 through the local bus 115.
로컬 브릿지(130)는 로컬 버스(115)를 통해 무결성 모니터 시스템(100)의 다른 구성 요소와 데이터 송수신을 할 수 있으며, 외부의 시스템과 신호를 송수신 할 수 있는 연결 인터페이스의 동작을 수행할 수 있다. 실시 예에서 로컬 브릿지(130)는 호스트 시스템(150)의 시스템 브릿지(170)와 연결되어 신호 송수신을 수행할 수 있다. The local bridge 130 may transmit / receive data with other components of the integrity monitor system 100 through the local bus 115, and may perform an operation of a connection interface that may transmit / receive signals with an external system. . In an embodiment, the local bridge 130 may be connected to the system bridge 170 of the host system 150 to perform signal transmission and reception.
호스트 시스템은 시스템 메모리(155), 시스템 프로세서(160), 시스템 버스(165) 및 시스템 브릿지(170) 중 하나 이상을 포함할 수 있다. The host system may include one or more of system memory 155, system processor 160, system bus 165, and system bridge 170.
시스템 메모리(155)는 호스트 시스템(150)이 동작하는데 필요한 데이터를 저장할 수 있으며, 시스템 프로세서(160)의 제어에 의해 저장된 데이터를 읽을 수 있다. 시스템 메모리(155)는 시스템 버스(165)를 통해 호스트 시스템(150)의 다른 구성 요소와 데이터 송수신을 할 수 있다.The system memory 155 may store data necessary for the host system 150 to operate, and may read the stored data under the control of the system processor 160. The system memory 155 may exchange data with other components of the host system 150 through the system bus 165.
시스템 프로세서(160)는 호스트 시스템(150)의 동작 전반을 제어할 수 있는 제어부의 역할을 수행할 수 있다. 시스템 프로세서(160)는 시스템 버스(165)를 통해 호스트 시스템(150)의 다른 구성 요소와 데이터 송수신을 할 수 있다.The system processor 160 may serve as a controller for controlling overall operations of the host system 150. The system processor 160 may exchange data with other components of the host system 150 through the system bus 165.
시스템 브릿지(170)는 시스템 버스(165)를 통해 호스트 시스템(150)의 다른 구성 요소와 데이터 송수신을 할 수 있으며, 외부의 시스템과 신호를 송수신 할 수 있는 연결 인터페이스의 동작을 수행할 수 있다. 실시 예에서 시스템 브릿지(170)는 무결성 모니터 시스템(100)의 로컬 브릿지(130)와 연결되어 신호 송수신을 수행할 수 있다. The system bridge 170 may transmit / receive data with other components of the host system 150 through the system bus 165 and perform an operation of a connection interface that may transmit / receive a signal with an external system. In an embodiment, the system bridge 170 may be connected to the local bridge 130 of the integrity monitor system 100 to perform signal transmission and reception.
실시 예에서 무결성 모니터 시스템(100)은 호스트 시스템(150)에서 발생하는 트래픽을 감시해서 트래픽에 포함되는 데이터의 무결성(integrity)을 감시할 수 있다. 보다 구체적으로 실시 예에 따라 무결성 모니터 시스템(100)은 호스트 시스템(150)의 시스템 버스(165)상에서 송수신되는 트래픽을 스누퍼(105)를 통해 감시할 수 있다. 스누퍼(105)는 스누핑 방법을 통해 시스템 버스 상에서 오가는 트래픽을 감시할 수 있다.In an embodiment, the integrity monitor system 100 may monitor traffic generated by the host system 150 to monitor the integrity of data included in the traffic. In more detail, the integrity monitor system 100 may monitor the traffic transmitted and received on the system bus 165 of the host system 150 through the snooper 105. Snooper 105 may monitor traffic to and from the system bus through a snooping method.
만약 무결성 모니터 시스템(100)이 트래픽 중 무결성이 깨어진 데이터가 있다는 것을 판단할 경우 무결성 모니터 시스템(100)은 호스트 시스템(150)에 해당 데이터의 무결성이 깨어진 것을 알릴 수 있다. 보다 구체적으로 무결성 모니터 시스템(100)은 로컬 브릿지(130)를 통해 시스템 브릿지(170)를 거쳐 시스템 프로세서(160)로 해당 데이터의 무결성이 깨어졌음을 알릴 수 있다. 시스템 프로세서(160)은 이에 대응하여 무결성이 깨어진 데이터를 다시 처리하는 등의 동작을 수행할 수 있다. 이와 같이 시스템 버스(165)상을 오가는 트래픽의 무결성 여부를 무결성 모니터 시스템(100)을 통해 감시함으로써 보다 신뢰할 수 있는 동작을 수행할 수 있다. If the integrity monitor system 100 determines that there is broken data in the traffic, the integrity monitor system 100 may notify the host system 150 that the integrity of the data is broken. More specifically, the integrity monitor system 100 may inform the system processor 160 that the integrity of the corresponding data is broken through the local bridge 130 via the system bridge 170. The system processor 160 may perform an operation such as reprocessing data whose integrity is broken. As described above, the integrity monitor system 100 monitors the integrity of the traffic traveling on the system bus 165 to perform a more reliable operation.
실시 예에서 로컬 브릿지(130)는 선택적인 구조로 시스템 브릿지(170)는 직접적인 연결을 통해 로컬 버스(115)와 연결될 수도 있다. In an embodiment, the local bridge 130 is an optional structure, and the system bridge 170 may be connected to the local bus 115 through a direct connection.
도 2는 본 명세서의 다른 실시 예에 따른 시스템의 구조를 나타낸 도면이다. 2 is a diagram illustrating a structure of a system according to another exemplary embodiment of the present specification.
도 2를 참조하면, 실시 예에 따라 무결성 모니터 시스템(200)은 호스트 시스템(250)과 동일한 칩 상에 구현될 수 있으며, 별도의 연결 구조를 통해서 서로 연결될 수도 있다. 또한 도 2에 개시된 실시 예는 무결성 모니터 시스템(200)이 호스트 시스템(250)의 시스템 메모리(255)영역을 공유하며, 이와 같은 공유를 위해 메모리 제어부(220)를 더 포함할 수 있다.Referring to FIG. 2, the integrity monitor system 200 may be implemented on the same chip as the host system 250 or may be connected to each other through a separate connection structure. In addition, the embodiment disclosed in FIG. 2 shares the system memory 255 area of the host system 250 with the integrity monitor system 200, and may further include a memory controller 220 for such sharing.
실시 예의 무결성 모니터 시스템(200)은 스누퍼(205), 검증부(210), 로컬 버스(215), 메모리 제어부(220) 및 로컬 프로세서(225)중 하나 이상을 포함할 수 있다. Integrity monitoring system 200 of the embodiment may include one or more of the snoop 205, the verification unit 210, the local bus 215, the memory control unit 220 and the local processor 225.
또한 실시 예에 호스트 시스템(250)은 시스템 메모리(255), 시스템 프로세서(260), 시스템 버스(265) 및 시스템 브릿지(270) 중 하나 이상을 포함할 수 있다.In an embodiment, the host system 250 may include one or more of a system memory 255, a system processor 260, a system bus 265, and a system bridge 270.
스누퍼(205)는 시스템 버스(165)와 연결될 수 있으며, 시스템 버스(265)상을 오가는 데이터를 스누핑 기법을 통해 감시할 수 있다. The snoop 205 may be connected to the system bus 165 and may monitor data traveling on the system bus 265 through a snooping technique.
검증부(210)는 스누퍼(205)가 스누핑 한 트래픽을 검증하여, 악성 소프트등의 공격 등에 의해 무결성이 유지되는지 판단할 수 있다. 검증부(210)는 로컬 버스(215)를 통해 무결성 모니터 시스템(200)의 다른 구성 요소와 데이터 송수신을 할 수 있다. The verification unit 210 may verify the traffic snooped by the snoop 205 and determine whether integrity is maintained by an attack such as malicious software. The verification unit 210 may transmit / receive data with other components of the integrity monitor system 200 through the local bus 215.
메모리 제어부(220)는 실시 예에서 무결성 모니터 시스템(200)이 호스트 시스템(250)의 시스템 메모리(255)를 공유하기 위한 모듈이다. 보다 구체적으로 로컬 프로세서(225) 및 시스템 프로세서(260)의 제어 신호에 따라 시스템 메모리(255)에 접근하여, 읽기 또는 쓰기 동작을 수행할 수 있다. 메모리 제어부(220)는 로컬 버스(215), 로컬프로세서(225), 시스템 메모리(255) 및 시스템 버스(265) 중 하나 이상과 연결될 수 있다. 상기 연결 중 하나 이상은 선택적으로 수행될 수 있으며 메모리 제어부의 상세한 설명과 연결 관계는 후술하도록 한다. The memory controller 220 is a module for sharing the system memory 255 of the host system 250 by the integrity monitor system 200 according to an exemplary embodiment. More specifically, the system memory 255 may be accessed according to control signals of the local processor 225 and the system processor 260 to perform a read or write operation. The memory controller 220 may be connected to one or more of the local bus 215, the local processor 225, the system memory 255, and the system bus 265. One or more of the above connections may be selectively performed, and the detailed description and the connection relationship of the memory controller will be described later.
로컬 프로세서(225)는 무결성 모니터 시스템(200)의 동작 전반을 제어할 수 있는 제어부의 역할을 수행할 수 있다. 로컬 프로세서(225)는 로컬버스(215)를 통해 무결성 모니터 시스템(200)의 다른 구성 요소와 데이터 송수신을 할 수 있다. 또한 로컬 프로세서(225)는 메모리 제어부(220)를 제어하여 시스템 메모리(255)상에 저장된 데이터를 읽어오도록 할 수 있다. 보다 구체적으로 메모리 제어부(220)는 시스템 메모리(255)에서 저장된 데이터를 읽어서, 시스템 버스(265), 시스템 브릿지(270), 로컬 버스(215)를 통해 로컬 프로세서(225)로 전달할 수 있다. 그러나 실시 예에서 시스템 브릿지(270)역시 선택적인 구성일 수 있으며, 다른 실시 예에서는 로컬 버스(215)와 시슷템 브릿지(270) 사이에 로컬 버스를 추가적으로 구비할 수 있다. The local processor 225 may serve as a controller for controlling the overall operation of the integrity monitor system 200. The local processor 225 may exchange data with other components of the integrity monitor system 200 through the local bus 215. In addition, the local processor 225 may control the memory controller 220 to read data stored in the system memory 255. More specifically, the memory controller 220 may read data stored in the system memory 255 and transfer the data stored in the system memory 255 to the local processor 225 through the system bus 265, the system bridge 270, and the local bus 215. However, in some embodiments, the system bridge 270 may also be an optional configuration. In another embodiment, a local bus may be additionally provided between the local bus 215 and the system bridge 270.
호스트 시스템은 시스템 메모리(255), 시스템 프로세서(260), 시스템 버스(265) 및 시스템 브릿지(270) 중 하나 이상을 포함할 수 있다. The host system may include one or more of system memory 255, system processor 260, system bus 265, and system bridge 270.
시스템 메모리(255)는 보안 영역(257)과 시스템 영역(259)을 포함할 수 있으며, 각 영역에는 프로그램 및 데이터 중 하나 이상을 저장할 수 있다. The system memory 255 may include a security area 257 and a system area 259, and each area may store one or more of a program and data.
보안 영역(257)의 경우 실시 예에서 무결성 모니터 시스템(200)과 관련된 프로그램 및 데이터 중 하나 이상을 저장할 수 있다. 메모리 제어부(220)를 통해 시스템 메모리(255)에 접근할 수 있는 바, 메모리 제어부(220)의 동작을 통해 무결성 모니터 시스템(200)의 동작에 따른 접근일 경우에만 보안영역(257)에 접근할 수 있고, 이를 통해 시스템 메모리(255)를 공유하는 실시 예와 같은 환경에서도 무결성 모니터 시스템(200)의 커널 독립성을 보증할 수 있다. In the case of the security area 257, one or more of programs and data related to the integrity monitor system 200 may be stored. The system memory 255 may be accessed through the memory control unit 220. The security area 257 may be accessed only when access is performed according to the operation of the integrity monitor system 200 through the operation of the memory control unit 220. In this case, kernel independence of the integrity monitor system 200 may be guaranteed even in an environment in which the system memory 255 is shared.
시스템 영역(259)의 경우 실시 예에서 호스트 시스템(250)이 메모리 제어부(220)를 통해 접근할 수 있는 영역이다. 보다 구체적으로 호스트 시스템(250)과 관련된 프로그램 및 데이터 중 하나 이상을 저장할 수 있다. 메모리 제어부(220)는 호스트 시스템(250)의 요청에 따라 시스템 메모리(255)에 접근할 경우, 보안 영역(257)에는 접근할 수 없도록 함으로써 역시 커널 독립성을 보증할 수 있다. In the embodiment of the system area 259, the host system 250 is an area accessible by the memory controller 220. More specifically, one or more of programs and data related to the host system 250 may be stored. When the memory controller 220 accesses the system memory 255 according to the request of the host system 250, the memory controller 220 may not access the security area 257, thereby ensuring kernel independence.
실시 예에서 보안영역(257)은 로컬 프로세서(255)가 메모리 제어부(220)을 통하여만 영역을 설정하고 변경 될 수 있으며, 시스템 프로세서(260)은 보안영역(257)에 대해서는 어떠한 동작 및 접근을 할 수 없다.In an embodiment, the security area 257 may be set and changed only by the local processor 255 through the memory controller 220, and the system processor 260 may not perform any operation and access to the security area 257. Can not.
다른 실시 예에서 스누퍼(205)는 시스템 버스(265)의 정보를 살필 수 있다. 또안 검증부(210)는 보안 영역(257)의 주소를 저장하고 있으며, 보안 영역(257)에 대한 공격 검출 시 로컬 프로세서(225)에게 분석을 요청하고, 로컬 프로세서(225)는 상기 분석의 결과를 시스템 프로세서(260)에 알릴 수 있다. In another embodiment, the snoop 205 may look at the information on the system bus 265. In addition, the verification unit 210 stores the address of the security zone 257, and requests an analysis from the local processor 225 when an attack on the security zone 257 is detected, and the local processor 225 results in the analysis. May be informed to the system processor 260.
또 다른 실시 예에서 보안 영역(257)은 시스템 프로세서(260)에 의해 무결성 모니터 시스템(200)에 할당 될 수 있으며, 할당 정보에 따라 메모리 제어부(220), 검증부(210) 및 로컬 프로세서(225)의 동작이 결정될 수 있다. In another embodiment, the security zone 257 may be allocated to the integrity monitor system 200 by the system processor 260, and the memory controller 220, the verification unit 210, and the local processor 225 according to the allocation information. May be determined.
시스템 프로세서(260)는 호스트 시스템(250)의 동작 전반을 제어할 수 있는 제어부의 역할을 수행할 수 있다. 시스템 프로세서(260)는 시스템 버스(265)를 통해 호스트 시스템(250)의 다른 구성 요소와 데이터 송수신을 할 수 있다. 또한 다른 실시 예에서 시스템 프로세서(260)는 보안영역(257)을 제외한 호스트 시스템(250)의 동작 전반을 제어할 수 있다. The system processor 260 may serve as a controller for controlling the overall operation of the host system 250. The system processor 260 may exchange data with other components of the host system 250 through the system bus 265. In another embodiment, the system processor 260 may control the overall operation of the host system 250 except for the security area 257.
시스템 브릿지(270)는 시스템 버스(265)를 통해 호스트 시스템(250)의 다른 구성 요소와 데이터 송수신을 할 수 있으며, 외부의 시스템과 신호를 송수신 할 수 있는 연결 인터페이스의 동작을 수행할 수 있다. 실시 예에서 시스템 브릿지(270)는 무결성 모니터 시스템(200)과 연결되어 신호 송수신을 수행할 수 있다. The system bridge 270 may transmit / receive data with other components of the host system 250 through the system bus 265, and may perform an operation of a connection interface that may transmit / receive a signal with an external system. In an embodiment, the system bridge 270 may be connected to the integrity monitor system 200 to perform signal transmission and reception.
실시 예에서 무결성 모니터 시스템(200)은 호스트 시스템(250)에서 발생하는 트래픽을 감시해서 트래픽에 포함되는 데이터의 무결성(integrity)을 감시할 수 있다. 보다 구체적으로 실시 예에 따라 무결성 모니터 시스템(200)은 호스트 시스템(250)의 시스템 버스(265)상에서 송수신되는 트래픽을 스누퍼(205)를 통해 감시할 수 있다. 스누퍼(205)는 스누핑 방법을 통해 시스템 버스 상에서 오가는 트래픽을 감시할 수 있다.In an embodiment, the integrity monitor system 200 may monitor traffic generated by the host system 250 to monitor the integrity of data included in the traffic. In more detail, the integrity monitor system 200 may monitor the traffic transmitted and received on the system bus 265 of the host system 250 through the snooper 205. Snooper 205 may monitor traffic to and from the system bus through a snooping method.
만약 무결성 모니터 시스템(200)이 트래픽 중 무결성이 깨어진 데이터가 있다는 것을 판단할 경우 무결성 모니터 시스템(200)은 호스트 시스템(250)에 해당 데이터의 무결성이 깨어진 것을 알릴 수 있다. 이와 같이 시스템 버스(265)상을 오가는 트래픽의 무결성 여부를 무결성 모니터 시스템(200)을 통해 감시함으로써 보다 신뢰할 수 있는 동작을 수행할 수 있다. 메모리 제어부(220)의 구성 및 연결 관계는 아래에서 서술하도록 한다. If the integrity monitor system 200 determines that there is broken data in the traffic, the integrity monitor system 200 may notify the host system 250 that the integrity of the data is broken. As described above, the integrity monitor system 200 monitors the integrity of the traffic traveling on the system bus 265 to perform a more reliable operation. The configuration and connection relationship of the memory controller 220 will be described below.
또한 실시 예에서 메모리 제어부(220)는 무결성 모니터 시스템(200)에 포함된 형식으로 구성되나, 실시 예에 따라 호스트 시스템(200) 내에 위치할 수도 있다. In addition, although the memory controller 220 is configured in a form included in the integrity monitor system 200 in an embodiment, it may be located in the host system 200 according to an embodiment.
또한 실시 예에서 무결성 모니터 시스템(200)은 호스트 시스템 상에 연결될어 동작할 수 있으며, 무결성 모니터 시스템(200)이 연결되면, 무결성 모니터 시스템(200)이 시스템 메모리(255)와 시스템 버스(265)가 연결되지 않도록 시스템 메모리(255)를 제어할 수 있다. In addition, in the embodiment, the integrity monitor system 200 may be connected to and operate on the host system. When the integrity monitor system 200 is connected, the integrity monitor system 200 is connected to the system memory 255 and the system bus 265. The system memory 255 may be controlled to prevent the connection.
도 3a 내지 3c의 경우 본 명세서의 각 실시 예에 따른 메모리 제어부의 연결관계를 나타낸 도면이다. 3A to 3C are diagrams illustrating a connection relationship between memory controllers according to various embodiments of the present disclosure.
도 3a를 참조하면, 무결성 모니터 시스템의 메모리 제어부(305)는 메모리 접근부(310) 및 설정부(315)를 포함할 수 있다. Referring to FIG. 3A, the memory controller 305 of the integrity monitor system may include a memory access unit 310 and a setting unit 315.
메모리 접근부(310)는 시스템 메모리와 시스템 버스와 연결될 수 있다. 설정부에 입력되는 제어 명령을 기반으로 시스템 메모리에 접근하여 읽기 또는 쓰기 동작을 수행할 수 있다. 또한 시스템 버스로부터 프로그램 및 데이터 중 하나 이상을 수신하여 시스템 메모리에 쓰기동작을 수행하거나, 시스템 메모리에서 읽은 프로그램 및 데이터 중 하나 이상을 시스템 버스로 전달할 수 있다. The memory access unit 310 may be connected to the system memory and the system bus. Based on the control command input to the setting unit, the system memory may be accessed to perform a read or write operation. In addition, one or more programs and data may be received from the system bus to perform a write operation to the system memory, or one or more of programs and data read from the system memory may be transferred to the system bus.
설정부(315)는 수신된 제어 명령을 기반으로 메모리 접근부(310)의 동작을 제어할 수 있다. 실시 예에서, 설정부(315)는 무결성 모니터 시스템의 로컬 버스와 연결될 수 있다. 또한 상기 제어 명령은 무결성 모니터 시스템의 로컬 프로세서로부터 수신될 수 있다. 또한 본 실시 예에서 상기 제어 명령은 로컬 버스를 통해 수신될 수 있다. 보다 구체적으로 시스템 버스로부터 호스트 시스템의 시스템 프로세서로부터 읽기 또는 쓰기 명령이 수신된 경우 메모리 접근부는 시스템 메모리 상의 시스템 영역에 접근할 수 있도록 제어될 수 있다. 또한 무결성 모니터 시스템의 로컬 프로세서로부터 접근 명령이 수행되면 설정부(315)는 상기 명령을 기반으로 메모리 접근부가 시스템 메모리 상의 보안 영역에 접근할 수 있도록 제어할 수 있다. 설정부(315)로 수신되는 메시지는 로컬 버스를 통해 수신될 수 있다. The setting unit 315 may control the operation of the memory access unit 310 based on the received control command. In an embodiment, the setting unit 315 may be connected to a local bus of the integrity monitor system. The control command may also be received from a local processor of the integrity monitor system. In addition, in the present embodiment, the control command may be received through a local bus. More specifically, when a read or write command is received from the system processor of the host system from the system bus, the memory access unit may be controlled to access the system area on the system memory. In addition, when the access command is executed from the local processor of the integrity monitor system, the setting unit 315 may control the memory access unit to access the security area on the system memory based on the command. The message received by the setting unit 315 may be received through a local bus.
도 3b를 참조하면, 무결성 모니터 시스템의 메모리 제어부(305)는 메모리 접근부(310) 및 설정부(315)를 포함할 수 있다. Referring to FIG. 3B, the memory controller 305 of the integrity monitor system may include a memory access unit 310 and a setting unit 315.
메모리 접근부(310)는 시스템 메모리와 시스템 버스와 연결될 수 있다. 설정부에 입력되는 제어 명령을 기반으로 시스템 메모리에 접근하여 읽기 또는 쓰기 동작을 수행할 수 있다. 또한 시스템 버스로부터 프로그램 및 데이터 중 하나 이상을 수신하여 시스템 메모리에 쓰기동작을 수행하거나, 시스템 메모리에서 읽은 프로그램 및 데이터 중 하나 이상을 시스템 버스로 전달할 수 있다. The memory access unit 310 may be connected to the system memory and the system bus. Based on the control command input to the setting unit, the system memory may be accessed to perform a read or write operation. In addition, one or more programs and data may be received from the system bus to perform a write operation to the system memory, or one or more of programs and data read from the system memory may be transferred to the system bus.
설정부(315)는 수신된 제어 명령을 기반으로 메모리 접근부(310)의 동작을 제어할 수 있다. 실시 예에서, 설정부(315)는 무결성 모니터 시스템의 로컬 프로세서와 연결될 수 있다. 또한 실시 예에서 상기 제어 명령은 상기 무결성 모니터 시스템의 로컬 프로세서로부터 수신될 수 있다. 보다 구체적으로 시스템 버스로부터 호스트 시스템의 시스템 프로세서로부터 읽기 또는 쓰기 명령이 수신된 경우 메모리 접근부는 시스템 메모리 상의 시스템 영역에 접근할 수 있도록 제어될 수 있다. 또한 무결성 모니터 시스템의 로컬 프로세서로부터 접근 명령이 수신되면 설정부(315)는 상기 명령을 기반으로 메모리 접근부가 시스템 메모리 상의 보안 영역에 접근할 수 있도록 제어할 수 있다. 설정부(315)로 수신되는 메시지는 로컬 버스를 통해 수신될 수 있다. The setting unit 315 may control the operation of the memory access unit 310 based on the received control command. In an embodiment, the setting unit 315 may be connected to a local processor of the integrity monitor system. In another embodiment, the control command may be received from a local processor of the integrity monitor system. More specifically, when a read or write command is received from the system processor of the host system from the system bus, the memory access unit may be controlled to access the system area on the system memory. In addition, when an access command is received from the local processor of the integrity monitor system, the setting unit 315 may control the memory access unit to access a security area on the system memory based on the command. The message received by the setting unit 315 may be received through a local bus.
도 3c를 참조하면, 무결성 모니터 시스템의 메모리 제어부(305)는 메모리 접근부(310) 및 설정부(315)를 포함할 수 있다. Referring to FIG. 3C, the memory controller 305 of the integrity monitor system may include a memory access unit 310 and a setting unit 315.
메모리 접근부(310)는 시스템 메모리와 시스템 버스와 연결될 수 있다. 설정부에 입력되는 제어 명령을 기반으로 시스템 메모리에 접근하여 읽기 또는 쓰기 동작을 수행할 수 있다. 또한 시스템 버스로부터 프로그램 및 데이터 중 하나 이상을 수신하여 시스템 메모리에 쓰기동작을 수행하거나, 시스템 메모리에서 읽은 프로그램 및 데이터 중 하나 이상을 시스템 버스로 전달할 수 있다. The memory access unit 310 may be connected to the system memory and the system bus. Based on the control command input to the setting unit, the system memory may be accessed to perform a read or write operation. In addition, one or more programs and data may be received from the system bus to perform a write operation to the system memory, or one or more of programs and data read from the system memory may be transferred to the system bus.
설정부(315)는 수신된 제어 명령을 기반으로 메모리 접근부(310)의 동작을 제어할 수 있다. 실시 예에서, 설정부(315)는 호스트 시스템의 시스템 버스와 연결될 수 있다. 보다 구체적으로 로컬 프로세서는 로컬 버스를 통해 시스템 버스와 연결되고 시스템 버스를 통해 설정부에 제어 명령을 전달할 수 있다. 또한 실시 예에서 상기 제어 명령은 상기 무결성 모니터 시스템의 로컬 프로세서로부터 수신될 수 있다. 보다 구체적으로 시스템 버스로부터 호스트 시스템의 시스템 프로세서로부터 읽기 또는 쓰기 명령이 수신된 경우 메모리 접근부는 시스템 메모리 상의 시스템 영역에 접근할 수 있도록 제어될 수 있다. 또한 무결성 모니터 시스템의 로컬 프로세서로부터 접근 명령이 수신되면 설정부(315)는 상기 명령을 기반으로 메모리 접근부가 시스템 메모리 상의 보안 영역에 접근할 수 있도록 제어할 수 있다. 설정부(315)로 수신되는 메시지는 로컬 버스를 통해 수신될 수 있다. The setting unit 315 may control the operation of the memory access unit 310 based on the received control command. In an embodiment, the setting unit 315 may be connected to the system bus of the host system. More specifically, the local processor may be connected to the system bus through the local bus and transmit control commands to the setting unit through the system bus. In another embodiment, the control command may be received from a local processor of the integrity monitor system. More specifically, when a read or write command is received from the system processor of the host system from the system bus, the memory access unit may be controlled to access the system area on the system memory. In addition, when an access command is received from the local processor of the integrity monitor system, the setting unit 315 may control the memory access unit to access a security area on the system memory based on the command. The message received by the setting unit 315 may be received through a local bus.
실시 예에서 설정부(315)는 로컬 프로세서의 제어 명령에 따라 메모리 접근부(310)가 시스템 메모리에 연결 되는 방법을 제어할 수 있다. 실시 예에 따라 시스템 메모리의 보안 영역은 무결성 모니터 시스템 접근만을 허용하며, 다른 장치들의 접근시도는 차단함으로써 무결성 모니터 시스템의 독립성을 보장할 수 있다.According to an embodiment, the setting unit 315 may control how the memory access unit 310 is connected to the system memory according to a control command of the local processor. According to an exemplary embodiment, the security area of the system memory may allow access to the integrity monitor system only, and the independence of the integrity monitor system may be guaranteed by blocking the access attempts of other devices.
도 4a 내지 4c의 경우 본 명세서의 각 실시 예에 따른 각 구성도의 신호 흐름을 나타낸 도면이다. 실시 예에서는 로컬 프로세서(401), 로컬 버스(402), 메모리 제어부(403), 시스템 메모리(404) 및 시스템 버스(405) 중 하나 이상의 엔티티 상에서 신호가 오갈 수 있다. 실시 예에서는 읽기 명령의 신호 흐름에 대해서 설명하고 있으나 쓰기 명령도 대응되는 구조로 수행될 수 있다. 4A to 4C are diagrams illustrating signal flows of respective configuration diagrams according to embodiments of the present specification. In an embodiment, a signal may travel between one or more entities of the local processor 401, the local bus 402, the memory controller 403, the system memory 404, and the system bus 405. Although the embodiment describes the signal flow of the read command, the write command may also be performed in a corresponding structure.
도 4a는 도 3a의 구조의 시스템에서 신호 송수신 방법을 나타낸 도면이다. 4A is a diagram illustrating a signal transmission and reception method in the system of the structure of FIG. 3A.
도 4a를 참조하면, 단계 410에서 로컬프로세서(401)는 로컬 버스(402)에 메모리 읽기 명령을 전송할 수 있다.Referring to FIG. 4A, in operation 410, the local processor 401 may transmit a memory read command to the local bus 402.
단계 412에서 로컬 버스(402)는 메모리 제어부(403)로 상기 메모리 읽기 명령을 전달할 수 있다. In operation 412, the local bus 402 may transmit the memory read command to the memory controller 403.
단계 414에서 메모리 제어부(403)는 상기 수신한 메모리 읽기 명령을 기반으로 대응되는 영역의 메모리를 읽기 요청을 시스템 메모리(404)에 전송할 수 있다. 실시 예에 따라 상기 메모리 읽기에 대응되는 영역은 시스템 메모리(404)의 보안영역으로, 로컬 프로세서(401)이 접근할 수 있는 영역일 수 있다. 상기 영역은 메모리 제어부(403)의 제어에 따라 로컬 프로세서(401)의 읽기 명령에 따라서 접근 할 수 있는 있는 영역이다. In operation 414, the memory controller 403 may transmit a read request to the system memory 404 based on the received memory read command. According to an embodiment of the present disclosure, an area corresponding to the memory read is a security area of the system memory 404 and may be an area accessible by the local processor 401. The area may be accessed according to a read command of the local processor 401 under the control of the memory controller 403.
단계 416에서 시스템 메모리(404)는 상기 메모리 읽기 요청에 따라 대응되는 영역에 저장된 데이터를 메모리 제어부(403)으로 전송할 수 있다. In operation 416, the system memory 404 may transmit data stored in a corresponding area to the memory controller 403 according to the memory read request.
단계 418에서 메모리 제어부(403)은 시스템 버스(405)로 상기 수신한 데이터를 전달할 수 있다. In operation 418, the memory controller 403 may transfer the received data to the system bus 405.
단계 420에서 시스템 버스(405)는 로컬 버스(402)로 상기 단계 418에서 수신한 데이터를 전달할 수 있다. In operation 420, the system bus 405 may transfer the data received in operation 418 to the local bus 402.
단계 422에서 로컬 버스(402)는 로컬 프로세서(401)로 상기 단계 420에서 수신한 데이터를 전달할 수 있다. In operation 422, the local bus 402 may transfer the data received in operation 420 to the local processor 401.
이와 같은 과정을 통해 로컬 프로세서(401)는 호스트 시스템과 공유하는 시스템(404) 메모리의 대응되는 영역에 접근할 수 있으며, 접근시 메모리 제어부(403)의 제어에 따라 접근할 수 있는 바, 무결성 모니터 시스템의 독립성이 보장될 수 있다. Through this process, the local processor 401 may access a corresponding region of the memory of the system 404 shared with the host system, and may be accessed under the control of the memory controller 403. Independence of the system can be ensured.
도 4b는 도 3b의 구조의 시스템에서 신호 송수신 방법을 나타낸 도면이다. 4B is a diagram illustrating a signal transmission and reception method in the system of the structure of FIG. 3B.
도 4b를 참조하면, 단계 430에서 로컬프로세서(401)는 메모리 제어부(403)에 메모리 읽기 명령을 전송할 수 있다.Referring to FIG. 4B, in operation 430, the local processor 401 may transmit a memory read command to the memory controller 403.
단계 432에서 메모리 제어부(403)는 상기 수신한 메모리 읽기 명령을 기반으로 대응되는 영역의 메모리를 읽기 요청을 시스템 메모리(404)에 전송할 수 있다. 실시 예에 따라 상기 메모리 읽기에 대응되는 영역은 시스템 메모리(404)의 보안영역으로, 로컬 프로세서(401)이 접근할 수 있는 영역일 수 있다. 상기 영역은 메모리 제어부(403)의 제어에 따라 로컬 프로세서(401)의 읽기 명령에 따라서 접근 할 수 있는 있는 영역이다. In operation 432, the memory controller 403 may transmit a read request to the system memory 404 based on the received memory read command. According to an embodiment of the present disclosure, an area corresponding to the memory read is a security area of the system memory 404 and may be an area accessible by the local processor 401. The area may be accessed according to a read command of the local processor 401 under the control of the memory controller 403.
단계 434에서 시스템 메모리(404)는 상기 메모리 읽기 요청에 따라 대응되는 영역에 저장된 데이터를 메모리 제어부(403)으로 전송할 수 있다. In operation 434, the system memory 404 may transmit data stored in a corresponding area to the memory controller 403 according to the memory read request.
단계 436에서 메모리 제어부(403)은 시스템 버스(405)로 상기 수신한 데이터를 전달할 수 있다. In operation 436, the memory controller 403 may transfer the received data to the system bus 405.
단계 438에서 시스템 버스(405)는 로컬 버스(402)로 상기 단계 436에서 수신한 데이터를 전달할 수 있다. In operation 438, the system bus 405 may transfer the data received in operation 436 to the local bus 402.
단계 440에서 로컬 버스(402)는 로컬 프로세서(401)로 상기 단계 438에서 수신한 데이터를 전달할 수 있다. In operation 440, the local bus 402 may transfer the data received in operation 438 to the local processor 401.
이와 같은 과정을 통해 로컬 프로세서(401)는 호스트 시스템과 공유하는 시스템(404) 메모리의 대응되는 영역에 접근할 수 있으며, 접근시 메모리 제어부(403)의 제어에 따라 접근할 수 있는 바, 무결성 모니터 시스템의 독립성이 보장될 수 있다. 또한 로컬 프로세서(401)가 메모리 제어부(403)와 직접 연결됨에 따라 보다 신속한 동작이 가능한 특징이 있다. Through this process, the local processor 401 may access a corresponding region of the memory of the system 404 shared with the host system, and may be accessed under the control of the memory controller 403. Independence of the system can be ensured. In addition, as the local processor 401 is directly connected to the memory controller 403, a faster operation is possible.
도 4c는 도 3c의 구조의 시스템에서 신호 송수신 방법을 나타낸 도면이다. 4C is a diagram illustrating a signal transmission and reception method in the system of the structure of FIG. 3C.
도 4c를 참조하면, 단계 450에서 로컬프로세서(401)는 로컬 버스(402)에 메모리 읽기 명령을 전송할 수 있다.Referring to FIG. 4C, in operation 450, the local processor 401 may transmit a memory read command to the local bus 402.
단계 452에서 로컬 버스(402)는 시스템 버스(405)로 상기 메모리 읽기 명령을 전달할 수 있다. In operation 452, the local bus 402 may transmit the memory read command to the system bus 405.
단계 454에서 시스템 버스(405)는 메모리 제어부(403)로 상기 메모리 읽기 명령을 전달할 수 있다. In operation 454, the system bus 405 may transmit the memory read command to the memory controller 403.
단계 456에서 메모리 제어부(403)는 상기 수신한 메모리 읽기 명령을 기반으로 대응되는 영역의 메모리를 읽기 요청을 시스템 메모리(404)에 전송할 수 있다. 실시 예에 따라 상기 메모리 읽기에 대응되는 영역은 시스템 메모리(404)의 보안영역으로, 로컬 프로세서(401)이 접근할 수 있는 영역일 수 있다. 상기 영역은 메모리 제어부(403)의 제어에 따라 로컬 프로세서(401)의 읽기 명령에 따라서 접근 할 수 있는 있는 영역이다. In operation 456, the memory controller 403 may transmit a read request to the system memory 404 based on the received memory read command. According to an embodiment of the present disclosure, an area corresponding to the memory read is a security area of the system memory 404 and may be an area accessible by the local processor 401. The area may be accessed according to a read command of the local processor 401 under the control of the memory controller 403.
단계 458에서 시스템 메모리(404)는 상기 메모리 읽기 요청에 따라 대응되는 영역에 저장된 데이터를 메모리 제어부(403)으로 전송할 수 있다. In operation 458, the system memory 404 may transmit data stored in a corresponding area to the memory controller 403 according to the memory read request.
단계 460에서 메모리 제어부(403)은 시스템 버스(405)로 상기 수신한 데이터를 전달할 수 있다. In operation 460, the memory controller 403 may transfer the received data to the system bus 405.
단계 462에서 시스템 버스(405)는 로컬 버스(402)로 상기 단계 460에서 수신한 데이터를 전달할 수 있다. In operation 462, the system bus 405 may transfer the data received in operation 460 to the local bus 402.
단계 464에서 로컬 버스(402)는 로컬 프로세서(401)로 상기 단계 462에서 수신한 데이터를 전달할 수 있다. In operation 464, the local bus 402 may transfer the data received in operation 462 to the local processor 401.
이와 같은 과정을 통해 로컬 프로세서(401)는 호스트 시스템과 공유하는 시스템(404) 메모리의 대응되는 영역에 접근할 수 있으며, 접근시 메모리 제어부(403)의 제어에 따라 접근할 수 있는 바, 무결성 모니터 시스템의 독립성이 보장될 수 있다. 또한 실시 예에서 메모리 제어부(403)로 메모리 읽기 명령을 전달할 때 시스템 버스(405)를 통해 상기 명령을 전달함으로써, 로컬 프로세서(401)와 메모리 제어부(403) 사이에 연결되는 직접 적인 제어 명령 전달 인터페이스가 없는 경우에도 명령을 전달할 수 있다. 실시 예에 따라 메모리 제어부(403)가 호스트 시스템상에 위치할 때 도 4c의 실시 예와 같은 구조로 동작할 수 있다. Through this process, the local processor 401 may access a corresponding region of the memory of the system 404 shared with the host system, and may be accessed under the control of the memory controller 403. Independence of the system can be ensured. In addition, in the embodiment, when the memory read command is transmitted to the memory controller 403, the command is transmitted through the system bus 405, so that the direct control command transfer interface is connected between the local processor 401 and the memory controller 403. You can pass a command even if there is no. According to an embodiment, when the memory controller 403 is located on the host system, the memory controller 403 may operate in the same structure as the embodiment of FIG. 4C.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the present specification and the drawings have been described with respect to the preferred embodiments of the present invention, although specific terms are used, it is merely used in a general sense to easily explain the technical details of the present invention and help the understanding of the invention, It is not intended to limit the scope of the invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention can be carried out in addition to the embodiments disclosed herein.

Claims (14)

  1. 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템의 메모리 제어부에서 메모리 접근 방법에 있어서, A memory access method in a memory controller of an integrity monitor system that shares memory with a host system,
    무결성 모니터 시스템의 로컬 프로세서로부터 메모리 접근 명령을 수신하는 단계; Receiving a memory access instruction from a local processor of the integrity monitor system;
    상기 메모리 접근 명령에 따라 상기 호스트 시스템의 시스템 메모리에 접근(access)하는 단계; Accessing system memory of the host system according to the memory access command;
    상기 호스트 시스템으로부터 상기 접근 명령을 기반으로 대응되는 데이터를 수신하는 단계; 및Receiving corresponding data from the host system based on the access command; And
    상기 수신한 데이터를 상기 로컬 프로세서로 전달하는 단계;를 포함하며, Delivering the received data to the local processor;
    상기 시스템 메모리는 상기 메모리 제어부가 상기 로컬 프로세서로부터 메모리 접근 명령이 수신한 경우 접근 가능한 보안 영역을 포함하는 것을 특징으로 하는 메모리 접근 방법. And the system memory includes a secure area accessible by the memory controller when a memory access command is received from the local processor.
  2. 제1항에 있어서, The method of claim 1,
    상기 수신한 데이터를 로컬 프로세서로 전달하는 단계는Delivering the received data to the local processor
    상기 호스트 시스템의 시스템 버스 및 상기 무결성 모니터 시스템의 로컬 버스를 통해 상기 로컬 프로세서로 상기 수신한 데이터를 전달하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.Transferring the received data to the local processor via a system bus of the host system and a local bus of the integrity monitor system.
  3. 제1항에 있어서, The method of claim 1,
    상기 메모리 접근 명령을 수신하는 단계는,Receiving the memory access command,
    상기 무결성 모니터 시스템의 로컬 버스를 통해 상기 메모리 접근 명령을 수신하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.Receiving the memory access command via a local bus of the integrity monitor system.
  4. 제1항에 있어서, The method of claim 1,
    상기 메모리 접근 명령을 수신하는 단계는,Receiving the memory access command,
    상기 로컬 프로세서와 직접 연결된 인터페이스를 통해 상기 메모리 접근 명령을 수신하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.And receiving the memory access command through an interface directly connected with the local processor.
  5. 제1항에 있어서, The method of claim 1,
    상기 메모리 접근 명령을 수신하는 단계는,Receiving the memory access command,
    상기 무결성 모니터 시스템의 로컬 버스 및 상기 호스트 시스템의 시스템 버스를 통해 상기 메모리 접근 명령을 수신하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.Receiving the memory access command via a local bus of the integrity monitor system and a system bus of the host system.
  6. 제1항에 있어서, The method of claim 1,
    상기 무결성 모니터 시스템은 The integrity monitor system
    상기 호스트 시스템의 시스템 버스 상에서 전송되는 데이터의 무결성을 스누핑을 통해 감시하는 검증부를 포함하는 것을 특징으로 하는 메모리 접근 방법.And a verification unit that monitors the integrity of data transmitted on a system bus of the host system through snooping.
  7. 제1항에 있어서, The method of claim 1,
    상기 시스템 메모리는 The system memory
    상기 호스트 시스템이 접근할 수 있는 시스템 영역을 더 포함하는 것을 특징으로 하는 메모리 접근 방법.And a system area accessible by the host system.
  8. 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템 장치에 있어서, An integrity monitor system device that shares memory with a host system,
    상기 무결성 모니터 시스템의 동작을 제어하는 로컬 프로세서; 및A local processor controlling the operation of the integrity monitor system; And
    상기 로컬 프로세서로부터 메모리 접근 명령을 수신하고, 상기 메모리 접근 명령에 따라 상기 호스트 시스템의 시스템 메모리에 접근(access)하고, 상기 호스트 시스템으로부터 상기 접근 명령을 기반으로 대응되는 데이터를 수신하고, 상기 수신한 데이터를 상기 로컬 프로세서로 전달하는 메모리 제어부를 포함하며, Receiving a memory access command from the local processor, accessing a system memory of the host system according to the memory access command, receiving corresponding data from the host system based on the access command, and receiving the received data A memory controller for transferring data to the local processor;
    상기 시스템 메모리는 상기 메모리 제어부가 상기 로컬 프로세서로부터 메모리 접근 명령이 수신한 경우 접근 가능한 보안 영역을 포함하는 것을 특징으로 하는 무결성 모니터 시스템 장치.And the system memory includes a secure area accessible by the memory controller when a memory access command is received from the local processor.
  9. 제8항에 있어서, The method of claim 8,
    상기 메모리 제어부는 상기 호스트 시스템의 시스템 버스 및 상기 무결성 모니터 시스템의 로컬 버스를 통해 상기 로컬 프로세서로 상기 수신한 데이터를 전달하는 것을 특징으로 하는 무결성 모니터 시스템 장치.And the memory controller transfers the received data to the local processor through a system bus of the host system and a local bus of the integrity monitor system.
  10. 제8항에 있어서, The method of claim 8,
    상기 메모리 제어부는 The memory controller
    상기 무결성 모니터 시스템의 로컬 버스를 통해 상기 메모리 접근 명령을 수신하는 것을 특징으로 하는 무결성 모니터 시스템 장치.And receive the memory access command over a local bus of the integrity monitor system.
  11. 제8항에 있어서, The method of claim 8,
    상기 메모리 제어부는 The memory controller
    상기 로컬 프로세서와 직접 연결된 인터페이스를 통해 상기 메모리 접근 명령을 수신하는 것을 특징으로 하는 무결성 모니터 시스템 장치.And receive the memory access command through an interface directly connected to the local processor.
  12. 제8항에 있어서, The method of claim 8,
    상기 메모리 제어부는 The memory controller
    상기 무결성 모니터 시스템의 로컬 버스 및 상기 호스트 시스템의 시스템 버스를 통해 상기 메모리 접근 명령을 수신하는 것을 특징으로 하는 무결성 모니터 시스템 장치.And receive the memory access command through a local bus of the integrity monitor system and a system bus of the host system.
  13. 제8항에 있어서, The method of claim 8,
    상기 호스트 시스템의 시스템 버스 상에서 전송되는 데이터의 무결성을 스누핑을 통해 감시하는 검증부를 더 포함하는 것을 특징으로 하는 무결성 모니터 시스템 장치.And a verification unit for monitoring the integrity of data transmitted on the system bus of the host system through snooping.
  14. 제8항에 있어서, The method of claim 8,
    상기 시스템 메모리는 The system memory
    상기 호스트 시스템에 접근할 수 있는 시스템 영역을 더 포함하는 것을 특징으로 하는 무결성 모니터 시스템 장치.And a system area accessible to the host system.
PCT/KR2014/007574 2013-08-16 2014-08-14 Method and device for monitoring data integrity in shared memory environment WO2015023144A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/911,932 US10168934B2 (en) 2013-08-16 2014-08-14 Method and device for monitoring data integrity in shared memory environment
EP14836158.7A EP3035227B1 (en) 2013-08-16 2014-08-14 Method and device for monitoring data integrity in shared memory environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130097242A KR102167393B1 (en) 2013-08-16 2013-08-16 Method and apparatus for monitoring data integrity in shared memory environment
KR10-2013-0097242 2013-08-16

Publications (1)

Publication Number Publication Date
WO2015023144A1 true WO2015023144A1 (en) 2015-02-19

Family

ID=52468475

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/007574 WO2015023144A1 (en) 2013-08-16 2014-08-14 Method and device for monitoring data integrity in shared memory environment

Country Status (4)

Country Link
US (1) US10168934B2 (en)
EP (1) EP3035227B1 (en)
KR (1) KR102167393B1 (en)
WO (1) WO2015023144A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436317B2 (en) * 2017-02-21 2022-09-06 Raptor Engineering LLC Systems and methods for assuring integrity of operating system and software components at runtime
KR102411920B1 (en) * 2017-11-08 2022-06-22 삼성전자주식회사 Electronic device and control method thereof
FR3098614B1 (en) * 2019-07-11 2022-11-04 Idemia Identity & Security France Method for controlling commands capable of being processed by a peripheral such as an actuator
US11467897B1 (en) * 2021-08-09 2022-10-11 Micron Technology, Inc. Adaptive data integrity scan frequency
KR20230139303A (en) 2022-03-25 2023-10-05 한국전자통신연구원 Apparatus and method for integrity verification in memory disaggregation environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623633A (en) * 1993-07-27 1997-04-22 Dell Usa, L.P. Cache-based computer system employing a snoop control circuit with write-back suppression
US20050182909A1 (en) * 2003-12-23 2005-08-18 Stmicroelectronics S.A. Memory access control in an electronic apparatus
US20080109903A1 (en) * 2006-11-07 2008-05-08 Spansion Llc Secure co-processing memory controller integrated into an embedded memory subsystem
KR20080100674A (en) * 2007-05-14 2008-11-19 삼성전자주식회사 Method and apparatus for checking integrity of firmware
US20090319741A1 (en) * 2008-06-24 2009-12-24 Nagravision Sa Secure memory management system and method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867655A (en) * 1993-12-08 1999-02-02 Packard Bell Nec Method to store privileged data within the primary CPU memory space
US6212635B1 (en) * 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US7266842B2 (en) 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
AU2003901454A0 (en) * 2003-03-28 2003-04-10 Secure Systems Limited Security system and method for computer operating systems
US8955104B2 (en) 2004-07-07 2015-02-10 University Of Maryland College Park Method and system for monitoring system memory integrity
EP1632829A1 (en) 2004-09-03 2006-03-08 Canal + Technologies Data integrity checking circuit
US7979716B2 (en) * 2004-11-18 2011-07-12 Biogy, Inc. Method of generating access keys
US8151073B2 (en) * 2008-06-25 2012-04-03 Fac Systems Inc. Security system for computers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623633A (en) * 1993-07-27 1997-04-22 Dell Usa, L.P. Cache-based computer system employing a snoop control circuit with write-back suppression
US20050182909A1 (en) * 2003-12-23 2005-08-18 Stmicroelectronics S.A. Memory access control in an electronic apparatus
US20080109903A1 (en) * 2006-11-07 2008-05-08 Spansion Llc Secure co-processing memory controller integrated into an embedded memory subsystem
KR20080100674A (en) * 2007-05-14 2008-11-19 삼성전자주식회사 Method and apparatus for checking integrity of firmware
US20090319741A1 (en) * 2008-06-24 2009-12-24 Nagravision Sa Secure memory management system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3035227A4 *

Also Published As

Publication number Publication date
US20160196083A1 (en) 2016-07-07
EP3035227A4 (en) 2017-01-11
US10168934B2 (en) 2019-01-01
EP3035227B1 (en) 2022-09-28
KR102167393B1 (en) 2020-10-19
EP3035227A1 (en) 2016-06-22
KR20150019845A (en) 2015-02-25

Similar Documents

Publication Publication Date Title
KR101403233B1 (en) Information processing apparatus and unauthorized access prevention method
WO2015023144A1 (en) Method and device for monitoring data integrity in shared memory environment
US10210121B2 (en) System for switching between a single node PCIe mode and a multi-node PCIe mode
KR100715740B1 (en) Hot plug interface control method and apparatus
US7716389B1 (en) Direct memory access controller with encryption and decryption for non-blocking high bandwidth I/O transactions
US9633196B2 (en) Electronic system, electronic apparatus and access authentication method thereof
KR20140078161A (en) PCI express switch and computer system using the same
US20140115197A1 (en) Inter-queue anti-starvation mechanism with dynamic deadlock avoidance in a retry based pipeline
WO2015102372A1 (en) Apparatus and method for virtualizing network interface
US9170963B2 (en) Apparatus and method for generating interrupt signal that supports multi-processor
WO2014077614A1 (en) Anti-malware system, method of processing data in the same, and computing device
EP2538335A2 (en) Apparatus and method for sharing i/o device
CN111737178B (en) Method and equipment for obtaining evidence in computer memory and memory evidence analysis system
WO2013027951A1 (en) Method and apparatus for allocating interrupts in a multi-core system
US9229895B2 (en) Multi-core integrated circuit configurable to provide multiple logical domains
WO2012015273A2 (en) Direct memory access device for multi-core system and operating method of the same
CN114912107B (en) Access management method, related device, system and computer readable storage medium
WO2023177024A1 (en) Device and method for providing source transformation solution for architecture change
CN101169767B (en) Access control device and access control method
US20050102455A1 (en) Data transmission system
WO2019235664A1 (en) Debugger blocking method and system for program protection
WO2024071652A1 (en) Electronic device, and method for controlling same
WO2014181924A1 (en) Processing apparatus and method
WO2023075156A1 (en) Device and method for performing data communication between multiple applications
WO2019124972A1 (en) Parallel processing system and operation method thereof

Legal Events

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

Ref document number: 14836158

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2014836158

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14911932

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE