KR20080002755A - 웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기위한 방법, 시스템 및 컴퓨터 판독가능 매체 - Google Patents

웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기위한 방법, 시스템 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20080002755A
KR20080002755A KR1020077019923A KR20077019923A KR20080002755A KR 20080002755 A KR20080002755 A KR 20080002755A KR 1020077019923 A KR1020077019923 A KR 1020077019923A KR 20077019923 A KR20077019923 A KR 20077019923A KR 20080002755 A KR20080002755 A KR 20080002755A
Authority
KR
South Korea
Prior art keywords
malware
binary code
computer
request
web service
Prior art date
Application number
KR1020077019923A
Other languages
English (en)
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 KR20080002755A publication Critical patent/KR20080002755A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

본 발명에 따르면, 웹 서비스로의 요청에서 멀웨어를 식별하기 위한 시스템, 방법 및 컴퓨터 판독가능 매체가 제공된다. 본 발명의 한 양태는 웹 서비스를 제공하는 컴퓨터를, 웹 요청이 행해진 멀웨어로부터 보호하기 위한 컴퓨터 구현가능 방법이다. 요청이 수신되면, 온디맨드 컴파일 시스템은 요청과 관련된 고수준의 코드를 실행될 수 있는 이진 코드로 컴파일한다. 그러나, 코드가 실행되기 전에, 멀웨어를 식별하도록 설계된 안티바이러스 소프트웨어는 멀웨어에 대해 이진 코드를 정밀 검사한다. 멀웨어가 식별되면, 안티바이러스 소프트웨어는 요청과 관련된 이진 코드가 실행되지 못하게 한다.
멀웨어, 웹 서비스, 안티바이러스 소프트웨어, 이진 코드, 온디맨드 컴파일 시스템

Description

웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기 위한 방법, 시스템 및 컴퓨터 판독가능 매체{PROTECTING A COMPUTER THAT PROVIDES A WEB SERVICE FROM MALWARE}
본 발명은 컴퓨터에 관한 것으로, 보다 구체적으로는, 웹 서비스를 제공하는 컴퓨터를 멀웨어(malware)로부터 보호하는 것에 관한 것이다.
컴퓨터 네트워크, 특히 인터넷으로의 접속(connectivity)은 상품과 서비스가 제공되는 방식에 급격한 변화를 가져왔다. 네트워크 및 인터넷으로의 거의 세계적인(universal) 접속 이전에는, 사람들의 상호 작용은, 통상적으로, 소프트웨어를 구매하거나 또는 정보 데이터베이스에 정보를 제공하는 것과 같은 트랜잭션을 완료할 필요가 있었다. 또한, 일부 제품을 배포하기 위해서는 그 제품을 패키징하고 그 제품을 구매자에게 배포하기 위한 시스템이 필요했다. 그러나, 소프트웨어 및 유사한 제품을 배포하는 시스템을 생성하는 것은 통상적으로 제공자에게는 비용이 많이 들었다. 또한, 컴퓨터화되지 않은 수단을 통해 많은 양의 정보를 교환하기 위해서는 적어도 일부 사람이 관여해야 하며, 그 결과, 시간을 소모하게 되고 비용이 들게 되었다.
최근의 컴퓨터 네트워크에 의해 제공되는 상호접속(interconnectivity)으로 인해, 일반적으로 컴퓨터는 정보를 교환하는 것이 가능하게 되었지만, 상호접속으로 인해 또한 컴퓨터는 공격에 더욱 취약하게 되었다. 당업자들이 아는 바와 같이, 이러한 공격은, 컴퓨터 바이러스, 컴퓨터 웜, 시스템 컴포넌트 대체, 서비스 거부 공격, 심지어는 합법적인 컴퓨터 시스템 특징의 오용/남용을 포함하는(그러나 이에 제한되지 않음) 여러 상이한 형태로 나타날 수 있으며, 이들 모두는 불법적인 목적으로 컴퓨터 시스템의 하나 이상의 취약성을 악용한다. 당업자들은, 각종 컴퓨터 공격이 기술적으로는 서로 상이하지만, 본 발명을 위해, 그리고 기술의 단순화를 위해, 이하에서는 악성 컴퓨터 프로그램 모두를 컴퓨터 멀웨어, 더 간단하게는 그냥 멀웨어라 지칭할 것이라는 것을 이해할 것이다.
컴퓨터가 컴퓨터 멀웨어에 의해 공격당하거나 또는 "감염되는" 경우, 그 불리한 결과는 시스템 장치를 사용불가하게 하는 것, 펌웨어, 애플리케이션 또는 데이터 파일을 지우거나 손상시키는 것, 민감할 수 있는 데이터를 네트워크의 다른 위치로 전송하는 것, 컴퓨터를 셧다운시키는 것 또는 컴퓨터를 고장내는 것과 같이, 다양하게 나타난다. 전부는 아니지만, 많은 컴퓨터 멀웨어의 또 다른 치명적인 양태는, 감염된 컴퓨터가 다른 컴퓨터들을 감염시키는 데에 사용된다는 것이다.
인터넷용으로 개발된 프로토콜을 이용하여 네트워크 컴퓨터들 간의 데이터 통신을 용이하게 하는 시스템이 웹 서비스이다. 당업자들은 웹 서비스가 다른 소프트웨어 시스템을 대신하여 액션을 행하는, 네트워크 액세스가능한 인터페이스를 갖는 소프트웨어 시스템을 지칭한다는 것을 알 것이다. 웹 서비스는 통상적으로 SOAP(Simple Object Access Protocol)와 같은 표준 프로토콜을 이용하여 액세스된 다. 원격 컴퓨터상에 위치하는 소프트웨어 시스템은, 웹 서비스와의 통신을 위한 방법을 정의하는 서비스 기술(service description)에 제공된 정의에 의해 규정된 방식으로 웹 서비스와 상호작용할 수 있다. 또한, 소프트웨어 시스템들 간의 상호작용은, 통상적으로, HTTP(HyperText Transfer Protocol)와 같은 인터넷 기반 프로토콜을 통해 교환되는 XML(Extensible Markup Language) 기반 메시지를 이용하여 발생한다. 예를 들면, 웹 서비스와 통신하는 한 가지 방법은, 웹 서비스를 종단들(endpoints)의 집합으로서 기술하는 데에 사용되는 XML 기반 언어로 된 WSDL(Web Services Description Language)을 이용한다. 이 방법에서, 웹 서비스는, 웹 서비스를 제공하는 컴퓨터에서 또는 컴퓨터들의 클러스터에서 데이터를 액세스하거나 동작을 실행하기 위해, 원격 소프트웨어 시스템에 프로세스를 노출시킬 수 있다. 통상적으로, 웹 서비스는, URI(Uniform Resource Indicator)를 이용하여 식별될 수 있는 네트워크상의 특정 위치에서 다른 소프트웨어 시스템과의 상호작용을 지원한다. 웹 서비스를 이용하여 개발자는 소프트웨어 시스템들 간에 통신하기 위한 서로 다른 운영 체제 및 서로 다른 프로그래밍 언어를 사용할 수 있다. 또한, 웹 서비스에 의해 제공되는 프로세스들은, 예를 들면, 웹 인터페이스를 통해 XML 데이터를 교환함으로써와 같이 액세스가능하다. 그 결과, 복잡한 동작을 달성하기 위해 서로 다른 프로그램들이 느슨하게 결합된 방식으로 조합될 수 있다.
불행하게도, 웹 서비스에 요청을 행하는 엔티티(이하에서는 "서비스 요청자" 또는 "요청자 컴퓨터"라 지칭함)는 나쁜 영향을 끼치는 하나 이상의 메시지를 생성할 수 있다. 다르게 말하면, 웹 서비스를 제공하는 컴퓨터는 서비스 요청자에 의 해 생성된 멀웨어의 영향을 받기 쉽다. 예를 들면, 멀웨어 저작자(author)는, 서버 컴퓨터 상에서 요청의 MXL 문법을 파싱하는 계산상의 복잡도로 인해, 서비스 거부 공격을 일으키는 유효하게 형성된 요청을 웹 서비스로 전달할 수 있다. 상술된 바와 같이, 전송을 수신하는 컴퓨터상에서 부정적인 영향을 야기시키는, 합법적인 컴퓨터 시스템 특징의 이러한 유형의 오용/남용은, 본 출원에서는 멀웨어로 분류된다. 당업자들은, 컴퓨터와 네트워크가 동작하기 위해서는, 네트워크 대역폭, 메모리, 디스크 공간 및 CPU 등으로의 액세스 등과 같은 일부 자원들이 필요하다는 것을 알 것이다. 서비스 거부 공격 시, 웹 서비스를 제공하는 컴퓨터상의 희소 자원을 소비하여 소진하도록(overwhelm) 설계된 요청이 웹 서비스에 행해진다. 그 결과, 다른 서비스 요청자들은 거부되거나, 또는 공격되고 있는 웹 서비스로의 액세스가 제한된다. 당업자들은, 서비스 거부 공격이, 웹 서비스를 제공하는 컴퓨터들이 웹 서비스로의 요청에 생성된 멀웨어에 의해 공격을 받을 수 있는 방법의 단지 하나의 예라는 것을 알 것이다.
종래 기술의 상황과 함께 전술된 문제점들은 본 발명의 원리에 의해 극복되며, 본 발명은 웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기 위한 시스템, 방법 및 컴퓨터 판독가능 매체에 관한 것이다.
본 발명의 한 양태는, 웹 서비스를 제공하는 네트워킹 환경의 한 컴퓨터를, 요청자 컴퓨터에 의해 생성된 멀웨어로부터 보호하기 위한 방법이다. 보다 구체적으로는, 본 방법은 웹 서비스를 제공하는 컴퓨터에서 요청을 수신하는 단계, 이 요청과 관련된 고수준의 코드를 실행될 수 있는 이진 코드로 컴파일되게 하는 단계 및 멀웨어에 대해 이 이진 코드를 정밀 검사하는(scan) 단계를 포함한다. 상기 방법이 요청에서 멀웨어를 식별하는 경우, 이 요청과 관련된 코드는 실행되지 않는다. 반대로, 멀웨어가 식별되지 않으면, 요청은 충족된다.
본 발명의 또 다른 양태는, 멀웨어가 웹 서비스를 제공하는 컴퓨터 상에서 실행되는 것을 방지하는 소프트웨어 시스템이다. 본 발명의 한 실시예에서, 이 소프트웨어 시스템은 요청을 수락할 수 있는 네트워크 액세스가능한 인터페이스를 포함한다. 요청이 수신되면, 온디맨드 컴파일 시스템(on-demand compilation system)은 이 요청과 관련된 고수준의 코드를, 실행될 수 있는 이진 코드로 컴파일할 수 있다. 그러나, 요청과 관련된 이진 코드가 실행되기 전에, 안티바이러스 소프트웨어는 멀웨어에 대해 이진 코드를 정밀 검사한다. 한 실시예에서, 안티바이러스 소프트웨어는 이진 코드와, 공지된 멀웨어로부터 생성된 멀웨어 서명을 비교하는 정밀 검사 엔진(scan engine)을 포함한다.
또 다른 실시예에서는, 컨텐츠, 즉, 컴퓨터로 하여금 본 명세서에 개시된 방법에 따라 동작하게 하는 프로그램을 갖는 컴퓨터 판독가능 매체가 제공된다.
도 1은 종래 기술의 양태를 도시하기에 적합한, 요청자 컴퓨터와 웹 서비스 제공자 컴퓨터를 포함하는 네트워킹 환경의 도면.
도 2는 종래 기술에 따라, 웹 서비스 요청을 충족시킬 수 있는 웹 서비스 제공자 컴퓨터의 컴포넌트를 도시하는 블록도.
도 3은 본 발명의 한 실시예에 따라, 멀웨어에 감염되지 않으면서 웹 서비스 요청을 충족시킬 수 있는 웹 서비스 제공자 컴퓨터의 컴포넌트들을 도시하는 블록도.
도 4는 본 발명의 또 다른 실시예에 따라, 멀웨어에 감염되지 않으면서 웹 서비스 요청을 충족시킬 수 있는 웹 서비스 제공자 컴퓨터의 컴포넌트를 도시하는 블록도.
도 5는 본 발명에 따라, 웹 서비스에 행해진 요청에서 멀웨어를 식별하기 위한 소프트웨어 구현 방법의 한 예시적인 실시예를 도시하는 흐름도.
본 발명의 전술된 양태와 부수적인 많은 이점은, 이것이 첨부된 도면과 함께 이하의 상세할 설명을 참조함으로써 더 잘 이해되게 되는 바와 같이, 즉시 이해될 것이다.
본 발명에 따라, 웹 서비스로의 요청에 있는 멀웨어를 식별하기 위한 시스템, 방법 및 컴퓨터 판독가능 매체가 제공된다. 본 발명의 한 양태는, 웹 요청에 구현된 멀웨어로부터 웹 서비스를 제공하는 컴퓨터를 보호하는 컴퓨터 구현 방법이다. 요청이 수신되면, 온디맨드 컴파일 시스템은 이 요청과 관련된 고수준의 코드를 실행될 수 있는 이진 코드로 컴파일한다. 그러나, 이 코드가 실행되기 전에, 요청과 관련된 멀웨어를 식별하도록 설계된 안티바이러스 소프트웨어가 멀웨어에 대해 이진 코드를 정밀 검사한다. 멀웨어가 식별되면, 안티바이러스 소프트웨어는 이진 코드가 실행되지 못하게 한다.
본 발명이 주로 웹 서비스로 전송된 멀웨어를 식별하는 관점으로 기술될 것이지만, 당업자들은 본 발명이 기술된 것 외의 다른 소프트웨어 시스템에 또한 적용가능하다는 것을 이해할 것이다. 이하의 설명에서는 먼저 종래 기술의 전반적인 양태와 본 발명이 구현될 수 있는 소프트웨어 시스템의 개요를 제공한다. 이후 본 발명을 구현하는 방법을 설명한다. 본 명세서에서 제공된 도시적인 예는 개시된 바로 그 형태에 철저하거나 또는 그에 본 발명을 제한하도록 의도되지 않는다. 마찬가지로, 본 명세서에 기술된 모든 단계들은 동일한 결과를 얻기 위해 다른 단계 또는 단계들의 조합과 교환가능하다.
도 1 및 이하의 설명은 종래 기술에 따라 형성되고 네트워킹 환경(100)에서 구현된 웹 서비스에 대한 간단하고 일반적인 설명을 제공하고자 한다. 도 1에 도시된 바와 같이, 네트워킹 환경(100)은 요청자 컴퓨터(102)와 웹 서비스 제공자 컴퓨터(104)로 구성되어 있다. 또한, 요청자 컴퓨터(102)와 웹 서비스 제공자 컴퓨터(104)는 네트워크(106)를 통해 통신가능하게 접속되어 있다. 당업자들은 이 네트워크(106)가 LAN, WAN, 셀룰러 네트워크, IEEE 802.11, 블루투스 무선 네트워크 등으로 구현될 수 있다는 것을 알 것이다. 그러나, 통상적으로, 네트워크(106)는 인터넷 또는 월드 와이드 웹으로 일반적으로 알려져 있는 글로벌 네트워크일 것이다.
본 발명이 컴퓨터(102 및 104)와 같은 퍼스널 컴퓨터들과 함께 동작하는 것으로 일반적으로 기술되지만, 이것은 단지 예시를 위한 것이며, 본 발명을 제한하는 것으로 해석되어져서는 안 된다는 것을 유의한다. 당업자들은, 거의 모든 유형 의 컴퓨터가 웹 서비스를 구현할 수 있으며 또는 웹 서비스와 상호작용할 수 있다는 것을 쉽게 알 것이다. 따라서, 본 발명은 퍼스널 컴퓨터, 태블릿 컴퓨터, 노트북 컴퓨터, 미니 및 메인프레임 컴퓨터, 서버 컴퓨터 등을 포함하는(그러나 이에 제한되지 않음) 각종 유형의 컴퓨터, 컴퓨팅 장치 또는 컴퓨팅 시스템을 보호하기 위해 이롭게 구현될 수 있다.
도 1에 또한 도시된 바와 같이, 요청자 컴퓨터(102)는 프로그램 실행의 예시적인 흐름(108)을 유지한다. 최근의 네트워크 인프라스트럭처 이전에는, 프로그램들은 전적으로 단일 컴퓨터상에서 실행되었다. 그러나, 도 1에 도시된 바와 같이, 웹 서비스 제공자 컴퓨터(104)는 네트워크(106) 액세스가능한 웹 서비스를 제공한다. 당업자들은 웹 서비스가 표준 네트워크 프로토콜을 이용하여 원격 컴퓨터로부터 액세스될 수 있는 "블랙-박스 기능(black-box functionality)"을 제공한다는 것을 알 것이다. 예를 들면, 요청자 컴퓨터(102)와 같은 한 컴퓨터상에서 실행되는 애플리케이션은, 요청을 발행함으로써, 이벤트(110)에서 웹 서비스를 제공하는 컴퓨터상의 함수를 호출(invoke)할 수 있다. 그 결과, 프로그램 실행의 흐름(108)은 요청자 컴퓨터(102)로부터 웹 서비스 제공자 컴퓨터(104)로 이동된다. 이 예에서, 함수를 호출하는 것은, 통상적으로, 프로그램 코드가 웹 서비스 제공자 컴퓨터(104)상에서 실행되게 할 것이다. 당업자들은, 멀웨어가 웹 서비스 제공자 컴퓨터(104)상에서 실행되게 하는 방식으로 요청이 구성될 수 있다는 것을 알 것이다. 웹 서비스 상에서 호출된 함수가 완료되면, 이벤트(112)에서, 프로그램 실행의 흐름(108)은 요청자 컴퓨터(102)로 다시 이동된다. 통상적으로, 웹 서비스는 데이터 가 응답 형식으로 표준 네트워크 프로토콜을 이용하여 요청자 컴퓨터(102)로 전송되도록 할 것이다. 도 1에 도시된 바와 같이, 웹 서비스(110)는 네트워크(106)의 두 개의 링크 소프트웨어 컴포넌트를 이용하는 가상 애플리케이션의 한 유형이다.
이제 도 2를 참조하여, 종래 기술에서 구현되고 도 1에 도시된 웹 서비스 제공자 컴퓨터(104)의 컴포넌트들이 간단하게 설명될 것이다. 도 2에 도시된 바와 같이, 웹 서비스 제공자 컴퓨터(104)는 인터페이스(200), 실행 환경(202) 및 온디맨드 컴파일 시스템(204)을 포함한다. 웹 서비스 요청(208)과 같은 요청이 원격 컴퓨터로부터 수신되었을 때, 인터페이스(200)는 요청을 파싱하고, 이 요청과 관련된 데이터를 실행 환경(202)에 전달하는 것을 포함하는(그러나 이에 제한되지 않음) 액션을 행한다. 통상적으로, 웹 서비스 요청(208)은 HTTP와 같은 인터넷 기반 프로토콜을 통해 교환되는 XML-기반 메시지이다.
일반적으로 설명하면, 실행 환경(202)은 웹 서비스에 의해 요청(208)이 수신될 때 프로그램 코드의 실행을 관리하기 위한 로직 및 서비스를 제공한다. 당업자들은 웹 서비스를 제공하고 웹 서비스와 상호작용하는 프로그램 코드가 많은 수의 상이한 고급 프로그래밍 언어들 중 하나로 작성될 수 있다는 것을 알 것이다. 종래 기술의 일부 시스템에서, 실행 환경(202)은 프로그램 코드를 중간 프로그래밍 언어로 변환하고, 실행 환경(202)에서 목적 코드(210)가 이 중간 프로그래밍 언어로부터 생성된다.
통상적으로, 웹 서비스에 의해 요청이 충족되는 단위는 페이지(page)이다. 예를 들면, 요청(208)은 알고리즘이 웹 서비스에 의해 실행되게 하여, 알고리즘의 결과를 웹 페이지의 형태로 요청자 컴퓨터(102)로 다시 전송한다. 당업자들은, 페이지의 형태로 응답(212)을 생성하기 위해 다양한 때에 서로 다른 문맥으로 온디맨드 컴파일 시스템(204)이 목적 코드(210)를 이진 코드(214)로 컴파일한다는 것을 알 것이다. 또한, 목적 코드(210)의 컴파일은 통상적으로, 이 코드가 처음 요청되어 앞으로의 사용을 위해 캐싱될 때 발생한다. 종래 기술의 일부 시스템에서, 온디맨드 컴파일 시스템(204)은 목적 코드(210)를, 후속되는 요청들을 충족시키기 위해 메모리에 캐싱되는 동적 링크 라이브러리(Dynamically Linked Library:"DLL")로 컴파일한다. 그 결과, 이진 DLL이 "요구 시(on-demand)"에만 컴파일될 것이기 때문에, 온디맨드 컴파일 시스템(204)에 의해 행해지는 컴파일 횟수가 최소화된다.
도 2를 참조하여 제공된 웹 서비스 제공자 컴퓨터(104)에 관한 설명이 매우 단순화되었다는 것을 이해할 것이다. 또한, 도 2에 도시된 웹 서비스 제공자 컴퓨터(104)의 컴포넌트 아키텍처가 예시적인 것이며 제한하는 것이 아닌 것으로 해석되어져야 한다. 사실상, 웹 서비스 제공자 컴퓨터(104), 인터페이스(200), 실행 환경(202) 및 온디맨드 컴파일 시스템(204)은 도 2에 도시되지 않거나 또는 그에 수반된 내용에서 설명되지 않은 추가의 컴포넌트와 기능을 지닐 것이다.
이제 도 3을 참조하여 본 발명의 양태들을 구현할 수 있는 웹 서비스 제공자 컴퓨터(104)의 컴포넌트들이 설명될 것이다. 도 3에 도시된 바와 같이, 웹 서비스 제공자 컴퓨터(104)는 도 2에 도시된 인터페이스(200), 실행 환경(202) 및 온디맨드 컴파일 시스템(204)을 포함한다. 또한, 도 2를 참조하여 제공된 설명과 마찬가지로, 웹 서비스 요청(208)이 원격 컴퓨터로부터 웹 서비스 제공자 컴퓨터(104)에 서 수신된다. 그 결과, 목적 코드(210)가 실행 환경(202)에 의해 생성된다. 그러나, 이 경우에서는 본 발명의 양태에 의해, 온디맨드 컴파일 시스템(204)은 이진 코드(214)가 언제 실행되도록 스케줄링되어 있는지를 안티바이러스 소프트웨어(300)에 통지한다. 그러면, 정밀 검사 엔진(302)과 서명 데이터베이스(304)를 포함하는 안티바이러스 소프트웨어(300)의 컴포넌트들은, 온디맨드 컴파일 시스템(204)에 의해 생성된 이진 코드(214)가 멀웨어를 포함하는지 여부를 판정한다.
본 발명의 양태에 따르면, 온디맨드 컴파일 시스템(204)은 이진 코드(214)가 언제 실행되도록 스케줄링되어 있는지를 안티바이러스 소프트웨어(300)에 통지하도록 구성되어 있다. 이에 따라, 안티바이러스 소프트웨어(300)는 이진 코드(214)에 대해 분석을 행하여 코드(214)가 멀웨어의 기능을 구현하고 있는지 여부를 판정한다. 본 발명의 한 실시예에서, 안티바이러스 소프트웨어(300)는 멀웨어를 탐지하기 위한 서명 기반 시스템을 구현한다. 이러한 유형의 시스템에서 멀웨어를 식별하기 위한 하나의 공지된 기술은 "그대로의(in the wild)" 멀웨어의 사본을 획득하는 것을 포함한다. 이후 멀웨어를 구현하는 프로그램 코드는, 프로그램 코드를 멀웨어를 고유하게 식별하는 데에 사용될 수 있는 "서명"으로 변환하는 함수로 처리될 수 있다. 도 3에 도시된 정밀 검사 엔진(302)은 이 공지된 기술을 이용하여 멀웨어 서명에 대해 이진 코드(214)를 정밀 검사할 수 있다. 예를 들면, 서명 데이터베이스(304)에 저장된 멀웨어 서명은 이진 코드(214)와 비교될 수 있다. 그러나, 정밀 검사 엔진(302)은, 이진 코드(214)가 멀웨어에 감염되었는지 여부를 판정하기 위해 추가의 유형의 분석을 행하도록 구성될 수 있다. 따라서, 본 명세서에 설명되지 않은 다른 유형의 멀웨어 탐지 시스템이 안티바이러스 소프트웨어(300)에 의해 구현될 수 있음을 이해할 것이다.
이제 도 4를 참조하여 웹 서비스로의 요청이 웹 서비스에 의해 처리되기 전에 멀웨어에 대해 정밀 검사되는, 본 발명의 대안의 실시예가 설명될 것이다. 도 4에 도시된 바와 같이, 웹 서비스 제공자 컴퓨터(104)는 도 3에 도시된 것과 동일한 컴포넌트들을 많이 포함한다. 그러나, 본 발명의 이 실시예에서는, 웹 서비스 요청(208)이 인터페이스(200)에서 수신되면, 요청(208)과 이 요청에 관련된 데이터가 안티바이러스 소프트웨어(400)에 전달된다. 도 4에 도시된 바와 같이, 안티바이러스 소프트웨어(400)는 정밀 검사 엔진(402), 서명 데이터베이스(404) 및 컴파일러(406)를 포함한다. 당업자들은 정밀 검사 엔진(402)과 서명 데이터베이스(404)가 통상적으로, 도 3을 참조하여 상술된 동일하게 명명된 컴포넌트들과 동일한 기능을 지닌다는 것을 알 것이다. 그러나, 도 4에 도시된 정밀 검사 엔진(402)은 도 3을 참조하여 상술된 정밀 검사 엔진(302)에 비해 추가된 기능을 행할 수 있다. 예를 들면, 정밀 검사 엔진(402)은 유효하지만 악성인 XML 구성체(construct)의 서명에 일치하는 패턴에 대해 요청 내의 XML 구조를 정밀 검사할 수 있다. 다시 말하면, 정밀 검사 엔진(402)은 공지된 멀웨어와 일치하는 패턴 또는 서명에 대해 원격 컴퓨터로부터 수신된 XML 소스 데이터를 검색할 수 있다. 예를 들면, 당업자들은 XML 요청이 내장된 문서 유형 정의(Document Type Definition:DTD) 구조를 포함할 수 있다는 것을 알 것이다. 그러나, DTD 구조는, XML 파서로 하여금 웹 서비스 제공자 컴퓨터(104) 상에서 DTD 구조를 처리하기 위 해 과도한 컴퓨터 자원을 사용하게 하는 방식으로 형성될 수 있다. XML 파서를 사용하는 컴퓨터를 보호하는 본 발명의 한 실시예에서는, 멀웨어와 관련된 인식가능한 패턴에 일치하는 XML 문법에 대해 웹 서비스로의 원시(raw) 입력을 정밀 검사한다. 그 결과, XML 파서를 소진하도록 설계된 중첩된 DTD 구조와 같은 XML 입력은 웹 서비스에 의해 처리되기 전에 멀웨어로서 식별될 수 있다. "거짓 양성(false positive)" 또는 멀웨어가 제대로 식별되지 않는 경우의 발생을 막기 위해, 일반적으로 "멀웨어"로서 식별되는 XML 구성체가 웹 서비스에 의해 처리되게 하는 구성 매개변수가 확립될 수 있다. 따라서, 시스템 관리자와 같은 관리 엔티티는 조직의 요구를 만족시키도록 안티바이러스 소프트웨어(400)를 구성할 수 있다.
도 4에 도시된 본 발명의 실시예에서, 웹 서비스 요청(208)이 수신되면, 이것은 안티바이러스 소프트웨어(400)로 전달된다. XML 소스 데이터가 정밀 검사 엔진(402)에 의해 분석된 후, 컴파일러(406)는 요청의 결과로서 실행될 이진 코드를 생성한다. 이후, 정밀 검사 엔진(402)은 서명 데이터베이스(404)로부터 멀웨어 서명을 획득하고, 이 서명을 컴파일러(406)에 의해 생성된 이진 코드와 비교한다. 당업자들은, 도 4에 도시된 본 발명의 실시예가 동일한 고수준의 코드를 두 번 컴파일되게 할 수 있다는 것을 알 것이다. 예를 들면, 컴파일러(406)는 멀웨어 탐지목적의 이진 코드를 생성할 수 있다. 마찬가지로, 온디맨드 컴파일 시스템(204)은, 안티바이러스 소프트웨어(400)가 멀웨어를 탐지하지 못하는 경우, 동일한 이진 코드가 생성되게 할 수 있다. 이 실시예에서, 최적화는 컴파일러(406)에 의해 생성된 이진 코드를 온디맨드 컴파일 시스템(204)에 사용가능한 메모리의 영역에 캐 싱하거나 저장한다.
웹 서비스 제공자 컴퓨터(104)로 전송되는 요청의 가로채기(intercept)에 이용되는 기술은 인터넷 서버 애플리케이션 프로그램 인터페이스(Internet Server Application Program Interface:ISAPI) 필터로서 구현될 수 있다. 당업자들은 이 ISAPI 필터를 이용하여 소프트웨어 모듈이 이벤트를 등록하고, 웹 서비스로 전송되고 있는 데이터 스트림을 편집할 수 있다는 것을 알 것이다. 본 발명에 관해, 웹 서비스에 행해진 요청이 멀웨어 탐지를 위해 요청의 사전 처리를 행하는 ISAPI 필터에서 가로채기될 수 있다. 본 발명의 한 실시예에서, 이 사전 처리에는, 요청의 결과로서 실행될 이진 코드를 생성하는 단계와 이 이진 코드가 멀웨어의 기능을 구현하는지 여부를 판정하는 단계를 포함한다.
상술된 바와 같이, 본 발명은 이진 코드가 실행되기 전에 멀웨어에 대해 이진 코드를 정밀 검사한다. 소스 코드와 같은 고급 언어의 코드와 반대되는 이진 형태의 코드를 정밀 검사함으로써, 본 발명은 이진 코드의 서명 기반 기술과 같은, 멀웨어를 탐지하기 위한 종래의 기술을 이용할 수 있다. 그러나, 본 발명의 대안의 실시예에서는, 요청과 관련된 코드가 고급 언어로 되어 있을 때에도 멀웨어에 대한 정밀 검사가 행해질 수 있다. 예를 들면, 상술된 바와 같이, 웹 서비스에 행해진 요청은 통상적으로 XML 메시징 프로토콜을 사용한다. 이 경우, 본 발명에 의해 제공된 안티바이러스 소프트웨어는 멀웨어의 특징인 특정 XML 기반 문법에 대해 요청을 정밀 검사할 수 있다. 또한, 일부 실행 환경에서, 요청과 관련된 코드는, 이것이 이진 코드로 컴파일되기에 앞서, 중간 언어로 변환된다. 이 경우, 중간 언 어로 변환된 후의 코드에 대해 멀웨어에 대한 정밀 검사가 행해질 수 있다.
이제 도 5를 참조하여, 웹 서비스로의 요청에 있는 멀웨어를 식별하는 정밀 검사 방법(500)의 예시적인 실시예가 설명될 것이다. 본 발명의 예시적인 실시예에서, 정밀 검사 방법(500)은, 웹 요청을 수신하고 이 요청을 충족시키기 위한 코드를 실행하도록 설계된 기존 시스템에서 구현된다. 요약해보면, 정밀 검사 방법(500)은 웹 서비스를 제공하는 컴퓨터가 멀웨어에 노출될 가능성을 막기 위해 멀웨어에 대한 정밀 검사가 행해질 필요가 있는 사례들을 식별한다. 컴퓨터가 멀웨어에 노출될 가능성이 있는 경우, 방법(500)은, 요청과 관련된 그 어떠한 코드도 실행되기 전에 정밀 검사를 행하게 한다. 도 1 내지 도 4와 관련 설명을 계속 참조하여, 예시적인 정밀 검사 방법(500)을 이제 설명할 것이다.
도 5에 도시된 바와 같이, 정밀 검사 방법(500)은 웹 서비스가 액세스가능하게 되는 블록(502)에서 시작된다. 당업자들은 웹 서비스가, 웹 서비스 요청과 같은 이벤트에 응하여 액션이 행해지는, 이벤트-구동(driven) 시스템이라는 것을 알 것이다. 따라서, 웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기 위해, 정밀 검사 방법(500)은, 웹 서비스를 제공하는 컴퓨터가 요청을 수락할 수 있을 때마다 요청과 관련된 코드를 정밀 검사할 수 있어야 한다. 다시 말하면, 본 발명의 양태는, 컴퓨터가 웹 서비스에 대한 요청을 수락하도록 구성될 때마다 컴퓨터를 보호하는 시스템 서비스로서 구현될 수 있다.
판정 블록(504)에서, 정밀 검사 방법(500)은 본 발명을 구현하는 컴퓨터에 웹 요청이 수신될 때까지 계속 유휴(idle) 상태로 유지된다. 상술된 바와 같이, 웹 요청은 서로 다른 많은 수의 소프트웨어 시스템과 통신 프로토콜을 이용하여 생성될 수 있다. 당업자들은 웹 서비스가 통상적으로, 웹 서비스가 액세스될 수 있는 방법을 포함하여, 웹 서비스와 통신하기 위한 방법을 정의하는 서비스 기술(description) 또는 서비스 인터페이스를 제공한다는 것을 알 것이다. 요청자 컴퓨터상의 소프트웨어 시스템은, 통상적으로, URI를 이용하여 웹 서비스를 식별하고, 이 웹 서비스에 의해 정의된 인터페이스로 하나 이상의 함수 호출을 행한다. 일부 시스템에서, 함수 호출을 행하기 위한 데이터가 HTTP 또는 HTTPS와 같은 웹 기반의 프로토콜을 통해 전송된다. 그러나, 당업자들은 이 데이터가 본 발명의 범위를 벗어나지 않고 다른 네트워크 프로토콜을 이용하여 전송될 수 있다는 것을 알 것이다. 또한, 전송될 때, 요청은 소프트웨어 시스템들 간에 데이터의 교환을 용이하게 하는, XML과 같은 고급 마크업 언어로 작성되어 있다. 그러나, 당업자들은 웹 요청을 행하는 데에 다른 마크업 언어가 사용될 수 있으며, 본 명세서에 제공된 예는 제한하는 것이 아니라 예시적인 것으로 해석되어져야 한다는 것을 알 것이다.
도 5에 도시된 바와 같이, 블록(504)에서 수신된 웹 요청을 충족시키기 위해 실행될 고수준의 코드가 블록(506)에서 이진 코드로 컴파일된다. 상술된 바와 같이, 웹 서비스를 제공하는 컴퓨터에서, 이진 코드는 다양한 때에 서로 다른 문맥으로 생성될 수 있다. 예를 들면, 도 2와 관련하여 상술된 온디맨드 컴파일 시스템(204)은 이진 코드가 실행될 필요가 있을 때, 고수준의 코드를 이진 코드로 컴파일한다. 이후, 이진 코드는 후속되는 웹 요청이 수신될 때 재사용되기 위해 메모리에 캐싱되거나 저장된다. 그러나, 고수준의 코드를 이진 코드를 컴파일 하는 것 이 종래 기술에 일반적으로 공지된 기존의 소프트웨어 시스템과 방법을 이용하여 행해질 수 있기 때문에, 본 방법(500)의 이러한 양태에 대한 추가의 설명은 본 명세서에서 더 상세하게 설명되지 않을 것이다.
판정 블록(508)에서, 정밀 검사 방법(500)은 블록(506)에서 생성된 이진 코드가 실행되도록 스케줄링되었는지 여부를 판정한다. 고수준의 코드가 다양한 때에 서로 다른 문맥으로 이진 코드로 컴파일될 수 있기 때문에, 정밀 검사 방법(500)은, 멀웨어에 대해 정밀 검사를 행하기 전에 프로그램 실행이 일어나도록 스케줄링되었다는 통지를 기다린다. 예를 들면, (도 2의) 온디맨드 컴파일 시스템(204)은 프로그램 실행이 일어나도록 스케줄링되기 전에 복수의 이진 DLL들을 컴파일할 수 있다. 본 발명의 한 실시예에 따르면, 온디맨드 컴파일 시스템(204)은 본 발명을 구현하는 안티바이러스 소프트웨어에게 언제 요청과 관련된 이진 코드가 실행되도록 스케줄링되었는지를 통지한다. 이 경우, 요청과 관련된 이진 코드가 실행되도록 스케줄링될 때, 방법(500)은 이하에서 상세하게 설명될 블록(510)으로 진행한다. 요청과 관련된 이진 코드가 실행을 위해 스케줄링되지 않은 경우, 정밀 검사 방법(500)은 다시 블록(506)으로 진행하고, 요청과 관련된 모든 이진 코드가 사용가능하고 실행되도록 스케줄링될 때까지 블록(506 내지 508)을 반복한다.
도 5에 도시된 바와 같이, 블록(510)에서, 방법(500)은 실행되기로 스케줄링된 이진 코드를 멀웨어에 대해 정밀 검사한다. 상술한 바와 같이, (도 3의) 정밀 검사 엔진(302)의 소프트웨어 구현 루틴은 멀웨어에 대해 이진 코드를 정밀 검사하는 데에 사용될 수 있다. 본 발명의 한 실시예에서, 블록(510)에서 행해진 정밀 검사는 멀웨어 "서명"과의 코드 패턴 매칭을 포함한다. 예를 들면, 서명 데이터베이스(304)에서 유지되는 서명은, 블록(504)에서 수신된 요청의 결과로서 생성된 이진 코드와 비교될 수 있다. 그러나, 블록(510)에서 행해진 정밀 검사는, 이하에 상세하게 설명될 발견적(heristic) 멀웨어 탐지 기술과 같은 추가의 멀웨어 식별 기술을 포함할 수 있다.
많은 기존의 도구를 이용하여, 개발자는 고급 언어로 된 코드에 대해, 어렵거나 또는 불가능한 이진 코드의 분석을 행할 수 있다. 예를 들면, 이진 코드가 행한 운영 체제의 API로의 함수 호출을 식별하는 이진 코드의 분석이 행해질 수 있다. 또한, 일부 운영 체제에서, API를 실행하는 데에 필요한 특권(privilege)을 나타내는 권한(permission) 레벨이 각 API에 지정된다. 웹 서비스에 행해진 요청은, 통상적으로, 시스템 또는 관리자 특권을 필요로 하는 운영 체제로의 호출을 필요로 하지 않을 것이다. 보다 일반적으로, 웹 서비스 요청은 제한된 자원의 "샌드박스(sandbox)"를 액세스하도록 예상된다. 반대로, 높아진 특권 레벨을 필요로 하는 운영 체제의 API 호출은 "의심스러워(suspicious)", 멀웨어의 특징일 수 있다. 따라서, 블록(510)에서 행해지는 정밀 검사는 "의심스러운" 이러한 유형의 발견적 요소들을 식별하는 것을 포함할 수 있다. 이와 관련하여, 이진 코드의 분석을 행하는 기존의 도구는 이진 코드의 특징을 탐지하는 데에 사용될 수 있다.
멀웨어에 대해 정밀 검사된 이진 코드가 서로 다른 소스들로부터 비롯될 수 있다는 것을 잘 알 것이다. 예를 들면, 상술된 바와 같이, 멀웨어 저작자는 서비스 거부 공격을 일으키는 요청을 웹 서비스로 전달할 수 있다. 이 경우, 웹 서비 스 제공자 컴퓨터 상의 소프트웨어 루틴은 요청에서 제공되는 데이터를 수락하고 이와 상호작용한다. 그러나, 이 요청은, 웹 서비스 제공자 컴퓨터상에 구현된 코드로 하여금 과도한 컴퓨터 자원을 소모하게 하는 방식으로 구성된다. 다시 말하자면, 웹 서비스 제공자 컴퓨터에 의해 구현된 양성(benign) 코드가 멀웨어의 기능을 구현하도록 조작된다.
또는, 웹 서비스로의 요청에서, 멀웨어가 원격 컴퓨터로부터 직접 획득될 수 있다. 예를 들면, 일부 웹 서비스는 XML 포맷의 데이터가 어떻게 디스플레이될 것인가를 정의하는 XSL(Extensible Stylesheet Language)로 된 코드를 수락한다. 또한, XSL이 포맷팅과 데이터를 분리시키기 때문에, XML을 HTML과 같은 다른 마크업 언어로 변환하는 데에 주로 XSL이 사용된다. 여하튼, XSL과 같은 언어로부터의 고수준의 코드는 웹 서비스에 의해 수락되고, 이 고수준의 코드는 이진 코드로 변환되어 마침내 실행된다. 이 경우, 멀웨어는, 전적으로, 웹 서비스로의 요청을 행한 원격 컴퓨터로부터 비롯된다. 본 발명이 이진 코드를 정밀 검사하기 때문에, 멀웨어가 어디에서 비롯되었는지에 상관없이 멀웨어가 탐지될 수 있다.
도 5에 도시된 바와 같이, 판정 블록(512)에서, 방법(500)은 블록(510)에서 멀웨어가 식별되었는지 여부를 판정한다. 멀웨어가 식별된 경우, 방법(500)은 블록(514)으로 진행되고, 여기서, 웹 서비스를 제공하는 컴퓨터에서의 멀웨어 수신을 다룬다. 당업자들은 웹 서비스에서의 멀웨어 수신이 여러 상이한 방식으로 다루어질 수 있다는 것을 알 것이다. 예를 들면, 멀웨어 요청을 생성한 컴퓨터의 아이덴티티가 식별되어 공지된 멀웨어 저작자의 "블랙리스트"에 추가될 수 있다. 이 경 우, 요청이 비롯된 컴퓨터는, 향후 웹 서비스로의 액세스가 거부될 수 있다. 그러나, 멀웨어의 수신과 식별은 일반적으로 당 분야에 공지된 다른 방법을 이용하여 다루어질 수 있다. 이후, 방법(500)은 이것이 종료되는 블록(518)으로 진행한다. 블록(510)에서 멀웨어가 식별되지 않는 경우, 정밀 검사 방법(500)은, 블록(504)에서 수신된 웹 요청을 충족시키는 데에 필요한 이진 코드가 실행되는 블록(516)으로 진행한다. 웹 요청 결과로서 생성된 이진 코드를 실행하기 위한 시스템이 당 분야에 일반적으로 공지되어 있기 때문에, 이 시스템에 대한 추가의 설명은 본 명세서에서 제공되지 않을 것이다.
본 발명의 구현은 도 5에 도시된 예시적인 방법(500)에만 제한되지 않는다. 다른 방법은 추가 액션을 포함하거나 또는 도시된 일부 액션을 없앨 수 있다. 또한, 다른 방법들은 도 5에 도시된 것과 상이한 순서로 액션을 행할 수 있다. 예를 들면, 도 5에 도시된 예시적인 방법(500)은 온디맨드 컴파일 시스템에 의해 고수준의 코드가 이진 코드로 컴파일되는 시스템의 관점에서 설명된다. 일단 이진 코드가 실행되도록 스케줄링되면, 방법(500)에 의해 이진 코드의 정밀 검사가 행해진다. 그러나, 도 4를 참조하여 상술된 바와 같이, 본 발명은 웹 서비스로 전달되는 데이터 스트림을 가로채는 필터로서 구현될 수 있다. 이 경우, 고수준의 코드는 웹 서비스에 의해 수신되기 전에 컴파일되고 멀웨어에 대해 정밀 검사된다. 따라서, 도 5에 도시되고 첨부된 설명에서 개시된 방법(500)은 본 발명의 한 실시예이고 다른 실시예들도 가능하다.
본 발명의 바람직한 실시예가 도시되고 설명되었지만, 본 발명의 취지 및 범 위를 벗어나지 않고 각종 변경이 있을 수 있다는 것을 이해할 것이다.

