KR101079910B1 - 바이러스 방지 스캔 서비스를 제공하는 디바이스, 시스템 및 방법 - Google Patents

바이러스 방지 스캔 서비스를 제공하는 디바이스, 시스템 및 방법 Download PDF

Info

Publication number
KR101079910B1
KR101079910B1 KR1020090093537A KR20090093537A KR101079910B1 KR 101079910 B1 KR101079910 B1 KR 101079910B1 KR 1020090093537 A KR1020090093537 A KR 1020090093537A KR 20090093537 A KR20090093537 A KR 20090093537A KR 101079910 B1 KR101079910 B1 KR 101079910B1
Authority
KR
South Korea
Prior art keywords
file
manageability engine
storage medium
computer platform
virus
Prior art date
Application number
KR1020090093537A
Other languages
English (en)
Other versions
KR20100037016A (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 KR20100037016A publication Critical patent/KR20100037016A/ko
Application granted granted Critical
Publication of KR101079910B1 publication Critical patent/KR101079910B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Abstract

본 명세서에는 디바이스, 시스템 및 방법이 개시되었다. 실시예에서, 디바이스는 파일을 저장하기 위해 저장 매체를 포함한다. 디바이스는 또한 관리성 엔진을 포함한다. 관리성 엔진은 바이러스 시그니처 파일에 액세스한다. 관리성 엔진은 시그니처 파일 내의 패턴을 이들 파일 중 하나 이상의 파일에 비교하도록 이용하는 바이러스 방지 스캔을 수행한다. 관리성 엔진은 스캔의 결과를 외부 에이전트에 보고한다.

Description

바이러스 방지 스캔 서비스를 제공하는 디바이스, 시스템 및 방법{HARDWARE-BASED ANTI-VIRUS SCAN SERVICE}
본 발명은 바이러스 방지 스캐닝 서비스를 수행하는 플랫폼 내의 보안 하드웨어 구성요소의 사용에 관한 것이다.
사용자가 애플리케이션을 완전히 구입하지 않고 애플리케이션의 정기 접속에 가입하는 가입-기반 소프트웨어 애플리케이션을 사용하는 다수의 사업이 존재한다. 바이러스 방지 소프트웨어 애플리케이션과 관련하여, 이 모델은, 컴퓨터 플랫폼의 하드 드라이브와 같은 저장 매체에 저장된 파일을 변형시킬 수 있는 루트키트(rootkits) 또는 기타 바이러스로부터 자신들의 시스템을 모니터링하기 원하는 사용자들에게 인기가 있다. 온라인 스캐닝 모델에서, 원격 바이러스 방지 서비스는 로컬 컴퓨터 플랫폼(가령, 소프트웨어 애플리케이션 푸쉬 모델) 상에 에이전트를 설치하는데, 이는 플랫폼의 운영 시스템 서비스를 사용하여 국부적으로 스캔을 수행한 후 그 결과를 원격 개체와 통신하여 가장 최근의 시그니처 패턴 파일에 비교할 것이다.
일반적으로, 상기 모델은 원격 개체에 의해 설치되는 에이전트 및 스캔을 위해 사용되는 어떤 하위 운영 시스템 서비스가 변형되거나 수정되지 않은 경우에 정확한 결과를 산출한다. 그러나, 이 가정은 항상 성립되지는 않는데, 경우에 따라 로컬 에이전트 및 운영 시스템 내의 다른 구성요소가 손상될 수 있으며 이는 결과에 손상을 줄 수 있다.
본 발명은 전술된 문제점을 해결하도록 보안 플랫폼 기반의 하드웨어 바이러스 방지 스캐닝 서비스를 제공하는 장치, 시스템 및 방법을 제공할 것이다.
본 발명은 예시를 위해 도면을 참조할 것이며 도면에 의해 한정되는 것이 아니다. 도면에서 동일한 참조번호는 동일한 요소를 지칭한다.
본 명세서에는 보안 플랫폼 기반의 하드웨어 바이러스 방지 스캐닝 서비스를 제공하는 장치, 시스템 및 방법의 실시예가 개시된다.
로컬 컴퓨터 플랫폼은 대역외 관리를 통해 원격 컴퓨터 플랫폼과 통신할 수 있는 관리성 엔진(a manageability engine)을 포함한다. 대역외(OOB; out-of-band) 관리는 장치와 컴퓨터 시스템의 관리 및 전반적인 보수를 위해 전용 통신 채널을 사용한다. OOB 통신 채널을 통한 OOB 관리는 관리자로 하여금 장치 및 컴퓨터 시스템을 원격적으로 모니터링하고 관리할 수 있게 한다. 일반적으로, 컴퓨터의 OOB 관리는 컴퓨터 자체의 전원 공급 여부와 무관하게 수행될 수 있다.
원격 컴퓨터 플랫폼은 바이러스 패턴을 포함하는 바이러스 시그니처 파일(signature file)을 로컬 컴퓨터 플랫폼에 전송할 수 있다. 로컬 컴퓨터 플랫폼은 시그니처 파일을 보안적으로 저장할 수 있으며 제공된 패턴을 기준으로 사용하여 하나 이상의 국부적으로 저장된 파일의 스캔을 수행하는 관리성 엔진을 사용할 수 있다. 이 스캔은, 운영 시스템 및/또는 로컬 컴퓨터 플랫폼의 기타 구성요소가 동작 가능하지 않거나(non-operational) 악성 바이러스 또는 프로그램에 의해 손상되었을 가능성이 있는 경우에 대역외에서 보안 방식으로 수행될 수 있다. 그 후, 스캔의 결과가 대역외 인터페이스를 통해 원격 컴퓨터 플랫폼에 보고될 수 있다.
다음의 상세한 설명과 청구범위에서 개시된 기술의 "일 실시예"를 참조한다는 것은 그 실시예와 함께 설명되는 특정 형상, 구조 또는 특징이 개시된 기술의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 도처에서 볼 수 있는 "일 실시예에서"라는 문구가 반드시 동일한 실시예를 지칭하는 것은 아니다.
다음의 상세한 설명과 청구범위에서, "포함한다"는 용어와 그 파생어는 서로 동의어로서 취급되도록 의도된다. 또한, 다음의 상세한 설명과 청구범위에서, "연결되는(coupled)" 및 "접속되는(connected)"이라는 용어와 그 파생어가 사용될 수 있다. 이들 용어는 서로 동의어로서 의도되지 않는다는 것을 이해해야 한다. 오 히려, 특정 실시예에서, "접속되는"은 둘 이상의 요소가 서로 직접적인 물리적 또는 전기적 접촉된다는 것을 표시하기 위해 사용될 수 있다. "연결되는"은 둘 이상의 요소가 직접적인 물리적 또는 전기적 접촉이라는 것을 의미할 수 있다. 그러나, "연결되는"은 둘 이상의 요소가 서로 직접적으로 접촉되지는 않지만 여전히 협동하거나 상호동작한다는 것을 의미할 수도 있다.
도 1은 여러 실시예에 따른 대역외 로컬 바이러스 방지 스캐닝을 관리하는 시스템을 도시하고 있다. 이 시스템은 많은 실시예에서 로컬 컴퓨터 플랫폼(100)을 포함한다. 로컬 컴퓨터 플랫폼(100)은 여러 실시예에서 Intel® 기반의 중앙 처리 장치와 같은 하나 이상의 프로세서를 포함할 수 있다. 하나 이상의 프로세서 각각은 하나 이상의 코어를 가질 수 있다. 로컬 컴퓨터 플랫폼(100) 내의 하나 이상의 프로세서는 도 1에 도시되어 있지 않다. 각 프로세서는 메모리 서브시스템에 연결되어 프로세서에 의해 실행될 명령어를 저장한다. 메모리 서브시스템의 메모리 장치는 임의의 종류의 비휘발성 동적 랜점 액세스 메모리(DRAM), 예를 들어, DDR(double data rate) 동기식 DRAM 및/또는 임의의 종류의 비휘발성 메모리, 가령, 플래시 메모리 형태일 수 있다. 프로세서는 프로세서-메모리 인터페이스에 의해 메모리에 연결되는데, 이는 프로세서와 메모리 사이에서 데이터, 어드레스, 제어 및 기타 정보를 전송할 수 있는 개별 라인을 포함하는 링크(즉, 상호접속부/버스)일 수 있다. 많은 실시예에서, 메모리 서브시스템 하드웨어(즉, 메모리 장치)는 도 1에 도시되어 있지 않다.
메모리 서브시스템의 하드웨어가 도시되어 있지 않지만, 호스트 운영 시스템(OS)(102)은 로컬 컴퓨터 플랫폼(100)의 메모리로 로딩될 운영 시스템을 나타내며 이 플랫폼은 플랫폼과 플랫폼에 부착되는 임의의 주변기기를 통한 범용 동작 제어를 제공하도록 동작한다. 호스트 OS(102)는 Microsoft® Windows®,, UNIX, LINUX 또는 임의의 다른 기능적 OS의 형태일 수 있다. 호스트 OS(102)는 하나 이상의 프로그램, 서비스 또는 에이전트가 내부에서 실행되는 환경을 제공한다. 바이러스 방지 소프트웨어 에이전트 또는 브라우저(AV 에이전트)(104)가 호스트 OS(102) 상에서 실행되는 프로그램/에이전트 사이에 존재한다. AV 에이전트(104)는, 원격 바이러스 보호 서비스가 로컬 컴퓨터 플랫폼(100)상에서 실행되어 바이러스 스캔 및 보고에 관한 사용자 입력 및 피드백을 허용하는 전용 프로그램이다. 일부 실시예에서, AV 에이전트(104)는 호스트 OS(102) 환경 내의 배경에서 실행되는 서비스이다. 다른 실시예에서, AV 에이전트는 Java, XML(확장 가능한 마크업 언어), HTML(하이퍼텍스트 마크업 언어), 또는 기타 브라우저 기반 웹 애플리케이션이다.
또한, 많은 실시예에서, 호스트 OS(102)는 저장 매체(108)에 파일이 어떻게 저장되는지에 대한 특정 구조를 제공하는 파일 시스템(106)을 포함한다. 저장 매체(108)는 일부 실시예에서 하나 이상의 하드 디스크 드라이브일 수 있다. 다른 실시예에서, 저장 매체(108)는 비휘발성 메모리 장치일 수 있다. 또 다른 실시예에서, 저장 매체는 테이프 드라이브, 광 드라이브 또는 다른 드라이브와 같은 매체일 수 있다. 저장 매체(108)는 로컬 컴퓨터 플랫폼(100) 내에 위치되는 파일 중 많은 저장된 카피를 포함할 수 있다. 전술한 바와 같이, 파일 시스템(106)은 이들 파일이 어떻게 저장되는지에 대한 구조를 제공한다. 예를 들어, 파일 시스템(106)은 Microsoft®NTFS 기반의 파일 시스템일 수 있다.
로직 복합체(110)는 로컬 컴퓨터 플랫폼(100) 내의 메모리 서브시스템 및 I/O 서브시스템을 관리하는 다수의 통합된 제어기를 포함할 수 있다. 로직 복합체에 연결되는 각 서브시스템은 하나 이상의 제어기를 사용하여 로컬 컴퓨터 플랫폼(100) 내의 나머지 하드웨어와 상호작용할 수 있다. 예를 들어, 저장 매체(108)가 SATA(serial advanced technology attachment) 하드 드라이브인 경우, 저장 제어기(112)는 SATA 제어기일 수 있다. SATA 제어기는 하드 디스크 드라이브와 나머지 로컬 컴퓨터 플랫폼(100) 사이에 통신 인터페이스를 제공한다. 로컬 컴퓨터 플랫폼(100) 내에서 실행되는 하나 이상의 드라이버는 저장 제어기(112)와 통신하여 저장 매체(108)에 액세스할 수 있다.
많은 실시예에서, 로컬 컴퓨터 플랫폼(100)은 가상화 엔진(114)을 사용한다.가상화 엔진(114)은 플랫폼을 다수의 가상 플랫폼으로 구분할 수 있게 한다. 프로세서는 이들 다수의 가상 플랫폼들 사이에서 실행을 전환할 수 있다. 가상화 엔진(114)은 (저장 매체를 포함하는) 나머지 로컬 컴퓨터 플랫폼(100)이 다수의 가상 플랫폼을 지원할 수 있도록 효율적으로 허용하는 로직을 포함한다. 가상화 엔진(114)은 일부 실시예에서 저장부 제어기(112)용 드라이버를 포함할 수 있다.
또한, 로직 복합체(110)는 많은 실시예에서 관리성 엔진(116)을 포함한다. 다른 실시예에서, 관리성 엔진은 관리 장비, 관리 펌웨어 또는 로컬 컴퓨터 플랫폼(100) 내의 기타 관리 로직을 포함하여 플랫폼에 관련되는 원격 관리 프로세스를 지원할 수 있다. 많은 실시예에서, 관리성 엔진은 로컬 컴퓨터 플랫폼(100)의 하나 이상의 프로세서에 대해 병렬로 독립적으로 동작하는 컴퓨터 시스템 내의 OOB 관리 코-프로세서(co-processor)이다.
많은 실시예에서, 로직 복합체(110)는 칩셋이다. 칩셋은 시스템 메모리로의 액세스를 제공하는 메모리 제어기와 같은 다른 제어 로직 및 하나 이상의 I/O 상호접속부(즉, 링크/버스)로의 액세스를 제공하는 하나 이상의 I/O 제어기를 포함할 수 있다. 이들 실시예에서, 관리성 엔진(116)은 칩셋으로 통합된다. 일부 실시예에서, 관리성 엔진(116)은 칩셋의 메모리 제어기 허브(MCH) 부분으로 통합된다. 다른 실시예에서, 칩셋(즉, 로직 복합체)은 로컬 컴퓨터 플랫폼의 중앙 프로세서로 통합된다.
많은 실시예에서, 관리성 엔진(116)은 저장 매체(108)에 저장되는 파일에 액세스하기 위해 파일 시스템을 탑재하도록 관련되는 로직을 포함한다. 또한, 관리성 엔진은 가상화 엔진(114)을 통해 저장 매체(108)에 액세스하는 로직을 포함한다.
구체적으로, 많은 실시예에서, 파일 시스템 드라이버(118)는 관리성 엔진(116) 내에서 실행된다. 상이한 실시예에서, 파일 시스템 구동기(118)는 NTFS 드라이버 또는 다른 파일 시스템의 드라이버일 수 있다. 드라이버의 구체적인 종류는 저장 매체(108) 내에 파일을 저장하기 위해 사용되는 파일 시스템에 의존한다. 파일 시스템 드라이버(118) 내의 로직은 파일 시스템 데이터 구조에 관련되며 저장 매체로부터 한 파티션으로 파일 시스템을 탑재하도록 사용된다. 많은 실시예에서, 파티션은 관리성 엔진(116) 상의 펌웨어에 위치된다. 다른 실시예에서, 파티션은 로직 복합체(110) 내의 다른 마이크로컨트롤러(도시 생략) 내에 위치된다. 상이한 실시예에서, 마이크로컨트롤러는 Linux 또는 ThreadX와 같은 매립형 운영 시스템을 실행할 수 있다.
또한, 관리성 엔진(116)은 많은 실시예에서 파일 메타-데이터 리스트(120)를 포함한다. 파일 메타-데이터 리스트(120)는 저장 매체(108)의 대응 위치로 파일을 맵핑하는 엔트리를 포함한다. 예를 들어, 저장 매체(108)가 하드 디스크 드라이브인 경우, 파일 메타-데이터 리스트(120)는 하드 디스크 드라이브 내의 대응 블록에 파일을 맵핑하는 엔트리를 포함할 수 있다. 또한, 일부 실시예에서, 파일 메타-데이터 리스트(120)는 모든 파일에 대한 엔트리를 포함하지 않을 수 있다. 오히려, 이 리스트는 생성 동작, 파기 동작, 개방 동작 및 폐쇄 동작을 통해 변형된 파일에 대한 엔트리를 포함할 수 있다. 따라서, 이 리스트는 저장 매체(108) 내에 존재하거나 저장되었으며 파일을 변형할 수 있는 나열된 동작 또는 다른 동작 중 하나에 의해 어떠한 방식으로 변형된 파일 엔트리를 가질 수 있다. 다른 실시예에서, 파일 메타-데이터 리스트는 저장 매체 내에 저장된 모든 파일에 대한 엔트리를 가질 수 있다.
또한, 관리성 엔진(116)은 많은 실시예에서 저장 드라이버(122)를 포함한다. 저장 드라이버(122)는 가상화 엔진(114)을 통해 저장 매체와 통신하기 위해 사용될 수 있다. 예를 들어, 관리성 엔진이 저장 매체(108) 내의 한 위치로부터 파일을 판독하라고 요청하는 경우, 저장 드라이버(122)는 가상화 엔진(114)으로 요청을 전송할 수 있는데, 이는 가상화 엔진(114) 내부의 저장 제어기 인터페이스 드라이버를 사용하여 저장 제어기(112)를 사용하여 통신함으로써 저장 매체(108)로의 인터페이스를 제공한다.
많은 실시예에서 원격 컴퓨터 플랫폼(124)은 로컬 컴퓨터 플랫폼(100) 외부에 존재한다. 원격 컴퓨터 플랫폼(124)은 상이한 실시예에서 데스크톱, 랩톱, 워크스테이션, 서버 또는 다른 컴퓨터 플랫폼과 같은 임의의 종류의 컴퓨터 플랫폼일 수 있다. 많은 실시예에서, 원격 컴퓨터 플랫폼(124)은 적어도 OOB 통신 채널(CC)(126)을 통해 로컴 컴퓨터 플랫폼에 연결된다. 상이한 실시예에서, OOB 통신 채널은 상호접속부 또는 무선 네트워크를 포함할 수 있다. 이 채널은 로컬 컴퓨터 플랫폼(100)과 원격 컴퓨터 플랫폼(124) 사이에서 정보를 전송하는 보안 인터페이스를 제공한다. 많은 실시예에서, 채널의 OOB 성질로 인해, 로컬 컴퓨터 플랫폼(100)이 기능하지 않거나 전원이 공급되지 않을 때 OOB 통신 채널은 로컬 컴퓨터 플랫폼으로 정보를 전송하고 이로부터 수신할 수 있다. 예를 들어, 원격 컴퓨터 플랫폼(124)은 OOB 통신 채널(126)을 거쳐 로컬 컴퓨터 플랫폼(100)으로 정보를 전송할 수 있는데, 로컬 컴퓨터 플랫폼(100)에 전원이 공급되지 않을 때 이는 로컬 컴퓨터 플랫폼(100) 내의 관리성 엔진(116)에 의해 효율적으로 수신될 것이다.
많은 실시예에서, 원격 컴퓨터 플랫폼(124)은 원격 바이러스 방지 서비스(128)를 포함한다. 일부 실시예에서, 원격 바이러스 방지 서비스는 바이러스 패턴 및 정의를 포함하는 하나 이상의 시그니처 파일을 관리성 엔진에 제공한다. 많은 실시예에서, 로컬 컴퓨터 플랫폼 내의 관리성 엔진 또는 다른 곳 내의 로직은 저장 매체(108) 내에 저장된 하나 이상의 파일의 스캔을 수행하여 바이러스 또는 다른 악성 프로그램이 존재하는지를 판단할 수 있다. 일반적으로, 스캔을 수행하는 로직은 바이러스의 존재를 판단하기 위해 파일 내의 패턴을 비교하는 시그니처 파일로부터 바이러스 정의를 필요로 한다. 따라서, 일부 실시예에서, 원격 바이러스 방지 서비스는 요청에 따라서 또는 주어진 시각에 자동적으로 시그니처 파일의 바이러스 패턴을 관리성 엔진으로 업로드한다. 다른 실시예에서, 관리성 엔진은 원격 바이러스 방지 서비스로부터 시그니처 파일을 직접적으로 풀링하는데(pull), 가령 가장 최근의 패턴에 대한 원격 서비스로부터 업데이트를 요청하는 등이다. 많은 실시예에서, 관리성 엔진은 펌웨어를 포함하고 바이러스 시그니처 파일을 위한 펌웨어 저장 공간을 갖는다. 많은 다른 실시예에서, 관리성 엔진은 시그니처 파일을 저장하기에 충분한 공간을 포함하지 않으므로 로컬 컴퓨터 플랫폼(100)의 범용 메모리 서브시스템이 시그니처 파일을 위한 저장부를 제공하도록 사용될 수 있다. 대용량 저장부 및 시그니처 파일의 메모리 서브시스템 저장부는 도 3을 참조하여 상세히 후술할 것이다.
일부 실시예에서, 분리된 파티션이 생성되어 시그니처 파일을 저장하기 위한 관리성 엔진에 의해 사용된다. 다른 실시예에서, 관리성 엔진은 시그니처 파일의 위치에 대한 운영 시스템과 공유되는 파티션을 스캔할 수 있다.
도 1로 돌아가면, 많은 실시예에서, 바이러스 스캔은 관리성 엔진(116) 내에서 또는 국부적으로 발생할 수 있는데, 이는 OOB 바이러스 스캔 시나리오를 생성한다. 예를 들어, 원격 바이러스 방지 서비스(128)는 관리성 엔진(116) 펌웨어 저장 공간에 시그니처 파일을 업로드할 수 있다. 그 다음에 관리성 엔진(116)은, 저장부 드라이버(122)를 사용하여 가상화 엔진(114) 및 파일 시스템 드라이버(118)를 통해 저장 매체(108)에 액세스하여 관리성 엔진(116)에 대해 국부적으로 파일 시스템을 탑재하여, 관리성 엔진 바이러스 스캔 로직이 호스트 OS(102)로부터 어떠한 상호작용도 없이 저장 매체(108)에 저장된 하나 이상의 파일에 대한 바이러스 스캔을 수행하게 한다. 관리성 엔진(116)으로부터 저장 매체(108)로의 이 직접적인 액세스를 허용함으로써, 바이러스 스캔은 OOB 방식으로 완료될 수 있다. 다시 말해, 관리성 엔진(116)은 호스트 OS(102)에 대한 정보 없이 및/또는 호스트 OS(102)가 바이러스에 의해 손상되어서 더 이상 보안적으로 동작하지 않거나 전혀 동작하지 않을 때 바이러스 스캔을 수행할 수 있다.
이와 달리, 다른 실시예에서, 바이러스 스캔은 관리성 엔진(116) 내에 또는 국부적으로 발생하지만, 스캔되는 파일은 호스트 OS(102)의 필터 드라이버(130)에 의해 관리성 엔진(116)으로 최초로 전송되는 파일-메타 데이터 저장부(120)에 기초하여 결정된다. 예를 들어, 필터 드라이버(130)는 호스트 OS(102) 내에 존재할 수 있으며 파일 변형 보고 메커니즘으로서 기능한다. 구체적으로, 파일이 생성되고 파기되며 개방되고 폐쇄되는 등일 때, 필터 드라이버(130)는 관리성 엔진(116)에 파일 변형 동작을 보고한다. 관리성 엔진(116)에 이 메타-데이터가 전송되는데, 이는 저장 매체(108) 내에 저장되는 파일에 대한 파일 변형 기록이다. 관리성 엔진(116)은 파일 메타-데이터 저장부(120)의 메타-데이터를 저장할 수 있다. 그 후, 관리성 엔진(116)이 저장 매체(108) 내의 파일에 대한 바이러스 스캔을 실행하기로 일단 결정하면, 이전 스캔 이후로 변형된 파일에 관련되는 정보가 파일 메타-데이터 저장부(120) 내에 저장될 수 있다. 따라서, 바이러스에 감염되었을 가능성이 있는 파일들만을 대상으로 함으로써 관리성 엔진(116) 바이러스 스캔이 보다 효율적일 수 있다.
필터 드라이버(130)를 사용하는 실시예에서, 필터 드라이버(130)가 손상되지 않았음을 확인하기 위해 보안 프로토콜이 사용될 수 있다. 예를 들어, 관리성 엔진(116)은 화이트리스트(즉, 관리성 엔진(116)이 수용 가능한 것으로 간주되어 이 파일 변형 모니터링 서비스를 수행하는 프로그램의 리스트)를 포함할 수 있다. 관리성 엔진(116)은 메모리 무결성 메니페스트 또는 기타 표준 소프트웨어 보안 검증 프로세스를 통해 필터 드라이버(130)의 진정성을 체크할 수 있다. 필터 드라이버(130)가 검증을 실패하면, 필터 드라이버(130)는 관리성 엔진(116)에 메타-데이터를 전송하도록 허가되지 않고, 로컬 컴퓨터 플랫폼 상에서 실행되는 바이러스 방지 소프트웨어 에이전트 또는 브라우저 애플리케이션(104) 및/또는 원격 바이러스 방지 서비스(128)로 문제가 통보될 수 있다. 필터 드라이버(128)가 검증되면, 관리성 엔진(116) 바이러스 방지 스캐닝 프로세스가 계속될 수 있다.
도 2는 여러 실시예에 따른 대역외 원격 바이러스 방지 스캐닝을 관리하는 시스템을 도시하고 있다. 도 2에 도시된 구성요소 중 많은 것들이 도 1에 도시된 것과 유사하거나 동일하다. 많은 실시예에서, 로컬 컴퓨터 플랫폼(200)은 호스트 환경(202)을 갖는다. 호스트 환경(202)은 바이러스 방지 소프트웨어 에이전트 및/ 또는 브라우저 애플리케이션(204), 필터 드라이버(206), 파일 시스템(208) 및 운영 시스템(210)을 포함한다.
많은 실시예에서, 호스트 환경은 호스트 매립형 제어기 인터페이스(HECI)(214)를 통해 관리성 엔진(212)과 통신한다. HECI(214)는 운영 시스템(210) 및 호스트 환경(202) 내의 다른 구성요소가 관리성 엔진(212)과 직접적으로 통신할 수 있게 한다. 시스템 관리 정보 및 이벤트가 HECI 인터페이스를 거쳐 통신된다. 또한, HECI는 관리 엔진 인터페이스(MEI)로서 지칭된다. 도시되지 않은 다른 실시예에서, 호스트 환경(202)은 HECI(214)와는 상이한 다른 인터페이스를 통해 관리성 엔진(212)과 통신한다.
보안 서비스(216)는 관리성 엔진 내에서 실행되어 핵심 OS 구성요소 및 플랫폼 무결성을 유지하는 필터 드라이버(206)를 검증하고 측정한다. 최종적으로, 원격 바이러스 방지 서비스(218)는 다른 기능들 중에서 원격 컴퓨터 플랫폼(220)상에서 실행되는 원격 바이러스 스캐닝 기능을 제공한다.
도 2에 도시된 원격 바이러스 방지 스캐닝 프로세스는, 로컬 컴퓨터 플랫폼(200)상의 호스트 환경(202)의 사용자가 웹 브라우저(204) 또는 원격 바이러스 방지 서비스(218)와 통신하는 다른 소프트웨어 애플리케이션을 여는 것과 함께 시작될 수 있다. 사용자는 스캔될 파일을 선택하거나 다수의 옵션 중 하나로부터 선택하여 소정 디렉토리의 소정 파일 유형의 자동적 스캔을 수행하거나 스케줄링할 수 있다.
원격 바이러스 방지 서비스(218)는 이 요청을 수신하여 파일을 스캔하고(통 신 A) 이 요청을 요청 머신(즉, 로컬 컴퓨터 플랫폼(200))상의 관리성 엔진(212)으로 전송한다(통신 B). 관리성 엔진(212)은 이 요청을 필터 드라이버(206)로 전송한다(통신 C). 많은 실시예에서, 필터 드라이버(206)는 관리성 엔진(212)에서 실행되는 보안 서비스(216)에 의해 보호된다(그물 무늬는 보안 서비스(216)에 의해 보호되는 호스트 환경 내의 구성요소를 나타낸다). 보안 서비스(216)는 필터 드라이버(206)를 측정하여 필터 드라이버(206)가 악성 프로그램 또는 바이러스에 의해 실행시간 동안에 변형되었는지를 검증할 수 있다.
또한, 보안 서비스(215)는 호스트 환경의 OS(210) 내에 존재하는 임의의 핵심 운영 시스템 구성요소를 측정하여 이들 핵심 서비스가 임의의 악성 코드에 의해 변형되지 않는 것을 보장할 수 있다(통신 D). 일단 모든 주요 호스트 환경 구성요소가 보안 서비스(216)에 의해 보안되는 것으로 검증되면, 필터 드라이버는 저장 매체로부터의 요청 내의 파일을 판독한다(저장 매체는 도 2에 도시되어 있지 않지만 도 1에 아이템(108)으로서 되시되어 있다). 그 후, 저장 매체로부터 판독된 정보는 HECI(214)를 통해 필터 드라이버(206)로부터 관리성 엔진(212)으로 전송된다(통신 E). 그 후, 관리성 엔진(212)은 원격 바이러스 방지 서비스에 파일을 전송한다(통신 F). 일단 파일에 관련된 정보가 원격 바이러스 방지 서비스에 의해 수신되면, 원격 바이러스 방지 서비스는 파일상에 바이러스 스캔을 실행하고 스캔된 각 파일이 깨끗한지 또는 감염되지 않았는지에 관한 결과를 연산한다. 그 후, 스캔 결과는 브라우저(204)로 전송되는데(통신 G), 이는 이 결과를 최초 요청을 개시한 사용자에게 보고할 수 있다.
도 3은 일부 실시예에 따라 컴퓨터 플랫폼 상에서 하드웨어-기반의 에이전트 바이러스 스캔을 수행하는 프로세스의 순서도이다. 프로세스는 하드웨어(예로서, 범용 컴퓨터 시스템 내의 구성요소), 소프트웨어(예로서, 메모리 내에 저장된 명령어), 또는 하드웨어와 소프트웨어의 조합일 수 있는 프로세싱 로직에 의해 수행될 수 있다. 도 3을 참조하면, 프로세스는 메모리 무결성 목록(memory integrity manifest)을 이용하여 필터 드라이버를 화이트리스팅(whitelisting)하는 관리성 엔진(ME) 내의 프로세싱 로직에 의해 시작된다(프로세싱 블록(300)). ME는 필터 드라이버의 실행가능 코드의 적어도 세그먼트에 대해 메모리를 측정할 수 있다. 현재 구동 중인 필터 드라이버는 알려진 무결성 검사 값에 대해 측정될 수 있다. 만약 값들이 매칭되면, 필터 드라이버의 무결성이 증명되고 ME는 필터 드라이버를 화이트리스팅할 수 있으며, 이와 달리 값들이 매칭되지 않으면 프로세스가 종료되고 필터 드라이버에 문제가 있음이 원격 서비스/서버에게 통지될 수 있다. 이것은 원격 서비스/서버에게 시스템의 잠재적인 훼손(compromised) 상태를 나타낼 수 있다.
필터 드라이버의 무결성이 증명되면, 필터 드라이버 내의 프로세싱 로직은 파일 생성, 파기, 판독, 입력, 개방, 차단 등의 기능 중의 파일 시스템 메타-데이터를 ME에게 전달할 것이다(프로세싱 블록(302)). 파일에 변화를 발생시킬 수 있는 임의의 기능이 관련된 파일 메타-데이터를 보고하기 위한 기능으로서 목표화될 수 있다.
다음으로, ME는 메타-데이터 리스트를 보안 저장 위치 내에 저장한다(프로세싱 블록(104)). 일부 실시예에서, ME와 관련된 펌웨어 내에 파일 메타-데이터에 대 한 보안 저장 위치가 존재할 수 있다. 다른 실시예에서는, 보안 저장 위치가 ME에 의해 액세스가능한 다른 보안 마이크로컨트롤러 또는 저장 디바이스일 수 있다.
프로세스는 원격 서버 또는 서비스로부터 바이러스-방지(AV; anti-virus) 스캔 요청을 수신하는 ME 내의 프로세싱 로직에 의해 계속된다(프로세싱 블록(306)). 스캔 요청은 스캔할 바이러스 패턴을 포함하는 시그니처 파일을 포함할 수도 있다.
다수의 실시예에서, 스캔은 하드 드라이브 내에 저장된 파일들에 대해서 수행된다. 다른 실시예에서, 스캔은 다른 형태의 저장 매체 내에 저장된 파일들에 대해 수행된다. 하드 드라이브 실시예에서, ME 내의 프로세싱 로직은 가상 엔진에게 하드 드라이브로부터 저장된 메타-데이터로 맵핑되는 디스크 블록을 검색할 것을 요청한다(프로세싱 블록(308)).
그 다음 ME 내의 프로세싱 로직은 검색된 디스크 블록으로부터 파일을 재구성하여, 재구성된 파일에 대해 AV 스캔을 수행한다(프로세싱 블록(310)). 그 다음 ME 내의 프로세싱 로직은 스캔된 파일 내의 패턴이 시그니처 파일 내의 바이러스 패턴과 매칭되는지 여부를 결정한다(프로세싱 블록(312)). 만약 매칭이 발견되면, ME 내의 프로세싱 로직은 원격 AV 서버 또는 서비스에게 경고를 전송한다(프로세싱 블록(314)). 경고가 전송되면, 일부 실시예에서, ME 내의 프로세싱 로직은 다른 스캔 요청을 대기한다(프로세싱 블록(316)). 다른 실시예에서, 매칭이 발견되면, ME는 검출된 바이러스가 처리될 때까지 추가의 스캔을 수행하지 않는다. 그렇지 않으면, 즉 블록(312)에서 매칭이 발견되지 않았다면, ME 내의 프로세싱 로직은 다른 스캔 요청을 대기한다(프로세싱 블록(316)). 프로세스는 프로세싱 블록(306)으로 복귀한다.
도 3에 도시된 다수의 실시예에서, 프로세싱 블록(302, 304)은 파일이 수정될 때마다 메타-데이터 리스트를 계속 업데이트한다. 따라서, 프로세스가 블록(316)으로부터 프로세싱 블록(306)으로 복귀할 때, 메타-데이터 리스트는 이전의 프로세싱 로직이 블록(306)을 실행한 이래로 업데이트될 수 있다.
도 4는 일부 실시예에 따라 컴퓨터 플랫폼 상에서 에이전트가 없는 하드웨어 기반의 바이러스 스캔을 수행하는 프로세스의 순서도이다. 프로세스는 하드웨어(예로서, 범용 컴퓨터 시스템 내의 구성요소), 소프트웨어(예로서, 메모리 내에 저장된 명령어), 또는 하드웨어와 소프트웨어의 조합일 수 있는 프로세싱 로직에 의해 수행될 수 있다. 이 프로세스에서 언급되는 구성요소는 도 1 및 2에 도시된 구성요소와 관련된다. 도 4를 참조하면, 프로세스는 가상 엔진과 통신하는 파일 시스템 드라이버 및 저장 드라이버를 이용하는 판독 전용 파티션으로서 하드 디스크를 설치하는 관리성 엔진(ME) 내의 프로세싱 로직에 의해 시작된다(프로세싱 로직(400)). 도 1을 참조로 하여 기술된 바와 같이, VE는 (도 4에서는 하드 디스크 드라이브를 포함하는) 저장 매체에 액세스된다.
다음으로, ME 내의 프로세싱 로직은 파일 시스템 드라이브를 사용하여 하드 디스크로부터 하나 이상의 파일을 판독한다(프로세싱 블록(402)). 다음으로, ME 내의 프로세싱 로직은 원격 서버 또는 서비스로부터 AV 스캔 요청을 수신한다(프로세싱 로직(404)). 스캔 요청은 스캔될 바이러스 패턴을 포함하는 시그니처 파일을 포함할 수도 있다.
ME 내의 프로세싱 로직은 파일 시스템 드라이버를 사용하여 판독 전용 파티션으로부터 스캔될 파일을 판독하고, 상기 파일에 대해 AV 스캔을 수행한다(프로세싱 블록(406)). 그 다음 ME 내의 프로세싱 로직은 바이러스 패턴이 스캐닝된 파일 내에서 발견되었는지를 결정한다(프로세싱 블록(408)). 만약 매칭이 발견되면, ME 내의 프로세싱 로직은 원격 AV 서버 또는 서비스로 경고를 전송한다(프로세싱 블록(410)). 경고가 전송되면, 일부 실시예에서, ME 내의 프로세싱 로직은 다른 스캔 요청을 대기한다(프로세싱 블록(412)). 다른 실시예에서, 매칭이 발견되면, ME는 검출된 바이러스가 처리될 때까지 추가의 스캔을 수행하지 않는다. 그렇지 않으면, 즉 매칭이 발견되지 않았다면, 블록(408)으로 복귀하여 ME 내의 프로세싱 로직이 다른 스캔 요청을 대기한다(프로세싱 블록(412)). 프로세스는 프로세싱 블록(404)으로 복귀한다.
도 5를 참조로 하여, 몇몇 실시예에 따라 시스템 메모리 내의 보안 바이러스 패턴 저장부를 제공하는 플랫폼을 기술한다. 로컬 컴퓨터 플랫폼(500)은 도 1 및 2의 로컬 컴퓨터 플랫폼 상에 있는 것과 동일한 또는 유사한 구성요소를 구비할 수 있다. 다수의 실시예에서, 로컬 컴퓨터 플랫폼(500)은 다수의 구성요소에 대해 사용자 및 시스템 레벨 제어를 제공하는 운영 시스템(502)을 포함한다. 전술된 바와 같이, 운영 시스템은 Microsoft® Windows® 기반의 운영 시스템, Linux 기반의 운영 시스템, UNIX 기반의 운영 시스템, 또는 이용가능한 다수의 다른 운영 시스템들 중 하나일 수 있다.
운영 시스템(502)에게는 시스템 메모리(504)로의 액세스가 허가된다. 시스템 메모리는 DRAM, 플래쉬 메모리, 또는 메모리로의 액세스를 갖는 하나 이상의 프로세서 및 임의의 다른 구성요소에 대한 명령어 및 데이터를 저장하도록 사용될 수 있는 임의의 다른 형태의 메모리로 이루어질 수 있다. 플랫폼은 또한 바이러스 검출 소프트웨어(506)를 포함한다. 다른 실시예에서, 바이러스 검출 소프트웨어는 운영 시스템(502)의 탑(top)에서 구동되는 소프트웨어 애플리케이션, 운영 시스템의 백그라운드에서 구동되는 소프트웨어 에이전트 또는 서비스, 웹 브라우저 애플리케이션, 또는 로컬 컴퓨터 플랫폼(500) 상에서 구동되는 다른 형태의 소프트웨어일 수 있다.
또한, 로컬 컴퓨터 플랫폼(500)은 관리성 엔진(508)을 포함한다. 도 1 및 2와 관련하여 전술된 바와 같이, 관리성 엔진(508)은 다수의 플랫폼 관리 태스크를 수행하고, 원격 컴퓨터 플랫폼(510)과 통신하도록 OOB 방식으로 동작할 수 있다. 원격 컴퓨터 플랫폼(510)은 시그니처 파일 업데이트와 다른 바이러스 평가 원조(help)를 제공하기 위해 원격 바이러스 방지 서비스(512)를 포함한다. 또한, 관리성 엔진은 원격 관리를 위해 로컬 컴퓨터 플랫폼(500)으로의 원격 액세스를 제공할 수 있다. 관리성 엔진(508)은 명령(command) 인터페이스(514)를 포함하며, 이것은 관리성 엔진이 플랫폼 상에서 실행되는 소프트웨어 에이전트로부터의 명령을 원격으로 수신하도록 한다. 또한, 관리성 엔진(508)에게 플랫폼 내의 시스템 메모리(504)로의 직접 액세스를 제공하도록 관리성 엔진(508)이 직접 메모리 액세스(DMA) 인터페이스(516)를 포함할 수 있다. DMA 인터페이스는 운영 시스템(502)에 게 액세스를 허가할 것을 요구하지 않고 관리성 엔진(508)에 의한 메모리(504)의 사용을 허용한다.
다수의 실시예에서, 바이러스 검출 소프트웨어(506)는 한 이상의 바이러스 패턴을 포함하는 하나 이상의 파일 또는 데이터 블록을 획득한다. 바이러스 패턴(들) 파일(들)은 바이러스 시그니처 파일(들)로 지칭될 수 있다. 설명을 쉽게 하도록, 바이러스 패턴은 단일 시그니처 파일로 지칭될 것이다. 바이러스 검출 소프트웨어(506)는 원격 컴퓨터 플랫폼(510) 내의 바이러스 방지 서비스(512)로부터 시그니처 파일을 수신할 수 있다. 다수의 실시예에서, 관리성 엔진(508)은 시그니처 파일 내의 패턴을 플랫폼에 저장된 다른 파일들 내의 패턴들에 비교하는 데에 시그니처 파일을 이용한다. 만약 특정 파일에 대한 패턴 매칭이 존재하면, 관리성 엔진(508)은 그 파일이 바이러스를 가지고 있는 것으로 결정할 것이다. 다수의 바이러스들이 존재하며 알려진 모든 패턴들이 파일 내에 저장될 것이기 때문에 시그니처 파일은 큰 용량의 파일일 수 있다. 도 1 및 2에서 기술된 다수의 실시예에서, 관리성 엔진(508)은 로컬 관리성 엔진(508) 펌웨어 저장부 내에 시그니처 파일을 저장할 것이다.
로컬 펌웨어 저장부는 저장 시그니처 파일을 저장하기에 충분한 크기가 아닐 수 있다. 따라서, 시그니처 파일은 시스템 메모리(504) 내에 저장될 수 있다. 시그니처 파일이 시스템 메모리(504) 내에 저장될 때, 보안 메커니즘은 시그니처 파일을 보호하여 이것이 악성 프로그램 및 운영 시스템(502) 내에서 실행되는 바이러스에 의해 방해받지 않도록 할 것이 요구된다.
다수의 실시예에서, 시그니처 파일은 저장 매체(520)와 같은 하드 디스크 드라이브 또는 다른 대용량 저장 디바이스 상에 저장될 수 있다. 이러한 실시예에서, 관리성 엔진(508)이 바이러스 스캔을 시작할 때, 이것은 저장 매체(520)로부터 메모리(504)로 시그니처 파일을 로딩할 수 있다.
다수의 실시예에서, 원격 컴퓨터 플랫폼(510)은 벤더 프라이빗 키(vendor private key)(518)를 이용하여 시그니처 파일에 서명하고, 시그니처 파일을 로컬 컴퓨터 플랫폼(500)에 입력시킨다. 따라서, 서명된 시그니처 파일은 서명된 시그니처 파일(522a)로서 저장 매체(520) 내에 저장될 수 있거나 또는 서명된 시그니처 파일(522b)로서 메모리(504) 내에 저장될 수 있다. 벤더 프라이빗 키는 바이러스 소프트웨어 벤터에 할당된 키이다. 서명은 공용 키를 이용하여 유효화될 수 있는 고유한 패턴을 제공하는 파일 상의 프라이빗 키를 갖는 해쉬(hash)를 이용하는 원격 컴퓨터 플랫폼(510)을 포함할 수 있다.
서명된 시그니처 파일(522)은 저장 매체(520)(파일(522a))로 또는 메모리(504)(파일(522b))로 전송될 수 있다(통신 A). 만약 시그니처 파일이 처음에 저장 매체(520)로 전송되면, 파일이 관리성 엔진(508)에 의한 바이러스 스캔에 대해 사용될 때 파일은 후속하여 저장 매체(520)로부터 메모리(504)로 전송된다. 바이러스 검출 소프트웨어(506)는 관리성 엔진(508)에게 서명된 시그니처 파일(522b)이 메모리(504)로 로딩되었음을 통지한다. 다수의 실시예에서, 바이러스 검출 소프트웨어(506)는 또한 시그니처 파일(522b)이 로딩된 메모리 내의 특정 위치를 제공할 수도 있다.
그 다음 관리성 엔진(508)은 시그니처 파일(522b)에 대해 메모리(504)를 검사하고(통신 C) 관리성 엔진(508) 내에 저장된 신뢰성 있는 공용 키(524)를 사용함으로써 파일의 권한을 확인한다. 다수의 실시예에서, 신뢰성 있는 공용 키(524)는 IP 관리자와 같은 신뢰성 있는 사람에 의해 관리성 엔진(508) 내에 저장될 수 있다. 만약 시그니처 파일(522b)이 유효하다면, 관리성 엔진(508)은 하나 이상의 파일들 상의 바이러스 스캔을 수행하기 위해 파일 내에 저장된 패턴을 사용할 수 있다. 스캔될 파일들은 저장 매체(520), 메모리(504)(예로서, 통신 D), 또는 플랫폼 내의 다른 어느 정도에든 저장될 수 있다. 다수의 실시에에서, 관리성 엔진(508)은 플랫폼 내의 어딘가에 저장된 이러한 패턴들을 위치시키도록 시그니처 파일로부터 (악성 패턴으로 알려진) 블랙리스트를 검색할 수 있다.
다수의 실시예에서, 만약 관리성 엔진(508)이 바이러스 또는 다른 악성 코드의 조각이 존재하는 것을 발견하였다면 관리성 엔진(508)은 바이러스/악성 코드의 존재를 OOB 채널을 통해 사용자 또는 원격 에이전트에게 경고할 수 있다.
도 6은 몇몇 실시예에 따른 시스템 메모리 내의 보안 바이러스 패턴 저장을 제공하기 위한 프로세스의 순서도이다. 이 프로세스는 하드웨어(예로서, 범용 컴퓨터 시스템 내의 구성요소), 소프트웨어(예로서, 메모리 내에 저장된 명령어), 또는 하드웨어와 소프트웨어의 조합일 수 있는 프로세싱 로직에 의해 수행될 수 있다. 프로세스 내에 기술된 구성요소는 도 5에 도시된 구성요소와 관련된다. 도 6을 참조하면, 프로세스는 소프트웨어 벤더 프라이빗 키에 의해 서명된 메모리로 바이러스 패턴을 로딩하는 바이러스 검출 소프트웨어 내의 프로세싱 로직에 의해 시작된 다.
바이러스 패턴(즉, 시그니처 파일)이 메모리로 로딩되면, 바이러스 검출 소프트웨어 내의 프로세싱 로직은 ME에게 바이러스 패턴이 메모리로 로딩되었음을 통지한다(프로세싱 블록(602)). 다수의 실시예에서, 이러한 통지는 또한 ME에게 패턴이 위치하고 있는 메모리 내의 위치를 제공한다. 그 다음 ME 내의 프로세싱 로직은 원격 서버 또는 서비스로부터 AV 스캔 요청을 수신한다(프로세싱 블록(604)).
요청을 수신한 후에, ME 내의 프로세싱 로직은 ME 내에 저장된 공용 키를 이용하여 유효 시그니처(예로서, 패턴의 무결성을 확인)에 대한 메모리 내의 시그니처 파일을 검사한다(프로세싱 블록(606)). 그 다음 프로세싱 로직은 시그니처 파일이 검사에 기초하여 유효한지를 결정한다(프로세싱 블록(608)).
만약 시그니처 파일이 유효하지 않으면, ME 내의 프로세싱 로직은 원격 AV 서버 또는 서비스로 경고를 전송한다(프로세싱 블록(610)).
그렇지 않고 만약 시그니처 파일이 유효하면, ME 내의 프로세싱 로직은 바이러스 스캔을 수행하기 위해 시그니처 파일을 이용할 수 있다(프로세싱 블록(612)). 스캔 후에, 프로세싱 로직은 블록(604)으로 복귀할 수 있다.
따라서, 보안 플랫폼 기반의 하드웨어 바이러스 방지 스캐닝 서비스를 제공하기 위한 디바이스, 시스템 및 방법의 실시예가 개시되었다. 이러한 실시예는 본 발명의 특정한 예시적인 실시예를 참조로 하여 기술되었다. 그러나 본 명세서에 기술된 실시예들의 보다 넓은 사상 및 범주로부터 벗어나지 않는 한 이러한 실시예들에게 다양한 변경 및 수정이 이루어질 수 있음이 당업자에게는 명백할 것이다. 따 라서, 명세서와 도면은 한정적이 아닌 예시적인 것으로 간주되어야 한다.
도 1은 여러 실시예에 따른 대역외(out-of-band) 로컬 바이러스 방지 스캐닝을 관리하는 시스템을 도시한 도면.
도 2는 여러 실시예에 따른 대역외 원격 바이러스 방지 스캐닝을 관리하는 시스템을 도시한 도면.
도 3은 일부 실시예에 따라 컴퓨터 플랫폼 상에서 하드웨어 기반의 에이전트 바이러스 스캔을 수행하는 프로세스의 흐름도.
도 4는 일부 실시예에 따른 컴퓨터 플랫폼 상에서 하드웨어 기반의 에이전트 없는 바이러스 스캔을 수행하는 프로세스의 흐름도.
도 5는 여러 실시예에 따른 시스템 메모리의 보안 바이러스 플랫폼 저장부를 제공하는 플랫폼을 도시한 도면.
도 6은 여러 실시예에 따른 시스템 메모리의 보안 바이러스 패턴 저장부를 제공하는 프로세스의 흐름도.

Claims (25)

  1. 복수의 파일을 저장하는 저장 매체와,
    컴퓨터 시스템 내의 중앙 프로세서와 병렬로 독립적으로 동작하며 상기 중앙 프로세서에 의해 실행되는 운영 시스템에 대해 투명하게(transparently) 동작하는 상기 컴퓨터 시스템 내의 관리성 엔진(a manageability engine)을 포함하되,
    상기 관리성 엔진은,
    바이러스 시그니처 파일에 액세스하고,
    상기 저장 매체에 저장된 상기 복수의 파일 중 하나 이상의 파일과 비교할 상기 시그니처 파일 내의 하나 이상의 패턴을 사용하여 바이러스 방지 스캔(an anti-virus scan)을 수행하고,
    상기 스캔의 결과를 상기 관리성 엔진 외부의 에이전트에 보고하는
    디바이스.
  2. 제 1 항에 있어서,
    상기 관리성 엔진은 상기 복수의 파일 중 하나 이상의 파일에 대한 메타-데이터를 저장하는 펌웨어를 더 포함하되,
    상기 메타-데이터는 상기 하나 이상의 파일을 상기 저장 매체 내의 하나 이상의 위치로 맵핑하는
    디바이스.
  3. 제 2 항에 있어서,
    상기 관리성 엔진은,
    상기 메타-데이터로부터 맵핑된 상기 위치를 이용하여 상기 저장 매체로부터 상기 복수의 파일 중 하나 이상의 파일과 관련된 블록 정보를 요청하고,
    상기 바이러스 방지 스캔을 위해서 보안 위치 내에 상기 블록 정보로부터 상기 파일을 재구성하도록 더 동작가능한
    디바이스.
  4. 제 3 항에 있어서,
    상기 복수의 파일 중 하나의 파일이 수정되는 시점을 결정하고, 상기 수정된 파일에 대응하는 상기 메타-데이터를 상기 관리성 엔진 펌웨어로 전송하는 필터 드라이버를 더 포함하는
    디바이스.
  5. 제 2 항에 있어서,
    상기 펌웨어는 파일 시스템을 상기 저장 매체로부터 파티션으로 설치(mount)하는 파일 시스템 드라이버와, 상기 저장 매체와 통신하는 저장 매체 드라이버를 저장하도록 동작할 수 있는
    디바이스.
  6. 제 5 항에 있어서,
    상기 저장 매체로의 액세스를 제어하는 컨트롤러를 더 포함하되,
    상기 관리성 엔진은 상기 저장 매체 드라이버를 사용하여 상기 컨트롤러와 통신하는
    디바이스.
  7. 제 6 항에 있어서,
    상기 관리성 엔진은,
    상기 하나 이상의 파일 중 적어도 하나에 대해 바이러스 스캔을 수행하라는 상기 에이전트로부터의 요청을 수신하고,
    상기 설치된 파티션을 사용하여 상기 하나 이상의 파일 중 적어도 하나에 대해 상기 바이러스 스캔을 수행하도록 더 동작가능한
    디바이스.
  8. 제 2 항에 있어서,
    상기 펌웨어는 상기 시그니처 파일을 저장하도록 더 동작가능한
    디바이스.
  9. 제 1 항에 있어서,
    바이러스 검출 에이전트를 더 포함하되,
    상기 바이러스 검출 에이전트는,
    상기 에이전트에 할당된 프라이빗 보안 키(private security key)를 이용하여 상기 시그니처 파일을 안전하게 서명하고,
    상기 서명된 시그니처 파일을 상기 디바이스 내의 메모리의 일부에 저장하는
    디바이스.
  10. 제 9 항에 있어서,
    상기 관리성 엔진은,
    공용 보안 키(public security key)를 국부적으로 상기 관리성 엔진 내부에 저장하고,
    상기 메모리 내의 상기 서명된 시그니처 파일의 위치를 결정하고,
    상기 저장된 공용 키를 사용하여 상기 시그니처 파일의 유효성을 결정하도록 더 동작할 수 있는
    디바이스.
  11. 대역외(out-of-band) 채널과,
    상기 대역외 채널에 연결되어 바이러스 시그니처 파일을 상기 채널을 통해 로컬 컴퓨터 플랫폼으로 전송하는 원격 컴퓨터 플랫폼과,
    상기 대역외 채널에 연결된 상기 로컬 컴퓨터 플랫폼을 포함하되,
    상기 로컬 컴퓨터 플랫폼은,
    중앙 프로세서와,
    복수의 파일을 저장하는 저장 매체 -상기 복수의 파일은 적어도 운영 시스템을 포함하며, 상기 운영 시스템은 상기 중앙 프로세서에 의해 실행됨- 와,
    중앙 프로세서와 병렬로 독립적으로 동작하며 상기 운영 시스템에 대해 투명하게(transparently) 동작하는 관리성 엔진을 포함하고,
    상기 관리성 엔진은,
    상기 원격 컴퓨터 플랫폼으로부터 상기 바이러스 시그니처 파일을 수신하고,
    상기 저장 매체에 저장된 상기 복수의 파일 중 하나 이상의 파일과 비교할 상기 시그니처 파일 내의 하나 이상의 패턴을 사용하여 바이러스 방지 스캔을 수행하는
    시스템.
  12. 제 11 항에 있어서,
    상기 시스템은 칩셋을 더 포함하되,
    상기 관리성 엔진은 상기 칩셋에 집적되고, 상기 복수의 파일 중 하나 이상의 파일에 대한 메타-데이터를 저장하는 펌웨어를 포함하되,
    상기 메타-데이터는 상기 하나 이상의 파일을 상기 저장 매체 내의 하나 이상의 위치로 맵핑하는
    시스템.
  13. 제 12 항에 있어서,
    상기 관리성 엔진은,
    상기 메타-데이터로부터 맵핑된 상기 위치를 이용하여 상기 저장 매체로부터 상기 복수의 파일 중 하나 이상의 파일과 관련된 블록 정보를 요청하고,
    상기 바이러스 방지 스캔을 위해서 보안 위치 내에 상기 블록 정보로부터 상기 파일을 재구성하도록 더 동작가능한
    시스템.
  14. 제 13 항에 있어서,
    상기 로컬 컴퓨터 플랫폼은, 상기 복수의 파일 중 하나의 파일이 수정되는 시점을 결정하고, 상기 수정된 파일에 대응하는 상기 메타-데이터를 상기 관리성 엔진 펌웨어로 전송하는 필터 드라이버를 더 포함하는
    시스템.
  15. 제 12 항에 있어서,
    상기 펌웨어는,
    파일 시스템을 상기 저장 매체로부터 파티션으로 설치하는 파일 시스템 드라이버와, 상기 저장 매체와 통신하는 저장 매체 드라이버를 저장하도록 더 동작할 수 있는
    시스템.
  16. 제 15 항에 있어서,
    상기 저장 매체로의 액세스를 제어하는 컨트롤러를 더 포함하되,
    상기 관리성 엔진은 상기 저장 매체 드라이버를 사용하여 상기 컨트롤러와 통신하는
    시스템.
  17. 제 16 항에 있어서,
    상기 관리성 엔진은,
    상기 하나 이상의 파일 중 적어도 하나에 대해 바이러스 스캔을 수행하라는 에이전트로부터의 요청을 수신하고,
    상기 설치된 파티션을 사용하여 상기 하나 이상의 파일 중 적어도 하나에 대해 상기 바이러스 스캔을 수행하도록 더 동작가능한
    시스템.
  18. 제 12 항에 있어서,
    상기 펌웨어는 상기 시그니처 파일을 저장하도록 더 동작가능한
    시스템.
  19. 제 11 항에 있어서,
    상기 로컬 컴퓨터 플랫폼은 바이러스 검출 에이전트를 더 포함하되,
    상기 바이러스 검출 에이전트는,
    상기 에이전트에 할당된 프라이빗 보안 키를 이용하여 상기 시그니처 파일을 안전하게 서명하고,
    상기 서명된 시그니처 파일을 상기 로컬 컴퓨터 플랫폼 내의 메모리의 일부에 저장하는
    시스템.
  20. 제 19 항에 있어서,
    상기 관리성 엔진은,
    공용 보안 키를 국부적으로 상기 관리성 엔진 내부에 저장하고,
    상기 메모리 내의 상기 서명된 시그니처 파일의 위치를 결정하고,
    상기 저장된 공용 키를 사용하여 상기 시그니처 파일의 유효성을 결정하도록 더 동작할 수 있는
    시스템.
  21. 바이러스 방지 스캐닝 방법으로서,
    로컬 컴퓨터 플랫폼 내의 저장 매체에 저장된 파일에 대해 바이러스 스캔을 수행하라는 요청을 상기 로컬 컴퓨터 플랫폼으로부터 원격 컴퓨터 플랫폼으로 전송하는 단계와,
    상기 파일에 대한 요청을 상기 원격 컴퓨터 플랫폼으로부터 상기 로컬 컴퓨터 플랫폼 내의 관리성 엔진으로 전송하는 단계 -상기 관리성 엔진은 상기 로컬 컴퓨터 플랫폼 내의 중앙 프로세서와 병렬로 독립적으로 동작하며 상기 중앙 프로세서에 의해 실행되는 운영 시스템에 대해 투명하게(transparently) 동작함- 와,
    상기 관리성 엔진이 상기 저장 매체로부터 상기 파일을 검색(retrieving)하는 단계와,
    상기 파일을 상기 관리성 엔진으로부터 상기 원격 컴퓨터 플랫폼으로 전송하는 단계와,
    상기 원격 컴퓨터 플랫폼에 상기 파일이 도달하면 하나 이상의 바이러스에 대해 상기 파일을 스캐닝하는 단계와,
    상기 바이러스 스캔의 결과를 상기 원격 컴퓨터 플랫폼으로부터 상기 로컬 컴퓨터 플랫폼으로 전송하는 단계를 포함하는
    바이러스 방지 스캐닝 방법.
  22. 제 21 항에 있어서,
    상기 로컬 컴퓨터 플랫폼 내에 위치한 필터 드라이버를 통해 상기 로컬 컴퓨터 플랫폼 내의 상기 저장 매체로의 액세스를 획득하는(gain) 단계를 더 포함하는
    바이러스 방지 스캐닝 방법.
  23. 제 22 항에 있어서,
    상기 필터 드라이버가 안전한지를 결정하도록 상기 관리성 엔진 내에서 실행되는 서비스를 사용하여 상기 필터 드라이버를 측정(measuring)하는 단계를 더 포함하는
    바이러스 방지 스캐닝 방법.
  24. 제 21 항에 있어서,
    상기 관리성 엔진 내에서 실행되는 서비스를 이용해 상기 로컬 컴퓨터 플랫폼 내의 하나 이상의 중요한 런타임 구성요소를 측정하여, 상기 하나 이상의 중요한 런타임 구성요소가 안전한지를 결정하는 단계를 더 포함하는
    바이러스 방지 스캐닝 방법.
  25. 제 24 항에 있어서,
    상기 하나 이상의 중요한 런타임 구성요소 중 적어도 하나가 안전하지 않은 것으로 결정되었을 때 상기 저장 매체로부터 상기 파일을 검색하는 것을 중단하는 단계와,
    상기 원격 컴퓨터 플랫폼으로 보안 위반(breach) 통지를 전송하는 단계를 포함하는
    바이러스 방지 스캐닝 방법.
KR1020090093537A 2008-09-30 2009-09-30 바이러스 방지 스캔 서비스를 제공하는 디바이스, 시스템 및 방법 KR101079910B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/286,634 US20100083381A1 (en) 2008-09-30 2008-09-30 Hardware-based anti-virus scan service
US12/286,634 2008-09-30

Publications (2)

Publication Number Publication Date
KR20100037016A KR20100037016A (ko) 2010-04-08
KR101079910B1 true KR101079910B1 (ko) 2011-11-04

Family

ID=41503717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090093537A KR101079910B1 (ko) 2008-09-30 2009-09-30 바이러스 방지 스캔 서비스를 제공하는 디바이스, 시스템 및 방법

Country Status (5)

Country Link
US (1) US20100083381A1 (ko)
EP (1) EP2169584A3 (ko)
JP (2) JP5021706B2 (ko)
KR (1) KR101079910B1 (ko)
CN (2) CN101714197B (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177145B2 (en) * 2009-03-24 2015-11-03 Sophos Limited Modified file tracking on virtual machines
US8635705B2 (en) * 2009-09-25 2014-01-21 Intel Corporation Computer system and method with anti-malware
US8640241B2 (en) * 2009-11-16 2014-01-28 Quatum Corporation Data identification system
US8555393B2 (en) * 2009-12-03 2013-10-08 Verizon Patent And Licensing Inc. Automated testing for security vulnerabilities of devices
US8578161B2 (en) * 2010-04-01 2013-11-05 Intel Corporation Protocol for authenticating functionality in a peripheral device
US20110283358A1 (en) * 2010-05-17 2011-11-17 Mcafee, Inc. Method and system to detect malware that removes anti-virus file system filter driver from a device stack
US8856534B2 (en) * 2010-05-21 2014-10-07 Intel Corporation Method and apparatus for secure scan of data storage device from remote server
KR101201622B1 (ko) * 2010-08-19 2012-11-14 삼성에스디에스 주식회사 보안 기능을 가진 시스템 온 칩 및 이를 이용한 디바이스 및 스캔 방법
US9064116B2 (en) * 2010-11-08 2015-06-23 Intel Corporation Techniques for security management provisioning at a data storage device
US9635048B2 (en) 2011-03-09 2017-04-25 Irdeto B.V. Method and system for dynamic platform security in a device operating system
WO2012135192A2 (en) * 2011-03-28 2012-10-04 Mcafee, Inc. System and method for virtual machine monitor based anti-malware security
TWI546690B (zh) * 2011-04-21 2016-08-21 hong-jian Zhou Antivirus system
CN102819694B (zh) * 2011-06-09 2015-12-02 国民技术股份有限公司 一种tcm芯片、查毒方法及运行tcm芯片的设备
CN102208002B (zh) * 2011-06-09 2015-03-04 国民技术股份有限公司 一种新型计算机病毒查杀装置
CN102867148B (zh) * 2011-07-08 2015-03-25 北京金山安全软件有限公司 一种电子设备的安全防护方法及装置
JP5714446B2 (ja) * 2011-08-18 2015-05-07 株式会社オプティム ウィルス対策端末、ウィルス対策方法、及びウィルス対策用プログラム
US9270657B2 (en) 2011-12-22 2016-02-23 Intel Corporation Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure
US9529805B2 (en) * 2011-12-22 2016-12-27 Intel Corporation Systems and methods for providing dynamic file system awareness on storage devices
US10019574B2 (en) 2011-12-22 2018-07-10 Intel Corporation Systems and methods for providing dynamic file system awareness on storage devices
US9110595B2 (en) 2012-02-28 2015-08-18 AVG Netherlands B.V. Systems and methods for enhancing performance of software applications
US9516451B2 (en) 2012-04-10 2016-12-06 Mcafee, Inc. Opportunistic system scanning
US8800046B2 (en) * 2012-04-10 2014-08-05 Mcafee, Inc. Unified scan engine
US9407653B2 (en) 2012-04-10 2016-08-02 Mcafee, Inc. Unified scan management
US9081960B2 (en) * 2012-04-27 2015-07-14 Ut-Battelle, Llc Architecture for removable media USB-ARM
US9043920B2 (en) 2012-06-27 2015-05-26 Tenable Network Security, Inc. System and method for identifying exploitable weak points in a network
US9088606B2 (en) 2012-07-05 2015-07-21 Tenable Network Security, Inc. System and method for strategic anti-malware monitoring
CN103679013B (zh) * 2012-09-03 2017-10-31 腾讯科技(深圳)有限公司 系统恶意程序检测方法及装置
US9769123B2 (en) * 2012-09-06 2017-09-19 Intel Corporation Mitigating unauthorized access to data traffic
WO2014049758A1 (ja) 2012-09-26 2014-04-03 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
WO2014077614A1 (en) * 2012-11-19 2014-05-22 Samsung Sds Co., Ltd. Anti-malware system, method of processing data in the same, and computing device
US9467464B2 (en) 2013-03-15 2016-10-11 Tenable Network Security, Inc. System and method for correlating log data to discover network vulnerabilities and assets
US9491193B2 (en) * 2013-06-27 2016-11-08 Secureage Technology, Inc. System and method for antivirus protection
KR101489142B1 (ko) * 2013-07-12 2015-02-05 주식회사 안랩 클라이언트시스템 및 클라이언트시스템의 동작 방법
CN106686599B (zh) 2015-11-05 2020-10-20 创新先进技术有限公司 一种用于应用信息的风险管理的方法与设备
WO2017122353A1 (ja) * 2016-01-15 2017-07-20 株式会社日立製作所 計算機システム及びその制御方法
WO2018123061A1 (ja) * 2016-12-28 2018-07-05 デジタルア-ツ株式会社 情報処理装置及びプログラム
KR102276912B1 (ko) * 2017-06-07 2021-07-13 삼성전자주식회사 스토리지 시스템 및 이의 동작 방법
US11005879B2 (en) * 2017-06-29 2021-05-11 Webroot Inc. Peer device protection
JP7196556B2 (ja) * 2018-11-20 2022-12-27 コニカミノルタ株式会社 画像形成装置、情報処理装置及びプログラム
CN109992510B (zh) * 2019-03-25 2021-04-13 联想(北京)有限公司 一种远程调试装置及方法
KR102265129B1 (ko) * 2019-10-24 2021-06-15 한국전력공사 저장매체 통제 시스템 및 통제 방법
US11416607B2 (en) * 2019-11-04 2022-08-16 Dell Products L.P. Security risk indicator and method therefor
US11916930B2 (en) * 2021-06-29 2024-02-27 Acronis International Gmbh Non-invasive virus scanning using remote access

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998041919A1 (en) * 1997-03-18 1998-09-24 Trend Micro, Incorporated Virus detection in client-server system
WO2000028420A1 (en) * 1998-11-09 2000-05-18 Symantec Corporation Antivirus accelerator for computer networks
US20050268079A1 (en) * 2004-05-17 2005-12-01 Intel Corporation Input/output scanning

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
JP4162099B2 (ja) * 1995-06-02 2008-10-08 富士通株式会社 ウィルス感染に対処する機能を持つ装置及びその記憶装置
JP2000089992A (ja) * 1998-09-11 2000-03-31 Fujitsu Ltd 記憶装置
US7085934B1 (en) * 2000-07-27 2006-08-01 Mcafee, Inc. Method and system for limiting processor utilization by a virus scanner
US6799197B1 (en) * 2000-08-29 2004-09-28 Networks Associates Technology, Inc. Secure method and system for using a public network or email to administer to software on a plurality of client computers
US20020166059A1 (en) * 2001-05-01 2002-11-07 Rickey Albert E. Methods and apparatus for protecting against viruses on partitionable media
US20020199116A1 (en) * 2001-06-25 2002-12-26 Keith Hoene System and method for computer network virus exclusion
US7590684B2 (en) * 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
US7302706B1 (en) * 2001-08-31 2007-11-27 Mcafee, Inc Network-based file scanning and solution delivery in real time
JP2003216448A (ja) * 2002-01-17 2003-07-31 Ntt Docomo Inc 移動通信端末及びデータ送信方法
JP2003216445A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd コンピュータウイルスのチェック方法
US20040047299A1 (en) * 2002-05-31 2004-03-11 Dorundo Alan D. Diskless operating system management
US8090836B1 (en) * 2002-06-10 2012-01-03 Symantec Operating Corporation TCP connection migration
JPWO2004075056A1 (ja) * 2003-02-21 2006-06-01 独立行政法人産業技術総合研究所 ウイルスチェック装置及びシステム
US7941659B2 (en) * 2003-05-05 2011-05-10 Peter Ar-Fu Lam External memory enabling a user to select an application program to be launched before launching an operating system
US20050044505A1 (en) * 2003-08-19 2005-02-24 Laney Clifton W. Creating an opaque graphical user interface window when a display unit is in an off state
US20050177571A1 (en) * 2004-02-09 2005-08-11 Adams Aland B. Systems, methods, and computer-readable mediums for accessing local and remote files
JP2007226277A (ja) * 2004-04-02 2007-09-06 Matsushita Electric Ind Co Ltd 仮想マシン改ざん検査方法、および仮想マシン改ざん検査装置
US7383406B2 (en) * 2004-11-19 2008-06-03 International Business Machines Corporation Application transparent autonomic availability on a storage area network aware file system
EP1684151A1 (en) * 2005-01-20 2006-07-26 Grant Rothwell William Computer protection against malware affection
US7581250B2 (en) * 2005-02-17 2009-08-25 Lenovo (Singapore) Pte Ltd System, computer program product and method of selecting sectors of a hard disk on which to perform a virus scan
US7703037B2 (en) * 2005-04-20 2010-04-20 Microsoft Corporation Searchable task-based interface to control panel functionality
US20070011491A1 (en) * 2005-06-30 2007-01-11 Priya Govindarajan Method for platform independent management of devices using option ROMs
US7536521B2 (en) * 2005-09-28 2009-05-19 Wisconsin Alumni Research Foundation Computer storage device providing implicit detection of block liveness
US20070174916A1 (en) * 2005-10-28 2007-07-26 Ching Peter N Method and apparatus for secure data transfer
US8732824B2 (en) * 2006-01-23 2014-05-20 Microsoft Corporation Method and system for monitoring integrity of running computer system
US9015501B2 (en) * 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
US8806228B2 (en) * 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
US8099786B2 (en) * 2006-12-29 2012-01-17 Intel Corporation Embedded mechanism for platform vulnerability assessment
US20080320423A1 (en) * 2007-06-25 2008-12-25 International Business Machines Corporation System and method to protect computing systems
US8341428B2 (en) * 2007-06-25 2012-12-25 International Business Machines Corporation System and method to protect computing systems
US8010815B2 (en) * 2008-05-01 2011-08-30 International Business Machines Corporation Computational device power-savings
US8683247B2 (en) * 2008-06-12 2014-03-25 Advanced Micro Devices, Inc. Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998041919A1 (en) * 1997-03-18 1998-09-24 Trend Micro, Incorporated Virus detection in client-server system
WO2000028420A1 (en) * 1998-11-09 2000-05-18 Symantec Corporation Antivirus accelerator for computer networks
US20050268079A1 (en) * 2004-05-17 2005-12-01 Intel Corporation Input/output scanning

Also Published As

Publication number Publication date
JP5021706B2 (ja) 2012-09-12
EP2169584A2 (en) 2010-03-31
US20100083381A1 (en) 2010-04-01
KR20100037016A (ko) 2010-04-08
JP2010086538A (ja) 2010-04-15
CN101714197B (zh) 2013-08-21
EP2169584A3 (en) 2010-07-14
JP2012198926A (ja) 2012-10-18
CN103400075A (zh) 2013-11-20
CN103400075B (zh) 2018-01-26
JP5539445B2 (ja) 2014-07-02
CN101714197A (zh) 2010-05-26

Similar Documents

Publication Publication Date Title
KR101079910B1 (ko) 바이러스 방지 스캔 서비스를 제공하는 디바이스, 시스템 및 방법
US11503030B2 (en) Service processor and system with secure booting and monitoring of service processor integrity
US10528740B2 (en) Securely booting a service processor and monitoring service processor integrity
CN111008379B (zh) 电子设备的固件安全检测方法及相关设备
US9436827B2 (en) Attesting a component of a system during a boot process
CN103299311B (zh) 用于可信引导优化的方法和设备
US8490189B2 (en) Using chipset-based protected firmware for host software tamper detection and protection
CN109446815B (zh) 基本输入输出系统固件的管理方法、装置和服务器
JP5362767B2 (ja) リモートサーバからデータ記憶装置の安全性を検査する方法および装置
US9455955B2 (en) Customizable storage controller with integrated F+ storage firewall protection
CN109815698B (zh) 用于执行安全动作的方法和非暂时性机器可读存储介质
US9245122B1 (en) Anti-malware support for firmware
US11593487B2 (en) Custom baseboard management controller (BMC) firmware stack monitoring system and method
US20170154184A1 (en) Operating system agnostic validation of firmware images
US20220391506A1 (en) Automated Interpreted Application Control For Workloads
US7849271B2 (en) System and method for intrusion protection of network storage
Kaczmarek et al. Operating system security by integrity checking and recovery using write‐protected storage
CN114625600A (zh) 基于内存扫描的进程监测
US20230342472A1 (en) Computer System, Trusted Function Component, and Running Method
Grizzard Towards self-healing systems: re-establishing trust in compromised systems
KR101349807B1 (ko) 이동식 저장매체 보안시스템 및 그 방법
US20240037242A1 (en) Intelligent pre-boot indicators of vulnerability
KR102047739B1 (ko) 클라우드 기반 클린 보안모듈 원격 활용시스템과 그 방법
WO2023145044A1 (ja) 機器検証システム、機器検証方法、および記録媒体
KR20140026315A (ko) 이동식 저장매체 보안시스템 및 그 방법

Legal Events

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

Payment date: 20140930

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee