KR20150019845A - 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법 - Google Patents

메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법 Download PDF

Info

Publication number
KR20150019845A
KR20150019845A KR20130097242A KR20130097242A KR20150019845A KR 20150019845 A KR20150019845 A KR 20150019845A KR 20130097242 A KR20130097242 A KR 20130097242A KR 20130097242 A KR20130097242 A KR 20130097242A KR 20150019845 A KR20150019845 A KR 20150019845A
Authority
KR
South Korea
Prior art keywords
memory
bus
integrity
memory access
local
Prior art date
Application number
KR20130097242A
Other languages
English (en)
Other versions
KR102167393B1 (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 KR1020130097242A priority Critical patent/KR102167393B1/ko
Priority to EP14836158.7A priority patent/EP3035227B1/en
Priority to PCT/KR2014/007574 priority patent/WO2015023144A1/ko
Priority to US14/911,932 priority patent/US10168934B2/en
Publication of KR20150019845A publication Critical patent/KR20150019845A/ko
Application granted granted Critical
Publication of KR102167393B1 publication Critical patent/KR102167393B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

본 명세서의 일 실시 예에 따르는 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템의 메모리 제어부의 메모리 접근 방법은 무결성 모니터 시스템의 로컬 프로세서로부터 메모리 접근 명령을 수신하는 단계; 상기 메모리 접근 명령에 따라 대응되는 상기 호스트 시스템의 시스템 메모리에 접근하는 단계; 상기 접근 명령에 따라 상기 시스템으로부터 대응되는 데이터를 수신하는 단계; 및 상기 수신한 데이터를 로컬 프로세서로 전달하는 단계;를 포함하며, 상기 시스템 메모리는 상기 로컬 프로세서로부터 메모리 접근 명령이 수신되었을 경우에 접근할 수 있는 보안 영역을 포함한다. 본 명세서의 일 실시 예에 따르면, SoC 환경에서 호스트 시스템에서 처리되는 데이터의 무결성을 감시할 수 있는 방법 및 장치가 제공된다.

Description

메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법{Method and apparatus for monitoring data integrity in shared memory environment}
본 명세서의 실시 예는 스누퍼 기반의 커널 무결성 감시 장치 및 그 제어 방법에 관한 것이다. 보다 구체적으로 시스템 온 칩(System on Chip) 환경에서 메인 시스템과 메모리를 공유하는 무결성 감시 장치 및 그 제어 방법에 관한 것이다.
SoC(System on Chip)을 이용한 장치들이 늘어나면서 환경에서 데이터 처리시 악성 소프트웨어 공격을 감시하는 방법의 필요성이 높아졌다. 특히 SoC 환경에서 OS(Operating System) Kernel에 대한 공격 감시를 보다 효율적으로 수행할 필요성이 높아지게 됨으로써 SoC 환경에서 처리되는 데이터를 감시함으로써 무결성(integrity)을 검사하고, 악성 소프트 등의 공격을 효율적으로 차단할 필요성이 발생하였다. 그러나 별도의 감시 장치를 이용할 경우, 추가되는 장치의 처리 프로세서 및 메모리를 추가함에 따라 SoC의 면적의 확대가 수반되었고 이에 따라 제조 단가가 상승하고, 시스템 처리시 전력 소비가 많아지는 문제점이 발생하였다.
본 명세서의 실시 예는 상술한 문제점을 해결하기 위하여 제안된 것으로 SoC 환경에서 감시 장치를 구비하고, 이를 통해 악성 프로그램등의 공격에 따라 데이터의 무결성이 깨어지는 것을 감지 하고 이에 따른 대응 동작을 수행할 수 있는 장치 및 제어방법을 제공하는 것을 목적으로 한다.
또한 본 명세서의 다른 실시 예는 SoC환경에서 데이터 무결성 감시를 위해 호스트 시스템과 메모리를 공유하는 방법을 통해 시스템 면적을 줄이고 전력소비를 줄일 수 있는 감시 장치 및 제어 방법을 제공하는 것을 목적으로 한다.
상술한 과제를 달성하기 위하여, 본 명세서의 일 실시 예에 따르는 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템의 메모리 제어부의 메모리 접근 방법은 무결성 모니터 시스템의 로컬 프로세서로부터 메모리 접근 명령을 수신하는 단계; 상기 메모리 접근 명령에 따라 대응되는 상기 호스트 시스템의 시스템 메모리에 접근하는 단계; 상기 접근 명령에 따라 상기 시스템으로부터 대응되는 데이터를 수신하는 단계; 및 상기 수신한 데이터를 로컬 프로세서로 전달하는 단계;를 포함하며, 상기 시스템 메모리는 상기 로컬 프로세서로부터 메모리 접근 명령이 수신되었을 경우에 접근할 수 있는 보안 영역을 포함한다.
본 명세서의 다른 실시 예에 따르는 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템의 메모리 제어부는 호스트 시스템의 시스템 메모리에 접근하는 메모리 접근부; 및 무결성 모니터 시스템의 로컬 프로세서로부터 메모리 접근 명령을 수신하고, 상기 메모리 접근 명령에 따라 상기 메모리 접근부를 제어하여 대응되는 상기 호스트 시스템의 시스템 메모리에 접근하고, 상기 접근 명령에 따라 상기 시스템으로부터 대응되는 데이터를 수신하고, 상기 수신한 데이터를 로컬 프로세서로 전달하는 설정부;를 포함하고, 상기 시스템 메모리는 상기 로컬 프로세서로부터 메모리 접근 명령이 수신되었을 경우에 접근할 수 있는 보안 영역을 포함하는 것을 특징으로 한다.
본 명세서의 일 실시 예에 따르면, SoC 환경에서 호스트 시스템에서 처리되는 데이터의 무결성을 감시할 수 있는 방법 및 장치가 제공된다.
또한 본 명세서의 다른 실시 예에 따르면 호스트 시스템에서 데이터 무결성을 감시하는 장치가 호스트 시스템과 메모리를 공유함에 따라 시스템 면적으로 효율적으로 이용하고, 전력 소비를 줄일 수 있는 방법 및 장치가 제공된다.
본 명세서의 또 다른 실시 예에 따르면, 호스트 시스템과 메모리를 공유할 경우 메모리 읽기 쓰기를 위한 제어 장치를 구비함으로써 무결성 모니터링 장치의 신뢰성을 높일 수 있다.
도 1은 본 명세서의 실시 예에 따른 시스템의 구조를 나타낸 도면이다.
도 2는 본 명세서의 다른 실시 예에 따른 시스템의 구조를 나타낸 도면이다.
도 3a 내지 3c의 경우 본 명세서의 각 실시 예에 따른 메모리 제어부의 연결관계를 나타낸 도면이다.
도 4a 내지 4c의 경우 본 명세서의 각 실시 예에 따른 각 구성도의 신호 흐름을 나타낸 도면이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시 예들에 의하여 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법을 설명하기 위해 도면들을 참고하여 본 발명을 설명하도록 한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 1은 본 명세서의 실시 예에 따른 시스템의 구조를 나타낸 도면이다.
도 1을 참조하면, 본 명세서의 시스템은 연산 및 신호 송수신을 수행할 수 있는 호스트 시스템(150) 및 호스트 시스템(150)에서 송수신되는 신호의 무결성을 감시하는 무결성 모니터 시스템(100)을 포함할 수 있다.
실시 예에 따라 무결성 모니터 시스템(100)은 호스트 시스템(150)과 동일한 칩 상에 구현될 수 있으며, 별도의 연결 구조를 통해서 서로 연결될 수도 있다.
실시 예의 무결성 모니터 시스템(100)은 스누퍼(105), 검증부(110), 로컬 버스(115), 로컬 메모리(120), 로컬 프로세서(125) 및 로컬 브릿지(130)중 하나 이상을 포함할 수 있따.
스누퍼(105)는 시스템 버스(165)와 연결될 수 있으며, 시스템 버스(165)상을 오가는 데이터를 스누핑 기법을 통해 감시할 수 있다.
검증부(110)는 스누퍼(105)가 스누핑 한 트래픽을 검증하여, 악성 소프트등의 공격 등에 의해 무결성이 유지되는지 판단할 수 있다. 검증부(110)는 로컬 버스(115)를 통해 무결성 모니터 시스템(100)의 다른 구성 요소와 데이터 송수신을 할 수 있다.
로컬 메모리(120)는 무결성 모니터 시스템(100)이 동작 중 필요한 데이터 및 무결성 검증 결과 값과 같은 데이터 중 하나 이상을 읽고 쓸 수 있다. 로컬 메모리(120)는 로컬 버스(115)를 통해 무결성 모니터 시스템(100)의 다른 구성 요소와 데이터 송수신을 할 수 있다.
로컬 프로세서(125)는 무결성 모니터 시스템(100)의 동작 전반을 제어할 수 있는 제어부의 역할을 수행할 수 있다. 로컬 프로세서(125)는 로컬버스(115)를 통해 무결성 모니터 시스템(100)의 다른 구성 요소와 데이터 송수신을 할 수 있다.
로컬 브릿지(130)는 로컬 버스(115)를 통해 무결성 모니터 시스템(100)의 다른 구성 요소와 데이터 송수신을 할 수 있으며, 외부의 시스템과 신호를 송수신 할 수 있는 연결 인터페이스의 동작을 수행할 수 있다. 실시 예에서 로컬 브릿지(130)는 호스트 시스템(150)의 시스템 브릿지(170)와 연결되어 신호 송수신을 수행할 수 있다.
호스트 시스템은 시스템 메모리(155), 시스템 프로세서(160), 시스템 버스(165) 및 시스템 브릿지(170) 중 하나 이상을 포함할 수 있다.
시스템 메모리(155)는 호스트 시스템(150)이 동작하는데 필요한 데이터를 저장할 수 있으며, 시스템 프로세서(160)의 제어에 의해 저장된 데이터를 읽을 수 있다. 시스템 메모리(155)는 시스템 버스(165)를 통해 호스트 시스템(150)의 다른 구성 요소와 데이터 송수신을 할 수 있다.
시스템 프로세서(160)는 호스트 시스템(150)의 동작 전반을 제어할 수 있는 제어부의 역할을 수행할 수 있다. 시스템 프로세서(160)는 시스템 버스(165)를 통해 호스트 시스템(150)의 다른 구성 요소와 데이터 송수신을 할 수 있다.
시스템 브릿지(170)는 시스템 버스(165)를 통해 호스트 시스템(150)의 다른 구성 요소와 데이터 송수신을 할 수 있으며, 외부의 시스템과 신호를 송수신 할 수 있는 연결 인터페이스의 동작을 수행할 수 있다. 실시 예에서 시스템 브릿지(170)는 무결성 모니터 시스템(100)의 로컬 브릿지(130)와 연결되어 신호 송수신을 수행할 수 있다.
실시 예에서 무결성 모니터 시스템(100)은 호스트 시스템(150)에서 발생하는 트래픽을 감시해서 트래픽에 포함되는 데이터의 무결성(integrity)을 감시할 수 있다. 보다 구체적으로 실시 예에 따라 무결성 모니터 시스템(100)은 호스트 시스템(150)의 시스템 버스(165)상에서 송수신되는 트래픽을 스누퍼(105)를 통해 감시할 수 있다. 스누퍼(105)는 스누핑 방법을 통해 시스템 버스 상에서 오가는 트래픽을 감시할 수 있다.
만약 무결성 모니터 시스템(100)이 트래픽 중 무결성이 깨어진 데이터가 있다는 것을 판단할 경우 무결성 모니터 시스템(100)은 호스트 시스템(150)에 해당 데이터의 무결성이 깨어진 것을 알릴 수 있다. 보다 구체적으로 무결성 모니터 시스템(100)은 로컬 브릿지(130)를 통해 시스템 브릿지(170)를 거쳐 시스템 프로세서(160)로 해당 데이터의 무결성이 깨어졌음을 알릴 수 있다. 시스템 프로세서(160)은 이에 대응하여 무결성이 깨어진 데이터를 다시 처리하는 등의 동작을 수행할 수 있다. 이와 같이 시스템 버스(165)상을 오가는 트래픽의 무결성 여부를 무결성 모니터 시스템(100)을 통해 감시함으로써 보다 신뢰할 수 있는 동작을 수행할 수 있다.
실시 예에서 로컬 브릿지(130)는 선택적인 구조로 시스템 브릿지(170)는 직접적인 연결을 통해 로컬 버스(115)와 연결될 수도 있다.
도 2는 본 명세서의 다른 실시 예에 따른 시스템의 구조를 나타낸 도면이다.
도 2를 참조하면, 실시 예에 따라 무결성 모니터 시스템(200)은 호스트 시스템(250)과 동일한 칩 상에 구현될 수 있으며, 별도의 연결 구조를 통해서 서로 연결될 수도 있다. 또한 도 2에 개시된 실시 예는 무결성 모니터 시스템(200)이 호스트 시스템(250)의 시스템 메모리(255)영역을 공유하며, 이와 같은 공유를 위해 메모리 제어부(220)를 더 포함할 수 있다.
실시 예의 무결성 모니터 시스템(200)은 스누퍼(205), 검증부(210), 로컬 버스(215), 메모리 제어부(220) 및 로컬 프로세서(225)중 하나 이상을 포함할 수 있다.
또한 실시 예에 호스트 시스템(250)은 시스템 메모리(255), 시스템 프로세서(260), 시스템 버스(265) 및 시스템 브릿지(270) 중 하나 이상을 포함할 수 있다.
스누퍼(205)는 시스템 버스(165)와 연결될 수 있으며, 시스템 버스(265)상을 오가는 데이터를 스누핑 기법을 통해 감시할 수 있다.
검증부(210)는 스누퍼(205)가 스누핑 한 트래픽을 검증하여, 악성 소프트등의 공격 등에 의해 무결성이 유지되는지 판단할 수 있다. 검증부(210)는 로컬 버스(215)를 통해 무결성 모니터 시스템(200)의 다른 구성 요소와 데이터 송수신을 할 수 있다.
메모리 제어부(220)는 실시 예에서 무결성 모니터 시스템(200)이 호스트 시스템(250)의 시스템 메모리(255)를 공유하기 위한 모듈이다. 보다 구체적으로 로컬 프로세서(225) 및 시스템 프로세서(260)의 제어 신호에 따라 시스템 메모리(255)에 접근하여, 읽기 또는 쓰기 동작을 수행할 수 있다. 메모리 제어부(220)는 로컬 버스(215), 로컬프로세서(225), 시스템 메모리(255) 및 시스템 버스(265) 중 하나 이상과 연결될 수 있다. 상기 연결 중 하나 이상은 선택적으로 수행될 수 있으며 메모리 제어부의 상세한 설명과 연결 관계는 후술하도록 한다.
로컬 프로세서(225)는 무결성 모니터 시스템(200)의 동작 전반을 제어할 수 있는 제어부의 역할을 수행할 수 있다. 로컬 프로세서(225)는 로컬버스(215)를 통해 무결성 모니터 시스템(200)의 다른 구성 요소와 데이터 송수신을 할 수 있다. 또한 로컬 프로세서(225)는 메모리 제어부(220)를 제어하여 시스템 메모리(255)상에 저장된 데이터를 읽어오도록 할 수 있다. 보다 구체적으로 메모리 제어부(220)는 시스템 메모리(255)에서 저장된 데이터를 읽어서, 시스템 버스(265), 시스템 브릿지(270), 로컬 버스(215)를 통해 로컬 프로세서(225)로 전달할 수 있다. 그러나 실시 예에서 시스템 브릿지(270)역시 선택적인 구성일 수 있으며, 다른 실시 예에서는 로컬 버스(215)와 시슷템 브릿지(270) 사이에 로컬 버스를 추가적으로 구비할 수 있다.
호스트 시스템은 시스템 메모리(255), 시스템 프로세서(260), 시스템 버스(265) 및 시스템 브릿지(270) 중 하나 이상을 포함할 수 있다.
시스템 메모리(255)는 보안 영역(257)과 시스템 영역(259)을 포함할 수 있으며, 각 영역에는 프로그램 및 데이터 중 하나 이상을 저장할 수 있다.
보안 영역(257)의 경우 실시 예에서 무결성 모니터 시스템(200)과 관련된 프로그램 및 데이터 중 하나 이상을 저장할 수 있다. 메모리 제어부(220)를 통해 시스템 메모리(255)에 접근할 수 있는 바, 메모리 제어부(220)의 동작을 통해 무결성 모니터 시스템(200)의 동작에 따른 접근일 경우에만 보안영역(257)에 접근할 수 있고, 이를 통해 시스템 메모리(255)를 공유하는 실시 예와 같은 환경에서도 무결성 모니터 시스템(200)의 커널 독립성을 보증할 수 있다.
시스템 영역(259)의 경우 실시 예에서 호스트 시스템(250)이 메모리 제어부(220)를 통해 접근할 수 있는 영역이다. 보다 구체적으로 호스트 시스템(250)과 관련된 프로그램 및 데이터 중 하나 이상을 저장할 수 있다. 메모리 제어부(220)는 호스트 시스템(250)의 요청에 따라 시스템 메모리(255)에 접근할 경우, 보안 영역(257)에는 접근할 수 없도록 함으로써 역시 커널 독립성을 보증할 수 있다.
실시 예에서 보안영역(257)은 로컬 프로세서(255)가 메모리 제어부(220)을 통하여만 영역을 설정하고 변경 될 수 있으며, 시스템 프로세서(260)은 보안영역(257)에 대해서는 어떠한 동작 및 접근을 할 수 없다.
다른 실시 예에서 스누퍼(205)는 시스템 버스(265)의 정보를 살필 수 있다. 또안 검증부(210)는 보안 영역(257)의 주소를 저장하고 있으며, 보안 영역(257)에 대한 공격 검출 시 로컬 프로세서(225)에게 분석을 요청하고, 로컬 프로세서(225)는 상기 분석의 결과를 시스템 프로세서(260)에 알릴 수 있다.
또 다른 실시 예에서 보안 영역(257)은 시스템 프로세서(260)에 의해 무결성 모니터 시스템(200)에 할당 될 수 있으며, 할당 정보에 따라 메모리 제어부(220), 검증부(210) 및 로컬 프로세서(225)의 동작이 결정될 수 있다.
시스템 프로세서(260)는 호스트 시스템(250)의 동작 전반을 제어할 수 있는 제어부의 역할을 수행할 수 있다. 시스템 프로세서(260)는 시스템 버스(265)를 통해 호스트 시스템(250)의 다른 구성 요소와 데이터 송수신을 할 수 있다. 또한 다른 실시 예에서 시스템 프로세서(260)는 보안영역(257)을 제외한 호스트 시스템(250)의 동작 전반을 제어할 수 있다.
시스템 브릿지(270)는 시스템 버스(265)를 통해 호스트 시스템(250)의 다른 구성 요소와 데이터 송수신을 할 수 있으며, 외부의 시스템과 신호를 송수신 할 수 있는 연결 인터페이스의 동작을 수행할 수 있다. 실시 예에서 시스템 브릿지(270)는 무결성 모니터 시스템(200)과 연결되어 신호 송수신을 수행할 수 있다.
실시 예에서 무결성 모니터 시스템(200)은 호스트 시스템(250)에서 발생하는 트래픽을 감시해서 트래픽에 포함되는 데이터의 무결성(integrity)을 감시할 수 있다. 보다 구체적으로 실시 예에 따라 무결성 모니터 시스템(200)은 호스트 시스템(250)의 시스템 버스(265)상에서 송수신되는 트래픽을 스누퍼(205)를 통해 감시할 수 있다. 스누퍼(205)는 스누핑 방법을 통해 시스템 버스 상에서 오가는 트래픽을 감시할 수 있다.
만약 무결성 모니터 시스템(200)이 트래픽 중 무결성이 깨어진 데이터가 있다는 것을 판단할 경우 무결성 모니터 시스템(200)은 호스트 시스템(250)에 해당 데이터의 무결성이 깨어진 것을 알릴 수 있다. 이와 같이 시스템 버스(265)상을 오가는 트래픽의 무결성 여부를 무결성 모니터 시스템(200)을 통해 감시함으로써 보다 신뢰할 수 있는 동작을 수행할 수 있다. 메모리 제어부(220)의 구성 및 연결 관계는 아래에서 서술하도록 한다.
또한 실시 예에서 메모리 제어부(220)는 무결성 모니터 시스템(200)에 포함된 형식으로 구성되나, 실시 예에 따라 호스트 시스템(200) 내에 위치할 수도 있다.
또한 실시 예에서 무결성 모니터 시스템(200)은 호스트 시스템 상에 연결될어 동작할 수 있으며, 무결성 모니터 시스템(200)이 연결되면, 무결성 모니터 시스템(200)이 시스템 메모리(255)와 시스템 버스(265)가 연결되지 않도록 시스템 메모리(255)를 제어할 수 있다.
도 3a 내지 3c의 경우 본 명세서의 각 실시 예에 따른 메모리 제어부의 연결관계를 나타낸 도면이다.
도 3a를 참조하면, 무결성 모니터 시스템의 메모리 제어부(305)는 메모리 접근부(310) 및 설정부(315)를 포함할 수 있다.
메모리 접근부(310)는 시스템 메모리와 시스템 버스와 연결될 수 있다. 설정부에 입력되는 제어 명령을 기반으로 시스템 메모리에 접근하여 읽기 또는 쓰기 동작을 수행할 수 있다. 또한 시스템 버스로부터 프로그램 및 데이터 중 하나 이상을 수신하여 시스템 메모리에 쓰기동작을 수행하거나, 시스템 메모리에서 읽은 프로그램 및 데이터 중 하나 이상을 시스템 버스로 전달할 수 있다.
설정부(315)는 수신된 제어 명령을 기반으로 메모리 접근부(310)의 동작을 제어할 수 있다. 실시 예에서, 설정부(315)는 무결성 모니터 시스템의 로컬 버스와 연결될 수 있다. 또한 상기 제어 명령은 무결성 모니터 시스템의 로컬 프로세서로부터 수신될 수 있다. 또한 본 실시 예에서 상기 제어 명령은 로컬 버스를 통해 수신될 수 있다. 보다 구체적으로 시스템 버스로부터 호스트 시스템의 시스템 프로세서로부터 읽기 또는 쓰기 명령이 수신된 경우 메모리 접근부는 시스템 메모리 상의 시스템 영역에 접근할 수 있도록 제어될 수 있다. 또한 무결성 모니터 시스템의 로컬 프로세서로부터 접근 명령이 수행되면 설정부(315)는 상기 명령을 기반으로 메모리 접근부가 시스템 메모리 상의 보안 영역에 접근할 수 있도록 제어할 수 있다. 설정부(315)로 수신되는 메시지는 로컬 버스를 통해 수신될 수 있다.
도 3b를 참조하면, 무결성 모니터 시스템의 메모리 제어부(305)는 메모리 접근부(310) 및 설정부(315)를 포함할 수 있다.
메모리 접근부(310)는 시스템 메모리와 시스템 버스와 연결될 수 있다. 설정부에 입력되는 제어 명령을 기반으로 시스템 메모리에 접근하여 읽기 또는 쓰기 동작을 수행할 수 있다. 또한 시스템 버스로부터 프로그램 및 데이터 중 하나 이상을 수신하여 시스템 메모리에 쓰기동작을 수행하거나, 시스템 메모리에서 읽은 프로그램 및 데이터 중 하나 이상을 시스템 버스로 전달할 수 있다.
설정부(315)는 수신된 제어 명령을 기반으로 메모리 접근부(310)의 동작을 제어할 수 있다. 실시 예에서, 설정부(315)는 무결성 모니터 시스템의 로컬 프로세서와 연결될 수 있다. 또한 실시 예에서 상기 제어 명령은 상기 무결성 모니터 시스템의 로컬 프로세서로부터 수신될 수 있다. 보다 구체적으로 시스템 버스로부터 호스트 시스템의 시스템 프로세서로부터 읽기 또는 쓰기 명령이 수신된 경우 메모리 접근부는 시스템 메모리 상의 시스템 영역에 접근할 수 있도록 제어될 수 있다. 또한 무결성 모니터 시스템의 로컬 프로세서로부터 접근 명령이 수신되면 설정부(315)는 상기 명령을 기반으로 메모리 접근부가 시스템 메모리 상의 보안 영역에 접근할 수 있도록 제어할 수 있다. 설정부(315)로 수신되는 메시지는 로컬 버스를 통해 수신될 수 있다.
도 3c를 참조하면, 무결성 모니터 시스템의 메모리 제어부(305)는 메모리 접근부(310) 및 설정부(315)를 포함할 수 있다.
메모리 접근부(310)는 시스템 메모리와 시스템 버스와 연결될 수 있다. 설정부에 입력되는 제어 명령을 기반으로 시스템 메모리에 접근하여 읽기 또는 쓰기 동작을 수행할 수 있다. 또한 시스템 버스로부터 프로그램 및 데이터 중 하나 이상을 수신하여 시스템 메모리에 쓰기동작을 수행하거나, 시스템 메모리에서 읽은 프로그램 및 데이터 중 하나 이상을 시스템 버스로 전달할 수 있다.
설정부(315)는 수신된 제어 명령을 기반으로 메모리 접근부(310)의 동작을 제어할 수 있다. 실시 예에서, 설정부(315)는 호스트 시스템의 시스템 버스와 연결될 수 있다. 보다 구체적으로 로컬 프로세서는 로컬 버스를 통해 시스템 버스와 연결되고 시스템 버스를 통해 설정부에 제어 명령을 전달할 수 있다. 또한 실시 예에서 상기 제어 명령은 상기 무결성 모니터 시스템의 로컬 프로세서로부터 수신될 수 있다. 보다 구체적으로 시스템 버스로부터 호스트 시스템의 시스템 프로세서로부터 읽기 또는 쓰기 명령이 수신된 경우 메모리 접근부는 시스템 메모리 상의 시스템 영역에 접근할 수 있도록 제어될 수 있다. 또한 무결성 모니터 시스템의 로컬 프로세서로부터 접근 명령이 수신되면 설정부(315)는 상기 명령을 기반으로 메모리 접근부가 시스템 메모리 상의 보안 영역에 접근할 수 있도록 제어할 수 있다. 설정부(315)로 수신되는 메시지는 로컬 버스를 통해 수신될 수 있다.
실시 예에서 설정부(315)는 로컬 프로세서의 제어 명령에 따라 메모리 접근부(310)가 시스템 메모리에 연결 되는 방법을 제어할 수 있다. 실시 예에 따라 시스템 메모리의 보안 영역은 무결성 모니터 시스템 접근만을 허용하며, 다른 장치들의 접근시도는 차단함으로써 무결성 모니터 시스템의 독립성을 보장할 수 있다.
도 4a 내지 4c의 경우 본 명세서의 각 실시 예에 따른 각 구성도의 신호 흐름을 나타낸 도면이다. 실시 예에서는 로컬 프로세서(401), 로컬 버스(402), 메모리 제어부(403), 시스템 메모리(404) 및 시스템 버스(405) 중 하나 이상의 엔티티 상에서 신호가 오갈 수 있다. 실시 예에서는 읽기 명령의 신호 흐름에 대해서 설명하고 있으나 쓰기 명령도 대응되는 구조로 수행될 수 있다.
도 4a는 도 3a의 구조의 시스템에서 신호 송수신 방법을 나타낸 도면이다.
도 4a를 참조하면, 단계 410에서 로컬프로세서(401)는 로컬 버스(402)에 메모리 읽기 명령을 전송할 수 있다.
단계 412에서 로컬 버스(402)는 메모리 제어부(403)로 상기 메모리 읽기 명령을 전달할 수 있다.
단계 414에서 메모리 제어부(403)는 상기 수신한 메모리 읽기 명령을 기반으로 대응되는 영역의 메모리를 읽기 요청을 시스템 메모리(404)에 전송할 수 있다. 실시 예에 따라 상기 메모리 읽기에 대응되는 영역은 시스템 메모리(404)의 보안영역으로, 로컬 프로세서(401)이 접근할 수 있는 영역일 수 있다. 상기 영역은 메모리 제어부(403)의 제어에 따라 로컬 프로세서(401)의 읽기 명령에 따라서 접근 할 수 있는 있는 영역이다.
단계 416에서 시스템 메모리(404)는 상기 메모리 읽기 요청에 따라 대응되는 영역에 저장된 데이터를 메모리 제어부(403)으로 전송할 수 있다.
단계 418에서 메모리 제어부(403)은 시스템 버스(405)로 상기 수신한 데이터를 전달할 수 있다.
단계 420에서 시스템 버스(405)는 로컬 버스(402)로 상기 단계 418에서 수신한 데이터를 전달할 수 있다.
단계 422에서 로컬 버스(402)는 로컬 프로세서(401)로 상기 단계 420에서 수신한 데이터를 전달할 수 있다.
이와 같은 과정을 통해 로컬 프로세서(401)는 호스트 시스템과 공유하는 시스템(404) 메모리의 대응되는 영역에 접근할 수 있으며, 접근시 메모리 제어부(403)의 제어에 따라 접근할 수 있는 바, 무결성 모니터 시스템의 독립성이 보장될 수 있다.
도 4b는 도 3b의 구조의 시스템에서 신호 송수신 방법을 나타낸 도면이다.
도 4b를 참조하면, 단계 430에서 로컬프로세서(401)는 메모리 제어부(403)에 메모리 읽기 명령을 전송할 수 있다.
단계 432에서 메모리 제어부(403)는 상기 수신한 메모리 읽기 명령을 기반으로 대응되는 영역의 메모리를 읽기 요청을 시스템 메모리(404)에 전송할 수 있다. 실시 예에 따라 상기 메모리 읽기에 대응되는 영역은 시스템 메모리(404)의 보안영역으로, 로컬 프로세서(401)이 접근할 수 있는 영역일 수 있다. 상기 영역은 메모리 제어부(403)의 제어에 따라 로컬 프로세서(401)의 읽기 명령에 따라서 접근 할 수 있는 있는 영역이다.
단계 434에서 시스템 메모리(404)는 상기 메모리 읽기 요청에 따라 대응되는 영역에 저장된 데이터를 메모리 제어부(403)으로 전송할 수 있다.
단계 436에서 메모리 제어부(403)은 시스템 버스(405)로 상기 수신한 데이터를 전달할 수 있다.
단계 438에서 시스템 버스(405)는 로컬 버스(402)로 상기 단계 436에서 수신한 데이터를 전달할 수 있다.
단계 440에서 로컬 버스(402)는 로컬 프로세서(401)로 상기 단계 438에서 수신한 데이터를 전달할 수 있다.
이와 같은 과정을 통해 로컬 프로세서(401)는 호스트 시스템과 공유하는 시스템(404) 메모리의 대응되는 영역에 접근할 수 있으며, 접근시 메모리 제어부(403)의 제어에 따라 접근할 수 있는 바, 무결성 모니터 시스템의 독립성이 보장될 수 있다. 또한 로컬 프로세서(401)가 메모리 제어부(403)와 직접 연결됨에 따라 보다 신속한 동작이 가능한 특징이 있다.
도 4c는 도 3c의 구조의 시스템에서 신호 송수신 방법을 나타낸 도면이다.
도 4c를 참조하면, 단계 450에서 로컬프로세서(401)는 로컬 버스(402)에 메모리 읽기 명령을 전송할 수 있다.
단계 452에서 로컬 버스(402)는 시스템 버스(405)로 상기 메모리 읽기 명령을 전달할 수 있다.
단계 454에서 시스템 버스(405)는 메모리 제어부(403)로 상기 메모리 읽기 명령을 전달할 수 있다.
단계 456에서 메모리 제어부(403)는 상기 수신한 메모리 읽기 명령을 기반으로 대응되는 영역의 메모리를 읽기 요청을 시스템 메모리(404)에 전송할 수 있다. 실시 예에 따라 상기 메모리 읽기에 대응되는 영역은 시스템 메모리(404)의 보안영역으로, 로컬 프로세서(401)이 접근할 수 있는 영역일 수 있다. 상기 영역은 메모리 제어부(403)의 제어에 따라 로컬 프로세서(401)의 읽기 명령에 따라서 접근 할 수 있는 있는 영역이다.
단계 458에서 시스템 메모리(404)는 상기 메모리 읽기 요청에 따라 대응되는 영역에 저장된 데이터를 메모리 제어부(403)으로 전송할 수 있다.
단계 460에서 메모리 제어부(403)은 시스템 버스(405)로 상기 수신한 데이터를 전달할 수 있다.
단계 462에서 시스템 버스(405)는 로컬 버스(402)로 상기 단계 460에서 수신한 데이터를 전달할 수 있다.
단계 464에서 로컬 버스(402)는 로컬 프로세서(401)로 상기 단계 462에서 수신한 데이터를 전달할 수 있다.
이와 같은 과정을 통해 로컬 프로세서(401)는 호스트 시스템과 공유하는 시스템(404) 메모리의 대응되는 영역에 접근할 수 있으며, 접근시 메모리 제어부(403)의 제어에 따라 접근할 수 있는 바, 무결성 모니터 시스템의 독립성이 보장될 수 있다. 또한 실시 예에서 메모리 제어부(403)로 메모리 읽기 명령을 전달할 때 시스템 버스(405)를 통해 상기 명령을 전달함으로써, 로컬 프로세서(401)와 메모리 제어부(403) 사이에 연결되는 직접 적인 제어 명령 전달 인터페이스가 없는 경우에도 명령을 전달할 수 있다. 실시 예에 따라 메모리 제어부(403)가 호스트 시스템상에 위치할 때 도 4c의 실시 예와 같은 구조로 동작할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (14)

  1. 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템의 메모리 제어부의 메모리 접근 방법에 있어서,
    무결성 모니터 시스템의 로컬 프로세서로부터 메모리 접근 명령을 수신하는 단계;
    상기 메모리 접근 명령에 따라 대응되는 상기 호스트 시스템의 시스템 메모리에 접근하는 단계;
    상기 접근 명령에 따라 상기 시스템으로부터 대응되는 데이터를 수신하는 단계; 및
    상기 수신한 데이터를 로컬 프로세서로 전달하는 단계;를 포함하며,
    상기 시스템 메모리는 상기 로컬 프로세서로부터 메모리 접근 명령이 수신되었을 경우에 접근할 수 있는 보안 영역을 포함하는 것을 특징으로 하는 메모리 접근 방법.
  2. 제1항에 있어서,
    상기 수신한 데이터를 로컬 프로세서로 전달하는 단계는
    상기 호스트 시스템의 시스템 버스 및 상기 무결성 모니터 시스템의 로컬 버스를 통해 상기 로컬 프로세서로 상기 수신한 데이터를 전달하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
  3. 제1항에 있어서,
    상기 메모리 접근 명령을 수신하는 단계는,
    상기 무결성 모니터 시스템의 로컬 버스를 통해 상기 메모리 접근 명령을 수신하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
  4. 제1항에 있어서,
    상기 메모리 접근 명령을 수신하는 단계는,
    상기 로컬 프로세서와 직접 연결된 인터페이스를 통헤 상기 메모리 접근 명령을 수신하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
  5. 제1항에 있어서,
    상기 메모리 접근 명령을 수신하는 단계는,
    상기 무결성 모니터 시스템의 로컬 버스 및 상기 호스트 시스템의 시스템 버스를 통해 상기 메모리 접근 명령을 수신하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
  6. 제1항에 있어서,
    상기 무결성 모니터 시스템은
    상기 호스트 시스템의 시스템 버스 상에서 전송되는 데이터의 무결성을 스누핑을 통해 감시하는 검증부를 포함하는 것을 특징으로 하는 메모리 접근 방법.
  7. 제1항에 있어서,
    상기 시스템 메모리는
    상기 호스트 시스템에 접근할 수 있는 시스템 영역을 더 포함하는 것을 특징으로 하는 메모리 접근 방법.
  8. 호스트 시스템과 메모리를 공유하는 무결성 모니터 시스템의 메모리 제어부에 있어서,
    호스트 시스템의 시스템 메모리에 접근하는 메모리 접근부; 및
    무결성 모니터 시스템의 로컬 프로세서로부터 메모리 접근 명령을 수신하고, 상기 메모리 접근 명령에 따라 상기 메모리 접근부를 제어하여 대응되는 상기 호스트 시스템의 시스템 메모리에 접근하고, 상기 접근 명령에 따라 상기 시스템으로부터 대응되는 데이터를 수신하고, 상기 수신한 데이터를 로컬 프로세서로 전달하는 설정부;를 포함하고,
    상기 시스템 메모리는 상기 로컬 프로세서로부터 메모리 접근 명령이 수신되었을 경우에 접근할 수 있는 보안 영역을 포함하는 것을 특징으로 하는 메모리 제어부.
  9. 제8항에 있어서,
    상기 설정부는 상기 호스트 시스템의 시스템 버스 및 상기 무결성 모니터 시스템의 로컬 버스를 통해 상기 로컬 프로세서로 상기 수신한 데이터를 전달하는 것을 특징으로 하는 메모리 제어부.
  10. 제8항에 있어서,
    상기 설정부는
    상기 무결성 모니터 시스템의 로컬 버스를 통해 상기 메모리 접근 명령을 수신하는 것을 특징으로 하는 메모리 제어부.
  11. 제8항에 있어서,
    상기 설정부는
    상기 로컬 프로세서와 직접 연결된 인터페이스를 통헤 상기 메모리 접근 명령을 수신하는 것을 특징으로 하는 메모리 제어부.
  12. 제8항에 있어서,
    상기 설정부는
    상기 무결성 모니터 시스템의 로컬 버스 및 상기 호스트 시스템의 시스템 버스를 통해 상기 메모리 접근 명령을 수신하는 것을 특징으로 하는 메모리 제어부.
  13. 제8항에 있어서,
    상기 무결성 모니터 시스템은
    상기 호스트 시스템의 시스템 버스 상에서 전송되는 데이터의 무결성을 스누핑을 통해 감시하는 검증부를 포함하는 것을 특징으로 하는 메모리 제어부.
  14. 제8항에 있어서,
    상기 시스템 메모리는
    상기 호스트 시스템에 접근할 수 있는 시스템 영역을 더 포함하는 것을 특징으로 하는 메모리 제어부.
KR1020130097242A 2013-08-16 2013-08-16 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법 KR102167393B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020130097242A KR102167393B1 (ko) 2013-08-16 2013-08-16 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법
EP14836158.7A EP3035227B1 (en) 2013-08-16 2014-08-14 Method and device for monitoring data integrity in shared memory environment
PCT/KR2014/007574 WO2015023144A1 (ko) 2013-08-16 2014-08-14 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법
US14/911,932 US10168934B2 (en) 2013-08-16 2014-08-14 Method and device for monitoring data integrity in shared memory environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130097242A KR102167393B1 (ko) 2013-08-16 2013-08-16 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150019845A true KR20150019845A (ko) 2015-02-25
KR102167393B1 KR102167393B1 (ko) 2020-10-19

Family

ID=52468475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130097242A KR102167393B1 (ko) 2013-08-16 2013-08-16 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법

Country Status (4)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019093762A1 (ko) * 2017-11-08 2019-05-16 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2023018668A1 (en) * 2021-08-09 2023-02-16 Micron Technology, Inc. Adaptive data integrity scan frequency
KR20230139303A (ko) 2022-03-25 2023-10-05 한국전자통신연구원 분리 메모리 환경의 무결성 검증 방법 및 장치

Families Citing this family (2)

* 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
FR3098614B1 (fr) * 2019-07-11 2022-11-04 Idemia Identity & Security France Procédé de contrôle de commandes propres à être traitées par un périphérique tel qu’un actionneur

Citations (2)

* 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

Family Cites Families (12)

* 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
US8356361B2 (en) * 2006-11-07 2013-01-15 Spansion Llc Secure co-processing memory controller integrated into an embedded memory subsystem
KR101427646B1 (ko) * 2007-05-14 2014-09-23 삼성전자주식회사 펌웨어의 무결성 검사 방법 및 장치
KR101567620B1 (ko) 2008-06-24 2015-11-20 나그라비젼 에스에이 데이터 처리 시스템 및 방법
US8151073B2 (en) * 2008-06-25 2012-04-03 Fac Systems Inc. Security system for computers

Patent Citations (2)

* 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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019093762A1 (ko) * 2017-11-08 2019-05-16 삼성전자주식회사 전자 장치 및 그 제어 방법
US11669614B2 (en) 2017-11-08 2023-06-06 Samsung Electronics Co., Ltd. Electronic device and control method therefor
WO2023018668A1 (en) * 2021-08-09 2023-02-16 Micron Technology, Inc. Adaptive data integrity scan frequency
KR20230139303A (ko) 2022-03-25 2023-10-05 한국전자통신연구원 분리 메모리 환경의 무결성 검증 방법 및 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102335063B1 (ko) 저장 디바이스 메모리 공간에의 직접적인 호스트 액세스
US7747809B2 (en) Managing PCI express devices during recovery operations
TW201905714A (zh) 以輔助處理器記憶體進行儲存裝置的直接輸入輸出操作的計算系統操作方法、計算系統、車輛及電腦可讀媒體
US20170132159A1 (en) System and method for intercept of uefi block i/o protocol services for bios based hard drive encryption support
US9912474B2 (en) Performing telemetry, data gathering, and failure isolation using non-volatile memory
US10783250B2 (en) Secured master-mediated transactions between slave devices using bus monitoring
KR102167393B1 (ko) 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법
CN105938466B (zh) 用于处理器间通信的电路和方法
EP3835988A1 (en) Communication method and apparatus, computer-readable storage medium, and chip
US20100306519A1 (en) System and method for maintaining the security of memory contents and computer architecture employing the same
US10063425B1 (en) Event-based in-band host registration
KR20090051238A (ko) 배리어 동작들의 방송 제약 방법 및 장치
US20220171855A1 (en) Electronic control device and security verification method for electronic control device
US20060265523A1 (en) Data transfer circuit and data transfer method
US10901657B2 (en) Dynamic write credit buffer management of non-volatile dual inline memory module
US20220113353A1 (en) Input-output device with debug controller
KR102377729B1 (ko) 멀티 코어 프로세서 및 그것의 동작 방법
CN102640129B (zh) 用于多核系统的直接存储器存取装置及其操作方法
US20080120491A1 (en) Method and Apparatus for Retrieving Application-Specific Code Using Memory Access Capabilities of a Host Processor
US8938588B2 (en) Ensuring forward progress of token-required cache operations in a shared cache
CN111797440B (zh) 安全装置、方法及其系统
CN111538993B (zh) 一种引入外置式硬件信任根进行可信度量的装置与方法
JP2008503833A (ja) 並列通信バスに連結された装置内で割込みメッセージを待ち行列に入れるためのコンピュータシステム及び方法
CN113434324A (zh) 异常信息获取方法、系统、设备及存储介质
US9141565B2 (en) Memory bus attached input/output (‘I/O’) subsystem management in a computing system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant