KR20130079460A - 인증된 안티바이러스 에이전트에게 메모리를 스캔하는 직접 액세스를 제공하는 것 - Google Patents

인증된 안티바이러스 에이전트에게 메모리를 스캔하는 직접 액세스를 제공하는 것 Download PDF

Info

Publication number
KR20130079460A
KR20130079460A KR1020130059143A KR20130059143A KR20130079460A KR 20130079460 A KR20130079460 A KR 20130079460A KR 1020130059143 A KR1020130059143 A KR 1020130059143A KR 20130059143 A KR20130059143 A KR 20130059143A KR 20130079460 A KR20130079460 A KR 20130079460A
Authority
KR
South Korea
Prior art keywords
antivirus
engine
memory
agent
agents
Prior art date
Application number
KR1020130059143A
Other languages
English (en)
Other versions
KR101434102B1 (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 KR20130079460A publication Critical patent/KR20130079460A/ko
Application granted granted Critical
Publication of KR101434102B1 publication Critical patent/KR101434102B1/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Abstract

컴퓨터 플랫폼은 메모리를 집적 스캔하기 위한 액세스를 제공받을 수 있는 안티바이러스 에이전트를 지원할 수 있다. 컴퓨터 플랫폼은 관리 엔진 및 가상화 엔진을 포함할 수 있는 플랫폼 제어 허브를 포함할 수 있되, 관리 엔진은 안티바이러스 에이전트가 운영 시스템으로부터 격리되는 플랫폼 하드웨어 공간으로 다운로딩되게 할 수 있다. 관리 엔진은 안티바이러스 에이전트를 인증할 수 있고, 안티바이러스 에이전트에게 플랫폼 하드웨어에 연결된 메모리 또는 저장 장치를 직접 스캔하기 위한 액세스를 제공할 수 있다.

Description

인증된 안티바이러스 에이전트에게 메모리를 스캔하는 직접 액세스를 제공하는 것{PROVIDING AUTHENTICATED ANTI-VIRUS AGENTS A DIRECT ACCESS TO SCAN MEMORY}
최근 멀웨어(malware) 공격은 보안 소프트웨어를 타깃으로 하므로 호스트 운영 시스템을 손상시킨다. 불행히도, 'Conficker'와 같은 컴퓨터 웜(worm)은 보안 소프트웨어를 손상시키는 데 성공적일 수 있으므로, 다운로드와 관련한 안티바이러스(anti-virus) 소프트웨어를 제공하는 웹사이트에 대한 액세스를 막을 수 있다. ISV(independent software vendor)는 다운로드에 이용가능한 안티바이러스 소프트웨어를 만드는 웹사이트를 제공할 수 있다. 다른 멀웨어 공격은 로컬 안티바이러스 에이전트를 쉬밍(shim)하거나 루트킷(rootkit)하여, 로컬 안티바이러스 에이전트가 바이러스 시그니처(signature)를 위해 디스크 또는 메모리를 스캐닝하는 것과 같은 기능을 수행하지 못하게 할 수 있다.
본 명세서에 설명된 발명은 예로써 도시되고 첨부 도면으로 제한되지 않는다. 간단하고 명확한 도시를 위해, 도면에 도시된 요소가 반드시 실제 크기대로 도시되는 것은 아니다. 예컨대, 명확성을 위해 몇몇 요소의 치수는 다른 요소에 비해 과장될 수 있다. 또한, 적절히 고려되는 경우, 참조 라벨은 대응하거나 유사한 요소를 나타내도록 도면에서 반복된다.
도 1은 일 실시예에 따라 인증된 안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하는 기술을 지원하는 컴퓨터 플랫폼(100)을 도시한다.
도 2는 일 실시예에 따라 인증된 안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하는 것을 도시하는 순서도이다.
도 3은 일 실시예에 따라 인증된 안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하도록 지원할 수 있는 플랫폼 기반 아키텍처를 도시한다.
도 4는 일 실시예에 따라 도 3의 구성요소가 함께 인증된 안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하는 기술을 도시하는 순서도이다.
도 5는 일 실시예에 따라 인증된 안티바이러스 에이전트에게 메모리 및 저장부를 스캔하는 직접 액세스를 제공하는 시스템(500)을 도시한다.
후속 설명은 일 실시예에 따라 인증된 안티바이러스 에이전트에게 메모리 및 저장부를 스캔하는 직접 액세스를 제공하는 컴퓨터 플랫폼의 실시예를 설명한다. 후속 설명에서, 본 발명의 보다 완전한 이해를 제공하도록 로직 구현, 리소스 분할 또는 공유 또는 복제 구현, 시스템 구성요소의 유형 및 상호관계 및 로직 분할 또는 통합 선택과 같은 다수의 특정 세부사항이 설명된다. 그러나, 당업자는 본 발명이 그러한 특정 세부사항 없이도 실시될 수 있음을 알 것이다. 다른 경우에, 본 발명을 불명료하게 하지 않도록 제어 구조, 게이트 레벨 회로 및 완전 소프트웨어 인스트럭션 순서는 상세히 도시되지 않는다. 당업자는 포함된 설명으로 과도한 실험 없이도 적합한 기능을 구현할 수 있을 것이다.
명세서에서 "일 실시예", "실시예", "예시적인 실시예"는 설명된 실시예가 특정 특징, 구조 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 특정 특징, 구조 또는 특성을 포함할 수 있는 것은 아님을 나타낸다. 또한, 그러한 표현이 반드시 동일한 실시예를 지칭하는 것은 아니다. 또한, 특정 특징, 구조 또는 특성이 실시예에 관하여 설명될 때, 명백하게 설명되든 아니든 다른 실시예와 관련하여 그러한 특징, 구조 또는 특성에 영향을 주는 것은 당업자의 지식 내라고 할 것이다.
본 발명의 실시예는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 본 발명의 실시예는 또한 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 머신 판독가능 매체 상에 저장된 인스트럭션으로서 구현될 수 있다. 머신 판독가능 매체는 머신(예컨대, 컴퓨팅 장치)에 의해 판독가능한 형태로 정보를 저장하고 전송하는 임의의 메커니즘을 포함할 수 있다.
예컨대, 머신 판독가능 매체는 ROM, RAM, 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치, 전기적, 광학적, 음향 또는 다른 유사한 신호를 포함할 수 있다. 또한, 펌웨어, 소프트웨어, 루틴 및 인스트럭션은 본 명세서에서 특정 동작을 수행하는 것으로 설명될 수 있다. 그러나, 그러한 설명이 단지 편의를 위한 것이며 그러한 동작이 실제로 컴퓨팅 장치, 프로세서, 제어기 및 펌웨어, 소프트웨어, 루틴 및 인스트럭션을 실행하는 다른 장치에서 기인함을 알아야 한다.
일 실시예에서, 컴퓨터 플랫폼의 하드웨어 로직은, 인증된 안티바이러스 에이전트를 안전하게 실행하면서 인증된 안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하는데 사용될 수 있다. 이러한 방안은 인증된 안티바이러스 에이전트가 호스트 운영 시스템을 스캔하는 것을 허용한다. 일 실시예에서, 하나 이상의 안티바이러스 에이전트가 플랫폼 하드웨어와 연관된 제3자 데이터 소스(3pds) 또는 확장된 제3자 데이터 소스(e3pds)로 다운로딩될 수 있다. 일 실시예에서, 안티바이러스 에이전트는 HECI를 통해 국부적으로 다운로드되거나 대역 외(out-of-band) 메커니즘을 통해 원격으로 다운로드되어, 그 설치가 운영 시스템에서 구동하는 멀웨어에 의해 방해받지 않도록 할 수 있다.
안티바이러스 에이전트를 다운로딩한 후에, 플랫폼 하드웨어의 펌웨어는 안티바이러스 에이전트를 인증하고, 예컨대, 안티바이러스 에이전트의 바이트 코드를 해석기로 로딩하여 실행하기 전에 안티바이러스 에이전트가 신뢰받는 벤더로부터 나온 것인지를 검증할 수 있다. 안티바이러스 에이전트가 검증되면, 플랫폼 하드웨어는 안티바이러스 에이전트가 애플리케이션 프로그램가능 인터페이스(API)와 MECI에 액세스하는 것을 허용한다. 일 실시예에서, API에 대한 액세스는 DMA 엔진을 통해 메모리의 직접 스캐닝을 가능하게 하고, HECI에 대한 액세스는 안티바이러스 에이전트가 가상 엔진(VE)을 통해 저장부를 스캔하는 것을 허용한다.
그 결과, 일 실시예에서, 안티바이러스 에이전트가 변형 억제 플랫폼 하드웨어에 의해 지원될 수 있는 동안 인증된 안티바이러스 에이전트는 컴퓨터 시스템에 로컬인 저장부 및 메모리에 액세스할 수 있다. 또한, 안티바이러스 솔루션을 제공하는 ISV는 바이러스 및 화이트리스트 바이러스 시그니처를 가진 데이터 파일을 직접 다운로딩하도록 허용될 수 있고, 안티바이러스 에이전트는 식별되고/식별되거나 삭제된 바이러스의 인스턴스의 로그를 생성할 수 있다.
안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하는 기술을 지원할 수 있는 컴퓨터 플랫폼(100)의 실시예가 도 1에 도시된다. 일 실시예에서, 컴퓨터 플랫폼(100)은 애플리케이션(110), 호스트 운영 시스템(OS)(120), 플랫폼 하드웨어(150) 및 I/O 장치(190)를 포함할 수 있다. 일 실시예에서, 애플리케이션(110)은 호스트 OS(120) 및 플랫폼 하드웨어(150)에 의해 지원되는 하나 이상의 애플리케이션을 포함할 수 있다.
일 실시예에서, 플랫폼 하드웨어(150)는 하나 이상의 처리 코어, 칩셋, 메모리 및 다른 유사한 하드웨어 구성요소를 포함할 수 있다. 일 실시예에서, 플랫폼 하드웨어(150)는 펌웨어, 관리 엔진(manageability engine)(ME) 및 가상화 엔진(virtualizer engine)(VE)과 같은 구성요소를 지원할 수 있다. 일 실시예에서, 플랫폼 하드웨어(150)는 인증된 안티바이러스 에이전트에게 메모리 및 저장 장치를 스캔하기 위한 직접 액세스를 제공하면서 인증된 안티바이러스 에이전트를 안전하게 실행하기 전에 국부적으로 또는 원격으로 다운로딩된 안티바이러스 에이전트를 인증할 수 있다.
그러한 방안은 인증된 안티바이러스 에이전트가 호스트 운영 시스템을 스캔하게 할 수 있다. 일 실시예에서, I/O 장치(190-A 내지 190-N) 중 하나는 하드 디스크, USB 기반 장치와 같은 저장 장치를 포함할 수 있다. 또한, 네트워크 인터페이스 카드(NIC)와 같은 I/O 장치(190-A 내지 190-N) 중 하나는 대역 외 통신 메커니즘을 지원할 수 있다.
안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하는 기술을 지원할 수 있는 컴퓨터 플랫폼(100)의 동작의 실시예가 도 2의 순서도에 도시된다.
블록(210)에서, 플랫폼 하드웨어(150)는 컴퓨터 플랫폼(150)으로 다운로딩될 수 있는 안티바이러스 에이전트를 인증할 수 있다. 일 실시예에서, 컴퓨터 플랫폼(150)은 시그니처 검증 또는 행위 기반(behavior based) 검증에 기초하여 안티바이러스 에이전트를 인증할 수 있다.
블록(250)에서, 플랫폼 하드웨어(150)는 안티바이러스 에이전트에게 호스트 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하면서 인증된 안티바이러스 에이전트를 안전하게 실행할 수 있다. 일 실시예에서, 플랫폼 하드웨어(150)는 안티바이러스 에이전트가 안티바이러스 에이전트의 바이트 코드를 실행하기 전에 인증되므로 안티바이러스 에이전트가 직접 호스트 메모리 및 저장부를 스캔하게 할 수 있다.
안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하도록 지원하는 하드웨어 및 펌웨어 구성요소를 포함하는 플랫폼 아키텍처(300)의 실시예가 도 3에 도시된다. 일 실시예에서, 플랫폼 하드웨어(150)는 중앙 처리 장치(320)와, 플랫폼 제어 허브(PCH)(330)를 지원할 수 있는 칩셋(325)을 포함할 수 있다. 일 실시예에서, CPU(320)는 플랫폼 하드웨어(150)에서 이용가능한 리소스를 관리할 수 있는 호스트 OS(305)를 지원할 수 있다.
일 실시예에서, 플랫폼 제어기 허브(PCH)(330)는 관리 엔진(ME)(340), 가상화 엔진(VE)(350), I/O 제어기(360), DMA 엔진(365) 및 메모리(370)를 포함할 수 있다. 일 실시예에서, 저장 장치(390) 및 원격 서버(392)는 플랫폼 하드웨어(150)에 연결될 수 있다. 일 실시예에서, 관리 엔진(ME)(340)은 ME 인터페이스(341), ME 제어기(342), 데이터 저장 블록(343), 인증 엔진(345), 해석기(346), DMA로의 스캐닝 인터페이스(347) 및 대역 외(OOB) 통신 블록(348)을 포함할 수 있다. 일 실시예에서, 가상화 엔진(350)은 가상화 엔진(VE) 제어기(354) 및 VE 인터페이스(355)를 포함할 수 있다.
일 실시예에서, 가상화 엔진(VE)(350)은 가상화 엔진(VE) 제어기(354) 및 가상화 엔진(VE) 인터페이스(355)를 포함할 수 있다. 일 실시예에서, VE 인터페이스(355)는 VE(350)와 ME(340)와 I/O 제어기(360) 사이의 정보의 교환을 지원할 수 있다. 일 실시예에서, VE 인터페이스(355)는 안티바이러스 에이전트의 다운로딩을 지원할 수 있고, VE 제어기(354)는 관리 엔진 제어 인터페이스(MECI)를 통해 ME(340)로 안티바이러스 에이전트를 나타내는 바이트 코드를 전송할 수 있다. 일 실시예에서, VE 제어기(354) 및 VE 인터페이스(355)는 USB 저장 장치와 같은 장치에 국부적으로 저장된 안티바이러스 에이전트가 호스트 내장 제어 인터페이스(HECI)를 통해 다운로딩되게 할 수 있다. 다른 실시예에서, 원격 서버(390)에 의해 지원되는 안티바이러스 에이전트는 OOB 블록(348)에 의해 지원되는 대역 외 통신 채널을 통해 ME(340)로 원격으로 다운로딩될 수 있다.
일 실시예에서, ME 인터페이스(341)는 안티바이러스 에이전트를 나타내는 바이트 코드를 수신하고, 그 바이트 코드를 데이터 저장부(343)에 저장할 수 있다. 일 실시예에서, ME 인터페이스(341)는 VE(360)로부터 또는 OOB 블록(348)으로부터 안티바이러스 에이전트의 바이트 코드를 수신할 수 있다. 일 실시예에서, 바이트 코드는 자바 바이트 코드를 나타낼 수 있다. 일 실시예에서, ME 인터페이스(341)는 데이터 저장 블록(343)에 바이트 코드를 저장한 후에 ME 제어기(342)로 제 1 신호를 제공할 수 있다. 일 실시예에서, ME 인터페이스(341)는 호스트 OS(305)를 스캔하기 위한 요청을 수신할 수 있으며, 그 요청은 원격 서버(392)에 의해 생성되고 OOB 블록(348)을 통해 전송될 수 있다. 일 실시예에서, ME 인터페이스(341)는 원격 서버(392)로부터 요청을 수신하는 것에 응답하여 ME 제어기(342)에 제 2 신호를 제공할 수 있다.
일 실시예에서, 데이터 저장 블록(343)은 제3자 데이터 저장부(3pds) 또는 확장된 제3자 데이터 저장부를 나타낼 수 있다. 일 실시예에서, 데이터 저장 블록(343)에 저장된 바이트 코드는 안티바이러스 에이전트를 인증하는 데 사용될 수 있다. 일 실시예에서, ISV는 데이터 파일을 스캐닝하고 식별되거나 삭제된 인스턴스의 로그를 제공하기 위해 안티바이러스 에이전트에 의해 사용될 수 있는 바이러스 및 화이트리스팅 시그니처를 가진 데이터 파일을 직접 다운로딩하는 데 데이터 저장 블록(343) 및 OOB 통신 블록(348)을 사용할 수 있다. 일 실시예에서, 안티바이러스 에이전트는 가상화 엔진(350)에 의해 도난될 수 있는 하드 디스크 공간으로 다운로딩될 수 있다.
일 실시예에서, 인증 엔진(345)은 하나 이상의 인증 기준을 사용함으로써 안티바이러스 에이전트를 인증할 수 있고, ME 제어기(342)에 의해 지원되는 스크립트 엔진(scripting engine)(334)과 같은 스크립트 엔진을 확인할 수 있다. 일 실시예에서, 인증 엔진(345)은 SRAM과 같은 관리 엔진(340)의 메모리에 저장된 스크립트 엔진(334)을 실행하기 전에 스크립트 엔진(334)을 확인할 수 있다. 일 실시예에서, 인증 엔진(345)은 스크립트 엔진(334)의 시그니처를, 제조 동안 퓨징(fuse)되거나 호스트 드라이버에 의해 옵션ROM에 로딩될 수 있는 관리 엔진 플래시 메모리(349)에 저장될 수 있는 키와 비교할 수 있다. 일 실시예에서, 스크립트 엔진(334)을 확인하는 것은 관리 엔진(340)의 격리된 환경에서 악성 코드가 실행되는 것을 방지할 수 있다. 일 실시예에서, 스크립트 엔진(334)의 확인이 성공적인 후에, 인증 엔진(345)은 네트워크 OOB를 통해 전송되는 식별되지 않거나 악성인 시그니처를 검출하도록 안티바이러스 에이전트에 의해 지시된 바와 같이 스캐닝 동작을 수행할 수 있다.
일 실시예에서, 안티바이러스 에이전트를 인증하기 위해 인증 엔진(345)에 의해 구성된 인증 기준은 안티바이러스 에이전트가 인가된 에이전트인지 여부를 체크하는 것과 그러한 안티바이러스 에이전트의 소스를 포함할 수 있다. 일 실시예에서, 인증 엔진(345)은 펌웨어 스택을 포함할 수 있고, 일 실시예에서, 펌웨어 스택은 다운로딩된 안티바이러스 에이전트가 신뢰받는 ISV로부터 나오고 안티바이러스 에이전트가 유효 라이센스와 연관되면 안티바이러스 에이전트를 체크할 수 있다. 일 실시예에서, 인증 엔진(345)은 안티바이러스 에이전트가 인증 기준을 통과하면 안티바이러스 에이전트를 인증할 수 있다. 일 실시예에서, 인증 엔진(345)은 안티바이러스 에이전트가 인증된다고 결정한 후에 제 1 표시를 생성할 수 있고, 안티바이러스 에이전트가 인증되지 않으면 제 2 표시를 생성할 수 있다.
일 실시예에서, 해석기(346)는 제 1 표시의 생성에 응답하여 인증된 바이트 코드를 구비할 수 있다. 일 실시예에서, 해석기(346)는 안티바이러스 에이전트를 나타내는 인증된 바이트 코드를 번역할 수 있고, 그러한 안티바이러스 에이전트를 실행할 수 있다. 일 실시예에서, 해석기(346)는 안티바이러스 에이전트를 나타내는 바이트 코드의 실행을 완료한 후에 ME 제어기(342)를 시그널링할 수 있다.
일 실시예에서, ME 제어기(342)는 스크립트 엔진(334), 제어 로직(335) 및 프로세서 상태 공급기(344)를 포함할 수 있다. 일 실시예에서, 스크립트 엔진(334)은 운영 시스템의 상태와 무관하게 처리되도록 안티바이러스 에이전트에게 격리된 환경을 제공할 수 있다. 일 실시예에서, 스크립트 엔진(334)은 인증 엔진(345)에 의해 검증될 수 있는 자바 애플릿을 사용하여 구현될 수 있다. 일 실시예에서, 스크립트 엔진(334)이 인증 엔진(345)에 의해 수행되는 인증에 실패하면 제어 로직(335)은 SRAM으로부터 스크립트 엔진(334)을 제거할 수 있다.
일 실시예에서, 안티바이러스 에이전트의 인증을 초기화하기 위해, 제어 로직(335)은 인증 엔진(345)으로 신호를 전송할 수 있다. 일 실시예에서, 제어 로직(335)은 ME 인터페이스(341)로부터 제 1 신호를 수신하는 것에 응답하여 데이터 저장 블록(343)에 안티바이러스 에이전트를 저장할 수 있다. 일 실시예에서, 제어 로직(335)은 인증 엔진(345)에 의해 생성된 표시를 사용할 수 있고 이어서 해석기(346)에 의해 생성된 바이트 코드의 해석 버전을 처리할 수 있다. 일 실시예에서, 제어 로직(335)은 제 1 표시를 수신하는 것에 응답하여 해석기(346)에 바이트 코드를 제공할 수 있다.
제 1 표시를 수신하고 해석기(346)에 바이트 코드를 제공한 후에, 일 실시예에서, 제어 로직(335)은 해석기(346)에 의해 해석되는 바이트 코드를 처리할 수 있다. 일 실시예에서, 제어 로직(335)은 안티바이러스 에이전트의 인증된 바이트 코드를 처리할 수 있고, 안티바이러스 에이전트가 DMA 엔진으로의 스캐닝 인터페이스(347)에 액세스하게 할 수 있다. 일 실시예에서, 제어 로직(335)은 인증 엔진(345)으로부터 제 2 표시를 수신하는 것에 응답하여 해석기(346)에 바이트 코드를 제공하지 않거나 저지할 수 있다.
일 실시예에서, 제어 로직(335)은 ME 인터페이스(341)로부터 제 2 신호를 수신하는 것에 응답하여 프로세서 상태 공급기(344)를 초기화할 수 있다. 일 실시예에서, 제 2 신호는 원격 서버(392)로부터 호스트 OS(305)를 스캔하기 위한 요청을 수신하는 것에 응답하여 생성될 수 있다. 일 실시예에서, ME(340)의 연산 능력이 제한되면 호스트 OS(305)를 스캔하기 위한 요청은 원격 서버(392)에 의해 생성될 수 있다. 그러나, 다른 실시예에서, ME(340)가 로컬 스캐닝 엔진을 지원하도록 충분한 연산 리소스를 포함하면, 로컬 스캐닝 엔진은 호스트 OS(305)의 스캐닝을 수행하는 데 CPU(320)의 프로세서 상태를 사용할 수 있다. 일 실시예에서, ME 내에서 국부적으로 지원되든 원격 서버(392)에 의해 지원되든 스캐닝 엔진은 호스트 OS(305)의 스캐닝을 수행하기 위해 프로세서 상태를 필요로 할 수 있다.
일 실시예에서, 프로세서 상태 공급기(344)는 CPU 레지스터(322)에 직접 액세스함으로써 프로세서 상태를 수집할 수 있다. 다른 실시예에서, 프로세서 상태 공급기(344)는 프로세서 상태가 저장될 수 있고 프로세서 상태 정보가 DMA로의 스캐닝 인터페이스(347)를 통해 검색될 수 있는 메모리 장소에 액세스함으로써 프로세서 상태를 수집할 수 있다. 일 실시예에서, 프로세서 상태는 예컨대, CPU 제어 레지스터(CR0 내지 CR4), IDTR(Interrupt Descriptor Table Register), GDTR(Global Descriptor Table Register) 및 EPTP(Extended Page Table Pointer)를 포함할 수 있다. 일 실시예에서, 제어 레지스터는 가상/선형 메모리 맵/페이지 디렉터리의 게스트 물리적 주소를 가리킬 수 있고, IDTR은 인터럽트 디스크립터 테이블의 선형 주소를 가리킬 수 있으며, GDTR과 EPTP는 물리적 메모리 맵에 물리적인 게스트의 루트 디렉터리를 보유하는 물리적 주소를 가리킬 수 있다. 일 실시예에서, 프로세서 상태 공급기(344)는 제어 로직(335)에 프로세서 상태를 제공할 수 있고, 제어 로직(335)은 ME(340) 또는 원격 서버(392)에 의해 국부적으로 지원될 수 있는 스캐닝 엔진을 제공하여 스캐닝 엔진이 호스트 OS(305)를 스캐닝하는 것을 가능하게 할 수 있다.
일 실시예에서, DMA 엔진으로의 스캐닝 인터페이스(347)는 안티바이러스 에이전트가 직접 메모리 액세스(DMA) 채널(365)을 사용하여 메모리(370)를 스캔하게 할 수 있다. 일 실시예에서, DMA 엔진으로의 스캐닝 인터페이스(347)는 안티바이러스 에이전트가 메모리(370)의 차단되지 않은 뷰를 얻게 할 수 있다. 일 실시예에서, DMA 엔진으로의 스캐닝 인터페이스(347)는 주어진 주소에서 물리적 메모리를 판독할 수 있고, 시그니처 패턴이 주어지면 물리적 메모리 페이지의 직접 스캐닝을 가능하게 할 수 있다. 일 실시예에서, DMA 엔진으로의 스캐닝 인터페이스(347)는 자바 가상 머신(JVM) 환경 내의 기초 클래스로서 구현될 수 있다. 일 실시예에서, DMA 엔진으로의 스캐닝 인터페이스(347)는 안티바이러스 에이전트가 가상화 엔진(350)을 사용하여 저장 장치(390)를 스캐닝하게 할 수 있다. 일 실시예에서, DMA 엔진으로의 스캐닝 인터페이스(347)는 DMA 채널(365) 또는 가상화 엔진(350)에 액세스하기 위한 인터페이스를 제공할 수 있다.
일 실시예에서, DME 엔진(365)은 메모리(370)에 대한 직접 및 차단되지 않은 액세스를 제공할 수 있다. 일 실시예에서, DMA 엔진(365)은 ME 커널 내의 드라이버를 나타낼 수 있다. 일 실시예에서, DMA 엔진(365)은 PCI-e 요청 트랜잭션 내의 '번역된 비트'를 설정할 수 있고, 메모리(370)에 액세스할 수 있으며 지시된 I/O에 대한 가상화 기술(virtualization technology for directed I/O)(VT-d)에 의해 방해받지 않을 수 있다.
일 실시예에서, 원격 서버(392)는 안티바이러스 서비스(395) 및 블랙리스트 바이러스 데이터베이스(396)를 포함할 수 있다. 일 실시예에서, 안티바이러스 서비스(395)는 안티바이러스 에이전트를 인증하도록 정교한 스캐닝 알고리즘 및 다수의 스캐닝 엔진을 지원할 수 있다. 그러한 정교한 스캐닝 알고리즘은 존재할 수 있는 악성 코드의 존재를 검출하도록 구동된다. 일 실시예에서, 블랙리스트 바이러스 데이터베이스(396)는 스캐닝 엔진을 인증하도록 안티바이러스 서비스(395)에 의해 사용될 수 있는 바이러스의 시그니처를 포함할 수 있다. 일 실시예에서, 원격 서버(392)는 스캐닝 엔진이 원격 서버(392) 상에서 지원되면 호스트 OS(305)를 스캐닝하기 위한 요청을 ME(340)로 전송하는 것에 응답하여 프로세서 상태를 수신할 수 있다. 일 실시예에서, 원격 서버(392)는 호스트 OS(305)를 스캐닝하는 데 프로세서 상태를 사용할 수 있다.
안티바이러스 에이전트에게 메모리 및 저장부를 스캔하기 위한 직접 액세스를 제공하는 기술을 지원하는 도 3의 플랫폼 구성요소의 동작을 도시하는 순서도가 도 4에 도시된다.
블록(410)에서, 플랫폼 하드웨어(150)는 제3자 또는 확장된 제3자 데이터 저장 또는 도난당한 하드 디스크 공간으로의 해석가능한 안티바이러스 에이전트의 다운로딩을 허용할 수 있다. 일 실시예에서, 플랫폼 하드웨어(150)는 로컬 장치로부터 VE(350)를 통해 또는 OOB 통신 채널(348) 상에서 안티바이러스 에이전트의 다운로딩을 지원할 수 있다.
블록(420)에서, 플랫폼 하드웨어(150)는 안티바이러스 에이전트의 다운로딩이 OS(305)에서 구동하는 멀웨어에 의해 인터럽트되지 않음을 보장할 수 있다. 일 실시예에서, 플랫폼 하드웨어(150)는 안티바이러스 에이전트가 OS(305)에서 구동하는 멀웨어에 의해 영향을 받지 않을 수 있는 격리된 ME 환경에 저장되게 할 수 있다.
블록(430)에서, 플랫폼 하드웨어(150)는 해석가능한 안티바이러스 에이전트 및 스캐닝 엔진을 인증할 수 있다. 일 실시예에서, 관리 엔진(340)의 인증 엔진(345)은 안티바이러스 에이전트 및 스캐닝 엔진을 인증하기 전에 소스, 라이센스 및 다른 유사한 인증 기준을 검증하거나 체크할 수 있다.
블록(440)에서, 플랫폼 하드웨어(150)는 안티바이러스 에이전트 및 스캐닝 엔진이 인증되는지 여부를 체크할 수 있고, 안티바이러스 에이전트 및 스캐닝 엔진이 인증 테스트를 통과하면 제어는 블록(450)으로 진행된다.
블록(450)에서, 플랫폼 하드웨어(150)는 안티바이러스 에이전트가 해석기(396)로 로딩되게 할 수 있다. 블록(460)에서, 플랫폼 하드웨어(150)는 안티바이러스 에이전트를 실행할 수 있다. 일 실시예에서, ME 제어기(342)는 해석된 안티바이러스 에이전트를 처리할 수 있다. 일 실시예에서, ME 제어기(342)는 안티바이러스 에이전트가 메모리(370) 및 저장 장치(390)를 직접 스캐닝하게 할 수 있는 DMA로의 스캐닝 인터페이스(347)의 API에 안티바이러스 에이전트가 액세스하게 할 수 있다.
도 5를 참조하면, 컴퓨터 시스템(500)은 단일 인스트럭션 복수 데이터(SIMD) 프로세서 및 그래픽 프로세서 유닛(GPU)(505)을 포함하는 범용 프로세서(502)를 포함할 수 있다. 일 실시예에서, 프로세서(502)는 다양한 다른 태스크를 수행하는 것 외에 강화 동작(enhancement operation)을 수행하거나 일련의 인스트럭션을 저장하여, 머신 판독가능 저장 매체(525) 내에 강화 동작을 제공할 수 있다. 그러나, 일련의 인스트럭션은 메모리(520) 또는 임의의 다른 적합한 저장 매체에도 저장될 수 있다.
개별 그래픽 프로세서 유닛(505)이 도 5에 도시되지만, 몇몇 실시예에서, 그래픽 프로세서 유닛(505)은 다른 예로써, 강화 동작을 수행하는 데 사용될 수 있다. 컴퓨터 시스템(500)을 작동시키는 프로세서(502)는 로직(530)에 연결된 하나 이상의 프로세서 코어일 수 있다. 로직(530)은 하나 이상의 컴퓨터 시스템(500)에 인터페이스를 제공할 수 있는 I/O 장치(560)에 연결될 수 있다. 로직(530)은 예컨대, 일 실시예에서 칩셋 로직일 수 있다. 로직(530)은 광학, 자기 또는 반도체 저장장치를 포함하는 임의의 종류의 저장장치일 수 있는 메모리(520)에 연결된다. 그래픽 프로세서 유닛(505)은 프레임 버퍼(510)를 통해 디스플레이(540)에 연결된다.
로직(530)은 관리 엔진(ME)(532) 및 가상화 엔진(VE)(536)을 지원할 수 있다. 일 실시예에서, ME(532)는 ME(340)와 유사할 수 있고, VE(536)는 도 3과 관련하여 전술된 VE(350)와 유사할 수 있다. 일 실시예에서 로직(530)은 ISV로부터 안티바이러스 에이전트를 수신할 수 있고, 안티바이러스 에이전트가 메모리 또는 저장 장치를 직접 스캔하게 하기 전에 안티바이러스 에이전트를 인증할 수 있다. 일 실시예에서, 로직(530)은 안티바이러스 에이전트의 다운로딩을 지원할 수 있고, 다운로딩된 안티바이러스 에이전트를 인증할 수 있으며, 안티바이러스 에이전트가 호스트 운영 시스템(530)과 독립적인 ME(532) 내의 격리된 환경에서 메모리 및 저장 장치를 직접 스캔하게 할 수 있다. 일 실시예에서, 안티바이러스 에이전트는 USB 장치와 같은 장치로부터 국부적으로 또는 대역 외 통신 채널을 통해 원격 서버로부터 원격으로 다운로딩될 수 있다.
일 실시예에서, 원격 콘솔(console)(580)은 호스트 OS(530)를 스캔하기 위한 요청을 전송할 수 있고, 로직(530) 상의 ME(532)는 원격 콘솔(580)에 프로세서 상태 정보를 제공하기 전에 CPU 제어 레지스터(504)의 프로세서 상태 정보를 수집할 수 있다. 일 실시예에서, 원격 콘솔(580)은 프로세서 상태 정보를 사용하여 호스트 OS(503)를 스캔할 수 있다.
본 발명의 특정 특징은 예시적인 실시예를 참조하여 설명되었다. 그러나, 설명은 제한의 의미로 해석되도록 의도되지 않는다. 본 발명의 예시적인 실시예뿐만 아니라 다른 실시예의 다양한 변경은 본 발명이 속하는 당업자에게 자명한 것으로서 본 발명의 사상 및 범위 내에 있는 것으로 간주한다.

Claims (24)

  1. 컴퓨팅 장치의 격리된 환경에서 하나 이상의 안티바이러스(anti-virus) 에이전트를 수신하는 단계 - 상기 격리된 환경은 상기 컴퓨팅 장치의 운영 체제 환경으로부터 독립적임 - 와,
    상기 하나 이상의 안티바이러스 에이전트를 인증하는 단계와,
    상기 하나 이상의 안티바이러스 에이전트의 인증이 성공하면, 상기 격리된 환경에서 상기 하나 이상의 안티바이러스 에이전트를 실행함으로써 멀웨어를 찾기 위해 상기 컴퓨팅 장치의 메모리를 스캐닝하는 단계와,
    상기 컴퓨팅 장치의 메모리를 스캐닝하는 단계는 상기 하나 이상의 안티바이러스 에이전트가 상기 컴퓨팅 장치의 메모리를 직접적으로(directly) 스캐닝하는 단계를 포함하는
    멀웨어 검출 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 안티바이러스 에이전트는 대역 외(out of band) 통신 채널을 통해 수신되는
    멀웨어 검출 방법.
  3. 제 1 항에 있어서,
    직접 메모리 액세스 엔진이 상기 컴퓨팅 장치의 메모리를 직접적으로 스캐닝하는데 사용되는
    멀웨어 검출 방법.
  4. 제 1 항에 있어서,
    상기 하나 이상의 안티바이러스 에이전트는 상기 안티바이러스 에이전트가 수신되는 소스를 검증함으로써 인증되고,
    상기 방법은,
    상기 격리된 환경의 제3자 데이터 저장부에 상기 하나 이상의 안티바이러스 에이전트를 저장하는 단계를 더 포함하는
    멀웨어 검출 방법.
  5. 제 1 항에 있어서,
    상기 하나 이상의 안티바이러스 에이전트의 인증이 성공하면, 상기 격리된 환경에서 상기 하나 이상의 안티바이러스 에이전트를 실행함으로써 멀웨어를 찾기 위해 상기 컴퓨팅 장치에 연결된 하나 이상의 저장 장치를 스캔하는 단계를 더 포함하고,
    상기 하나 이상의 저장 장치를 스캔하는 단계는 상기 하나 이상의 안티바이러스 에이전트가 상기 하나 이상의 저장 장치를 직접적으로 스캔하기 위해 직접 메모리 액세스 엔진을 사용하는 단계를 포함하는
    멀웨어 검출 방법.
  6. 제 5 항에 있어서,
    상기 하나 이상의 안티바이러스 에이전트가 상기 격리된 환경의 가상화 엔진을 통해서 상기 하나 이상의 저장 장치를 스캔하기 위해 직접 액세스를 제공받는
    멀웨어 검출 방법.
  7. 제 1 항에 있어서,
    상기 하나 이상의 안티바이러스 에이전트에 의해 상기 컴퓨팅 장치의 메모리를 스캐닝하는 단계를 지원하기 위해 스크립트 엔진을 사용하기 전에 상기 스크립트 엔진을 인증하는 단계를 더 포함하는
    멀웨어 검출 방법.
  8. 제 7 항에 있어서,
    상기 스크립트 엔진의 인증은 상기 격리된 환경에 저장된 키를 사용하여 상기 스크립트 엔진의 시그니처를 검증하는 단계를 포함하는
    멀웨어 검출 방법.
  9. 제 1 항에 있어서,
    상기 컴퓨팅 장치의 메모리를 스캐닝하는 단계는 프로세서 상태 정보에 적어도 부분적으로 기초하는
    멀웨어 검출 방법.
  10. 직접 액세스를 통해 메모리를 스캔하는 인증된 안티바이러스 에이전트를 제공하는, 컴퓨터 플랫폼에서 사용되는 방법으로서,
    상기 컴퓨터 플랫폼에 연결된 운영 체제로부터 격리된 플랫폼 하드웨어 공간에 하나 이상의 안티바이러스 에이전트가 다운로드 되는 것을 허용하는 단계 - 상기 플랫폼 하드웨어 공간은 상기 운영 체제에서 실행되는 멀웨어에 의해 영향을 받지 않음 - 와,
    상기 하나 이상의 안티바이러스 에이전트를 인증하는 단계와,
    상기 안티바이러스 에이전트의 인증이 성공하면, 직접 메모리 액세스 엔진을 통해 상기 컴퓨터 플랫폼에 연결된 메모리를 직접적으로 스캔하기 위해 상기 격리된 플랫폼 하드웨어 공간에 다운로드되는 상기 하나 이상의 안티바이러스 에이전트에 대한 액세스를 제공하는 단계를 포함하는
    방법.
  11. 컴퓨팅 장치로 하여금 청구항 제 1 항 내지 제 10 항 중 어느 하나의 방법을 수행하도록 하는 명령어를 갖는
    적어도 하나의 머신 판독 가능 매체.
  12. 청구항 제 1 항 내지 제 10 항 중 어느 하나의 방법을 수행하기 위한
    수단.
  13. 직접 액세스를 통해 메모리를 스캔하는 인증된 안티바이러스 에이전트를 제공하는, 컴퓨터 플랫폼에서 동작하는 장치로서,
    프로세서와,
    상기 프로세서에 연결된 플랫폼 제어 허브를 포함하되, 상기 플랫폼 제어 허브는 관리 엔진(manageability engine)을 포함하고,
    상기 관리 엔진은,
    상기 컴퓨터 플랫폼에 연결된 운영 체제로부터 격리된 플랫폼 하드웨어 공간에 다운로드된 상기 안티바이러스 에이전트를 저장 - 상기 플랫폼 하드웨어 공간은 상기 운영 체제에서 실행되는 멀웨어에 의해 영향을 받지 않음 - 하고,
    상기 안티바이러스 에이전트를 인증하고,
    상기 플랫폼 하드웨어 공간에 연결된 메모리를 직접적으로 스캔하기 위해 상기 안티바이러스 에이전트에 대한 액세스를 제공하며,
    상기 관리 엔진은 직접 메모리 액세스 엔진을 더 포함하고,
    상기 직접 메모리 액세스 엔진은 상기 안티바이러스 에이전트의 인증이 성공하면 상기 안티바이러스 에이전트가 상기 메모리를 직접적으로 스캔하는 것을 지원하는
    장치.
  14. 제 13 항에 있어서,
    상기 관리 엔진은 상기 안티바이러스 에이전트가 다운로드되는 소스를 검증함으로써 상기 안티바이러스 에이전트를 인증하는 인증 엔진을 포함하는
    장치.
  15. 제 14 항에 있어서,
    상기 인증 엔진은 상기 플랫폼 제어 허브에 저장된 키를 사용하여 스크립트 엔진의 시그니처를 검증함으로써 상기 스크립트 엔진을 인증하는
    장치.
  16. 제 13 항에 있어서,
    상기 관리 엔진은 상기 안티바이러스 에이전트의 인증이 실패하면 상기 안티바이러스 에이전트가 상기 메모리를 스캔하는 것을 금지하는 제어기 블록을 더 포함하는
    장치.
  17. 제 16 항에 있어서,
    상기 제어기 블록은 상기 안티바이러스 에이전트의 인증이 성공하면 상기 안티바이러스 에이전트에게 상기 컴퓨터 플랫폼에 연결된 저장 장치를 스캔하기 위한 직접 액세스를 제공하는
    장치.
  18. 제 16 항에 있어서,
    상기 제어기 블록은 또한 스크립트 엔진을 지원하고,
    상기 인증 엔진은 직접 메모리 액세스 엔진을 통해 상기 메모리를 스캔하도록 상기 안티바이러스 에이전트를 지원하기 위해 상기 스크립트 엔진을 사용하기 전에 상기 스크립트 엔진을 인증하는
    장치.
  19. 제 13 항에 있어서,
    가상화 엔진을 더 포함하되,
    상기 가상화 엔진은 상기 안티바이러스 에이전트에 상기 가상화 엔진을 통해 저장 장치를 스캔하기 위한 직접 액세스를 제공하는
    장치.
  20. 제 13 항에 있어서,
    상기 관리 엔진은 상기 운영 체제를 스캔하기 위하여 프로세서 상태 정보를 원격 서버에 제공하는
    장치.
  21. 메모리와,
    하나 이상의 프로세서와,
    운영 체제가 컴퓨팅 장치상에서 실행될 때, 상기 운영 체제로부터 독립적인 격리된 환경을 지원하는 하나 이상의 컴포넌트를 포함하되,
    상기 하나 이상의 컴포넌트는
    하나 이상의 안티바이러스 에이전트를 수신하고,
    상기 하나 이상의 안티바이러스 에이전트를 인증하고,
    상기 하나 이상의 안티바이러스 에이전트의 인증이 성공하면, 상기 격리된 환경에서 상기 하나 이상의 안티바이러스 에이전트를 실행함으로써 멀웨어를 찾기 위해 상기 메모리를 스캔하고,
    상기 메모리를 스캔하는 것은 상기 하나 이상의 안티바이러스 에이전트가 상기 컴퓨팅 장치의 메모리를 직접적으로 스캐닝하는 것을 포함하는
    컴퓨팅 장치.
  22. 제 21 항에 있어서,
    상기 하나 이상의 안티바이러스 에이전트는 대역 외 통신 채널을 통해 수신되는
    컴퓨팅 장치.
  23. 제 21 항에 있어서,
    상기 하나 이상의 컴포넌트는 상기 안티바이러스 에이전트가 수신되는 소스를 검증함으로써 상기 하나 이상의 안티바이러스 에이전트를 인증하는
    컴퓨팅 장치.
  24. 제 21 항에 있어서,
    상기 하나 이상의 컴포넌트는 또한 상기 하나 이상의 안티바이러스 에이전트의 인증이 성공하면 상기 격리된 환경에서 상기 하나 이상의 안티바이러스 에이전트를 실행함으로써 멀웨어를 찾기 위해 상기 컴퓨팅 시스템에 연결된 하나 이상의 저장 장치를 스캔하고, 상기 하나 이상의 저장 장치를 스캔하는 것은 상기 하나 이상의 안티바이러스 에이전트가 상기 하나 이상의 저장 장치를 직접적으로 스캔하기 위해서 직접 메모리 액세스 엔진을 사용하는 것을 포함하는
    컴퓨팅 장치.
KR1020130059143A 2009-10-30 2013-05-24 인증된 안티바이러스 에이전트에게 메모리를 스캔하는 직접 액세스를 제공하는 것 KR101434102B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/609,961 2009-10-30
US12/609,961 US9087188B2 (en) 2009-10-30 2009-10-30 Providing authenticated anti-virus agents a direct access to scan memory

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020100107128A Division KR20110048014A (ko) 2009-10-30 2010-10-29 컴퓨터 플랫폼에서의 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130079460A true KR20130079460A (ko) 2013-07-10
KR101434102B1 KR101434102B1 (ko) 2014-08-26

Family

ID=43466398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130059143A KR101434102B1 (ko) 2009-10-30 2013-05-24 인증된 안티바이러스 에이전트에게 메모리를 스캔하는 직접 액세스를 제공하는 것

Country Status (5)

Country Link
US (1) US9087188B2 (ko)
EP (1) EP2317454A3 (ko)
JP (1) JP5095801B2 (ko)
KR (1) KR101434102B1 (ko)
CN (1) CN102054138B (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100011442A1 (en) * 2008-07-09 2010-01-14 Sumwintek Corp. Data security device for preventing the spreading of malware
US8819826B2 (en) 2010-01-27 2014-08-26 Mcafee, Inc. Method and system for detection of malware that connect to network destinations through cloud scanning and web reputation
US20110185428A1 (en) * 2010-01-27 2011-07-28 Mcafee, Inc. Method and system for protection against unknown malicious activities observed by applications downloaded from pre-classified domains
US8474039B2 (en) * 2010-01-27 2013-06-25 Mcafee, Inc. System and method for proactive detection and repair of malware memory infection via a remote memory reputation system
US8955131B2 (en) * 2010-01-27 2015-02-10 Mcafee Inc. Method and system for proactive detection of malicious shared libraries via a remote reputation system
US9147071B2 (en) * 2010-07-20 2015-09-29 Mcafee, Inc. System and method for proactive detection of malware device drivers via kernel forensic behavioral monitoring and a back-end reputation system
EP2418828A1 (en) * 2010-08-09 2012-02-15 Eltam Ein Hashofet Process and system for loading firmware
US9536089B2 (en) 2010-09-02 2017-01-03 Mcafee, Inc. Atomic detection and repair of kernel memory
RU2444056C1 (ru) * 2010-11-01 2012-02-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ ускорения решения проблем за счет накопления статистической информации
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
US8813227B2 (en) 2011-03-29 2014-08-19 Mcafee, Inc. System and method for below-operating system regulation and control of self-modifying code
US9032525B2 (en) 2011-03-29 2015-05-12 Mcafee, Inc. System and method for below-operating system trapping of driver filter attachment
US9038176B2 (en) 2011-03-31 2015-05-19 Mcafee, Inc. System and method for below-operating system trapping and securing loading of code into memory
US8966629B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for below-operating system trapping of driver loading and unloading
US9087199B2 (en) 2011-03-31 2015-07-21 Mcafee, Inc. System and method for providing a secured operating system execution environment
US8966624B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for securing an input/output path of an application against malware with a below-operating system security agent
US8863283B2 (en) 2011-03-31 2014-10-14 Mcafee, Inc. System and method for securing access to system calls
US8959638B2 (en) 2011-03-29 2015-02-17 Mcafee, Inc. System and method for below-operating system trapping and securing of interdriver communication
US9262246B2 (en) 2011-03-31 2016-02-16 Mcafee, Inc. System and method for securing memory and storage of an electronic device with a below-operating system security agent
US8925089B2 (en) 2011-03-29 2014-12-30 Mcafee, Inc. System and method for below-operating system modification of malicious code on an electronic device
US20130276123A1 (en) * 2011-09-30 2013-10-17 Paul J. Thadikaran Mechanism for providing a secure environment for acceleration of software applications at computing 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
US9081960B2 (en) * 2012-04-27 2015-07-14 Ut-Battelle, Llc Architecture for removable media USB-ARM
US10255089B2 (en) * 2012-07-31 2019-04-09 Ca, Inc. Self-deleting virtual machines
US9560014B2 (en) 2013-01-23 2017-01-31 Mcafee, Inc. System and method for an endpoint hardware assisted network firewall in a security environment
US20150047044A1 (en) * 2013-08-06 2015-02-12 Medknex Software, Llc System and methods for protecting and using digital data
CN103413092A (zh) * 2013-09-10 2013-11-27 深圳市共进电子股份有限公司 一种网络终端禁止恶意代码注入的方法
RU2571721C2 (ru) * 2014-03-20 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения мошеннических онлайн-транзакций
CN104142842B (zh) * 2014-08-04 2017-09-22 青岛海信智能商用系统股份有限公司 CedarTrail平台支持UCDOS的方法
US10044744B1 (en) 2016-04-26 2018-08-07 EMC IP Holding Company LLC Covert storage channel communication between computer security agent and security system
US20180063179A1 (en) * 2016-08-26 2018-03-01 Qualcomm Incorporated System and Method Of Performing Online Memory Data Collection For Memory Forensics In A Computing Device
CN107463832A (zh) * 2016-10-09 2017-12-12 哈尔滨广播电视台 一种移动介质安全认证查杀系统
CN110832487B (zh) * 2017-06-29 2024-04-16 惠普发展公司,有限责任合伙企业 经由代理应用进行的计算设备监视
US11916930B2 (en) 2021-06-29 2024-02-27 Acronis International Gmbh Non-invasive virus scanning using remote access

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826012A (en) * 1995-04-21 1998-10-20 Lettvin; Jonathan D. Boot-time anti-virus and maintenance facility
US6094731A (en) * 1997-11-24 2000-07-25 Symantec Corporation Antivirus accelerator for computer networks
US6347375B1 (en) * 1998-07-08 2002-02-12 Ontrack Data International, Inc Apparatus and method for remote virus diagnosis and repair
US6728886B1 (en) * 1999-12-01 2004-04-27 Trend Micro Incorporated Distributed virus scanning arrangements and methods therefor
GB2366693B (en) * 2000-08-31 2002-08-14 F Secure Oyj Software virus protection
JP2002226822A (ja) * 2001-01-30 2002-08-14 Three M Innovative Properties Co 光線活性化型接着フィルムを用いた基材接着方法
US7673343B1 (en) * 2001-07-26 2010-03-02 Mcafee, Inc. Anti-virus scanning co-processor
US7310817B2 (en) * 2001-07-26 2007-12-18 Mcafee, Inc. Centrally managed malware scanning
US7401359B2 (en) * 2001-12-21 2008-07-15 Mcafee, Inc. Generating malware definition data for mobile computing devices
JP2003208325A (ja) 2002-01-11 2003-07-25 Akinori Yonezawa ネットワーク免疫システムおよびネットワーク免疫プログラム
AU2003901454A0 (en) 2003-03-28 2003-04-10 Secure Systems Limited Security system and method for computer operating systems
US20050071668A1 (en) 2003-09-30 2005-03-31 Yoon Jeonghee M. Method, apparatus and system for monitoring and verifying software during runtime
US7685640B2 (en) * 2004-09-21 2010-03-23 Agere Systems Inc. Methods and apparatus for interface adapter integrated virus protection
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US7743417B2 (en) * 2005-02-28 2010-06-22 Hitachi Global Storage Technologies Netherlands B.V. Data storage device with code scanning capability
US20070174910A1 (en) * 2005-12-13 2007-07-26 Zachman Frederick J Computer memory security platform
US7975304B2 (en) * 2006-04-28 2011-07-05 Trend Micro Incorporated Portable storage device with stand-alone antivirus capability
US20070283440A1 (en) * 2006-05-03 2007-12-06 Anchiva Systems, Inc. Method And System For Spam, Virus, and Spyware Scanning In A Data Network
US20080005797A1 (en) 2006-06-30 2008-01-03 Microsoft Corporation Identifying malware in a boot environment
US20080098478A1 (en) * 2006-10-20 2008-04-24 Redcannon, Inc. System, Method and Computer Program Product for Administering Trust Dependent Functional Control over a Portable Endpoint Security Device
US8356361B2 (en) * 2006-11-07 2013-01-15 Spansion Llc Secure co-processing memory controller integrated into an embedded memory subsystem
US20080134321A1 (en) * 2006-12-05 2008-06-05 Priya Rajagopal Tamper-resistant method and apparatus for verification and measurement of host agent dynamic data updates
US8099786B2 (en) * 2006-12-29 2012-01-17 Intel Corporation Embedded mechanism for platform vulnerability assessment
US7853999B2 (en) 2007-05-11 2010-12-14 Microsoft Corporation Trusted operating environment for malware detection
US20080320423A1 (en) * 2007-06-25 2008-12-25 International Business Machines Corporation System and method to protect computing systems
US8375449B1 (en) * 2007-08-10 2013-02-12 Fortinet, Inc. Circuits and methods for operating a virus co-processor
US20090138969A1 (en) * 2007-11-26 2009-05-28 Kim Yun Ju Device and method for blocking autorun of malicious code
US8839431B2 (en) * 2008-05-12 2014-09-16 Enpulz, L.L.C. Network browser based virus detection
US8954897B2 (en) * 2008-08-28 2015-02-10 Microsoft Corporation Protecting a virtual guest machine from attacks by an infected host
US8566571B2 (en) * 2008-12-12 2013-10-22 Novell, Inc. Pre-boot securing of operating system (OS) for endpoint evaluation
US20100154062A1 (en) * 2008-12-16 2010-06-17 Elad Baram Virus Scanning Executed Within a Storage Device to Reduce Demand on Host Resources
US8214653B1 (en) * 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US9552478B2 (en) * 2010-05-18 2017-01-24 AO Kaspersky Lab Team security for portable information devices

Also Published As

Publication number Publication date
EP2317454A2 (en) 2011-05-04
CN102054138B (zh) 2015-08-12
EP2317454A3 (en) 2012-08-01
US20110107423A1 (en) 2011-05-05
US9087188B2 (en) 2015-07-21
JP5095801B2 (ja) 2012-12-12
JP2011096253A (ja) 2011-05-12
KR101434102B1 (ko) 2014-08-26
CN102054138A (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
KR101434102B1 (ko) 인증된 안티바이러스 에이전트에게 메모리를 스캔하는 직접 액세스를 제공하는 것
EP2156357B1 (en) Trusted operating environment for malware detection
US9565214B2 (en) Real-time module protection
US8892858B2 (en) Methods and apparatus for trusted boot optimization
US9087199B2 (en) System and method for providing a secured operating system execution environment
US9317690B2 (en) System and method for firmware based anti-malware security
US9262246B2 (en) System and method for securing memory and storage of an electronic device with a below-operating system security agent
US8549644B2 (en) Systems and method for regulating software access to security-sensitive processor resources
EP2156356B1 (en) Trusted operating environment for malware detection
US8839455B1 (en) Security domain in virtual environment
US9038176B2 (en) System and method for below-operating system trapping and securing loading of code into memory
US9032525B2 (en) System and method for below-operating system trapping of driver filter attachment
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
CN103390130B (zh) 基于云安全的恶意程序查杀的方法、装置和服务器
US20120254993A1 (en) System and method for virtual machine monitor based anti-malware security
US20130305028A1 (en) Method and apparatus for authorizing host to access portable storage device
US20120254994A1 (en) System and method for microcode based anti-malware security
EP2754079B1 (en) Malware risk scanner
US20110214186A1 (en) Trusted operating environment for malware detection
US20150302211A1 (en) Removable storage medium security system and method thereof
KR20110048014A (ko) 컴퓨터 플랫폼에서의 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 6