KR20080002755A - 웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기위한 방법, 시스템 및 컴퓨터 판독가능 매체 - Google Patents
웹 서비스를 제공하는 컴퓨터를 멀웨어로부터 보호하기위한 방법, 시스템 및 컴퓨터 판독가능 매체 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing 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
본 발명은 컴퓨터에 관한 것으로, 보다 구체적으로는, 웹 서비스를 제공하는 컴퓨터를 멀웨어(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)
- 요청자 컴퓨터와 웹 서비스를 제공하는 컴퓨터를 포함하는 네트워킹 환경에서, 상기 요청자 컴퓨터에 의해 생성된 멀웨어(malware)로부터 상기 웹 서비스를 제공하는 상기 컴퓨터를 보호하는 방법으로서,(a) 상기 웹 서비스를 제공하는 상기 컴퓨터에서 요청을 수신하는 단계;(b) 상기 요청의 고수준의 코드(high-level code)를 멀웨어에 대해 정밀 검사하는(scan) 단계; 및(c) 멀웨어가 상기 고수준의 코드에서 식별되는 경우, 상기 웹 서비스를 제공하는 상기 컴퓨터에 의해 상기 요청이 처리되지 않도록 하는 단계를 포함하는 멀웨어로부터 웹 서비스를 제공하는 컴퓨터를 보호하는 방법.
- 제1항에 있어서,(a) 상기 요청과 관련된 고수준의 코드를, 실행될 수 있는 이진 코드로 컴파일되게 하는 단계;(b) 상기 이진 코드가 실행되기 전에 멀웨어에 대해 상기 이진 코드를 정밀 검사하는 단계; 및(c) 멀웨어가 상기 이진 코드에서 식별되는 경우, 상기 이진 코드가 실행되지 못하게 하는 단계를 더 포함하는 방법.
- 제2항에 있어서, 멀웨어가 상기 이진 코드에서 식별되지 않는 경우, 상기 이진 코드가 실행되게 하는 단계를 더 포함하는 방법.
- 제2항에 있어서, 상기 요청은, 상기 웹 서비스를 구현하는 소프트웨어 루틴에 의해 처리되기에 앞서, 상기 요청이 멀웨어인지 여부를 판정하는 상기 웹 서비스 제공자 컴퓨터상의 필터에서 이진 코드로 컴파일되는 방법.
- 제4항에 있어서, 상기 필터는 인터넷 서버 애플리케이션 프로그램 인터페이스 필터이며, 상기 필터는,(a) 상기 요청과 관련된 고수준의 코드가 상기 이진 코드로 컴파일되게 하는 컴파일러; 및(b) 상기 이진 코드가 실행되기 전에, 멀웨어에 대해 상기 이진 코드를 정밀 검사하는 안티바이러스 소프트웨어를 포함하는 방법.
- 제2항에 있어서, 상기 요청과 관련된 고수준의 코드는, 실행 바로 직전에 상기 이진 코드로 컴파일하도록 구성된 온디맨드(on-demand) 컴파일 시스템에 의해 이진 코드로 컴파일되는 방법.
- 제6항에 있어서, 상기 온디맨드 컴파일 시스템은 상기 이진 코드가 언제 실행되도록 스케줄링되어 있는지를 안티바이러스 소프트웨어에 통지하도록 구성된 방법.
- 제2항에 있어서, 이진 코드로 컴파일된 상기 요청과 관련된 고수준의 코드는, XSL(Extensible Stylesheet Programming Language)로 된 방법.
- 제2항에 있어서, 멀웨어에 대해 상기 이진 코드를 정밀 검사하는 단계는, 해시 함수를 이용하여 상기 이진 코드의 서명을 생성하는 단계와, 상기 서명을 공지된 멀웨어로부터 생성된 서명들과 비교하는 단계를 포함하는 방법.
- 제2항에 있어서, 멀웨어에 대해 상기 이진 코드를 정밀 검사하는 단계는, 멀웨어의 특징인 상기 이진 코드에서의 발견적 요소들(heuristic factors)을 식별하는 단계를 포함하는 방법.
- 제10항에 있어서, 식별된 발견적인 요소는, 상기 이진 코드에 의해 상기 웹 서비스를 제공하는 상기 컴퓨터상에 설치된 운영 체제에 대해 행해진 호출 유형인 방법.
- 제1항에 있어서, 상기 요청은 HTTP(HyperText Transfer Protocol)를 이용하 여, 상기 요청자 컴퓨터와 상기 웹 서비스를 제공하는 상기 컴퓨터 사이에서 전송되는 방법.
- 제1항에 있어서, 상기 요청은 XML(Extensible Markup Language) 프로토콜을 따라 포맷되는 방법.
- 웹 서비스를 제공하는 컴퓨터상에서 멀웨어가 실행되는 것을 방지하는 소프트웨어 시스템으로서,(a) 웹 서비스 요청을 수락하는 인터페이스;(b) 상기 요청과 관련된 고수준의 코드를 이진 코드로 컴파일하는 온디맨드 컴파일 시스템;(c) 상기 온디맨드 컴파일 시스템에 의해 컴파일된 이진 코드를 실행시키도록 동작하는 실행 환경; 및(d) 상기 이진 코드에서 멀웨어를 식별하기 위한 안티바이러스 소프트웨어를 포함하는, 웹 서비스를 제공하는 컴퓨터상에서 멀웨어가 실행되는 것을 방지하는 소프트웨어 시스템.
- 제14항에 있어서, 상기 안티바이러스 소프트웨어는 과도한 양의 컴퓨터 자원을 사용하도록 설계된 고급 XML 코드에서 멀웨어 서명을 식별하도록 구성된 소프트웨어 시스템.
- 제14항에 있어서, 상기 안티바이러스 소프트웨어는 정밀 검사 엔진에 의한 액세스를 위해 공지된 멀웨어의 서명을 저장하는 서명 데이터베이스를 포함하는 소프트웨어 시스템.
- 제14항에 있어서, 상기 온디맨드 컴파일 시스템은, 상기 이진 코드의 기능이 필요할 때에만 고수준의 코드를 이진 코드로 컴파일하며,상기 온디맨드 컴파일 시스템은 상기 이진 코드가 언제 실행되도록 스케줄링되었는지를 상기 안티바이러스 소프트웨어에게 통지하도록 또한 구성된 소프트웨어 시스템.
- 웹 서비스를 제공하는 컴퓨터 상에서 실행될 때, 상기 컴퓨터로 하여금 이하의 단계들을 행하게 하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체로서,상기 단계들은,(a) HTTP를 이용하여 원격 컴퓨터로부터 전송된 XML 포맷의 요청을 수락하는 단계;(b) 상기 요청과 관련된 고수준의 코드를 멀웨어와 관련된 고급 구성체(construct)에 대해 정밀 검사받도록 하게 하는 단계;(c) 상기 고수준의 코드를 이진 코드로 컴파일하는 단계; 및(d) 상기 이진 코드를 멀웨어에 대해 상기 정밀 검사받도록 하게 하는 단계를 포함하는, 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체.
- 제18항에 있어서, 상기 컴퓨터 판독가능 매체는 또한 상기 컴퓨터로 하여금,(a) 멀웨어가 식별되는 경우, 상기 이진 코드가 실행되지 못하게 하는 단계; 및(b) 반대로, 멀웨어가 식별되지 않는 경우, 상기 이진 코드가 실행되게 하는 단계를 행하게 하도록 동작하는 컴퓨터 판독가능 매체.
- 제18항에 있어서, 상기 멀웨어에 대해 이진 코드의 정밀 검사를 행하는 단계는, 멀웨어의 특징인 발견적인 요소들(heuristic factors)을 상기 이진 코드에서 식별하는 단계를 포함하는 컴퓨터 판독가능 매체.
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)
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)
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)
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 |
-
2005
- 2005-04-21 US US11/112,507 patent/US7603712B2/en not_active Expired - Fee Related
-
2006
- 2006-04-20 RU RU2007138951/09A patent/RU2007138951A/ru not_active Application Discontinuation
- 2006-04-20 WO PCT/US2006/014743 patent/WO2006115935A2/en active Application Filing
- 2006-04-20 CN CNA2006800094089A patent/CN101542451A/zh active Pending
- 2006-04-20 JP JP2008507840A patent/JP4880674B2/ja not_active Expired - Fee Related
- 2006-04-20 KR KR1020077019923A patent/KR20080002755A/ko not_active Application Discontinuation
- 2006-04-20 BR BRPI0608845-7A patent/BRPI0608845A2/pt not_active IP Right Cessation
- 2006-04-20 MX MX2007011685A patent/MX2007011685A/es not_active Application Discontinuation
- 2006-04-20 EP EP06750717.8A patent/EP1872232B1/en active Active
Cited By (3)
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 |