Claims (20)

  1. 요청자 컴퓨터와 웹 서비스를 제공하는 컴퓨터를 포함하는 네트워킹 환경에서, 상기 요청자 컴퓨터에 의해 생성된 멀웨어(malware)로부터 상기 웹 서비스를 제공하는 상기 컴퓨터를 보호하는 방법으로서,
    (a) 상기 웹 서비스를 제공하는 상기 컴퓨터에서 요청을 수신하는 단계;
    (b) 상기 요청의 고수준의 코드(high-level code)를 멀웨어에 대해 정밀 검사하는(scan) 단계; 및
    (c) 멀웨어가 상기 고수준의 코드에서 식별되는 경우, 상기 웹 서비스를 제공하는 상기 컴퓨터에 의해 상기 요청이 처리되지 않도록 하는 단계
    를 포함하는 멀웨어로부터 웹 서비스를 제공하는 컴퓨터를 보호하는 방법.
  2. 제1항에 있어서,
    (a) 상기 요청과 관련된 고수준의 코드를, 실행될 수 있는 이진 코드로 컴파일되게 하는 단계;
    (b) 상기 이진 코드가 실행되기 전에 멀웨어에 대해 상기 이진 코드를 정밀 검사하는 단계; 및
    (c) 멀웨어가 상기 이진 코드에서 식별되는 경우, 상기 이진 코드가 실행되지 못하게 하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서, 멀웨어가 상기 이진 코드에서 식별되지 않는 경우, 상기 이진 코드가 실행되게 하는 단계를 더 포함하는 방법.
  4. 제2항에 있어서, 상기 요청은, 상기 웹 서비스를 구현하는 소프트웨어 루틴에 의해 처리되기에 앞서, 상기 요청이 멀웨어인지 여부를 판정하는 상기 웹 서비스 제공자 컴퓨터상의 필터에서 이진 코드로 컴파일되는 방법.
  5. 제4항에 있어서, 상기 필터는 인터넷 서버 애플리케이션 프로그램 인터페이스 필터이며, 상기 필터는,
    (a) 상기 요청과 관련된 고수준의 코드가 상기 이진 코드로 컴파일되게 하는 컴파일러; 및
    (b) 상기 이진 코드가 실행되기 전에, 멀웨어에 대해 상기 이진 코드를 정밀 검사하는 안티바이러스 소프트웨어
    를 포함하는 방법.
  6. 제2항에 있어서, 상기 요청과 관련된 고수준의 코드는, 실행 바로 직전에 상기 이진 코드로 컴파일하도록 구성된 온디맨드(on-demand) 컴파일 시스템에 의해 이진 코드로 컴파일되는 방법.
  7. 제6항에 있어서, 상기 온디맨드 컴파일 시스템은 상기 이진 코드가 언제 실행되도록 스케줄링되어 있는지를 안티바이러스 소프트웨어에 통지하도록 구성된 방법.
  8. 제2항에 있어서, 이진 코드로 컴파일된 상기 요청과 관련된 고수준의 코드는, XSL(Extensible Stylesheet Programming Language)로 된 방법.
  9. 제2항에 있어서, 멀웨어에 대해 상기 이진 코드를 정밀 검사하는 단계는, 해시 함수를 이용하여 상기 이진 코드의 서명을 생성하는 단계와, 상기 서명을 공지된 멀웨어로부터 생성된 서명들과 비교하는 단계를 포함하는 방법.
  10. 제2항에 있어서, 멀웨어에 대해 상기 이진 코드를 정밀 검사하는 단계는, 멀웨어의 특징인 상기 이진 코드에서의 발견적 요소들(heuristic factors)을 식별하는 단계를 포함하는 방법.
  11. 제10항에 있어서, 식별된 발견적인 요소는, 상기 이진 코드에 의해 상기 웹 서비스를 제공하는 상기 컴퓨터상에 설치된 운영 체제에 대해 행해진 호출 유형인 방법.
  12. 제1항에 있어서, 상기 요청은 HTTP(HyperText Transfer Protocol)를 이용하 여, 상기 요청자 컴퓨터와 상기 웹 서비스를 제공하는 상기 컴퓨터 사이에서 전송되는 방법.
  13. 제1항에 있어서, 상기 요청은 XML(Extensible Markup Language) 프로토콜을 따라 포맷되는 방법.
  14. 웹 서비스를 제공하는 컴퓨터상에서 멀웨어가 실행되는 것을 방지하는 소프트웨어 시스템으로서,
    (a) 웹 서비스 요청을 수락하는 인터페이스;
    (b) 상기 요청과 관련된 고수준의 코드를 이진 코드로 컴파일하는 온디맨드 컴파일 시스템;
    (c) 상기 온디맨드 컴파일 시스템에 의해 컴파일된 이진 코드를 실행시키도록 동작하는 실행 환경; 및
    (d) 상기 이진 코드에서 멀웨어를 식별하기 위한 안티바이러스 소프트웨어
    를 포함하는, 웹 서비스를 제공하는 컴퓨터상에서 멀웨어가 실행되는 것을 방지하는 소프트웨어 시스템.
  15. 제14항에 있어서, 상기 안티바이러스 소프트웨어는 과도한 양의 컴퓨터 자원을 사용하도록 설계된 고급 XML 코드에서 멀웨어 서명을 식별하도록 구성된 소프트웨어 시스템.
  16. 제14항에 있어서, 상기 안티바이러스 소프트웨어는 정밀 검사 엔진에 의한 액세스를 위해 공지된 멀웨어의 서명을 저장하는 서명 데이터베이스를 포함하는 소프트웨어 시스템.
  17. 제14항에 있어서, 상기 온디맨드 컴파일 시스템은, 상기 이진 코드의 기능이 필요할 때에만 고수준의 코드를 이진 코드로 컴파일하며,
    상기 온디맨드 컴파일 시스템은 상기 이진 코드가 언제 실행되도록 스케줄링되었는지를 상기 안티바이러스 소프트웨어에게 통지하도록 또한 구성된 소프트웨어 시스템.
  18. 웹 서비스를 제공하는 컴퓨터 상에서 실행될 때, 상기 컴퓨터로 하여금 이하의 단계들을 행하게 하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체로서,
    상기 단계들은,
    (a) HTTP를 이용하여 원격 컴퓨터로부터 전송된 XML 포맷의 요청을 수락하는 단계;
    (b) 상기 요청과 관련된 고수준의 코드를 멀웨어와 관련된 고급 구성체(construct)에 대해 정밀 검사받도록 하게 하는 단계;
    (c) 상기 고수준의 코드를 이진 코드로 컴파일하는 단계; 및
    (d) 상기 이진 코드를 멀웨어에 대해 상기 정밀 검사받도록 하게 하는 단계
    를 포함하는, 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체.
  19. 제18항에 있어서, 상기 컴퓨터 판독가능 매체는 또한 상기 컴퓨터로 하여금,
    (a) 멀웨어가 식별되는 경우, 상기 이진 코드가 실행되지 못하게 하는 단계; 및
    (b) 반대로, 멀웨어가 식별되지 않는 경우, 상기 이진 코드가 실행되게 하는 단계
    를 행하게 하도록 동작하는 컴퓨터 판독가능 매체.
  20. 제18항에 있어서, 상기 멀웨어에 대해 이진 코드의 정밀 검사를 행하는 단계는, 멀웨어의 특징인 발견적인 요소들(heuristic factors)을 상기 이진 코드에서 식별하는 단계를 포함하는 컴퓨터 판독가능 매체.
