KR101034415B1 - 가상 머신 또는 강화된 운영 시스템 등에서의 컴퓨터 보안관리 - Google Patents

가상 머신 또는 강화된 운영 시스템 등에서의 컴퓨터 보안관리 Download PDF

Info

Publication number
KR101034415B1
KR101034415B1 KR1020050106056A KR20050106056A KR101034415B1 KR 101034415 B1 KR101034415 B1 KR 101034415B1 KR 1020050106056 A KR1020050106056 A KR 1020050106056A KR 20050106056 A KR20050106056 A KR 20050106056A KR 101034415 B1 KR101034415 B1 KR 101034415B1
Authority
KR
South Korea
Prior art keywords
instances
virtual
computer
execution environment
security
Prior art date
Application number
KR1020050106056A
Other languages
English (en)
Other versions
KR20060071308A (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 KR20060071308A publication Critical patent/KR20060071308A/ko
Application granted granted Critical
Publication of KR101034415B1 publication Critical patent/KR101034415B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

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

Abstract

보안 스킴은 컴퓨터 상에서 실행하는 독립된(self-contained) 하나 이상의 운영 환경에 보안을 제공한다. 보안 스킴은 감시 프로세스 등에 의해 제어될 수 있는 보안 어플리케이션들의 세트를 구현하는 것을 포함할 수 있다. 보안 어플리케이션들의 세트 및 감시 프로세스 모두는 컴퓨터의 호스트 시스템 상에서 작동할 수 있는데, 컴퓨터는 독립된 하나 이상의 운영 환경들의 실행을 위해 플랫폼도 제공할 수 있다. 보안 스킴은 독립된 하나 이상의 운영 환경에서 실행하는 프로세스들 및 독립된 운영 환경들의 외부의 컴퓨터 상에서 실행하는 프로세스들을 보호한다.
Figure R1020050106056
보안 스킴, 감시 프로세스, 보안 어플리케이션, 스캐닝

Description

가상 머신 또는 강화된 운영 시스템 등에서의 컴퓨터 보안 관리{COMPUTER SECURITY MANAGEMENT, SUCH AS IN A VIRTUAL MACHINE OR HARDENED OPERATING SYSTEM}
도 1은 일 실시예에서 보안 기술들을 구현하기 위한 시스템의 예를 나타낸 블럭도이다.
도 2는 도 1의 시스템에서 가상 머신들의 오프라인 스캐닝의 예를 나타낸 블럭도이다.
도 3a는 도 1의 시스템에서 가상 머신들의 오프라인 스캐닝의 대안적인 예를 나타낸 블럭도이다.
도 3b는 도 1의 시스템에서 가상 머신들의 스캐닝의 다른 예를 나타낸 블럭도이다.
도 3c는 도 1의 시스템에서 가상 머신들의 스캐닝의 또 다른 예를 나타낸 블럭도이다.
도 4는 도 1의 시스템에서 운영 시스템을 감시하는 감시 프로세스에 의해 수행되는 루틴을 나타낸 순서도이다.
도 5는 주기적인 스캐닝을 이용하여 도 1의 시스템 내의 가상 머신들을 감시하는 보안 감시 루틴의 예를 나타낸 순서도이다.
도 6은 가상 머신 구조 마운팅을 이용하여 도 1의 시스템 내의 가상 머신들을 감시하는 보안 감시 루틴의 제2 예를 도시한 순서도이다.
도 7은 가상 머신 구조 마운팅을 이용하지 않고서 도 1의 시스템 내의 가상 머신들을 감시하는 보안 감시 루틴의 제3 예를 도시한 순서도이다.
도 8은 가상 머신 내에서 실행하는 에이전트 프로세스를 이용하여 도 1의 시스템 내의 가상 머신들을 감시하는 보안 감시 루틴의 제2 예를 나타낸 순서도이다.
<도면의 주요 부호에 대한 설명>
118: 가상 머신
128: 감시 프로세스
202: 보안 어플리케이션
102: 호스트 시스템
100: 컴퓨터 시스템(물리적 머신)
설명되는 기술은 일반적으로 컴퓨터 운영 시스템들의 보안 및 무결성을 유지하는 것에 관한 것이다.
시스템을 손상시키거나 또는 훼방하기 위해 특수하게 설계되어진 소프트웨어(예를 들면, 악성 소프트웨어 또는 "멀웨어(malware)")가 컴퓨터 시스템에 침투할 때, 컴퓨터의 운영 시스템, 및 결국 전체 컴퓨터 시스템의 무결성이 상당히 손상된 다. 컴퓨터 사용자들의 보안 관심과 요건들이 광범위하지만, 바이러스, 웜(worm), 및 트로이(Trojan) 위협이 일어나면, 대부분의 컴퓨터 사용자들이 운영 시스템 프로세스, 메모리 프로세스 등과 같은 그들의 컴퓨터의 매우 중요한 인프라스트럭처 컴포넌트의 무결성에 관심을 갖는다.
어떤 타입들의 멀웨어는 컴퓨터를 공격하기 위해 운영 시스템의 특권 동작들을 이용한다. 그러한 특권 동작들은 전형적으로 특권 사용자 또는 프로세스만이 액세스할 수 있는 명령들 또는 명령들의 세트들로 구성된다. 예를 들어, 멀웨어가 어떻게든 이 특권 동작들 중 하나 이상을 액세스할 때, 이것은 운영 시스템 파일들의 삭제 또는 손상, 메모리 내의 운영 시스템 컴포넌트들의 공격, 사용자 파일들의 삭제, 및 많은 다른 유해한 가능성들을 초래한다. 어떤 경우들에서, 해롭지 않은 프로세스 조차도 특권 동작들을 액세스하는 우연한 행동을 통해 컴퓨터 시스템을 손상시킬 수 있다. 보다 일반적으로, 거의 모든 어떠한 프로세스도 특권 사용자의 아이덴티티를 간단히 가정함으로써 특권 동작들에 대한 액세스를 획득할 수 있을 것이다.
정상적으로, 운영 시스템들은 호스팅 프로세스들에 대해 인프라스트럭처를 제공하고 이 프로세스들에게 시스템 서비스들을 제공한다. 운영 시스템들은 전형적으로 기본적인 보안 방어 -예를 들면, 시스템 리소스들에 대한 액세스 제어 및 소유권 강화 등 -를 제공한다. 예를 들어, 정상적인 운영 시스템 환경들에서, 호스트 방화벽, 취약성 평가, 패치(patch) 검출, 행동 블로킹, 호스트 또는 네트워크 침입 검출, 및 안티바이러스 기술 등과 같은 방어적 보안 서비스들이 운영 시스템 내에서 네이티브 어플리케이션으로서 모두 실행된다. 이러한 조치에도 불구하고, 운영 시스템은 자기가 공격을 당했는지를 정확하게 검출할 수 없는 때가 가끔 있다. 구체적으로, 일단 하나의 유해 코드 또는 다른 멀웨어가 컴퓨터 시스템을 공격하여 충분한 제어(예를 들어, 관리자-레벨 액세스)를 얻으면, 공격을 받고 있는지를 결정하기 위한 운영 시스템에 의한 모든 그 이상의 시도들은 더 이상 신뢰할 수 없게 되는데, 왜냐하면 그러한 시도들을 위한 메카니즘들도 손상될 수 있기 때문이다. 이것은 악성 코드가 운영 시스템에 의해 이용되는 메모리 내의 또는 디스크 상의 임의의 것을, 또는 악성 코드를 방지하기 위해 이용되는 어플리케이션들을 유효하게 변경할 수 있기 때문이다.
컴퓨터 시스템 및 그 운영 시스템을 보호하기 위한 한가지 방법은 안티바이러스 소프트웨어, 퍼스널 펌웨어, 및 침입 검출 시스템들과 같은 보안 어플리케이션들의 세트를 설치하는 것과 관련된다. 어레이로 배치된 컴퓨터 시스템들의 클러스터 또는 컴퓨터 네트워크 등과 같은 다수의 컴퓨터 시스템들을 갖는 시스템들에서, 각각 개개의 컴퓨터 시스템은 그 자체의 보안 어플리케이션들의 세트를 실행한다. 이것은 네트워크 또는 어레이 내의 각각의 컴퓨터 시스템이 그 자체의 네트워크 결합, 그 자체의 중앙 프로세싱 유닛(들), 그 자체의 운영 시스템의 인스턴스 등을 갖는 물리적으로 분리된 엔티티이기 때문이다. 그러한 보안 어플리케이션들은 컴퓨터 시스템 및 그의 운영 시스템이 손상되는 것을 방지하기 위해 각각의 컴퓨터 시스템 상에 설치될 수 있지만, 컴퓨터 시스템 상에서 실행하는 다른 어플리케이션처럼 그러한 보안 어플레케이션들도 취약하기 때문에, 그들도 컴퓨터 시스템 을 보호하기에는 역부족일 수 있다.
컴퓨터 시스템 및 그의 운영 시스템을 보호하기 위한 다른 시도에서는, 메모리와 같은 컴퓨터 시스템의 국면들은 컴퓨터 시스템의 국면들(aspects)을 아이솔레이팅함으로써 보호된다.
본 명세서에서 설명되는 컴퓨터 보안 기술은 호스트 시스템 상에서 실행하는 다수의 논리적으로 아솔레이트된 가상 머신들을 감시하고, 보호하고, 수리하기 위해 싱글 보안 프로세스(또는 보안 프로세스들의 세트)를 이용하는 것을 포함한 다양한 보안 특성들을 제공한다. 소정의 실시예들에서, 보안 기술들은 컴퓨터 상에서 실행하는 하나 이상의 독립된(self-contained) 운영 환경에 대해 보안을 제공한다. 보안 기술들은 감시 프로세스에 의해 제어될 수 있는 보안 어플리케이션을 구현하는 단계를 포함할 수 있다. 보안 어플리케이션은 하나 이상의 가상 머신들을 감시할 수 있다. 이 감시는 보안 어플리케이션에 의해 가상 머신들을 오프라인으로 스캐닝하고, 가상 머신들 각각 상에서 실행하는 에이전트 보안 프로세스를 구현하는 것 등을 포함하는 다양한 기술들을 이용하여 수행될 수 있다.
어떤 실시예들에서, 보안 어플리케이션들의 세트 및 감시 프로세스는 모두, 컴퓨터의 호스트 시스템 상에서 작동할 수 있는데, 상기 컴퓨터의 호스트 시스템은 독립된 하나 이상의 운영 환경들의 실행을 위한 플랫폼을 제공할 수도 있다. 보안 기술은 독립된 하나 이상의 운영 환경들에서 실행하는 프로세스들 및 독립된 운영 환경들의 외부의 컴퓨터 상에서 실행하는 프로세스들을 보호할 수 있다.
도면들에 있어서, 동일한 참조 번호들은 동일한 또는 실질적으로 유사한 엘리먼트들이나 동작들을 식별한다. 임의의 특정 엘리먼트 또는 동작의 논의를 용이하게 하기 위해, 참조 번호 내의 최상위 숫자 또는 숫자들은 그 엘리먼트가 처음 도입된 도면 번호를 인용한다(예를 들어, 엘리먼트(204)는 도 2와 관련하여 처음 도입되었고 논의됨).
다양한 실시예들과 관련하여 이제 본 발명이 설명될 것이다. 하기의 설명은 본 발명의 실시예들의 완전한 이해와 가능한 설명을 위해 특별히 상세한 사항들을 제공한다. 그러나, 당업자는 본 발명이 이 상세한 사항들이 없이도 실시될 수 있음을 이해할 것이다. 다른 경우들에서, 본 발명의 실시예들의 설명을 불필요하게 모호하게 만들지 않기 위해 공지된 구조들 및 기능들은 도시되지 않거나 상세히 설명되지 않았다.
제시된 설명에서 이용된 용어는, 그것이 비록 본 발명의 특수한 실시예들의 상세한 설명과 관련되어 이용되었더라도, 그의 최대로 합리적인 방식으로 해석되어야 한다. 특정 용어들은 아래에서 강조될 수 있다. 그러나, 임의의 제한된 방식으로 해석되도록 의도된 임의의 용어는 상세한 설명 부분에서 그와 같이 노골적이고 특수하게 정의될 것이다.
Ⅰ. 개요
본 명세서에서 설명된 컴퓨터 보안 기술들은 호스트 시스템 상에서 실행하는 다수의 논리적으로 아솔레이트된 가상 머신들을 감시하고, 보호하고, 수리하기 위 해 싱글 보안 프로세스(또는 보안 프로세스들의 세트)를 이용하는 것을 포함한 다양한 보안 특성들을 제공한다.
소정의 실시예들에서, 물리적인 머신 상에서 실행하는 호스트 시스템은 운영 시스템 및 어플리케이션들이 실행할 수 있는 가상 머신을 제공한다. 많은 프로세스들이 가상 머신 상에서 실행할 수 있지만, 일반적으로, 가상 머신 상에서 실행하는 운영 시스템 및 어플리케이션들은 가상 머신을 제공하는 호스트 시스템에 의해 허가된 경우나 또는 가상 머신에게 할당된 탐색(quest)에 의해 지정되는 경우를 제외하고는 리소스들(예를 들면, 메모리 및 디바이스들)을 액세스할 수 없다.
가상 머신이 멀웨어를 실행하면, 임의의 피해는 가상 머신의 운영 시스템, 어플리케이션, 및 액세스가능한 리소스들에 국한된다. 이러한 방식으로, 컴퓨터는 가상 머신 상에서 실행하는 멀웨어의 효과로부터 실질적으로 보호된다.
소정의 실시예들에서, 호스트 시스템은 가상 머신들 상에서 실행하는 운영 시스템 및 어플리케이션들이 물리적 머신의 리소스들이나 운영 시스템에 바람직하지 않은 변경을 야기할 수 있는 특권 동작들을 수행하는 것을 방지할 수 있다. 예를 들어, 가상 머신 상에서 실행하는 운영 시스템은 물리 머신 내에서가 아니라 가상 머신 내에서 관리 특권이 주어질 수 있다.
소정의 실시예들에서, 호스트 시스템은 프로액티브(proactive) 보안 프로세스들을 구현한다. 그러한 보안 프로세스들의 예로는 호스트 방화벽 감시자, 취약성 평가 감시자, 패치 검출 감시자, 행동 블로킹 감시자, 호스트 또는 네트워크 침입 검출 감시자, 및 안티바이러스 기술들을 포함한다. 일반적으로, 보안 프로세스 들은 가상 머신들, 호스트 시스템 및 그에 따라 물리적 머신의 보안을 강화하도록 구성된다.
소정의 실시예들에 있어서, 보안 프로세스들은 호스트 시스템 상에서 실행하는 감시 프로세스에 의해 구현되거나 제어된다. 감시 프로세스는 가상 메모리, 가상 디스크, 가상 네트워크 어댑터, 가상 드라이버 등(예를 들어, 메모리 내의 데이터 구조 또는 오브젝트 모델들)을 포함하는 가상 머신들의 컴포넌트들에게 소정 레벨의 액세스 및 가시성을 갖는 보안 프로세스들을 제공하거나 이용가능하게 해줄 수 있다. 예를 들어, 감시 프로세스는 보안 프로세스가 멀웨어 또는 보안 파괴의 사인을 찾기 위해 가상 머신의 가상 하드 디스크에 대응하는 디스크 상에 저장된 또는 메모리 내의 데이터 구조를 스캔하도록 허용할 수 있다. 또한(또는 대안적으로), 호스트 시스템에 의해 지원되는 오브젝트 모델이 제공될 때, 감시 프로세스는 가상 머신(메모리 상태 또는 통신 상태 등)의 상태에 관한 정보를 호스트 시스템에 리턴하는 것을 용이하게 해줄 수 있다. 일반적으로, 호스트 시스템 및 감시 프로세스는, 소정 레벨의 아이솔레이션을 제공하기 때문에, 이 가상 머신들 내에서 실행하는 유해한 프로그램들에 대해 액세스가 불가능한 채로 여전히 남아 있으면서, 가상 머신들의 보안을 관리하고 감시할 수 있다. 이러한 방식으로, 보안 프로세스들은 그들이 감시할 임무를 준 프로그램들에 의해 탬퍼링과 파괴로부터 보호된다.
소정의 실시예들에서, 보안 프로세스들은 가상 머신 감시자의 실행이 중단되었던, 그리고 가상 머신의 메모리, 디바이스 및 CPU 상태에 관한 모든 정보가 물리적 파일에 기입되었던 저장된 상태에 있는 가상 머신을 감시하고 수리하기 위해 이 용될 수 있다. 보안 프로세스들은, 전형적으로 가상 머신 관리자에 의해 인보크될 수 있는, 중단된 상태에 있는 가상 머신을 감시하고 수리하기 위해 이용될 수도 있다. 중단된 상태 동안, 가상 머신은 실행을 중지하지만, 그 다음 명령이 프로세싱을 재개할 준비가 된 채로 있다. 중단되거나 저장된 상태의 두 시나리오에서, 가상 머신 내부의 가상 운영 시스템은 상태 변화에 대한 지식을 갖고 있지 않다. 마찬가지로, 보안 프로세스들은 그가 호스트 시스템에 로드되기 전에 가상 머신을 스캔하고 수리하고 클린할 수 있는 능력을 가질 수 있다.
소정의 실시예들에서, 호스트 시스템은 가상 머신의 하드 디스크를 마치 그것이 물리적 디스크인 것처럼 마운트한 다음에 가상 하드 디스크를 블럭 레벨로(임의의 다른 마운트된 디스크처럼) 스캔할 수 있다. 예를 들어, 호스트 시스템은 물리적 머신의 운영 시스템 내로 로드될 수 있는 디스크 드라이버를 채택할 수 있다. 그러면, 이 디스크 드라이버는 가상 하드 디스크를 해석할 수 있고 그것을 로컬하게 공격된 디스크로서 호스트 시스템에 제시할 수 있다.
가상 머신들을 감시하기 위한 또 다른 시도는 각각의 가상 머신 내에서 "에이전트" 보안 프로세스를 실행하는 것이다. 이러한 시도에서, 에이전트 보안 프로세스는 호스트 시스템 상의 주보안 프로세스와 연관된다. 에이전트 보안 프로세스는 주보안 프로세스에 통신 채널을 개방하고, 가상 머신의 공격을 발견하고 그로부터 복구하는 것을 돕는다. 이 시나리오는 공격 동안 손상되는 에이전트 보안 프로세스의 위험을 수반할 수 있지만, 에이전트는 주보안 프로세스를 통해 그것에 이용가능한 외부 복구 옵션을 여전히 가질 수 있다. 소정의 시나리오들(예를 들어, 하 이퍼바이저(hypervisor)의 이용을 수반하는 시나리오들)에 있어서, 에이전트는 그것이 실제로 감시하고 있는 가상 머신이 아닌 다른 가상 머신에서 실행할 수 있다.
소정의 실시예들에서, 호스트 시스템은 각각의 가상 머신의 전체 상태의 주기적인 스냅 샷을 찍을 수 있다. 이론적으로, 이 스냅 샷은 마이너한 성능 오버헤드로 순간적으로 수행될 수 있다. 그러나, 이 기술의 많은 변수들이 있을 가능성이 있다. 보안 프로세스가 가상 머신 내의 비정상(예를 들어, 운영 시스템을 덮어쓰는 멀웨어 또는 자신을 메모리 내의 프로그램인 것처럼 나타내는 멀웨어)을 검출하면, 호스트 시스템은 가상 머신의 상태를 최근 스냅 샷의 상태로 복원하고, 비정상의 재발을 방지하기 위한 조치를 취하고 가상 머신을 재기동한다.
Ⅱ. 대표적 시스템
도 1 내지 5 및 하기의 논의는 본 발명이 실시될 수 있는 적합한 환경의 간략하고 개략적인 설명을 제공한다. 필수적인 것은 아니지만, 본 발명의 국면들(또는 양상들)은 컴퓨터 실행가능 명령들 예를 들면 범용 컴퓨터(예를 들어, 서버 컴퓨터, 무선 디바이스, 또는 퍼스널/랩탑 컴퓨터)에 의해 실행되는 루틴들의 일반적인 콘텍스트로 설명된다. 관련 분야의 기술자는 본 발명이 인터넷 어플라이언스, 휴대형 디바이스(PDA(Personal Digital Assistants)를 포함함), 착용가능형 컴퓨터, 모든 방식의 셀룰러 또는 모바일 폰들, 매립형 컴퓨터들(자동차 등에 결합된 것들을 포함하여), 멀티 프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 가전 제품들, 셋탑 박스들, 네트워크 PC, 미니 컴퓨터, 메인 프레임 컴퓨터 등을 포함하는 다른 통신, 데이터 프로세싱, 또는 컴퓨터 시스템 구성들로 실시될 수 있다는 것을 이해할 것이다.
본 발명의 양상들은 본 명세서에 상세히 설명된 하나 이상의 컴퓨터-실행가능 명령들을 수행하기 위해 특수하게 프로그램되고, 컨피그되고, 구성된 특수한 용도의 컴퓨터 또는 데이터 프로세서 내에서 구현될 수 있다. 본 발명의 양상들은 통신 네트워크를 통해 링크되어 있는 원격 프로세싱 디바이스들에 의해 태스크 및 모듈이 수행되는 분산형 컴퓨팅 환경에서 실시될 수도 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 스토리지 디바이스들 모두에 위치될 수 있다.
본 발명의 양상들은 반도체 메모리, 나노기술 메모리, 유기 또는 광 메모리 또는 다른 휴대형 데이터 스토리지 매체 상의 마이크로코드로서, 자기적으로 또는 광학적으로 판독가능한 컴퓨터 디스크들을 포함하는 컴퓨터 판독가능 매체 상에 저장되거나 분산될 수 있다. 실제로, 본 발명의 다른 양상들에 따른 컴퓨터로 실행되는 명령들, 데이터 구조들, 스크린 디스플레이들, 및 다른 데이터는 인터넷을 통해 또는 다른 네트워크들(무선 네트워크들을 포함함)을 통해 주기에 걸쳐 전파 매체(예를 들면, 전자기파(들), 음파 등) 상으로 전파되는 신호에 분산될 수 있고, 또는 아날로그 또는 디지털 네트워크(패킷 스위치형, 회로 스위치형, 또는 다른 스킴) 상에 제공될 수 있다. 관련 분야의 기술자는 본 발명의 일부들이 서버 컴퓨터 상에 존재하지만 대응하는 부분들은 클라이언트 컴퓨터, 예를 들면 모바일 디바이스 상에 존재함을 알 것이다.
도 1을 참조하면, 컴퓨터 보안 기술들이 실시될 수 있는 컴퓨터 시스템(물리 적 머신)(100)은 다양한 컴포넌트들을 제공한다. 이 컴포넌트들로는, 표준 또는 범용 컴퓨터 운영 시스템(104)에 부가적으로, 그와 결합하여, 또는 그 대신에 컴퓨터 시스템(100) 상에서 실행하도록 구성된 호스트 시스템(102)을 포함한다. 소정의 실시예들에서, 호스트 시스템(102)은 네이티브 및/또는 특권 감시 및 보안 펑션들을 제외하고는 어느 것에 의해서도 액세스 불가능하도록 구성될 수 있다. 호스트 시스템(102)은 MMU(Memory Management Unit: 108)를 갖는 프로세서(106), 디스크(110), 메모리(112), 통신 서브시스템(114), 및 하나 이상의 시스템 드라이버들(116)과 같은 하나 이상의 컴퓨터 리소스들과 인터페이스를 할 수 있다.
소정의 실시예들에서, 하나 이상의 가상 머신들(118)이 호스트 시스템(102)의 제어 하에 실행하고 호스트 시스템(102)에 종속될 수 있다. 가상 머신들(118) 각각은 프로세서 및 다른 머신 리소스들을 가상화하고 에뮬레이트하는 것을 용이하게 하는 컴포넌트들의 집합으로 구성될 수 있다. 예를 들어, 예시되는 실시예에 개시된 바와 같이, 가상 머신들(118) 각각은 가상 네트워크 어댑터(119), 가상 메모리(120)(물리적 머신의 메모리(112)의 할당된 부분으로 구성될 수 있음), 가상 디스크(122), 및 비가상 드라이버들(116)의 가상 인스턴스를 각각 나타내는 하나 이상의 가상 드라이버(124)를 포함하는 에뮬레이트되는 리소스들의 세트에 대한 액세스를 갖는다. 가상 운영 시스템 인스턴스(126)는 이 가상 머신들(118) 각각 상에서 실행한다. 소정의 실시예들에서, 가상 운영 시스템 인스턴스(126)는 물리적 머신의 운영 시스템(104)의 전체 또는 부분적인 카피일 수 있다.
일반적으로, 가상 머신들(118)은 다양한 페이지 레벨의 보호를 제공하기 위 해 MMU(108)에 의존할 수 있다. 일반적으로, 가상 머신들 각각 상에서 실행하는 어플리케이션들 또는 프로세스들(129)은 그들 각각의 가상 머신의 에뮬레이트된 리소스들(예를 들면, 가상 메모리(120), 가상 디스크(122), 가상 드라이버(124), 운영 시스템(126), 등)만을 이용한다. 그러한 어플리케이션들 또는 프로세스들(129)은 종종 "게스트" 코드로 일컬어진다. 에뮬레이트된 리소스들은 일반적으로 그들이 호스트 시스템(102) 상의 표준 보호 메카니즘들을 예우하고, 명시적인 명령이 없다면 호스트 시스템 사용자 코드를 게스트 코드에 노출하지 않는다는 점에서, 신뢰할만하다고 가정된다.
소정의 실시예들에서, 에뮬레이트된 리소스들은 예를 들면 I/O 포트 액세스, 메모리-맵핑된 레지스터, DMA(Direct Memory Access), 인터럽트 등과 같은 몇가지 통합 기술을 이용하여 호스트 시스템(102)과 가상 머신 상에서 실행하는 게스트 코드 사이에 데이터를 교환할 수 있다. 다른 데이터 교환 기술들로는, 클립보드 공유, 파일 드래그 앤드 드롭, 시간 동기화 등을 포함한다. 그러한 데이터 교환 기술들을 지원하기 위해, 가상 머신들(118)은 비동기 게스트 이벤트들, 동기 호스트 호출들, 게스트 코드와 호스트 시스템(102) 사이의 데이터 전송, 통합 서비스 레지스트리 등을 포함한 몇가지 퍼실리티들을 제공할 수 있다.
가상 머신들(118)은 몇가지 가능한 기술들 중 임의의 것을 이용하여 호스트 시스템(102) 상에 생성되거나 시작될 수 있다. 예를 들어, 일 실시예에서, 호스트 시스템(102)은 가상 머신의 인스턴스를 생성하여 런치하고 생성시에 가상 머신에 대한 파라미터들을 컨피그할 수 있다. 소정의 실시예들에서, 호스트 시스템(102) 은 디스크(110) 상의(아마도 공유 상의) 기존의 가상 머신 이미지를 찾고, 그 이미지를 새로운 가상 머신 인스턴스로서 로드할 수 있다. 어떤 경우들에서, 이 로딩은 가상 머신 인스턴스를 "임포팅(importing)"하는 것으로 일컬어지고, 어떤 방식으로는 하나의 어플리케이션으로부터 다른 어플리케이션으로 데이터를 가져오는 "임포트" 펑션과 유사하다.
소정의 실시예들에서, 하나 이상의 감시 프로세스들(128)의 세트가 호스트 시스템(102) 상에서 실행한다. 소정의 실시예들에서, 하나 이상의 감시 프로세스들(128)이 가상 운영 시스템 인스턴스(126)에 대한 전체적인 또는 부분적인 액세스를 가질 수 있고, 가상 머신들(118) 각각에 보안 서비스를 제공할 수 있다. 소정의 실시예들에서, 감시 프로세스들(128)은 디지털 권리 관리(Digital Right Management:DRM) 및 라이센싱 제어 등과 같은 액티비티들을 처리할 수도 있다. 이러한 구성이 가상 머신들(118) 상에서 실행하는 임의의 멀웨어가 각각의 가상 머신 외부의 리소스들을 액세스할 수 없게 하기 때문에, 감시 프로세스(128)는 일반적으로 멀웨어에 의한 손상으로부터 안전하다.
소정의 실시예들에서, 하나 이상의 감시 프로세스들(128)은 호스트 시스템(102) 상의 모든 가상 머신들(118)을 보호 및/또는 감시할 수 있는 보안 어플리케이션들(예를 들면, 안티바이러스 소프트웨어, 퍼스널 방화벽, 침입 검출 시스템 등)의 세트를 제어한다. 예를 들어, 하나 이상의 감시 프로세스들은 보안 어플리케이션들의 세트에 의해 다수의 가상 머신들의 오프라인 스캐닝을 용이하게 할 수 있다. 오프라인 스캐닝은 보안 어플리케이션들의 세트가 가상 머신들의 가상 리소스 들 각각을 그들이 컴퓨터 시스템(물리적 머신) 상의 가상 오브젝트들로서 존재할 때 인식하도록 구성하는 단계를 포함한다. 이러한 방식으로, 보안 어플리케이션들의 세트는 가상 머신 외부에서부터 가상 리소스들을 검사(스캔)할 수 있다(예를 들면, 가상 머신 데이터 구조들의 내부 포맷의 지식을 이용하여).
비록 용어들 "보안 어플리케이션" 및 감시 프로세스"가 본 명세서에서 이용되지만, 그러한 개념은 어플리케이션과 프로세스로 국한되는 것은 아니다. 그 보단, 가상 머신 및/또는 그의 리소스에 서비스를 제공하도록 구성된 임의의 유틸리티 또는 퍼실리티가 본 발명의 범위로부터 벗어나지 않고서 원하는 결과를 달성하기 위해 호스트 시스템 상에서 실행될 수 있다. 그러한 유틸리티 또는 퍼실리티의 예들로는 안티-애드웨어(anti-adware) 유틸리티, 안티 스파이웨어 유틸리티, 디스크 디프래그먼터 등을 포함한다.
가상 머신 리소스들의 오프라인 스캐닝은 가상 머신들이 실행중이거나 휴지기(예를 들면, 중단되거나 저장된 상태)에 있는 동안 일어날 수 있다. 예를 들어, 가상 머신이 기존의 가상 머신 이미지를 찾아서 호스트 시스템(102) 상에 로딩함으로써 생성될 수 있는 상황에서, 오프라인 스캐닝(및 임의의 필요한 클리닝 또는 수리)은 가상 머신 인스턴스가 "임포트"되기 전에 발생할 수 있다. 중단된 또는 저장된 상태에서 스캔될 수 있는 가상 머신 리소스들로는 가상 하드 디스크, 가상 머신 메모리 콘텐츠, 가상 통신 포트 구조 등을 포함한다. 어떤 실시예들에서는, 중단된 가상 머신의 메모리를 액세스하는 것이 불가능할 수 있다. 그러나, 가상 머신 메모리는 가상 머신이 저장된 상태에 있는 동안 또는 가상 머신의 스냅 샷을 통 해 여전히 액세스 가능할 수 있다.
도 2를 참조하면, 도 1의 다양한 컴포넌트들을 예시하는 오프라인 스캐닝 구성(200)의 일예가 도시된다. 이 구성에 있어서, 보안 어플리케이션(202) 및 옵션의 감시 프로세스(128)는 호스트 시스템(102) 상에 존재한다. 적어도 부분적으로 감시 프로세스에 의해 제어될 수 있는 보안 어플리케이션(202)은 가상 머신(118)의 리소스들을 보안 파괴의 사인들을 찾기 위해 스캔될 수 있는 데이터 구조 또는 데이터 구조들의 세트로서 본다. 그것이 가상 머신(118)의 리소스들을 원시 형태로 액세스하는 것을 허용하기 위해, 보안 어플리케이션(202)은 리소스들과 연관된 데이터 구조들의 의미(semantics) 및 구성에 관한 정보에 의존할 수 있다. 소정의 실시예들에서, 이 정보는 데이터 구조들의 의미 및 구성에 있어서 임의의 의도적인 변경을 반영하기 위해 갱신된다.
예를 들어, 도 2의 보안 어플리케이션(202)은 가상 머신(118)을 스캔하여 그것이 하나 이상의 공지된 바이러스 또는 웜에 감염되었는지를 결정하는 안티바이러스 스캐닝 엔진일 수 있다. 스캐닝 프로세스를 시작하기 위해, 안티바이러스 엔진(202)은 현재의 서명 정의 파일을 그의 프로그램 메모리에 로드한다. 예를 들어, 서명 정의 파일은 가상 머신의 가상 하드 디스크 구조의 의미 및 구성을 정의할 수 있어서, 그에 따라 그것이 그의 현재 상태에서 가상 머신의 하드 디스크를 스캔할 때 안티바이러스 엔진에 대해 참조 포인트를 제공한다.
그 다음, 안티바이러스 엔진은 가상 머신의 가상 하드 디스크와 연관되는 물리적 머신의 하드 디스크의 일부를 판독하도록 그의 스캐닝 작업에 지시한다. 이 러한 방식으로, 안티바이러스 엔진은 가상 하드 디스크의 콘텐츠를 효율적으로 판독하고, 악성 소프트웨어를 검출하는 분야의 기술자에 의해 채택되는 방법 및 기술을 이용하여, 그의 콘텐츠(예를 들면 콘텐트 오브젝트)를 그의 공지된 악성 콘텐트의 리스트와 비교한다. 예시의 목적상, 가상 하드 디스크 내의 콘텐트 오브젝트는 파일일 수도 있고, 또는 Microsoft Windows System Registry로부터의 키(key)와 같은 운영 시스템에 의해 조작되는 다른 오브젝트일 수 있고, 또는 악성 또는 바람직하지 않은 소프트웨어의 인스턴스의 일부로서 식별될 수 있는 디스크 상의 임의의 다른 오브젝트일 수 있다. 악성 소프트웨어를 발견하면, 안티바이러스 엔진은 임의의 공격성 오브젝트들을 제거하려고 또는 오브젝트 내에 위치된 감염을 제거하려고 시도할 수 있다.
도 3a는 제2 예의 오프라인 스캐닝 구성(300)을 제공한다. 이 구성에서, 감시 프로세스(128)에 의해 지원되는 가상 머신 오브젝트 인터페이스(302)는 일정한 인터페이스를 제공하는데, 이 인터페이스를 통해 보안 어플리케이션(304)이 가상 머신들의 리소스들을 액세스할 수 있다. 가상 머신 오브젝트 인터페이스(302)는 가상 머신에 따라 가변될 수 있는 가상 머신 데이터 구조들을 스캐닝 및 다른 액티비티를 위한 보안 어플리케이션(304)에 의해 액세스될 수 있는 공통적인 포맷으로 맵핑할 수 있다. 따라서, 보안 어플리케이션(304)은 가상 머신이 가질 수 있는 모든 포맷 변화가 아니라 이 공통 포맷을 액세스하도록 개발되는 것만 필요하다. 예를 들어 호스트 시스템(102)은 가상 머신들(118)의 상태(예를 들어, 디스크 상태, 메모리 상태 또는 통신 상태)에 관한 정보를 발견할 수 있어서, 보안 어플리케이션 (304)이 보안 파괴 또는 다른 문제들을 찾으면서 그들을 감시할 수 있다. 또한, 가상 머신 오브젝트 인터페이스(302)는 다수의 보안 어플리케이션들에 의해 이용될 수 있는 기능을 제공할 수 있다. 예를 들어, 가상 머신 오브젝트 인터페이스(302)는 다른 보안 프로세스가 예를 들면 웜 패이로드들과 같은 악성 콘텐트를 갖는 인입 네트워크 패킷들에 대한 가상 머신의 가상 네트워크 어댑터를 스캔하도록 허용하는 기능을 제공할 수 있다.
이 구성은 가상 머신의 설계자 및 보안 어플리케이션의 설계자에게 소정의 유연성을 제공한다. 예를 들어, 가상 머신의 설계자는 보안 어플리케이션의 설계자의 결과없이 가상 머신의 데이터 구조들을 변경할 수 있다. 따라서, 보안 어플리케이션(304)은 가상 머신이 가질 수 있는 모든 포맷 변화가 아니라 이 공통 포맷을 액세스하도록 개발될 필요만 있다.
소정의 실시예들에서, 오프라인 스캐닝 기술들은 가상 머신의 현재 상태와 보안 어플리케이션이 가상 머신의 현재 상태로서 인식하는 것과의 동기화를 용이하게 함으로써, 보다 정확하고 일관적인 스캐닝 능력을 제공한다. 이 동기화는 가상 머신의 상태들이 고속으로 변화하는 경우에 유용할 수 있다.
도 3b를 참조하면, 가상 머신의 근사-실시간 자체-일관적 뷰를 제공하는 에이전트 프로세스(322)를 실행함으로써 달성될 수 있는 한 방식이 도시된다. 가상 머신(118) 상에서 실행할 수 있는 에이전트 프로세스(322)는 가상 머신(118)에 대한 이러한 뷰를 가상 머신 오브젝트 인터페이스(302)에 엑스포트(export)할 수 있고, 그러면 가상 머신 오브젝트 인터페이스(302)는 감시 프로세스 및/또는 보안 어 플리케이션에 적당한 정보를 제공할 수 있다. 소정의 실시예들에서 에이전트 프로세스(322)는 가상 머신 오브젝트 인터페이스(302)에 의해 이용되도록 어플리케이션 프로그래밍 인터페이스(API)를 제공할 수 있다.(대안적으로 보안 어플리케이션은 가상 머신 오브젝트 인터페이스(302)가 이용하도록 유사한 API를 제공할 수 있다.)
이 동기화가 실현될 수 있는 대안적인 방식은 가상 머신(118)이 그의 상태의 일정한 스냅 샷을 생성하여 이 스냅 샷들을 메모리 내에 또는 디스크 상에 저장하도록 만듦으로써 달성될 수 있다. 그러한 스냅 샷들은 몇초의 "스태일(stale)"일 수 있지만, 그들은 그럼에도 불구하고 자체-일관적일 것이다.
도 3c를 참조하면, 가상 머신들의 보안 스캐닝을 제공하기 위한 대안적인 기술은 보안 어플리케이션(336)과 감시 프로세스(334)가 지정된 가상 머신(332)(호스트 시스템(102) 상에서 직접적인 것 대신) 상에서 실행할 수 있도록 구성된 시스템(330)이다. 보안 어플리케이션(336)과 감시 프로세스(334)는 그런 다음 문제를 검출하기 위해 다른 가상 머신들(118)을 감시 및/또는 스캔할 수 있다. 이러한 방식으로, 지정된 가상 머신(332)(이것은 보안 감시를 제공하는 것에 전용일 수 있음)은 공격으로부터 보호될 수 있다.
Ⅲ. 시스템 플로우
도 4 내지 도 8은 도 1의 시스템 내에서 발생하는 프로세스들을 나타내는 순서도를 나타내는 대표적인 순서도들이다. 이 순서도들은 모든 기능들 및 모든 데이터의 교환을 나타내는 것은 아니고, 그 대신 시스템 하에서 교환되는 명령들과 데이터에 대한 이해를 제공하는 것이다. 관련 기술 분야의 기술자는 소정의 펑션 을 또는 명령들 및 데이터의 교환들이 반복, 가변, 생략, 또는 보충될 수 있음을 알 것이고, 도시되지 않은 다른 양상들이 용이하게 실시될 수 있음을 알 것이다.
도 4를 참조하면, 예를 들면 도 1의 감시 프로세스에 의해 수행되는 감시 루틴(400)은 가상 머신 상에서 실행하는 프로세스들 또는 가상 운영 시스템들을 감시, 변경, 및/또는 구성하기 위해 호스트 시스템 상에서(또는 밖으로 벗어나서) 실행할 수 있다. 대안적으로 감시 루틴(400)은 강화된(hardened)(그러나 가상이 아닌) 운영 시스템 상에서 실행하는 프로세스들을 감시, 변경, 및/또는 구성할 수 있다.
블럭 401에서, 루틴(400)은 가상 머신 운영 시스템을 중지한다. 판정 블럭 402에서, 루틴(400)은 가상 머신 내에서 일어나는 유해 액티비티들(예를 들어 러그(rogue) 프로세스들)로부터 초래될 수 있는 변화들을 체크한다. 예를 들어, 루틴(400)은 문제들을 체크하기 위해 가상 머신 운영 시스템의 커널의 일부를 스캔할 수 있다. 가상 운영 시스템 커널을 감시하는 것에 대한 대안(또는 부가적인 것)으로서, 루틴(400)은 가상(또는 강화된) 운영 시스템과 연결된 다른 양상들을 감시할 수 있다. 예를 들어, 루틴(400)은 가상 어드레스 공간들을 감시하고, 에뮬레이트되는 장치들을 감시하고, 에뮬레이트되는 하드 드라이브를 감시하고, 무결성 검증(예를 들면, 체크썸)을 수행하고, 가상 디스크 상에 또는 메모리 내에 등에 존재하는 파일들의 무결성을 체크할 수 있다.
판정 블럭 402에서, 루틴(400)이 유해한 액티비티들로부터 초래될 수 있는 변화를 검출하지 못하면, 루틴(400)은 블럭 404로 진행하여 종료 전에 가상 운영 시스템 커널을 재시작한다. 그러나, 소정의 실시예들(도시되지 않음)에서, 루틴(400)은 중단 및 체크 단계들을 다시 수행하기 위해(가상 운영 시스템 인스턴스가 종료되지 않았다면) 블럭 401로 루프 백할 수 있다(시간 주기의 경과 후에). 그러나, 판정 블럭 402에서, 루틴(400)이 유해한 액티비티들로부터 초래될 수 있는 변화들을 검출하면, 루틴은 블럭 403으로 진행하여, 거기서 루틴은 억제(containment) 동작들을 시작한다. 예시적인 억제 동작들로는 게스트 운영 시스템을 중단하고 부가적인 스캐닝을 하기, 선택 프로세스들을 중단하기, 멀웨어를 클리닝하고 임의의 손상을 수리하기 위해 가상 운영 시스템을 재포맷하기, "스냅 샷"을 찍은 후에 가상 머신을 셧다운하여 가상 머신 환경이 일단 가상 머신이 재시작하면 다소 복원될 수 있도록 하기와 같은 액티비티들을 포함할 수 있다.
도 5는 호스트 시스템 상에서 실행하는 가상 머신을 오프라인으로 스캐닝하고 수리하도록 구성된 보안 어플리케이션들의 세트(예를 들면 안티바이러스 소프트웨어)를 제어하는 감시 프로세스에 의해 촉진되는 오프라인 스캐닝 루틴(500)의 예를 제공한다. 블럭 501에서, 루틴(500)은 실행중인 가상 머신의 현재 상태의 주기적인 스냅 샷을 검색한다. 불럭 502에서, 루틴은 검색된 주기적인 스냅 샷을 스캔한다. 블럭 503에서, 문제가 검출되면, 루틴은 블럭 504로 진행하여, 실행중인 가상 머신에 문제를 통지하거나, 대안적으로, 문제가 발생하기 전의 마지막 저장 상태로 후퇴하라고 가상 머신에 지시한다. 판정 블럭 503에서, 루틴(500)이 문제를 검출하지 못하면, 루틴은 그 다음 주기적인 스냅 샷을 검색하기 위해 블럭 501로 루프 백한다.
도 6은 호스트 시스템 상에서 실행하는 다수의 가상 머신들의 오프라인 스캐닝과 수리를 수행하도록 구성된 보안 어플리케이션들의 세트(예를 들면, 안티바이러스 소프트웨어)를 제어하는 감시 프로세스에 의해 용이하게 되는 오프라인 스캐닝 루틴(600)의 예를 제공한다. 예를 들어, 루틴(600)은 멀웨어 감염에 의해 디스에이블되었던 가상 머신을 검출하고 복구하기 위해 이용될 수 있다. 블럭 601에서, 루틴(600)은 물리적 디스크를 마운팅하는 것과 유사할 수 있는 방식으로 호스트 시스템 상에 가상 머신의 그 다음 구조 또는 컴포넌트를 마운트한다. 이러한 방식으로, 구조 및 컴포넌트는 외부의 스캔된 오브젝트로서 취급되는 것 대신에 컴퓨터의 운영 시스템의 일부로서 통합된다. 구조 및 컴포넌트는 호스트 시스템의 시각으로 보았을 때 에뮬레이트된 컴포넌트일 수 있다. 소정의 실시예들에서, 가상 머신의 구조 및 컴포넌트들은 호스트 시스템이 그들을 스캔하기 위해 보안 어플리케이션들의 세트를 인터페이스에 제공할 수 있도록 대상화될 수 있다. 예를 들어, 가상 머신의 메모리는 메모리 내의 멀웨어를 스캔하기 위해 대상화될 수 있다.
블럭 602에서, 보안 어플리케이션들의 세트는 가상 하드 드라이브 구조(또는 메모리 내 구조 등)를 스캔한다. 판정 블럭 603에서, 스캔된 구조가 손상되었다면, 루틴(600)은 블럭 604로 진행하여, 보안 어플리케이션들이 가상 하드 드라이브 구조(또는 메모리 내 구조)를 수리한다. 그러나, 판정 블럭 603에서, 스캔 컴포넌트가 손상되지 않았다면, 루틴은 판정 블럭 605로 진행한다.
판정 블럭 605에서, 가상 머신의 모든 구조들 또는 컴포넌트들이 스캔되었다면, 루틴은 종료한다. 그렇지 않다면, 루틴은 블럭 601로 루프 백하여 그 다음 가 상 머신 구조 또는 컴포넌트를 마운트한다.
소정의 실시예들에서, 루틴(600)은 가상 머신 하드 드라이브들 각각 내의 스캔들 사이에서 일어나는 변화들을 추적하는 최적화 기술과 결합하여 이용될 수 있다. 이러한 방식으로, 루틴(600)은 마지막 스캔 이후의 변화들만을 스캔할 수 있고, 이에 의해 스캐닝 효율을 향상시킨다. 예를 들어, 최적화 루틴은 가상 머신의 하드 드라이브 내의 변화들을 블럭 레벨로 추적할 수 있다. 그런 다음 블럭 레벨에서의 변화는 스캐닝(파일 레벨에서의 전형적인 안티바이러스 소프트웨어 스캔들로서)의 목적을 위해 파일 레벨에서의 변화로 맵핑될 수 있다. 대안적으로, 변화들은 마스터 파일 테이블 구조들에 대한 변경을 찾아봄으로써 추적될 수 있다. 이것은 호스트 시스템 내의 이전 마스터 파일 테이블들의 체크포인트 스토리지를 수반할 수 있다.
도 7은 호스트 시스템 상에서 실행하는 다수의 가상 머신들의 오프라인 스캐닝 및 수리를 수행하도록 구성된 보안 어플리케이션들의 세트(예를 들면, 안티바이러스 소프트웨어)를 제어하는 감시 프로세스에 의해 용히하게 되는 오프라인 스캐닝 루틴(700)의 예를 제공한다. 예를 들어, 루틴(700)은 멀웨어 감염에 기인하여 디스에이블되었던 가상 머신을 검출하고 복구하기 위해 이용될 수 있다. 스캐닝 전에 가상 머신의 구조 또는 컴포넌트를 마운트하는 도 6의 오프라인 스캐닝 루틴과 대조적으로, 도 7의 루틴은 구조 또는 컴포넌트를 외부적으로 스캔한다. 블럭 701에서 루틴(700)은 가상 머신의 그 다음 구조 또는 컴포넌트를 스캔한다. 구조 또는 컴포넌트는 호스트 시스템의 시각으로부터 보았을 때 에뮬레이트되는 컴포넌 트일 수 있다. 소정의 실시예들에서, 가상 머신의 구조 또는 컴포넌트는 호스트 시스템이 그들을 스캔하기 위해 보안 어플리케이션들의 세트를 인터페이스에 제공할 수 있도록 대상화될 수 있다. 예를 들어, 가상 머신의 메모리는 메모리 내의 멀웨어를 스캔하기 위해 대상화될 수 있다.
판정 블럭 702에서, 스캔된 구조가 손상되었다면, 루틴(700)은 블럭 703으로 진행하여 보안 어플리케이션들이 가상 하드 드라이브 구조(또는 메모리 내의 구조)를 수리한다. 그러나, 판정 블럭 702에서, 스캔된 컴포넌트가 손상되지 않았다면, 루틴은 판정 블럭 704로 진행한다. 판정 블럭 704에서, 가상 머신의 모든 구조 및 컴포넌트가 스캔되었다면, 루틴은 종료한다. 그렇지 않다면, 그 다음 가상 머신의 구조 또는 컴포넌트를 마운트하기 위해 루틴은 블럭 701로 루프 백한다.
도 8은 호스트 시스템 상에서 실행하는 다수의 가상 머신들의 오프라인 스캐닝 및 수리를 수행하도록 구성된 보안 어플리케이션들의 세트(예를 들면, 안티바이러스 소프트웨어)를 제어하는 감시 프로세스에 의해 용이하게 되는 제2 예의 오프라인 스캐닝 루틴(800)을 제공하는 순서도이다. 루틴(800)에서, 도 3b의 에이전트 프로세스(322)와 같은 에이전트 프로세스는 가상 머신이 스캔되려고 할 때 가상 머신의 실제 상태와, 보안 어플리케이션들에 의해 인식되는 가상 머신의 상태의 동기화를 인에이블한다.
블럭 801에서, 루틴(800)은 보안 어플리케이션(호스트 시스템 상에서 또는 가상 머신 오브젝트 인터페이스 상에서 실행하는 도 3b의 보안 어플리케이션(304) 등)과 에이전트 프로세스 사이에 소정의 머신간 통신 인터페이스를 통해 통신을 확 립한다. 블럭 802에서, 루틴(800)은 가상 머신의 메모리에 대한 액세스를 확립한다. 예를 들어, 호스트 시스템 상에서 실행하는 에이전트 프로세스는 가상 머신의 어플리케이션 메모리에 대응하는 가상 버퍼에 대한 액세스를 제공할 수 있다. 루틴은 블럭 803으로 계속 진행하여, 보안 어플리케이션이 보안 문제의 증거를 찾기 위해 메모리를 스캔한다. 예를 들어, 보안 어플리케이션이 안티바이러스 스캐닝 엔진일 때, 안티바이러스 스캐닝 엔진은 공지된 악성 소프트웨어의 시그네처와 매칭하는 코드 패턴을 찾기 위해 메모리를 스캔할 수 있다. 판정 블럭 804에서, 가상 머신의 임의의 구조 및 컴포넌트가 손상되었다면, 루틴(800)은 블럭 805로 진행하여, 보안 어플리케이션 및/또는 에이전트 프로세스가 컴퓨터 메모리를 클리닝한다. 대안적으로 보안 어플리케이션은 에이전트 프로세스에게 가상 머신에 대해 정정 액션을 취할 것을 신호할 수 있다. 그러나, 판정 블럭 804에서, 어떠한 구조 또는 컴포넌트도 손상되지 않았다면, 루틴은 종료한다.
Ⅳ. 결론
콘텍스트가 명백하게 달리 요구하지 않는다면, 상세한 설명 및 청구범위를 통해, 단어 "포함", "포함하는" 등은 배타적이거나 전부를 열거하는 의미로가 아니라 포괄적인 의미로, 즉 "포함하는, 그러나 이들로만 국한되지는 않는"다는 의미로 이해되어야 할 것이다. 부가적으로, "본 명세서에서", "위에서", "아래에서"라는 단어들 및 유사한 의미의 단어들은, 본 출원에서 이용될 때, 본 출원의 임의의 특별한 일부분들만이 아니라 본 출원을 전체적으로 일컫는 것이다. 청구항들이 두개 이상의 아이템들의 리스트에 대한 참조에서 "또는"이란 단어를 이용할 때, 그 단어 는 리스트 내의 아이템들 중의 임의의 것, 리스트 내의 모든 아이템들, 및 리스트 내의 아이템들의 임의의 조합이란 해석들을 모두 커버한다.
상술한 본 발명의 상세한 설명은 본 발명을 모두 열거한다거나 본 발명을 상기에서 개시된 형태로 제한하고자 하는 의도는 없다. 본 발명의 특수한 실시예 및 예들은 예시적인 목적으로 상기에서 설명된 것이다. 다양한 등가적인 변형들이 본 발명의 범위를 벗어나지 않고서 가능함을 당업자는 잘 알 것이다. 예를 들어, 프로세스들 또는 블럭들이 소정의 순서로 제시되지만, 대안적인 실시예들은 단계들을 갖는 루틴을 수행할 수 있고, 또는 다른 순서의 블럭들을 갖는 시스템들을 채택할 수 있고, 혹은 소정의 프로세스들 또는 블럭들은 제거, 이동, 추가, 분할, 결합 및/또는 변경될 수 있다. 이 프로세스들 또는 블럭들 각각은 다양한 다른 방식들로 실시될 수 있다. 또한, 프로세스들 또는 블럭들이 종종 시리즈로 수행되는 것으로 도시되었지만, 그 대신 이 프로세스들 또는 블럭들은 병렬로 수행될 수 있으며, 또는 다른 시간들에서 수행될 수 있다. 문맥이 허용하는 경우에, 단수 또는 복수를 이용한 상세한 설명란의 단어들은 단수의 또는 복수의를 각각 문맥이 허용하는 경우에 포함할 수도 있다.
본 명세서에 제공된 본 발명의 요점은 반드시 본 명세서에 설명된 시스템에만 적용되는 것이 아니라 다른 시스템들에도 적용될 수 있다. 상술된 다양한 실시예들의 엘리먼트들과 동작들은 다른 실시예들을 제공하기 위해 결합될 수 있다.
본 출원은 2004년 12월 21일자로 출원된 본 출원인 소유의 미국특허출원 제 호이고, 제목이 "Method and System for a Self-healing Device"와 관련된다. 상 기 특허들 및 출원들 모두 및 다른 참조 문헌은, 첨부 출원서에 함께 리스트될 수 있는 어떤 것도 본 명세서에 참조로 통합된다. 다양한 참조 문헌들의 시스템, 기능, 및 개념을 채택하기 위해, 필요하다면, 본 발명의 또 다른 실시예들을 제공하기 위해 본 발명의 양상들이 변경될 수 있다.
이들 및 다른 변경들은 상기의 상세한 설명의 관점에서 본 발명에 대해 만들어질 수 있다. 상기 상세한 설명은 본 발명의 특정한 실시예들을 상세히 기술하고 베스트 모드로 여겨져서 설명되지만, 상기 텍스트에서 어떠한 상세한 사항들이 등장하건 상관없이, 본 발명은 많은 방식으로 구현될 수 있다. 위에서 주지된 바와 같이, 본 발명의 어떤 특징 또는 양상을 설명할 때 이용된 특별한 용어는 그 용어가 연관되는 본 발명의 임의의 특성, 기능, 또는 양상에 제한되기 위해 본 명세서에서 재정의되는 것을 의미하는 것으로 취급되어서는 않된다. 일반적으로, 하기의 청구항들에 이용된 용어들은 상세한 설명란에서 그러한 용어들을 명시적으로 정의하지 않았다면, 명세서에 개시된 특정 실시예들에 본 발명을 제한하도록 이해되어서는 않된다. 따라서, 본 발명의 실제 범위는 개시된 실시예들 뿐만 아니라 청구항들에 의해 본 발명을 구현하거나 실시하는 모든 등가적인 방식들을 포괄한다.
본 발명의 특정 양상들이 특정한 청구항 형태로 아래에 제시되지만, 본 발명자들은 본 발명의 다양한 양상들을 임의의 번호의 청구항의 형태들에서 고려한다. 예를 들어, 본 발명의 하나의 양상만이 컴퓨터 판독 매체로 실시되는 것으로 기재되지만, 다른 양상들이 컴퓨터 판독가능 매체로 마찬가지로 실시될 수 있다. 따라서, 본 발명자들은 본 발명의 다른 양상들에 대한 추가적인 청구항 형태들을 추구 하기 위해 출원 후에 그러한 추가의 청구항들을 신설할 권리를 보유한다.
본 발명에 따른 컴퓨터 보안 기술은 호스트 시스템 상에서 실행하는 다수의 논리적으로 아솔레이트된 가상 머신들을 감시하고, 보호하고, 수리하기 위해 싱글 보안 프로세스(또는 보안 프로세스들의 세트)를 이용하는 것을 포함한 다양한 보안 특성들을 제공한다.

Claims (20)

  1. 컴퓨터에서, 포함된 프로세스 실행 환경의 다수의 인스턴스들을 감시하고 보호하기 위한 방법으로서, 상기 다수의 인스턴스들 각각은 상기 컴퓨터의 에뮬레이트된(emulated) 리소스들을 액세스하고, 상기 방법은,
    컴퓨터 상에서, 유해한 프로세스를 검출하기 위해 상기 포함된 프로세스 실행 환경의 다수의 인스턴스들 각각을 감시하는 적어도 하나의 보안 어플리케이션을 실행하는 단계 - 상기 적어도 하나의 보안 어플리케이션은 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들의 외부에서 실행함 - ; 및
    보안 어플리케이션들의 단일 세트에 의해, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각의 가상 리소스들의 스캐닝을 용이하게 하는 단계 - 상기 가상 리소스들은 상기 컴퓨터의 상기 에뮬레이트된 리소스들을 포함하고, 상기 스캐닝을 용이하게 하는 단계는 상기 컴퓨터의 주운영 시스템에 의해 인식되는 바대로 상기 리소스들을 인식하도록 상기 보안 어플리케이션들의 세트를 구성하는 단계를 포함함 -
    를 포함하며,
    보안 어플리케이션들의 단일 세트에 의해, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각의 가상 리소스들의 스캐닝을 용이하게 하는 단계는 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 중 하나에 연관된 가상 네트워크 어댑터 구조에 대한 액세스를 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 보안 어플리케이션은 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각에서 1 대 1 대응 관계로 실행하는 대응하는 에이전트 보안 프로세스들과의 통신을 통해 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각에 액세스하는, 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 보안 어플리케이션은 상기 적어도 하나의 보안 어플리케이션이 상기 에뮬레이트된 리소스들을 액세스할 수 있도록 해주는 일정한 인터페이스를 제공하는 가상 머신 오브젝트 인터페이스를 통해 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각에 액세스하는, 방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 보안 어플리케이션은 상기 컴퓨터에 의해 제공된 호스트 시스템 내에서 실행하고, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각은 또한 상기 호스트 시스템 내에서 실행하는, 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 보안 어플리케이션은 상기 컴퓨터에 의해 제공된 호스트 시스템 내에서 실행하고, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각은 또한 상기 호스트 시스템 내에서 실행하고, 상기 적어도 하나의 보안 어플리케이션은 상기 호스트 시스템 내에서 실행하는 감시 프로세스에 의해 적어도 부분적으로 제어되는, 방법.
  6. 제1항에 있어서,
    보안 어플리케이션들의 단일 세트에 의해, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각의 가상 리소스들의 스캐닝을 용이하게 하는 단계는 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 중 하나에 연관된 가상 메모리 구조에 대한 액세스를 제공하는 단계를 포함하는, 방법.
  7. 제1항에 있어서,
    보안 어플리케이션들의 단일 세트에 의해, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각의 가상 리소스들의 스캐닝을 용이하게 하는 단계는 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 중 하나에 연관된 가상 하드 디스크 구조에 대한 액세스를 제공하는 단계를 포함하는, 방법.
  8. 컴퓨터에서, 포함된 프로세스 실행 환경의 다수의 인스턴스들을 감시하고 보호하기 위한 방법으로서, 상기 다수의 인스턴스들 각각은 상기 컴퓨터의 에뮬레이트된 리소스들에 액세스하고, 상기 방법은,
    컴퓨터 상에서, 유해한 프로세스를 검출하기 위해 상기 포함된 프로세스 실행 환경의 다수의 인스턴스들 각각을 감시하는 적어도 하나의 보안 어플리케이션을 실행하는 단계 - 상기 적어도 하나의 보안 어플리케이션은 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들의 외부에서 실행함 - ; 및
    보안 어플리케이션들의 단일 세트에 의해, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각의 가상 리소스들의 스캐닝을 용이하게 하는 단계 - 상기 가상 리소스들은 상기 컴퓨터의 상기 에뮬레이트된 리소스들을 포함하고, 상기 스캐닝을 용이하게 하는 단계는 상기 컴퓨터의 주운영 시스템에 의해 인식되는 바대로 상기 리소스들을 인식하도록 상기 보안 어플리케이션들의 세트를 구성하는 단계를 포함함 -
    를 포함하며,
    보안 어플리케이션들의 단일 세트에 의해, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각의 가상 리소스들의 스캐닝을 용이하게 하는 단계는 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 중 하나에 연관된 가상 드라이버 구조에 대한 액세스를 제공하는 단계를 포함하는, 방법.
  9. 컴퓨터에서, 포함된 프로세스 실행 환경의 다수의 인스턴스들을 감시하고 보호하기 위한 방법으로서, 상기 다수의 인스턴스들 각각은 상기 컴퓨터의 에뮬레이트된 리소스들에 액세스하고, 상기 방법은,
    컴퓨터 상에서, 유해한 프로세스를 검출하기 위해 상기 포함된 프로세스 실행 환경의 다수의 인스턴스들 각각을 감시하는 적어도 하나의 보안 어플리케이션을 실행하는 단계 - 상기 적어도 하나의 보안 어플리케이션은 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들의 외부에서 실행함 - ;
    보안 어플리케이션들의 단일 세트에 의해, 포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 각각의 가상 리소스들의 스캐닝을 용이하게 하는 단계 - 상기 가상 리소스들은 상기 컴퓨터의 상기 에뮬레이트된 리소스들을 포함하고, 상기 스캐닝을 용이하게 하는 단계는 상기 컴퓨터의 주운영 시스템에 의해 인식되는 바대로 상기 리소스들을 인식하도록 상기 보안 어플리케이션들의 세트를 구성하는 단계를 포함함 - ; 및
    포함된 프로세스 실행 환경의 상기 다수의 인스턴스들 중 하나에서 유해한 프로세스가 검출되는 경우,
    상기 인스턴스가 이미 비활성화되지 않았다면 상기 인스턴스를 비활성화하는 단계;
    상기 인스턴스를 수리하는 단계; 및
    상기 수리된 인스턴스를 상기 컴퓨터의 호스트 환경으로 로딩하여 상기 수리된 인스턴스가 활성화되도록 하는 단계
    를 포함하는, 방법.
  10. 바람직하지 않은 프로세스 동작들에 의해 유발되는 피해로부터 운영 시스템을 보호하기 위한 컴퓨터 시스템 내의 방법으로서, 상기 방법은,
    상기 운영 시스템 상에서 실행하는 커널을 중지하는 단계 -상기 운영 시스템은 상기 컴퓨터 시스템의 인프라스트럭처의 코어 양상들로부터 적어도 부분적으로 아이솔레이트됨 -;
    바람직하지 않은 프로세스 동작의 증거가 있는지를 결정하기 위해 상기 커널을 체크하는 단계 - 상기 체크하는 단계는, 상기 적어도 부분적으로 아이솔레이트된 운영 시스템으로부터 분리된 감시 프로세스에 의해 적어도 부분적으로 수행됨 - ; 및
    상기 적어도 부분적으로 아이솔레이트된 운영 시스템에 바람직하지 않은 프로세스 동작의 증거가 있는 경우, 상기 바람직하지 않은 프로세스 동작을 억제하는 조치를 취하는 단계를 포함하는, 방법.
  11. 제10항에 있어서,
    상기 바람직하지 않은 프로세스 동작을 억제하는 조치는 상기 적어도 부분적으로 아이솔레이트된 운영 시스템을 중단하는 것과, 감시를 더 수행하는 것을 포함하는, 방법.
  12. 제10항에 있어서,
    상기 바람직하지 않은 프로세스 동작을 억제하는 조치는 상기 적어도 부분적으로 아이솔레이트된 운영 시스템 상에서 실행하는 선택 프로세스들을 중지하는 것을 포함하는, 방법.
  13. 제10항에 있어서,
    상기 바람직하지 않은 프로세스 동작을 억제하는 조치는 상기 바람직하지 않은 프로세스 동작에 연관된 프로세스를 중단하는 것을 포함하는, 방법.
  14. 컴퓨터 시스템의 코어 컴포넌트들에 연관된 특권 동작들에 대한 액세스를 보호하기 위한 컴퓨터 시스템으로서, 상기 컴퓨터 시스템은,
    프로세서;
    상기 프로세서와 통신하는 주메모리 스토리지;
    보조 스토리지 디바이스;
    운영 시스템; 및
    호스트 시스템
    을 포함하고, 상기 호스트 시스템은
    하나 이상의 가상 머신들 - 상기 하나 이상의 가상 머신들 각각은 상기 컴퓨터 시스템의 코어 컴포넌트로부터 아이솔레이트되어, 유해한 프로세스들이 가상 머신에 연관된 환경에서 실행할 때 상기 코어 컴포넌트들을 직접 액세스할 수 없고, 상기 하나 이상의 가상 머신들 각각은 가상 운영 시스템의 인스턴스, 가상 메모리에 대한 액세스, 및 적어도 하나의 가상 드라이버를 포함함 -; 및
    보안 어플리케이션과 결합하여 상기 하나 이상의 가상 머신들을 감시하기 위해 이용되는 적어도 하나의 감시 프로세스 - 상기 감시는 유해한 프로세스의 가능한 검출을 포함하고, 상기 적어도 하나의 감시 프로세스와 상기 보안 어플리케이션은 상기 가상 머신으로부터 아이솔레이트됨 -
    을 포함하는, 컴퓨터 시스템.
  15. 제14항에 있어서,
    상기 감시는 상기 가상 메모리의 어드레스 공간들을 감시하는 것을 더 포함하는, 컴퓨터 시스템.
  16. 제14항에 있어서,
    상기 가상 머신은 하나 이상의 에뮬레이트된 디바이스들에 대한 액세스를 더 포함하고, 상기 감시는 상기 에뮬레이트된 디바이스들을 감시하는 것을 더 포함하는, 컴퓨터 시스템.
  17. 제14항에 있어서,
    상기 가상 머신은 에뮬레이트된 하드 드라이브에 대한 액세스를 더 포함하고, 상기 감시는 상기 에뮬레이트된 하드 드라이브를 감시하는 것을 더 포함하는, 컴퓨터 시스템.
  18. 제14항에 있어서,
    상기 감시는 상기 가상 머신에 대한 입력, 상기 가상 머신으로부터의 출력, 상기 가상 머신 상에서 실행하는 프로세스들에 대한 무결성 검증을 수행하는 것을 더 포함하는, 컴퓨터 시스템.
  19. 제14항에 있어서,
    상기 가상 머신은 에뮬레이트된 하드 드라이브에 대한 액세스를 더 포함하고, 상기 감시는 상기 가상 메모리 또는 상기 에뮬레이트된 하드 드라이브 상에 존재하는 파일들의 무결성을 체크하는 것을 더 포함하는, 컴퓨터 시스템.
  20. 삭제
KR1020050106056A 2004-12-21 2005-11-07 가상 머신 또는 강화된 운영 시스템 등에서의 컴퓨터 보안관리 KR101034415B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/019,094 US7409719B2 (en) 2004-12-21 2004-12-21 Computer security management, such as in a virtual machine or hardened operating system
US11/019,094 2004-12-21

Publications (2)

Publication Number Publication Date
KR20060071308A KR20060071308A (ko) 2006-06-26
KR101034415B1 true KR101034415B1 (ko) 2011-05-12

Family

ID=36097120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050106056A KR101034415B1 (ko) 2004-12-21 2005-11-07 가상 머신 또는 강화된 운영 시스템 등에서의 컴퓨터 보안관리

Country Status (13)

Country Link
US (1) US7409719B2 (ko)
EP (1) EP1674965B1 (ko)
JP (1) JP4406627B2 (ko)
KR (1) KR101034415B1 (ko)
CN (1) CN1794131B (ko)
AU (1) AU2005237120B2 (ko)
BR (1) BRPI0505780A (ko)
CA (1) CA2527526C (ko)
MX (1) MXPA05012560A (ko)
MY (1) MY151284A (ko)
RU (1) RU2397537C2 (ko)
TW (1) TWI387923B (ko)
ZA (1) ZA200509349B (ko)

Families Citing this family (303)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US8856927B1 (en) 2003-07-22 2014-10-07 Acronis International Gmbh System and method for using snapshots for rootkit detection
US7593936B2 (en) 2003-08-11 2009-09-22 Triumfant, Inc. Systems and methods for automated computer support
US8074276B1 (en) * 2004-04-19 2011-12-06 Parallels Holdings, Ltd. Method and system for administration of security services within a virtual execution environment (VEE) infrastructure
US7555596B2 (en) * 2004-12-10 2009-06-30 Microsoft Corporation Systems and methods for attaching a virtual machine virtual hard disk to a host machine
US7685149B2 (en) * 2005-03-28 2010-03-23 Microsoft Corporation Identifying and removing potentially unwanted software
US8365021B2 (en) * 2005-06-17 2013-01-29 Nec Corporation Information processing device comprising a plurality of domains having a plurality of processors, recovery device, program and recovery method
US7784098B1 (en) * 2005-07-14 2010-08-24 Trend Micro, Inc. Snapshot and restore technique for computer system recovery
US7752436B2 (en) * 2005-08-09 2010-07-06 Intel Corporation Exclusive access for secure audio program
US8161548B1 (en) 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
US7779472B1 (en) 2005-10-11 2010-08-17 Trend Micro, Inc. Application behavior based malware detection
US8935281B1 (en) 2005-10-31 2015-01-13 Symantec Operating Corporation Optimized content search of files
US7917481B1 (en) * 2005-10-31 2011-03-29 Symantec Operating Corporation File-system-independent malicious content detection
US8422678B2 (en) * 2005-11-16 2013-04-16 Intel Corporation Method, apparatus and system for protecting security keys on a wireless platform
US20070168694A1 (en) * 2006-01-18 2007-07-19 Phil Maddaloni System and method for identifying and removing pestware using a secondary operating system
US7840958B1 (en) 2006-02-17 2010-11-23 Trend Micro, Inc. Preventing spyware installation
US7941813B1 (en) 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox
US7926054B2 (en) * 2006-03-03 2011-04-12 Novell, Inc. System, method, and computer-readable medium for virtual machine instantiation from an external peripheral device
US7536541B2 (en) * 2006-03-07 2009-05-19 Novell Inc. Parallelizing multiple boot images with virtual machines
US8387138B2 (en) * 2006-03-21 2013-02-26 At&T Intellectual Property I, L.P. Security scanning system and method
US8296759B1 (en) * 2006-03-31 2012-10-23 Vmware, Inc. Offloading operations to a replicate virtual machine
US9547485B2 (en) * 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
US8205261B1 (en) * 2006-03-31 2012-06-19 Emc Corporation Incremental virus scan
US20070234337A1 (en) * 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
US8332940B2 (en) * 2006-04-11 2012-12-11 Installfree, Inc. Techniques for securing a computing environment
US8321377B2 (en) * 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US8181244B2 (en) * 2006-04-20 2012-05-15 Webroot Inc. Backward researching time stamped events to find an origin of pestware
US8429746B2 (en) * 2006-05-22 2013-04-23 Neuraliq, Inc. Decoy network technology with automatic signature generation for intrusion detection and intrusion prevention systems
US20140373144A9 (en) * 2006-05-22 2014-12-18 Alen Capalik System and method for analyzing unauthorized intrusion into a computer network
EP1881404A1 (fr) * 2006-07-20 2008-01-23 Gemplus Procédé de protection dynamique des données lors de l'exécution d'un code logiciel en langage intermédiaire dans un appareil numérique
US8190868B2 (en) 2006-08-07 2012-05-29 Webroot Inc. Malware management through kernel detection
US8392996B2 (en) * 2006-08-08 2013-03-05 Symantec Corporation Malicious software detection
CN1909453B (zh) * 2006-08-22 2011-04-20 深圳市深信服电子科技有限公司 一种基于网关/网桥的防间谍软件侵犯方法
US8056134B1 (en) * 2006-09-10 2011-11-08 Ogilvie John W Malware detection and identification via malware spoofing
US7802050B2 (en) 2006-09-29 2010-09-21 Intel Corporation Monitoring a target agent execution pattern on a VT-enabled system
JP4756603B2 (ja) * 2006-10-10 2011-08-24 ルネサスエレクトロニクス株式会社 データプロセッサ
US9038062B2 (en) * 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8752045B2 (en) 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US8949826B2 (en) * 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
US9086917B1 (en) 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US9015703B2 (en) * 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8234641B2 (en) * 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US8234640B1 (en) * 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US9697019B1 (en) 2006-10-17 2017-07-04 Manageiq, Inc. Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine
US8612971B1 (en) 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US8949825B1 (en) * 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8458695B2 (en) 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
WO2008048665A2 (en) * 2006-10-18 2008-04-24 University Of Virginia Patent Foundation Method, system, and computer program product for malware detection analysis, and response
DE102006049646B3 (de) * 2006-10-20 2008-06-19 Siemens Ag Verfahren und Sendevorrichtung zum gesicherten Erstellen und Versenden einer elektronischen Nachricht sowie Verfahren und Empfangsvorrichtung zum gesicherten Empfangen und Verarbeiten einer elektronischen Nachricht
US8584109B2 (en) * 2006-10-27 2013-11-12 Microsoft Corporation Virtualization for diversified tamper resistance
JP4896677B2 (ja) * 2006-11-20 2012-03-14 株式会社ソニー・コンピュータエンタテインメント ソフトウエアの改竄検査装置及び方法、コンピュータプログラム
EP1933248A1 (de) * 2006-12-12 2008-06-18 secunet Security Networks Aktiengesellschaft Verfahren zur sicheren Datenverarbeitung auf einem Computersystem
US7987469B2 (en) * 2006-12-14 2011-07-26 Intel Corporation RDMA (remote direct memory access) data transfer in a virtual environment
US8099786B2 (en) * 2006-12-29 2012-01-17 Intel Corporation Embedded mechanism for platform vulnerability assessment
CN101211389B (zh) * 2006-12-31 2010-04-07 联想(北京)有限公司 一种硬件安全单元以及其服务请求的处理方法和系统
US7765374B2 (en) * 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources
US8380987B2 (en) * 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US8391288B2 (en) 2007-01-31 2013-03-05 Hewlett-Packard Development Company, L.P. Security system for protecting networks from vulnerability exploits
US8856782B2 (en) 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
US20080320594A1 (en) * 2007-03-19 2008-12-25 Xuxian Jiang Malware Detector
WO2008117500A1 (ja) * 2007-03-27 2008-10-02 Nec Corporation 仮想マシン運用システム、仮想マシン運用方法およびプログラム
US8127412B2 (en) 2007-03-30 2012-03-06 Cisco Technology, Inc. Network context triggers for activating virtualized computer applications
US20080250407A1 (en) * 2007-04-05 2008-10-09 Microsoft Corporation Network group name for virtual machines
US8689288B2 (en) * 2007-04-16 2014-04-01 Samsung Electronics Co., Ltd. Apparatus and method for protecting system in virtualized environment
US8011010B2 (en) * 2007-04-17 2011-08-30 Microsoft Corporation Using antimalware technologies to perform offline scanning of virtual machine images
US8875272B2 (en) * 2007-05-15 2014-10-28 International Business Machines Corporation Firewall for controlling connections between a client machine and a network
US8296848B1 (en) * 2007-06-20 2012-10-23 Symantec Corporation Control flow redirection and analysis for detecting vulnerability exploitation
US8191141B2 (en) 2007-06-22 2012-05-29 Red Hat, Inc. Method and system for cloaked observation and remediation of software attacks
US9477572B2 (en) 2007-06-22 2016-10-25 Red Hat, Inc. Performing predictive modeling of virtual machine relationships
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
US9678803B2 (en) 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US8949827B2 (en) * 2007-06-22 2015-02-03 Red Hat, Inc. Tracking a virtual machine
US8984504B2 (en) 2007-06-22 2015-03-17 Red Hat, Inc. Method and system for determining a host machine by a virtual machine
US8336108B2 (en) * 2007-06-22 2012-12-18 Red Hat, Inc. Method and system for collaboration involving enterprise nodes
US8429748B2 (en) * 2007-06-22 2013-04-23 Red Hat, Inc. Network traffic analysis using a dynamically updating ontological network description
US8539570B2 (en) * 2007-06-22 2013-09-17 Red Hat, Inc. Method for managing a virtual machine
US8127290B2 (en) * 2007-06-22 2012-02-28 Red Hat, Inc. Method and system for direct insertion of a virtual machine driver
US9569330B2 (en) 2007-06-22 2017-02-14 Red Hat, Inc. Performing dependency analysis on nodes of a business application service group
US9727440B2 (en) 2007-06-22 2017-08-08 Red Hat, Inc. Automatic simulation of virtual machine performance
US20090007100A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Suspending a Running Operating System to Enable Security Scanning
US8584094B2 (en) * 2007-06-29 2013-11-12 Microsoft Corporation Dynamically computing reputation scores for objects
US8341277B2 (en) * 2007-07-03 2012-12-25 International Business Machines Corporation System and method for connecting closed, secure production network
JP4938576B2 (ja) * 2007-07-24 2012-05-23 日本電信電話株式会社 情報収集システムおよび情報収集方法
KR20090011481A (ko) 2007-07-26 2009-02-02 삼성전자주식회사 단말 장치에서의 침입 탐지 방법 및 그 장치
US8671166B2 (en) 2007-08-09 2014-03-11 Prowess Consulting, Llc Methods and systems for deploying hardware files to a computer
US8122505B2 (en) * 2007-08-17 2012-02-21 International Business Machines Corporation Method and apparatus for detection of malicious behavior in mobile ad-hoc networks
US8146098B2 (en) * 2007-09-07 2012-03-27 Manageiq, Inc. Method and apparatus for interfacing with a computer user via virtual thumbnails
US8250641B2 (en) * 2007-09-17 2012-08-21 Intel Corporation Method and apparatus for dynamic switching and real time security control on virtualized systems
US8307443B2 (en) * 2007-09-28 2012-11-06 Microsoft Corporation Securing anti-virus software with virtualization
CN101350054B (zh) * 2007-10-15 2011-05-25 北京瑞星信息技术有限公司 计算机有害程序自动防护方法及装置
CN101350053A (zh) * 2007-10-15 2009-01-21 北京瑞星国际软件有限公司 防止网页浏览器被漏洞利用的方法和装置
CN101350052B (zh) * 2007-10-15 2010-11-03 北京瑞星信息技术有限公司 发现计算机程序的恶意行为的方法和装置
KR100985047B1 (ko) * 2007-10-25 2010-10-04 주식회사 안철수연구소 쓰레드 스케줄링 시스템 및 그 방법
US8418173B2 (en) 2007-11-27 2013-04-09 Manageiq, Inc. Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8407688B2 (en) * 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US8738905B2 (en) * 2007-12-10 2014-05-27 International Business Machines Corporation Third party secured storage for web services and web applications
US8667595B2 (en) * 2007-12-31 2014-03-04 Intel Corporation Method, apparatus and system for containing and localizing malware propagation
KR20100108417A (ko) * 2008-01-07 2010-10-06 스마트 테크놀러지스 유엘씨 다중 모니터 컴퓨터 시스템에서의 어플리케이션 관리 방법 및 이 방법을 채용한 다중 모니터 컴퓨터 시스템
US8104087B2 (en) * 2008-01-08 2012-01-24 Triumfant, Inc. Systems and methods for automated data anomaly correction in a computer network
KR100881386B1 (ko) 2008-01-24 2009-02-02 주식회사 파수닷컴 프로세스 분리 실행을 통한 drm 클라이언트 충돌 방지 방법
EP2240861A4 (en) * 2008-01-25 2011-04-06 Fasoo Com Co Ltd SYSTEM AND METHOD FOR PREVENTING CLIENT DRM INCIDENT THROUGH SEPARATE PROCESS EXECUTION
US8051111B2 (en) 2008-01-31 2011-11-01 Prowess Consulting, Llc Method and system for modularizing windows imaging format
US8201029B2 (en) 2008-01-31 2012-06-12 International Business Machines Corporation Method and apparatus for operating system event notification mechanism using file system interface
US8719936B2 (en) * 2008-02-01 2014-05-06 Northeastern University VMM-based intrusion detection system
GB2460393B (en) * 2008-02-29 2012-03-28 Advanced Risc Mach Ltd A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry
US20090241192A1 (en) * 2008-03-21 2009-09-24 Thomas Andrew J Virtual machine configuration sharing between host and virtual machines and between virtual machines
US20090241194A1 (en) * 2008-03-21 2009-09-24 Andrew James Thomas Virtual machine configuration sharing between host and virtual machines and between virtual machines
US8104083B1 (en) * 2008-03-31 2012-01-24 Symantec Corporation Virtual machine file system content protection system and method
KR100931518B1 (ko) * 2008-04-22 2009-12-14 주식회사 안철수연구소 가상 데스크탑을 이용한 프로그램 보호 방법
JP2009282751A (ja) * 2008-05-22 2009-12-03 Toyota Infotechnology Center Co Ltd プログラム検査システムおよび方法
US8443363B1 (en) 2008-05-30 2013-05-14 Symantec Corporation Coordinated virtualization activities
US8516478B1 (en) * 2008-06-12 2013-08-20 Mcafee, Inc. Subsequent processing of scanning task utilizing subset of virtual machines predetermined to have scanner process and adjusting amount of subsequest VMs processing based on load
US8589474B2 (en) * 2008-06-17 2013-11-19 Go Daddy Operating Company, LLC Systems and methods for software and file access via a domain name
US8522015B2 (en) * 2008-06-27 2013-08-27 Microsoft Corporation Authentication of binaries in memory with proxy code execution
US8572692B2 (en) * 2008-06-30 2013-10-29 Intel Corporation Method and system for a platform-based trust verifying service for multi-party verification
CN102099811B (zh) * 2008-07-21 2015-04-08 国际商业机器公司 用于离线虚拟环境中的或与之相关的改进的方法和系统
US8561137B2 (en) * 2008-07-23 2013-10-15 Oracle International Corporation Techniques for identity authentication of virtualized machines
JP5446167B2 (ja) * 2008-08-13 2014-03-19 富士通株式会社 ウイルス対策方法、コンピュータ、及びプログラム
CN101673215B (zh) * 2008-09-09 2012-12-12 联想(北京)有限公司 一种虚拟环境中用户管理装置及方法
US9098698B2 (en) 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US8799450B2 (en) * 2008-10-14 2014-08-05 Mcafee, Inc. Server-based system, method, and computer program product for scanning data on a client using only a subset of the data
US9450960B1 (en) 2008-11-05 2016-09-20 Symantec Corporation Virtual machine file system restriction system and method
US20100175108A1 (en) * 2009-01-02 2010-07-08 Andre Protas Method and system for securing virtual machines by restricting access in connection with a vulnerability audit
US20100199351A1 (en) * 2009-01-02 2010-08-05 Andre Protas Method and system for securing virtual machines by restricting access in connection with a vulnerability audit
US20100191784A1 (en) * 2009-01-29 2010-07-29 Sobel William E Extending Secure Management of File Attribute Information to Virtual Hard Disks
US9177145B2 (en) * 2009-03-24 2015-11-03 Sophos Limited Modified file tracking on virtual machines
US8510838B1 (en) * 2009-04-08 2013-08-13 Trend Micro, Inc. Malware protection using file input/output virtualization
US11489857B2 (en) 2009-04-21 2022-11-01 Webroot Inc. System and method for developing a risk profile for an internet resource
US9069983B1 (en) * 2009-04-29 2015-06-30 Symantec Corporation Method and apparatus for protecting sensitive information from disclosure through virtual machines files
US20100312805A1 (en) * 2009-05-08 2010-12-09 Noonan Iii Donal Charles System and method for capturing, managing, and distributing computer files
WO2010132860A2 (en) * 2009-05-15 2010-11-18 Lynxxit Inc. Systems and methods for computer security employing virtual computer systems
US8955108B2 (en) * 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US8839422B2 (en) 2009-06-30 2014-09-16 George Mason Research Foundation, Inc. Virtual browsing environment
RU2636848C2 (ru) * 2009-07-20 2017-11-28 Шнайдер Электрик АйТи Корпорейшен Способ оценки потребления мощности
US9569240B2 (en) 2009-07-21 2017-02-14 Adobe Systems Incorporated Method and system to provision and manage a computing application hosted by a virtual instance of a machine
US8332688B1 (en) * 2009-07-21 2012-12-11 Adobe Systems Incorporated Failover and recovery of a computing application hosted by a virtual instance of a machine
US8613085B2 (en) * 2009-07-22 2013-12-17 Broadcom Corporation Method and system for traffic management via virtual machine migration
US8732145B1 (en) * 2009-07-22 2014-05-20 Intuit Inc. Virtual environment for data-described applications
US8661434B1 (en) * 2009-08-05 2014-02-25 Trend Micro Incorporated Migration of computer security modules in a virtual machine environment
US8132057B2 (en) * 2009-08-07 2012-03-06 International Business Machines Corporation Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US8635705B2 (en) * 2009-09-25 2014-01-21 Intel Corporation Computer system and method with anti-malware
US20110093902A1 (en) * 2009-10-16 2011-04-21 At&T Intellectual Property I, L.P. System and Method to Process a Data Stream Having Different Content Types
KR101058993B1 (ko) 2009-10-26 2011-08-23 한국조폐공사 가상드라이브 방식의 스마트카드 테스트 장치 및 방법
US8640241B2 (en) * 2009-11-16 2014-01-28 Quatum Corporation Data identification system
WO2011069784A1 (en) * 2009-12-11 2011-06-16 International Business Machines Corporation System and method of managing software content in virtual desktop environments
JP5140062B2 (ja) * 2009-12-11 2013-02-06 株式会社日立製作所 仮想化環境におけるセキュリティ管理方法、仮想サーバ管理システム、および管理サーバ
US8601284B2 (en) 2010-01-27 2013-12-03 International Business Machines Corporation Secure connected digital media platform
US20110191852A1 (en) * 2010-01-30 2011-08-04 Scott Sanders Method to perform a security assessment on a clone of a virtual system
EP2354995B1 (en) * 2010-02-09 2016-12-28 Siemens Aktiengesellschaft Software licensing in a virtual computing environment
US9703586B2 (en) * 2010-02-17 2017-07-11 Microsoft Technology Licensing, Llc Distribution control and tracking mechanism of virtual machine appliances
US9665712B2 (en) * 2010-02-22 2017-05-30 F-Secure Oyj Malware removal
US8621628B2 (en) * 2010-02-25 2013-12-31 Microsoft Corporation Protecting user mode processes from improper tampering or termination
JP5440273B2 (ja) * 2010-03-09 2014-03-12 富士通株式会社 スナップショット管理方法、スナップショット管理装置、及びプログラム
US8938782B2 (en) * 2010-03-15 2015-01-20 Symantec Corporation Systems and methods for providing network access control in virtual environments
US9300688B2 (en) * 2010-04-18 2016-03-29 Ca, Inc. Protected application stack and method and system of utilizing
US9811662B2 (en) * 2010-05-03 2017-11-07 Panzura, Inc. Performing anti-virus checks for a distributed filesystem
US8839239B2 (en) 2010-06-15 2014-09-16 Microsoft Corporation Protection of virtual machines executing on a host device
US8789189B2 (en) 2010-06-24 2014-07-22 NeurallQ, Inc. System and method for sampling forensic data of unauthorized activities using executability states
US9106697B2 (en) * 2010-06-24 2015-08-11 NeurallQ, Inc. System and method for identifying unauthorized activities on a computer system using a data structure model
US8667489B2 (en) * 2010-06-29 2014-03-04 Symantec Corporation Systems and methods for sharing the results of analyses among virtual machines
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
KR101091777B1 (ko) * 2010-07-16 2011-12-08 주식회사 파수닷컴 Drm 환경에서의 악성 코드 실시간 검사 장치 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US8458791B2 (en) * 2010-08-18 2013-06-04 Southwest Research Institute Hardware-implemented hypervisor for root-of-trust monitoring and control of computer system
US9245114B2 (en) * 2010-08-26 2016-01-26 Verisign, Inc. Method and system for automatic detection and analysis of malware
US8082585B1 (en) * 2010-09-13 2011-12-20 Raymond R. Givonetti Protecting computers from malware using a hardware solution that is not alterable by any software
JP5508223B2 (ja) * 2010-10-20 2014-05-28 株式会社日立製作所 個人識別システム及び方法
JP5853327B2 (ja) * 2010-10-31 2016-02-09 テンポラル ディフェンス システムズ, エルエルシー 仮想コンピューティング環境を保護するためのシステムおよび方法
US8910155B1 (en) 2010-11-02 2014-12-09 Symantec Corporation Methods and systems for injecting endpoint management agents into virtual machines
US20120144489A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Antimalware Protection of Virtual Machines
US8484465B1 (en) 2010-12-08 2013-07-09 Google Inc. Heterogeneous virtual machines sharing a security model
JP5739182B2 (ja) 2011-02-04 2015-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 制御システム、方法およびプログラム
RU2457533C1 (ru) * 2011-02-10 2012-07-27 Государственное образовательное учреждение высшего профессионального образования Северо-Кавказский горно-металлургический институт (государственный технологический университет) (СКГМИ (ГТУ) Способ адаптивного управления пакетом антивирусных сканеров и система для его осуществления
JP5731223B2 (ja) 2011-02-14 2015-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体
JP5689333B2 (ja) 2011-02-15 2015-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異常検知システム、異常検知装置、異常検知方法、プログラムおよび記録媒体
US8892788B2 (en) 2011-02-22 2014-11-18 Red Hat Israel, Ltd. Exposing a DMA engine to guests in a virtual machine system
US8959569B2 (en) 2011-03-18 2015-02-17 Juniper Networks, Inc. Security enforcement in virtualized systems
US9619262B2 (en) 2011-05-31 2017-04-11 Micro Focus Software Inc. Techniques for security auditing of cloud resources
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
US8813233B1 (en) * 2011-06-27 2014-08-19 Amazon Technologies, Inc. Machine image inspection
US10356106B2 (en) 2011-07-26 2019-07-16 Palo Alto Networks (Israel Analytics) Ltd. Detecting anomaly action within a computer network
US8474056B2 (en) * 2011-08-15 2013-06-25 Bank Of America Corporation Method and apparatus for token-based virtual machine recycling
US9069943B2 (en) 2011-08-15 2015-06-30 Bank Of America Corporation Method and apparatus for token-based tamper detection
US8566918B2 (en) 2011-08-15 2013-10-22 Bank Of America Corporation Method and apparatus for token-based container chaining
US8752123B2 (en) 2011-08-15 2014-06-10 Bank Of America Corporation Apparatus and method for performing data tokenization
US8812830B2 (en) 2011-08-31 2014-08-19 Microsoft Corporation Attestation protocol for securely booting a guest operating system
US8850512B2 (en) * 2011-10-13 2014-09-30 Mcafee, Inc. Security assessment of virtual machine environments
US20130111018A1 (en) * 2011-10-28 2013-05-02 International Business Machines Coporation Passive monitoring of virtual systems using agent-less, offline indexing
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
AU2012337403B2 (en) 2011-11-16 2015-04-30 V-Key Inc Cryptographic system and methodology for securing software cryptography
RU2487406C1 (ru) * 2011-11-24 2013-07-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных объектов, распространяемых через пиринговые сети
US9081959B2 (en) 2011-12-02 2015-07-14 Invincea, Inc. Methods and apparatus for control and detection of malicious content using a sandbox environment
US9330188B1 (en) 2011-12-22 2016-05-03 Amazon Technologies, Inc. Shared browsing sessions
CN102609299B (zh) * 2012-01-13 2015-03-11 深圳市深信服电子科技有限公司 虚拟化系统及其创建方法、装置
JP5814138B2 (ja) * 2012-01-19 2015-11-17 株式会社エヌ・ティ・ティ・データ セキュリティ設定システム、セキュリティ設定方法およびプログラム
US8839087B1 (en) 2012-01-26 2014-09-16 Amazon Technologies, Inc. Remote browsing and searching
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US8484732B1 (en) 2012-02-01 2013-07-09 Trend Micro Incorporated Protecting computers against virtual machine exploits
US9137210B1 (en) * 2012-02-21 2015-09-15 Amazon Technologies, Inc. Remote browsing session management
US9116735B2 (en) * 2012-03-07 2015-08-25 Microsoft Technology Licensing, Llc Offline provisioning of virtual machines
TWI450098B (zh) * 2012-06-19 2014-08-21 Acer Inc 主控端電子裝置以及主控端操作方法
US8732791B2 (en) * 2012-06-20 2014-05-20 Sophos Limited Multi-part internal-external process system for providing virtualization security protection
US9092625B1 (en) * 2012-07-03 2015-07-28 Bromium, Inc. Micro-virtual machine forensics and detection
US10607007B2 (en) 2012-07-03 2020-03-31 Hewlett-Packard Development Company, L.P. Micro-virtual machine forensics and detection
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
FR2997811B1 (fr) 2012-11-05 2015-01-02 Viaccess Sa Dispositif de traitement de contenus multimedia mettant en oeuvre une pluralite de machines virtuelles.
CN103077261B (zh) * 2012-11-23 2015-12-02 厦门美亚中敏电子科技有限公司 一种虚拟环境智能修复的计算机动态仿真方法
US9922192B1 (en) 2012-12-07 2018-03-20 Bromium, Inc. Micro-virtual machine forensics and detection
US10341263B2 (en) 2012-12-10 2019-07-02 University Of Central Florida Research Foundation, Inc. System and method for routing network frames between virtual machines
US8763085B1 (en) 2012-12-19 2014-06-24 Trend Micro Incorporated Protection of remotely managed virtual machines
JP2013061994A (ja) * 2013-01-07 2013-04-04 Fujitsu Ltd ウイルス検出プログラム、ウイルス検出方法、監視プログラム、監視方法、及びコンピュータ
US9979739B2 (en) 2013-01-16 2018-05-22 Palo Alto Networks (Israel Analytics) Ltd. Automated forensics of computer systems using behavioral intelligence
US9560014B2 (en) * 2013-01-23 2017-01-31 Mcafee, Inc. System and method for an endpoint hardware assisted network firewall in a security environment
KR101309657B1 (ko) * 2013-03-13 2013-09-17 엘에스웨어(주) 클라우드 컴퓨팅 환경에서의 호스트 기반 취약점 분석 시스템 및 방법
CN104219211B (zh) * 2013-06-03 2017-11-21 中国移动通信集团公司 一种云计算网络中网络安全的检测方法及装置
US9578137B1 (en) 2013-06-13 2017-02-21 Amazon Technologies, Inc. System for enhancing script execution performance
US10152463B1 (en) 2013-06-13 2018-12-11 Amazon Technologies, Inc. System for profiling page browsing interactions
US9852290B1 (en) 2013-07-12 2017-12-26 The Boeing Company Systems and methods of analyzing a software component
US9280369B1 (en) 2013-07-12 2016-03-08 The Boeing Company Systems and methods of analyzing a software component
US9396082B2 (en) 2013-07-12 2016-07-19 The Boeing Company Systems and methods of analyzing a software component
US9336025B2 (en) 2013-07-12 2016-05-10 The Boeing Company Systems and methods of analyzing a software component
US9280372B2 (en) * 2013-08-12 2016-03-08 Amazon Technologies, Inc. Request processing techniques
US9479521B2 (en) 2013-09-30 2016-10-25 The Boeing Company Software network behavior analysis and identification system
US20160232350A1 (en) * 2013-10-17 2016-08-11 Softcamp Co., Ltd. System and method for inspecting data through file format conversion
CN105683985B (zh) * 2013-10-29 2018-12-21 慧与发展有限责任合伙企业 用于虚拟机内省的系统、方法及非暂时性计算机可读介质
CN103685235A (zh) * 2013-11-18 2014-03-26 汉柏科技有限公司 一种基于防火墙的三层网络虚拟化实现方法及系统
US9756069B1 (en) * 2014-01-10 2017-09-05 Trend Micro Inc. Instant raw scan on host PC with virtualization technology
US20150205962A1 (en) * 2014-01-23 2015-07-23 Cylent Systems, Inc. Behavioral analytics driven host-based malicious behavior and data exfiltration disruption
US10430614B2 (en) 2014-01-31 2019-10-01 Bromium, Inc. Automatic initiation of execution analysis
US20150304343A1 (en) 2014-04-18 2015-10-22 Intuit Inc. Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment
JP6337498B2 (ja) * 2014-02-18 2018-06-06 日本電気株式会社 復元装置、復元システム、復元方法、および、プログラム
US10121007B2 (en) 2014-02-21 2018-11-06 Intuit Inc. Method and system for providing a robust and efficient virtual asset vulnerability management and verification service
US9866581B2 (en) 2014-06-30 2018-01-09 Intuit Inc. Method and system for secure delivery of information to computing environments
US10757133B2 (en) 2014-02-21 2020-08-25 Intuit Inc. Method and system for creating and deploying virtual assets
TWI603266B (zh) 2014-03-03 2017-10-21 廣達電腦股份有限公司 虛擬機器之資源調整方法及系統
RU2580030C2 (ru) * 2014-04-18 2016-04-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ распределения задач антивирусной проверки между виртуальными машинами в виртуальной сети
US11294700B2 (en) 2014-04-18 2022-04-05 Intuit Inc. Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets
US9356945B2 (en) * 2014-07-17 2016-05-31 Check Point Advanced Threat Prevention Ltd Automatic content inspection system for exploit detection
US10102082B2 (en) * 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
JP2014225302A (ja) * 2014-09-08 2014-12-04 富士通株式会社 ウイルス検出プログラム、ウイルス検出方法、及びコンピュータ
US9882929B1 (en) 2014-09-30 2018-01-30 Palo Alto Networks, Inc. Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network
US9860208B1 (en) 2014-09-30 2018-01-02 Palo Alto Networks, Inc. Bridging a virtual clone of a target device in a honey network to a suspicious device in an enterprise network
US9495188B1 (en) 2014-09-30 2016-11-15 Palo Alto Networks, Inc. Synchronizing a honey network configuration to reflect a target network environment
US9716727B1 (en) 2014-09-30 2017-07-25 Palo Alto Networks, Inc. Generating a honey network configuration to emulate a target network environment
US10044675B1 (en) 2014-09-30 2018-08-07 Palo Alto Networks, Inc. Integrating a honey network with a target network to counter IP and peer-checking evasion techniques
RU2595511C2 (ru) * 2014-12-05 2016-08-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ ограничения работы доверенных приложений при наличии подозрительных приложений
CN107004088B (zh) * 2014-12-09 2020-03-31 日本电信电话株式会社 确定装置、确定方法及记录介质
CA2973367A1 (en) 2015-01-07 2016-07-14 Countertack Inc. System and method for monitoring a computer system using machine interpretable code
US9560078B2 (en) 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
US9864701B1 (en) * 2015-03-10 2018-01-09 Amazon Technologies, Inc. Resource mapping for an input/output device
US9563777B2 (en) 2015-04-29 2017-02-07 International Business Machines Corporation Security policy generation based on snapshots of similar virtual machines
US10567395B2 (en) 2015-05-10 2020-02-18 Check Point Advanced Threat Prevention Ltd Detection of potentially malicious web content by emulating user behavior and user environment
US10956571B2 (en) * 2015-05-15 2021-03-23 Intel Corporation Kernel runtime integrity using processor assists
US10075461B2 (en) 2015-05-31 2018-09-11 Palo Alto Networks (Israel Analytics) Ltd. Detection of anomalous administrative actions
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10395029B1 (en) * 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
RU2618947C2 (ru) * 2015-06-30 2017-05-11 Закрытое акционерное общество "Лаборатория Касперского" Способ предотвращения работы программ, содержащих нежелательный для пользователя функционал
US9742796B1 (en) 2015-09-18 2017-08-22 Palo Alto Networks, Inc. Automatic repair of corrupt files for a detonation engine
US9977894B2 (en) * 2015-11-18 2018-05-22 Red Hat, Inc. Virtual machine malware scanning
US10142365B2 (en) * 2016-01-22 2018-11-27 The Boeing Company System and methods for responding to cybersecurity threats
CN105787382B (zh) * 2016-01-28 2018-12-21 东软集团股份有限公司 访问控制方法和装置
RU2626350C1 (ru) * 2016-04-11 2017-07-26 Андрей Сергеевич Моляков Способ функционирования операционной системы вычислительного устройства программно-аппаратного комплекса
RU2628923C1 (ru) * 2016-05-20 2017-08-22 Акционерное общество "Лаборатория Касперского" Система и способ распределения файлов между виртуальными машинами, входящими в распределённую систему виртуальных машин, для выполнения антивирусной проверки
CN105912931A (zh) * 2016-05-23 2016-08-31 北京北信源软件股份有限公司 一种虚拟化环境下修复离线虚拟机漏洞的方法及系统
RU2644126C2 (ru) * 2016-05-31 2018-02-07 Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей" Способ оптимального планирования использования виртуальных сетевых ресурсов центров обработки данных
KR102208938B1 (ko) * 2016-06-24 2021-01-27 지멘스 악티엔게젤샤프트 Plc 가상 패칭 및 보안 콘텍스트의 자동화된 배포
WO2017219362A1 (zh) * 2016-06-24 2017-12-28 阿贝尔环球国际有限公司 终端装置及其终端操作系统与云端装置及其云端操作系统
US10686829B2 (en) 2016-09-05 2020-06-16 Palo Alto Networks (Israel Analytics) Ltd. Identifying changes in use of user credentials
US9578066B1 (en) * 2016-09-14 2017-02-21 Hytrust, Inc. Systems and method for assuring security governance in managed computer systems
US10503895B2 (en) 2017-04-11 2019-12-10 Red Hat, Inc. Runtime non-intrusive container security introspection and remediation
US10333987B2 (en) * 2017-05-18 2019-06-25 Bank Of America Corporation Security enhancement tool for a target computer system operating within a complex web of interconnected systems
CN107463428B (zh) * 2017-06-29 2020-06-02 北京北信源软件股份有限公司 一种用于虚拟化环境下的补丁管理方法和装置
US10333951B1 (en) * 2017-07-31 2019-06-25 EMC IP Holding Company LLC Method and system for implementing golden container storage
US10621357B2 (en) * 2017-08-31 2020-04-14 Microsoft Technology Licensing, Llc Off node scanning
US10652213B2 (en) 2017-12-18 2020-05-12 Nicira, Inc. Agent-less micro-segmentation of a network
CN111480160B (zh) 2018-01-31 2023-11-03 惠普发展公司,有限责任合伙企业 用于过程验证的系统、方法和介质
US10999304B2 (en) 2018-04-11 2021-05-04 Palo Alto Networks (Israel Analytics) Ltd. Bind shell attack detection
RU2690415C1 (ru) * 2018-08-20 2019-06-03 Акционерное Общество "Нппкт" Технология автоматического запуска операционной системы на аппаратной платформе с элементами, не поддерживаемыми модулями операционной системы, при включении компьютера
US11184377B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Malicious port scan detection using source profiles
US11070569B2 (en) 2019-01-30 2021-07-20 Palo Alto Networks (Israel Analytics) Ltd. Detecting outlier pairs of scanned ports
US11184378B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Scanner probe detection
US11316872B2 (en) 2019-01-30 2022-04-26 Palo Alto Networks (Israel Analytics) Ltd. Malicious port scan detection using port profiles
US11184376B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Port scan detection using destination profiles
CN110764869A (zh) * 2019-09-11 2020-02-07 沪东中华造船(集团)有限公司 一种基于多个虚拟系统的船舶生产用能状况实时监控系统
US11271907B2 (en) 2019-12-19 2022-03-08 Palo Alto Networks, Inc. Smart proxy for a large scale high-interaction honeypot farm
US11265346B2 (en) 2019-12-19 2022-03-01 Palo Alto Networks, Inc. Large scale high-interactive honeypot farm
US11012492B1 (en) 2019-12-26 2021-05-18 Palo Alto Networks (Israel Analytics) Ltd. Human activity detection in computing device transmissions
US11616805B2 (en) * 2020-01-28 2023-03-28 Rubrik, Inc. Malware protection for virtual machines
US11604876B2 (en) * 2020-01-28 2023-03-14 Rubrik, Inc. Malware protection for virtual machines
CN115053222A (zh) 2020-02-07 2022-09-13 百可德罗德公司 通过主机与虚拟来宾之间的受控交互来创建隔离工作区的方法和系统
US11875187B2 (en) 2020-03-06 2024-01-16 Rubrik, Inc. Secure runtime for virtual machines
US11640461B2 (en) * 2020-03-06 2023-05-02 Rubrik, Inc. Secure runtime for virtual machines
EP3940565A1 (en) * 2020-07-15 2022-01-19 Hewlett-Packard Development Company, L.P. System management states
US11762678B2 (en) * 2020-07-16 2023-09-19 Twistlock, Ltd. Efficient virtual machine scanning
RU2763112C1 (ru) * 2020-08-24 2021-12-27 Акционерное общество "Лаборатория Касперского" Система и способ формирования списка виртуальных машин с указанием статуса защиты
WO2022047415A1 (en) * 2020-08-31 2022-03-03 Qomplx, Inc. System and method for secure evaluation of cyber detection products
US11509680B2 (en) 2020-09-30 2022-11-22 Palo Alto Networks (Israel Analytics) Ltd. Classification of cyber-alerts into security incidents
US11775655B2 (en) 2021-05-11 2023-10-03 International Business Machines Corporation Risk assessment of a container build
CA3236918A1 (en) * 2021-11-05 2023-05-11 Ahad Karamali BANDEALY Apparatuses and methods for telesupervision of service providers of counseling or medical services
US11799880B2 (en) 2022-01-10 2023-10-24 Palo Alto Networks (Israel Analytics) Ltd. Network adaptive alert prioritization system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175486A (ja) 1999-12-21 2001-06-29 Hitachi Ltd 計算機システム
JP2001318797A (ja) * 2000-05-10 2001-11-16 Nec Corp 自動データ処理装置
JP2003263413A (ja) 2002-03-07 2003-09-19 Fujitsu Ltd データサーバへの不正侵入対処方法、及びプログラム
JP2004013607A (ja) * 2002-06-07 2004-01-15 Hitachi Ltd ファイル監視装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673304B2 (en) * 2003-02-18 2010-03-02 Microsoft Corporation Multithreaded kernel for graphics processing unit
US7581253B2 (en) * 2004-07-20 2009-08-25 Lenovo (Singapore) Pte. Ltd. Secure storage tracking for anti-virus speed-up

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175486A (ja) 1999-12-21 2001-06-29 Hitachi Ltd 計算機システム
JP2001318797A (ja) * 2000-05-10 2001-11-16 Nec Corp 自動データ処理装置
JP2003263413A (ja) 2002-03-07 2003-09-19 Fujitsu Ltd データサーバへの不正侵入対処方法、及びプログラム
JP2004013607A (ja) * 2002-06-07 2004-01-15 Hitachi Ltd ファイル監視装置

Also Published As

Publication number Publication date
EP1674965A3 (en) 2013-03-20
CN1794131B (zh) 2011-11-30
BRPI0505780A (pt) 2006-09-19
RU2005135472A (ru) 2007-05-27
JP2006178936A (ja) 2006-07-06
JP4406627B2 (ja) 2010-02-03
ZA200509349B (en) 2008-04-30
US7409719B2 (en) 2008-08-05
TWI387923B (zh) 2013-03-01
KR20060071308A (ko) 2006-06-26
MXPA05012560A (es) 2006-09-29
CN1794131A (zh) 2006-06-28
AU2005237120A1 (en) 2006-07-06
MY151284A (en) 2014-04-30
CA2527526C (en) 2015-03-24
EP1674965A2 (en) 2006-06-28
CA2527526A1 (en) 2006-06-21
TW200627275A (en) 2006-08-01
US20060136720A1 (en) 2006-06-22
AU2005237120B2 (en) 2010-08-26
EP1674965B1 (en) 2020-02-12
RU2397537C2 (ru) 2010-08-20

Similar Documents

Publication Publication Date Title
KR101034415B1 (ko) 가상 머신 또는 강화된 운영 시스템 등에서의 컴퓨터 보안관리
EP3430556B1 (en) System and method for process hollowing detection
JP6370747B2 (ja) バーチャルマシーンモニタベースのアンチマルウェアセキュリティのためのシステム及び方法
US10977381B2 (en) Protection system and method against unauthorized data alteration
EP3692440B1 (en) Systems and methods for preventing malicious applications from exploiting application services
US9087199B2 (en) System and method for providing a secured operating system execution environment
US20110225624A1 (en) Systems and Methods for Providing Network Access Control in Virtual Environments
US8495741B1 (en) Remediating malware infections through obfuscation
EP3797371B1 (en) Systems and methods for controlling an application launch based on a security policy
Baliga et al. Automated containment of rootkits attacks
RU2460133C1 (ru) Система и способ защиты компьютерных приложений
Li et al. Rootkits
BRPI0505780B1 (pt) Computer security management, such as a virtual machine or physically defined operating system

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20140417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 9