KR101289581B1 - 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치 - Google Patents
데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 위한 방법 및 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013500 data storage Methods 0.000 title claims abstract description 39
- 238000004891 communication Methods 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims description 7
- 239000003795 chemical substances by application Substances 0.000 description 49
- 238000012795 verification Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000002155 anti-virotic effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000011022 opal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test 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
하드 디스크 드라이브 및 솔리드 스테이트 드라이브와 같은 데이터 저장 장치에 존재하는 데이터는 예로서 악성 소프트웨어(멀웨어)에 의한 변조 및 공격의 대상이다. 변조된 데이터 또는 멀웨어를 감지하고 및/또는 데이터의 백업 복사본을 제공하기 위해 데이터 저장 장치를 스캔할 수 있도록 하는 안티바이러스 및 관리 소프트웨어 패키지가 독자적인 소프트웨어 업체들(Independent Software Vendors; ISVs)에 의해 개발되었다. 일부 저장, 보안 및 통제 ISV는 예로서 안티바이러스 스캔, 멀웨어 제거, 시스템 복구 및 시스템 리이미징과 같은 서비스를 인터넷상에서 구현한다. 이와 같은 인터넷 기반 서비스는 여전히 일반적으로 로컬 컴퓨팅 장치에서 실행되는 로컬 소프트웨어에 기반하고 있다.
그러나, 이러한 소프트웨어 솔루션 자체 또한 탐지로부터 자신을 숨기는 것을 전제로 동작하는 루트킷(rootkit), 스파이웨어 및 다른 종류의 멀웨어에 의한 공격의 대상이다. 예컨대, 저장 스택 내에서 필터 드라이버로 위장한 멀웨어는 해당 데이터 저장 장치에 스캔이 요청되었을 때 안티바이러스 또는 관리 소프트웨어에 가짜 데이터를 제공할 수 있다(소프트웨어로부터 실제 변조된 데이터를 감추면서). 바꾸어 말하면, 안티바이러스 또는 통제 소프트웨어에 의해 스캔된 데이터는 데이터 저장 장치에 실제로 존재하는 데이터가 아닐 수 있다. 더욱이, 루트킷이 플랫폼 상(예컨대, 마스터 부트 레코드 내)에서 자신을 은폐할 수 있게 되면, 루트킷은 사용자의 모든 활동을 감시, 사용자의 데이터를 포착, 사용자의 실행을 속임 및 다른 악의적인 활동을 할 수 있다. 사용자들로부터 은폐한 채로 컴퓨팅 시스템의 배경에서 실행하고, 민감한 정보를 수집하고 시스템의 속도를 상당히 저하시키는 루트킷, 스파이웨어 및 다른 멀웨어와 관련된 사건들이 점점 더 많이 발견되었다.
본 명세서에 기술된 시스템, 장치 및 방법은 첨부된 도면에 예로서 도시되었으며, 이에 한정되지 않는다. 도시의 간소함 및 명확함을 위해, 도면에 도시된 요소들은 반드시 일정한 비율로 그려진 것은 아니다. 예컨대, 일부 요소들의 치수는 명확성을 위해 다른 요소들에 비해 과장되었을 수 있다. 하기 도면에서:
도 1은 컴퓨팅 장치의 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 제공하도록 구성된 시스템의 한 실시예에 대한 간략화된 블록도.
도 2는 도 1의 컴퓨팅 장치 및 원격 서버의 소프트웨어/펌웨어 환경에 대한 한 실시예의 간략화된 블록도.
도 3은 도 1의 시스템 및 도 2의 소프트웨어 환경을 사용하여 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 제공하는 방법의 한 실시예의 간략화된 흐름도.
도 4는 도 1의 컴퓨팅 장치 및 원격 서버의 소프트웨어/펌웨어 환경에 대한 또다른 실시예의 간략화된 블록도.
도 5는 도 1의 시스템 및 도 4의 소프트웨어 환경을 사용하여 데이터 저장 장치에 대한 원격 서버로부터의 안전한 스캔을 제공하는 방법에 대한 또다른 실시예의 간략화된 흐름도.
도 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)
- 원격 서버로부터 컴퓨팅 장치의 데이터 저장 장치를 안전하게 스캔하기 위한 방법으로서,
상기 컴퓨팅 장치에서 실행되는 대역외(out-of-band; OOB) 에이전트를 사용하여 원격 서버 드라이버로부터 블록 읽기 요청을 수신하는 단계 - 상기 OOB 에이전트는 상기 컴퓨팅 장치의 운영 체제의 상태와 상관없이 상기 원격 서버 드라이버와 통신할 수 있음 -;
상기 블록 읽기 요청을 수신하는 것에 응답하여, 상기 컴퓨팅 장치의 호스트 드라이버를 사용하여 상기 컴퓨팅 장치의 데이터 저장 장치에 저장 명령을 송신하는 단계;
상기 저장 명령에 응답하여, 상기 데이터 저장 장치로부터 검색된 데이터 및 상기 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하는 단계; 및
상기 OOB 에이전트 또는 상기 원격 서버 드라이버에 의해, 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 OOB 에이전트를 사용하여 상기 원격 서버 드라이버로부터 상기 블록 읽기 요청을 수신하는 단계는 상기 컴퓨팅 장치의 OOB 프로세서에서 실행되는 펌웨어 모듈을 사용하여 상기 블록 읽기 요청을 수신하는 단계를 포함하는 방법. - 제1항에 있어서,
상기 OOB 에이전트를 사용하여 상기 원격 서버 드라이버로부터 상기 블록 읽기 요청을 수신하는 단계는 상기 컴퓨팅 장치의 운영 체제가 실행되지 않는 동안에 상기 블록 읽기 요청을 수신하는 단계를 포함하는 방법. - 제3항에 있어서,
상기 데이터 저장 장치에 상기 저장 명령을 송신하는 단계는 상기 컴퓨팅 장치의 BIOS(basic input/output system) 드라이버를 사용하여 상기 저장 명령을 생성하는 단계를 포함하는 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 데이터 저장 장치에 상기 저장 명령을 송신하는 단계는 상기 컴퓨팅 장치의 AHCI(advanced host controller interface) 드라이버를 사용하여 상기 저장 명령을 송신하는 단계를 포함하는 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하는 단계는 상기 데이터 저장 장치로부터 검색된 상기 데이터에 키 해시 함수(keyed hash function)의 출력을 수신하는 단계를 포함하는 방법. - 제6항에 있어서,
상기 OOB 에이전트 또는 상기 원격 서버 드라이버에 의해, 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 단계는 상기 데이터에 상기 키 해시 함수를 재적용하고 상기 키 해시 함수의 출력을 상기 인증 메타데이터와 비교하는 단계를 포함하는 방법. - 제7항에 있어서,
상기 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하는 단계는 상기 데이터 저장 장치로부터 상기 데이터가 검색된 시간을 나타내는 카운터 값을 수신하는 단계를 더 포함하는 방법. - 제8항에 있어서,
상기 OOB 에이전트 또는 상기 원격 서버 드라이버에 의해, 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 단계는 상기 카운터 값을 예상 시간과 비교하는 단계를 더 포함하는 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 데이터 저장 장치에 의해 생성된 인증 메타데이터를 수신하는 단계는 상기 데이터 저장 장치에서 검색된 상기 데이터 및 비밀 키에 기반한 디지털 서명을 수신하는 단계를 포함하는 방법. - 제10항에 있어서,
상기 OOB 에이전트 또는 상기 원격 서버 드라이버에 의해, 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 단계는 상기 비밀 키에 대응하는 공개 키를 사용하여 상기 디지털 서명을 확인하는 단계를 포함하는 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 OOB 에이전트를 사용하여 상기 데이터 및 상기 인증 메타데이터를 상기 원격 서버 드라이버로 송신하는 단계를 더 포함하며, 상기 원격 서버 드라이버는 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 OOB 에이전트를 사용하여 상기 데이터를 상기 원격 서버 드라이버로 송신하는 단계를 더 포함하며, 상기 OOB 에이전트는 상기 데이터를 송신하기 전에 상기 인증 메타데이터를 사용하여 상기 데이터를 확인하는 방법. - 복수의 명령어를 포함하는 하나 또는 그 이상의 유형의(tangible) 기계 판독 가능한 매체로서,
상기 복수의 명령어는, 실행되는 것에 응답하여, 컴퓨팅 장치가 제1항 내지 제4항 중 어느 한 항의 방법을 실행하도록 하는 하나 또는 그 이상의 유형의 기계 판독 가능한 매체. - 컴퓨팅 장치로서,
운영 체제 및 적어도 하나의 호스트 드라이버를 실행하도록 구성된 대역내 프로세서;
원격 서버와 통신하도록 구성된 통신 회로; 및
상기 운영 체제의 상태에 상관없이 상기 통신 회로를 사용하여 상기 원격 서버와 통신할 수 있는 대역외(out-of-band; OOB) 프로세서 - 상기 OOB 프로세서는 제1항 내지 제4항 중 어느 한 항의 방법을 수행하도록 구성됨 -
를 포함하는 컴퓨팅 장치.
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)
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)
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 |
-
2010
- 2010-05-21 US US12/785,146 patent/US8856534B2/en not_active Expired - Fee Related
-
2011
- 2011-05-02 JP JP2011103280A patent/JP5362767B2/ja not_active Expired - Fee Related
- 2011-05-11 EP EP11250519A patent/EP2388729A3/en not_active Withdrawn
- 2011-05-20 KR KR1020110047796A patent/KR101289581B1/ko active IP Right Grant
- 2011-05-20 WO PCT/US2011/037374 patent/WO2011146857A2/en active Application Filing
- 2011-05-20 CN CN201610443882.8A patent/CN106127043B/zh not_active Expired - Fee Related
- 2011-05-20 CN CN201110131539.7A patent/CN102255888B/zh not_active Expired - Fee Related
Non-Patent Citations (4)
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 |