KR1020077019923A 2005-04-21 2006-04-20 웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기위한 방법, 시스템 및 컴퓨터 판독가능 매체 KR20080002755A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/112,507 2005-04-21
US11/112,507 US7603712B2 (en) 2005-04-21 2005-04-21 Protecting a computer that provides a Web service from malware

Publications (1)

Publication Number Publication Date
KR20080002755A true KR20080002755A (ko) 2008-01-04

Family

ID=37188652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077019923A KR20080002755A (ko) 2005-04-21 2006-04-20 웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기위한 방법, 시스템 및 컴퓨터 판독가능 매체

Country Status (9)

Country Link
US (1) US7603712B2 (ko)
EP (1) EP1872232B1 (ko)
JP (1) JP4880674B2 (ko)
KR (1) KR20080002755A (ko)
CN (1) CN101542451A (ko)
BR (1) BRPI0608845A2 (ko)
MX (1) MX2007011685A (ko)
RU (1) RU2007138951A (ko)
WO (1) WO2006115935A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051722B1 (ko) * 2008-11-17 2011-07-25 인스티튜트 포 인포메이션 인더스트리 모니터 장치, 모니터링 방법 및 그에 관한 하드웨어용 컴퓨터 프로그램 산출물
KR101251002B1 (ko) * 2010-12-20 2013-04-04 한국인터넷진흥원 악성코드 자동 분석 시스템 및 그 방법
KR20190041726A (ko) 2017-10-13 2019-04-23 김홍기 액자형 매립 건조대

