KR101289581B1 - 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치 - Google Patents

데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치 Download PDF

Info

Publication number
KR101289581B1
KR101289581B1 KR1020110047796A KR20110047796A KR101289581B1 KR 101289581 B1 KR101289581 B1 KR 101289581B1 KR 1020110047796 A KR1020110047796 A KR 1020110047796A KR 20110047796 A KR20110047796 A KR 20110047796A KR 101289581 B1 KR101289581 B1 KR 101289581B1
Authority
KR
South Korea
Prior art keywords
data
remote server
oob
computing device
driver
Prior art date
Application number
KR1020110047796A
Other languages
English (en)
Other versions
KR20110128248A (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 인텔 코오퍼레이션
Publication of KR20110128248A publication Critical patent/KR20110128248A/ko
Application granted granted Critical
Publication of KR101289581B1 publication Critical patent/KR101289581B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치들이 개시되었다. 일부 실시예에서, 컴퓨팅 장치는 운영 체제 및 적어도 하나의 호스트 드라이버를 실행하도록 구성된 대역내 프로세서, 원격 서버와 통신하도록 구성된 통신 회로, 운영 체제의 상태와 상관없이 통신 회로를 사용하여 상기 원격 서버와 통신할 수 있는 대역외(OOB) 프로세서를 포함할 수 있다. 상기 OOB 프로세서는 상기 원격 서버로부터 블록 읽기 명령을 수신하고, 상기 적어도 하나의 호스트 드라이버에게 저장 명령을 데이터 저장 장치로 전송하도록 명령하고, 상기 데이터 저장 장치로부터 검색된 데이터 및 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하고, 상기 데이터 및 인증 메타데이터를 원격 서버로 전송하도록 구성될 수 있다.

Description

데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치{METHOD AND APPARATUS FOR SECURE SCAN OF DATA STORAGE DEVICE FROM REMOTE SERVER}
하드 디스크 드라이브 및 솔리드 스테이트 드라이브와 같은 데이터 저장 장치에 존재하는 데이터는 예로서 악성 소프트웨어(멀웨어)에 의한 변조 및 공격의 대상이다. 변조된 데이터 또는 멀웨어를 감지하고 및/또는 데이터의 백업 복사본을 제공하기 위해 데이터 저장 장치를 스캔할 수 있도록 하는 안티바이러스 및 관리 소프트웨어 패키지가 독자적인 소프트웨어 업체들(Independent Software Vendors; ISVs)에 의해 개발되었다. 일부 저장, 보안 및 통제 ISV는 예로서 안티바이러스 스캔, 멀웨어 제거, 시스템 복구 및 시스템 리이미징과 같은 서비스를 인터넷상에서 구현한다. 이와 같은 인터넷 기반 서비스는 여전히 일반적으로 로컬 컴퓨팅 장치에서 실행되는 로컬 소프트웨어에 기반하고 있다.
그러나, 이러한 소프트웨어 솔루션 자체 또한 탐지로부터 자신을 숨기는 것을 전제로 동작하는 루트킷(rootkit), 스파이웨어 및 다른 종류의 멀웨어에 의한 공격의 대상이다. 예컨대, 저장 스택 내에서 필터 드라이버로 위장한 멀웨어는 해당 데이터 저장 장치에 스캔이 요청되었을 때 안티바이러스 또는 관리 소프트웨어에 가짜 데이터를 제공할 수 있다(소프트웨어로부터 실제 변조된 데이터를 감추면서). 바꾸어 말하면, 안티바이러스 또는 통제 소프트웨어에 의해 스캔된 데이터는 데이터 저장 장치에 실제로 존재하는 데이터가 아닐 수 있다. 더욱이, 루트킷이 플랫폼 상(예컨대, 마스터 부트 레코드 내)에서 자신을 은폐할 수 있게 되면, 루트킷은 사용자의 모든 활동을 감시, 사용자의 데이터를 포착, 사용자의 실행을 속임 및 다른 악의적인 활동을 할 수 있다. 사용자들로부터 은폐한 채로 컴퓨팅 시스템의 배경에서 실행하고, 민감한 정보를 수집하고 시스템의 속도를 상당히 저하시키는 루트킷, 스파이웨어 및 다른 멀웨어와 관련된 사건들이 점점 더 많이 발견되었다.
본 명세서에 기술된 시스템, 장치 및 방법은 첨부된 도면에 예로서 도시되었으며, 이에 한정되지 않는다. 도시의 간소함 및 명확함을 위해, 도면에 도시된 요소들은 반드시 일정한 비율로 그려진 것은 아니다. 예컨대, 일부 요소들의 치수는 명확성을 위해 다른 요소들에 비해 과장되었을 수 있다. 하기 도면에서:
도 1은 컴퓨팅 장치의 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 제공하도록 구성된 시스템의 한 실시예에 대한 간략화된 블록도.
도 2는 도 1의 컴퓨팅 장치 및 원격 서버의 소프트웨어/펌웨어 환경에 대한 한 실시예의 간략화된 블록도.
도 3은 도 1의 시스템 및 도 2의 소프트웨어 환경을 사용하여 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 제공하는 방법의 한 실시예의 간략화된 흐름도.
도 4는 도 1의 컴퓨팅 장치 및 원격 서버의 소프트웨어/펌웨어 환경에 대한 또다른 실시예의 간략화된 블록도.
도 5는 도 1의 시스템 및 도 4의 소프트웨어 환경을 사용하여 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 제공하는 방법에 대한 또다른 실시예의 간략화된 흐름도.
본 명세의 개념들에 대해 다수의 변경 및 대체 형식의 여지가 있다 하더라도, 특정한 대표적인 실시예들이 예로서 도면에 제시되었으며 여기서 상세히 기술될 것이다. 그러나, 본 명세의 개념들을 개시된 특정 형태들에 제한하려는 의도는 없으며, 반대로 덧붙여진 청구항들에 의해 규정된 본 발명의 진의(spirit) 및 범위 이내에 있는 모든 변형, 동등물 및 대안을 포함하고자 하는 것임을 이해해야 한다.
하기 기술에서, 논리 구현, 실행 코드(opcode), 피연산자를 명기하는 수단, 리소스 분할/공유/복제 구현, 시스템 요소의 종류 및 상호 관계, 논리 분할/통합의 선택과 같은 다수의 구체적인 세부 사항들이 본 명세에 대한 더욱 완전한 이해를 제공하기 위해 설명될 수 있다. 그러나, 이 기술분야의 기술자에게는 본 명세서의 실시예들은 이러한 구체적인 세부 사항 없이도 실행될 수 있다는 것이 인식될 것이다. 본 명세를 모호하게 하지 않기 위해 다른 예에서 제어 구조, 게이트 레벨 회로 및 완전한 소프트웨어 명령어 순서들이 상세히 보여지지 않을 수 있다. 이 기술분야의 일반적인 기술자는 포함된 기술을 사용하여 불필요한 실험 없이 적합한 기능성을 구현할 수 있을 것이다.
본 명세에서 "한 실시예", "실시예", "설명적인 실시예" 등에 대한 언급은 기술된 실시예가 특정한 특징, 구조, 또는 특성을 포함할 수 있으나, 모든 실시예가 반드시 특정한 특징, 구조, 또는 특성을 포함하지 않을 수 있다는 것을 나타낸다. 게다가, 그러한 구절들은 반드시 같은 실시예를 참조하는 것은 아니다. 더욱이, 특정한 특징, 구조, 또는 특성이 한 실시예와 연관되어 기술되었을 때, 그러한 특징, 구조, 또는 특성을 명백하게 기술되든지 아니든지 간에 다른 실시예와 연관하여 실행하는 것은 이 기술분야의 통상 기술자의 지식 범위 내임을 언급한다.
본 명세서의 일부 실시예들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합에 의해 구현될 수 있다. 컴퓨팅 장치에 의해 구현된 본 명세서의 실시예들은 컴포넌트 간 하나 또는 그 이상의 버스 기반 상호 연결 및/또는 컴포넌트 간 하나 또는 그 이상의 점대점(point-to-point) 상호 연결을 포함할 수 있다. 본 발명의 실시예들은 또한 하나 또는 그 이상의 유형적인 기계 판독 가능 매체에 저장된 명령어로 구현될 수 있으며, 이는 하나 또는 그 이상의 프로세서에 의해 판독 및 실행될 수 있다. 유형적인 기계 판독 가능 매체는 기계(예컨대, 컴퓨팅 장치)에 의해 판독 가능한 형태로 정보를 저장 또는 전송하기 위한 임의의 유형적인 메커니즘을 포함할 수 있다. 예컨대, 유형적인 기계 판독 가능 매체는 ROM, RAM, 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치 및 다른 유형적인 매체를 포함할 수 있다.
본 명세는 일반적으로 데이터 저장 장치에 대한 원격의 서버로부터의 안전한 스캔을 제공하는 방법과 장치에 대한 것이다. 이러한 방법 및 장치는 스캔된 데이터가 실제로 데이터 저장 장치로부터 검색된 것이며 어떤 멀웨어(예컨대, 컴퓨팅 장치에 숨은 루트킷)에 의해 거짓으로 제공된 것이 아님을 보증한다. 본 명세에 의하면, 원격 서버와 데이터 저장 장치 사이에서 블록 읽기/쓰기 인터페이스를 구현하기 위해 대역외(out-of-band; OOB) 에이전트가 사용되었다. OOB 에이전트는 컴퓨팅 시스템의 호스트 드라이버와 함께 믿을 수 있는 방식으로 데이터 저장 장치에서 데이터를 검색하여 이 데이터를 원격 서버에 제공한다. OOB 에이전트는 위조 방지(tamper-resistant)이므로, 원격 서버는 데이터가 어떤 멀웨어에 의해 위조된 것이 아님을 확신할 수 있다. 일부 실시예에서, 상기 OOB 에이전트는 또한 데이터 저장 장치의 암호화 엔진에 의해 생성된 인증 메타데이터를 검색할 수 있다. 이 인증 메타데이터는 데이터가 실제로 데이터 저장 장치에서 검색되었는지 증명하기 위해, OOB 에이전트 또는 원격 서버에 의해 사용될 수 있다. 처음에, 시스템(100)의 다양한 하드웨어 구성 요소들이 도 1을 참조로 하기에 기술되어 있다. 다음으로, 안전한 스캔을 제공하기 위한 시스템(100)의 가능한 소프트웨어/펌웨어 환경들의 한 실시예 및 관련된 방법(300)들이 도 2 및 도 3을 참조로 하기에 기술되어 있다. 마지막으로, 안전한 스캔을 제공하기 위한 시스템(100)의 가능한 소프트웨어/하드웨어 환경의 또 다른 실시예 및 관련된 방법(500)이 도 4 및 도 5를 참조로 하기에 기술되어 있다.
도 1을 참조하면, 데이터 저장 장치(120)에 대한 원격의 서버(104)로부터의 안전한 스캔을 제공하도록 구성된 설명적인 시스템(100)은 컴퓨팅 장치(102), 원격 서버(104) 및 컴퓨팅 장치(102)와 원격 서버(104)를 통신 연결하는 네트워크(106)을 포함한다. 도 1에는 단지 하나의 컴퓨팅 장치(102), 하나의 원격 서버(104) 및 하나의 네트워크(106)가 설명적으로 제시되었으나, 상기 시스템(100)은 임의의 수의 비슷하거나 다른 구조의 컴퓨팅 장치(102), 원격 서버(104) 및 네트워크(106)를 포함할 수 있다. 예컨대, 컴퓨팅 장치(102)는 다수의 원격 서버(104)들과 하나 또는 그 이상의 네트워크(106)를 통해 통신할 수 있으며, 각각의 원격 서버(104)는 다수의 컴퓨팅 장치(102)들과 하나 또는 그 이상의 네트워크(106)를 통해 통신할 수 있다.
컴퓨팅 장치(102)는 본 명세에 기술된 기능을 수행할 수 있는 임의의 형태의 전자 장치로서 구현될 수 있다. 예로서, 컴퓨팅 장치(102)는 퍼스널 컴퓨터, 워크스테이션, 랩톱 컴퓨터, 핸드헬드 컴퓨터, 휴대용 인터넷 장치, 휴대 전화, PDA(personal data assistant), 전화 장치, 네트워크 제품, 가상화 장치, 저장 컨트롤러, 또는 다른 컴퓨터 기반 장치로서 구현될 수 있다. 도 1에 제시된 설명적인 실시예에서, 컴퓨팅 장치(102)는 대역내(in-band) 프로세서(110), 칩셋(112), 시스템 메모리(114), 통신 회로(116), 하나 또는 그 이상의 입/출력 장치(118) 및 데이터 저장 장치(120)를 포함한다. 일부 실시예에서, 앞서 말한 컴포넌트들 중 몇몇은 컴퓨팅 장치(102)의 마더보드 상에 통합 되어 있을 수 있으며, 다른 컴포넌트들은 예컨대, 주변 포트를 통해 마더보드와 통신 연결되어 있을 수 있다. 더욱이, 컴퓨팅 장치(102)는 기술의 명확화를 위해 도 1에 도시되지 않은, 컴퓨터 및/또는 컴퓨팅 장치에서 일반적으로 발견되는 다른 컴포넌트, 서브 컴포넌트 및, 장치들을 포함할 수 있다는 것을 인식해야 한다.
컴퓨팅 장치(102)의 대역내 프로세서(110)는 마이크로프로세서, 디지털 신호 프로세서, 마이크로컨트롤러 등의 소프트웨어/펌웨어를 실행할 수 있는 임의의 종류의 프로세서일 수 있다. 대역내 프로세서(110)는 프로세서 코어(122)를 갖는 싱글 코어 프로세서로서 설명적으로 구체화되었다. 그러나, 다른 실시예에서, 대역내 프로세서(110)는 다수의 프로세서 코어(122)를 갖는 멀티 코어 프로세서로서 구체화될 수 있다. 부가적으로, 컴퓨팅 장치(102)는 하나 또는 그 이상의 프로세서 코어(122)를 갖는 추가적인 대역내 프로세서(110)들을 포함할 수 있다. 대역내 프로세서(110)는 일반적으로 컴퓨팅 장치(102)에 상주하는 운영 체제(200)와 다양한 애플리케이션, 프로그램, 라이브러리, 및 드라이버(202, 204)를 포함할 수 있는 소프트웨어 스택을 실행하는 책임을 맡고 있다(도 2 및 도 4에 제시되고 하기 기술된 바와 같이).
컴퓨팅 장치(102)의 칩셋(112)은 메모리 컨트롤러 허브(MCH 또는 노스브리지(northbridge)), 입/출력 컨트롤러 허브(ICH 또는 사우스브리지(southbridge)) 및 펌웨어 장치를 포함할 수 있다. 칩셋(112)의 펌웨어 장치는 BIOS(Basic Input/Output System) 데이터 및/또는 명령어 및/또는 다른 정보(예컨대, 컴퓨팅 장치(102)의 부팅 동안에 사용되는 BIOS 드라이버)를 저장하기 위한 메모리 장치로서 구현될 수 있다. 다른 실시예에서는 다른 구성을 갖는 칩셋이 사용될 수 있다. 예컨대, 일부 실시예에서, 칩셋(112)은 플랫폼 컨트롤러 허브(PCH)로서 구체화될 수 있다. 이런 실시예에서, 메모리 컨트롤러 허브(MCH)는 대역내 프로세서(110) 내에 통합되거나 또는 대역내 프로세서(110)와 다른 방법으로 연관될 수 있으며, 대역내 프로세서(110)는 시스템 메모리(114)와 직접 통신할 수 있다(도 1의 점선으로 나타낸 것과 같이). 이러한 구성들 중 임의의 구성에서, 칩셋(112)은 또한 대역외(out-of-band; OOB) 프로세서(124)를 포함하며, 이는 하기에 더 상세히 기술될 것이다.
대역내 프로세서(110)는 다수의 신호 경로들을 통해 칩셋(112)과 통신 연결되어 있다. 이러한 신호 경로들(및 도 1에 도시된 다른 신호 경로들)은 컴퓨팅 장치(102)의 구성 요소 간 통신을 용이하게 할 수 있는 임의의 종류의 신호 경로로서 구체화될 수 있다. 예컨대, 상기 신호 경로는 임의의 수의 전선, 케이블, 광섬유, 인쇄회로기판(printed circuit board), 비아(via), 버스, 중재 장치 및/또는 같은 종류의 다른 것들로 구체화될 수 있다.
컴퓨팅 장치(102)의 시스템 메모리(114) 또한 다수의 신호 경로를 통하여 칩셋(112)과 연결되어 있다. 시스템 메모리(114)는 예컨대, DRAM, SDRAM, DDR SDRAM, 플래시 메모리 장치 및/또는 다른 휘발성 메모리 장치를 포함하는 하나 또는 그 이상의 메모리 장치 또는 데이터 저장 위치로서 구체화될 수 있다. 부가적으로, 도 1에는 단지 하나의 시스템 메모리 장치(114)가 도시되어 있지만, 다른 실시예에서, 컴퓨팅 장치(102)는 추가적인 시스템 메모리 장치들을 포함할 수 있다. 대역내 프로세서(110)에 의해 실행되는 소프트웨어 스택을 구성하는 운영 체제(200), 애플리케이션, 프로그램, 라이브러리 및 드라이버(202, 204)는 실행 도중 시스템 메모리(114)에 상주할 수 있다. 더욱이, 시스템 메모리(114)에 저장된 소프트웨어 및 데이터는 메모리 관리 연산의 일부분으로서 시스템 메모리(114)와 데이터 저장 장치(120) 간에 교환(swap)될 수 있다.
컴퓨팅 장치(102)의 통신 회로(116)는 네트워크(106)를 통한 컴퓨팅 장치(102)와 원격 서버(104) 간의 통신을 가능케 하기 위한 임의의 수의 장치 및 회로로서 구체화될 수 있다. 네트워크(106)는 근거리 통신망(local area network), 원거리 통신망(wide area network), 공개된 글로벌 네트워크(예컨대, 인터넷), 또는 이들의 임의의 조합으로서 구체화될 수 있다. 더욱이, 네트워크(106)는 컴퓨팅 장치(102)와 원격 서버(104) 간의 통신을 용이하게 하기 위한 라우터, 스위치, 중재 컴퓨터 및/또는 같은 종류의 다른 것들과 같은 임의의 수의 추가적인 장치들을 포함할 수 있다. 통신 회로(116)는 네트워크(106)의 유선 및/또는 무선 구역을 통한 통신을 용이하게 하기 위한 하나 또는 그 이상의 유선 및/또는 무선 네트워크 인터페이스를 포함할 수 있다. 통신 회로(116)는 또한 다수의 신호 경로들을 통해 칩셋(112)과 통신 연결되어, 대역내 프로세서(110) 및 OOB 프로세서(124)가 독립적으로 네트워크(106)에 접근할 수 있도록 한다.
컴퓨팅 장치(102)의 입/출력 장치(들)(118)는 임의의 수의 주변 장치 또는 인터페이스 장치를 포함할 수 있다. 설명적인 예로서, 입/출력 장치(들)(118)는 컴퓨팅 장치(102)의 디스플레이, 마우스, 키보드, 및/또는 하나 또는 그 이상의 외장 스피커를 포함할 수 있다. 입/출력 장치(들)(118)에 포함된 특정 장치들은 예컨대 컴퓨팅 장치(102)의 의도된 사용 목적에 따라 좌우될 수 있다. 입/출력 장치(들)(118)는 일부 실시예들에서 다수의 신호 경로들을 통해 칩셋(112)과 통신 연결되어 있으며, 칩셋(112) 및/또는 대역내 프로세서(110)가 입/출력 장치(들)(118)로부터 입력을 수신하고 입/출력 장치(들)(118)에 출력을 송신할 수 있도록 한다.
컴퓨팅 장치(102)는 또한 데이터 저장 장치(DSD)(120)를 포함하며, 이 (DSD)(120)는 예컨대 메모리 장치 및 회로, 메모리 카드, 하드 디스크 드라이브, 솔리드 스테이트 드라이브, 또는 다른 데이터 저장 장치들과 같은 단기적 또는 장기적인 데이터의 저장을 위해 구성된 임의의 종류의 장치로서 설명적으로 구체화될 수 있다. 일부 실시예들에서, 상기 DSD(120)는 DSD(120)에 전력이 공급되지 않을 때에도 저장된 데이터를 보유할 수 있는 비휘발성 메모리를 포함할 수 있다. 부가적으로, 도 1에는 단 하나의 DSD(120)만 도시되어 있으나, 다른 실시예들에서, 컴퓨팅 장치(102)는 추가적인 데이터 저장 장치들을 포함할 수 있다. DSD(120)는 또한 다수의 신호 경로들을 통하여 칩셋(112)과 통신 연결되어 있다. 일부 실시예들에서, DSD(120)는 PCIe(Peripheral Component Interconnect Express) 인터페이스 또는 SATA(Serial AT Attachment) 인터페이스와 같은 고속 시리얼 링크를 통해 칩셋(112)과 연결될 수 있다. DSD(120)와 칩셋(112) 간의 다른 종류의 인터페이스들(예컨대, 병렬 신호 경로)이 예상됨을 인식할 것이다. 도 1의 설명적인 실시예에서, DSD(120)는 암호화 회로(126)를 포함하며, 이는 (도 2에 도시된) 하드웨어 기반의 암호화 엔진(212)을 DSD(120)에 제공한다. 하기에 더 기술된 바와 같이, 암호화 회로(126)(및 함께 구현된 암호화 엔진(212))는 DSD(120)가 DSD(120)로부터 검색된 데이터의 인증 메타데이터를 로컬로 생성할 수 있도록 한다.
칩셋(112)은 대역내 프로세서(110)와 별개이며 일반적으로 대역내 프로세서(110)와 독립적으로 작동하는 대역외(OOB) 프로세서(124)를 포함한다. OOB 프로세서(124)는 하나 또는 그 이상의 프로세서 코어(도시되지 않음)를 갖는 하나 또는 그 이상의 프로세서를 포함하는, 마이크로프로세서, 디지털 신호 프로세서, 마이크로컨트롤러, 또는 같은 종류의 다른 것들과 같은, 소프트웨어/펌웨어 실행 가능한 임의의 종류의 프로세서로서 구체화될 수 있다. 도 1에서 OOB 프로세서(124)는 칩셋(112) 내에 통합된 것으로 도시되었지만, 다른 실시예들에서, OOB 프로세서(124)는 다수의 신호 경로들을 통해 칩셋(112)과 통신 연결된 확장 보드에 배치된 하나 또는 그 이상의 분리된 집적 회로로서 구체화될 수 있다. 일부 실시예에서, OOB 프로세서(124)는 다수의 신호 경로들을 통해 컴퓨팅 장치(102)의 여러 컴포넌트들(예컨대, 시스템 메모리(114) 및 통신 회로(116))과 독립적으로 통신 연결될 수 있다. 대신 또는 추가적으로, OOB 프로세서(124)는 전용 메모리 및/또는 전용 통신 회로와 같은 비슷한 기능의 내장 컴포넌트들을 포함할 수 있다(도시되지 않음).
OOB 프로세서(124)는 컴퓨팅 장치(102)의 대역내 프로세서(110) 또는 운영 체제(200)의 작동 상태에 상관없이 컴퓨팅 장치(102)의 특정 기능들을 관리하도록 구성된다. 이러한 독립적인 동작을 용이하게 하기 위해, OOB 프로세서(124)는 컴퓨팅 장치(102)의 전력 회로(도시되지 않음)에 독립적으로 연결될 수 있으며, 이는 컴퓨팅 장치(102)의 다른 구성 요소들이 저전력 상태(power down)에 있거나 또는 전력이 공급되지 않을 때에도 OOB 프로세서(124)가 전력을 유지할 수 있도록 해준다. 더욱이, OOB 프로세서(124)는 통신 회로(116)를 통해 하나 또는 그 이상의 독립적인 네트워크 인터페이스를 구비할 수 있으며, 통신 회로(116)도 전력 회로에 독립적으로 연결되어 네트워크(106)를 통해 대역외 통신을 가능하게 한다. 바꾸어 말하면, OOB 프로세서(124)는 대역내 프로세서(110)에서 실행되는 운영 체제(200)의 외부에서, 네트워크(106)상의 장치들(예컨대, 원격 서버(104))과 직접 통신할 수 있다. 사실, 이러한 통신은 사용자의 인식 없이도 일어날 수 있다. OOB 프로세서(124)는 또한 운영 체제(200)를 부팅하는 것을 포함하여 컴퓨팅 장치(102)가 최대 전력(full-power) 작동 상태로 복귀하게 할 수 있다. 요약하면, OOB 프로세서(124)는 대역내 프로세서(110)가 꺼져 있거나, 대기 상태이거나, 초기화 중이거나, 또는 통상 작동 상태일 때에 상관없이 및 운영 체제(200)가 부팅 중이거나, 작동 중이거나, 작동 불능 상태 또는 다른 상태일 때에 상관없이 들어오는 요청들/명령들에 기초하여 지능적으로 작동하고 네트워크(106)를 통해 통신할 수 있다.
일부 설명적인 실시예에서, OOB 프로세서(124)는 Intel® AMT(Intel® Active Management Technology)를 사용하거나, Intel® AMT의 일부분을 사용하거나, 또는 Intel® ME(Intel® Management Engine)를 사용하여 실행될 수 있으며, 이것들 모두는 캘리포니아 산타 클라라의 인텔 코포레이션으로부터 입수 가능하고 및/또는 인텔 코포레이션에 의해 판매된 칩셋 내에 있다. Intel AMT® 임베디드 플랫폼 기술은 각각의 종점 장치의 비휘발성 메모리에 저장된 하드웨어 및 소프트웨어 정보에 대한 대역외 접근(out-of-band access)을 가능하게 함으로써 다른 관리 도구들에서 발견할 수 있는 동작 중인 운영 체제 및 다수의 소프트웨어 에이전트에 대한 필요를 없애 준다.
원격 서버(104)는 컴퓨팅 장치(102)와 별개인 임의의 종류의 컴퓨팅 장치로서 구체화될 수 있다. 예로서, 원격 서버(104)는 퍼스널 컴퓨터, 워크스테이션, 랩톱 컴퓨터, 핸드헬드 컴퓨터, 휴대 인터넷 장치, 휴대전화, PDA, 전화 장치, 네트워크 장치, 가상화 장치, 저장 장치 컨트롤러, 또는 네트워크(106)를 통해 컴퓨팅 장치(102)와 통신하도록 구성된 다른 컴퓨터 기반 장치들로서 구체화될 수 있다. 도 1에서 도시된 설명적인 실시예에서, 원격 서버(104)는 프로세서(130), 칩셋(132), 시스템 메모리(134), 통신 회로(136), 및 하나 또는 그 이상의 대용량 저장 장치(138)를 포함한다(각각은 구성 및 작동이 컴퓨팅 장치(102)의 대역내 프로세서(110), 칩셋(112), 시스템 메모리(114), 통신 회로(116), 및 데이터 저장 장치(120)와 유사할 수 있다). 원격 서버(104)는 다른 구성들을 가질 수 있고 및/또는 도 1에 도시되지 않은 다른 컴포넌트(예컨대, 하나 또는 그 이상의 입/출력 장치)를 포함할 수 있다고 예상된다.
이제, 도 2를 참조하면, 시스템(100)의 컴퓨팅 장치(102) 및 원격 서버(104) 상에서 작동하는 소프트웨어/펌웨어 환경의 한 설명적인 실시예가 간략화된 블록도로서 도시되어 있다. 컴퓨팅 장치(102)의 소프트웨어 스택은 운영 체제(OS)(200), AHCI(advanced host controller interface) 드라이버(202) 및 파일 시스템 및 다른 필터 드라이버(204)를 포함한다(이들 각각은 대역내 프로세서(110)에 의해 실행될 수 있고/또는 시스템 메모리(114) 또는 DSD(120)에 저장될 수 있다). OS(200)는 유저 공간(ring 3)에 존재하며 컴퓨팅 장치(102)의 사용자와 일반적으로 상호 작용하는, 더 높은 레벨의 애플리케이션들을 호스팅한다. OS(200)는 커널(Ring 0)에 상주하는 AHCI 드라이버(202)를 포함하는 파일 시스템 및 필터 드라이버(204)를 호출하여, 컴퓨팅 장치(102)의 하드웨어 컴포넌트들(예컨대, DSD(120))에 액세스한다. OS(200) 및/또는 드라이버(202, 204)를 포함하는 이 소프트웨어 모듈들 중 임의의 소프트웨어 모듈은 또한 일부 실시예에서 부분적으로 또는 완전히 펌웨어 또는 하드웨어로 구현될 수 있다는 것을 인식할 것이다.
AHCI 드라이버(202)는 DSD(120)의 인터페이스 모듈(210)과 상호 작용하여 다양한 읽기/쓰기 연산을 수행하도록 구성되었으므로, 도 2에서 파일 시스템 및 다른 필터 드라이버(204)와 개별적으로 도시되었다. 구체적으로, AHCI 드라이버(202)는 AHCI 드라이버(202)에 의해 DSD 인터페이스 모듈(210)로 전송될 수 있는 저장 명령들의 라이브러리(206)를 포함한다. 라이브러리(206)의 이러한 저장 명령들은 DSD(120)로 하여금 일부 기능(들)을 수행하도록 하는 요청 및/또는 명령들이다. 예컨대, DSD(120)가 PCIe 인터페이스를 통해 연결된 NAND 플래시 메모리 장치인 경우, AHCI 드라이버(202)는 DSD(120)로 하여금 다양한 읽기/쓰기 연산을 수행하도록 하는 저장 명령들의 NAND 명령 라이브러리(206)를 포함할 수 있다. 다른 예로서, DSD(120)가 SATA 인터페이스를 통해 연결된 솔리드 스테이트 드라이브인 경우, AHCI 드라이버(202)는 DSD(120)로 하여금 다양한 읽기/쓰기 연산을 수행하도록 하는 저장 명령들의 ATA 명령 라이브러리(206)를 포함할 수 있다. 따라서, AHCI 드라이버(202)가 DSD(120)의 특정 논리 블록 주소(logical block address; LBA)의 데이터를 검색하도록 요청을 받으면(예컨대, 운영 체제(200)에 의해), AHCI 드라이버(202)는 라이브러리(206)로부터 적절한 저장 명령을 선택하여 이 저장 명령을 DSD(120)로 전송한다. 도 2에 도시된 설명적인 실시예는 AHCI 드라이버(202)를 사용하여 DSD 인터페이스 모듈(210)과의 인터페이스를 구현하지만, DSD(120)에 접근 가능한 컴퓨팅 장치(102)의 모든 호스트 드라이버(들)(예컨대, 적합한 저장 명령 라이브러리(206)을 갖는)가 AHCI 드라이버(202)에 부가적으로 또는 대안으로서 사용될 수 있다고 예상된다. 일부 실시예에서, 예컨대 캘리포니아 산타 클라라의 인텔 코포레이션에서 입수할 수 있는 Intel® RST(Intel® Rapid Storage Technology) 드라이버가 사용될 수 있다.
도 2의 컴퓨팅 장치(102)는 DSD(120)에서 실행될 수 있는 DSD 인터페이스 모듈(210) 및 OOB 프로세서(124)에서 실행될 수 있는 OOB 에이전트(214)와 같은 몇몇의 펌웨어 모듈을 포함한다. 각각 DSD(120) 펌웨어 및 칩셋(112) 펌웨어에 존재하는 것으로 도시되었으나, DSD 인터페이스 모듈(210) 및 OOB 에이전트(214)는 각각, 부가적으로 또는 대안으로서 하나 또는 그 이상의 하드웨어 및/또는 소프트웨어 모듈로서 구체화될 수 있다는 것을 인식할 것이다. DSD 인터페이스 모듈(210)은 상기 기술된 것과 같이 일반적으로 AHCI 드라이버(202)(또는 다른 호스트 드라이버)로부터 저장 명령을 수신하도록 구성되며, 다양한 기능(예컨대, 읽기/쓰기 연산)을 수행하도록 DSD(120)를 제어하도록 구성된다.
DSD 인터페이스 모듈(210)은 DSD(120)의 암호화 회로(126)에 의해 실행되는 펌웨어 또는 소프트웨어를 포함할 수 있는, 하드웨어 기반 암호화 엔진(212)을 포함한다. 일부 실시예에서, DSD 인터페이스 모듈(210)은 AHCI 드라이버(202)로부터의 특정 저장 명령(또는 특정 클래스 또는 카테고리의 저장 명령들)에 응답하여 암호화 엔진(212)을 사용하여 DSD(120)에서 검색한 데이터에 대한 인증 메타데이터를 생성하도록 구성될 수 있다. 다른 실시예에서, 암호화 엔진(212)은 DSD 인터페이스 모듈(210)이 수신한 임의의 저장 명령에 응답하여 DSD(120)에서 검색한 데이터에 대한 인증 메타데이터를 생성할 수 있다. 설명적인 예로서, 암호화 엔진(212)은 (Trusted Computing Group에 의해 공포된) Opal Security Subsystem Class 표준을 준수하는 펌웨어로 구현될 수 있다.
DSD(120)의 암호화 엔진(212)에 의해 생성된 인증 메타데이터는 관련 데이터의 진정성을 확인하는데 사용될 수 있는 임의의 형식을 가질 수 있다. 일부 실시예에서, 암호화 엔진(212)은 DSD(120)로부터 검색된 데이터에 공유된 비밀 키를 사용하는 키 해시 함수(keyed hash function)를 적용함으로써 인증 메타데이터에 포함될 메세지 인증 코드(message authentication code; MAC)를 생성할 수 있다. 공유된 비밀 키를 또한 소유하는 임의의 다른 컴포넌트, 장치, 또는 사용자는 키 해시 함수를 상기 데이터에 재적용할 수 있으며 그 출력을 인증 메타데이터에 포함된 MAC과 비교할 수 있다. 부가적으로 또는 대안으로, 암호화 엔진(212)은 인증 메타데이터에 포함될 카운터 값(DSD(120)로부터 데이터가 검색된 시간을 나타내는 타임 스탬프 또는 다른 토큰과 같은 것)을 생성할 수 있다. 임의의 다른 컴포넌트, 장치, 또는 사용자는 이것을 DSD(120)로부터 데이터가 검색될 것으로 예상된 시간과 비교함으로써 (스테일 데이터(stale data)를 수반하는) 재전송 공격(replay attack)으로부터 보호할 수 있다. 다른 실시예에서, 암호화 엔진(212)은 DSD(120)로부터 검색된 데이터에 비밀 키를 사용하는 서명 알고리즘(signing algorithm)을 적용하여 인증 메타데이터에 포함될 디지털 서명을 생성할 수 있다. 비밀 키에 상응하는 공개 키를 가진 임의의 다른 컴포넌트, 장치, 또는 사용자는 상기 인증 메타데이터를 사용하여 서명 확인 알고리즘을 적용할 수 있다. 또 다른 실시예에서, 암호화 엔진(212)은 인증 메타데이터를 생성하기 위해 임의의 수의 암호화 해시 함수을 사용할 수 있다.
호스트 드라이버를 통해 원격 서버(104)를 DSD(120)에 접근 가능하게 하는 OOB 에이전트(214)는, 도 2의 실시예에서 OOB 프로세서(124)에서 실행되는 펌웨어 모듈로서 도시되어 있다(다른 실시예에서 OOB 에이전트(214)는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구체화될 수 있지만). OOB 에이전트(214)는 상기 기술된 OOB 프로세서(124)의 특성에 기인하여 일반적으로 원격 서버(104)에 의해 항상 사용 가능하며 멀웨어에 대해 위조 방지(tamper resistant)이다. OOB 에이전트(214)는 원격 블록 읽기/쓰기 모듈(216), OOB 통신 모듈(218), 및 (일부 실시예에서) 확인 모듈(220)을 포함한다. OOB 통신 모듈(218)은 OOB 에이전트(214)로 하여금 컴퓨팅 장치(102)의 통신 회로(116)의 다양한 부분들을 제어하여 네트워크(106)를 통해 원격 서버(104)와의 사이에 다양한 네트워크 메세지를 송수신할 수 있도록 한다. 원격 블록 읽기/쓰기 모듈(216)은 원격 서버가 DSD(120) 상의 특정 LBA의 데이터를 요청하기 위한 인터페이스를 제공한다. OOB 통신 모듈(218)을 통해 DSD(120)로부터 데이터를 읽기 위한 요청이 수신되면, 원격 블록 읽기/쓰기 모듈(216)은 해당 요청을 대역내 프로세서(110)에서 실행되는 AHCI 드라이버(202)로 전달한다. 원격 블록 읽기/쓰기 모듈(216)과 AHCI 드라이버(202) 간의 메세지는 HECI(Host Embedded Controller Interface) 또는 OOB 에이전트(214) 및 운영 체제(200) 간 공유된 임의의 다른 메모리 채널을 사용하여 전송될 수 있다. AHCI 드라이버(202)는 OOB 에이전트(214)로부터 이와 같은 메세지를 수신하고, 라이브러리(206)로부터 적절한 저장 명령을 선택하고 전송하도록 AHCI(202)에 명령하도록 구성된 애플리케이션 프로그래밍 인터페이스(API)(208)를 포함할 수 있다. OOB 에이전트(214)의 일부 실시예에 포함된 확인 모듈(220)은 하기에 더 상세히 기술될 것이다.
원격 서버(104)의 소프트웨어 스택은 OS(도시되지 않음), 하나 또는 그 이상의 ISV 애플리케이션(222), 원격 블록 읽기/쓰기 드라이버(224), 파일 시스템 및 다른 필터 드라이버(226)(이들 각각은 프로세서(130)에 의해 실행 및/또는 시스템 메모리(132) 또는 대용량 저장 장치(138)에 저장될 수 있다)를 포함한다. 도 2에 도시된 것과 같이, 원격 서버(104)는 (대용량 저장 장치(138)에 저장된) DSD(120)의 하나 또는 그 이상의 디스크 이미지(228)를 또한 포함한다. 컴퓨팅 장치(102)와 유사하게, (사용자 공간 내에 존재하는) 원격 서버(104)의 OS는 예컨대 ISV 애플리케이션(들)(222)과 같은 높은 레벨의 애플리케이션을 호스팅한다. 하나 또는 그 이상의 ISV 애플리케이션(222)은 DSD(120)의 안전한 스캔을 필요로 하는 저장, 보안 및/또는 관리 애플리케이션으로서 구체화될 수 있다. 상기 하나 또는 그 이상의 ISV 애플리케이션(222)은 (OS를 통해) 원격 서버(104)의 하드웨어 컴포넌트(예컨대, 대용량 저장 장치(138))에 접근하기 위해 (커널 내부에 존재하는) 파일 시스템 및 필터 드라이버(226)를 호출할 수 있다. 예컨대, ISV 애플리케이션(들)(222)은 파일 시스템 및 다른 필터 드라이버(226)를 통해 대용량 저장 장치(138)에 저장된 디스크 이미지(228)에 접근할 수 있다. OS, ISV 애플리케이션(222), 및/또는 드라이버(226)를 포함하는 이러한 소프트웨어 모듈들 중 임의의 소프트웨어 모듈은 일부 실시예에서 부분적으로 또는 완전히 펌웨어 또는 하드웨어로서 또한 구체화될 수 있다는 것을 인식할 것이다.
원격 블록 읽기/쓰기 드라이버(224)는 원격 서버(104)로 하여금 컴퓨팅 장치(102)의 DSD(120)를 원격 장착할 수 있도록 허용한다. 바꾸어 말하면, 원격 블록 읽기/쓰기 드라이버(224)는 컴퓨팅 장치(102)에서 실행되는 OOB 에이전트(214)와 함께, 원격 서버(104)로 하여금 DSD(120)가 마치 원격 서버(104)의 로컬 메모리 장치인 것처럼 DSD(120)를 매핑하고 이어서 액세스할 수 있도록 허용한다. DSD(120)가 원격 서버(104)에 의해 장착되면, 원격 블록 읽기/쓰기 드라이버(224)는 DSD(120) 상의 특정 LBA의 데이터를 읽기 위한 요청을 OOB 에이전트로 전송할 수 있다(상기 기술된 바와 같이 이는 AHCI 드라이버(202)로 전달된다). 요청된 데이터가 반환되면, OOB 에이전트(214)는 OOB 통신 모듈(218)을 사용하여 이 데이터를 원격 서버(104)의 원격 블록 읽기/쓰기 드라이버(224)로 전송할 수 있다. 그 다음, 원격 블록 읽기/쓰기 드라이버(224)는 요청된 데이터를 ISV 애플리케이션(들)(222)에 제공하거나 이 데이터를 디스크 이미지(228)의 일부분으로서 저장할 수 있다.
원격 블록 읽기/쓰기 드라이버(224)는 DSD(120)으로부터 검색된 데이터의 진정성을 관련 인증 메타데이터를 사용하여 확인하는 확인 모듈(230)을 또한 포함한다. 상기 기술된 바와 같이, 인증 메타데이터가 MAC를 포함하는 경우, 확인 모듈(230)은 해시 함수을 상기 데이터에 재적용하여(확인 모듈(230)이 암호화 엔진(212)에 의해 사용되는 공유 비밀 키를 소유한다는 전제 하에) 그 출력을 인증 메타데이터에 포함된 MAC과 비교한다. 부가적으로 또는 대안으로, 확인 모듈(230)은 인증 메타데이터의 카운터 값을 DSD(120)으로부터 데이터가 검색될 것으로 예상된 시간과 비교함으로써 재전송 공격으로부터 보호할 수 있다. 인증 메타데이터가 디지털 서명을 포함하는 경우, 확인 모듈(230)은 인증 메타데이터를 사용하여 서명 확인 알고리즘을 적용할 수 있다(확인 모듈(230)이 암호화 엔진(212)에 의해 사용되는 비밀 키에 상응하는 공개 키를 소유한다는 전제 하에). 일부 실시예에서 OOB 에이전트(214)에 포함될 수 있는 확인 모듈(220)은, DSD(120)로부터 검색된 데이터를 원격 서버(104)로 전송하기 전에 해당 데이터의 진정성을 확인하기 위해 실질적으로 동일한 방법으로 작동할 수 있다. 확인 모듈(220)을 사용하는 실시예에서, 확인 모듈(230)은 원격 블록 읽기/쓰기 드라이버(224)로부터 생략될 수 있으며 OOB 에이전트(214)는 인증 메타데이터를 원격 서버(104)로 전송하는 것을 보류할 수 있다(데이터의 진정성이 이미 확인되었으므로).
OOB 프로세서(124)에서 실행되는 OOB 에이전트(214), 및 DSD(120)에서 실행되는 암호화 엔진(212)의 특징들 중 몇몇은 시스템(100)으로 하여금 원격 서버(104)로부터의 컴퓨팅 장치(102)의 DSD(120)에 대한 안전한 스캔을 제공하도록 한다. 그러기 위해, 도 3에 도시된 것처럼, 컴퓨팅 장치(102)는 네트워크(106)를 통해 안전한 스캔을 제공하기 위한 방법(300)을 실행하도록 구성될 수 있다. 일반적으로, 방법(300)은 DSD(120)로부터 검색된 데이터의 진정성을 확인하기 위해 OOB 에이전트(214) 또는 원격 서버(104)의 원격 블록 읽기/쓰기 드라이버(224)에 의해 사용될수 있는 DSD(120)로부터의 인증 메타데이터의 검색을 수반한다. 방법(300)은 예컨대, 시스템(100)의 다른 컴포넌트들과 상호 작용할 수 있는 컴퓨팅 장치(102)의 다른 컴포넌트들과 함께, OOB 프로세서(124), 대역내 프로세서(110) 및 DSD(120)의 하드웨어에 의해 실행될 수 있다. 방법(300)은 임의의 목적을 위해 원격 서버(104)로부터의 DSD(120)에 대한 안전한 스캔을 허용할 수 있으며, 임의의 목적은 안티바이러스 스캔, 멀웨어 제거, 시스템 복구, 시스템 리이미징 및 안전한 파일/폴더 접근을 포함하며, 이들에 한정되지 않는다.
상기 방법(300)은 OOB 에이전트(214)가 원격 서버(104)에 의한 DSD(120)의 원격 장착을 확립하는 블록(302)으로부터 시작된다. DSD(120)의 원격 장착은 컴퓨팅 장치(102) 또는 원격 서버(104)에 의해 시작될 수 있다. 방법(300)의 블록(302)에 사용될 수 있는, 원격 서버를 이용하여 데이터 저장 장치를 원격 장착하는 한 프로세스는, 현재 계류 중인, 2009년 5월 29일에 출원된, 본 출원의 양수인에게 양도된 미국 특허 출원 일련 번호 12/475,216에 개시되어 있다. 거기에 기술된 바와 같이, 원격 블록 읽기/쓰기 드라이버(224)는 DSD(120)의 마스터 부트 레코드(MBR), 하나 또는 그 이상의 부트 섹터, 및/또는 하나 또는 그 이상의 마스터 파일 테이블(MFTs)을 요청하고, OOB 에이전트(214)는 이들을 전송할 수 있다. (대용량 저장 장치(138)에 디스크 이미지(들)(228)의 일부로 저장될 수 있는) 이 데이터는 원격 블록 읽기/쓰기 드라이버(224)로 하여금 DSD(120)을 매핑하도록 할 수 있다. 하나 또는 그 이상의 ISV 애플리케이션(222)에 의해 DSD(120)로부터의 데이터가 요청될 때마다, 원격 블록 읽기/쓰기 드라이버(224)는 DSD(120)의 MBR, 부트 섹터(들), 및/또는 MFT(들)을 사용하여 OOB 에이전트(214)로부터 요청할 LBA를 결정할 수 있다.
방법(300)의 블록(304)에서, OOB 에이전트(214)는 네트워크(106)를 통해 원격 블록 읽기/쓰기 드라이버(224)로부터 블록 읽기 요청을 수신한다. OOB 에이전트(214)는 OOB 통신 모듈(218)을 통해 이 요청을 수신한다. OOB 에이전트(214)는, OOB 프로세서(124) 및 통신 회로(116)에 의해 유지되는 대역외 통신 채널과 지속적인 전력 때문에, 컴퓨팅 장치(102)의 대역내 프로세서(110)가 OS(200)를 실행하고 있지 않을 때 또는 감소된 전력 상태 또는 전력 차단 상태일 때에도 원격 서버(104)로부터 이와 같은 요청을 수신할 수 있음을 인식해야 한다. 설명적인 실시예는 (통신 회로(116, 136)를 통한) 원격 서버(104)와 OOB 프로세서(124) 간의 직접적인 통신을 기술하지만, 원격 서버(104)가 하나 또는 그 이상의 호스트 기반 채널을 통해(예컨대, 대역내 프로세서(110) 및 OS(200)를 또한 수반하여) OOB 프로세서(124)와 통신할 수 있다는 것도 예상된다.
블록(306)에서, OOB 에이전트(214)는 수신된 블록 읽기 명령을 원격 블록 읽기/쓰기 모듈(216)을 사용하여 컴퓨팅 장치(102)의 대역내 프로세서(110)에서 실행되는 적합한 호스트 드라이버로 전달할 것이다. 대역내 프로세서(110)가 OS(200)를 실행 중일 때(즉, OS(200)가 이미 부팅된 상태), OOB 에이전트(214)는 상기 기술된 것처럼 블록 읽기 명령을 AHCI 드라이버(202)로 전달할 수 있다. 그러나, 대역내 프로세서(110)가 감소된 전력 상태 또는 전력 차단 상태일 때, 또는 OS(200)가 아직 부팅되지 않았을 때, 원격 블록 읽기/쓰기 모듈(216)은 상기 블록 읽기 요청을 컴퓨팅 장치(102)의 BIOS 드라이버로 대신 돌릴 수 있다(컴퓨팅 장치(102)는 필요 시 BIOS 드라이버로의 접근을 부여하기 위해 OOB 프로세서(124)에 의해 전력이 켜질 수 있다). 이러한 실시예에서, OOB 에이전트(214)는 컴퓨팅 장치(102)의 OS(200)의 상태와 상관없이 원격 서버(104)에 DSD(120)에의 접근을 제공할 수 있다.
블록(308)에서, AHCI 드라이버(202)(또는 다른 호스트 드라이버)는 DSD 인터페이스 모듈(210)로 인증 저장 명령을 전송한다. OOB 에이전트(214)로부터 전달된 블록 읽기 명령을 수신하면, AHCI 드라이버(202)는 라이브러리(206)로부터 적합한 IOTCL 메세지를 선택한다. 도 2 및 도 3의 설명적인 실시예에서, AHCI 드라이버가 OOB API(208)을 통해 읽기 요청을 수신할 때마다, AHCI 드라이버는 저장 명령을 선택 및 전송하며, 그 결과로 DSD(120)는 요청된 데이터를 검색하는 것은 물론 인증 메타데이터 역시 생성한다. 그러므로, 원격 블록 읽기/쓰기 드라이버(224)로부터 비롯된 모든 요청들은 그 결과로서 인증 메타데이터를 생성할 것이고, 이는 DSD(120)로부터 검색된 데이터의 진정성을 확인하는 데 사용될 수 있다.
블록(310)에서, DSD 인터페이스 모듈(210)은 AHCI(202)로부터 인증 저장 명령을 수신하는 데 응하여 DSD(120)로부터 요청된 데이터를 검색하고 암호화 엔진(212)을 사용하여 인증 메타데이터를 생성한다. 인증 메타데이터는 MAC, 카운터 값, 디지털 서명, 암호화된 해시 값, 및/또는 같은 종류의 다른 것들과 같은 상기 기술된 종류들 중 임의의 것을 포함할 수 있다. 블록(312)에서, DSD 인터페이스 모듈(210)은 DSD(120)로부터 검색된 데이터 및 DSD(120)에 의해 생성된 인증 메타데이터를 AHCI(202)로 반환한다. 블록(314)에서, AHCI(202)는 상기 데이터 및 인증 메타데이터를 OOB 에이전트(214)의 원격 블록 읽기/쓰기 모듈(216)로 전달한다.
인증 모듈(220)을 사용하는 실시예에서, 상기 방법(300)은 옵션의 블록(316)으로 진행되며, 여기서 OOB 에이전트(214)는 DSD(120)로부터 생성된 인증 메타데이터를 사용하여 DSD(120)로부터 검색된 데이터를 확인한다. 이러한 DSD(120)로부터 검색된 데이터의 진정성에 대한 확인은 상기 기술된 방법들 중 임의의 방법들을 사용하여 실행될 수 있다. 옵션의 블록(316) 다음에(또는 확인 모듈(220)이 없는 실시예에서는 블록(314) 다음에), 상기 방법(300)은 블록(318)으로 진행되며, 이 때 OOB 에이전트(214)는 OOB 통신 모듈(218)을 사용하여 데이터 및 인증 메타데이터를 네트워크(106)를 통해 원격 블록 읽기/쓰기 드라이버(224)로 전송한다.
블록(320)에서, 원격 블록 읽기/쓰기 드라이버(224)는 인증 메타데이터를 사용하여 데이터를 확인하기 위해 확인 모듈(230)을 활용할 수 있다(옵션의 블록(316)을 사용하는 실시예에서는 블록(320)을 거를 수 있지만). DSD(120)로부터 검색된 데이터의 진정성에 대한 이러한 확인은 상기 기술된 임의의 방법들을 사용하여 실행될 수 있다. 데이터가 확인되면 원격 블록 읽기/쓰기 드라이버(224)는 요청된 데이터를 ISV 애플리케이션(222)에 제공 및/또는 이 데이터를 디스크 이미지(228)의 일부분으로서 저장할 수 있다. 방법(300)은 원격 블록 읽기/쓰기 드라이버(224)가 또다른 블록 읽기 요청을 네트워크(106)을 통해 OOB 에이전트(214)로 전송할 때 블록(304)으로 복귀할 수 있다(블록(302)은 매 사이클동안 반복될 필요가 없다).
도 4를 참조하면, 컴퓨팅 장치(102) 및 시스템(100)의 원격 서버(104)에서 실행되는 소프트웨어/펌웨어 환경에 대한 또다른 설명적인 실시예가 간략화된 블록도로서 제시되었다. 도 4의 실시예는 도 2와 유사한 다수의 컴포넌트들과 모듈들을 포함하며, 이들은 동일한 참조 번호로 표시되었다. 하기에 설명된 것을 제외하면, 이러한 컴포넌트들과 모듈들의 동작은 도 2를 참조하여 상기 기술된 것과 대체로 유사할 수 있다. 예컨대, DSD 인터페이스 모듈(210), OOB 에이전트(214) 및 원격 서버(104)의 소프트웨어 스택(OS, 하나 또는 그 이상의 ISV 애플리케이션(222), 원격 블록 읽기/쓰기 드라이버(224), 파일 시스템 및 다른 필터 드라이버(226)를 포함함)의 동작은 암호화 엔진(212), 확인 모듈(220), 또는 확인 모듈(230)을 포함하지 않는다는 것을 제외하면 대체로 비슷하다. 본 설명적인 실시예에서, DSD(120)로부터 검색된 데이터의 진정성은 인증 메타데이터의 필요 없이 보증될 수 있다.
도 4에 제시된 바와 같이, 컴퓨팅 장치(102)의 소프트웨어 스택은 OS(200), AHCI 드라이버(202), 파일 시스템 및 다른 필터 드라이버들(204)(각각은 대역내 프로세서(110)에 의해 실행 및/또는 시스템 메모리(114) 또는 DSD(120)에 저장될 수 있음)을 포함한다. 게다가, 상기 소프트웨어 스택은 대역내 프로세서(110)에서 실행되는 안전 컨테이너(400)를 또한 포함한다. 안전 컨테이너(400)는 OS(200) 및 연관 드라이버(202, 204)와 개별적으로 유지되며 이러한 소프트웨어 모듈들에게 직접 접근 가능하지 않은(그로써 안전 컨테이너(400)의 보안을 유지하는) 안전 메모리 및/또는 실행 공간으로서 구체화될 수 있다. 도 4에 도시된 실시예에서, AHCI 드라이버(202)보다는 안전 컨테이너 내부에서 실행되는 호스트 드라이버가 DSD(120)에 접근하는데 직접적인 책임이 있다. OS(200)는 여전히 AHCI 드라이버(202)를 통해 DSD(120)에 간접적으로 접근하지만, AHCI 드라이버(202)는 안전 컨테이너(400) 내에서 실행되는 드라이버에 요청을 전달하기 위해 칩셋 펌웨어 내에 있는 하나 또는 그 이상의 펌웨어 후크(firmware hook)(402)에 의존한다.
안전 컨테이너(400) 내에서 실행되는 드라이버는 저장 명령 라이브러리(206) 및 OOB API(208)를 포함한다(도 2의 도시된 실시예의 AHCI 드라이버(202)와 유사하게). 본 실시예에서, OOB 에이전트(214)는 안전 컨테이너(400) 내에서 실행되는 호스트 드라이버를 통해 원격 서버(104)에 DSD(120)에의 접근을 제공한다. 원격 블록 읽기/쓰기 모듈(216) 및 OOB 통신 모듈(218)은 원격 블록 읽기/쓰기 모듈(216)이 블록 읽기 요청을 (AHCI(202)보다는) 안전 컨테이너(400) 내에서 실행되는 드라이버의 OOB API(208)로 전달한다는 것을 제외하면 대체로 상기 기술된 바와 같이 기능한다. 상기 OOB API(208)는 OOB 에이전트(214)로부터 메세지를 수신하고 드라이버에게 라이브러리(206)로부터 적합한 저장 명령을 선택 및 송신하도록 지시하도록 구성된다. DSD(120)로부터 검색된 데이터는 드라이버로 반환되며 OOB 에이전트(214)로 직접 전달된다. 이러한 데이터 전달 동안에, OS(200) 및 연관된 드라이버(202, 204)를 피할 수 있으므로 안전에 대한 걱정이 제거되며, DSD(120)에 의해 인증 메타데이터가 생성될 필요가 없다.
대역내 프로세서(110)에서 실행되는 안전 컨테이너(400) 및 OOB 프로세서(124)에서 실행되는 OOB 에이전트(214)의 특징들 중 몇몇은, 시스템(100)으로 하여금 원격 서버(104)로부터의 컴퓨팅 장치(102)에 대한 안전한 스캔을 제공하도록 한다. 그렇게 하기 위해, 도 5에 도시된 것처럼, 컴퓨팅 장치(102)는 네트워크(106)를 통한 안전한 스캔을 제공하기 위한 방법(500)을 수행하도록 구성될 수 있다. 일반적으로, 방법(500)은 OOB 에이전트(214)가 DSD(120)로부터 검색된 데이터의 진정성을 확보하기 위해 안전 컨테이너(400) 내부에서 실행되는 호스트 드라이버와 상호 작용하는 것을 수반한다. 방법(500)은, 예컨대, 시스템(100)의 다른 컴포넌트들과 상호 작용할 수 있는 컴퓨팅 장치(102)의 다른 컴포넌트들과 함께, OOB 프로세서(124), 대역내 프로세서(110) 및 DSD(120)의 하드웨어에 의해 실행될 수 있다. 방법(500)은 임의의 목적을 위해 원격 서버(104)로부터의 DSD(120)에 대한 안전한 스캔을 허용할 수 있으며, 이 목적은 안티바이러스 스캔, 멀웨어 제거, 시스템 복구, 시스템 리이미징 및 안전한 파일/폴더 접근을 포함하며, 이들에 한정되지 않는다.
상기 방법(500)은 블록(502)에서 시작되며, 여기서 OOB 에이전트(214)가 원격 서버(104)에 의한 DSD(120)의 원격 장착을 확립한다. 블록(504)에서, OOB 에이전트(214)는 네트워크(106)를 통해 원격 블록 읽기/쓰기 드라이버(224)로부터 블록 읽기 요청을 수신한다. DSD(120)의 원격 장착 확립 및 블록 읽기 요청 수신은 도 3의 블록(302) 및 (304)를 참조하여 상기 기술된 것과 대체로 동일하게 실행될 수 있다.
블록(506)에서, OOB 에이전트(214)는 수신한 블록 읽기 요청을, 원격 블록 읽기/쓰기 모듈(216)을 사용하여 컴퓨팅 장치(102)의 대역내 프로세서(110) 상에 있는 안전 컨테이너(400)에서 실행되는 호스트 드라이버로 전달할 것이다. 블록(508)에서, 안전 컨테이너(400) 내에서 실행되는 드라이버가 DSD 인터페이스 모듈(210)로 저장 명령을 송신한다. 안전 컨테이너(400) 내에서 실행되는 드라이버가 OOB 에이전트(214)로부터 전달된 블록 읽기 요청을 수신하면, 그 드라이버는 라이브러리(206)로부터 적합한 IOTCL 메세지를 선택한다.
블록(510)에서, DSD 인터페이스 모듈(210)은 안전 컨테이너(400) 내에서 실행되는 드라이버로부터의 저장 명령을 수신하는데 응답하여 DSD(120)로부터 요청된 데이터를 검색한다. 블록(512)에서, DSD 인터페이스 모듈(210)은 DSD(120)로부터 검색된 데이터를 드라이버로 반환한다. 블록(514)에서, 안전 컨테이너(400) 내에서 실행되는 드라이버는 데이터 및 인증 메타데이터를 OOB 에이전트(214)의 원격 블록 읽기/쓰기 모듈(216)로 전달한다. 방법(300)은 블록(516)에서 종료되며, 여기서 OOB 에이전트(214)가 OOB 통신 모듈(218)을 사용하여 네트워크(106)를 통해 데이터를 원격 블록 읽기/쓰기 드라이버(224)로 전송한다. 방법(500)은 원격 블록 읽기/쓰기 드라이버(224)가 네트워크(106)를 통해 또 다른 블록 읽기 요청을 OOB 에이전트(214)로 전송할 때 블록(504)으로 복귀할 수 있다(블록(502)은 매 사이클마다 반복될 필요가 없다).
본 명세서는 도면 및 상기 기술에서 상세하게 도시 및 설명되었으나, 이러한 도시 및 설명은 제한적이 아니라 대표적인 것으로 간주되어야 하며, 설명적인 실시예만이 제시되고 설명되었으며, 본 명세서 및 부가된 청구항들에서 의도한 범위 내의 모든 변화 및 변경들이 보호되기를 요구함은 말할 것도 없다.

Claims (15)

  1. 원격 서버로부터 컴퓨팅 장치의 데이터 저장 장치를 안전하게 스캔하기 위한 방법으로서,
    상기 컴퓨팅 장치에서 실행되는 대역외(out-of-band; OOB) 에이전트를 사용하여 원격 서버 드라이버로부터 블록 읽기 요청을 수신하는 단계 - 상기 OOB 에이전트는 상기 컴퓨팅 장치의 운영 체제의 상태와 상관없이 상기 원격 서버 드라이버와 통신할 수 있음 -;
    상기 블록 읽기 요청을 수신하는 것에 응답하여, 상기 컴퓨팅 장치의 호스트 드라이버를 사용하여 상기 컴퓨팅 장치의 데이터 저장 장치에 저장 명령을 송신하는 단계;
    상기 저장 명령에 응답하여, 상기 데이터 저장 장치로부터 검색된 데이터 및 상기 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하는 단계; 및
    상기 OOB 에이전트 또는 상기 원격 서버 드라이버에 의해, 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 OOB 에이전트를 사용하여 상기 원격 서버 드라이버로부터 상기 블록 읽기 요청을 수신하는 단계는 상기 컴퓨팅 장치의 OOB 프로세서에서 실행되는 펌웨어 모듈을 사용하여 상기 블록 읽기 요청을 수신하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 OOB 에이전트를 사용하여 상기 원격 서버 드라이버로부터 상기 블록 읽기 요청을 수신하는 단계는 상기 컴퓨팅 장치의 운영 체제가 실행되지 않는 동안에 상기 블록 읽기 요청을 수신하는 단계를 포함하는 방법.
  4. 제3항에 있어서,
    상기 데이터 저장 장치에 상기 저장 명령을 송신하는 단계는 상기 컴퓨팅 장치의 BIOS(basic input/output system) 드라이버를 사용하여 상기 저장 명령을 생성하는 단계를 포함하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 데이터 저장 장치에 상기 저장 명령을 송신하는 단계는 상기 컴퓨팅 장치의 AHCI(advanced host controller interface) 드라이버를 사용하여 상기 저장 명령을 송신하는 단계를 포함하는 방법.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하는 단계는 상기 데이터 저장 장치로부터 검색된 상기 데이터에 키 해시 함수(keyed hash function)의 출력을 수신하는 단계를 포함하는 방법.
  7. 제6항에 있어서,
    상기 OOB 에이전트 또는 상기 원격 서버 드라이버에 의해, 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 단계는 상기 데이터에 상기 키 해시 함수를 재적용하고 상기 키 해시 함수의 출력을 상기 인증 메타데이터와 비교하는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    상기 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하는 단계는 상기 데이터 저장 장치로부터 상기 데이터가 검색된 시간을 나타내는 카운터 값을 수신하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 OOB 에이전트 또는 상기 원격 서버 드라이버에 의해, 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 단계는 상기 카운터 값을 예상 시간과 비교하는 단계를 더 포함하는 방법.
  10. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하는 단계는 상기 데이터 저장 장치에서 검색된 상기 데이터 및 비밀 키에 기반한 디지털 서명을 수신하는 단계를 포함하는 방법.
  11. 제10항에 있어서,
    상기 OOB 에이전트 또는 상기 원격 서버 드라이버에 의해, 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 단계는 상기 비밀 키에 대응하는 공개 키를 사용하여 상기 디지털 서명을 확인하는 단계를 포함하는 방법.
  12. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 OOB 에이전트를 사용하여 상기 데이터 및 상기 인증 메타데이터를 상기 원격 서버 드라이버로 송신하는 단계를 더 포함하며, 상기 원격 서버 드라이버는 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 방법.
  13. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 OOB 에이전트를 사용하여 상기 데이터를 상기 원격 서버 드라이버로 송신하는 단계를 더 포함하며, 상기 OOB 에이전트는 상기 데이터를 송신하기 전에 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 방법.
  14. 복수의 명령어를 포함하는 하나 또는 그 이상의 유형의(tangible) 기계 판독 가능한 매체로서,
    상기 복수의 명령어는, 실행되는 것에 응답하여, 컴퓨팅 장치가 제1항 내지 제4항 중 어느 한 항의 방법을 실행하도록 하는 하나 또는 그 이상의 유형의 기계 판독 가능한 매체.
  15. 컴퓨팅 장치로서,
    운영 체제 및 적어도 하나의 호스트 드라이버를 실행하도록 구성된 대역내 프로세서;
    원격 서버와 통신하도록 구성된 통신 회로; 및
    상기 운영 체제의 상태에 상관없이 상기 통신 회로를 사용하여 상기 원격 서버와 통신할 수 있는 대역외(out-of-band; OOB) 프로세서 - 상기 OOB 프로세서는 제1항 내지 제4항 중 어느 한 항의 방법을 수행하도록 구성됨 -
    를 포함하는 컴퓨팅 장치.
KR1020110047796A 2010-05-21 2011-05-20 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치 KR101289581B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/785,146 US8856534B2 (en) 2010-05-21 2010-05-21 Method and apparatus for secure scan of data storage device from remote server
US12/785,146 2010-05-21

Publications (2)

Publication Number Publication Date
KR20110128248A KR20110128248A (ko) 2011-11-29
KR101289581B1 true KR101289581B1 (ko) 2013-08-26

Family

ID=44350935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110047796A KR101289581B1 (ko) 2010-05-21 2011-05-20 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US8856534B2 (ko)
EP (1) EP2388729A3 (ko)
JP (1) JP5362767B2 (ko)
KR (1) KR101289581B1 (ko)
CN (2) CN106127043B (ko)
WO (1) WO2011146857A2 (ko)

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013095565A1 (en) 2011-12-22 2013-06-27 Intel Corporation Systems and methods for providing anti-malware protection on storage devices
EP2795505A4 (en) * 2011-12-22 2015-09-02 Intel Corp ACTIVATION AND MONETIZATION OF INTEGRATED FUNCTIONS IN STORAGE SUBSYSTEMS USING A RELIABLE CONNECTION SERVICE BACKPACK INFRASTRUCTURE
US9165141B2 (en) * 2011-12-22 2015-10-20 Intel Corporation Systems and methods for providing anti-malware protection and malware forensics on storage devices
US20130166672A1 (en) * 2011-12-22 2013-06-27 International Business Machines Corporation Physically Remote Shared Computer Memory
US9727740B2 (en) 2012-01-30 2017-08-08 Hewlett-Packard Development Company, L.P. Secure information access over network
KR101636638B1 (ko) * 2012-03-19 2016-07-05 인텔 코포레이션 명령어가 피연산자에 포함된 안티 멀웨어 보호 동작
KR101614643B1 (ko) * 2012-04-16 2016-04-21 인텔 코포레이션 확장성 보안 실행
US9367328B2 (en) * 2012-06-28 2016-06-14 Intel Corporation Out-of-band host OS boot sequence verification
US10064063B2 (en) * 2012-08-24 2018-08-28 Motorola Solutions, Inc. Method and apparatus for authenticating digital information
US8793506B2 (en) * 2012-08-31 2014-07-29 Intel Corporation Mechanism for facilitating encryption-free integrity protection of storage data at computing systems
KR101894198B1 (ko) * 2012-12-10 2018-08-31 코닌클리즈케 케이피엔 엔.브이. 모바일 네트워크를 보호하기 위한 시스템
KR101480903B1 (ko) * 2013-09-03 2015-01-13 한국전자통신연구원 모바일 악성코드 다중 점검 방법
US9442864B2 (en) * 2013-12-27 2016-09-13 Intel Corporation Bridging circuitry between a memory controller and request agents in a system having multiple system memory protection schemes
US10587689B2 (en) * 2014-02-14 2020-03-10 Western Digital Technologies, Inc. Data storage device with embedded software
CN103973703A (zh) * 2014-05-23 2014-08-06 杭州智屏科技有限公司 一种用于应用程序和服务器之间交换数据安全的请求方法
US9729583B1 (en) 2016-06-10 2017-08-08 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
CN106471831B (zh) * 2014-09-30 2019-11-29 华为技术有限公司 配置的方法、配置的装置及设备
US9584532B2 (en) * 2014-10-31 2017-02-28 Ncr Corporation Enterprise intrusion detection and remediation
CN104461800A (zh) * 2014-11-24 2015-03-25 英业达科技有限公司 硬盘运行状态检测系统
US10185842B2 (en) 2015-03-18 2019-01-22 Intel Corporation Cache and data organization for memory protection
US9798900B2 (en) 2015-03-26 2017-10-24 Intel Corporation Flexible counter system for memory protection
US10054636B2 (en) * 2015-10-23 2018-08-21 Intel IP Corporation Device, system and method to support communication of test, debug or trace information with an external input/output interface
US20220164840A1 (en) 2016-04-01 2022-05-26 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10706447B2 (en) 2016-04-01 2020-07-07 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US11244367B2 (en) 2016-04-01 2022-02-08 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11004125B2 (en) 2016-04-01 2021-05-11 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and methods
US10762236B2 (en) 2016-06-10 2020-09-01 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11341447B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Privacy management systems and methods
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10353673B2 (en) 2016-06-10 2019-07-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems and related methods
US11294939B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US11410106B2 (en) 2016-06-10 2022-08-09 OneTrust, LLC Privacy management systems and methods
US11625502B2 (en) 2016-06-10 2023-04-11 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US10706131B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US10706174B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for prioritizing data subject access requests for fulfillment and related methods
US11366909B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11222142B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for validating authorization for personal data collection, storage, and processing
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US10726158B2 (en) 2016-06-10 2020-07-28 OneTrust, LLC Consent receipt management and automated process blocking systems and related methods
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
US11438386B2 (en) 2016-06-10 2022-09-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11087260B2 (en) 2016-06-10 2021-08-10 OneTrust, LLC Data processing systems and methods for customizing privacy training
US10509894B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11025675B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US10510031B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US10769301B2 (en) 2016-06-10 2020-09-08 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US10909265B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Application privacy scanning systems and related methods
US10282559B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11151233B2 (en) 2016-06-10 2021-10-19 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US11418492B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10585968B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
US10607028B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11328092B2 (en) 2016-06-10 2022-05-10 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11461500B2 (en) 2016-06-10 2022-10-04 OneTrust, LLC Data processing systems for cookie compliance testing with website scanning and related methods
US12052289B2 (en) 2016-06-10 2024-07-30 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11210420B2 (en) 2016-06-10 2021-12-28 OneTrust, LLC Data subject access request processing systems and related methods
US11336697B2 (en) 2016-06-10 2022-05-17 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US11301796B2 (en) 2016-06-10 2022-04-12 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11343284B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US11416590B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10776517B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods
US11023842B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10572686B2 (en) 2016-06-10 2020-02-25 OneTrust, LLC Consent receipt management systems and related methods
US10467432B2 (en) 2016-06-10 2019-11-05 OneTrust, LLC Data processing systems for use in automatically generating, populating, and submitting data subject access requests
US11057356B2 (en) 2016-06-10 2021-07-06 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US11586700B2 (en) 2016-06-10 2023-02-21 OneTrust, LLC Data processing systems and methods for automatically blocking the use of tracking tools
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10949170B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10848523B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11100444B2 (en) 2016-06-10 2021-08-24 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10706379B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for automatic preparation for remediation and related methods
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems and related methods
US10614247B2 (en) 2016-06-10 2020-04-07 OneTrust, LLC Data processing systems for automated classification of personal information from documents and related methods
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems and related methods
US10713387B2 (en) 2016-06-10 2020-07-14 OneTrust, LLC Consent conversion optimization systems and related methods
US10416966B2 (en) 2016-06-10 2019-09-17 OneTrust, LLC Data processing systems for identity validation of data subject access requests and related methods
US10169609B1 (en) 2016-06-10 2019-01-01 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US12045266B2 (en) 2016-06-10 2024-07-23 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US10496846B1 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing and communications systems and methods for the efficient implementation of privacy by design
US10878127B2 (en) 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US11138242B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US11222309B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10944725B2 (en) 2016-06-10 2021-03-09 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US10708305B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Automated data processing systems and methods for automatically processing requests for privacy-related information
US10896394B2 (en) 2016-06-10 2021-01-19 OneTrust, LLC Privacy management systems and methods
US10496803B2 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems and related methods
US10873606B2 (en) 2016-06-10 2020-12-22 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11228620B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10509920B2 (en) * 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for processing data subject access requests
US11416109B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US10642870B2 (en) 2016-06-10 2020-05-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related methods
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10803200B2 (en) 2016-06-10 2020-10-13 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US10740487B2 (en) 2016-06-10 2020-08-11 OneTrust, LLC Data processing systems and methods for populating and maintaining a centralized database of personal data
US10776514B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
US10798133B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10997318B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
US10454973B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11277448B2 (en) 2016-06-10 2022-03-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US11038925B2 (en) 2016-06-10 2021-06-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository and related methods
US10706176B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data-processing consent refresh, re-prompt, and recapture systems and related methods
US10783256B2 (en) 2016-06-10 2020-09-22 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11727141B2 (en) 2016-06-10 2023-08-15 OneTrust, LLC Data processing systems and methods for synching privacy-related user consent across multiple computing devices
US11157600B2 (en) 2016-06-10 2021-10-26 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10586075B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository and related methods
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and methods
US10839102B2 (en) 2016-06-10 2020-11-17 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11222139B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US10282700B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US11074367B2 (en) 2016-06-10 2021-07-27 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and methods
US10776518B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Consent receipt management systems and related methods
US10565397B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
EP3488627B1 (en) * 2016-07-25 2023-09-06 Telefonaktiebolaget LM Ericsson (PUBL) Proof-of-presence indicator
US10528485B2 (en) * 2016-09-30 2020-01-07 Intel Corporation Method and apparatus for sharing security metadata memory space
CN106503550A (zh) * 2016-10-10 2017-03-15 哈尔滨理工大学 一种基于Python开发的预警机系统
CN106534172A (zh) * 2016-12-07 2017-03-22 北京数字观星科技有限公司 一种内网远程扫描系统及其扫描内网的方法
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
GB2564889B (en) * 2017-07-26 2021-12-15 Arm Ip Ltd A Device for applying to packaging
CN109857629B (zh) * 2017-11-30 2020-03-13 贵州白山云科技股份有限公司 一种扫描检测方法及装置
WO2019119408A1 (en) * 2017-12-22 2019-06-27 Intel Corporation Manageability engine and automatic firmware validation
US10932603B2 (en) * 2018-01-18 2021-03-02 Shema Israel Mezuzah Inc Electronic mezuzah system, device and method of use
EP3561709B1 (en) * 2018-04-25 2020-07-29 Siemens Aktiengesellschaft Data processing apparatus, system, and method for proving or checking the security of a data processing apparatus
CN110750206B (zh) * 2018-07-24 2023-05-02 阿里巴巴集团控股有限公司 数据处理方法、装置及系统
US11144675B2 (en) 2018-09-07 2021-10-12 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US11544409B2 (en) 2018-09-07 2023-01-03 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US10803202B2 (en) 2018-09-07 2020-10-13 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
EP3650968A1 (de) * 2018-11-07 2020-05-13 Siemens Aktiengesellschaft Verfahren zum betrieb einer produktions- oder werkzeugmaschine und produktions- oder werkzeugmaschine sowie computerprogramm zum betrieb einer produktions- oder werkzeugmaschine
EP3663957A1 (en) * 2018-12-03 2020-06-10 Nagravision S.A. Remote enforcement of device memory
CN109933444A (zh) * 2019-03-07 2019-06-25 上海连尚网络科技有限公司 一种寄宿应用间的即时通讯方法
US11074201B2 (en) * 2019-07-22 2021-07-27 Micron Technology, Inc. Apparatus with a security mechanism and methods for operating the same
US11614890B2 (en) * 2019-07-30 2023-03-28 Micron Technology, Inc. Handling of host-initiated requests in memory sub-systems
WO2021101563A1 (en) * 2019-11-22 2021-05-27 Hewlett-Packard Development Company, L.P. Data management
US11797528B2 (en) 2020-07-08 2023-10-24 OneTrust, LLC Systems and methods for targeted data discovery
US11444976B2 (en) 2020-07-28 2022-09-13 OneTrust, LLC Systems and methods for automatically blocking the use of tracking tools
US20230289376A1 (en) 2020-08-06 2023-09-14 OneTrust, LLC Data processing systems and methods for automatically redacting unstructured data from a data subject access request
WO2022060860A1 (en) 2020-09-15 2022-03-24 OneTrust, LLC Data processing systems and methods for detecting tools for the automatic blocking of consent requests
US20230334158A1 (en) 2020-09-21 2023-10-19 OneTrust, LLC Data processing systems and methods for automatically detecting target data transfers and target data processing
EP4241173A1 (en) 2020-11-06 2023-09-13 OneTrust LLC Systems and methods for identifying data processing activities based on data discovery results
CN112685753B (zh) * 2020-12-25 2023-11-28 上海焜耀网络科技有限公司 一种用于加密数据存储的方法及设备
WO2022159901A1 (en) 2021-01-25 2022-07-28 OneTrust, LLC Systems and methods for discovery, classification, and indexing of data in a native computing system
US11442906B2 (en) 2021-02-04 2022-09-13 OneTrust, LLC Managing custom attributes for domain objects defined within microservices
EP4288889A1 (en) 2021-02-08 2023-12-13 OneTrust, LLC Data processing systems and methods for anonymizing data samples in classification analysis
US11601464B2 (en) 2021-02-10 2023-03-07 OneTrust, LLC Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system
WO2022178089A1 (en) 2021-02-17 2022-08-25 OneTrust, LLC Managing custom workflows for domain objects defined within microservices
WO2022178219A1 (en) 2021-02-18 2022-08-25 OneTrust, LLC Selective redaction of media content
US20240311497A1 (en) 2021-03-08 2024-09-19 OneTrust, LLC Data transfer discovery and analysis systems and related methods
US11562078B2 (en) 2021-04-16 2023-01-24 OneTrust, LLC Assessing and managing computational risk involved with integrating third party computing functionality within a computing system
US11620142B1 (en) 2022-06-03 2023-04-04 OneTrust, LLC Generating and customizing user interfaces for demonstrating functions of interactive user environments

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623600A (en) 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
US6044444A (en) * 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
KR100794136B1 (ko) 2000-06-30 2008-01-10 주식회사 케이티 원격 바이러스 검색 서비스 방법
JP3713491B2 (ja) 2002-02-28 2005-11-09 株式会社エヌ・ティ・ティ・ドコモ サーバ装置、及び情報処理方法
US7143288B2 (en) * 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
US7685436B2 (en) * 2003-10-02 2010-03-23 Itt Manufacturing Enterprises, Inc. System and method for a secure I/O interface
JP4613018B2 (ja) 2004-02-27 2011-01-12 アマノ株式会社 ディジタルタイムスタンプ方法
US7653727B2 (en) 2004-03-24 2010-01-26 Intel Corporation Cooperative embedded agents
US20060005015A1 (en) * 2004-06-30 2006-01-05 David Durham System and method for secure inter-platform and intra-platform communications
US7386662B1 (en) * 2005-06-20 2008-06-10 Symantec Operating Corporation Coordination of caching and I/O management in a multi-layer virtualized storage environment
JP2008102678A (ja) 2006-10-18 2008-05-01 Ricoh Co Ltd 電子機器
US20080162809A1 (en) 2006-12-28 2008-07-03 Rothman Michael A Operating system-independent remote accessibility to disk storage
US20090167486A1 (en) * 2007-12-29 2009-07-02 Shah Rahul C Secure association between devices
US8201161B2 (en) 2008-01-07 2012-06-12 Lenovo (Singapore) Pte. Ltd. System and method to update device driver or firmware using a hypervisor environment without system shutdown
US8201239B2 (en) * 2008-06-23 2012-06-12 Intel Corporation Extensible pre-boot authentication
US20100083381A1 (en) 2008-09-30 2010-04-01 Khosravi Hormuzd M Hardware-based anti-virus scan service
US20100306177A1 (en) 2009-05-29 2010-12-02 Khosravi Hormuzd M Host operating system independent storage-related remote access and operations
JP5296627B2 (ja) 2009-07-31 2013-09-25 日本電信電話株式会社 端末保護システム及び端末保護方法
US20110154023A1 (en) * 2009-12-21 2011-06-23 Smith Ned M Protected device management

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
http://lefthand.tistory.com/8, Intel AMT Overview, (2008.05.29) *
http://lefthand.tistory.com/8, Intel AMT Overview, (2008.05.29)*
Kumar 외 2명, "An Introduction to Intel Active Management Technology (Intel AMT),"(2008) *
Kumar 외 2명, "An Introduction to Intel Active Management Technology (Intel AMT),"(2008)*

Also Published As

Publication number Publication date
EP2388729A2 (en) 2011-11-23
CN106127043B (zh) 2019-04-30
WO2011146857A2 (en) 2011-11-24
JP5362767B2 (ja) 2013-12-11
JP2011253525A (ja) 2011-12-15
WO2011146857A3 (en) 2012-04-05
US8856534B2 (en) 2014-10-07
KR20110128248A (ko) 2011-11-29
CN102255888B (zh) 2016-08-03
CN102255888A (zh) 2011-11-23
US20110289306A1 (en) 2011-11-24
EP2388729A3 (en) 2012-12-05
CN106127043A (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
KR101289581B1 (ko) 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치
US10061928B2 (en) Security-enhanced computer systems and methods
JP5635993B2 (ja) モバイル装置とコンピュータを組み合わせ、安全な個人ごとの環境を生成する装置および方法
US9087188B2 (en) Providing authenticated anti-virus agents a direct access to scan memory
TWI514187B (zh) 提供儲存裝置上防有毒軟體保護之系統與方法
US20170359333A1 (en) Context based switching to a secure operating system environment
US9836601B2 (en) Protecting anti-malware processes
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
CN109086620B (zh) 基于移动存储介质的物理隔离双系统构建方法
US20130276123A1 (en) Mechanism for providing a secure environment for acceleration of software applications at computing devices
JP2006268861A (ja) ユーザーデータに対するコンピュータのアクセスを制御する方法および制御装置
US8489686B2 (en) Method and apparatus allowing scan of data storage device from remote server
KR102149711B1 (ko) 위장 프로세스를 이용한 랜섬웨어 행위 탐지 및 방지 장치, 이를 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR20090094608A (ko) 멀티플 os 방식을 이용하여 온라인 게임이 가능한 단말기및 그 제어 방법
KR20110048014A (ko) 컴퓨터 플랫폼에서의 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 6