KR101442654B1 - 동작 샌드박싱용 시스템 및 방법 - Google Patents

동작 샌드박싱용 시스템 및 방법 Download PDF

Info

Publication number
KR101442654B1
KR101442654B1 KR1020127018451A KR20127018451A KR101442654B1 KR 101442654 B1 KR101442654 B1 KR 101442654B1 KR 1020127018451 A KR1020127018451 A KR 1020127018451A KR 20127018451 A KR20127018451 A KR 20127018451A KR 101442654 B1 KR101442654 B1 KR 101442654B1
Authority
KR
South Korea
Prior art keywords
executable application
execution environment
execution
environment
analysis module
Prior art date
Application number
KR1020127018451A
Other languages
English (en)
Other versions
KR20120114304A (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 KR20120114304A publication Critical patent/KR20120114304A/ko
Application granted granted Critical
Publication of KR101442654B1 publication Critical patent/KR101442654B1/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

동작 샌드박싱을 위한 방법 및 시스템이 기술된다. 하나의 예시적인 실시예에서, 동작 샌드박싱용 시스템은 네트워크와 컴퓨터를 포함할 수 있다. 네트워크는 실행가능한 애플리케이션의 소스에 통신가능하게 결합된다. 컴퓨터는 네트워크에 통신가능하게 결합되고 동작 분석 모듈과 복수의 실행가능한 환경을 포함한다. 동작 분석 모듈은 네트워크를 통해 다운로드된 실행가능한 애플리케이션에 대한 동작 분석을 수행하도록 설정된다. 복수의 실행 환경은 표준 실행 환경과 보호된 실행 환경을 포함한다. 동작 분석 모듈은 실행가능한 애플리케이션의 실행전에 실행가능한 애플리케이션이 보호된 실행 환경 내에서 시리행되어야 하는지를 판정하도록 실행가능한 애플리케이션의 복수의 동작 특성을 평가하도록 설정된다. 동작 분석 모듈은 또한 실행 환경이 변경될 수 있는지를 판정하도록 실행가능한 애플리케이션의 실행을 모니터링할 수 있다.

Description

동작 샌드박싱용 시스템 및 방법{SYSTEMS AND METHODS FOR BEHAVIORAL SANDBOXING}
(관련출원)
특허출원은 그 내용이 참조에 의해 본문에 통합된 "동작 샌드박싱용 시스템 및 방법"이라는 제하의 2009년 12월 15일 출원된, 미국 특허출원 제 12/638,660의 우선권을 주장한다.
(저작권)
본 특허 문서의 개시물의 일부는 저작권 보호 대상인 자료를 포함한다. 저작권자는 미국 특허상표국 파일 또는 기록으로 그것이 표시될 때 특허 문서 또는 특허 개시물의 임의의 사람에 의한 팩시밀리 재생에 반대하지 않지만, 그렇지 않으면 모든 저작권을 유지한다. 하기의 통지는 하기에 기술되고 본 문서의 일부를 형성하는 도면에 기술된 소프트웨어 및 데이터에 적용한다: Copyright 2009, McAfee, Inc. All rght Reserved.
다양한 실시예들은 컴퓨터 보안의 분야에 관한 것으로, 특히 실행가능한 애플리케이션의 동작 샌드박싱용 시스템 및 방법에 관한 것이지만, 그에 한정되지 않는다.
인터넷에 대한 액세스 증가는 자신의 정보 승낙없이 사용자의 개인정보를 캡처("스파이웨어")거나 사용자의 지식 및 정보 승낙없이 컴퓨터를 감염시키는(corrupt)("맬웨어") 소프트웨어에 접촉하는 것을 증가시키는 의도하지 않은 효과를 증가시켰다. 추가로, 애플리케이션이 사용되는 동안 자동으로 광고를 다운로드하고 그것을 디스플레이하는 소프트웨어("애드웨어)에서 작은 산업이 성장해왔다.
이러한 프로그램은, 사용자의 컴퓨터에 설치될 때, 사용자를 도청하고, 민감한 정보를 수집하고, 일부 경우에 사용자 컴퓨터를 제어할 수 있다. 일부 경우에, 이러한 소프트웨어 프로그램은 다른 컴퓨터 또는 서버로 메시지를 전송하고, 잠재적으로 민감한 정보의 전송을 위한 루트(conduit)를 제공한다.
소프트웨어 애플리케이션은 또한 웹 브라우저와 같은 애플리케이션에 대해 플러그인 컴포넌트 또는 기타 애드-온 타입 확장의 이용을 통해 증분으로 분할(segmented)되어 왔다. 인터넷은 이러한 애드-온 컴포넌트에 대해 탁월한 분산 메커니즘을 제공한다. 그러나, 이러한 애드-온 컴포넌트의 신뢰하지 않는(un-trusted) 소스와 신뢰할 수 있는 소스를 판정하는 것은 불가능하지 않더라도 어려운 일이다. 추가로, 평균적인 사용자는 자신이 그것을 하고 있는지조차 모른채로 애드-온 컴포넌트를 요청, 다운로드 및 설치하고 있을 수 있다.
본 발명은 무엇보다도 다운로드된 애플리케이션과 컴포넌트들을 분석하고, 동작하는 동안 상기 애플리케이션과 컴포넌트들을 모니터링하고, 호스트 시스템에 위해를 가하는 것으로부터 임의의 의심스러운 동작을 방지하기 위한 시스템 및 방법에 대한 요구를 인지하여왔다.
예시 1은 시스템을 포함할 수 있는 주제를 기술한다. 상기 시스템은 실행가능한 애플리케이션의 소스에 통신가능하게 결합된 네트워크를 포함할 수 있다. 컴퓨터가 포함될 수 있고, 네트워크를 통해 통신하도록 설정될 수 있다. 상기 컴퓨터는 동작 분석 모듈 및 복수의 실행 환경을 포함할 수 있다. 동작 분석 모듈은 상기 네트워크를 통해 다운로드된 상기 실행가능한 애플리케이션에 대한 동작 분석을 수행하도록 설정될 수 있다. 상기 복수의 실행 환경은 표준 실행 환경과 보호된 실행 환경을 포함할 수 있다. 보호된 실행 환경은 상기 실행가능한 애플리케이션에 의해 수행되는 악의적인 동작으로부터 상기 컴퓨터를 보호하는 자급식(self-contained) 실행 환경을 제공하도록 설정될 수 있다. 동작 분석 모듈은 실행가능한 애플리케이션이 상기 실행가능한 애플리케이션을 실행하기 전에 상기 보호된 실행 환경 내에서 실행되어야 하는지 여부를 판정하도록 상기 실행가능한 애플리케이션의 복수의 동작 특성을 평가할 수 있다. 추가로, 동작 분석 모듈은 실행 환경이 변경될 수 있는지를 판정하기 위해 상기 실행가능 애플리케이션의 실행을 모니터링할 수 있다.
예 2에서, 예 1의 주제는 선택적으로 상기 실행가능 애플리케이션에 연관된 특성을 평가하도록 설정된 동작 분석 모듈을 포함할 수 있다. 상기 특성은 상기 실행가능 애플리케이션의 소스가 신뢰될 수 있는지에 대한 표시를 제공할 수 있다.
예 3에서, 예 1-2 중 어느 하나의 주제는 하기의 것중 2개 이상을 포함하는 실행가능한 애플리케이션에 연관된 복수의 특성을 평가하도록 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다: 실행가능한 애플리케이션이 수신된 네트워크 어드레스; 실행가능한 애플리케이션을 요청한 프로세스의 트러스트 레벨; 신뢰할 수 있는 소스(trusted source)로부터의 서명된 인증서;및 의심스러운 정책 액티비티 또는 정책 액티비티에서 벗어난 이전의 동작.
예 4에서, 예 1-3 중 어느 하나의 주제는 상기 실행가능한 애플리케이션을 실행하기 전에 상기 실행가능한 애플리케이션이 동작하는 리소스를 분석하도록 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다.
예 5에서, 예 1-4 중 어느 하나의 주제는 보호된 실행 환경이 상기 실행가능 애플리케이션의 실행을 제어하기 위해 사용할 제한의 범위를 결정하도록 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다.
예 6에서, 예 1-5 중 어느 하나의 주제는 상기 보호된 실행 환경 내에 어떤 유형의 액티비티가 포함되어야 하는지를 판정하기 위해 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다.
예 7에서, 예 1-6 중 어느 하나의 주제는 샌드박스 환경에 의해 사용하기 위한 제한의 범위를 판정할때 보안 정책을 적용하도록 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다.
예 8에서, 예 1-7 중 어느 하나의 주제는 상기 실행가능한 애플리케이션에 의한 상기 보호된 실행 환경내에서 수행되는 동작에 대한 처리(disposition)를 판정하도록 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다.
예 9에서, 예 1-8 중 어느 하나의 주제는: 리소스 파일 열기; 플러그인 로딩; 다른 프로세스에 의한 조정; 다른 프로세스를 조정; 및 인터넷에 액세스;를 포함하는 잠재적으로 악의적인 액티비티를 검출하기 위해 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다.
예 10에서, 예 1-9 중 어느 하나의 주제는 상기 실행가능한 애플리케이션이 상기 보호된 실행 환경 내에서 실행되어야 하는지를 판정하기 위해 상기 실행가능한 애플리케이션의 복수의 동작 특성을 평가할 때 보안 정책에 적용하도록 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다.
예 11에서, 예 1-10 중 어느 하나의 주제는 상기 보호된 실행 환경내에서 실행될 상기 실행가능한 애플리케이션의 일부를 판정하도록 설정된 동작 분석 모듈을 선택적으로 포함할 수 있다.
예 12에서, 예 1-11 중 어느 하나의 주제는 상기 실행가능한 애플리케이션의 일부를 판정하도록 설정된 동작 분석 모듈을 선택적으로 포함할 수 있고, 여기서 상기 일부는: 그중에서도 파이버, 쓰레드, 프로세스, 동적 링크 라이브러리, 스크립트, 또는 플러그인 컴포넌트,를 포함할 수 있다.
예 13에서, 예 1-12 중 어느 하나의 주제는 네트워크를 통해 상기 실행가능한 애플리케이션이 수신될 수 있도록 선택적으로 설정 또는 수행될 수 있다. 동작 분석은 상기 실행가능한 애플리케이션의 실행 전에 상기 실행가능한 애플리케이션 상에서 수행될 수 있다. 실행 환경은 상기 동작 분석의 함수로서 결정될 수 있다. 상기 실행가능한 애플리케이션은 상기 동작 분석에 의해 지시된 바와 같다면, 샌드박스(보호된) 실행 환경 내에서 시작될 수 있다. 대안으로, 실행가능한 애플리케이션은 상기 동작 분석이 보호된 환경의 외부에서 상기 실행가능 애플리케이션이 안전하게 실행하는 것을 지시한다면, 제 1 실행 환경 내에서 시작(실행)될 수 있다. 상기 실행 가능 애플리케이션의 동작 특성은 상기 실행가능 애플리케이션의 실행동안 수집되고 상기 실행 위치(환경)가 실행하는 동안 변화될 수 있는 지를 판정하기 위해 동작 분석이 실시간으로 수행된다.
예 14에서, 예 1-13 중 어느 하나의 주제는 동작 분석이 상기 실행가능한 애플리케이션의 실행 이전에 수행될 수 있고 상기 실행가능한 애플리케이션의 시작으로서의 표시를 제공하는 상기 실행가능한 애플리케이션과 연관된 하나 이상의 특성을 평가하는 것을 포함할 수 있도록 선택적으로 설정 또는 수행될 수 있다.
예 15에서, 예 1-14 중 어느 하나의 주제는 동작 분석이 상기 실행가능한 애플리케이션의 실행 이전에 수행될 수 있고 상기 실행가능한 애플리케이션이 동작하는 리소스의 분석을 포함할 수 있도록 선택적으로 설정 또는 수행될 수 있다.
예 16에서, 예 1-15 중 어느 하나의 주제는, 상기 동작 분석이: 상기 실행가능한 애플리케이션이 수신되는 네트워크, 상기 실행가능한 애플리케이션에 의해 요청되는 프로세스의 트루스트 레벨, 신뢰할 수 있는 소스(상기 실행가능한 애플리케이션에 연관된)로부터의 서명된 인증서, 및 의심스러운 정책 액티비티 또는 정책 액티비티로부터 벗어난 이전의 성능,을 포함하는 하나 이상의 특징을 평가하는 것을 포함할 수 있도록, 선택적으로 설정 또는 수행될 수 있다.
예 17에서, 예 1-16 중 어느 하나의 주제는 샌드박스(보호된) 실행환경 내에서의 상기 실행가능한 애플리케이션의 실행을 시작하는 하는 것이 상기 실행가능한 애플리케이션의 실행 이전에 상기 샌드박스(보호된) 실행환경에 적용하기 위한 제한의 범위를 판정하는 것을 포함하도록 선택적으로 설정 또는 수행될 수 있다.
예 18서, 예 1-17중 어느 하나의 주제는 실행환경에 대한 제한의 범위를 판정하는 것은 샌드박스(보호된) 실행 환경내에 어떠한 유형의 액티비티가 포함되어야하는지를 판정하는 것을 포함할 수 있도록 선택적으로 설정 또는 수행될 수 있다.
예 19에서, 예 1-18 중 어느 하나의 주제는 실행환경에 대한 제한의 범위를 판정하는 단계가 상기 실행가능한 애플리케이션에 의해 샌드박스(보호된) 실행 환경내에서 수행되는 동작들의 배치를 판정하는 단계를 포함할 수 있도록 선택적으로 설정 또는 수행될 수 있다.
예 20에서, 예 1-19 중 어느 하나의 주제는 동작 특성을 수집하는 단계가 리소스 파일을 여는 단계, 플러그인을 로딩하는 단계, 다른 프로세스에 의한 조정, 다른 프로세스들을 조정하는 단계, 및 인터넷에 액세스하는 단계,를 포함하는 잠재적으로 악의적인 액티비티를 검지하는 단계를 포함할 수 있도록 선택적으로 설정 또는 수행될 수 있다.
예 21에서, 예 1-20 중 어느 하나의 주제는 실행가능한 애플리케이션을 실행시키는 실행환경을 판정하는 단계가 보안 정책을 적용하는 단계를 포함할 수 있도록 선택적으로 설정 또는 수행될 수 있다.
예 22에서, 예 1-21 중 어느 하나의 주제는 실행가능한 애플리케이션을 실행시키는 실행환경을 판정하는 단계가 샌드박스된 실행환경 내에서 실행될 실행가능한 애플리케이션의 일부를 판정하는 단계를 포함할 수 있도록 선택적으로 설정 또는 수행될 수 있다.
예 23에서, 예 1-22 중 어느 하나의 주제는 실행가능한 애플리케이션을 실행시키는 실행환경을 판정하는 단계가 샌드박스된 실행환경 내에서 실행될 실행가능한 애플리케이션의 일부를 판정하는 단계로서, 상기 일부는 파이버, 프로세스, 동적 링크 라이브러리, 스크립트 또는 플러그인 컴포넌트를 포함할 수 있는 단계를 포함할 수 있도록 선택적으로 설정 또는 수행될 수 있다.
예 24는 기계-판독가능(컴퓨터-판독가능) 매체를 포함하거나 또는 그를 포함하도록 예 1-23 중 어느 하나와 선택적으로 결합될 수 있다. 기계-판독 매체는, 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 하기의 단계들을 포함하는 동작들을 수행하도록하는 명령어들을 포함할 수 있다: 네트워크 연결을 통해 실행가능한 애플리케이션을 수신하는 단계; 상기 실행가능한 애플리케이션의 실행 전에 상기 실행가능한 애플리케이션에 대한 동작 분석을 수행하는 단계; 동작 분석 실행에 기초하여, 샌드박스 환경에서 상기 실행가능한 애플리케이션의 실행을 시작할지를 판정하는 단계; 상기 샌드박스 환경 내에서 상기 실행가능한 애플리케이션의 실행을 시작하는 단계; 상기 샌드박스 환경 내에서 상기 실행가능한 애플리케이션이 실행될 때 상기 실행가능한 애플리케이션의 동작 특성을 동적으로 모니터링하는 단계; 상기 실행가능한 애플리케이션이 상기 샌드박스 환경으로부터 제거될 수 있는지를 판정하기 위해 상기 모니터링된 동작 특성에 대한 동작 분석을 수행하는 단계; 및 상기 모니터링된 동작 특성의 동작 분석에 기초하여 상기 샌드박스 환경으로부터 상기 실행가능한 애플리케이션을 제거하는 단계.
이러한 예들은 임의의 변경 또는 조합으로 조합될 수 있다. 이러한 개관은 본 특허 출원의 주제의 개관을 제공할 의도이다. 본 발명의 배타적 또는 포괄적인 설명을 제공하는 것을 의도하지 않는다. 본 특허 출원에 관한 추가적인 정보를 제공하기 위해 상세한 설명이 포함된다.
첨부 도면의 도면에서 일부 실시예는 예시에 의해 도시되지만 한정은 아니다.
도 1은 보안을 개선하기 위해 실행가능한 애플리케이션의 동작의 샌드박싱을 채용할 수 있는 예시적인 시스템(100)을 도시하는 블록도이다.
도 2는 동작 분석에 기초하여 실행가능한 애플리케이션을 샌드박싱시키도록 설정된 예시적인 시스템을 도시하는 블록도이다.
도 3은 실행가능한 애플리케이션의 동작 분석을 제공하는 예시적인 시스템을 도시하는 블록도이다.
도 4는 실행가능한 애플리케이션의 동작 샌드박싱을 위한 예시적인 방법을 도시하는 스윔 레인(swim lane)을 가진 플로우 차트이다.
도 5는 동작 분석을 이용하여 실행가능한 애플리케이션에 대한 실행 환경을 설정하는 방법을 도시하는 스윔 레인을 가진 플로우 차트이다.
도 6은 예시에 따라 실행가능한 애플리케이션의 동작 분석시 선택적인 동작을 도시하는 플로우 차트이다.
도 7은 예시에 따라 실행가능한 애플리케이션에 대한 실행 환경을 판정할 때 선택적인 동작을 도시하는 플로우 차트이다.
도 8은 동작 분석을 이용하여 실행가능한 애플리케이션을 분석하는 예시적인 방법을 도시하는 플로우 차트이다.
도 9는 기계로 하여금 본문에 논의된 방법들 중 하나 이상을 수행하도록하는 명령어들이 실행될 수 있는 컴퓨터 시스템의 예시적인 형태로 된 기계의 블록도이다.
동작 샌드박싱용 방법 및 시스템을 제공하는 본 발명의 다양한 실시예(예시)가 본문에 개시된다. 동작 샌드박싱은, 사용자에게 다양한 소스로부터의 애플리케이션과 컴포넌트를 실행시키도록하는 유연성(flexibility)을 제공하면서, 최종 사용자 시스템을 알려진 악성 소프트웨어 및 알려지지않은 악성 소프트웨어 모두로부터 보호하기 위한 동적 매커니즘을 제공할 수 있다.
소프트웨어가 보다 용이하게 분산될 수 있고 애플리케이션이 점점 더 단편화(fragmented)되면서, 타겟 플랫폼 상에서 소프트웨어의 실행 전에 적법한 소프트웨어와 말웨어(malware) 사이를 구분하는 것이 점점 더 어려워진다. 플러그인 컴포넌트의 과도한 사용(extensive use), 런-타임 번역 코드, 및 기타 다양한 유형의 다운로드된 소프트웨어는 적법한 소프트웨어가 보다 용이하게 오염되거나(compromised) 또는 악의적 목적으로 사용되도록 한다. 잠재적으로 악의적인 소프트웨어를 포함하는 하나의 기술은 "샌드박스"로 알려진 오염 영역내에서의 알려지지 않거나 또는 위험 상태(at-risk)인 소프트웨어를 실행시키기 위한 것이다. 샌드박스 내에서 실행하는 소프트웨어(실행가능한 애플리케이션)에 의해 수행되는 동작들은 샌드박스에 대해서만 영향을 주고 더 큰 시스템 또는 현재 시스템 상에서 실행하는 다른 애플리케이션에는 영향을 주지않도록 제한된다.
일반적인 샌드박싱 솔루션은 애플리케이션 및 실시에서 유연하지 못하고, 대개 적절하게 기능하는 애플리케이션의 기능을 심대하게 제한한다. 또한 샌드박스에 대한 전통적인 접근방식은 실행가능한 애플리케이션 중 어떤 부분이 샌드박싱될 필요가 있고 샌드박스 환경을 다른 시스템 리소스 및 다른 애플리케이션(또는 메인 실행가능한 애플리케이션의 일부들)으로부터 차단시켜야하는 정도를 동적으로 판정하는 기능이 부족하다. 하기의 명세는 다른것들 중에서 이러한 문제들을 해결하기 위한 해결안을 개시한다.
동작 샌드박싱은 샌드박스 실행 환경 내에서 프로세스가 실행되어야 하는 때를 판단하기 위해 동작 분석을 이용할 수 있다. 동작 샌드박싱은 또한 상기 애플리케이션(예를 들면, 플러그인 컴포넌트) 또는 그의 일부가 샌드박싱된 환경으로부터 제거되어 표준 실행 환경 내에서 실행을 계속할 수 있는지 여부를 판정하기 위해 샌드박싱된 실행 환경 내에서 실행하는 애플리케이션을 모니터링할 수 있다.
예시에서, 샌드박스 환경은 단지 샌드박싱된 애플리케이션이 실행하는 동안 시도하는 모든 것을 포함하는 대신에 호스트 시스템을 개별 동작으로부터 선택적으로 차단하도록 설정될 수 있다. 예를 들면, 샌드박스 실행 환경은 운영체제의 설정 파일을 업데이트하는 시도(예를 들면, Windows® 레지스트리 데이터베이스에 기록하는것과 같은)만을 차단하도록 설정될 수 있다. 샌드박스 환경은 또한 특정한 입력이 샌드박싱된 애플리케이션을 통과하도록 허용하고 특정한 출력이 상기 샌드박싱된 애플리케이션으로부터 다른 로컬 또는 원격 애플리케이션으로 통신되도록 허용한다. 예를 들면, 샌드박스 환경은 샌드박싱된 애플리케이션으로 하여금 데이터베이스로부터 데이터를 판독하고 상기 데이터베이스 내의 데이터를 업데이트하도록 설정될 수 있다. 그러나, 샌드박스 환경은 동일한 애플리케이션이 데이터베이스에 완전히 새로운 기록을 추가하는 것을 방지하도록 설정될 수 있다.
하나의 예에서, 동작 분석은 일방적인 사용하에서(예를 들면, 인터넷 상의 웹페이지 브라우징) 웹 브라우저에 적용될 샌드박싱의 범위를 판정하기 위해 사용될 수 있다. 사용자가 브라우저 애플리케이션을 런칭할 때, 런칭은 시스템 모니터링 컴포넌트에 의해 검지될 수 있다. 시스템은 동작 분석 프로그램이 브라우저가 샌드박스 환경 내에서 실행되어야 하는지 그리고 샌드박스 환경 내에서 실행된다면 어느 레벨의 제한을 브라우저에 대해 정하는지를 판정하면서 브라우저 애플리케이션의 실행을 보류(hold)할 수 있다. 특정한 예시에서, 보안 정책이 사용될 제한의 범위 뿐만 아니라 샌드박스 환경 내에서 애플리케이션을 실행할지 여부를 판정하는것을 보조하도록 사용될 수 있다. 본 예시에서, 보안 정책이 체크되고 동작 분석이 동작의 브라우저의 히스토리에 대해 실시된다. 동작 분석은 브라우저 런칭시 어떤 플러그인이 자동-로딩하고 플러그인이 신뢰할 수 있는지를 검사하는 것을 포함할 수 있다. 본 예시에서, 보안 정책과 동작 분석 모두는 런칭시 표준 실행 환경에서 브라우저가 실행될 수 있다는 것을 판정한다.
현재 예시는 브라우저 애플리케이션의 런칭을 계속하는 시스템으로 계속한다. 브라우저가 런칭하는 동안, 시스템 모니터링 컴포넌트는 브라우저 애플리케이션으로부터의 모든 입출력을 인터셉트하도록 이네이블된다. 브라우저 입출력은 브라우저(또는 브라우저의 임의의 컴포넌트)의 실행 환경이 변경되어야 하는지(예를 들면, 호스트 시스템에 대한 다른 프로세스 또는 리소스를 보호하기 위해 샌드박스 실행 환경으로 이동되어야 하는지)를 동적으로 평가하기 위해 동작 분석 모듈로 공급될 수 있다.
본 예시에서, 사용자는 브라우저로 하여금 플러그인 컴포넌트를 다운로드하도록 지시하는 웹사이트로 내비게이션 한다. 시스템 모니터는 동작 분석 모듈을 위한 플러그인 컴포넌트에 대한 플러그인 다운로드 정보와 수집 정보를 인터셉트할 수 있다. 동작 분석 모듈은 플러그인 컴포넌트가 실행을 위해 샌드박스 환경으로 이동되어야 하는지를 판정하기 위해 플러그인 컴포넌트에 대해 수집된 정보를 평가할 수 있다. 일 예시에서, 동작 분석 모듈은 플러그인이 잠재적으로 위험한지를 판정하기 위해 중심의 신뢰할 수 있는 소스 데이터베이스에 대한 플러그인 컴포넌트의 서명을 체크할 수 있다. 예를 들면, 동작 분석 모듈은 TrustedSource™ 인터넷 평판 시스템(캘리포니아의 산타 클라라의 McAfee®)와 같은 온라인 평판 시스템에 대해 플러그인 컴포넌트에 연관된 URL(universal resource locator)을 체크할 수 있다.
본 예시에서, 동작 분석 모듈은 브라우저에 의해 다운로드되는 플러그인이 본질적으로 신뢰할 수 없는 소스로부터의 것이라는 것을 판정한다. 플러그인은 추가적인 분석을 위해 샌드박스 실행 환경으로 리다이렉팅된다. 다운로드되면, 동작 분석 모듈은 샌드박스 환경 내에 적용할 제한의 범위를 판정하기 위한 추가적인 분석을 수행할 수 있다. 예를 들면, 동작 분석 모듈은 플러그인이 유효한 그리고 서명된 보안 인증서를 가지고 있는지를 검사한다. 본 예시에서, 플러그인은 보안 인증서를 가지고 있지 않거나 또는 적절하게 서명되지 않았다. 따라서, 플러그인은 전적으로 시스템 모니터가 분석을 위해 모든 오퍼레이션을 인터셉트할 수 있는 샌드박스 환경 내에서 실행된다. 오퍼레이션하는 동안, 플러그인은 시스템 모니터에 의해 인터셉트되고 보류되는 디스크 입력 및 출력을 시도한다. 플러그인 실행동안, 또다른 프로세스가 디스크에 대한 입출력(I/O)을 시도하고, 추가적인 I/O의 소스가 판정되고 I/O가 허용된다(그것은 샌드박스 실행환경 외부의 애플리케이션이기 때문에).
플러그인의 실행이 완료되었을 때, 시스템 모니터는 실행의 종료를 알리고 브라우저 애플리케이션과 연관된 모니터링 레벨을 낮춘다. 실행하는 동안 플러그인 컴포넌트에 의해 수행된 오퍼레이션은 시스템으로부터 삭제되거나 선택적으로 다른 프로세스 또는 리소스를 업데이트하도록 허용될 수 있다. 예를 들면, 플러그인 컴포넌트가 URL을 북마크하도록 시도한다면, 시스템은 브라우저의 북마크로 하여금 플러그인 컴포넌트에 의해 생성된 정보로 업데이트되도록 허용할 수 있다. 시스템 모니터는 또한 미래의 이용을 위해 플러그인에 의해 수행된 오퍼레이션을 로그하도록 설정될 수 있다. 예를 들면, 플러그인 컴포넌트가 임의의 잠재적 악의의 오퍼레이션을 시도하지 않았다면, 이는 로컬 위협 데이터베이스에 로그되거나 또는 미래의 사용을 위해 중앙 온라인 평판 시스템으로 전송될 수 있다.
특정한 예시에서, 게이트웨이 시스템은 인입 실행가능한 애플리케이션을 인터셉트하고 평가하기 위해 사용될 수 있다. 게이트웨이 시스템의 예시에서, 게이트웨이 시스템은 플러그인 컴포넌트 또는 다중 시스템에 의해 재사용되는 기타 애플릿에 관한 지식 베이스를 구축하는 것을 돕기위해 각각의 클라이언트(최종-사용자 시스템)에 의해 수집된 동작 분석 정보를 사용할 수 있다.
정의
하기의 정의는 예시에 의해 주어진 것이며 한정으로서 간주되는 것을 의도하지 않는다. 당업자는 본 명세서의 문맥을 읽을때 추가적인 의미를 포함하도록 하기의 용어 중 일부를 이해할 수 있다.
실행가능한 애플리케이션-하기의 명세서의 목적으로, 실행가능한 애플리케이션은 임의의 컴파일된 바이너리 애플리케이션(예를 들면, Microsoft Windows® 환경에서의 실행가능한 애플리케이션 또는 동적 링크 라이브러리), 브라우저 플러그인 애플리케이션, 브라우저 또는 애플리케이션 스크립트(예를 들면 Javascript™ 또는 Visual Basic® 스크립트), 운영체제 제어 스크립트(예를 들면, Microsoft Windows® 환경에서의 배트(bat) 파일 또는 Unix 환경에서의 C-쉘 스크립트), 및 런타임 번역 코드 또는 애플릿(예를 들면, Java™ 애플릿, Visual Basic® Controls, Net™ 코드)을 포함할 수 있다. 실행가능한 애플리케이션은 프로세스,스레드, 파이버와 같은 다중 개별 처리 유닛을 포함할 수 있다. 추가적으로, 일부 큰 실행가능한 애플리케이션은 기본 기능을 확장 또는 개선시키기 위해 동적 링크 라이브러리(DLLs), 스크립트, 또는 플러그인 컴포넌트를 활용할 수 있다. 하기의 명세서 내에서, 실행가능한 애플리케이션은 프로세스, 애플리케이션, 실행가능한, 또는 단순히 소프트웨어라고 다양하게 부를수 있다.
샌드박스 실행 환경(Sandbox Environment)-하기의 명세서의 목적으로, 샌드박스 실행환경은 실행가능한 애플리케이션이 표준 실행환경 내에서는 가용할 수 있는 특정한 리소스 또는 디바이스에 직접 액세스하는 것을 차단하는 호스트 컴퓨팅 디바이스으이 세그먼트된 일부가 될 수 있다. 샌드박스 실행 환경은 실행가능한 애플리케이션에 의해 시도된 오퍼레이션의 다양한 제한 레벨을 제공하도록 설정될 수 있다. 이러한 명세서 전체에서, 샌드박스 실행 환경은 또한 샌드박스 환경 또는 샌드박싱된 환경이라고 부를수 있고, 용어의 일반적 의미에서의 변화는 사용시 임의의 변형에 의해 의도되지 않는다.
예시적 시스템
도 1은 보안을 개선하기 위해 실행가능한 애플리케이션의 동작 샌드박싱을 채용할 수 있는 예시적인 시스템(100)을 도시하는 블록도이다. 시스템(100)은 네트워크(105), 클라이언트 시스템(110A, 110B,...110N)(클라이언트 시스템(110)으로 집합적으로 칭한다), 게이트웨이 디바이스(120), 광역 네트워크 연결(125), 및 광연 네트워크(130)를 포함한다. 특정한 예시에서, 시스템(100)은 선택적으로 로컬 서버(140), 데이터베이스(150), 원격 시스템(160), 및 원격 데이터베이스(170)를 포함한다. 예시에서, 네트워크(105)는 클라이언트 시스템(110)을 서로 통신가능하게 연결하고 광역 네트워크(130)에 통신가능하게 연결하는 로컬 영역 네트워크(유선 또는 무선)이다. 게이트웨이 디바이스(120)는 광역 네트워크(130)에 대한 연결을 돕기위해 사용될 수 있다. 게이트웨이 디바이스(120)는 라우팅 기능, 필터링 기능, 및 프록시 기능을 포함할 수 있다. 특정한 예시에서, 게이트웨이 디바이스(120)는 원격 시스템으로부터 다운로드된 Java™ 애플릿과 같이 인입 실행가능한 애플리케이션에 대한 동작 분석을 수행하는 데에 사용될 수 있다. 게이트웨이 디바이스(120)가 인입 실행가능한 애플리케이션에 대한 동작 분석을 수행하는 예시에서, 의심스러운 실행가능한 애플리케이션의 실행은 개별 클라이언트 시스템(110) 상에서 발생할 수 있다. 일부 예시에서, 게이트웨이 디바이스(120)는 보안 정책 및/또는 동작 분석의 애플리케이션에 기초하여 알려진 악의적 실행가능한 애플리케이션을 차단하도록 설정될 수 있다.
예시에서, 데이터베이스(150)는 미래의 사용을 위해 클라이언트 시스템(110) 또는 게이트웨이 디바이스(120) 상에서 수행된 동작 분석 결과를 저장하도록 사용될 수 있다. 본 예시에서, 데이터베이스(150)에 저장된 정보는 네트워크에 연결된 시스템에 의해 이전에 사용된 실행가능한 애플리케이션에 대한 동작 분석을 수행할 때 시스템(클라이언트 시스템(110) 또는 게이트웨이 디바이스(120))에 의해 재사용될 수 있다. 특정한 예시에서, 데이터베이스(150)는 임의의 공지된 실행가능한 애플리케이션에 관한 동작 정보를 교환하기 위해 원격 데이터베이스(170)와 통신할 수 있다. 원격 데이터베이스(170)는 TrustedSource™ 또는 동작 특성의 또다른 소스와 같은 인터넷 평판 서비스 중 하나를 나타낼 수 있다.
일부 예시에서, 로컬 서버(140)는 클라이언트 시스템(110)에 의해 실행되는 실행가능한 애플리케이션의 소스가 될 수 있다. 또다른 예시에서, 원격 서버는 또한 클라이언트 시스템(110)에 의해 다운로드되는 실행가능한 애플리케이션의 소스가 될 수 있다. 또다른 예시에서, 실행가능한 애플리케이션은 인터넷 또는 사설 광역 네트워크를 통해 가용한 임의의 시스템 또는 데이터베이스로부터 다운로드될 수 있다.
도 2는 동작 분석에 기초하여 실행가능한 애플리케이션을 샌드박싱하도록 설정된 예시적인 시스템(200)을 도시하는 블록도이다. 시스템(200)은 표준 실행 환경(210), 샌드박스 실행 환경(220), 동작 분석 모듈(230), 시스템 모니터링 엔진(240), 및 리소스 제어 설비(250)를 포함할 수 있다. 예시에서, 표준 실행 환경은 신뢰할 수 있는 실행가능한 애플리케이션(예를 들면, 악의적인 액티비티를 수행하는 위협을 나타내지 않거나 또는 공지되고 신뢰할 수 있는 소스로부터 온 애플리케이션)을 실행하기 위해 사용된다. 표준 실행 환경(210)은 다중 가상 머신 또는 애플리케이션 실행을 세그먼트화하는 유사한 방법들로 세그먼트될 수 있다. 표준 실행 환경(210) 내에서, 리소스 또는 메모리 공간의 세그먼트화는 주로 성능을 원인으로 수행되고, 호스트 시스템(예를 들면, 클라이언트 시스템(110), 로컬 서버(140), 또는 게이트웨이 디바이스(120))의 보안을 개선하는 것이 필수적인 것이 아니다.
샌드박스 실행 환경(220)은 리소스 및 메모리 공간에 대해 시스템(200)의 나머지로부터 전적으로 세그먼트화되도록 설정될 수 있다. 샌드박스 실행 환경(220)은 제한된 디스크 및 메모리 공간과 같은 곳에서 리소스의 엄격하게 제어된 세트가 실행하는 실행가능한 애플리케이션을 제공할 수 있다. 샌드박스 실행 환경(220)은 또한 설정에 따라 로컬 및 원격 네트워크 액세스 모두를 제어할 수 있다. 예를 들면, 샌드박스 실행 환경(220)은 특정한 로컬 네트워크 액세스가 로컬 데이터베이스를 판독하고 그에 기록하도록 허용할 수 있지만, 잠재적으로 악의적인 동작을 제한하기 위해 임의의 액세스를 금지할 수 있다. 예시에서, 샌드박스 실행 환경은 애뮬레이션을 통해 구현될 수 있다. 애뮬레이션을 이용하여, 샌드박싱된 프로세스가 일반적인 실행 플랫폼에 반하여 고유한(natively) 것이 아니라 번역된 환경 내에서 실행된다. 또다른 예시에서, 샌드박스 실행 환경은 시스템 가상화의 이용을 통해 구현된다. 가상화는 리소스의 오퍼레이션과 프로세스 사이의 통신의 리다이렉션의 인터셉션을 허용한다. 대안으로, 가상화는 프로세스가 샌드박싱되지 않은 환경을 미러링하기 위해 실행하는 전체 동작 환경을 복제하도록 사용될 수 있다.
동작 분석 모듈(230)은 악의적인 동작의 가능성을 예측하기 위해 실행가능한 애플리케이션에 의해 수행되는 과거 또는 현재의 오퍼레이션뿐 아니라 실행가능한 애플리케이션의 특성을 분석하도록 설정될 수 있다. 동작 분석 모듈(230)은 무엇보다도 소스, 설치 프로세스, 마지막 변경, 서명, 및 암호 인증 유효성과 같은 실행가능한 애플리케이션에 관한 정보를 분석할 수 있다. 동작 분석 모듈(230)은 무엇보다도 리소스 열기, 플러그인 컴포넌트의 로딩, 인터넷 액세스, 및 설정 파일 또는 데이터베이스를 판독 및 기록하려는 시도와 같은 실행가능한 애플리케이션에 의해 수행되는 현재 모니터링되는 오퍼레이션 뿐만 아니라 과거 로그인된 오퍼레이션 또한 분석할 수 있다. 예시적인 동작 분석 시스템에 대한 추가적인 상세 사항을 위해서는 도 3에 연관된 하기 논의를 참조하라.
샌드박스 실행 환경(220) 내에서 뿐만 아니라 표준 실행 환경(210) 내에서 수행된 오퍼레이션을 모니터링하기 위해 시스템 모니터링 엔진(240)이 사용된다. 시스템 모니터링 엔진(240)은 실행가능한 애플리케이션이 잠재적으로 악의적인 동작을 시도하는지(또는 시도할 가능성이 있는지)를 판정할 때 사용하기 위해 동작 분석 모듈(230)에 중요한 정보를 제공할 수 있다. 시스템 모니터링 엔진(240)은 디스크 I/O, 네트워크 I/O, 메모리 액세스, 및 프로세서 활용까지도 포함하는 임의의 시스템 리소스에 액세스하는 시도를 인터셉트하도록 설정될 수 있다. 특정한 예시에서, 시스템 모니터링 엔진(240)은 샌드박스 환경으로부터 또는 샌드박스 환경으로의 모든 리소스 요청을 라우팅함으로써 샌드박스 환경을 생성하는 것을 돕는다. 시스템 모니터링 엔진(240)은 리소스 액세스 요청을 인터셉트하고 오퍼레이션을 계속하는 것을 허용하기 전에 소스 또는 행선지 파라미터를 변경시키도록 설정될 수 있다. 리소스의 예로는 파일, 설정 데이터베이스(주된 예시로서, Windows®에서의 레지스트리), 소수라고 하지만, 메모리를 포함할 수 있다(일반적으로 운영체제에 의한 프로세스에 의해 분리되지만, 보다 정교한 낱개로 분리된 것을 제공하기 위해 수동으로 리다이렉팅 될 수 있다).
리소스 제어 설비(250)는 설정 파일 또는 디스크 액세스와 같은 시스템 리소스의 특정 부분에 대한 액세스를 제어하기 위해 표준 실행 환경(210)과 샌드박스 실행 환경(220)에 대한 메커니즘을 제공한다. 리소스 제어 설비(250)는 시스템 리소스에 대한 액세스를 차단하는 것과 미러링된 리소스에 대한 액세스 요청의 투명한 리다이렉션을 제공한다. 예를 들면, 샌드박스 실행 환경(220)은 샌드박스 내에서 동작하는 실행가능한 애플리케이션으로 하여금 데이터베이스에 액세스하는 것을 허용하는 데이터베이스와 같은 리소스를 미러링(복사)할 수 있다. 본 예시에서, 리소스 제어 설비는 제 1 데이터베이스에 액세스하기 위한 임의의 시도를 미러링된 데이터베이스로 투명하게 리다이렉팅시킬 수 있다. 샌드박스 환경(220)은 그런다음 샌드박싱된 애플리케이션의 실행후에 미러링된 데이터베이스를 가지고 제 1 데이터베이스를 업데이트할 지를 결정할 수 있다. 일부 예시에서, 리소스 제어 설비는 가상화 방법을 포함할 수 있다. 가상화는 각각 그것들이 개별적인 하드웨어 플랫폼인 것 처럼 동작하는 단일한 하드웨어 디바이스(예를 들면, 애플리케이션 서버) 내의 다중의 완전히 세그먼트된 환경을 생성할 수 있다.
예시적인 동작 분석 시스템
도 3은 실행가능한 애플리케이션의 동작 분석을 제공하는 예시적인 시스템(300)을 도시하는 블록도이다. 시스템(300)은 복수의 이벤트 소스(302A-302D), 동작 검지 프레임워크(304), 이벤트 컬렉션(306), 필터링 플러그인(310), 규칙 호출(rule invocation) 모듈(312), 규칙 플러그인(314), 반응 핸들링 모듈(316), 반응 플러그인(318), 및 이벤트 데이터 스토어(320)를 포함한다.
도시된 바와 같이, 복수의 이벤트 소스(302A-302D)가 제공된다. 도 3의 문맥에서, 이벤트 소스는 이벤트를 식별하고, 제공하고, 및/또는 수집할 수 있는 임의의 소스를 참조한다. 특정한 예시에서, 이벤트 소스(302A-302D)는 시스템 모니터링 엔진(240)에 의해 제공될 수 있다. 사용자 모드 이벤트 소스(302A)는 사용자 인터페이스를 모니터링하고 사용자 인터페이스에 대응하는 이벤트를 수집하기위해 이용될 수 있다. 이러한 경우에, 모니터링은 인터페이스의 실행을 모니터링하는 것을 포함할 수 있다. 다양한 예시에서, 이는 인-라인 후킹(in-line hooking), 인터페이스 포인터 리다이렉션, 및/또는 내재한 설비 또는 운영체제에 의해 제공되는 호출(callback)을 이용하여 수행될 수 있다.
추가로, 파일 시스템 필터(302B)는 파일 시스템에 대응하는 이벤트를 수집하도록 이용될 수 있다. 추가로, 네트워크 필터(302C)는 네트워크에 연관된 이벤트를 수집하도록 활용될 수 있다. 임의의 이벤트 소스가 사용자에 의해 요구될 때 활용될 수 있고, 또는 조직적인 보안 정책에 따라 설정될 수 있다는 것에 주의해야 한다. 예를 들면, 로그 플레이백 인터페이스(302D)는 플레이백 메커니즘 또는 사용자가 모니터링 하기 위해 뽄는 임의의 기타 이전의 소스에 연관된 이벤트를 모니터링하도록 활용될 수 있다. 이러한 방식으로, 사용자는 임의의 이벤트 소스를 선택하고 플러그인할 수 있다.
추가로 도시된 바와 같이, 이벤트 소스(302A-302D)는 복수의 처리 모듈 및 이벤트 데이터 스토어(320)를 포함하는 동작 검출 프레임워크(304)와 통신한다. 추가로, 동작 검출 프레임워크(304)의 기능을 가지고 동작할 수 있는 복수의 플러그인(310, 314, 및 318)을 포함하는 동작 코어 컨텐츠 모듈(308)이 제공된다.
도 3의 문맥에서, 플러그인은 특정한 유형의 액티비티내에서 참여를 등록하는 실행가능한 컴포넌트를 참조한다. 예를 들면, 플러그인은 파일 생성 이벤트가 공개될 때 호출을 위해 동작 검출 프레임워크(304)내에 등록할 수 있다. 플러그인(310, 314, 및 318)은 다양한 모듈내에서의 처리에 액티브하게 참여하기위해 사용될 수 있다. 다양한 예시에서, 데이터를 유용한 폼으로 조정하고, 데이터를 스크린 및 필터링하고, 노이즈를 필터링하고, 이벤트 포맷을 표준화된 또는 사용자 정의의 포맷으로 변경시키는 것등을 위해 플러그인이 활용될 수 있다.
동작시, 이벤트는 이벤트 소스(302A-302D)에 의해 제공되고 이벤트 수집 프로세스(306)의 일부로서 수집될 수 있다. 상술한 바와 같이, 이벤트 소스는 임의의 이벤트 소스를 포함하고 사용자(예를 들면, 소비자 등)에 의해 제공될 수 있다. 하나의 예시에서, 이벤트의 처리는 소비자 플러그인인 이벤트 핸들러에 의해 수행될 수 있다. 이러한 경우, 이벤트 처리는 데이터 스토어(320)내의 관심 이벤트를 대조해보는 것을 포함할 수 있다.
선택으로서, 이벤트 정규화가 수집된 이벤트에 대해 수행될 수 있다. 도 3의 문맥에서, 이벤트 정규화는 이벤트 소스와 밀접하게 연관된 로(raw) 폼으로부터 일반적인 또는 정규화된 폼으로의 변환 이벤트를 참조한다. 즉, 이벤트 정규화는 이벤트 소스의 포맷에 상관없이(format agnostic) 인터셉트된 로 이벤트를 재발급하는 것을 포함할 수 있다. 일부 경우에, 로 이벤트는 시스템 모니터(예를 들면, 이벤트 소스 등)에 의해 발급(published)될 수 있다. 예를 들면, 파일 시스템 필터는 인터셉트된 파일 오퍼레이션에 응답하여 로 이벤트를 발급할 수 있다.
하나의 예시에서, 플러그인(예를 들면, 로 이벤트 핸들러)은 이벤트를 정규화하고 정규화된 결과를 발급할 수 있다. 예를 들면, 이벤트 핸들러 플러그인은 엔트리를 데이터 스토어(320)에 이벤트의 액터 및 타겟을 위해 위치시킬 수 있다. 이러한 아이템들에 대한 데이터 스토어 엔트리가 존재하지 않는다면, 엔트리가 생성될 수 있다.
플래그 및 경로명과 같은 이벤트 상세사항은 그런다음 이벤트 소스에 관계없이 카테고리내의 모든 이벤트에 대해 사용되는 표준화된 포맷으로 변환될 수 있다. 이러한 변환은 특정한 카테고리에 대한 다중 이벤트 소스에 대해 구현될 수 있다. 예를 들면, 파일 오퍼레이션은 커널 모드 파일 시스템 필터(320B)와 사용자 모드 인터페이스 모니터(302A)에 의해 인터셉트될 수 있다.
이들 이벤트 소스로부터의 로 이벤트는 필수적으로 동일한 구조를 가지지 않을 것이다. 사용자로 하여금 이들 이벤트 소스의 상세사항에 관계없이(agnostic) 되도록 허용하는 정규화된 이벤트가 발급되도록 이들 차이를 해결하기 위한 이벤트 정규화가 구현될 수 있다. 이러한 방식으로, 동작 코어 컨텐츠 모듈(308)에 포함된 플러그인이 이벤트 정규화를 수행하기 위해 활용될 수 있다.
선택으로서, 이벤트 정규화는 또한 이벤트의 액터와 타겟 사이와 같은, 데이터 스토어 아이템 사이의 관계의 연관성을 포함할 수 있다. 하나의 예시에서, 공통의 이력을 공유하는 다수의 데이터 스토어 아이템 사이의 연관성을 형성하면서, 이러한 연관성은 누적적이 될 수 있다. 공통의 이력을 공유하는 다수의 데이터 스토어 아이템 사이의 연관성을 형성하는것에 관한 더 많은 정보가 본문에 참조에 의해 그 전체가 통합된, 2008년 7월 22일 출원된 미국 특허 출원 번호 12/177,601, "원하지 않는 액티비티를 검출하기 위해 이벤트 관계를 포함하는 데이터 구조를 활용하는 시스템, 방법 및 컴퓨터 프로그램 제품"에서 볼 수 있다.
규칙 분석 대조 이벤트는 그런다음 규칙 호출 모듈(312)의 일부로서 정규화된 이벤트 데이터를 검사할 수 있다. 규칙 호출 모듈(312)은 수신된 이벤트에 의해 트리거될 수 있다. 선택으로서, 규칙의 평가는 원하지 않는 또는 기타 미리정해진 액티비티의 검출을 몰아낸다(drive).
하나의 예시에서, 이들 규칙은 사용자 선택 규칙 플러그인(314)이 될수 있고, 여기서 규칙 평가는 이벤트 핸들러에 의해 초기화된다. 또다른 예시에서, 규칙은 또한 다른 연관된 하위 규칙들을 발생시킬 수 있다. 추가적으로, 규칙은 대조된 이벤트 정보의 데이터 스토어(320)에 액세스할 수 있다.
규칙은 대조된 데이터를 평가하고 검출이 이루어질 수 있는지를 판정하기 위해 사용된 규칙을 포함할 수 있다. 이들 검출은 악성코드 액티비티, 부적절한 데이터의 전송(예를 들면, 데이터 누설 방지등에 관해), 또는 기타 관심 액티비티를 포함할 수 있다. 선택으로서, 규칙은 사용자(예를 들면, 소비자 등)에 의해 생성될 수 있다. 추가로, 규칙은 이벤트를 식별하기 위해 사용된 하나 이상의 이벤트 소스에 대해 독립적이 될 수 있다.
상술한 바와 같이, 규칙 평가는 플러그인으로서 등록한 핸들러에 의해 수행될 수 있다. 규칙은 동작 검출 프레임워크(304)를 통해 호출될 수 있다. 선택으로서, 탑 레벨 규칙은 이벤트 핸들러로부터 호출될 수 있다. 이들 탑 레벨 규칙은 차례로 대조된 데이터의 분석에 의해 결정된 하위 규칙들을 호출할 수 있다. 이들 하위 규칙들은 차례로 다른 하위 규칙 등을 호출할 수 있다.
다양한 예시에서, 규칙 평가 플러그인(314)은 직접 분석을 수행하거나, 또는 번역 언어로 기록된 서브-로직을 호출할 수 있다. 이들의 사용은, 그의 태스크가 적절한 하위 규칙 스크립트로 언어 번역기를 호출하고 동작 검출 프레임워크(304)로 다시 결과를 통신하는 심(shim)으로서 등록된 플러그임이 기능하도록 하면서, 다수의 규칙 로직이 규칙을 만든 사람에 의해 보다 용이하게 사용된 전용 번역 언어 스크립트로 기록될 수 있도록 한다. 이는 규칙 세트 사이에 규칙의 로직을 재사용하는 것을 돕는 유연하고 동적인 규칙 로직이 생성될 수 있도록 한다.
도 3에 도시되지 않았지만, 검출 핸들러는 또한 특정한 유형의 검출이 발급될 때 호출을 위한 플러그인으로서 등록할 수 있다. 하나의 예시에서, 검출은 구칙 핸들러에 의해 발급될 수 있다. 검출 핸들러 등록을 지지하는 것은 교차 기능(cross-functional) 방식으로 정보를 공유하는 것을 허용한다.
예를 들면, 검사되지않은(unvetted) 웹사이트로부터의 브라우저 플러그인의 다운로드와 같은 고위험 액티비티의 검출은 브라우저 스크립트 스캐너에 대해 관심의 대상일 수 있다. 스크립트 스캐너는 이들 플러그인이 고 레벨의 스캐닝의 대상이 될 수 있게 한다. 추가로, 호스트 침입 방지 제품이 또한 다운로드시 관여되고 스크립트를 격리시킬 수 있다. 마지막으로, 스크립트가 다운로드되는 웹 사이트가 검사되지 않았다고 판정하는 것은 웹사이트 분석 툴에 의한 검지의 발급을 통해 발표되었을 수 있다.
규칙에 기초한 미리정해진 액티비티의 검출에 응답하여, 반응이 반응 핸들링 모듈(316)의 일부로서 취해진다. 하나의 예시에서, 이들 반응의 핸들링은 반응 플러그인(318)에 의해 제공될 수 있다. 다양한 예시에서, 반응은 프로세스를 종료시키는 단계, 오퍼레이션을 차단하는 단계, 및/또는 선택적인 스캔 오퍼레이션 등을 수행하는 단계들을 포함할 수 있다. 선택적인 스캔 오퍼레이션을 수행하는 것에 관한 더 많은 정보는 참조에 의해 그 전체가 본문에 통합된, 2008년 4월 29일 출원된, 미국 특허출원 번호 제 12/111,851, "시스템에 적용된 보안 레벨을 동적으로 조정하기 위한 시스템, 방법, 및 컴퓨터 프로그램 제품"에서 볼수 있다.
반응 핸들러는 특정한 유형의 반응이 요청될 때 호출을 위한 플러그인으로서 등록할 수 있다. 이들 반응 핸들러는 그런다음 반응을 수행할 수 있다. 이는 동작 검출 프레임워크(304)의 사용자들 사이에서 반응의 유형들의 재사용을 허용하고, 검출에 반하는한 시스템 모니터링 레벨의 변형과 같은 교차-기능 애플리케이션을 지원한다.
이는 또한 반응이 발생할지를 좌우하는 최종 노드(end-node)에 대한 정책의 적용을 허용한다. 예를 들면, 프로세스를 종료하기 위해 요청된 반응은 먼저 로컬로 적용된 정책에 대해 반응 핸들러에 의해 체크될 수 있다. 정책은 반응이 로그되었지만 그 최종 노드에 대해 실제로 취해지지 않았다는 것을 표시할 수 있고, 이는 새로운 안티-악성코드 컨텐츠가 최초로 사용될 때 구현될 수 있다.
함수 도메인(function domain) 내에서의 검출은 그런다음 동작 검출 프레임워크(304)내에서의 이벤트로서 발급될 수 있다. 이러한 방식으로, 사용자(예를 들면, 소비자 등)는 동작 분석 프레임워크(304)의 임의의 영향을 제한하고 동적으로 조정하는 것을 모두 할 수 있다. 이러한 시스템 영향은 CPU 사용, 메모리 소비, I/O 대역폭, 등을 포함할 수 있다. 추가로, 하나의 함수 도메인내에서로부터의 검출은 다른 함수 도메인과 공유되거나 또는 전체 분석에 대한 중앙 도메인 내에서 평가될 수 있다.
이벤트의 처리, 대조된 데이터의 저장, 및 데이터의 분석은 모두 시스템 리소스를 사용한다. 동작 검출 프레임워크(304)를 이용하여, 사용자는 이러한 리소스 사용에 대한 상위 제한을 설정하고 대조된 데이터의 동작 분석에 반응하여 리소스 사용을 동적으로 제어할 수 있다. 리소스 사용을 제어하는 하나의 기술은 시스템 모니터링 및 스캐닝 액티비티를 조정하는 것에 의한 것이다. 시스템 모니터링 및 스캐닝 액티비티를 조정함으로써 리소스 사용을 제어하는 것에 관한 보다 많은 정보는 그 전체가 본문에 참조에 의해 통합된, 2008년 4월 29일 출원된, 미국 특허출원 번호 제 12/111,851, "시스템에 적용된 보안 레벨을 동적으로 조정하기 위한 시스템, 방법, 및 컴퓨터 프로그램 제품"에서 볼수 있다.
하나의 예시에서, 액티비티는 전체 시스템 리소스 사용을 제어하기 위해 가상 머신내에서 조정될 수 있다. 이러한 가상 머신 사이의 조절(intra-virtual machine throttling)은 가상 머신 내에서 동작하는 동작 분석 프레임워크(304)의 인스턴스의 리소스 사용을 제어하는 것에 적용될 수 있다.
추가로, 사용자는 분석 프로세스의 모든 포인트에 참여하도록 플러그인 할 수 있다. 추가로, 사용자 기능은 설치되고, 제거되고, 업그레이드될 수 있고, 그것들의 사용은 설비의 변경없이 변경될 수 있다. 사용자는 또한 추후의 참조와 조정을 위해 데이터 스토어(320) 내의 이벤트와 연관된 데이터를 대조할 수 있다. 추가로, 사용자는 이벤트 소스의 상세와 관계없는(agnostic) 동작 분석 규칙을 기록할 수 있다.
이러한 방식으로, 동작 검출 프레임워크(304)의 사용이 전적으로 사용자에 의해 도출될 수 있다. 예를 들면, 사용자는 이벤트 생성자, 이벤트 필터, 이벤트 소비자, 규칙 평가자, 검출 핸들러, 및 반응 제공자로서 플러그인 할 수 있다.
이러한 플러그인 모델은 서브-컴포넌트와 그의 검출 결과를 공유하는 동작 검출 프레임워크(304)의 소비자의 구축을 돕는다. 플러그인은 임의의 실행가능한 컴포넌트를 포함하고 그의 분석을 직접적으로 수행하거나, 또는 번역된 언어로 기록된 서브-로직을 호출할 수 있다. 예를 들면, 번역된 규칙 언어는 규칙 평가자 플러그인에 의해 호출될 수 있다.
하나의 예시에서, 플러그인 지원은 모든 유형의 플러그인에 대해 대칭이 될 수 있다. 이러한 경우, 모든 플러그인은 동작 검출 설비 내의 클라이언트가 볼수있는(client-visible) 모든 액티비티가 액션의 발급에 의해 도출되도록 허용하고, 클라이언트로 하여금 특정유형의 액션이 발급되었을때 호출에 대해 콜백(callback)을 등록하도록 하고, 클라이언트 콜백이 동작 검출 프레임워크(304)에 의해 호출되도록하고, 클라이언트 콜백이 액션을 발급하도록 허용한다.
하나의 예시에서, 동작 검출 프레임워크(304)의 배치는 호스트 환경(예를 들면, 클라이언트 시스템(100))에 의해 지원되는 모든 시스템 모니터링 기술을 이용하여 시작할 수 있다. 이러한 경우, 호스트 환경은 보안 소프트웨어의 호스트를 참조한다. 예를 들면, 호스트는 운영체제 또는 웹 브라우저 등을 포함할 수 있다.
호스트 환경은 동작 검출 프레임워크(304)를 포함하는 보안 소프트웨어를 로딩하고, 적어도 기본적인 기능을 제공할 수 있다. 이러한 기본 기능 중 일부는 파일 시스템 모니터링, 네트워크 모니터링, 및 설정 데이터베이스의 모니터링 업데이트(예를 들면, 모니터링 레지스트리 오퍼레이션등)를 포함할 수 있다.
선택으로서, 본 시스템 모니터링의 이벤트 핸들러는 이벤트 필터 및 이벤트 생성자로서 기능할 수 있다. 이러한 핸들러는 시스템 모니터링 통지를 검사하고 관심의 대상이 아닌 통지를 필터링하기 위해 활용될 수 있다. 나머지 통지로부터, 핸들러는 동작 검출 프레임워크(304)를 가지고 이벤트를 발급할 수 있다.
하나의 예시에서, 이벤트는 동기화하여 발급되고, 여기서 원래의 오퍼레이션은 이벤트가 발급되고 서비스되는 동안 보류된다. 또다른 예시에서, 이벤트는 비동기적으로 발급될 수 있고, 여기서 원래의 오퍼레이션은 이벤트가 발급되고 서비스되는 동안 진행하도록 허용된다. 또다른 예시에서, 이벤트는 원래의 오퍼레이션으로서 동일한 컨텍스트내에서 발급될 수 있다. 또다른 예시에서, 이벤트는 상이한 컨택스트 내에서 발급될 수 있고, 특히 중앙 컨택스트 모니터링 동작이 다수의 컨택스트 내에서 발생한다. 예를 들면, 시스템 모니터링 엔진(240)은 시스템(200)과 같은 호스트 시스템 내에서 설정된 각각의 실행 환경 내에서 발생하는 동작들을 모니터링하기 위해 중앙 컨택스트 모니터링 시스템으로서 설정될 수 있다. 이러한 개념은 또한 각각의 클라이언트 시스템(110) 내에서 발생하는 오퍼레이션을 모니터링하기 위해 중앙 컨택스트 모니터링 시스템으로서 설정될수 있는 로컬 서버(140)의 조직적인 레벨에 적용될 수 있다.
예시에서, 컨택스트는 이벤트가 동작 검출 프레임워크(304) 내에서 서비스될 수 있는 것을 정의한다. 하나의 예시에서, 그 이벤트에 대해 등록된 이벤트 사용자만이 이벤트 통지를 받을 것이다. 예를 들면, 파일 생성 오퍼레이션은 특정 프로세스의 컨택스트 내에서(예를 들면, 샌드박스 실행 환경(220)내에서) 인터셉트될 수 있다. 이벤트가 그 컨택스트에 대해 발급되면, 그 프로세스의 컨택스트에 대해 등록된 이벤트 사용자만이 그 이벤트를 볼 수 있다. 이벤트가 더 큰 시스템-광역(system-wide) 컨택스트에 대해 발급된다면, 그 시스템-광역 컨택스트에 대해 등록된 이벤트 핸들러가 이벤트를 볼 수 있다.
동작 검출 프레임워크(304)는 다양한 컨택스트를 포함할 수 있다. 예를 들면, 하나의 예시에서, 컨택스트는 사용자 모드 오퍼레이션이 특정 프로세스 전용인 로컬 컨택스트를 포함할 수 있다. 이러한 경우, 관심 프로세스 당 하나의 로컬 컨택스트가 있을 수 있다.
또다른 예시에서, 컨택스트는 커널-모드 컨택스트를 포함할 수 있다. 이러한 경우에, 커널 모드 오퍼레이션은 모든 프로세스를 커버할 수 있다. 또다른 예시에서, 컨택스트는 로컬 및 커널-모드 컨택스트로부터 시스템-광역 컨택스트에 발급된 이벤트에 대한 총합인 시스템-광역 컨택스트를 포함할 수 있다. 이러한 경우, 시스템 당 하나의 시스템-광역 컨택스트가 있을 수 있다. 또다른 예시에서, 컨택스트는 시스템-광역 컨택스트로부터 네트워크-광역(network-wide) 컨택스트에 발급된 이벤트에 대한 총합인 네트워크-광역 컨택스트를 포함할 수 있다.
선택으로서, 발급의 계층이 사용될 수 있다. 이러한 경우, 로컬 및 커널-모드 컨택스트에서 볼 수 있는 모든 이벤트가 시스템-광역 이벤트로 발급될 수 있는 것은 아니고, 충분한 관심의 것들만 발급될 수 있다. 이러한 방식으로, 대부분의 이벤트는 원래 오퍼레이션의 컨택스트 내에서 서비스될 수 있다. 이는 필수적으로 이벤트를 시스템-광역 컨택스트로 발급하는 고정비(overhead)를 최소화하는 보다 효율적인 동작 검출 모델을 허용한다. 네트워크-광역 컨택스트에 대한 발급은 덜 빈번하고, 불필요한 고정비를 방지할 수 있다.
하나의 예시에서, 이러한 계층 내에서의 이벤트의 전파 제어는 이벤트 핸들러 또는 보다 큰 유연성을 위해 규칙 쿼리에 의해 직접 제어될 수 있다. 이벤트 핸들러가 활용되면, 반응 핸들러는 상이한 레벨의 컨택스트 계층에 대한 이벤트의 재발급을 수행할 수 있다.
상술한 바와 같이, 이벤트 소비자는 특정 유형의 이벤트가 소비자가 그 안에 등록한 컨택스트에서 발급될 때 통지를 수신하도록 등록할 수 있다. 통지는 이러한 조건을 만족하는 이벤트 발급시 호출될 수 있다. 선택으로서, 이벤트 소비자는 이벤트내에 포함된 데이터를 검사할 수 있다. 소비자는 또한 데이터 스토어(320)에서의 엔트리를 검색, 생성 및 변조시킬 수 있다. 소비자는 차례로 자신에 속하는 이벤트를 발급하고, 규칙을 호출하고, 검출을 발급하고, 및 반응을 생성할 수 있다.
예시로서, 원래 오퍼레이션 인터셉션의 핸들러에 의해 발급된 이벤트의 소비자는 규칙 평가자에 의해 추상화된(abstracted) 소비를 보조하기 위해 정규화된 이벤트로서 이들 이벤트를 재발급할 수 있다. 이러한 사용시, 최초 발급된 이벤트를 로 이벤트라고 하며, 자신의 기능이 이들 이벤트를 일반적인 폼으로 추상화하고 로 이벤트를 정규화된 이벤트로서 재발급하는 이벤트 소비자에 의해서만 볼수 있다. 액터 및 타겟에 대한 엔트리와 같은 데이터 스토어(320)내의 연관된 엔트리의 위치는 정규화 프로세스에 포함될 수 있다. 연관된 엔트리는 또한 인터셉트된 오퍼레이션의 원래의 프로세스 또는 쓰레드에 대한 데이터 스토어 엔트리 및 파일에 대한 것과 같은 오퍼레이션의 타겟에 대한 데이터 스토어 엔트리를 포함할 수 있다.
데이터 스토어(320)가 이벤트 데이터를 대조하는데에 사용되는 리포지토리를 포함할 수 있다는 것에 유의해야 한다. 추가로, 아이템은 수신된 이벤트에 대한 액터 및 타겟을 추적하기 위한 아이템을 포함하는, 임의의 사용자 목적을 위해 데이터 스토어(320)에서 생성될 수 있다. 예를 들면, 파일의 인터셉션에 반응하여, 오픈 엔트리가 파일을 여는 프로세스 및 실제 파일에 대해 생성될 수 있다.
다양한 예시에서, 데이터 스토어(320)는 아이템을 추가, 검색 및/또는 업데이트하는 것을 지원할 수 있다. 데이터 스토어(320)는 부모(parents)와 자식(children), 액터와 타겟 사이와 같은 아이템들 사이의 연관성과, 공통 이력을 공유하는 객체의 형성을 지원할 수 있다. 데이터 스토어(320)는 이벤트 핸들러, 이벤트 발급자, 검출 핸들러, 규칙 평가자, 및 반응 핸들러 등에 의해 사용될 수 있다.
상기 논의된 예시적인 동작 분석 시스템에 관한 보다 많은 정보는, 본문에 그 전체가 참조에 의해 통합된, 2008년 9월 2일 출원된, 미국 특허출원 번호 제 12/202,952, "복수의 계층적 레벨의 처리를 통한 이벤트 전파를 위한 동작 분석 시스템, 방법 및 컴퓨터 프로그램 제품"에서 볼 수 있다.
동작 샌드박싱의 예시적인 방법
하기의 예시는 동작 샌드박싱이 개별 컴퓨팅 디바이스 또는 전체 네트워크를 악의적인 실행가능한 애플리케이션으로부터 어떻게 동적으로 보호하도록 사용될 수 있는 지를 예시한다.
도 4는 실행가능한 애플리케이션의 동작 샌드박싱에 대한 예시적인 방법(400)을 도시하는 스윔 레인을 가진 플로우 차트이다. 방법(400)은 402에서 실행가능한 애플리케이션을 수신하고, 404에서 동작 분석을 하고, 406에서 실행가능한 환경을 판정하고, 408에서 실행가능한 애플리케이션을 샌드박싱하도록 결정하고, 410에서 실행가능한 애플리케이션을 실행시키고, 412에서 동작 분석을 하고, 414에서 실행가능한 환경이 변경되어야 하는지를 판정하고, 416에서 실행가능한 애플리케이션을 샌드박싱하도록 결정하고, 420에서 실행가능한 애플리케이션을 실행시키고, 422에서 동작 분석을 하고, 424에서 실행가능한 환경이 변경되어야 하는지를 판정하고, 및 426에서 당신의 경우에 실행가능한 샌드박스 환경을 제거하는, 오퍼레이션을 포함한다.
본 예시에서, 방법(400)은 시스템(200)이 실행가능한 애플리케이션을 수신 또는 로딩하는 것으로 402에서 시작한다. 404에서, 방법(400)은 동작 분석 모듈(230)이 실행가능한 애플리케이션에 대해 동작 분석을 수행하는 것으로 진행한다. 하나의 예시에서, 동작 분석 모듈(230)은 원래의 실행가능한 애플리케이션에 대한 자신의 부속물을 포함하는 이벤트의 이력을 수집할 수 있다. 동작 분석 모듈(230)은 실행되려고 하는 실행가능한 애플리케이션의 이력을 검사할 수 있다. 동작 분석 모듈(230)은: 인터넷으로부터의 다운로드, 신뢰할 수 있는 프로세스에 의한 설치, 코드 변조, 신뢰할 수 있는 소스로부터의 암호화되어 서명된 인증서, 또는 미리 실행될 때 의심스러운 정책 또는 정책에서 벗어난 액티비티의 성능,과 같은 이벤트에 대한 실행가능한 애플리케이션 이력을 분석할 수 있다.
본 예시에서, 방법(400)은 동작 분석 모듈(230)이 실행가능한 애플리케이션이 어떤 유형의 실행 환경 내에서 실행될지를 판정하는 것으로 406에서 계속한다. 예를 들면, 실행가능한 애플리케이션을 신뢰할 수 있다고 동작 분석 모듈(230)이 판정한다면, 방법(400)은 표준 실행 환경(210)내에서 실행가능한 애플리케이션을 런칭할 수 있다. 실행가능한 애플리케이션이 잠재적으로 악의적인 액티비티를 수행한다고 동작 분석 모듈(230)이 판정한다면, 408에서 방법(400)은 실행가능한 애플리케이션을 샌드박스 실행 환경(220)과 같은 샌드박스 실행 환경으로 리다이렉팅한다. 실행가능한 애플리케이션이 샌다박스 실행환경(220)에서 실행된다면, 샌드박스 실행 환경(220)이 실행가능한 애플리케이션을 실행시키는 것으로 방법(400)이 420에서 진행된다.
실행가능한 애플리케이션이 샌드박스 실행환경(220)내에서 실행하고 있는 예시에서, 동작 분석 모듈(230)이 실행가능한 애플리케이션이 동작하고 있는 동안 동작 분석을 수행하는 것으로 방법(400)이 422에서 진행한다. 본 예시에서, 동작 분석 모듈(230)은 그것이 샌드박스 환경(220)내에서 실행될 때 실행가능한 애플리케이션에 관한 정보를 계속해서 동적으로 업데이트 시킨다. 424에서, 실행가능한 환경이 변경될 수 있는지를 동작 분석 모듈(230)이 판정하는 것으로 방법(400)이 진행한다. 예를 들면, 실행가능한 애플리케이션을 동적으로 모니터링한 후에, 실행가능한 애플리케이션이 더 이상 시스템(200)에 대해 위협을 나타내지 않는다고 동적 분석 모듈(230)이 판정한다면, 실행가능한 애플리케이션은 샌드박스 환경(220)으로부터 제거될 수 있다. 실행가능한 애플리케이션이 샌드박스 환경(220)으로부터 제거될 수 있다면, 방법(400)은 샌드박스 환경(220)으로부터 실행가능한 애플리케이션을 표준 실행 환경(210)으로 이동시킴으로써 426에서 진행할 수 있다. 실행가능한 애플리케이션이 샌드박스 환경(220)으로부터 제거될 수 없다면, 426에서, 방법은 오퍼레이션(420)으로 다시 루프 백(loop back)하여 실행가능한 애플리케이션이 완료되거나 또는 샌드박스 환경(220)으로부터 이동될 때까지 계속한다.
다시 오퍼레이션(4008)으로 이동시키면서, 실행가능한 애플리케이션이 표준 실행 환경(210)내에서 실행될 수 있다고 동작 분석 모듈(230)이 판정한다면, 시스템(200)이 표준 실행 환경(210)내에서 실행가능한 애플리케이션을 실행시키는 것으로 방법(400)이 410에서 진행한다. 412에서, 방법(400)은 동작 분석 모듈(230)이 그것이 표준 실행 환경(210)내에서 실행하고 있을때 실행가능한 애플리케이션에 대한 동작 분석을 수행하는 것으로 진행한다. 오퍼레이션(412)에서, 시스템(200)은 악의적(또는 의심스러운) 동작에 대한 임의의 사인을 위해 실행가능한 애플리케이션을 동적으로 모니터링한다. 동작 분석 모듈(230)은 악의적 오퍼레이션에 대한 시스템(200) 노출을 증가시키는 이벤트를 관찰한다. 동작 분석 모듈(230)에 의해 관찰된 이벤트는: 리소스 파일 또는 데이터베이스 열기, 플로그인 로딩(예를 들면, 라이브러리 또는 DLL과 같은 스크립트 및 기타 실행가능한 것들), 다른 프로세스에 의해 조정, 다른 프로세스의 조정, 네트워크에 대한 액세스, 인터넷에 대한 액세스, 또는 소수라고는 하지만 양호한 사이트로 알려진 리스트를 벗어난 인터넷 상의 사이트(예를 들면, 블랙리스트 사이트)에 대한 액세스,를 포함할 수 있다.
414에서, 실행가능한 환경이 실행가능한 애플리케이션의 모니터링된 동작 특성에 기초하여 변경되어야 하는지를 동작 분석 모듈(230)이 판정하는 것으로 방법(400)이 진행된다. 오퍼레이션(412)에서 수행된 동적 동작 분석은 시스템(200)으로 하여금 그것이 실행하고 있는 동안 실행가능한 애플리케이션(또는 실행가능한 애플리케이션의 일부)의 실행가능한 환경을 변경시키는 것을 허용한다. 이는 시스템(200)으로 하여금 자기자신을 안전한 것으로 보이지만 악의적인 것으로 판정된 애플리케이션으로부터 보호할 수 있도록 한다. 예를 들면, 동작 분석 모듈(230)은 특정한 애플리케이션이 공지되고 신뢰할 수 있는 소스로부터의 것이라고 판정하여, 표준 실행 환경(210)내에서 애플리케이션이 런칭되도록 허용할 수 있다. 그러나, 동작동안, 사용자는 애플리케이션으로 하여금 알려지지 않은 소스로부터 새로운 플러그인을 다운로드하도록 지시할 수 있다. 동작 분석 모듈(230)은 이러한 이벤트를 인터셉트하고 시스템(200)으로 하여금 모니터링을 증가시키고 실행을 하기 위해 새로운 플러그인을 샌드박스 실행 환경으로 리다이렉팅하게 지시하도록 설정될 수 있다. 또다른 예시에서, 동작 분석 모듈(230)은 애플리케이션의 역사적 동작의 분석에 기초하여 표준 실행 환경(210)내에서 애플리케이션이 실행될 수 있다고 판정할 수 있다. 그러나, 실행하는 동안, 애플리케이션은 수용가능한 동작을 결정하는 보안 정책의 위반시 클라이언트 시스템(110)의 설정 데이터베이스를 업데이트하는 것을 시도할 수 있다. 본 예시에서, 동작 분석 모듈(230)은 임의의 추가적인 잠재적 위해로부터 시스템(200)을 보호하기 위해 시스템(200)으로 하여금 실행하는 애플리케이션을 샌드박스 실행 환경(220)으로 이동시키도록 지시할 수 있다.
416에서, 실행가능한 애플리케이션이 샌드박스 실행 환경(220)으로 이동되어야 하는지를 동작 분석 모듈(230)이 판정하는 것으로 방법(400)이 체크한다. 실행가능한 애플리케이션이 이동되어야 한다면, 시스템(200)이 샌드박스 실행 환경(220) 내에서 실행가능한 애플리케이션의 실행을 계속하는 것으로 방법(400)이 420에서 진행한다. 실행가능한 애플리케이션이 샌드박스 환경으로 이동되지 않을 것이라면, 방법(400)은 오퍼레이션(408)을 루프 백하고 실행가능한 애플리케이션이 종료될때까지 진행한다.
도 5는 동작 분석을 이용하여 실행가능한 애플리케이션에 대한 실행환경을 설정하는 방법(500)을 도시하는 스윔 라인을 가진 플로우 차트이다. 방법(500)은 502에서 보안 정책을 적용하는 단계, 510에서 샌드박스 제한의 범위를 판정하는 단계, 504와 512에서 실행가능한 애플리케이션을 모니터링하는 단계와 같은 일부 추가적인 선택적 오퍼레이션을 가진 방법(400)으로부터의 오퍼레이션을 포함한다.
방법(500)은 동작 분석 모듈(230)이 보안 정책을 적용하는 오퍼레이션(502)을 포함한다. 예시에서, 보안 정책은 로컬 서버(140)와 같은 중앙 서버로부터 획득될 수 있다. 또다른 예시에서, 보안 정책은 각각의 개별 클라이언트 시스템(110)에 대해 로컬이 될 수 있다. 특정한 예시에서, 보안 정책은 사용자에 의해 제어될 수 있다. 또다른 예시에서, 보안 정책은 네트워크 또는 시스템 관리자에 의해 구성 레벨에서 제어될 수 있다. 보안 정책은 제한된 오퍼레이션의 리스트, 블랙리스트에 오른 사이트 또는 애플리케이션의 리스트, 디폴트에 의해 샌드박스 환경에서 실행되어야한 애플리케이션, 샌드박싱에 대한 특정한 배제, 사용자 또는 그룹 레벨의 제한, 사용자 또는 그룹 레벨의 인가, 및 사용자 또는 그룹 레벨의 면제를 포함할 수 있다.
도 5에 도시된 바와 같이, 보안 정책은 동작 분석 모듈(230)이 오퍼레이션(404)에서 동작 분석을 수행하기 전에 적용될 수 있다. 보안 정책을 적용하는 것은 신뢰할수 있다고 알려지거나 또는 잠재적으로 악의적이라고 알려진 실행가능한 애플리케이션을 식별할 수 있어서, 추가적인 동작 분석이 요구되는 것을 방지할 수 있다. 보안 정책은 또한 동작 분석 모듈(230)을 설정하기 위해 사용될 수 있다. 다른 예시에서, 보안 정책은 방법(500) 내의 다른 포인트에서 적용되거나 단순히 동작 분석 수행시 동작 분석 모듈(230)에 의해 사용될 수 있다.
방법(500)은 또한 동작 분석 모듈이 샌드박스 실행 환경(220)에 적용할 제한의 범위를 판정하는 오퍼레이션(510)을 포함할 수 있다. 예시에서, 동작 분석 모듈(230)은, 애플리케이션이 샌드박스 실행 환경(220)내에서 실행될 때, 실행가능한 애플리케이션에 대한 제어가 얼마나 제어되어야 하는지를 판정하기 위해 실행가능한 애플리케이션에 관한 정보를 이용할 수 있다. 특정한 예시에서, 동작 분석 모듈(230)은 또한 샌드박스 환경에 관한 제한을 설정하기위해 보안 정책으로부터 도출된 정보를 이용할 수 있다. 제한의 범위는: 시스템 리소스 액세스, 네트워크 리소스에 대한 액세스, 인터넷 액세스, 신뢰할 수 있는 소스에 의해 서명된 플러그인, 네트워크 어드레스 범위, 블랙리스트된 사이트, 통신 프로토콜(허용 또는 제한), 다른 프로세스와의 통신, 또는 샌드박스 환경 외부의 프로세스와의 통신,을 포함할 수 있다. 동작 분석 모듈(230)로 하여금 샌드박스 환경을 선택적으로 설정하게 허용하는 것은, 최소 레벨의 보안을 유지하면서 어떤 실행가능한 애플리케이션이 수행하도록 허용되는지에 대한 보다 미세한 레벨의 제어를 가능하게 하는 샌드박싱 프로세스의 기능을 개선시킬 수 있다. 선택적으로 샌드박스 환경을 설정하는 것은, 실행가능한 애플리케이션으로 하여금 필요한 오퍼레이션을 수행할 수 있도록 하면서 더 많은 실행가능한 애플리케이션으로하여금 샌드박스 환경내에서 보다 밀접하게 모니터링되도록 허용함으로써 보안을 개선시킬 수 있다.
방법(500)은 시스템 모니터링 엔진(240)이 실행가능한 애플리케이션에 의해 수행되는 오퍼레이션의 설정가능한 범위를 모니터링하는 오퍼레이션(504, 512)을 포함한다. 오퍼레이션(504)에서, 방법(500)은 표준 실행 환경(210)내에서 실행하는 실행가능한 애플리케이션을 모니터링한다. 예시에서, 시스템 모니터링 엔진(240)에 의해 504에서 수집된 모니터링 정보는 실행가능한 애플리케이션이 샌드박스 환경(220)으로 이동되어야 하는지를 판정하기 위해 동작 분석 모듈(230)에 의해 사용될 수 있다. 상술한 바와 같이, 실행가능한 애플리케이션은 애플리케이션이 초기화된 후에 검출되는 예측되지 않은 잠재적으로 악의적인 동작때문에 샌드박스 환경으로 이동될 필요가 있다. 오퍼레이션(512)에서, 방법(500)은 샌드박스 실행 환경(22)내에서 실행하는 실행가능한 애플리케이션을 모니터링한다. 예시에서, 512에서 시스템 모니터링 엔진에 의해 수집된 모니터링 정보는 실행가능한 애플리케이션이 샌드박스 환경으로부터 이동될 수 있는지를 판정하기 위해 동작 분석 모듈(230)에 의해 사용될 수 있다. 샌드박스 환경(220)내에서의 실행가능한 애플리케이션의 실행을 모니터링하는 것은 또한 애플리케이션에 의해 생성된 정보가 샌드박스 환경(220) 외부로 통신될 수 있는지를 판정하도록 사용될 수 있다. 추가로, 모니터링된 정보는 샌드박스 환경(220)에 적용되는 제한의 범위를 동적으로 증가 또는 감소시키기 위해 사용될 수 있다.
도 6은 예시에 따라 실행가능한 애플리케이션의 동작 분석에서의 선택적인 오퍼레이션을 도시하는 플로우 차트이다. 방법(404)은 602에서 보안 정책을 적용하는 단계, 604에서 실행가능한 애플리케이션 특성을 분석하는 단계, 및 606에서 실행가능한 애플리케이션에 의해 액세스될 리소스를 분석하는 단계를 포함한다. 본 예시에서, 동작 분석 모듈(230)은 실행 환경내에서 실행가능한 애플리케이션의 실행 전에 그리고 실행가능한 애플리케이션이 실행하고 있는 동안 모두에, 예를 들면 방법(400) 내에서의 오퍼레이션(422)에서처럼, 오퍼레이션(602, 604)을 수행하도록 설정될 수 있다.
도 6에 도시된 바와 같이, 동작 분석 모듈(230)이 보안 정책을 적용하는 것으로 방법(404)이 시작한다. 예시에서, 보안 정책을 적용하는 것은 동작 분석 모듈(230)이 동작 분석을 어떻게 수행하는지를 설정한다. 보안 정책은 동작 분석 모듈(230)이 예를 들면 애플리케이션 원래의, 또는 서명되지 않은 보안 인증서에 대해 어떻게 반응하는지를 제어할 수 있다. 보안 정책은 또한 무엇보다도 블랙리스트에 오른 URL 또는 애플리케이션의 소스로서 사용될 수 있다.
604에서, 동작 분석 모듈(230)이 실행가능한 애플리케이션에 관한 모든 가용한 특성을 분석하는 것으로 방법(404)이 진행된다. 특성은 오리진(예를 들면, URL 또는 호스트 시스템 정보), 리소스 요구사항, 과거 오퍼레이션, 신뢰도(trust) 레벨(예를 들면, 온라인 평판 데이터베이스에 액세스함으로써 판정된 것과 같은), 또는 보안 인증서를 포함할 수 있다. 동작 분석 모듈(230)이 악의적인 액티비티의 위협을 나타낼 가능성이 있는지를 판정하기 위해 이들 특성을 이용할 수 있다.
606에서, 동작 분석 모듈(230)이 실행가능한 애플리케이션에 의해 액세스될 수 있는 리소스를 분석하는 것으로 방법(404)이 완료된다. 예시에서, 동작 분석 모듈(230)은 애플리케이션이 액세스를 시도하는 리소스가 어떤것인지를 판정하기 위해 런타임 번역가능한 애플리케이션의 코드를 분석할 수 있다. 또다른 예시에서, 동작 분석 모듈(230)은 애플리케이션이 액세스를 시도하는 리소스가 어떤것인지를 판정하기 위해 애플리케이션에 의해 수행되는 과거의 오퍼레이션을 상술하는 정보에 기초할 수 있다.
도 7은 예시에 따라 실행가능한 애플리케이션에 대한 실행 환경을 판정할 때의 선택적인 오퍼레이션을 도시하는 플로우 차트이다. 실행가능한 환경을 판정하는 방법(406)은 선택적으로, 702에서 보안 정책을 적용하는 단계, 704에서 보안 인증서를 분석하는 단계, 706에서 보안 데이터베이스에 대한 애플리케이션 서명을 체크하는 단계, 708에서 샌드박스 환경에서 실행할 실행가능한 애플리케이션의 부분을 판정하는 단계, 710에서 샌드박스 환경에 대한 제한의 범위를 판정하는 단계, 및 712에서 샌드박스 환경내에서 실행가능한 애플리케이션에 의해 수행되는 오퍼레이션에 대한 처리를 판정하는 단계를 포함한다. 상술한 바와 같이, 보안 정책은 방법(400) 또는 방법(500)과 같은 동작 샌드박싱에 대한 방법에서 다양한 포인트에 적용될 수 있다. 본 예시에서, 보안 정책은 실행가능한 애플리케이션에 대한 실행 환경을 판정할 때 동작 분석 모듈(230)에 의해 적용될 수 있다.
본 예시에서, 오퍼레이션(704)에서 동작 분석 모듈(230)이 실행가능한 애플리케이션의 보안 인증서를 분석하는 것으로 방법(406)이 진행한다. 예시에서, 다운로드된 애플리케이션은 보안 소켓 레이어(SSL) 또는 트랜스포트 레이어 보안(TLS: transport layer security)과 같은 보안 통신 채널을 통해 수신될 수 있다. 일반적으로, SSL 또는 TLS는 인증 기관에 의해 제공되고, 유효화될 수 있는 디지털 서명을 포함하는 인증서를 사용한다. 실행가능한 애플리케이션을 다운로드하기 위해 사용되는 연결이 유효한 디지털 서명을 가진 인증서로 보안되면, 애플리케이션이 신뢰할 수 있는 소스로부터의 것일 가능성이 보다 높게 된다. 동작 분석 모듈(230)은 실행가능한 애플리케이션이 샌드박스 환경 내에서 실행되어야할 지를 판정할때의 보안 인증서의 보안 및 유효성의 유형을 포함할 수 있다.
706에서, 동작 분석 모듈(230)이 보안 데이터베이스에 대해 애플리케이션 서명(또는 기타 식별 특성)을 체크하는 것으로 진행할 수 있다. 예시에서, 각각의 실행가능한 애플리케이션에 대한 서명은 해싱 알고리즘을 통해 생성되고 데이터베이스(140)와 같은 데이터베이스에 저장될 수 있다. 신뢰할 만한 가치가 있는 애플리케이션에 관한 정보는 고유한 서명에 연관된 데이터베이스에 카테고리화될 수 있다. 위협 데이터베이스는 로컬로 또는 원격 데이터베이스(170)와 같은 중앙식으로 유지관리될 수 있다. 중앙에 위치된 위협 데이터베이스는 다수 위치로부터 안전한 것으로 알려진 애플리케이션 뿐만 아니라 잠재적으로 악의적인 데이터를 수집하여, 잠재적인 알려진 위협에 대한 보다 폭넓은 시야를 제공할 수 있다.
708에서, 동작 분석 모듈(230)이 샌드박스 실행 환경내에서 실행할 실행가능한 애플리케이션의 부분을 판정하는 것으로 방법(406)이 진행할 수 있다. 상술한 바와 같이, 실행가능한 애플리케이션은 대개 다수의 쓰레드의 실행을 수행하거나, 또는 다소 독립적으로 실행될 수 있는 다수의 상이한 컴포넌트를 포함할 수 있다. 예시에서, 시스템(200)은 나머지 애플리케이션이 표준 실행 환경에서 실행하도록 허용하면서 실행가능한 애플리케이션의 개별 쓰레드 또는 개별 파이버도 실행시킬수 있다. 예를 들면, 동작 분석 모듈(230)이 애플리케이션의 특정한 쓰레드가 메모리에 오류를 일으킨 이력을 가지고 있다고 판정하면, 잠재적으로 악의적인 쓰레드는 실행을 위해 샌드박스 환경(220)으로 이동될 수 있다. 샌드박스 환경(220)은 메모리 오류가 시스템의 나머지에 악영향을 끼치는 것을 방지하기 위해 보호된 메모리 공간을 이용할 수 있다.
710에서, 동작 분석 모듈(230)이 샌드박스 환경에 대한 제한의 범위를 판정하는 것으로 방법(406)이 진행될 수 있다. 상술한 바와 같이, 샌드박스 환경(220)에 대한 제한의 범위는 무엇보다도 샌드박스 내에서 허용할 I/O의 레벨, 샌드박스내에서 샌드박싱된 애플리케이션이 샌드박스 환경(220) 외부와 통신하도록 허용할지, 샌드박스 외부의 플로세스로 하여금 샌드박스 환경(220) 내부에서 프로세스 실행을 조정하도록 허용할지, 및 인터넷 액세스가 샌드박스 환경(220)내에서 처리하도록 허용할지를 포함할 수 있다.
마지막으로 712에서, 동작 분석 모듈(230)이 샌드박스 환경(220)내에서 수행되는 오퍼레이션에 대한 배치를 판정하는 것으로 방법(406)이 진행된다. 예시에서, 샌드박스 실행 환경(220)내에서 프로세스에 의해 수행된 오퍼레이션은 예를 들면 시스템 모니터링 엔진(240)에 의해 인터셉트될 수 있다. 인터셉트되면, 오퍼레이션은 함께 차단되어(침묵하거나, 또는 오류가 사용자에게 전송되거나, 또는 애플리케이션을 호출한다), 의도된 리소스(예를 들면, 데이터베이스에서의 데이터, 메모리 위치, 네트워크 디바이스 등)에 액세스하는 것이 허용되거나, 또는 샌드박스 환경에 의해 제어된 사적(private) 위치에 리다이렉팅될 수 있다. 본 예시에서, 동작 분석 모듈(230)은 실행가능한 애플리케이션의 동작 특성에 기초하여 샌드박스 환경(220)이 어떻게 설정되는지를 판정할 수 있다. 예를 들면, 샌드박스 환경(220)이 모든 오퍼레이션을 사적인 제한된 리소스 공간으로 리다이렉팅하도록 설정된다면, 실행가능한 애플리케이션은 메인 시스템으로부터의 미러링된 데이터와만 상호작용하도록 허용된다. 샌드박싱된 애플리케이션의 종료시, 사적(미러링된) 데이터는 그것을 시스템으로부터 제거하거나 또는 메인 시스템을 샌드박싱된 애플리케이션에 의해 수행된 오퍼레이션으로 업데이트함으로써 배치된다. 메인 시스템을 업데이트하는 것은 실행가능한 애플리케이션이 임의의 보안 정책을 위반하지 않고 샌드박스 환경(220)내에서의 동작동안 잠재적으로 악의적인 오퍼레이션을 수행하는 경우에만 허용될 수 있다는 것에 유의하라. 특정한 예시에서, 샌드박스 환경 외부에서 동작하는 프로세스는 샌드박싱된 실행가능한 애플리케이션에 의해 생성된 정보를 획득하기위해 사적 리소스에 액세스하도록 허용될 수 있다.
도 8은 동작 분석을 이용하여 실행가능한 애플리케이션을 분석하는 예시적인 방법(800)을 도시한 플로우 차트이다. 방법은 하기의 오퍼레이션인, 802에서 실행가능한 애플리케이션의 런팅을 검출하는 단계, 804에서 실행가능한 애플리케이션의 동작 분석을 수행하는 단계, 806에서 샌드박스 실행 환경내에서 실행가능한 애플리케이션을 실행할지를 판정하는 단계, 808에서 표준 실행 환경에서 실행가능한 애플리케이션을 시작하는 단계, 810에서 실행하고있는 실행가능한 애플리케이션에 대한 동작 분석을 수행하는 단계, 812에서 실행가능한 애플리케이션이 샌드박스 실행 환경으로 이동되어야하는지를 판정하는 단계, 814에서 실행가능한 애플리케이션이 여전히 실행되고있는지를 판정하는 단계, 822에서 샌드박스 실행 환경을 설정하는 단계, 824에서 샌드박스 실행 환경내에서 실행가능한 애플리케이션을 시작하는 단계, 826에서 실행하고 있는 실행가능한 애플리케이션에 대한 동작 분석을 수행하는 단계, 830에서 샌드박스 실행 환경내에서 실행가능한 애플리케이션을 실행시키는 것을 계속할지를 판정하는 단계,를 포함한다. 일부 예시에서, 방법(800)은 또한 820에서 샌드박싱의 범위를 판정하는 단계, 832에서 샌드박싱된 데이터 및 오퍼레이션을 배치하는 단계를 포함할 수 있다.
예시에서, 시스템 모니터링 엔진(840)이 실행가능한 애플리케이션의 런칭을 검출하는 것으로 802에서 방법(800)이 시작된다. 본 예시에서, 시스템 모니터링 엔진(240)은 시스템(200)에게, 실행가능한 애플리케이션이 악의적인 것인지를 판정하기 위해 실행가능한 애플리케이션을 분석되는 동안 실행가능한 애플리케이션의 실행을 보류하도록 지시할 수 있다. 804에서, 동작 분석 모듈(230)이 실행가능한 애플리케이션에 대한 동작 분석을 수행하는 것으로 방법(800)이 진행된다. 동작 분석 모듈(230)은 말웨어의 표시 또는 보안 정책의 위반에 대해 실행가능한 애플리케이션을 분석한다. 다음으로, 806에서, 실행가능한 애플리케이션이 샌드박스 실행 환경(220)으로 이동되어야 할지를 동작 분석 모듈(230)이 판정하는 것으로 방법(800)이 진행된다.
방법은 실행가능한 애플리케이션이 표준 실행 환경(210)과 같은 표준 실행 환경 내에서 실행할 것이 허용된다면 808에서 진행한다. 808에서의 예시에서, 방법은 표준 실행가능한 환경(210)에서 실행가능한 애플리케이션을 시작한다. 810에서, 동작 분석 모듈(230)이 실행하고있는 실행가능한 애플리케이션에 대한 동작 분석을 수행하는 것으로 방법(800)이 진행된다. 특정한 예시에서, 시스템 모니터링 엔진(240)이 실행가능한 애플리케이션에 의해 수행되는 오퍼레이션을 모니터링하기위해 사용될 수 있다. 모니터링된 오퍼레이션은 동작 분석 모듈(230)에 의해 잠재적으로 악의적인 동작에 대해 분석될 수 있다. 812에서, 동작 분석 모듈(230)은 실행하고 있는 실행가능한 애플리케이션이 샌드박스 환경으로 이동되어야하는지를 동적으로 판정한다. 실행가능한 애플리케이션이 812에서 샌드박스 환경으로 이동되지 않는다면 방법(800)은 오퍼레이션(814)에서 진행된다. 814에서, 실행가능한 애플리케이션이 종료되었는지를 시스템(200)이 판정하는 것으로 방법(800)이 진행된다. 방법(800)은 실행가능한 애플리케이션이 계속 실행된다면 오퍼레이션(808)으로 루프백한다.
오퍼레이션(812)으로 돌아가면, 실행가능한 애플리케이션이 잠재적으로 악의적인 동작을 나타낸다고 동작 분석 모듈(230)이 판정하면, 실행가능한 애플리케이션을 샌드박스 실행 환경(220)으로 이동시킴으로써 방법(800)이 진행된다.
방법(800)은 실행중인 실행가능한 애플리케이션 또는 여전히 런칭되고 있는 프로세스 내에 있는 실행가능한 애플리케이션을 샌드박싱하는 것과 유사한 태스크를 수행한다. 특정한 예로서, 방법(800)은 샌드박싱의 범위를 판정하는 동작 분석 모듈(230)을 통해 820에서 샌드박싱 프로세스를 개시한다. 샌드박싱의 범위는 샌드박스 환경이 디스크 I/O 또는 네트워크 액세스와 같은 것에 대하여 얼마나 제한적인지, 그리고 실행가능한 애플리케이션 중 샌드박스 환경(220 내에서 실제로 실행하는 부분을 포함할 수 있다. 하나의 예로서, 샌드박싱 프로세스는 샌드박싱의 범위 또는 보안 정책과 같은 입력에 따라 샌드박스 환경(220)을 설정하는 동작 분석 모듈(230)을 통해 오퍼레이션(822)에서 시작한다.
하나의 예로서, 샌드박스 실행 환경(220)이 설정된 후, 방법(800)은 샌드박스 실행 환경(220) 내에서 실행가능한 애플리케이션을 시작하거나 계속함으로써 824에서 계속된다. 그 다음, 방법(800)은 826에서 동작 분석 모듈(230)을 통해 실행중인 실행가능한 애플리케이션 상에서 동작 분석을 수행하는 것을 계속한다. 본 예에서, 동작 분석은 실행가능한 애플리케이션 또는 주변 환경의 변화가 실행가능한 애플리케이션이 샌드박스 실행 환경(220)으로부터 제거되는 것을 허용하는지 여부를 동적으로 판정하기 위해 샌드박스 실행 환경(220) 내에서 실행 중인 실행가능한 애플리케이션 상에서 수행된다. 828에서, 방법(800)은 동작 분석 모듈(230)을 통해 실행가능한 애플리케이션을 계속 샌드박싱할 것인지 여부를 판정하는 것을 계속한다. 방법(800)은 샌드박스 실행 환경(220) 내에 실행가능한 애플리케이션이 남아 있다면, 오퍼레이션(830)으로 계속한다. 오퍼레이션(830)에서, 시스템(200)은 실행가능한 애플리케이션이 계속 실행하는지 여부를 판정한다. 방법(800)은 실행가능한 애플리케이션을 계속 실행한다면 오퍼레이션(826)으로 되돌아간다. 실행가능한 애플리케이션이 종료되었다면, 방법(800)은 오퍼레이션(832)에서 종료한다. 832에서, 시스템(200)은 샌드박싱된 데이터 및 오퍼레이션을 처리한다. 샌드박싱된 데이터의 처리는 시스템으로부터 정보를 정화(purging)하는 것 또는 시스템(200)이 영향을 받는 리소스에 업데이트를 적용하는 것을 허용하는 것을 포함할 수 있다. 특정한 예로서, 샌드박싱된 데이터 및 오퍼레이션은 또한 나누어진 리소스 내에 그 데이터 및 오퍼레이션을 유지하면서 표준 실행 환경(210) 내의 프로세스에 적용가능하게 될 수 있다.
오퍼레이션(828)으로 돌아가서, 방법(800)은 실행가능한 애플리케이션이 샌드박스 실행 환경(220)으로부터 제거될 수 있는 것으로 판정되면, 오퍼레이션(814)에서 계속한다.
상기 방법은 클라이언트 시스템(110) 내의 오퍼레이션에 관하여 주로 설명되었다. 그러나, 상기 서술된 방법의 일부분 또는 유사한 방법들은 게이트웨이 디바이스(120) 내에 구현될 수도 있다. 예를 들어, 게이트웨이 디바이스(120)는 광역 네트워크(130)로부터 다운로드되고 있는 실행가능한 애플리케이션을 탐지하도록 설정될 수 있다. 게이트웨이 디바이스(120)는 또한 들어오고 있는(incoming) 실행가능한 애플리케이션에 대한 동작 분석을 수행하도록 설정될 수 있다. 초기 동작 분석의 결과는 클라이언트 시스템(110)과 공유될 수 있고, 그 다음 적합하다면 클라이언트 시스템(110)은 들어오는 실행가능한 애플리케이션을 샌드박싱할 수 있다.
모듈, 컴포넌트, 및 로직
여기서, 로직 또는 다수의 컴포넌트, 모듈, 엔진, 또는 메커니즘을 포함한 특정한 실시들이 서술된다. 모듈은 소프트웨어 모듈(예컨대, 기계 판독가능한 매체 상에 또는 전송 신호로 구현된 코드) 또는 하드웨어 모듈 중 하나로 구성될 수 있다. 하드웨어 모듈은 특정한 오퍼레이션을 수행할 수 있는 실재적(tangible) 유닛이고, 특정한 방식으로 설정되거나 배열될 수 있다. 예시적인 실시예로서, 하나 이상의 컴퓨터 시스템(예컨대, 스탠드얼론, 클라이언트, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 모듈(예컨대, 프로세서 또는 프로세서 그룹)은 여기 서술된 특정한 오퍼레이션을 수행하도록 동작하는 하드웨어 모듈과 같은, 소프트웨어(예컨대, 애플리케이션 또는 애플리케이션 부분)에 의해 설정될 수도 있다.
다양한 실시예에서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정한 오퍼레이션을 수행하도록 영구적으로 구현된 전용 회로 또는 로직(예컨대, 현장 프로그래머블 게이트 어레이(FPGA) 또는 주문형 반도체(ASIC)와 같은 특수목적 프로세서)를 포함할 수 있다. 하드웨어 모듈은 또한 특정한 오퍼레이션을 수행하도록 소프트웨어에 의해 일시적으로 구성되는 (예컨대, 범용 프로세서 또는 다른 프로그래밍가능한 프로세서 내에 내장된) 프로그래밍 가능한 로직 또는 회로를 포함할 수 있다. 하드웨어 모듈을 기계적으로, 전용의 영구적으로 구성된 회로로, 또는 일시적으로 구성되는(예컨대, 소프트웨어에 의해 구성되는) 회로로 구현할 것인지의 판단은 비용 및 시간을 고려하여 이루어짐이 이해될 것이다.
따라서, 용어 "하드웨어 모듈"은 특정한 방식으로 동작하도록 그리고/또는 본 명세서에 서술된 특정한 오퍼레이션을 수행하도록, 물리적으로 구성되거나, 영구적으로 구성되거나(예컨대, 하드와이어식), 또는 일시적으로 구성되는(예컨대, 프로그래밍되는) 엔티티(entity)인 실재적 엔티티를 포함함을 이해해야 한다. 하드웨어 모듈이 일시적으로 구성되는(예컨대, 프로그래밍되는) 실시예를 고려하면, 각각의 하드웨어 모듈이 임의의 하나의 시간적 인스턴스(instance)에서 구성되거나 구체화될 필요는 없다. 예컨대, 하드웨어 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함한다면, 범용 프로세서는 상이한 시간에 각각 상이한 하드웨어 모듈로 구성될 수 있다. 따라서, 소프트웨어는, 예컨대, 하나의 시간의 인스턴스에서 특정한 하드웨어 모듈을 구성하도록, 그리고 상이한 시간의 인스턴스에서 상이한 하드웨어 모듈을 구성하도록, 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 그로부터 정보를 수신할 수 있다. 따라서, 서술된 하드웨어 모듈은 통신가능하게 연결되어 있는 것으로 간주될 수 있다. 복수의 하드웨어 모듈이 동시에 존재하는 경우에, 통신은 하드웨어 모듈들을 연결하는 (예컨대, 적합한 회로 및 버스를 통한) 신호 전송을 통해 달성될 수 있다. 복수의 하드웨어 모듈이 상이한 시간에 구성되거나 구체화되는 실시예에서, 이러한 하드웨어 모듈간의 통신은, 예컨대, 복수의 하드웨어 모듈이 액세스하는 메모리 구조 내의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 하나의 오퍼레이션을 수행하고, 그 오퍼레이션의 결과를 그 하드웨어 모듈이 통신가능하게 연결되어 있는 메모리 디바이스에 저장할 수 있다. 이후에, 다른 하드웨어 모듈은 저장된 출력을 검색하고 프로세싱하기 위해 메모리 디바이스에 액세스할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와 통신을 개시할 수 있고, 리소스(예컨대, 정보의 콜렉션) 상에서 수행할 수 있다.
본 명세서에서 서술된 예시적인 방법의 다양한 오퍼레이션들은 관련된 오퍼레이션을 수행하도록 (예컨대, 소프트웨어에 의해) 일시적으로 구성된, 또는 영구적으로 구성된 하나 이상의 프로세서에 의해, 적어도 부분적으로, 수행될 수 있다. 일시적으로 구성되어 있든 또는 영구적으로 구성되어 있든, 이러한 프로세서는 하나 이상의 오퍼레이션 또는 기능을 수행하도록 동작하는 프로세서 구현된 모듈을 구성할 수 있다. 본 명세서에 언급된 모듈들은, 몇몇 예시적인 실시예로서, 프로세서 구현된 모듈을 포함할 수 있다.
이와 유사하게, 본 명세서에 서술된 방법들은 적어도 부분적으로 프로세서 구현될 수 있다. 예를 들어, 하나의 방법의 적어도 일부의 오퍼레이션은 하나 이상의 프로세서 또는 프로세서 구현된 모듈에 의해 수행될 수 있다. 특정한 오퍼레이션의 퍼포먼스는 하나의 기계 내에 상주하는 것은 물론, 다수의 기계에 걸쳐 분산되어 있는 하나 이상의 프로세서 간에 분산될 수 있다. 몇몇 예시적인 실시예에서, 프로세서(들)는 하나의 위치에(예컨대, 가정 환경, 사무실 환경, 또는 서버 팜 내에) 위치할 수 있고, 다른 실시예에서 프로세서는 다수의 위치로 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경 또는 SaaS 내의 관련 오퍼레이션의 퍼포먼스를 지원하도록 동작할 수 있다. 예를 들어, 적어도 일부의 오퍼레이션들은 하나의 그룹의 컴퓨터(예컨대, 프로세서를 포함하는 기계의 예)에 의해 수행될 수 있고, 이러한 오퍼레이션들은 네트워크(예컨대, 인터넷)를 통해, 하나 이상의 적합한 인터페이스(예컨대, APIs)를 통해 액세스가능하다.
전자 장비 및 시스템
예시적인 실시예는 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 예시적인 실시예는 컴퓨터 프로그램 프로덕트(예컨대, 데이터 처리 장치, 프로그래밍가능한 프로세서, 컴퓨터 또는 복수의 컴퓨터에 의해 실행하기 위한, 또는 그들의 동작을 컨트롤하기 위한, 정보 캐리어 내에, 기계 판독가능한 매체 내에 실재적으로 내장된 컴퓨터 프로그램)를 사용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일되거나 해석되는 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 이들은 스탠드얼론 프로그램, 또는 모듈, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하는, 임의의 형태로 분산될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 통신 네트워크에 의해 상호 연결되어 있는 하나의 위치에 있거나 또는 복수의 위치에 걸쳐 분산되어 있는 복수의 컴퓨터 상에서 실행되도록 분산될 수 있다.
예시적인 실시예에서, 오퍼레이션은 입력 데이터를 오퍼레이팅하고 출력을 발생시킴으로써, 기능을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 방법 오퍼레이션은 또한 특수 목적 로직 회로, 예컨대, 현장 프로그래머블 게이트 어레이(FPGA) 또는 주문형 반도체(ASIC)에 의해 수행될 수 있고, 예시적인 실시예의 장치들은 그것으로 구현될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있고, 통신 네트워크를 통해 상호작용하는 것이 전형적이다. 클라이언트 및 서버의 관계는 각각의 컴퓨터상에서 실행하고, 서로에 대한 클라이언트-서버 관계를 가진 컴퓨터 프로그램에 의해 나타난다. 프로그래밍 가능한 컴퓨팅 시스템을 분산시키는 실시예에서, 하드웨어 및 소프트웨어 아키텍처 모두 고려되었음을 이해해야 한다. 더욱 상세하게는, 특정한 기능부를 영구적으로 구성된 하드웨어(예컨대, ASIC), 일시적으로 구성된 하드웨어(예컨대, 소프트웨어 및 프로그래밍가능한 프로세서의 조합), 또는 영구적으로 그리고 일시적으로 구성된 하드웨어의 조합 중 어떤 것으로 구현할 것인지의 선택은 설계적 선택(design choice)일 수 있음이 이해될 것이다. 다양한 예시적인 실시예로, 분산될 수 있는, 하드웨어(예컨대, 기계) 및 소프트웨어 아키텍처를 아래에 설명한다.
예시적인 기계 아키텍처 및 기계 판독가능한 매체
도 9는 본 명세서에 서술된 임의의 하나 이상의 방법을 기계들이 수행하게 만드는 명령어가 실행될 수 있는 컴퓨터 시스템(900)의 예시적인 형태인 기계의 블록도이다. 이와같이, 컴퓨터 시스템(900)은, 하나의 실시예에서, 시스템(900)을 구비한다. 대안의 실시예로서, 기계는 스탠드얼론 디바이스로서 동작하거나, 다른 기계에 연결될(예컨대, 네트워킹될) 수 있다. 네트워킹된 배치에서, 기계는 서버-클라이언트 네트워크 환경에서 서버 또는 클라이언트 머신의 역할로, 또는 피어-투-피어(또는 분산된) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 이 기계는 퍼스널 컴퓨터(PC), 태블릿 PC, 셋탑박스(STB), 개인 휴대용 정보 단말기(PDA), 셀룰러 폰, 웹 어플라이언스, 네트워크 라우터, 스위치 또는 브릿지, 또는 기계에 의해 수행될 수 있는 액션을 명시하는 (순차적이거나 순차적이지 않은) 명령어를 실행할 수 있는 임의의 기계일 수 있다. 또한, 하나의 기계가 도시되어 있으나, 용어 "기계"는 또한 본 명세서에 서술된 임의의 하나 이상의 방법을 수행하기 위해 하나의 세트(또는 복수의 세트)의 명령어를 개별적으로 또는 공동으로 실행하는 임의의 기계의 콜렉션을 포함하도록 해석되어야 한다.
예시적인 컴퓨터 시스템(900)은 서로 버스(908)를 통해 통신하는, 프로세서(902)(예컨대, 중앙처리장치(CPU), 그래픽 처리 유닛(GPU) 또는 이둘 모두), 메인 메모리(904), 및 정적 메모리(906)를 포함한다. 컴퓨터 시스템(900)은 또한 비디오 디스플레이 유닛(910)(예컨대, 액정 디스플레이(LCD), 또는 음극선관(CRT))을 포함할 수 있다. 컴퓨터 시스템(900)은 또한 문자숫자식 입력 디바이스(912)(예컨대, 키보드), 사용자 인터페이스(UI) 내비게이션 디바이스(914)(예컨대, 마우스), 디스크 드라이브 유닛(916), 신호 발생 디바이스(918)(예컨대, 스피커), 및 네트워크 인터페이스 디바이스(920)를 포함한다.
기계판독가능한 매체
디스크 드라이브 유닛(916)은 본 명세서 서술된 임의의 하나 이상의 방법 또는 기능을 채용하거나 그에 의해 사용되는 하나 이상의 세트의 데이터 구조 및 명령어(924)(예컨대, 소프트웨어)가 저장되어 있는 기계 판독가능한 매체(922)를 포함한다. 명령어(924)는 또한 기계 판독가능한 매체를 구성하는 메인 메모리(904)와 프로세서(902)와 함께, 컴퓨터 시스템(900)에 의한 명령어의 실행 동안, 메인 메모리(904) 및/또는 프로세서(902) 내에, 완전히 또는 적어도 부분적으로, 상주할 수 있다.
기계 판독가능한 매체(922)가 하나의 실시예로서 단일 매체인 것으로 도시되어 있으나, 용어 "기계 판독가능한 매체"는 하나 이상의 데이터 구조 및 명령어(924)를 저장하는 단일 매체 또는 복수의 매체(예컨대, 중앙집중식, 또는 분산식 데이터베이스, 및/또는 연결된 캐시 및 서버)를 포함할 수 있다. 용어 "기계 판독가능한 매체"는 또한 기계에 의한 실행동안 명령어를 저장하거나, 인코딩하거나, 전달할 수 있고, 그리고 본 발명의 실시예의 임의의 하나 이상의 방법을 기계가 수행하게 만드는, 또는 사용되는 데이터 구조를 저장하고, 인코딩하거나 전달할 수 있는, 또는 이러한 명령어와 연관되어 있는 임의의 실재적 매체를 포함하는 것으로 해석되어야 한다. 따라서, 용어 "기계 판독가능한 매체"는 솔리드스테이트 메모리, 및 광 및 자성 매체를 포함하는 것으로 해석되어야 하지만, 이에 제한되는 것은 아니다. 기계 판독가능한 매체의 특수한 예는 예컨대, 반도체 메모리 디바이스, 예컨대, 반도체 메모리 디바이스, 예컨대, EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 및 플래시 메모리 디바이스를 포함하는 비휘발성 메모리; 내부 하드 디스크 및 제거가능한 디스크와 같은 자성 디스크; magneto-optical disks; and CD-ROM 및 DVD-ROM 디스크를 포함한다.
전송 매체
명령어(924)는 또한 전송 매체를 사용하여 통신 네트워크(926)를 통해 전송되거나 수신될 수 있다. 명령어(924)는 네트워크 인터페이스 디바이스(920) 및 다수의 주지된 통신 프로토콜(예컨대, HTTP) 중 임의의 것을 사용하여 전송될 수 있다. 통신 네트워크의 예는 근거리 네트워크(LAN), 광대역 네트워크(WAN), 인터넷, 이동전화망, POTS(Plain Old Telephone) 네트워크, 및 무선 데이터 네트워크(예컨대, WiFi 및 WiMax 네트워크)를 포함한다. 용어 "전송 매체"는 기계에 의한 실행동안 명령어를 저장하거나, 인코딩하거나, 전달할 수 있고, 디지털 또는 아날로그 통신 신호를 포함하는 임의의 무형 매체, 또는 이러한 소프트웨어의 통신을 용이하게 하기 위한 다른 무형 매체를 포함하는 것으로 해석되어야 한다.
그러므로, 네트워크 기반의 시장에서 사용자에게 문맥적 추천(contextual recommendations)을 만드는 방법 및 시스템이 서술되어 있다. 본 발명의 실시예들이 특정한 예의 실시예를 참조하여 서술되었으나. 본 발명의 실시예의 더 넓은 정신 및 범위에서 벗어나지 않고, 이러한 실시예에 대한 다양한 수정 및 변형이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
본 발명의 실시예들이 특정한 예의 실시예를 참조하여 서술되었으나. 본 발명의 실시예의 더 넓은 정신 및 범위에서 벗어나지 않고, 이러한 실시예에 대한 다양한 수정 및 변형이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다. 본 명세서의 일부분을 형성하는 첨부된 도면은 제한적이 아니라, 설명의 방식으로 본 발명이 실시될 수 있는 특정한 실시예들을 도시한다. 도시된 실시예는 당업자들이 본 명세서에 개시된 교시를 실시할 수 있을 정도로 충분히 상세하게 서술되어 있다. 다른 실시예들이 사용되고 그로부터 유도될 수 있는데, 구조적 및 논리적 치환 및 변경은 본 발명의 범위를 벗어나지 않고 이루어질 수 있다. 그러므로, 본 발명의 상세한 설명은 제한적인 의미로 해석되지 않아야 하고, 다양한 실시예들의 범위는 청구항에 권리부여된 전체 범위의 동등물과 함께 오직 첨부된 청구항에 의해서만 정의된다.
본 발명의 이러한 실시예들은 본 명세서에서, 개별적으로 그리고/또는 통칭하여, 용어 "발명"이라 불릴 수 있는데, 이는 단지 편의상 그렇게 한 것이며, 본 발명의 범위를 임의의 하나의 발명, 또는 실제로 하나 이상의 발명이 개시되어 있다면 발명의 개념으로 자발적으로 한정하고자 한 것은 아니다. 그러므로, 특정한 실시예가 명세서에 도시되고 서술되어 있으나, 동일한 목적을 달성하도록 계산된 임의의 배열이 도시된 특정한 실시예를 대체할 수도 있음을 이해해야 한다. 본 명세서는 다양한 실시예의 임의의 및 모든 수정 또는 변형을 커버하도록 의도되었다. 앞선 실시예의 조합, 및 본 명세서에 구체적으로 서술되지 않은 다른 실시예들은 앞선 설명을 본 당업자들에게 명백할 것이다.
본 명세서에서 언급된 모든 공개물, 특허, 및 특허문헌은 마치 참조로서 개별적으로 통합된 것처럼, 그 전체가 참조로서 통합된다. 참조로서 통합된 문서들과 본 명세서 사이에 용법이 일치하지 않는 경우에, 통합된 참조문헌 내의 용법은 본 명세서의 용법에 대한 보충으로 간주되어야 한다. 양립할 수 없는 불일치에 대하여, 본 명세서 내의 용법이 컨트롤한다.
본 명세서에서, 용어 "하나"는 "적어도 하나" 또는 "하나 이상의"의 임의의 다른 경우 또는 용법과 무관하게, 본 명세서에서 일반적으로, 하나 또는 하나 이상을 포함하도록 사용되었다. 본 명세서에서, 용어 "또는"은 다르게 명시되지 않았다면, "A 또는 B"가 "A이고 B는 아니다", 및 "B이고 A는 아니다", 및 "A 및 B"를 포함하도록 또는 배타적이지 않게 사용된다. 첨부된 청구항에서, 용어 "포함히다"는 용어 "구비하다"와 동등하게 사용된다. 또한, 아래의 청구항에서, 용어 "포함하다", "구비하다"는 개방적이다. 즉, 청구항에서 이러한 용어 뒤에 나열된 것들과 함께 엘리먼트를 포함하는 시스템, 디바이스, 아티클, 또는 프로세스는 여전히 청구항의 범위 내에 속하는 것으로 간주된다. 또한, 아래의 청구항에서, 용어 "제1", "제2" 및 "제3" 등이 사용된다면, 단지 라벨로서 사용된 것이며, 그 대상에 대한 수치적 조건을 부과하도록 의도된 것은 아니다.
본 명세서의 요약은 읽는 사람이 기술적 개시물의 특성을 신속하게 알 수 있게 하는 요약을 요구하는 37 C.F.R. § 1.72(b)에 부합하도록 제공된다. 요약은 이해를 위해 제공된 것이며, 청구항의 범위 또는 의미를 해석하거나 제한하도록 사용되지 않을 것이다. 또한, 앞선 발명의 상세한 설명에서, 다양한 피처가 본 발명을 흐름을 이어 설명할 목적으로 하나의 실시예에 함께 그룹화되어 있음을 알 수 있다. 이러한 방법의 개시는 청구된 실시예들이 각각의 청구항에 뚜렷하게 인용된 더 많은 피처를 요구하는 의도를 반영한 것으로 해석되지 않아야 한다. 그보다는, 아래의 청구항이 반영하는 것은, 본 발명이 하나의 개시된 실시예의 모든 피처보다 적은 피처로 비롯된다. 그러므로, 아래의 청구항은 본 발명의 상세한 설명에 통합되고, 각각의 청구항은 개별적인 실시예로서 자신의 지위를 가진다.

Claims (24)

  1. 제 1 실행 환경과 샌드박스 실행 환경을 포함하는 복수의 실행 환경을 구비하는 시스템에서의 실행 환경을 판정하는 방법으로서,
    네트워크를 통해 실행가능한 애플리케이션을 수신하는 단계;
    상기 실행가능한 애플리케이션을 실행하기 전에, 상기 실행가능한 애플리케이션에 대해 동작 분석을 수행하는 단계;
    상기 동작 분석의 함수로서 상기 실행 환경을 판정하는 단계;
    상기 동작 분석이 초기 실행 환경으로 샌드박싱된 실행을 표시한다면, 상기 샌드박스 실행 환경 내에서 상기 실행가능한 애플리케이션의 실행을 위한 제 1 로드를 수행하는 단계;
    상기 동작 분석이 초기 실행 환경으로 샌드박싱된 실행이 아닌 것을 표시한다면, 상기 제 1 실행 환경 내에서 상기 실행가능한 애플리케이션의 실행을 위한 제 1 로드를 수행하는 단계;
    상기 초기 실행 환경에서 상기 제 1 로드에 응답하여 실행가능한 애플리케이션이 실행될 때 상기 실행가능한 애플리케이션의 동작 특성을 수집하는 단계;
    상기 실행가능한 애플리케이션이 상기 제 1 로드에 응답하여 실행되고 있는 동안, 상기 실행가능한 애플리케이션의 실행이 상기 초기 실행 환경에서 이차적인실행 환경으로 이동되어야 하는 지를 판정하기 위해 상기 수집된 동작 특성에 대한 동작 분석을 수행하는 단계;를 포함하고 있으며,
    상기 초기 실행 환경 및 상기 이차적인 실행 환경중 오직 하나가 샌드박스 실행 환경이고,
    상기 실행환경을 판정하는 단계는 상기 샌드박싱 실행 환경내에서 실행될 상기 실행가능한 애플리케이션의 하나의 실행의 제 1 부분 및 상기 제 1 실행 환경내에서 실행될 상기 실행가능한 애플리케이션의 상기 하나의 실행의 제 2 부분을 판정하는 단계를 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  2. 제 1 항에 있어서, 상기 실행가능한 애플리케이션을 실행하기 전에 동작 분석을 수행하는 단계는 상기 실행가능한 애플리케이션의 기원(origin)에 대한 표시를 제공하는 상기 실행가능한 애플리케이션에 연관된 하나 이상의 특성을 평가하는 단계를 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  3. 제 2 항에 있어서, 상기 실행가능한 애플리케이션을 실행하기 전에 동작 분석을 수행하는 단계는 상기 실행가능한 애플리케이션이 동작하는 리소스의 분석을 더 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  4. 제 2 항에 있어서, 상기 하나 이상의 특성은:
    상기 실행가능한 애플리케이션이 수신되는 네트워크 어드레스;
    상기 실행가능한 애플리케이션을 요청하는 프로세스의 신뢰도(trust) 레벨;
    신뢰할 수 있는 소스로부터의 서명된 인증서; 및
    의심스러운 정책 액티비티 또는 정책 액티비티로부터 벗어난 이전의 동작;
    중 하나 이상을 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  5. 제 1 항에 있어서, 상기 샌드박스 실행 환경내에서의 상기 실행가능한 애플리케이션의 실행을 위한 제 1 로드를 수행하는 것은 상기 실행가능한 애플리케이션의 실행전에 상기 샌드박스 실행 환경에 적용하기 위한 제한의 범위를 판정하는 단계를 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  6. 제 5 항에 있어서, 상기 제한의 범위를 판정하는 단계는 어떠한 유형의 액티비티가 상기 샌드박스 실행 환경 내에 포함되어야 하는지를 판정하는 단계를 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  7. 제 5 항에 있어서, 상기 제한의 범위를 판정하는 단계는 상기 실행가능한 애플리케이션에 의해 상기 샌드박스 실행환경 내에서 수행되는 동작들에 대한 배치를 판정하는 단계를 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  8. 제 1 항에 있어서, 상기 수집된 동작 특성에 대한 동작 분석을 수행하는 단계는:
    리소스 파일을 여는 단계;
    플로그-인을 로딩하는 단계;
    다른 프로세스들에 의한 조정;
    다른 프로세스들을 조정하는 단계; 및
    인터넷에 액세스하는 단계;
    를 포함하여 잠재적으로 악의적인 액티비티를 검출하는 단계를 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  9. 제 1 항에 있어서, 상기 초기 실행환경을 판정하는 단계는 보안 정책을 적용하는 단계를 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  10. 삭제
  11. 제 1 항에 있어서, 상기 실행가능한 애플리케이션의 제 1 부분은:
    파이버;
    쓰레드;
    프로세스;
    동적 링크 라이브러리;
    스크립트; 또는
    플러그인 컴포넌트;
    를 포함하는 것을 특징으로 하는 실행환경 판정 방법.
  12. 실행가능한 애플리케이션의 소스를 포함하는 네트워크에 통신가능하게 결합된 컴퓨터를 포함하는 시스템에 있어서,
    상기 컴퓨터는,
    상기 네트워크로부터 다운로드된 상기 실행가능한 애플리케이션에 대한 동작 분석을 수행하도록 구성된 동작 분석 모듈; 및
    복수의 실행 환경;
    을 포함하고,
    상기 복수의 실행 환경은,
    표준 실행 환경; 및
    상기 실행가능한 애플리케이션에 의해 수행되는 악의적인 동작으로부터 상기 컴퓨터를 보호하는 자급식(self-contained) 실행 환경을 제공하도록 구성된 보호된 실행 환경;
    을 포함하고,
    상기 동작 분석 모듈은 상기 실행가능한 애플리케이션의 실행을 위한 제 1 로드의 수행전에 상기 실행가능한 애플리케이션이 상기 보호된 실행 환경 내에서 실행되어야 하는지 여부를 판정하도록 상기 실행가능한 애플리케이션의 복수의 동작 특성을 평가하고,
    상기 동작 분석 모듈은 상기 실행가능한 애플리케이션의 실행이 상기 표준 실행 환경에서 상기 보호된 실행 환경 또는 상기 보호된 실행 환경에서 상기 표준 환경으로 이동되어야 하는 지를 판정하기 위해 상기 실행가능한 애플리케이션의 실행을 모니터링하고, 상기 이동은 상기 실행을 위한 상기 제 1 로드에 응답하여 상기 실행가능한 애플리케이션이 실행되고 있는 중에 일어나고,
    상기 동작 분석 모듈은 상기 보호된 실행 환경내에서 실행될 상기 실행가능한 애플리케이션의 하나의 실행의 제 1 부분 및 상기 표준 실행 환경내에서 실행될 상기 실행가능한 애플리케이션의 상기 하나의 실행의 제 2 부분을 판정하도록 구성되는 것는 특징으로 하는 시스템.
  13. 제 12 항에 있어서, 상기 동작 분석 모듈은 상기 실행가능한 애플리케이션과 연관된 특성을 평가하도록 구성되고, 상기 특성은 상기 실행가능한 애플리케이션의 소스가 신뢰할 수 있는 것인지에 관한 표시를 제공하는 것을 특징으로 하는 시스템.
  14. 제 13 항에 있어서, 상기 동작 분석 모듈은:
    상기 실행가능한 애플리케이션이 수신된 네트워크 어드레스;
    상기 실행가능한 애플리케이션을 요청한 프로세스의 신뢰도(trust) 레벨;
    신뢰할 수 있는 소스로부터의 서명된 인증서; 및
    의심스러운 정책 액티비티 또는 정책 액티비티로부터 벗어난 이전의 동작;
    중 2개 이상을 포함하는 복수의 특성을 평가하도록 구성되는 것을 특징으로 하는 시스템.
  15. 제 12 항에 있어서, 상기 동작 분석 모듈은 상기 실행가능한 애플리케이션의 실행전에 상기 실행가능한 애플리케이션이 동작하는 리소스를 분석하도록 구성되는 것을 특징으로 하는 시스템.
  16. 제 12항에 있어서, 상기 동작 분석 모듈은 상기 보호된 실행 환경이 상기 실행가능한 애플리케이션의 실행을 제어하기 위해 사용할 제한의 범위를 판정하도록 구성되는 것을 특징으로 하는 시스템.
  17. 제 16 항에 있어서, 상기 동작 분석 모듈은 어떠한 유형의 액티비티가 상기 보호된 실행 환경 내에 포함되어야 하는지를 판정하도록 구성되는 것을 특징으로 하는 시스템.
  18. 제 16 항에 있어서, 상기 동작 분석 모듈은 상기 보호된 실행 환경에 의해 사용하기 위한 제한의 범위를 판정할 때 보안 정책을 적용하도록 구성되는 것을 특징으로 하는 시스템.
  19. 제 16 항에 있어서, 상기 동작 분석 모듈은 상기 실행가능한 애플리케이션에 의해 상기 보호된 실행환경 내에서 수행되는 동작들에 대한 배치를 판정하도록 구성되는 것을 특징으로 하는 시스템.
  20. 제 12 항에 있어서, 상기 동작 분석 모듈은:
    리소스 파일을 여는 단계;
    플로그-인을 로딩하는 단계;
    다른 프로세스들에 의한 조정;
    다른 프로세스들을 조정하는 단계; 및
    인터넷에 액세스하는 단계;
    를 수행하여 잠재적으로 악의적인 액티비티를 검지하도록 구성되는 것을 특징으로 하는 시스템.
  21. 제 12 항에 있어서, 상기 동작 분석 모듈은, 상기 실행가능한 애플리케이션이 상기 보호된 실행 환경 내에서 실행되어야 하는지를 판정하도록 상기 실행가능한 애플리케이션의 복수의 동작 특성을 평가할 때, 보안 정책을 적용하도록 구성되는 것을 특징으로 하는 시스템.
  22. 삭제
  23. 제 12 항에 있어서, 상기 실행가능한 애플리케이션의 일부는:
    파이버;
    쓰레드;
    프로세스;
    동적 링크 라이브러리;
    스크립트; 또는
    플러그인 컴포넌트;
    를 포함할 수 있는 것을 특징으로 하는 시스템.
  24. 하나 이상의 프로세서가 제 1 항의 방법을 수행하도록 하는 명령어를 저장하고 있는 비일시적(non-transitory) 컴퓨터-판독가능 저장 매체.
KR1020127018451A 2009-12-15 2010-12-14 동작 샌드박싱용 시스템 및 방법 KR101442654B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/638,660 2009-12-15
US12/638,660 US8479286B2 (en) 2009-12-15 2009-12-15 Systems and methods for behavioral sandboxing
PCT/US2010/060340 WO2011084431A2 (en) 2009-12-15 2010-12-14 Systems and methods for behavioral sandboxing

Publications (2)

Publication Number Publication Date
KR20120114304A KR20120114304A (ko) 2012-10-16
KR101442654B1 true KR101442654B1 (ko) 2014-09-22

Family

ID=44144450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127018451A KR101442654B1 (ko) 2009-12-15 2010-12-14 동작 샌드박싱용 시스템 및 방법

Country Status (6)

Country Link
US (2) US8479286B2 (ko)
EP (1) EP2513805B1 (ko)
JP (2) JP5592956B2 (ko)
KR (1) KR101442654B1 (ko)
CN (2) CN105893228A (ko)
WO (1) WO2011084431A2 (ko)

Families Citing this family (389)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8856782B2 (en) 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
US8959624B2 (en) 2007-10-31 2015-02-17 Bank Of America Corporation Executable download tracking system
US9098698B2 (en) 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US8745361B2 (en) 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US9846789B2 (en) * 2011-09-06 2017-12-19 International Business Machines Corporation Protecting application programs from malicious software or malware
US8819446B2 (en) 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US8578175B2 (en) 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
US9298894B2 (en) 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
US9954875B2 (en) 2009-06-26 2018-04-24 International Business Machines Corporation Protecting from unintentional malware download
US8839422B2 (en) 2009-06-30 2014-09-16 George Mason Research Foundation, Inc. Virtual browsing environment
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US8479286B2 (en) 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing
US9185064B2 (en) * 2010-01-15 2015-11-10 Microsoft Technology Licensing, Llc Interactive email
US8782209B2 (en) 2010-01-26 2014-07-15 Bank Of America Corporation Insider threat correlation tool
US8793789B2 (en) 2010-07-22 2014-07-29 Bank Of America Corporation Insider threat correlation tool
US9038187B2 (en) * 2010-01-26 2015-05-19 Bank Of America Corporation Insider threat correlation tool
US8800034B2 (en) 2010-01-26 2014-08-05 Bank Of America Corporation Insider threat correlation tool
US8813232B2 (en) 2010-03-04 2014-08-19 Mcafee Inc. Systems and methods for risk rating and pro-actively detecting malicious online ads
US8918867B1 (en) * 2010-03-12 2014-12-23 8X8, Inc. Information security implementations with extended capabilities
US9390263B2 (en) * 2010-03-31 2016-07-12 Sophos Limited Use of an application controller to monitor and control software file and application environments
US8782794B2 (en) 2010-04-16 2014-07-15 Bank Of America Corporation Detecting secure or encrypted tunneling in a computer network
US9491055B1 (en) * 2010-04-21 2016-11-08 Sprint Communications Company L.P. Determining user communities in communication networks
US9836724B2 (en) 2010-04-23 2017-12-05 Microsoft Technology Licensing, Llc Email views
US9098333B1 (en) * 2010-05-07 2015-08-04 Ziften Technologies, Inc. Monitoring computer process resource usage
US9116733B2 (en) * 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9104837B1 (en) * 2012-06-18 2015-08-11 Bromium, Inc. Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files
US9148428B1 (en) 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US9323921B2 (en) * 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US9246932B2 (en) 2010-07-19 2016-01-26 Sitelock, Llc Selective website vulnerability and infection testing
US8918645B2 (en) 2010-09-24 2014-12-23 Amazon Technologies, Inc. Content selection and delivery for random devices
US8606948B2 (en) 2010-09-24 2013-12-10 Amazon Technologies, Inc. Cloud-based device interaction
US8789138B2 (en) 2010-12-27 2014-07-22 Microsoft Corporation Application execution in a restricted application execution environment
JP5739182B2 (ja) 2011-02-04 2015-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 制御システム、方法およびプログラム
US9111089B1 (en) * 2011-02-08 2015-08-18 Symantec Corporation Systems and methods for safely executing programs
US20120210436A1 (en) * 2011-02-14 2012-08-16 Alan Rouse System and method for fingerprinting in a cloud-computing environment
JP5731223B2 (ja) 2011-02-14 2015-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異常検知装置、監視制御システム、異常検知方法、プログラムおよび記録媒体
JP5689333B2 (ja) * 2011-02-15 2015-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異常検知システム、異常検知装置、異常検知方法、プログラムおよび記録媒体
US9864853B2 (en) 2011-02-23 2018-01-09 International Business Machines Corporation Enhanced security mechanism for authentication of users of a system
US8769305B2 (en) * 2011-03-21 2014-07-01 Moncana Corporation Secure execution of unsecured apps on a device
US8955142B2 (en) * 2011-03-21 2015-02-10 Mocana Corporation Secure execution of unsecured apps on a device
US8812868B2 (en) 2011-03-21 2014-08-19 Mocana Corporation Secure execution of unsecured apps on a device
US9396325B2 (en) 2011-03-21 2016-07-19 Mocana Corporation Provisioning an app on a device and implementing a keystore
US9473485B2 (en) 2011-03-21 2016-10-18 Blue Cedar Networks, Inc. Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing
US8806647B1 (en) * 2011-04-25 2014-08-12 Twitter, Inc. Behavioral scanning of mobile applications
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US9921860B1 (en) 2011-05-25 2018-03-20 Bromium, Inc. Isolation of applications within a virtual machine
US8099596B1 (en) * 2011-06-30 2012-01-17 Kaspersky Lab Zao System and method for malware protection using virtualization
US8825748B2 (en) * 2011-07-06 2014-09-02 Sharp Laboratories Of America, Inc. Sandboxed daemon process invocation through HTTP
CN102289628A (zh) * 2011-07-21 2011-12-21 浙江大学城市学院 基于沙箱技术的shell脚本安全运行方法及系统
US9813310B1 (en) * 2011-10-31 2017-11-07 Reality Analytics, Inc. System and method for discriminating nature of communication traffic transmitted through network based on envelope characteristics
US9686293B2 (en) 2011-11-03 2017-06-20 Cyphort Inc. Systems and methods for malware detection and mitigation
US9792430B2 (en) 2011-11-03 2017-10-17 Cyphort Inc. Systems and methods for virtualized malware detection
US9519781B2 (en) * 2011-11-03 2016-12-13 Cyphort Inc. Systems and methods for virtualization and emulation assisted malware detection
US8590041B2 (en) 2011-11-28 2013-11-19 Mcafee, Inc. Application sandboxing using a dynamic optimization framework
GB2492857B (en) * 2011-11-30 2013-07-17 Avecto Ltd Method and computer device to control software file downloads
US9081959B2 (en) * 2011-12-02 2015-07-14 Invincea, Inc. Methods and apparatus for control and detection of malicious content using a sandbox environment
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
JP5723760B2 (ja) * 2011-12-28 2015-05-27 Kddi株式会社 アプリケーション解析装置、アプリケーション解析システム、およびプログラム
US8935755B1 (en) * 2012-02-06 2015-01-13 Google Inc. Managing permissions and capabilities of web applications and browser extensions based on install location
US9075913B2 (en) * 2012-02-27 2015-07-07 Qualcomm Incorporated Validation of applications for graphics processing unit
US20150052613A1 (en) * 2012-03-21 2015-02-19 Green Sql Ltd Database antivirus system and method
US9826017B1 (en) * 2012-05-03 2017-11-21 Google Inc. Securely serving results of dynamic user-provided code over the web
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US9104873B1 (en) * 2012-05-21 2015-08-11 Symantec Corporation Systems and methods for determining whether graphics processing units are executing potentially malicious processes
US9003475B1 (en) * 2012-06-05 2015-04-07 Symantec Corporation Systems and methods for applying data-loss-prevention policies
US9241009B1 (en) 2012-06-07 2016-01-19 Proofpoint, Inc. Malicious message detection and processing
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9734131B1 (en) 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
US9727534B1 (en) 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US9066230B1 (en) 2012-06-27 2015-06-23 Sprint Communications Company L.P. Trusted policy and charging enforcement function
US8649770B1 (en) 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US8667607B2 (en) 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9898445B2 (en) * 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US9213827B2 (en) * 2012-09-27 2015-12-15 Intel Corporation Security data aggregation and business intelligence for web applications
US9430640B2 (en) * 2012-09-28 2016-08-30 Intel Corporation Cloud-assisted method and service for application security verification
WO2014058409A1 (en) * 2012-10-08 2014-04-17 Hewlett-Packard Development Company, L.P. Robust hardware fault management system, method and framework for enterprise devices
CN102930203B (zh) * 2012-10-12 2015-08-26 浙江大学城市学院 一种轻量级JavaScript沙箱的实现方法
US9135436B2 (en) 2012-10-19 2015-09-15 The Aerospace Corporation Execution stack securing process
FR2997529B1 (fr) * 2012-10-29 2015-12-25 Pradeo Security Systems Procede et systeme de verification de la securite d’une application en vue de son utilisation sur un appareil utilisateur.
US9069766B2 (en) 2012-11-02 2015-06-30 Microsoft Technology Licensing, Llc Content-based isolation for computing device security
US9445112B2 (en) * 2012-12-06 2016-09-13 Microsoft Technology Licensing, Llc Secure transcoding of video data
US9197446B2 (en) * 2012-12-12 2015-11-24 Google Inc. Address pinning
US8918837B2 (en) 2012-12-28 2014-12-23 Intel Corporation Web application container for client-level runtime control
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9300760B2 (en) * 2013-01-28 2016-03-29 Google Inc. Machine-specific instruction set translation
CN103116722A (zh) * 2013-02-06 2013-05-22 北京奇虎科技有限公司 一种通知栏消息的处理方法、装置和系统
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
CN105074718A (zh) * 2013-02-15 2015-11-18 高通股份有限公司 具有多个分析仪模型提供商的移动设备中的在线行为分析引擎
US9159035B1 (en) 2013-02-23 2015-10-13 Fireeye, Inc. Framework for computer application analysis of sensitive information tracking
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9824209B1 (en) 2013-02-23 2017-11-21 Fireeye, Inc. Framework for efficient security coverage of mobile software applications that is usable to harden in the field code
US9009822B1 (en) * 2013-02-23 2015-04-14 Fireeye, Inc. Framework for multi-phase analysis of mobile applications
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9104840B1 (en) 2013-03-05 2015-08-11 Sprint Communications Company L.P. Trusted security zone watermark
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9613208B1 (en) 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9565202B1 (en) 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
US9049013B2 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
US9781118B2 (en) 2013-03-14 2017-10-03 Intel Corporation Differentiated containerization and execution of web content based on trust level and other attributes
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9374363B1 (en) 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9021585B1 (en) 2013-03-15 2015-04-28 Sprint Communications Company L.P. JTAG fuse vulnerability determination and protection using a trusted execution environment
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints
US9251343B1 (en) 2013-03-15 2016-02-02 Fireeye, Inc. Detecting bootkits resident on compromised computers
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
EP2782038A1 (en) * 2013-03-19 2014-09-24 STMicroelectronics (Grenoble 2) SAS Resource management in a processor for trusted and untrusted applications
EP2782010A1 (en) 2013-03-19 2014-09-24 STMicroelectronics (Grenoble 2) SAS Hierarchical resource management
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US9361459B2 (en) 2013-04-19 2016-06-07 Lastline, Inc. Methods and systems for malware detection based on environment-dependent behavior
US8910285B2 (en) 2013-04-19 2014-12-09 Lastline, Inc. Methods and systems for reciprocal generation of watch-lists and malware signatures
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US9069952B1 (en) * 2013-05-20 2015-06-30 Sprint Communications Company L.P. Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
KR101429131B1 (ko) * 2013-06-12 2014-08-11 소프트캠프(주) 시스템 보호를 위한 파일 보안용 관리장치와 관리방법
US9536091B2 (en) 2013-06-24 2017-01-03 Fireeye, Inc. System and method for detecting time-bomb malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9888016B1 (en) 2013-06-28 2018-02-06 Fireeye, Inc. System and method for detecting phishing using password prediction
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
US8943592B1 (en) * 2013-07-15 2015-01-27 Eset, Spol. S.R.O. Methods of detection of software exploitation
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
US9591003B2 (en) * 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification
CN103646213B (zh) * 2013-09-26 2016-06-01 北京神州绿盟信息安全科技股份有限公司 一种恶意软件的分类方法和装置
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US10192052B1 (en) 2013-09-30 2019-01-29 Fireeye, Inc. System, apparatus and method for classifying a file as malicious using static scanning
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
JP2016540287A (ja) 2013-10-18 2016-12-22 ノキア テクノロジーズ オサケユイチア 電子デバイスにおけるアプリケーションを動作させ、許可をモニタリングする方法とシステム
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9225715B2 (en) * 2013-11-14 2015-12-29 Globalfoundries U.S. 2 Llc Securely associating an application with a well-known entity
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
US9189627B1 (en) 2013-11-21 2015-11-17 Fireeye, Inc. System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
EP2881883B1 (en) * 2013-12-05 2018-04-11 AO Kaspersky Lab System and method for reducing load on an operating system when executing antivirus operations
RU2571723C2 (ru) 2013-12-05 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US9235692B2 (en) 2013-12-13 2016-01-12 International Business Machines Corporation Secure application debugging
WO2015094356A1 (en) 2013-12-20 2015-06-25 Intel Corporation Crowd sourced online application cache management
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9740857B2 (en) 2014-01-16 2017-08-22 Fireeye, Inc. Threat-aware microvisor
US9118655B1 (en) 2014-01-24 2015-08-25 Sprint Communications Company L.P. Trusted display and transmission of digital ticket documentation
US10430614B2 (en) * 2014-01-31 2019-10-01 Bromium, Inc. Automatic initiation of execution analysis
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
EP3108395B1 (en) 2014-02-18 2018-10-24 Proofpoint, Inc. Targeted attack protection using predictive sandboxing
DE102014203164A1 (de) * 2014-02-21 2015-08-27 Siemens Aktiengesellschaft Analysesystem und Verfahren zum dynamischen Konfigurieren eines Analysesystems
US10095866B2 (en) 2014-02-24 2018-10-09 Cyphort Inc. System and method for threat risk scoring of security threats
US11405410B2 (en) 2014-02-24 2022-08-02 Cyphort Inc. System and method for detecting lateral movement and data exfiltration
US10326778B2 (en) 2014-02-24 2019-06-18 Cyphort Inc. System and method for detecting lateral movement and data exfiltration
US10225280B2 (en) 2014-02-24 2019-03-05 Cyphort Inc. System and method for verifying and detecting malware
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9684787B2 (en) 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device
US9530006B2 (en) * 2014-04-11 2016-12-27 Oracle International Corporation Method and system for performing a memory safety check of a program written in an unmanaged programming language
CN103970574B (zh) * 2014-05-22 2017-07-14 北京奇虎科技有限公司 office程序的运行方法及装置、计算机系统
US9684547B2 (en) 2014-05-29 2017-06-20 Apple Inc. Method and apparatus for handling security of an application and its extension
JP6116524B2 (ja) * 2014-06-05 2017-04-19 株式会社日立システムズ プログラム解析装置、プログラム解析方法及びプログラム解析システム
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US9356969B2 (en) 2014-09-23 2016-05-31 Intel Corporation Technologies for multi-factor security analysis and runtime control
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US10498746B2 (en) * 2014-10-02 2019-12-03 AVAST Software s.r.o. Cloud based reputation system for browser extensions and toolbars
US10073976B2 (en) * 2014-10-24 2018-09-11 Samsung Electronics Co., Ltd. Application executing method and device, and recording medium thereof
US9535731B2 (en) * 2014-11-21 2017-01-03 International Business Machines Corporation Dynamic security sandboxing based on intruder intent
US10242082B2 (en) * 2014-12-12 2019-03-26 Microsoft Technology Licensing, Llc Context-driven multi-user communication
CN104573515A (zh) * 2014-12-19 2015-04-29 百度在线网络技术(北京)有限公司 一种病毒处理方法、装置和系统
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
WO2016121348A1 (ja) * 2015-01-29 2016-08-04 日本電気株式会社 マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラムが格納された記録媒体
KR102320149B1 (ko) * 2015-02-16 2021-11-01 삼성전자주식회사 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
CN104766006B (zh) * 2015-03-18 2019-03-12 百度在线网络技术(北京)有限公司 一种确定危险文件所对应的行为信息的方法和装置
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
JP6333763B2 (ja) * 2015-03-31 2018-05-30 株式会社日立アドバンストシステムズ マルウェア解析装置およびマルウェア解析方法
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9912681B1 (en) 2015-03-31 2018-03-06 Fireeye, Inc. Injection of content processing delay in an endpoint
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US9600682B2 (en) * 2015-06-08 2017-03-21 Accenture Global Services Limited Mapping process changes
US10230750B2 (en) * 2015-06-08 2019-03-12 Securboration, Inc. Secure computing environment
JP6791134B2 (ja) * 2015-06-16 2020-11-25 日本電気株式会社 分析システム、分析方法、分析装置及び、コンピュータ・プログラム
JP6668390B2 (ja) * 2015-06-27 2020-03-18 マカフィー, エルエルシー マルウェアの軽減
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
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
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
RU2618947C2 (ru) * 2015-06-30 2017-05-11 Закрытое акционерное общество "Лаборатория Касперского" Способ предотвращения работы программ, содержащих нежелательный для пользователя функционал
US20170039390A1 (en) * 2015-08-08 2017-02-09 James Alexander KING Methods and systems for privacy preserving third party extension
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
US9465714B1 (en) * 2015-09-22 2016-10-11 International Business Machines Corporation Adaptive runtime for a multiprocessing API
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US9977896B2 (en) * 2015-10-08 2018-05-22 Digital Guardian, Inc. Systems and methods for generating policies for an application using a virtualized environment
US10043026B1 (en) * 2015-11-09 2018-08-07 8X8, Inc. Restricted replication for protection of replicated databases
US20170134405A1 (en) * 2015-11-09 2017-05-11 Qualcomm Incorporated Dynamic Honeypot System
US10021120B1 (en) 2015-11-09 2018-07-10 8X8, Inc. Delayed replication for protection of replicated databases
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US10474819B2 (en) * 2015-11-20 2019-11-12 Lastline, Inc. Methods and systems for maintaining a sandbox for use in malware detection
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
WO2017177302A1 (en) 2016-04-15 2017-10-19 Light Wave Technology Inc. Automotive rear-view camera peripheral
WO2018010021A1 (en) * 2016-07-11 2018-01-18 Light Wave Technology Inc. Pointer control in a handheld computer by way of hid commands
CN106055975A (zh) * 2016-05-16 2016-10-26 杭州华三通信技术有限公司 文件检测方法及沙箱
US10855725B2 (en) * 2016-06-02 2020-12-01 Microsoft Technology Licensing, Llc Hardware-based virtualized security isolation
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) * 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10277631B1 (en) * 2016-07-08 2019-04-30 Sprint Communications Company L.P. Self-preserving policy engine and policy-based content transmission
CN107659540B (zh) * 2016-07-25 2021-01-26 中兴通讯股份有限公司 动态行为分析方法、装置、系统及设备
CN107786413B (zh) * 2016-08-24 2022-03-22 中兴通讯股份有限公司 一种浏览电子邮件的方法及用户终端
US10191861B1 (en) 2016-09-06 2019-01-29 Fireeye, Inc. Technique for implementing memory views using a layered virtualization architecture
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US20210306348A1 (en) * 2016-10-25 2021-09-30 Michael Ratiner System and method for securing electronic devices
US10241896B2 (en) * 2016-11-08 2019-03-26 Salesforce, Inc. Formation and manipulation of test data in a database system
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
CN106850263B (zh) * 2016-12-27 2019-10-18 北京华为数字技术有限公司 一种备平面中转发设备的配置错误检测方法、装置和系统
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
RU2665911C2 (ru) 2017-02-08 2018-09-04 Акционерное общество "Лаборатория Касперского" Система и способ анализа файла на вредоносность в виртуальной машине
US11303656B2 (en) 2017-03-01 2022-04-12 Cujo LLC Determining entity maliciousness based on associated entities
US11314870B1 (en) * 2017-03-14 2022-04-26 Melih Abdulhayoglu Auto-containment of potentially vulnerable applications
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US11423140B1 (en) 2017-03-27 2022-08-23 Melih Abdulhayoglu Auto-containment of guest user applications
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10951644B1 (en) 2017-04-07 2021-03-16 Comodo Security Solutions, Inc. Auto-containment of potentially vulnerable applications
RU2649794C1 (ru) * 2017-04-28 2018-04-04 Акционерное общество "Лаборатория Касперского" Система и способ формирования журнала в виртуальной машине для проведения антивирусной проверки файла
EP3407235A1 (en) * 2017-05-22 2018-11-28 Leap in Value S.L. A computer-implemented method, a system and a computer program for identifying malicious uri data items
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
US20190018953A1 (en) * 2017-07-12 2019-01-17 Open Text Corporation Methods and systems for tenant aware behavior injection in content metadata service
US10887369B2 (en) 2017-09-25 2021-01-05 Splunk Inc. Customizable load balancing in a user behavior analytics deployment
US10546120B2 (en) * 2017-09-25 2020-01-28 AO Kaspersky Lab System and method of forming a log in a virtual machine for conducting an antivirus scan of a file
US11086974B2 (en) * 2017-09-25 2021-08-10 Splunk Inc. Customizing a user behavior analytics deployment
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11294798B2 (en) * 2017-11-15 2022-04-05 Lenovo (Singapore) Pte. Ltd. Method and system for context based testing of software application vulnerabilities
KR102016226B1 (ko) * 2017-11-22 2019-08-29 숭실대학교산학협력단 적응형 동적 분석 방법, 적응형 동적 분석 플랫폼 및 이를 탑재한 장치
US11074323B2 (en) 2017-12-07 2021-07-27 Microsoft Technology Licensing, Llc Method and system for persisting files
US10885193B2 (en) 2017-12-07 2021-01-05 Microsoft Technology Licensing, Llc Method and system for persisting untrusted files
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11240275B1 (en) * 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
CN108121914B (zh) * 2018-01-17 2021-04-13 四川神琥科技有限公司 一种文档泄密防护追踪系统
EP3522057B1 (en) * 2018-02-06 2021-06-23 AO Kaspersky Lab System and method of detecting hidden behavior of a browser extension
RU2697950C2 (ru) * 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ выявления скрытого поведения расширения браузера
KR102102577B1 (ko) * 2018-02-27 2020-04-21 한국인터넷진흥원 악성 앱 탐지 장치 및 그 방법
US10540175B2 (en) * 2018-03-05 2020-01-21 Appzero Software Corp. Up-level applications to a new OS
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US20190347420A1 (en) * 2018-05-11 2019-11-14 Microsoft Technology Licensing, Llc Method and system for installing and running untrusted applications
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
RU2708355C1 (ru) * 2018-06-29 2019-12-05 Акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносных файлов, противодействующих анализу в изолированной среде
US11188639B2 (en) * 2018-07-19 2021-11-30 Intel Corporation System, method and apparatus for automatic program compartmentalization
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
KR102510846B1 (ko) * 2018-10-04 2023-03-16 삼성전자주식회사 전자 장치 및 그의 제어방법
US11210391B2 (en) * 2018-11-29 2021-12-28 Palo Alto Networks, Inc. Application-level sandboxing on devices
US11176251B1 (en) 2018-12-21 2021-11-16 Fireeye, Inc. Determining malware via symbolic function hash analysis
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11743290B2 (en) 2018-12-21 2023-08-29 Fireeye Security Holdings Us Llc System and method for detecting cyberattacks impersonating legitimate sources
RU2724790C1 (ru) 2018-12-28 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ формирования журнала при исполнении файла с уязвимостями в виртуальной машине
US11601444B1 (en) 2018-12-31 2023-03-07 Fireeye Security Holdings Us Llc Automated system for triage of customer issues
US11310238B1 (en) 2019-03-26 2022-04-19 FireEye Security Holdings, Inc. System and method for retrieval and analysis of operational data from customer, cloud-hosted virtual resources
US11677786B1 (en) 2019-03-29 2023-06-13 Fireeye Security Holdings Us Llc System and method for detecting and protecting against cybersecurity attacks on servers
US11636198B1 (en) 2019-03-30 2023-04-25 Fireeye Security Holdings Us Llc System and method for cybersecurity analyzer update and concurrent management system
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
WO2020261438A1 (ja) * 2019-06-26 2020-12-30 日本電気株式会社 実行制御システム、実行制御方法、及びプログラム
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
GB201913893D0 (en) * 2019-09-26 2019-11-13 Palantir Technologies Inc Cybersecurity event detection system and method
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
CN110795311B (zh) * 2019-10-30 2020-11-03 北京三快在线科技有限公司 一种事件回放的方法及装置
US11295007B2 (en) 2019-12-03 2022-04-05 Tableau Software, LLC Sandboxed application extensions
US11522884B1 (en) 2019-12-24 2022-12-06 Fireeye Security Holdings Us Llc Subscription and key management system
US11838300B1 (en) 2019-12-24 2023-12-05 Musarubra Us Llc Run-time configurable cybersecurity system
US11436327B1 (en) 2019-12-24 2022-09-06 Fireeye Security Holdings Us Llc System and method for circumventing evasive code for cyberthreat detection
CN111460439B (zh) * 2020-03-27 2023-03-21 中南大学 基于多环境的逃避行为检测方法
KR102330404B1 (ko) * 2020-09-08 2021-11-24 주식회사 인더포레스트 통합 보안 진단 방법 및 장치
CN112434284B (zh) * 2020-10-29 2022-05-17 格物钛(上海)智能科技有限公司 一种基于沙箱环境的机器学习训练平台实现
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备
WO2023023127A1 (en) * 2021-08-20 2023-02-23 Forter Ltd System and method for controlling js scripts access to dom/apis
CN113918950A (zh) * 2021-12-14 2022-01-11 成都无糖信息技术有限公司 一种基于模拟执行的沙箱构建方法
US11941109B2 (en) 2021-12-21 2024-03-26 Cyberark Software Ltd. Customizable and dynamically mutable operating systems
US20230195882A1 (en) * 2021-12-21 2023-06-22 Cyberark Software Ltd. Orchestration and generation of minimal surface optimized unikernels
US11681805B1 (en) * 2022-05-26 2023-06-20 Morgan Stanley Services Group Inc. System for analytic data memorialization, data science, and validation
CN117521087B (zh) * 2024-01-04 2024-03-15 江苏通付盾科技有限公司 一种设备风险行为检测方法、系统及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060021029A1 (en) 2004-06-29 2006-01-26 Brickell Ernie F Method of improving computer security through sandboxing

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US7975305B2 (en) * 1997-11-06 2011-07-05 Finjan, Inc. Method and system for adaptive rule-based content scanners for desktop computers
US6760441B1 (en) * 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US6611925B1 (en) * 2000-06-13 2003-08-26 Networks Associates Technology, Inc. Single point of entry/origination item scanning within an enterprise or workgroup
GB2371125A (en) * 2001-01-13 2002-07-17 Secr Defence Computer protection system
US20020188649A1 (en) * 2001-06-12 2002-12-12 Ron Karim Mechanism for safely executing an untrusted program
US20030229794A1 (en) 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
CN100358280C (zh) * 2003-06-18 2007-12-26 联想(北京)有限公司 一种网络安全装置及其实现方法
US7421498B2 (en) 2003-08-25 2008-09-02 Microsoft Corporation Method and system for URL based filtering of electronic communications and web pages
US7664819B2 (en) 2004-06-29 2010-02-16 Microsoft Corporation Incremental anti-spam lookup and update service
US7603715B2 (en) * 2004-07-21 2009-10-13 Microsoft Corporation Containment of worms
US20060075494A1 (en) 2004-10-01 2006-04-06 Bertman Justin R Method and system for analyzing data for potential malware
US7287279B2 (en) 2004-10-01 2007-10-23 Webroot Software, Inc. System and method for locating malware
US8438499B2 (en) 2005-05-03 2013-05-07 Mcafee, Inc. Indicating website reputations during user interactions
US7548544B2 (en) 2005-05-05 2009-06-16 Ironport Systems, Inc. Method of determining network addresses of senders of electronic mail messages
GB0513375D0 (en) 2005-06-30 2005-08-03 Retento Ltd Computer security
US7757289B2 (en) * 2005-12-12 2010-07-13 Finjan, Inc. System and method for inspecting dynamically generated executable code
US7725922B2 (en) * 2006-03-21 2010-05-25 Novell, Inc. System and method for using sandboxes in a managed shell
US9009818B2 (en) 2006-04-06 2015-04-14 Pulse Secure, Llc Malware detection system and method for compressed data on mobile platforms
JP2007334536A (ja) * 2006-06-14 2007-12-27 Securebrain Corp マルウェアの挙動解析システム
US8332947B1 (en) * 2006-06-27 2012-12-11 Symantec Corporation Security threat reporting in light of local security tools
US8615800B2 (en) * 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
US20080104699A1 (en) * 2006-09-28 2008-05-01 Microsoft Corporation Secure service computation
WO2008055156A2 (en) * 2006-10-30 2008-05-08 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US20100071063A1 (en) * 2006-11-29 2010-03-18 Wisconsin Alumni Research Foundation System for automatic detection of spyware
JP4512083B2 (ja) * 2006-12-20 2010-07-28 トレンドマイクロ株式会社 ネットワークを介して通信端末に提供されるプログラムに対する伝送経路上でのセキュリティの確保
JP2008234248A (ja) * 2007-03-20 2008-10-02 Mitsubishi Electric Corp プログラム実行装置及びプログラム実行方法
US8621610B2 (en) * 2007-08-06 2013-12-31 The Regents Of The University Of Michigan Network service for the detection, analysis and quarantine of malicious and unwanted files
US8326872B2 (en) * 2008-02-22 2012-12-04 Microsoft Corporation Database sandbox
CN101262491A (zh) * 2008-04-02 2008-09-10 王京 应用层网络分析方法及系统
US8239948B1 (en) * 2008-12-19 2012-08-07 Symantec Corporation Selecting malware signatures to reduce false-positive detections
US8813222B1 (en) * 2009-01-21 2014-08-19 Bitdefender IPR Management Ltd. Collaborative malware scanning
US8479286B2 (en) 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060021029A1 (en) 2004-06-29 2006-01-26 Brickell Ernie F Method of improving computer security through sandboxing

Also Published As

Publication number Publication date
EP2513805B1 (en) 2019-04-17
WO2011084431A2 (en) 2011-07-14
EP2513805A2 (en) 2012-10-24
CN102741824B (zh) 2016-03-30
EP2513805A4 (en) 2013-12-25
CN105893228A (zh) 2016-08-24
US20110145926A1 (en) 2011-06-16
JP2014238870A (ja) 2014-12-18
JP2013514594A (ja) 2013-04-25
US9223963B2 (en) 2015-12-29
KR20120114304A (ko) 2012-10-16
CN102741824A (zh) 2012-10-17
WO2011084431A3 (en) 2011-10-20
US8479286B2 (en) 2013-07-02
JP5592956B2 (ja) 2014-09-17
JP5957492B2 (ja) 2016-07-27
US20130254884A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
KR101442654B1 (ko) 동작 샌드박싱용 시스템 및 방법
US20230032874A1 (en) Realtime event detection
US10817602B2 (en) Endpoint malware detection using an event graph
US11720666B2 (en) Application-level sandboxing on devices
US11620383B2 (en) Dynamic analysis techniques for applications
US11604878B2 (en) Dynamic analysis techniques for applications
Mutchler et al. A large-scale study of mobile web app security
GB2549545A (en) Forensic analysis of computing activity
US20210264030A1 (en) Integrated application analysis and endpoint protection
US11157618B2 (en) Context-based analysis of applications
Onarlioglu et al. Sentinel: Securing legacy firefox extensions
US20230275916A1 (en) Detecting malicious activity on an endpoint based on real-time system events
Jeong et al. SafeGuard: a behavior based real-time malware detection scheme for mobile multimedia applications in android platform
GB2551972A (en) Endpoint malware detection using an event graph
GB2573076A (en) Endpoint malware detection using an event graph
Sundareswaran et al. Decore: Detecting content repurposing attacks on clients’ systems
Stock First, Do No Harm: Studying the manipulation of security headers in browser extensions

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20170831

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180828

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190830

Year of fee payment: 6