Families Citing this family (210)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US9027135B1 (en) 2004-04-01 2015-05-05 Fireeye, Inc. Prospective client identification using malware attack detection
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US7562293B2 (en) * 2005-05-27 2009-07-14 International Business Machines Corporation Method and apparatus for processing a parseable document
WO2007117585A2 (en) 2006-04-06 2007-10-18 Smobile Systems Inc. System and method for managing malware protection on mobile devices
US8112801B2 (en) * 2007-01-23 2012-02-07 Alcatel Lucent Method and apparatus for detecting malware
US8250540B2 (en) * 2007-07-16 2012-08-21 Kaspersky Lab Zao System and method for administration of mobile application
US9189628B2 (en) 2008-04-10 2015-11-17 Adobe Systems Incorporated Data driven system for responding to security vulnerability
US8302192B1 (en) * 2008-04-30 2012-10-30 Netapp, Inc. Integrating anti-virus in a clustered storage system
US20100058467A1 (en) * 2008-08-28 2010-03-04 International Business Machines Corporation Efficiency of active content filtering using cached ruleset metadata
US8850571B2 (en) 2008-11-03 2014-09-30 Fireeye, Inc. Systems and methods for detecting malicious network content
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8621613B1 (en) * 2009-05-26 2013-12-31 Amazon Technologies, Inc. Detecting malware in content items
US9348977B1 (en) 2009-05-26 2016-05-24 Amazon Technologies, Inc. Detecting malware in content items
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
CN101710375B (zh) * 2009-12-16 2013-01-23 珠海市君天电子科技有限公司 反病毒软件中的反病毒装置及其反病毒方法
KR101122646B1 (ko) * 2010-04-28 2012-03-09 한국전자통신연구원 위장 가상 머신 정보를 이용한 인텔리전트 봇 대응 방법 및 장치
US9202049B1 (en) 2010-06-21 2015-12-01 Pulse Secure, Llc Detecting malware on mobile devices
US8726338B2 (en) 2012-02-02 2014-05-13 Juniper Networks, Inc. Dynamic threat protection in mobile networks
US9519782B2 (en) 2012-02-24 2016-12-13 Fireeye, Inc. Detecting malicious network content
US8826240B1 (en) 2012-09-29 2014-09-02 Appurify, Inc. Application validation through object level hierarchy analysis
US9015832B1 (en) * 2012-10-19 2015-04-21 Google Inc. Application auditing through object level code inspection
US9113358B1 (en) 2012-11-19 2015-08-18 Google Inc. Configurable network virtualization
US9268668B1 (en) 2012-12-20 2016-02-23 Google Inc. System for testing markup language applications
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
US9274935B1 (en) 2013-01-15 2016-03-01 Google Inc. Application testing system with application programming interface
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9009822B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for multi-phase analysis of mobile applications
US9159035B1 (en) 2013-02-23 2015-10-13 Fireeye, Inc. Framework for computer application analysis of sensitive information tracking
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
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
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
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
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9565202B1 (en) 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
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
US9251343B1 (en) 2013-03-15 2016-02-02 Fireeye, Inc. Detecting bootkits resident on compromised computers
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9021443B1 (en) 2013-04-12 2015-04-28 Google Inc. Test automation API for host devices
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
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
US9491193B2 (en) * 2013-06-27 2016-11-08 Secureage Technology, Inc. System and method for antivirus protection
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9888016B1 (en) 2013-06-28 2018-02-06 Fireeye, Inc. System and method for detecting phishing using password prediction
US20150011186A1 (en) * 2013-07-05 2015-01-08 Electronics And Telecommunications Research Institute Method and apparatus for detecting sms-based malware
US9268670B1 (en) 2013-08-08 2016-02-23 Google Inc. System for module selection in software application testing including generating a test executable based on an availability of root access
US10089461B1 (en) 2013-09-30 2018-10-02 Fireeye, Inc. Page replacement code injection
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
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
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
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US10192052B1 (en) 2013-09-30 2019-01-29 Fireeye, Inc. System, apparatus and method for classifying a file as malicious using static scanning
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
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
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9507935B2 (en) 2014-01-16 2016-11-29 Fireeye, Inc. Exploit detection system with threat-aware microvisor
US9367415B1 (en) 2014-01-20 2016-06-14 Google Inc. System for testing markup language applications on a device
US9491229B1 (en) 2014-01-24 2016-11-08 Google Inc. Application experience sharing system
US9170922B1 (en) 2014-01-27 2015-10-27 Google Inc. Remote application debugging
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
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
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
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
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
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
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
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
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
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
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
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9767290B2 (en) * 2015-03-05 2017-09-19 Fujitsu Limited Autonomous reasoning system for vulnerability analysis
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
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
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
WO2016186975A1 (en) * 2015-05-15 2016-11-24 Virsec Systems, Inc. Detection of sql injection 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
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
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
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
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
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
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US9864655B2 (en) 2015-10-30 2018-01-09 Google Llc Methods and apparatus for mobile computing device security in testing facilities
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
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
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
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
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
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
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
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10795989B2 (en) * 2017-03-05 2020-10-06 Fortinet, Inc. Secure just-in-time (JIT) code generation
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10554507B1 (en) 2017-03-30 2020-02-04 Fireeye, Inc. Multi-level control for enhanced resource and object evaluation management of malware detection system
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
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
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
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
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
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
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
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
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
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
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
US11146569B1 (en) * 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
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
US11036865B2 (en) * 2018-07-05 2021-06-15 Massachusetts Institute Of Technology Systems and methods for risk rating of vulnerabilities
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
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
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10936726B2 (en) * 2018-11-26 2021-03-02 Blackberry Limited Determining security risks in software code
US11743290B2 (en) 2018-12-21 2023-08-29 Fireeye Security Holdings Us Llc System and method for detecting cyberattacks impersonating legitimate sources
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
US11176251B1 (en) 2018-12-21 2021-11-16 Fireeye, Inc. Determining malware via symbolic function hash analysis
US11601444B1 (en) 2018-12-31 2023-03-07 Fireeye Security Holdings Us Llc Automated system for triage of customer issues
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
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
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
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
CN110619215B (zh) * 2019-08-23 2021-08-20 苏州浪潮智能科技有限公司 一种代码安全扫描方法及系统
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
US11522884B1 (en) 2019-12-24 2022-12-06 Fireeye Security Holdings Us Llc Subscription and key management system
US11436327B1 (en) 2019-12-24 2022-09-06 Fireeye Security Holdings Us Llc System and method for circumventing evasive code for cyberthreat detection
US11838300B1 (en) 2019-12-24 2023-12-05 Musarubra Us Llc Run-time configurable cybersecurity system
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414833A (en) 1993-10-27 1995-05-09 International Business Machines Corporation Network security system and method using a parallel finite state machine adaptive active monitor and responder
US5867651A (en) * 1996-08-27 1999-02-02 International Business Machines Corporation System for providing custom functionality to client systems by redirecting of messages through a user configurable filter network having a plurality of partially interconnected filters
US5951698A (en) * 1996-10-02 1999-09-14 Trend Micro, Incorporated System, apparatus and method for the detection and removal of viruses in macros
US5960170A (en) * 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
JPH11119927A (ja) * 1997-10-16 1999-04-30 Mitsubishi Electric Corp プリンタ装置
US6088803A (en) * 1997-12-30 2000-07-11 Intel Corporation System for virus-checking network data during download to a client device
US6529949B1 (en) * 2000-02-07 2003-03-04 Interactual Technologies, Inc. System, method and article of manufacture for remote unlocking of local content located on a client device
US6851057B1 (en) * 1999-11-30 2005-02-01 Symantec Corporation Data driven detection of viruses
US6728886B1 (en) * 1999-12-01 2004-04-27 Trend Micro Incorporated Distributed virus scanning arrangements and methods therefor
US6772413B2 (en) * 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator
US7093239B1 (en) * 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
GB2366692B (en) * 2000-08-31 2002-08-14 F Secure Oyj Virus protection in an internet environment
US6785732B1 (en) * 2000-09-11 2004-08-31 International Business Machines Corporation Web server apparatus and method for virus checking
US7284274B1 (en) * 2001-01-18 2007-10-16 Cigital, Inc. System and method for identifying and eliminating vulnerabilities in computer software applications
JP2002342279A (ja) * 2001-03-13 2002-11-29 Fujitsu Ltd フィルタリング装置、フィルタリング方法およびこの方法をコンピュータに実行させるプログラム
US7231637B1 (en) * 2001-07-26 2007-06-12 Mcafee, Inc. Security and software testing of pre-release anti-virus updates on client and transmitting the results to the server
US6907430B2 (en) * 2001-10-04 2005-06-14 Booz-Allen Hamilton, Inc. Method and system for assessing attacks on computer networks using Bayesian networks
US7107617B2 (en) * 2001-10-15 2006-09-12 Mcafee, Inc. Malware scanning of compressed computer files
US7359962B2 (en) * 2002-04-30 2008-04-15 3Com Corporation Network security system integration
US20040260754A1 (en) * 2003-06-20 2004-12-23 Erik Olson Systems and methods for mitigating cross-site scripting
JP4322059B2 (ja) * 2003-08-08 2009-08-26 富士通株式会社 入力データ制限プログラムおよび入力データ制限方法
ATE532142T1 (de) * 2004-03-16 2011-11-15 Microdasys Inc Inhaltsüberwachung für xml
US20050273860A1 (en) * 2004-06-04 2005-12-08 Brian Chess Apparatus and method for developing, testing and monitoring secure software
US20060015940A1 (en) * 2004-07-14 2006-01-19 Shay Zamir Method for detecting unwanted executables

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051722B1 (ko) * 2008-11-17 2011-07-25 인스티튜트 포 인포메이션 인더스트리 모니터 장치, 모니터링 방법 및 그에 관한 하드웨어용 컴퓨터 프로그램 산출물
KR101251002B1 (ko) * 2010-12-20 2013-04-04 한국인터넷진흥원 악성코드 자동 분석 시스템 및 그 방법
KR20190041726A (ko) 2017-10-13 2019-04-23 김홍기 액자형 매립 건조대

