KR101247022B1 - 실행가능 파일의 신뢰를 검증하는 시스템 및 방법 - Google Patents

실행가능 파일의 신뢰를 검증하는 시스템 및 방법 Download PDF

Info

Publication number
KR101247022B1
KR101247022B1 KR1020077019176A KR20077019176A KR101247022B1 KR 101247022 B1 KR101247022 B1 KR 101247022B1 KR 1020077019176 A KR1020077019176 A KR 1020077019176A KR 20077019176 A KR20077019176 A KR 20077019176A KR 101247022 B1 KR101247022 B1 KR 101247022B1
Authority
KR
South Korea
Prior art keywords
executable file
malware
executable
execution
instructions
Prior art date
Application number
KR1020077019176A
Other languages
English (en)
Other versions
KR20070119619A (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 KR20070119619A publication Critical patent/KR20070119619A/ko
Application granted granted Critical
Publication of KR101247022B1 publication Critical patent/KR101247022B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions

Landscapes

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

Abstract

실행가능 파일의 무결성을 확인하는 시스템 및 방법을 설명한다. 일 양태에 있어서, 시스템 및 방법은 실행가능 파일이 실행 경로 내로 도입되고 있음을 판정한다. 이후, 실행가능 파일은, 실행가능 파일이 멀웨어 유형인지 여부를 검출하기 위해 다중 멀웨어 체크라는 관점에서 자동적으로 평가된다. 실행가능 파일이 멀웨어 유형을 나타내면, 보호 경로가 구현된다.
멀웨어, 실행가능 파일, 컴퓨터 구현 방법, 컴퓨터 판독가능 매체

Description

실행가능 파일의 신뢰를 검증하는 시스템 및 방법{SYSTEMS AND METHODS FOR VERIFYING TRUST OF EXECUTABLE FILES}
본 발명은 데이터 인증 및 검증에 관한 것이다.
실행가능 파일(예를 들어, 이진 이미지, 오브젝트 코드, 포터블 엑서큐터블(PE), 매크로, 비주얼 베이직 스크립(VBS)과 같은 스트립트 등)은, 바이러스 또는 트로이 목마를 포함할 수 있기 때문에 컴퓨터 상에서 실행하는 데 있어서 위험할 수 있다. 바이러스는, 통상적으로 사용자의 소망에 반하여 또한 사용자가 모르게 디스크 상의 이진 이미지를 수정하는 프로그램 또는 코드의 일부이다. 바이러스는 스스로 복사할 수도 있다. 자신을 반복해서 복제할 수 있는 간단한 바이러스는 비교적 만들기 쉽다. 간단한 바이러스라도 이것이 위험한 이유는 모든 이용가능한 메모리를 빠르게 이용하여 시스템을 정지시킬 수 있기 때문이다. 일부 바이러스들은 네트워크를 통해 자신을 전송하고 보안 시스템을 우회할 수 있다. 바이러스와는 달리, 트로이 목마는, 자신을 복제하진 못하지만, 파괴적일 수 있으며, 사용자가 의심하지 않고서 실행할 수 있는 양호한 애플리케이션으로 흔히 위장한다. 트로이 목마의 한 유형으로는 사용자의 컴퓨터에서 바이러스를 제거하는 대신 바이러스를 사용자의 컴퓨터에 도입하는 프로그램이 있다.
예를 들어 바이러스 또는 트로이 목마로 손상된 실행가능 코드를 식별하는 한 가지 방안은, 실행가능 코드를 컴퓨팅 장치 상으로 설치하거나 다운로드할 때 신뢰성있는 암호 해시를 이용하는 것이다. 암호 해시, 또는, 간단히 "해시"는 실행가능 코드를 요약된 형태 즉 다이제스트(digest)로 컴파일링한다. 신뢰성있는 해시는, 해시 생성시(예를 들어, 구축시) 양호한 것으로 알려져 있으며, 또는, 미손상 코드를 나타내는 것으로 알려져 있다. 실행가능 파일(즉, 이진 이미지, 실행가능 코드, 스크립트, 매크로 등)을 위한 신뢰성있는 해시를 생성하려면, 데이터와 같은 관련 리소스를 비롯하여 실행가능 파일에 대하여 메시지 다이제스트 또는 체크섬 계산을 수행하여 실행가능 파일을 한 위치로부터 다른 위치로 전달하기 전에 (예를 들어 구축시) 신뢰성있는 제1 결과를 얻는다. 전달된 실행가능 파일에 동일한 계산을 수행하여 신뢰성있는 제2 결과를 얻는다. 신뢰성있는 제1 결과를 신뢰성있는 제2 결과와 비교하여 수신된 실행가능 파일이 원래 전송된 데이터와 동일한 것인지를 판정한다. 예를 들어, 계산 전과 계산 후의 결과가 동일하다면, 그 수신된 데이터는 정확할 것이다. 동일하지 않다면, 수신된 실행가능 파일은 손상되어 있다. 이러한 방식으로, 손상된 이진 이미지를 다운로드하거나 설치하는 위험성을 상당히 줄인다.
종래 기술에서는 설치시 파일을 검증함으로써 신뢰성있는 해시와 관련된 파일 설치 위험성을 줄임에도 불구하고, 이러한 종래 기술로는, 신뢰성을 알 수 없는 소스(예를 들어, 신뢰성있는 해시나 서명이 없는 파일)로부터 파일을 설치하고, 컴퓨팅 장치 상으로 설치된 후 파일을 실행하며, 또는 기본 입출력 시스템(BIOS)의 일부인 파일을 실행하는 위험성을 줄이지 못한다. 신뢰성을 알 수 없는 소스로부터 컴퓨팅 시스템 상으로 파일을 설치하는 것과 관련된 문제점들은 잘 알려져 있다. 게다가, 설치시 무결성으로 검증된 파일이 설치 후 손상될 수 있어서, 임의의 초기 신뢰 검증 평가가 쓸모없게 된다. 또한, 오늘날의 컴퓨터 시스템은 신뢰성있는 실행가능 오브젝트 코드와 의심되거나 악성 실행가능 오브젝트 코드를 구별하는 고유의 메카니즘을 갖고 있지 않다. BIOS 펌웨어 내로 로딩된 파일의 경우, 이 파일이 부팅 동작 동안 실행을 위해 로딩될 때, 종래의 시스템에서는, 통상적으로 코드 무결성, 또는 다른 임의의 유형의 바이러스, 스파이웨어, 다른 악성 소프트웨어(멀웨어)의 체크를, 부팅 프로세스의 일부로서 실행하기 전에 그 로딩된 파일에 대하여 적절히 수행하는 데 있어서 충분한 코드 무결성 체크 인프라스트럭처를 (로딩된) 제 위치에 갖고 있지 않다.
따라서, 본 발명은 실행가능 파일의 무결성을 확인하기 위한 시스템 및 방법을 제공한다. 일 양태에서, 본 발명의 시스템 및 방법은 실행가능 파일이 실행 경로 내로 도입되고 있다고 판정한다. 이후, 실행가능 파일은 다중 멀웨어 체크라는 관점에서 자동 평가되어 실행가능 파일이 멀웨어 유형을 나타내는지를 검출한다. 다중 멀웨어 체크는 실행 경로를 따라 운영 체제 신뢰 검증 프로세스 내에 통합된다.
도면에서, 구성요소 참조 번호의 가장 좌측의 자릿수는 그 구성요소가 최초 로 보이는 특정 도를 나타낸다.
도 1은 실행가능 파일들의 신뢰를 검증하기 위한 예시적인 시스템을 도시하는 도면.
도 2는 실행가능 파일들의 신뢰를 검증하기 위한 예시적인 절차를 도시하는 도면.
도 3은 실행가능 파일들의 신뢰를 검증하기 위한 시스템 및 방법이 완전히 또는 부분적으로 구현될 수 있는 적절한 컴퓨팅 환경의 일 예를 도시하는 도면.
개요
실행가능 파일의 신뢰성을 검증하기 위한 본 시스템 및 방법은, 운영 체제(OS) 내에 통합되는 포괄적인 신뢰 검증 기능(facility)을 제공함으로써, 종래의 코드 무결성 체크 기술 및 독립적 (비 통합형) 멀웨어 체크의 한계를 다룬다. 신뢰 검증 기능은, 실행가능 파일이 시스템 상으로 설치될 때 그리고 코드가 실행을 위해 메모리 내로 매핑될 때 자동적으로 호출(invoke)되는 다중 신뢰 검증기를 포함한다. 신뢰 검증기 각각은, 실행가능 코드가 신뢰성있는 소스(예를 들어, 신뢰성있는 인증 기관에 의해 서명된 코드)로부터 온 것인지를 판정하고 또한 트로이 목마(코드 무결성), 바이러스, 스파이웨어, 및/또는 다른 유형의 알려져 있는 멀웨어에 대한 실행가능 코드를 평가한다. 알려져 있는 멀웨어는 알려져 있는 멀웨어 서명 또는 다른 알려져 있는 멀웨어 특징과 관련된 멀웨어이다.
이 코드가 멀웨어로 판정되면, 실행가능 파일의 신뢰성을 검증하기 위한 시 스템 및 방법은 그 코드를 신뢰성 없는 것으로 즉 신뢰할 수 없는 것으로 표시한다. 신뢰성 없는 코드는 설치되지 않거나 실행되지 않는다. 이 코드가 신뢰성있는 소스로부터 온 것이 아니라고 판정되고 알려져 있는 유형의 멀웨어가 아니라고 판정되면, 시스템 관리자에게는 (파일에 로컬 키로 디지털 서명함으로써) 그 코드의 신뢰성을 인가할 수 있는 기회가 제공된다. 이 기회는, 그 코드가 알려져 있는 유형의 멀웨어가 아니라는 신뢰 검증기 체인으로부터의 각 표시의 관점에서 시스템 관리자에게 제시된다. 이처럼, 시스템 관리자는 외부의 신뢰성있는 제삼자에 의해 확인되지 않은 코드를 설치 또는 실행할지 여부에 대하여 경험에 의한 판정을 내릴 수 있다. 일단 코드가 신뢰성있는 것으로 표시되고, 이 코드가 언젠가 차후에 수정되는 경우(예를 들어, 트로이 목마가 도입되는 경우), 이러한 수정이 신뢰 검증을 위한 시스템 및 방법에 의해 실행 전에 검출되어, 코드는 실행되지 않는다.
상술한 바를 고려할 때, 실행가능 파일의 신뢰성을 검증하기 위한 시스템 및 방법이 실행가능 파일이 알려져 있는 유형의 멀웨어가 아닌 것으로 지시된 후에만, 시스템 및 방법에 의해 실행가능 파일이 설치 또는 실행될 수 있다. 이것은 종래의 시스템과 극명하게 대조되는 부분으로서, 종래의 기술은 설치 동안 또는 실행을 위해 메모리 내로 로딩되기 바로 전에 실행가능 파일에 대하여 파일 멀웨어 평가를 자동 수행하지 않는다. 또한, 다중 신뢰 검증을 운영 체제 내로 통합하는 것은, 바이러스, 스파이웨어, 또는 다른 형태의 멀웨어의 체크가 독립적인 프로세스이며 운영 체제 내로 통합되지 않는 프로세스인 종래의 시스템과 매우 상이한 점이다.
이하, 실행가능 파일의 신뢰를 검증하기 위한 시스템 및 방법의 이러한 양태 및 다른 양태를 보다 상세히 설명한다.
예시적인 시스템
요구되는 것은 아니지만, 실행가능 파일의 신뢰를 검증하기 위한 시스템 및 방법은, 퍼스널 컴퓨터와 같은 컴퓨팅 장치에 의해 실행되는 컴퓨터 실행가능한 명령어(프로그램 모듈)의 일반적인 문맥으로 설명한다. 프로그램 모듈은, 일반적으로 특정한 태스크를 수행하거나 특정한 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 비록 상술한 문맥으로 시스템 및 방법을 설명하고 있지만, 하드웨어에서 이후 설명하는 동작 및 액트를 구현할 수도 있다.
도 1은 실행가능 파일의 신뢰를 검증하기 위한 예시적인 시스템(100)을 도시한다. 이 구현예에서, 시스템(100)은 컴퓨팅 장치(102)를 포함한다. 컴퓨팅 장치(102)는 퍼스널 컴퓨터, 랩탑, 서버, 슬림형 모바일 컴퓨팅 장치(예를 들어, 셀룰러 폰, PDA, 또는 핸드헬드 컴퓨터)와 같은 임의의 유형의 컴퓨팅 장치일 수 있다. 컴퓨팅 장치(102)는 프로그램 모듈(104) 및 프로그램 데이터(106)를 포함한다. 프로그램 모듈(102)은, 예를 들어, 런타임 환경을 제공하는 운영 체제(108)와, 실행가능 오브젝트 코드(예를 들어, 이진 이미지, PE 파일, DLL, 스크립트 등)와 같은 기타 프로그램 모듈(110)을 포함한다. 런타임 환경의 일부로서, 운영 체제(108)는 통합된 파일 신뢰 검증 기능을 제공하는 신뢰 검증기 모듈(112)을 포함한다.
실행가능 파일(예를 들어, 오브젝트 코드, 스트립트, DLL 등)이 컴퓨팅 장 치(102) 상으로 설치되고 있으며 그리고/또는 실행을 위해 메모리 내로 로딩되고 있음을 운영 체제(108)가 검출함에 따라, 신뢰 검증기(112)는 실행가능 코드가 신뢰성있는 소스(예를 들어, 신뢰성있는 인증 기관)로부터 온 것인지 여부를 판정하고, 다중 신뢰 검증 체크를 구현하여 실행가능 코드가 알려져 있는 유형의 멀웨어인지 여부(예를 들어, 이 코드가 트로이 목마, 바이러스, 스파이웨어 등을 포함하고 있는지 여부)를 판정한다. 파일이 컴퓨팅 장치 상으로 설치되고 있으며 실행을 위해 메모리 내로 로딩(예를 들어, 페이징)되고 있음을 판정하는 기술, 파일이 실행가능한 파일인이 여부를 판정하는 기술, 파일이 신뢰성있는 기관으로부터 온 것인지를 평가하는 기술은 알려져 있다.
신뢰 검증기(112)에 의해 구현되는 실행가능 파일 신뢰 검증 체크는, 예를 들어, 코드 무결성, 바이러스, 스파이웨어, 및/또는 다른 멀웨어 체크를 포함한다. 실행가능 파일의 신뢰성있는 풀(full) 이미지 해시(존재할 경우)를 실행가능 파일의 계산된 풀 해시와 비교함으로써 실행가능 파일의 코드 무결성을 평가하는 기술은 알려져 있다. 또한, 바이러스 또는 트로이 목마에 대하여 실행가능 파일을 체크하는 기술도 알려져 있다. 실행을 위해 메모리 내로 로딩되고 있는 실행가능 파일의 일부분에 응답하여 부분 이미지 해시 검증 동작을 수행하는 신뢰 검증기(112)의 예시적인 기술들은, "Systems and Methods for Validating Executable File Integrity Using Partial Image Hashes"라는 명칭으로 2005년 1월 18일자로 출원되었으며 공동 양도되었고 본 명세서에서 참고로 포함되어 있는 미국 특허 출원번호 11/037,566에 설명되어 있다. 부분 이미지 해시는 전체 실행가능 파일보다 적은 해시이다. 예를 들어, 부분 이미지 해시는 (예를 들어, PE 파일 등의 경우에) 실행가능 파일의 하나 이상의 페이지의 해시이거나, (스크립트 등의 경우에) 페이지 경계들에 구속되지 않는 실행가능 파일의 부분들의 해시이다.
일 구현예에서, 신뢰 검증기(112)는 하나 이상의 디지털 증명서 체크, 바이러스, 트로이 목마, 스파이웨어, 및/또는 다른 멀웨어 체크에 대한 해당 플러그-인 모듈을 이용하여 실행가능 파일의 신뢰를 검증한다. 예시를 위해, 이러한 플러그-인 모듈들은 다른 프로그램 모듈(110)의 해당 부분들로 각각 도시되어 있다. 일 구현예에서, 신뢰 검증기(112) 신뢰 체인에 의해 구현되는 다양한 멀웨어 체크를 맞춤화할 수 있다. 예를 들어, 멀웨어 체크 각각을 구현하는 플러그-인 모듈은 신뢰 체인에/으로부터 부가되며 그리고/또는 제거될 수 있다.
일 구현예에서, 특정한 멀웨어 체크와 관련된 기능성에 액세스할 때, 신뢰 검증기(112)는 이 특정한 멀웨어 체크가 비활성화되는지 여부 및/또는 특정한 멀웨어 체크를 위한 비인가 대체가 신뢰 체인 내로 도입되었는지 여부를 검출한다. 일 구현예에서, 신뢰 검증기(112)는 기능성이 특정한 멀웨어 체크와 관련되어 있는지 여부 및/또는 멀웨어 체크 플러그-인들의 신뢰성있는 리스트를 참조함으로써 멀웨어 체크 플러그-인 모듈이 인가받은 모듈인지 여부를 판정한다. 이 구현예에서, 이러한 리스트는 관리자 또는 다른 인가받은 엔티티에 의해 유지된다. 예시를 위해, 이러한 리스트는 다른 데이터(114)의 각 부분으로 도시되어 있다.
실행가능 파일이 신뢰성있는 소스로부터 온 것이며 멀웨어가 아니라고 신뢰 검증기(112)가 판정하면(예를 들어, 바이러스, 스파이웨어, 트로이 목마가 없으며, 해시 체크 등이 성공적인 경우), 운영 체제(108)는 신뢰 검증 프로세스(예를 들어, 파일 설치 동작 또는 실행을 위해 파일을 메모리 내로 로딩하는 동작)를 트리거한 프로세스를 완료할 수 있게 한다. 그러나, 실행가능 파일이 신뢰성있는 소스로부터 온 것이 아니라고 신뢰 검증기(112)가 판정하고, 또한, 실행가능 파일이 알려져 있는 유형의 멀웨어가 아니라고 신뢰 검증기가 판정하면, 신뢰 검증기(112)(또는 운영 체제(108))는, (예를 들어, 실행가능 파일에 로컬 키로 서명함으로써) 실행가능 파일의 신뢰성을 인가하며, 실행가능 파일이 신뢰성에 의심이 가는 것임을 가리키며, 또는 실행가능 파일이 신뢰할 수 없는 것임을 가리키는 기회를 시스템 관리자에게 제공한다(로컬 키로 서명하는 기술들은 알려져 있다).
일 구현예에서, 실행가능 파일이 신뢰성있는 소스로부터 온 것이 아니며 알려져 있는 유형의 멀웨어가 아니라고 판정되면, 신뢰 검증기(112)(또는 운영 체제(108))는 대화 상자 또는 다른 사용자 인터페이스(UI) 컴포넌트(예를 들어, 음성 제어형)를 관리자에게 제시하여 관리자가 실행가능 파일에 대하여 신뢰성, 의심되는 신뢰성, 또는 신뢰성없음을 인가할 수 있게 한다. 예시를 위해, 이러한 UI가 다른 데이터(114)의 각 부분으로 도시되어 있다. 이 시나리오에서, 신뢰 검증기(112)가 다중 멀웨어 체크 관점에서 실행가능 파일을 평가하기 때문에, 신뢰 검증기(112)는, 종래의 시스템 및 기술과 비교할 때, 실행가능 파일의 신뢰성에 관한 실질적으로 우수한 지식 레벨을 관리자에게 제공한다. 따라서, 시스템 관리자는 파일의 신뢰성 인가 여부에 대하여 경험에 의한 판정을 내릴 수 있으며 이에 따라 신뢰성있는 외부 제삼자에 의해 사전에 확인되지 않은 파일의 설치 및/또는 코드의 실행을 허용하거나 금지할 수 있다.
상술한 바를 고려할 때, 신뢰 검증기(112)의 동작은 컴퓨터 프로그램 설치 및 실행 동작과 관련된 다양한 시점에서 호출된다. 설명의 편의상, 이러한 다양한 시점을 프로그램이 실행 경로 내로 도입되고 있을 때의 시점이라 칭한다. 이 구현예에서, 예를 들어, 신뢰 검증 동작은 (예를 들어, 프로그램이 실행을 위해 메모리 내로 로딩된다는 판정에 응답하여) 프로그램 설치 동안 및 프로그램 설치 후 둘 다에 대하여 호출된다. 다른 구현예에서, 신뢰 검증기(112)의 동작은 상술한 시점들 중 하나 이상, 및/또는 프로그래밍 실행 경로 내로 도입되는 때와 관련된 다른 시점에서 구현된다.
(실행가능 파일이 신뢰성있는 소스에 의해 서명되어 있는지 여부에 상관없이) 실행가능 파일이 멀웨어라고 신뢰 검증기(112)가 판정하면, 신뢰 검증기(112)(또는 운영 체제(108))는 코드를 신뢰성없거나 신뢰할 수 없는 것으로 표시한다. 이 시나리오에서, 신뢰 검증기의 동작이 코드 설치 동작에 응답하는 것이라면, 운영 체제(108)는 신뢰성없는 코드를 컴퓨팅 장치(102) 상으로 설치하지 않는다. 또한, 신뢰 검증기의 동작이 실행을 위해 코드를 메모리 내로 로딩하는 운영 체제(108)의 준비에 응답하는 것이라면, 운영 체제(108)는 신뢰성없는 코드를 실행을 위해 메모리 내로 로딩하는 것을 허용하지 않는다. 이것은, 상술한 바와 같이 실행가능 파일이 신뢰성있는 것으로 표시되어 있더라도 코드가 언젠가 차후에 수정되면(예를 들어, 트로이 목마가 도입되면), 이러한 수정이 코드의 실행 전에 신뢰 검증기(112)에 의해 검출되어 이 코드가 실행되지 않음을 의미한다.
이하, 예시적인 신뢰 검증기(112)의 신뢰 체인 동작(멀웨어 검출 동작)을 설명한다.
예시적인 보호 경로
신뢰 검증기(112) 또는 운영 체제(108)는, 컴퓨팅 장치(102) 상으로 설치되거나 실행을 위해 메모리 내로 로딩될 실행가능 파일이 신뢰성없다는 판정에 응답하여, 맞춤형 보호 경로를 자동 구현한다. 예를 들어, 일 구현예에서, 보호 경로는 다음 액션들 중 하나 이상을 포함한다.
ㆍ 실행가능 파일을 신뢰성없는 것으로 태그
ㆍ 설치 모듈이 파일을 설치하지 않도록 지시하거나 파일의 임의의 부분을 실행을 위해 메모리 내로 로딩하지 않도록 메모리 매니저(116)에게 지시
ㆍ 실패한 파일 검증을 식별하는 관련된 이벤트를 스로우(throw), 및/또는 그 이벤트를 이벤트 로그에 기록
ㆍ 컴퓨팅 장치(102) 상의 거의 모든 파일(실행가능 파일 및 데이터 파일)을 자동 평가하여 파일들의 각각이 신뢰성있는 소스로부터 온 것인지 그리고 알려져 있는 유형의 멀웨어를 나타내는 것인지 여부를 판정
ㆍ 컴퓨팅 장치(102)의 전원을 중단
일 구현예에서, 보호 경로는 파일이 신뢰 검증을 받지 못할 때 구현을 위한 하나 이상의 액션 룰, 전송되는 경고, 취하는 로깅 동작 등을 식별한다. 일 구현예에서, 보호 경로는 일정한 사용자 경험을 제공하도록 그룹 정책 및/또는 사용자 인터페이스 설정에 기초한다.
예시적인 절차
도 2는 실행가능 파일의 신뢰를 검증하기 위한 예시적인 절차(200)를 도시한다. 설명 및 예시의 편의상, 이 절차의 동작을 도 1의 컴포넌트소를 참조하여 설명한다. 컴포넌트 참조 번호의 제일 좌측의 자릿수는 그 구성요소가 처음으로 보이는 특정 도면을 가리킨다. 블록(202)에서, 운영 체제(108)(예를 들어, 파일 시스템 또는 운영 체제의 메모리 관리부)는 실행가능 파일이 컴퓨팅 장치(102) 상으로 설치되거나 실행을 위해 메모리 내로 로딩되고 있음(아직 로딩완료된 않았음)을 판정한다. 이러한 판정에 응답하여, 신뢰 검증기(112)는 실행가능 파일을 평가하여 이것이 신뢰성있는 소스(예를 들어, 신뢰성있는 인증 기관에 의해 디지털 서명된 소스)로부터 온 것인지 여부를 판정한다.
블록(204)에서, 신뢰 검증기(112)는 실행가능 파일이 알려져 있는 유형의 멀웨어를 나타내는지 여부를 판정한다. 일 구현예에서, 실행가능 파일이 컴퓨팅 장치(102) 상으로 설치된 후 그리고 상술한 바에 더하여, 이러한 동작들은, 실행가능 파일과 관련된 서명이 알려져 있는 멀웨어 서명과 일치하는지 여부를 판정하는 것을 포함하며, 그 결과 실행가능 파일이 멀웨어로 판정된다. 예시를 위해, 하나 이상의 알려져 있는 서명들의 리스트가 다른 데이터(114)의 각 부분으로 도시되어 있다. 일 구현예에서, 이 리스트는 신뢰 검증기(112)에 배포되어 프로그램 설치시 초기에 신뢰성있는 것으로 여겨졌으나 이후에 악성 코드를 구성하거나 포함하는 것으로 판정된 임의의 실행가능 파일을 식별하게 된다.
블록(206)에서, 실행가능 파일이 신뢰성있는 소스로부터 온 것이 아니며 멀 웨어가 아닌 경우, 신뢰 검증기(112)(또는 운영 체제(108))는, 파일의 신뢰성을 인가하거나, 파일의 신뢰성에 의심이 간다는 것을 가리키거나 파일을 신뢰할 수 없음을 가리키는 기회를 관리자에게 제공한다. 블록(208)에서, 실행가능 파일이 신뢰성있는 소스로부터 온 것이 아니며 또는 멀웨어로 판정된 경우(블록(204)), 신뢰 검증기(112)는 그 파일을 신뢰성없는 것으로 표시/태그한다. 실행가능 파일이 이전에 신뢰성있는 것으로 표시된 일 구현예에서, 이러한 동작들은, (예를 들어, 실행가능 파일이 알려져 있는 멀웨어 서명과 동일한 서명을 갖는 것으로 판정되었을 때) 실행가능 파일과 관련된 신뢰의 자동 취소(또는 신뢰의 다운그레이드)를 포함한다.
블록(210)에서, 실행가능 파일이 신뢰성있는 소스로부터 온 것이 아니며 또는 신뢰성없는 것으로 표시되면, 신뢰 검증기(112)(또는 운영 체제(108))는 보호 경로를 구현한다. 예를 들어, 실행가능 파일이 컴퓨팅 장치(102) 상으로 설치되고 있다면, 보호 경로는 적어도 실행가능 파일에 대한 설치 동작을 실행하지 못하게 한다. 다른 예에서, 실행가능 파일의 적어도 일부가 실행을 위해 컴퓨팅 장치(102) 상의 메모리 내로 로딩되고 있다면, 보호 경로는 적어도 메모리 로딩 동작을 못하게 하여 그 파일이 실행을 위해 메모리 내로 로딩되지 않는다.
예시적인 운영 환경
도 3은 실행가능 파일의 신뢰를 검증하기 위한 시스템 및 방법이 완전히 또는 부분적으로 구현될 수 있는 적합한 컴퓨팅 환경(300)의 일례를 도시하고 있다. 예시적인 컴퓨팅 환경(100)은 도 1의 예시적 시스템 및 도 2의 예시적 동작을 위한 단지 적합한 컴퓨팅 환경의 한가지 일례이며, 본 명세서에서 설명하는 바와 같은 시스템 및 방법의 기능이나 사용 범위에 관해 어떠한 제한을 제안하고자 하는 것이 아니다. 컴퓨팅 환경(300)이 컴퓨팅 환경(300)에서 도시된 임의의 하나의 컴포넌트 또는 컴포넌트들의 조합에 관해 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서는 안 된다.
본 명세서에서 설명하는 방법 및 시스템은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템, 환경 또는 구성에서 동작할 수 있다. 본 발명에 사용하기에 적합하고 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는, 퍼스널 컴퓨터, 랩탑, 슬림형 모바일 컴퓨팅 장치(예를 들어, 셀룰러 폰, PDA, 또는 핸드헬드 컴퓨터), 서버 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템이나 장치 등의 임의의 것을 포함하는 분산 컴퓨팅 환경이 있지만, 이에 제한되는 것은 아니다. 프레임워크의 컴팩트한 또는 서브세트 버전도, 핸드헬드 컴퓨터 또는 다른 컴퓨팅 장치와 같은 제한된 리소스의 클라이언트에서 구현될 수 있다. 본 발명은 통신 네트워크를 통해 링크된 원격 처리 장치에 의해 태스크들을 수행하는 분산 컴퓨팅 환경에서 실시된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치들 둘 다에 위치할 수 있다.
도 3을 참조하면, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110)의 형태인 범용 컴퓨팅 장치를 포함한다. 예시적인 시스템(300)은 실행가능 파일의 신뢰성을 검증하기 위한 시스템 및 방법이 완전히 또는 부분적으로 구현될 수 있는 적합한 컴퓨팅 환경의 일례를 도시한다. 시스템(300)은 예를 들어 도 1의 클라이언트 컴퓨터(102)를 구현하는 컴퓨터(310) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(310)의 컴포넌트는, 처리 장치(320), 시스템 메모리(330), 및 시스템 메모리를 포함하는 각종 시스템 컴포넌트를 처리 장치(320)에 결합하는 시스템 버스(321)를 포함하지만, 이에 제한되는 것은 아니다. 시스템 버스(321)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예제로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스를 포함하지만, 이에 제한되는 것은 아니다.
컴퓨터(310)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(310)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 분리식 매체 및 비분리식 매체를 포함한다. 예제로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위해 모든 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리식 및 비분리식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(310)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다.
통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에서 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호내의 정보가 암호화되도록 그 신호의 하나 이상의 특성을 설정 또는 변경시킨 신호를 의미한다. 예제로서, 통신 매체는 유선 네트워크 또는 다이렉트 유선 접속과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함하지만, 이러한 예로 한정되지 않는다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되어야 한다.
시스템 메모리(330)는 판독 전용 메모리(ROM)(331) 및 랜덤 액세스 메모리(RAM)(332)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함한다. 시동 시 컴퓨터(310) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(333)은 통상적으로 ROM(331)에 저장되어 있다. RAM(332)은 통상적으로 처리 장치(420)에 즉시 액세스 가능하고 및/또는 현재 처리 장치(320)에 의해 동작되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예제로서, 도 3은 운영 체제(334), 애플리케이션 프로그램(335), 기타 프로그램 모듈(336) 및 프로그램 데이터(337)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(310)는 또한 기타 분리식/비분리식, 휘발성/비휘발성 컴퓨터 저장매체를 포함할 수 있다. 단지 예제로서, 도 3은 비분리식 비휘발성 자기 매체로의 기록 또는 그로부터의 판독을 위한 하드 디스크 드라이브(341), 분리식 비휘발성 자기 디스크(352)로의 기록 또는 그로부터의 판독을 위한 자기 디스크 드라이브(351), CD-ROM 또는 기타 광 매체 등의 이동식, 비휘발성 광 디스크(356)로의 기록 또는 그로부터의 판독을 위한 광 디스크 드라이브(355)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 분리식/비분리식, 휘발성/비휘발성 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(341)는 통상적으로 인터페이스(340)와 같은 비분리식 메모리 인터페이스를 통해 시스템 버스(321)에 접속되고, 자기 디스크 드라이브(351) 및 광 디스크 드라이브(355)는 통상적으로 인터페이스(350)와 같은 분리식 메모리 인터페이스에 의해 시스템 버스(321)에 접속된다.
위에서 설명되고 도 3에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(310)의 다른 데이터를 저장한다. 도 3에서, 예를 들어, 하드 디스크 드라이브(341)는 운영 체제(344), 애플리케이션 프로그램(345), 기타 프로그램 모듈(346) 및 프로그램 데이터(347)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이 컴포넌트 들이 운영 체제(334), 애플리케이션 프로그램(335), 기타 프로그램 모듈(336) 및 프로그램 데이터(337)와 동일할 수도 있고 다를 수도 있다는 것이다. 애플리케이션 프로그램(335)은, 예를 들어, 도 1의 프로그램 모듈(104)을 포함할 수 있다. 프로그램 데이터(337)는, 예를 들어, 도 1의 프로그램 데이터(106)를 포함한다. 운영 체제(344), 애플리케이션 프로그램(345), 기타 프로그램 모듈(346) 및 프로그램 데이터(347)에 다른 번호가 주어졌다는 것은 적어도 이들이 서로 다른 사본(copy)이라는 것을 도시한다.
사용자는 키보드(362), 및 마우스, 트랙볼 또는 터치 패드와 같은 포인팅 장치(361) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(310)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스(321)에 결합된 사용자 입력 인터페이스(360)를 통해 처리 장치(320)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다.
모니터(391) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(390) 등의 인터페이스를 통해 시스템 버스(321)에 접속될 수 있다. 모니터 외에, 컴퓨터는 오디오 장치(397) 및 프린터(396) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(395)를 통해 접속될 수 있다.
컴퓨터(310)는 원격 컴퓨터(380)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용하여 네트워크화된 환경에서 동작한다. 원격 컴퓨터(380)는 또 하 나의 퍼스널 컴퓨터, 핸드헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있으며, 도 3에서는 하나의 메모리 저장 장치(381)만이 도시되어 있지만, 특정 구현의 기능으로서, 컴퓨터(102)에 대하여 상술한 소자들(예를 들어, 프로그램 모듈(104) 및 프로그램 데이터(106) 등)의 대부분 또는 전부를 포함할 수 있다. 도 3에 도시된 논리적 연결로는 LAN(371) 및 WAN(373)이 있지만, 다른 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 회사 전체에 걸친 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(310)는 네트워크 인터페이스 또는 어댑터(370)를 통해 LAN(371)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(310)는 통상적으로 인터넷과 같은 WAN(373) 상에서의 통신을 설정하기 위한 모뎀(372) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(372)은 사용자 입력 인터페이스(360) 또는 기타 적절한 메커니즘을 통해 시스템 버스(321)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(310) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 그 예제로서, 도 3은 원격 컴퓨터(380)에 상주하고 있는 원격 애플리케이션 프로그램(385)을 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이의 통신 링크를 확립하는 다른 수단이 사용될 수 있다.
구조적 특성 및/또는 방법론적 동작이나 액션에 특정하여 실행가능 파일의 신뢰를 검증하기 위한 시스템 및 방법을 설명하였지만, 청구범위에서 정의된 구현 예가 반드시 상술한 특정한 특성이나 액션으로 제한되지 않는다는 것을 이해할 수 있다. 예를 들어, 신뢰 검증기(112)가 메모리 매니저(116) 및 파일 시스템(118)과 독립적으로 것으로 도시되어 있지만, 일 구현예에서는, 신뢰 검증기가 메모리 매니저(116)나 파일 시스템(1180에 대한 플러그-인이다. 다른 예에서는, 실행가능 파일의 신뢰를 검증하는 것에 대하여 시스템(100)을 설명하였지만, 상술한 방법을 이용하여 시스템(100)을 데이터 파일의 신뢰를 검증하는 데 구현될 수도 있다. 이에 따라, 특정한 특성 및 동작은 청구 대상을 구현하는 예시적인 형태로서 개시된 것이다.

Claims (20)

  1. 운영 체제 환경에서 실행가능 파일의 신뢰 검증을 위한 컴퓨터 구현 방법으로서,
    상기 실행가능 파일이 실행 경로(path of execution)로 도입되고 있음을 판정하는 단계 - 상기 실행 경로는 상기 실행가능 파일이 실행을 위해 메모리로 로딩되거나 설치되지 않은 것임 - ;
    상기 판정에 응답하여, 다중 멀웨어 체크(multiple malware checks)로 상기 실행가능 파일을 자동으로 평가하여 상기 실행가능 파일이 멀웨어의 유형을 나타내는지 여부를 판정하는 단계 - 상기 다중 멀웨어 체크는 바이러스 체크, 스파이웨어 체크 및 코드 무결성 체크(code-integrity check)를 포함함 - ;
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되는 경우, 보호 경로를 구현하는 단계 - 상기 보호 경로는 상기 실행가능 파일의 신뢰성을 철회하는 것을 포함함 - ;
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되지 않고 신뢰성 있는 소스로부터 온 것인 경우, 상기 실행 경로를 허용하는 단계; 및
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되지 않고 신뢰성 있는 소스로부터 온 것이 아닌 경우, 시스템 관리자가 상기 실행 경로를 허용할 것인지 또는 보호 경로를 구현할 것인지를 결정하도록 하는 단계
    를 포함하는, 실행 가능 파일의 신뢰 검증을 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 다중 멀웨어 체크는 실행 경로를 따라 운영 체제 신뢰 검증 프로세스로 통합되는, 실행 가능 파일의 신뢰 검증을 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 실행 경로는, 설치 경로, 또는 상기 실행가능 코드의 적어도 일부를 실행을 위해 메모리로 로딩하는 것과 연관되는 경로를 포함하고, 로딩하는 것과 연관되는 상기 경로는 상기 실행가능 파일이 실행을 위해 메모리로 실제로 로딩되는 것을 나타내지 않는, 실행 가능 파일의 신뢰 검증을 위한 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 다중 멀웨어 체크는 상기 운영 체제의 메모리 매니저 모듈 또는 파일 시스템 모듈로 통합되는, 실행 가능 파일의 신뢰 검증을 위한 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 방법은,
    상기 실행가능 파일이 컴퓨팅 장치에 설치되고 있다고 판정하는 단계;
    상기 실행가능 파일이 컴퓨팅 장치에 설치되고 있다는 판정에 응답하여, 상기 실행가능 파일이 상기 다중 멀웨어 체크의 관점에서 멀웨어가 아닌 경우, 엔티티가 상기 실행가능 파일을 신뢰성 있는 것, 신뢰성에 의심이 가는 것 또는 신뢰성 없는 것으로 표시하도록 하는 단계; 및
    상기 실행가능 파일이 신뢰성 있는 것인 경우에만, 상기 실행가능 파일을 상기 컴퓨팅 장치에 설치하는 단계
    를 더 포함하는, 실행 가능 파일의 신뢰 검증을 위한 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 방법은,
    상기 실행가능 파일의 적어도 일부가 실행을 위해 메모리로 로딩되고 있다고 판정하는 단계;
    상기 실행가능 파일의 적어도 일부가 실행을 위해 메모리로 로딩되고 있다는 판정에 응답하여, 상기 실행가능 파일이 상기 다중 멀웨어 체크의 관점에서 멀웨어가 아닌 경우, 엔티티가 상기 실행가능 파일을 신뢰성 있는 것, 신뢰성에 의심이 가는 것 또는 신뢰성 없는 것으로 표시하도록 하는 단계; 및
    상기 실행가능 파일이 신뢰성 있는 것인 경우에만, 상기 실행가능 파일의 상기 적어도 일부를 실행을 위해 메모리로 로딩하는 단계
    를 더 포함하는, 실행 가능 파일의 신뢰 검증을 위한 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 실행가능 파일이 설치되고 있다고 판정하는 것에 응답하여, 상기 실행가능 파일이 신뢰성 있는 소스로부터 온 것인지 여부를 자동으로 판정하는 단계를 더 포함하는, 실행 가능 파일의 신뢰 검증을 위한 컴퓨터 구현 방법.
  8. 운영 체제 환경에서 실행가능 파일의 신뢰 검증을 위한 컴퓨터 프로그램 명령어를 저장하는 컴퓨터 판독가능 기록매체로서,
    상기 컴퓨터 프로그램 명령어는,
    상기 실행가능 파일이 실행 경로로 도입되고 있음을 판정하기 위한 명령어 - 상기 실행 경로는 상기 실행가능 파일이 실행을 위해 메모리로 로딩되거나 설치되지 않은 것임 - ;
    상기 판정에 응답하여, 다중 멀웨어 체크로 상기 실행가능 파일을 자동으로 평가하여 상기 실행가능 파일이 멀웨어의 유형을 나타내는지 여부를 판정하기 위한 명령어 - 상기 다중 멀웨어 체크는 바이러스 체크, 스파이웨어 체크 및 코드 무결성 체크를 포함함 - ;
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되는 경우, 보호 경로를 구현하기 위한 명령어;
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되지 않고 신뢰성 있는 소스로부터 온 것인 경우, 상기 실행 경로를 허용하기 위한 명령어; 및
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되지 않고 신뢰성 있는 소스로부터 온 것이 아닌 경우, 시스템 관리자가 상기 실행 경로를 허용할 것인지 또는 보호 경로를 구현할 것인지를 결정하도록 하기 위한 명령어
    를 포함하는, 컴퓨터 판독가능 기록매체.
  9. 제8항에 있어서,
    상기 다중 멀웨어 체크는 실행 경로를 따라 운영 체제 신뢰 검증 프로세스로 통합되는, 컴퓨터 판독가능 기록매체.
  10. 제8항에 있어서,
    상기 다중 멀웨어 체크는 상기 운영 체제의 메모리 매니저 모듈 또는 파일 시스템 모듈로 통합되는, 컴퓨터 판독가능 기록매체.
  11. 제8항에 있어서,
    상기 컴퓨터 프로그램 명령어는,
    상기 실행가능 파일이 컴퓨팅 장치에 설치되고 있다는 것을 판정하기 위한 명령어;
    상기 실행가능 파일이 컴퓨팅 장치에 설치되고 있다는 판정에 응답하여, 상기 실행가능 파일이 상기 다중 멀웨어 체크의 관점에서 멀웨어가 아닌 경우, 엔티티가 상기 실행가능 파일을 신뢰성 있는 것, 신뢰성에 의심이 가는 것 또는 신뢰성 없는 것으로 표시하도록 하기 위한 명령어; 및
    상기 실행가능 파일이 신뢰성 있는 것인 경우에만, 상기 실행가능 파일을 상기 컴퓨팅 장치에 설치하기 위한 명령어
    를 더 포함하는, 컴퓨터 판독가능 기록매체.
  12. 제8항에 있어서,
    상기 컴퓨터 프로그램 명령어는,
    상기 실행가능 파일의 적어도 일부가 실행을 위해 메모리로 로딩되고 있다는 것을 판정하기 위한 명령어;
    상기 실행가능 파일의 적어도 일부가 실행을 위해 메모리로 로딩되고 있다는 판정에 응답하여, 상기 실행가능 파일이 상기 다중 멀웨어 체크의 관점에서 멀웨어가 아닌 경우, 엔티티가 상기 실행가능 파일을 신뢰성 있는 것, 신뢰성에 의심이 가는 것 또는 신뢰성 없는 것으로 표시하도록 하기 위한 명령어; 및
    상기 실행가능 파일이 신뢰성 있는 것인 경우에만, 상기 실행가능 파일의 상기 적어도 일부를 실행을 위해 메모리로 로딩하기 위한 명령어
    를 더 포함하는, 컴퓨터 판독가능 기록매체.
  13. 제8항에 있어서,
    상기 실행가능 파일이 설치시 신뢰성 있는 것으로 판정되었고,
    상기 컴퓨터 프로그램 명령어는,
    상기 실행가능 파일의 설치에 후속하여, 상기 실행가능 파일이 멀웨어를 포함함을 판정하기 위한 명령어 - 상기 보호 경로는 상기 실행가능 파일의 신뢰성을 철회하는 것을 포함함 -
    를 더 포함하는, 컴퓨터 판독가능 기록매체.
  14. 운영 체제 환경에서 실행가능 파일의 신뢰 검증을 위한 컴퓨팅 장치로서,
    프로세서; 및
    상기 프로세서에 연결된 메모리
    를 포함하고,
    상기 메모리는 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령어를 포함하고,
    상기 컴퓨터 프로그램 명령어는,
    상기 실행가능 파일이 실행 경로로 도입되고 있음을 판정하기 위한 명령어 - 상기 실행 경로는 상기 실행가능 파일이 실행을 위해 메모리로 로딩되거나 설치되지 않은 것임 - ;
    상기 판정에 응답하여, 다중 멀웨어 체크로 상기 실행가능 파일을 자동으로 평가하여 상기 실행가능 파일이 멀웨어의 유형을 나타내는지 여부를 판정하기 위한 명령어 - 상기 다중 멀웨어 체크는 바이러스 체크, 스파이웨어 체크 및 코드 무결성 체크를 포함함 - ;
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되는 경우, 보호 경로를 구현하기 위한 명령어;
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되지 않고 신뢰성 있는 소스로부터 온 것인 경우, 상기 실행 경로를 허용하기 위한 명령어; 및
    상기 실행가능 파일이 멀웨어의 유형을 나타내는 것으로 판정되지 않고 신뢰성 있는 소스로부터 온 것이 아닌 경우, 시스템 관리자가 상기 실행 경로를 허용할 것인지 또는 보호 경로를 구현할 것인지를 결정하도록 하기 위한 명령어
    를 포함하는, 컴퓨팅 장치.
  15. 제14항에 있어서,
    상기 다중 멀웨어 체크는 실행 경로를 따라 운영 체제 신뢰 검증 프로세스로 통합되는, 컴퓨팅 장치.
  16. 제14항에 있어서,
    상기 컴퓨터 프로그램 명령어는,
    상기 실행가능 파일의 적어도 일부가 실행을 위해 메모리로 로딩되고 있다는 것을 판정하기 위한 명령어;
    상기 실행가능 파일의 적어도 일부가 실행을 위해 메모리로 로딩되고 있다는 판정에 응답하여, 상기 실행가능 파일이 상기 다중 멀웨어 체크의 관점에서 멀웨어가 아닌 경우, 엔티티가 상기 실행가능 파일을 신뢰성 있는 것, 신뢰성에 의심이 가는 것 또는 신뢰성 없는 것으로 표시하도록 하기 위한 명령어; 및
    상기 실행가능 파일이 신뢰성 있는 것인 경우에만, 상기 실행가능 파일의 상기 적어도 일부를 실행을 위해 메모리로 로딩하기 위한 명령어
    를 더 포함하는, 컴퓨팅 장치.
  17. 제14항에 있어서,
    상기 실행가능 파일이 설치시 신뢰성 있는 것으로 판정되었고,
    상기 컴퓨터 프로그램 명령어는,
    상기 실행가능 파일의 설치에 후속하여, 상기 실행가능 파일이 멀웨어를 포함함을 판정하기 위한 명령어 - 상기 보호 경로는 상기 실행가능 파일의 신뢰성을 철회하는 것을 포함함 -
    를 더 포함하는, 컴퓨팅 장치.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020077019176A 2005-04-07 2006-04-06 실행가능 파일의 신뢰를 검증하는 시스템 및 방법 KR101247022B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/100,770 2005-04-07
US11/100,770 US7490352B2 (en) 2005-04-07 2005-04-07 Systems and methods for verifying trust of executable files
PCT/US2006/013006 WO2006110521A2 (en) 2005-04-07 2006-04-06 Systems and methods for verifying trust of executable files

Publications (2)

Publication Number Publication Date
KR20070119619A KR20070119619A (ko) 2007-12-20
KR101247022B1 true KR101247022B1 (ko) 2013-03-25

Family

ID=37084554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077019176A KR101247022B1 (ko) 2005-04-07 2006-04-06 실행가능 파일의 신뢰를 검증하는 시스템 및 방법

Country Status (7)

Country Link
US (1) US7490352B2 (ko)
KR (1) KR101247022B1 (ko)
CN (1) CN101137963B (ko)
AU (1) AU2006235153B2 (ko)
BR (1) BRPI0607420A2 (ko)
IL (1) IL184881A (ko)
WO (1) WO2006110521A2 (ko)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004080550A2 (en) * 2003-03-10 2004-09-23 Cyberscan Technology, Inc. Dynamic configuration of a gaming system
US7577848B2 (en) * 2005-01-18 2009-08-18 Microsoft Corporation Systems and methods for validating executable file integrity using partial image hashes
US8060860B2 (en) * 2005-04-22 2011-11-15 Apple Inc. Security methods and systems
WO2006116871A2 (en) * 2005-05-05 2006-11-09 Certicom Corp. Retrofitting authentication onto firmware
GB2427048A (en) * 2005-06-09 2006-12-13 Avecho Group Ltd Detection of unwanted code or data in electronic mail
US8161548B1 (en) 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
US8705739B2 (en) * 2005-08-29 2014-04-22 Wms Gaming Inc. On-the-fly encryption on a gaming machine
US7788730B2 (en) * 2006-01-17 2010-08-31 International Business Machines Corporation Secure bytecode instrumentation facility
US7840958B1 (en) * 2006-02-17 2010-11-23 Trend Micro, Inc. Preventing spyware installation
US8201243B2 (en) * 2006-04-20 2012-06-12 Webroot Inc. Backwards researching activity indicative of pestware
US8888585B1 (en) * 2006-05-10 2014-11-18 Mcafee, Inc. Game console system, method and computer program product with anti-malware/spyware and parental control capabilities
US7877806B2 (en) * 2006-07-28 2011-01-25 Symantec Corporation Real time malicious software detection
US8065664B2 (en) * 2006-08-07 2011-11-22 Webroot Software, Inc. System and method for defining and detecting pestware
US8190868B2 (en) 2006-08-07 2012-05-29 Webroot Inc. Malware management through kernel detection
US9729513B2 (en) 2007-11-08 2017-08-08 Glasswall (Ip) Limited Using multiple layers of policy management to manage risk
EP1990724A1 (en) * 2007-05-09 2008-11-12 Telefonaktiebolaget LM Ericsson (publ) Method for locating resource leaks during software development
US20090094459A1 (en) * 2007-10-09 2009-04-09 Schneider Jerome L Method and system for associating one or more pestware-related indications with a file on a computer-readable storage medium of a computer
US20100023613A1 (en) * 2007-11-12 2010-01-28 Fujitsu Network Communications, Inc. Managing Pluggable Modules Of A Network Element
US8196213B2 (en) * 2008-07-11 2012-06-05 Microsoft Corporation Verification of un-trusted code for consumption on an insecure device
US11489857B2 (en) 2009-04-21 2022-11-01 Webroot Inc. System and method for developing a risk profile for an internet resource
US8499349B1 (en) * 2009-04-22 2013-07-30 Trend Micro, Inc. Detection and restoration of files patched by malware
US8589698B2 (en) * 2009-05-15 2013-11-19 International Business Machines Corporation Integrity service using regenerated trust integrity gather program
US8745743B2 (en) * 2009-06-09 2014-06-03 F-Secure Oyj Anti-virus trusted files database
KR101043299B1 (ko) * 2009-07-21 2011-06-22 (주) 세인트 시큐리티 악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체
EP2312485B1 (en) 2009-08-31 2018-08-08 BlackBerry Limited System and method for controlling applications to mitigate the effects of malicious software
KR101671795B1 (ko) * 2010-01-18 2016-11-03 삼성전자주식회사 동적 링크 라이브러리 삽입 공격을 방지하는 컴퓨터 시스템 및 방법
KR101138748B1 (ko) * 2010-01-22 2012-04-24 주식회사 안철수연구소 악성 코드 차단 장치, 시스템 및 방법
EP2438511B1 (en) 2010-03-22 2019-07-03 LRDC Systems, LLC A method of identifying and protecting the integrity of a set of source data
US9213838B2 (en) 2011-05-13 2015-12-15 Mcafee Ireland Holdings Limited Systems and methods of processing data associated with detection and/or handling of malware
US9721101B2 (en) * 2013-06-24 2017-08-01 Red Hat, Inc. System wide root of trust chaining via signed applications
US8782435B1 (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 using control flow signatures
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
RU2444056C1 (ru) 2010-11-01 2012-02-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ ускорения решения проблем за счет накопления статистической информации
US20120167218A1 (en) * 2010-12-23 2012-06-28 Rajesh Poornachandran Signature-independent, system behavior-based malware detection
US20120272320A1 (en) * 2011-04-25 2012-10-25 Verizon Patent And Licensing Inc. Method and system for providing mobile device scanning
US20120331303A1 (en) * 2011-06-23 2012-12-27 Andersson Jonathan E Method and system for preventing execution of malware
CN102279812B (zh) * 2011-08-08 2013-12-25 宇龙计算机通信科技(深圳)有限公司 数据保护方法和终端
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US9143530B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Secure container for protecting enterprise data on a mobile device
US8769693B2 (en) * 2012-01-16 2014-07-01 Microsoft Corporation Trusted installation of a software application
US9734333B2 (en) * 2012-04-17 2017-08-15 Heat Software Usa Inc. Information security techniques including detection, interdiction and/or mitigation of memory injection attacks
US9349011B2 (en) * 2012-05-16 2016-05-24 Fisher-Rosemount Systems, Inc. Methods and apparatus to identify a degradation of integrity of a process control system
CN103425928B (zh) * 2012-05-17 2017-11-24 富泰华工业(深圳)有限公司 电子装置的杀毒系统及方法
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
CN102890758B (zh) * 2012-10-11 2014-12-17 北京深思洛克软件技术股份有限公司 一种保护可执行文件的方法及系统
US9392077B2 (en) 2012-10-12 2016-07-12 Citrix Systems, Inc. Coordinating a computing activity across applications and devices having multiple operation modes in an orchestration framework for connected devices
US9774658B2 (en) 2012-10-12 2017-09-26 Citrix Systems, Inc. Orchestration framework for connected devices
US9516022B2 (en) 2012-10-14 2016-12-06 Getgo, Inc. Automated meeting room
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US9606774B2 (en) 2012-10-16 2017-03-28 Citrix Systems, Inc. Wrapping an application with field-programmable business logic
WO2014062804A1 (en) 2012-10-16 2014-04-24 Citrix Systems, Inc. Application wrapping for application management framework
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US9455886B2 (en) 2013-03-29 2016-09-27 Citrix Systems, Inc. Providing mobile device management functionalities
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US9413736B2 (en) 2013-03-29 2016-08-09 Citrix Systems, Inc. Providing an enterprise application store
US9270467B1 (en) * 2013-05-16 2016-02-23 Symantec Corporation Systems and methods for trust propagation of signed files across devices
CN103281325B (zh) * 2013-06-04 2018-03-02 北京奇虎科技有限公司 基于云安全的文件处理方法及装置
KR101498614B1 (ko) * 2014-02-27 2015-03-04 한국전자통신연구원 악성코드 활동 차단 장치 및 방법
US9912690B2 (en) * 2014-04-08 2018-03-06 Capital One Financial Corporation System and method for malware detection using hashing techniques
CN107408182A (zh) * 2014-11-07 2017-11-28 朴序晙 用于保护电子通信装置的保护系统、装置及方法
US10169584B1 (en) * 2015-06-25 2019-01-01 Symantec Corporation Systems and methods for identifying non-malicious files on computing devices within organizations
US10055586B1 (en) 2015-06-29 2018-08-21 Symantec Corporation Systems and methods for determining the trustworthiness of files within organizations
US10599833B2 (en) 2015-10-01 2020-03-24 Twistlock, Ltd. Networking-based profiling of containers and security enforcement
US10706145B2 (en) 2015-10-01 2020-07-07 Twistlock, Ltd. Runtime detection of vulnerabilities in software containers
US10664590B2 (en) * 2015-10-01 2020-05-26 Twistlock, Ltd. Filesystem action profiling of containers and security enforcement
US10567411B2 (en) 2015-10-01 2020-02-18 Twistlock, Ltd. Dynamically adapted traffic inspection and filtering in containerized environments
US10223534B2 (en) * 2015-10-15 2019-03-05 Twistlock, Ltd. Static detection of vulnerabilities in base images of software containers
US10943014B2 (en) 2015-10-01 2021-03-09 Twistlock, Ltd Profiling of spawned processes in container images and enforcing security policies respective thereof
US10586042B2 (en) * 2015-10-01 2020-03-10 Twistlock, Ltd. Profiling of container images and enforcing security policies respective thereof
US10693899B2 (en) * 2015-10-01 2020-06-23 Twistlock, Ltd. Traffic enforcement in containerized environments
US10922418B2 (en) 2015-10-01 2021-02-16 Twistlock, Ltd. Runtime detection and mitigation of vulnerabilities in application software containers
US10778446B2 (en) * 2015-10-15 2020-09-15 Twistlock, Ltd. Detection of vulnerable root certificates in software containers
RU2606559C1 (ru) 2015-10-22 2017-01-10 Акционерное общество "Лаборатория Касперского" Система и способ оптимизации антивирусной проверки файлов
US9838405B1 (en) 2015-11-20 2017-12-05 Symantec Corporation Systems and methods for determining types of malware infections on computing devices
US10210331B2 (en) * 2015-12-24 2019-02-19 Mcafee, Llc Executing full logical paths for malware detection
US10003606B2 (en) 2016-03-30 2018-06-19 Symantec Corporation Systems and methods for detecting security threats
JP2017187963A (ja) * 2016-04-07 2017-10-12 ルネサスエレクトロニクス株式会社 電子機器およびシステム
US10091231B1 (en) 2016-09-15 2018-10-02 Symantec Corporation Systems and methods for detecting security blind spots
WO2018060470A1 (en) * 2016-09-30 2018-04-05 AVAST Software s.r.o. System and method utilizing function length statistics to determine file similarity
US10542017B1 (en) 2016-10-13 2020-01-21 Symantec Corporation Systems and methods for personalizing security incident reports
US10922409B2 (en) * 2018-04-10 2021-02-16 Microsoft Technology Licensing, Llc Deep reinforcement learning technologies for detecting malware
CN110874467B (zh) * 2018-08-29 2023-05-02 阿里巴巴集团控股有限公司 信息处理方法、装置、系统以及处理器、存储介质
US11537716B1 (en) * 2018-11-13 2022-12-27 F5, Inc. Methods for detecting changes to a firmware and devices thereof
CN109472148B (zh) * 2018-11-15 2021-04-02 百度在线网络技术(北京)有限公司 加载热补丁的方法、装置和存储介质
US11288373B2 (en) * 2019-04-11 2022-03-29 Baidu Usa Llc Boot failure recovery scheme for hardware-based system of autonomous driving vehicles
RU2750628C2 (ru) * 2019-06-28 2021-06-30 Акционерное общество "Лаборатория Касперского" Система и способ определения уровня доверия файла
CN110611659B (zh) * 2019-08-21 2022-08-09 南瑞集团有限公司 一种电力监控系统业务本质保护方法、装置及系统
WO2021076871A1 (en) * 2019-10-18 2021-04-22 Dover Microsystems, Inc. Systems and methods for updating metadata
CN111291371A (zh) * 2020-01-10 2020-06-16 北京深之度科技有限公司 一种应用程序安全验证方法及装置
US11954007B2 (en) 2022-04-20 2024-04-09 International Business Machines Corporation Tracking usage of common libraries by means of digitally signed digests thereof
CN117032727B (zh) * 2023-10-10 2024-02-09 腾讯科技(深圳)有限公司 基于区块链的文件编译方法、装置、设备、介质及产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073239A (en) 1995-12-28 2000-06-06 In-Defense, Inc. Method for protecting executable software programs against infection by software viruses

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US6006238A (en) * 1997-01-31 1999-12-21 Network Computing Devices, Inc. Method and apparatus for migrating/shadowing data between a server and its clients
US5956481A (en) * 1997-02-06 1999-09-21 Microsoft Corporation Method and apparatus for protecting data files on a computer from virus infection
WO2001053908A2 (en) * 2000-01-18 2001-07-26 Telcordia Technologies, Inc. Method and systems for identifying the existence of one or more unknown programs in a system
WO2001092981A2 (en) * 2000-05-28 2001-12-06 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
GB2365158A (en) * 2000-07-28 2002-02-13 Content Technologies Ltd File analysis using byte distributions
US7748039B2 (en) * 2002-08-30 2010-06-29 Symantec Corporation Method and apparatus for detecting malicious code in an information handling system
US7552473B2 (en) * 2003-08-12 2009-06-23 Symantec Corporation Detecting and blocking drive sharing worms
US20060130144A1 (en) * 2004-12-14 2006-06-15 Delta Insights, Llc Protecting computing systems from unauthorized programs
US7577848B2 (en) 2005-01-18 2009-08-18 Microsoft Corporation Systems and methods for validating executable file integrity using partial image hashes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073239A (en) 1995-12-28 2000-06-06 In-Defense, Inc. Method for protecting executable software programs against infection by software viruses

Also Published As

Publication number Publication date
IL184881A (en) 2012-05-31
BRPI0607420A2 (pt) 2009-09-08
US20060230451A1 (en) 2006-10-12
IL184881A0 (en) 2007-12-03
US7490352B2 (en) 2009-02-10
WO2006110521A2 (en) 2006-10-19
AU2006235153A1 (en) 2006-10-19
KR20070119619A (ko) 2007-12-20
WO2006110521A3 (en) 2007-10-25
CN101137963B (zh) 2010-05-26
CN101137963A (zh) 2008-03-05
AU2006235153B2 (en) 2011-02-24

Similar Documents

Publication Publication Date Title
KR101247022B1 (ko) 실행가능 파일의 신뢰를 검증하는 시스템 및 방법
RU2390836C2 (ru) Отображение достоверности из высоконадежной среды на незащищенную среду
US8122256B2 (en) Secure bytecode instrumentation facility
US20060236122A1 (en) Secure boot
KR101176646B1 (ko) 상태 검증을 사용하는 보호된 오퍼레이팅 시스템 부팅을 위한 시스템 및 방법
CN102279760B (zh) 利用初始保护组件来进行设备引导
US8117441B2 (en) Integrating security protection tools with computer device integrity and privacy policy
US20080282351A1 (en) Trusted Operating Environment for Malware Detection
US20080282350A1 (en) Trusted Operating Environment for Malware Detection
KR20060083850A (ko) 부분적인 이미지 해시들을 이용하여 실행가능한 파일무결성을 검증하기 위한 시스템 및 방법
US7890756B2 (en) Verification system and method for accessing resources in a computing environment
US20200210624A1 (en) System and method for attack resiliency in verifying digital signatures of files
Msgna et al. Secure application execution in mobile devices
EP3674945B1 (en) System and method for verifying digital signatures of files
CN111538971B (zh) 用于验证文件的数字签名的系统和方法
EP3674944B1 (en) System and method for attack resiliency in verifying digital signatures of files
RU85249U1 (ru) Аппаратный антивирус
Dasgupta et al. Techniques for validation and controlled execution of processes, codes and data: A survey
Niemelä Statistical Analysis of Malware Defence Methods
Dasgupta et al. TECHNIQUES FOR VALIDATION AND CONTROLLED EXECUTION OF PROCESSES, CODES AND DATA
Kudo Trusted Com puting Infrastructure and PKI

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: 20160218

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 8