Also Published As

Publication number Publication date
US7603712B2 (en) 2009-10-13
WO2006115935A2 (en) 2006-11-02
EP1872232B1 (en) 2018-08-15
US20060242709A1 (en) 2006-10-26
EP1872232A2 (en) 2008-01-02
JP2008538638A (ja) 2008-10-30
EP1872232A4 (en) 2011-01-05
RU2007138951A (ru) 2009-04-27
CN101542451A (zh) 2009-09-23
MX2007011685A (es) 2007-11-15
WO2006115935A3 (en) 2009-04-16
JP4880674B2 (ja) 2012-02-22
BRPI0608845A2 (pt) 2010-02-02

Similar Documents

Publication Publication Date Title
US7603712B2 (en) Protecting a computer that provides a Web service from malware
JP7460696B2 (ja) カーネルモードにおけるマルウェアおよびステガノグラフィのリアルタイム検出ならびにマルウェアおよびステガノグラフィからの保護
US8561190B2 (en) System and method of opportunistically protecting a computer from malware
Octeau et al. Effective {Inter-Component} communication mapping in android: An essential step towards holistic security analysis
Mitropoulos et al. Defending against web application attacks: Approaches, challenges and implications
KR100791290B1 (ko) 디바이스 간에 악성 어플리케이션의 행위 정보를 사용하는장치 및 방법
US8201245B2 (en) System, method and program product for detecting computer attacks
US20100037317A1 (en) Mehtod and system for security monitoring of the interface between a browser and an external browser module
Fass et al. Doublex: Statically detecting vulnerable data flows in browser extensions at scale
US20110321168A1 (en) Thwarting cross-site request forgery (csrf) and clickjacking attacks
WO2018006241A1 (en) Method and apparatus to detect security vulnerabilities in web application
US11222112B1 (en) Signatureless detection of malicious MS office documents containing advanced threats in macros
US11349865B1 (en) Signatureless detection of malicious MS Office documents containing embedded OLE objects
Continella et al. Prometheus: Analyzing WebInject-based information stealers
US20220215094A1 (en) Protecting Against Memory Deserialization Attacks
Santos et al. An empirical study of tactical vulnerabilities
TWI470468B (zh) 惡意程式及行為偵測的方法及系統
Nirumand et al. A model‐based framework for inter‐app Vulnerability analysis of Android applications
Watanabe et al. Study on the vulnerabilities of free and paid mobile apps associated with software library
US11223650B2 (en) Security system with adaptive parsing
Zhang et al. Malicious Package Detection in NPM and PyPI using a Single Model of Malicious Behavior Sequence
Tupakula et al. Dynamic state-based security architecture for detecting security attacks in virtual machines
Jang et al. Automatic system for measuring security risk of Android application from third party app store
KR102574384B1 (ko) 블록체인 기술을 이용한 분산 구조의 엔드포인트 보안 방법 및 그 장치
Kobayashi et al. Generation of IDS Signatures through Exhaustive Execution Path Exploration in PoC Codes for Vulnerabilities

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid