KR20100010749A - 난독화된 악성 웹페이지 탐지 방법 및 장치 - Google Patents
난독화된 악성 웹페이지 탐지 방법 및 장치 Download PDFInfo
- Publication number
- KR20100010749A KR20100010749A KR1020080071762A KR20080071762A KR20100010749A KR 20100010749 A KR20100010749 A KR 20100010749A KR 1020080071762 A KR1020080071762 A KR 1020080071762A KR 20080071762 A KR20080071762 A KR 20080071762A KR 20100010749 A KR20100010749 A KR 20100010749A
- Authority
- KR
- South Korea
- Prior art keywords
- code
- obfuscated
- malicious
- function
- obfuscation
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 난독화된 악성 웹페이지 탐지 방법 및 장치에 관한 것이다.
본 발명은 난독화된 악성 코드를 해석하여 악성 웹페이지를 찾아내는 것을 목적으로 한다.
본 발명의 악성 웹 페이지 탐지 장치는 웹 페이지의 소스 코드에 난독화된 코드가 포함되었는지를 탐지하는 난독화 코드 탐지부와, 상기 난독화된 코드를 해석하는 함수를 상기 소스 코드에 삽입하여 상기 소스 코드를 재구성하는 난독화 해석 함수 삽입부와, 상기 재구성된 코드에 삽입된 함수에 의해 호출되어 상기 난독화된 코드를 해석하는 난독화 해석부 및 상기 해석된 코드를 이용하여 악성 코드를 탐지하는 악성 코드 탐지부를 포함한다.
난독화, 악성 코드, 탐지
Description
본 발명은 난독화된 악성 웹페이지 탐지 방법 및 장치에 관한 것으로, 구체적으로는 웹페이지 내부에 난독화된 형태로 숨어있는 악성 코드를 탐지하기 위하여 난독화된 코드를 탐지하고, 이를 해석하는 함수를 삽입한 다음, 삽입된 해석 함수를 이용하여 난독화된 코드를 해석하는 악성 웹페이지 탐지 방법 및 장치에 관한 것이다.
인터넷이 발달함에 따라 정보를 탈취하거나 중요 정보를 불법적으로 수집하기 위하여 웹페이지에 악성 코드를 적용시키는 방법도 점점 더 지능적으로 발달되었다. 특히, 정상적인 웹페이지에 특정 코드를 은닉하여 웹페이지 접속자의 컴퓨터에 불법 프로그램을 설치하는 방식이 문제가 되고 있다.
도 1은 은닉 코드를 이용한 웹 공격을 개념적으로 설명하는 도면이다.
도 1을 참조하면, 우선 악성코드를 이용하여 웹 공격을 시도하려는 공격 자(110)는 악성 프로그램 배포 서버(130)를 이용하여 악성 프로그램을 배포한다(단계 101). 이러한 악성 프로그램 배포 서버(130)는 기존에 존재하는 서버를 해킹하여 악성 프로그램을 설치하는 방법 등으로 구성될 수 있다.
그런 다음, 공격 대상이 되는 사용자(140)가 자주 사용하는 대상 서버(100)를 해킹하여 대상 서버(100)에 접속한 사용자를 상기 배포 서버(130)로 링크시키는 악성 코드나 자바 스크립트 등을 삽입한다(단계103).
한 편, 대상 서버(100)가 해킹되었는지 모르는 사용자(140)는 일상적으로 대상 서버(100)에 접속하게 되고(단계105), 그러면 대상 서버에 은닉되어 있는 링크 코드에 따라서 자동적으로 배포 서버(130)에 접속하여 악성 프로그램 등을 자신도 모르게 다운로드 받는다(단계 109).
일단 악성 코드가 사용자(140) 컴퓨터에 설치되면 악성 코드가 보내주는 정보 등을 이용하여 공격자(110)는 사용자(140)의 정보를 조작하거나 빼 내올 수 있게 된다.
이러한 방식의 해킹 기법은 여러 가지 방법이 존재하는데, 예를 들어 아이 프레임(i-frame) 방식과 같이 링크를 위한 프레임의 크기를 아주 작게 만들어 사용자가 의식하지 못하도록 하거나, 자바 스크립트를 이용하는 방식이 존재한다. 특히, 대상 서버(100)의 보안 관리자가 악성 코드가 삽입되었는지를 확인하기 힘들게 하도록 하기 위하여 대상 서버(100)에 삽입되는 악성 코드를 자바 스크립트를 이용하여 난독화하는 방식이 주로 사용되어 왔다.
한편으로, 이러한 공격을 방어하기 위한 종래 기술로는 사용자 컴퓨터의 실행 환경과는 독립적인 가상 환경이나 사용자 브라우저와 프록시로 연동된 환경에서 사용자 브라우저가 웹사이트를 접근할 때 발생하는 트래픽과 이벤트 등을 취합하여 악성 코드의 존재유무를 판단하는 기술이 있었으며, 또한 다른 방식으로는 악성 코드가 실행될 때 사용되는 함수나 메소드의 호출 시퀀스를 탐지하여 호출 시퀀스에 속한 각각의 문장에 관련된 값이나 파라미터 등을 검사하고, 이런 호출 문장의 전후에 악성 행위 감시 함수 등을 삽입하는 방법이 존재하였다.
그러나 첫 번째 방법은 사용자 컴퓨터의 피해를 사전에 차단하지 못한다는 단점이 존재하였으며, 두 번째 방법은, 악성 코드가 난독화된 경우에는 악성 코드를 찾을 수 없다는 단점이 존재하였다.
따라서, 난독화된 소스 코드를 자동으로 검색하고 해석하여 악성코드의 여부를 판단하는 방법이 요청되었다.
본 발명은 난독화된 악성 웹페이지 탐지 방법 및 장치를 제공하는 것을 목적으로 한다. 특히, 본 발명은 웹 페이지에 포함된 난독화된 코드를 찾아내고, 이를 해석하여 해석된 코드가 악성 코드인지를 판단하는 방법 및 장치를 제공하는 것을 목적으로 한다.
상술한 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면, 웹 페이지의 소스 코드에 난독화된 코드가 포함되었는지를 탐지하는 난독화 코드 탐지부와,
상기 난독화된 코드를 해석하는 함수를 상기 소스 코드에 삽입하여 상기 소스 코드를 재구성하는 난독화 해석 함수 삽입부와, 상기 재구성된 소스 코드에 삽입된 함수에 의해 호출되어 상기 난독화된 코드를 해석하는 난독화 해석부 및 상기 해석된 코드를 이용하여 악성 코드를 탐지하는 악성 코드 탐지부를 포함하는 난독화된 악성 웹 페이지 탐지 장치를 제공할 수 있다.
바람직한 실시예에 있어서, 상기 악성 코드 탐지부는 룰 기반의 패턴 매칭 방법을 이용하여 악성 코드를 탐지할 수 있다. 또한, 상기 악성 코드 탐지부의 악성 코드 탐지에 이용될 악성 코드 패턴을 제공하는 악성 코드 패턴 데이터베이스를 더 포함할 수 있다. 또한, 상기 난독화 코드 탐지부에 난독화된 코드의 규칙을 제공하는 난독화 코드 규칙 데이터베이스를 더 포함할 수 있다. 또한, 상기 탐지된 악성 코드를 웹 브라우저에 표시하는 웹브라우저 표시 제어부를 더 포함할 수 있다. 또한, 상기 난독화 코드 탐지부는 상기 소스 코드에 빈 문자가 삽입되는 경우, 열 병합 연산자 '+'가 사용되는 경우, 특수 문자가 반복적으로 사용되는 경우, 알파뉴메릭(Alphanumeric) 코드가 반복적으로 사용되는 경우 및 위험 스크립트 함수에 대하여 포인터가 지정되는 경우 중 적어도 한 경우 이상을 찾을 수 있다. 또한, 상기 웹 페이지의 소스 코드를 추출하는 웹페이지 소스 추출부를 더 포함할 수 있다. 또한, 상기 악성 코드 탐지부, 상기 난독화 코드 탐지부 및 상기 난독화 해석 함수 삽입부는 독립적인 실행 파일에 포함되고, 상기 난독화 해석부는 상기 실행 파일에 임베디드 된 모듈에 포함할 수 있다.
본 발명의 다른 일 측면을 참조하면, 웹 페이지의 소스 코드에 난독화된 코드가 포함되었는지를 판단하는 단계와, 상기 난독화된 코드가 포함되었다면 상기 난 난독화된 코드를 해석하는 함수를 상기 소스 코드에 삽입하여 재구성하는 단계 및 상기 재구성된 소스 코드를 이용하여 상기 난독화된 코드를 해석하고 상기 해석된 코드를 이용하여 악성 코드를 탐지하는 단계를 포함하는 난독화된 악성 웹 페이지 탐지 방법을 제공할 수 있다.
바람직한 실시예에 있어서, 상기 난독화된 코드가 포함되었는지를 판단하기 전에 상기 소스 코드를 이용하여 악성 코드를 탐지하는 단계를 더 포함할 수 있다. 또한, 상기 악성 코드가 탐지되면 웹 브라우저에 상기 악성 코드가 탐지되었음을 나타내는 단계를 더 포함할 수 있다. 또한, 상기 난독화된 코드를 해석하는 함수를 상기 난독화된 코드를 이용하는 위험 스크립트 함수의 앞에 삽입할 수 있다. 또한, 상기 위험 스크립트가 함수가 실행되기 전에 상기 난독화 해석 함수에서 난독화 해석 모듈을 호출하여 상기 난독화된 코드를 해석할 수 있다.
본 발명에서 제안하는 난독화된 악성 웹페이지 탐지 방법 및 장치를 이용하면, 웹페이지에 난독화된 형태로 삽입된 악성 코드라 할지라도 상기 악성 코드가 실행되기 전에 찾아낼 수 있기 때문에 기존의 방식에 비하여 빠르고 효율적으로 악성 코드를 탐지할 수 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 난독화된 악성 웹페이지 탐지 방법 및 장치에 대하여 상세히 설명한다.
도 2는 본 발명의 난독화된 악성 웹페이지 탐지 장치의 구성을 도시하는 도면이다.
도 2를 참조하면, 본 발명의 난독화된 악성 웹페이지 탐지 장치(200)는 크게 브라우저 헬프 오브젝트(210), 악성 웹페이지 탐지 모듈(220) 및 난독화 해석 모듈(230) 포함한다.
이러한 난독화된 악성 웹페이지 탐지 장치(200)는 인터넷 브라우저와 직접 연동되는 단일 통합 모듈로서 구성될 수도 있으나, 상기 실시예에서는 실행 모듈을 분리하여 인터넷 브라우저가 안정적으로 실행될 수 있도록 하였다.
본 발명의 실시예에서 브라우저 헬프 오브젝트(210)는 기존의 인터넷 브라우저 프로그램에 *.dll 파일 형태로 결합하며, 악성 웹페이지 탐지 모듈(220)은 독립적인 실행 파일(*.exe) 형태로 존재하며, 난독화 해석 모듈(230)은 액티브 엑스(ActiveX) 등의 형태로 악성 웹페이지 탐지 모듈(220)에 임베디드된다.
여기서 적용되는 인터넷 브라우저 프로그램은 기존의 일반적인 브라우저로서 MS사의 인터넷 익스플로러 프로그램이나, AOL사의 넷스케이프, 모질라 재단의 파이어폭스 등의 프로그램이 될 수 있다.
악성 웹페이지 탐지 모듈(220)은 본 발명의 핵심적인 구성요소로서 인터넷 브라우저 프로그램에서부터 수신되는 소스 코드를 분석하여 악성 코드의 존재 여부를 판단하고, 또한 난독화된 코드를 찾아내고 난독화된 코드를 해석하는 해석 모듈을 호출하는 난독화 해석 함수를 삽입하는 역할을 담당한다. 특히, 본 발명의 난독화된 악성 웹페이지 탐지 장치(200)에서 악성 코드 여부를 탐지하기 위해서는 룰 기반의 패턴 매칭 방식을 사용하는데, 이럴 경우에는 악성 코드의 패턴을 저장하는 악성 코드 패턴 데이터베이스를 더 포함할 수 있다. 또한, 난독화된 코드의 규칙을 이용하여 난독화된 코드를 탐색하는데, 이 때 난독화된 코드의 규칙을 저장하는 난독화 규칙 데이터베이스를 더 포함할 수도 있다.
난독화 해석 모듈(230)은 상기 악성 웹페이지 탐지 모듈(203)에 임베디드되는데, *.ocx 파일이나 *.cap 파일 형태일 수 있다. 이러한 난독화 해석 모듈(230)은 악성 웹 페이지 탐지 모듈(220)이 실행되면서 삽입된 난독화 해석 함수로부터 호출을 받아 난독화된 코드를 해석하는 역할을 담당한다.
도 3은 본 발명의 난독화된 악성 웹페이지 탐지 장치를 기능적으로 나타낸 도면이다.
도 3을 참조하면, 본 발명의 난독화된 악성 웹페이지 탐지 장치는 기능적으로 웹 페이지 소스 추출부(301), 악성 코드 탐지부(303), 난독화 코드 탐지부(305), 난독화 해석 함수 삽입부(307), 난독화 해석부(309), 웹 브라우저 표시 제어부(311), 악성 코드 패턴 데이터베이스(313) 및 난독화 규칙 데이터베이스(315)를 포함할 수 있다.
여기서 웹 페이지 소스 추출부(301) 및 웹 브라우저 표시 제어부(311)는 상기 도 2에서 설명한 브라우저 헬프 오브젝트(210)의 기능에 포함되며, 악성 코드 탐지부(303), 난독화 코드 탐지부(305), 난독화 해석 함수 삽입부(307), 악성 코드 패턴 데이터베이스(313) 및 난독화 규칙 데이터베이스(315)는 악성 웹 페이지 탐지 모듈(220)의 기능에 포함되며, 난독화 해석부(309)는 난독화 해석 모듈(230)의 기능에 포함된다.
웹 페이지 소스 추출부(301)는 웹서버로부터 수신되는 웹페이지 정보로부터 웹페이지의 소스를 추출하는 역할을 담당한다. 본 발명은 웹페이지에 포함된 난독화된 코드를 찾아내는 것이므로, 웹 브라우저가 실행하는 데이터가 아니라 눈으로 확인할 수 있는 프로그램 언어인 소스 코드가 필요하기 때문이다.
악성 코드 탐지부(303)는 추출된 웹페이지 소스 코드에 악성 코드가 존재하는지를 검사하는 역할을 담당한다. 악성 코드는 룰 기반의 패턴 매칭을 이용하여 탐지하는데, 패턴 매칭을 이용하는 경우에는 악성 코드의 패턴을 저장하는 악성 코드 패턴 데이터베이스(313)가 필요하다.
한 편, 악성 코드 탐지부(303)는 일반적인 스크립트 형태로 구성되어 있는 악성 코드는 잘 탐지할 수 있으나, 난독화를 통하여 변환된 악성 코드는 탐지하기가 힘들다. 따라서 난독화된 코드가 있다면 난독화 해석부(309)를 통하여 난독화를 해석하고 그렇게 해석된 코드에 대하여 다시 한번 악성 코드의 존재 여부를 탐지한다.
난독화 코드 탐지부(305)는 웹페이지의 소스 코드에 난독화된 코드가 존재하는지를 탐지하는 역할을 담당한다. 일반적으로 웹페이지에 악성 코드나 스크립트를 삽입할 때, 웹서버 관리자가 악성코드의 삽입을 알아차리지 못하도록 하기 위하여 악성 코드를 난독화하여 삽입한다. 그렇게 되면 상기 악성 코드 탐지부(303)에서 탐지할 수 있는 악성 코드의 패턴을 벗어나게 되므로 악성 코드 탐지부에서 탐지하기가 힘들다. 그러므로 악성 코드 탐지부(303)에서 악성 코드가 존재하는지를 판단한 경우에도, 난독화된 코드가 존재한다면 여전히 난독화된 악성 코드가 남아있을 수 있다.
따라서 소스 코드에 난독화된 코드가 존재하는지를 알아내야 하는데, 난독화 코드 탐지부(305)는 난독화 규칙을 이용하여 난독화된 코드가 존재하는지를 판단한다. 난독화 코드 탐지부(305)는 난독화 규칙 데이터베이스(315)에 저장된 난독화 규칙을 이용하여 소스 코드의 난독화 여부를 판단하는데,
일 실시예에 있어서, 난독화 규칙에 따라 난독화된 코드가 존재한다고 판단 되는 경우는 '빈 문자가 삽입되어 있고, 문자열 병합 연산자인 '+'가 사용되는 경우, 특수 문자인 '%', '/x', '%u' 등이 반복적으로 사용되는 경우, 알파뉴메릭(Alphanumeric) 코드가 반복적으로 사용되는 경우 및 위험 스크립트 함수에 대한 포인터가 지정된 경우' 등이 될 수 있다.
난독화 해석 함수 삽입부(307)는 난독화 코드 탐지부(305)에서 상기에서 예시를 든 여러 규칙등을 이용하여 소스 코드에 난독화된 코드가 존재한다고 판단되는 경우에, 이러한 난독화된 코드를 해석할 수 있는 함수를 삽입하는 역할을 담당한다.
이 때, 해석 함수는 난독화된 코드가 실행될 소지가 있는 위험 스크립트 함수의 앞에 삽입된다.
난독화된 코드가 위험이 되는 이유는 난독화가 되어 있는 코드가 실행되는 경우 어떤 일을 하는지 분석하기가 힘들기 때문인데, 난독화된 코드 자체로는 어떠한 기능을 실행하지는 않으며, 난독화된 코드가 어떤 기능을 수행하기 위해서는 난독화된 코드를 이용하여 특정 행동을 하기 위한 함수가 존재해야 한다.
난독화 해석 함수 삽입부(307)는 난독화된 코드를 이용하는 함수의 앞에 난독화된 함수를 해석하는 함수를 삽입하여, 난독화된 코드가 실행되기 전에 난독화된 코드가 어떤 코드인지를 확인하는 역할을 담당한다.
이렇게 난독화 해석 함수를 난독화된 코드의 실행 함수 앞에 삽입하게 되면, 난독화가 해석된 후 다시 악성 코드 탐지부(303)에서 해석된 코드를 검사할 때, 난독화된 코드가 실행되기 전에 난독화된 코드가 악성 코드인지를 확인할 수 있다.
난독화 해석부(309)는 상기 난독화 해석 함수 삽입부(307)에서 삽입된 난독화 해석 함수에 의하여 호출되어 난독화된 코드를 해석하는 부분이다. 난독화된 코드가 해석되면 악성 코드 탐지부(303)로 해석된 소스 코드를 다시 보내서 해석된 소스 코드에 악성 코드가 있는지를 확인할 수 있다.
웹 브라우저 표시 제어부(311)는 악성 코드 탐지부(303)나 난독화 코드 탐지부(305)에서 악성 코드가 탐지되거나, 혹은 난독화된 코드가 존재하는 것으로 탐지되면, 이를 웹 브라우저에 표시하거나, 웹 브라우저의 실행을 중지하고, 아무런 문제가 없다면 수신된 웹 페이지를 실행하도록 제어하는 역할을 한다.
도 4는 본 발명에서 난독화된 웹페이지에서 악성 코드를 탐지하는 순서를 나타내는 도면이다.
도 4를 참조하면, 우선 개인 컴퓨터가 웹서버에 접속하면(단계401), 웹서버로부터 웹페이지 데이터가 전송되고 이렇게 전송된 데이터에서 웹페이지의 소스 코드를 추출한다(단계 403). 그러면, 추출된 웹페이지의 소스 코드를 분석하는데(단계 405), 우선 소스 코드에 악성 코드가 포함되어 있는지를 탐지한다(단계 407). 악성 코드의 탐지는 룰 기반의 패턴 매칭 방식을 사용하는데, 악성 코드 패턴 데이터베이스(417)에 저장된 악성 코드의 패턴과 수신된 웹페이지의 소스 코드 패턴을 비교하여 악성 코드를 탐지하게 된다.
그런 다음, 소스 코드에 난독화된 코드가 있는지를 탐지한다(409). 난독화된 코드가 있다면 악성 코드가 난독화 되어 포함되어 있다 하더라도, 악성 코드 패턴 데이터베이스에 저장된 패턴과는 달라서 패턴 매칭의 방식으로 악성 코드를 찾아내 기가 힘들다. 따라서 난독화된 코드를 해석해야 하는데, 이를 위하여 난독화된 코드의 존재 여부를 탐지한다. 난독화된 코드의 탐지는 난독화 규칙 데이터베이스(419)에 저장된 난독화 규칙을 이용해서 탐지한다.
여기서 난독화 규칙은 '빈 문자가 삽입되어 있고, 문자열 병합 연산자인 '+'가 사용되는 경우', '특수 문자인 '%', '/x', '%u' 등이 반복적으로 사용되는 경우', '알파뉴메릭(Alphanumeric) 코드가 반복적으로 사용되는 경우 및 위험 스크립트 함수에 대한 포인터가 지정된 경우' 등이 될 수 있다.
난독화된 코드를 탐지하여 난독화된 코드가 존재한다면 난독화된 코드를 실행하는 위험 함수의 앞에 난독화 해석 함수를 삽입한다(단계 411).
그런 다음 삽입된 소스 코드를 이용하여 난독화된 코드를 해석하고(단계413), 해석된 소스 코드를 다시 분석(405)하고, 악성 코드가 존재하는지를 다시 탐지한다(단계 407).
이 때, 악성 코드가 존재한다고 판단되면 웹 브라우저 표시 제어부를 통하여 악성 코드가 존재한다는 것을 나타내고, 만약 악성 코드도 존재하지 않고, 난독화도 되어있지 않다고 판단되면 웹 브라우저 표시 제어부를 통하여 수신된 웹페이지를 실행하도록 한다(단계 415).
도 5는 본 발명에서 난독화된 코드를 해석하는 단계를 좀더 자세히 나타내는 도면이다.
도 5를 참조하면, 우선 상기 도면 4의 참조 번호 405 단계에서 소스 코드를 분석하면, 악성 코드를 탐지하고 다름 단계로서 난독화된 코드를 탐지하기 위하여 난독화된 코드를 검색한다(단계 501). 이 때 난독화된 코드를 검색하기 위하여 난독화된 코드의 규칙을 저장한 데이터베이스를 이용할 수도 있다. 난독화된 코드를 검색하여 난독화된 코드가 존재한다고 판단되면, 이런 난독화된 코드를 이용하는 위험 스크립트 함수를 식별한다(단계 503).
위험 스크립트 함수라 하면, 소스 코드에 스크립트 함수를 따로 선언하여 사용하는 경우도 있을 수 있지만, 가령 예를 들어 자바(Java) 스크립트 함수 중 eval(string);과 같은 함수는 문자열을 그 결과값으로 돌려주는 역할을 한다.
즉 eval("%$+%&"); 라 하고 %$ = 3 이고 %& = 5 라 한다면 내부 값이 문자열로 정의됨에도 불구하고 결과값인 8을 바로 돌려주는 역할을 하는 함수이다.
따라서, 이런 함수를 난독화된 코드로 이루어진 문자열에 사용하게 되면, 난독화된 문자열이 무엇인지 풀어 줄 필요도 없이 바로 실행된다. 결국, 난독화된 코드를 받아서 실행시키거나 적용시키는 함수는 위험 스크립트 함수라고 할 수 있으며, 난독화된 코드가 무엇인지 알 수 있다면 위험 스크립트 함수를 찾아내는 것은 어려운 일이 아니다.
즉, 상기 도 4의 난독화된 코드가 존재하는지를 판단하는 단계(409)는 난독화된 코드를 검색하고 난독화된 코드가 존재한다면 난독화된 코드를 이용하는 위험 스크립트 함수까지 찾아내는 단계를 포함한다.
이렇게 위험 스크립트 함수를 식별한 다음으로는 식별된 위험 스크립트 함수가 실행되기 전 단계에 난독화 해석 함수를 삽입하고(단계 505), 웹페이지를 재구 성한다(단계 507). 즉, 상기 도 4의 난독화 해석 함수 삽입 단계(411)는 해석 함수를 삽입하고 이를 이용하여 기존의 웹페이지를 재구성하는 단계까지 포함한다.
그런 다음으로는 재구성된 웹페이지의 소스 코드에 삽입된 해석 함수로부터 호출된 난독화 해석 모듈이 독화 코드를 해석한다(단계 413).
위에서 설명한 것처럼 난독화된 코드가 있는 부분에서 바로 난독화된 코드가 실행되는 것이 아니라 난독화된 코드를 실행하는 함수 부분에서 실행되므로, 난독화된 코드가 실행되기 전에 난독화 해석 함수를 삽입함으로써, 난독화된 코드가 실행되는 것을 막을 수 있다. 또한, 삽입된 해석 함수에 의하여 난독화 해석 모듈이 호출되어 난독화된 코드를 해석한 다음 상기 도4에서처럼 다시 악성 코드를 식별한다면, 위험스크립트 함수가 실행되기 전에 악성 코드의 검색이 끝나게 된다.
도 6 및 도 7은 본 발명에서 재구성되는 웹페이지 소스 코드를 나타내는 도면이다.
도 6은 재구성 되는 웹페이지 소스 코드를 개념적으로 나타내었으며, 도 7은 실제적인 예시를 나타내다.
도 6에서 참조 번호 610 화면은 웹서버로부터 수신되는 웹페이지의 소스코드를 개념적으로 나타낸다. 참조 번호 611 및 613에서 확인할 수 있듯이, 난독화된 코드가 포함되는 웹페이지에는 난독화된 코드(611) 뿐만 아니라 난독화된 코드를 실행하는 실행 함수(613)도 같이 포함되어 있다.
이 때 본 발명에 따라 웹페이지가 재구성 되면 참조 번호 620과 같이 난독화 해석 함수(621)가 난독화된 코드(611)와 난독화된 코드 실행 함수(613) 사이에 삽입되게 된다. 그러면 난독화된 코드가 실행되기 전에 난독화된 코드가 해석된다.
도 7은 실제로 적용되는 실시예를 나타내는 것으로 참조 번호 710 도면은 재구성되기 전의 소스 코드를 나타낸다. 여기서 참조 번호 711은 난독화된 코드의 실제적인 예시를 나타내며, 참조 번호 713은 난독화된 코드를 실행하는 위험 스크립트 함수를 나타낸다.
참조 번호 720은 재구성된 코드를 나타내는데, 참조 번호 721은 해석 함수를 나타내며, 참조 번호 723은 상기 해석 함수를 정의하는 부분이다.
이러한 방식으로 소스 코드가 재구성되면, 상기 참조 번호 721의 함수로부터 호출받은 난독화 해석 모듈이 참조 번호 711의 난독화된 코드를 해석하여 난독화된 코드를 풀어주게된다.
도 8은 본 발명이 실행된 경우의 일 실시예를 나타내는 도면이다.
도 8을 참조하면, 본 발명에서 난독화된 코드를 해석하여 악성 코드를 찾는 실제적인 실시예를 보여준다. 참조 번호 810 화면은 웹페이지의 소스 코드를 보여주는데, 도면에서 확인할 수 있는 바와 같이 스크립트가 숫자열로 난독화되어 있음을 알 수 있다. 또한 아래쪽 화면인 참조 번호 820 화면은 상기 소스 코드를 해석한 화면을 보여주고 있다. 이때 해석된 소스 코드를 확인하면, 다시 난독화되어 있음을 알 수 있는데, 본 실시예에서는 웹페이지의 소스 코드가 2중으로 난독화되어 있음을 알 수 있다.
이제까지 특정한 실시예와 관련하여 본 발명을 설명하였다. 그러나 본 발명은 상기의 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 단 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.
도 1은 은닉 코드를 이용한 웹 공격을 개념적으로 설명하는 도면.
도 2는 본 발명의 난독화된 악성 웹페이지 탐지 장치의 구성 모듈을 도시하는 도면.
도 3은 본 발명의 난독화된 악성 웹페이지 탐지 장치를 기능적으로 나타낸 도면.
도 4는 본 발명에서 난독화된 웹페이지에서 악성 코드를 탐지하는 순서를 나타내는 도면.
도 5는 본 발명에서 난독화된 코드를 해석하는 단계를 좀더 자세히 나타내는 도면.
도 6 및 도 7은 본 발명에서 재구성되는 웹페이지 소스 코드를 나타내는 도면.
도 8은 본 발명이 실행된 경우의 일 실시예를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
301 : 웹 페이지 소스 추출부 303 : 악성 코드 탐지부
305 : 난독화 코드 탐지부 307 : 난독화 해석 함수 삽입부
309 : 난독화 해석부 311 : 웹 브라우저 표시 제어부
313 : 악성 코드 패턴 데이터베이스 315 : 난독화 규칙 데이터베이스
Claims (13)
- 웹 페이지의 소스 코드에 난독화된 코드가 포함되었는지를 탐지하는 난독화 코드 탐지부와,상기 난독화된 코드를 해석하는 함수를 상기 소스 코드에 삽입하여 상기 소스 코드를 재구성하는 난독화 해석 함수 삽입부와,상기 재구성된 소스 코드에 삽입된 함수에 의해 호출되어 상기 난독화된 코드를 해석하는 난독화 해석부 및상기 해석된 코드를 이용하여 악성 코드를 탐지하는 악성 코드 탐지부를 포함하는 난독화된 악성 웹 페이지 탐지 장치.
- 제1항에 있어서, 상기 악성 코드 탐지부는 룰 기반의 패턴 매칭 방법을 이용하여 악성 코드를 탐지하는 난독화된 악성 웹 페이지 탐지 장치.
- 제2항에 있어서, 상기 악성 코드 탐지부의 악성 코드 탐지에 이용될 악성 코드 패턴을 제공하는 악성 코드 패턴 데이터베이스를 더 포함하는 난독화된 악성 웹 페이지 탐지 장치.
- 제1항에 있어서, 상기 난독화 코드 탐지부에 난독화된 코드의 규칙을 제공하는 난독화 코드 규칙 데이터베이스를 더 포함하는 난독화된 악성 웹 페이지 탐지 장치.
- 제1항에 있어서, 상기 탐지된 악성 코드를 웹 브라우저에 표시하는 웹브라우저 표시 제어부를 더 포함하는 난독화된 악성 웹 페이지 탐지 장치.
- 제1항에 있어서, 상기 난독화 코드 탐지부는상기 소스 코드에 빈 문자가 삽입되는 경우, 열 병합 연산자 '+'가 사용되는 경우, 특수 문자가 반복적으로 사용되는 경우, 알파뉴메릭(Alphanumeric) 코드가 반복적으로 사용되는 경우 및 위험 스크립트 함수에 대하여 포인터가 지정되는 경우 중 적어도 한 경우 이상을 찾아내는 난독화된 악성 웹페이지 탐지 장치.
- 제1항에 있어서, 상기 웹 페이지의 소스 코드를 추출하는 웹페이지 소스 추출부를 더 포함하는 난독화된 악성 웹페이지 탐지 장치.
- 제1항에 있어서, 상기 악성 코드 탐지부, 상기 난독화 코드 탐지부 및 상기 난독화 해석 함수 삽입부는 독립적인 실행 파일에 포함되고, 상기 난독화 해석부는 상기 실행 파일에 임베디드 된 모듈에 포함되는 난독화된 악성 웹페이지 탐지 장치.
- 웹 페이지의 소스 코드에 난독화된 코드가 포함되었는지를 판단하는 단계와,상기 난독화된 코드가 포함되었다면 상기 난독화된 코드를 해석하는 함수를 상기 소스 코드에 삽입하여 재구성하는 단계 및상기 재구성된 소스 코드를 이용하여 상기 난독화된 코드를 해석하고 상기 해석된 코드를 이용하여 악성 코드를 탐지하는 단계를 포함하는 난독화된 악성 웹 페이지 탐지 방법.
- 제9항에 있어서, 상기 난독화된 코드가 포함되었는지를 판단하기 전에 상기 소스 코드를 이용하여 악성 코드를 탐지하는 단계를 더 포함하는 난독화된 악성 웹페이지 탐지 방법.
- 제9항에 있어서, 상기 악성 코드가 탐지되면 웹 브라우저에 상기 악성 코드가 탐지되었음을 나타내는 단계를 더 포함하는 난독화된 악성 웹페이지 탐지 방법.
- 제9항에 있어서, 상기 난독화된 코드를 해석하는 함수를 상기 난독화된 코드를 이용하는 위험 스크립트 함수의 앞에 삽입하는 난독화된 악성 웹페이지 탐지 방법.
- 제12항에 있어서, 상기 위험 스크립트가 함수가 실행되기 전에 상기 난독화 해석 함수에서 난독화 해석 모듈을 호출하여 상기 난독화된 코드를 해석하는 난독화된 악성 웹페이지 탐지 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080071762A KR101027928B1 (ko) | 2008-07-23 | 2008-07-23 | 난독화된 악성 웹페이지 탐지 방법 및 장치 |
US12/410,636 US8424090B2 (en) | 2008-07-23 | 2009-03-25 | Apparatus and method for detecting obfuscated malicious web page |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080071762A KR101027928B1 (ko) | 2008-07-23 | 2008-07-23 | 난독화된 악성 웹페이지 탐지 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100010749A true KR20100010749A (ko) | 2010-02-02 |
KR101027928B1 KR101027928B1 (ko) | 2011-04-12 |
Family
ID=41569841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080071762A KR101027928B1 (ko) | 2008-07-23 | 2008-07-23 | 난독화된 악성 웹페이지 탐지 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8424090B2 (ko) |
KR (1) | KR101027928B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101113249B1 (ko) * | 2011-09-16 | 2012-02-20 | 주식회사 이글루시큐리티 | 난독화된 데이터 해독방법 및 장치 |
KR101157996B1 (ko) * | 2010-07-12 | 2012-06-25 | 엔에이치엔(주) | 자바스크립트의 소스 코드 보호를 위해 난독화를 하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
KR101277617B1 (ko) * | 2010-12-27 | 2013-07-30 | 주식회사 안랩 | 악성 스레드 실행 차단 장치 및 방법 |
WO2014105949A1 (en) * | 2012-12-28 | 2014-07-03 | Mandiant Corporation | System and method for the programmatic runtime de-obfuscation of obfuscated software utilizing virtual machine introspection and manipulation of virtual machine guest memory permissions |
KR101503456B1 (ko) * | 2013-03-15 | 2015-03-24 | 에스케이텔레콤 주식회사 | 단말장치 및 단말장치의 동작 방법 |
WO2016048070A1 (ko) * | 2014-09-25 | 2016-03-31 | 주식회사 안랩 | 실행파일 복원 장치 및 방법 |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9219755B2 (en) | 1996-11-08 | 2015-12-22 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US7058822B2 (en) | 2000-03-30 | 2006-06-06 | Finjan Software, Ltd. | Malicious mobile code runtime monitoring system and methods |
US8079086B1 (en) | 1997-11-06 | 2011-12-13 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
KR20090121579A (ko) * | 2008-05-22 | 2009-11-26 | 주식회사 이베이지마켓 | 서버의 취약점을 점검하기 위한 시스템 및 그 방법 |
US9038184B1 (en) * | 2010-02-17 | 2015-05-19 | Symantec Corporation | Detection of malicious script operations using statistical analysis |
US8875285B2 (en) * | 2010-03-24 | 2014-10-28 | Microsoft Corporation | Executable code validation in a web browser |
US8495742B2 (en) | 2010-05-17 | 2013-07-23 | Microsoft Corporation | Identifying malicious queries |
US10805331B2 (en) | 2010-09-24 | 2020-10-13 | BitSight Technologies, Inc. | Information technology security assessment system |
TW201227385A (en) * | 2010-12-16 | 2012-07-01 | Univ Nat Taiwan Science Tech | Method of detecting malicious script and system thereof |
US9710645B2 (en) | 2010-12-23 | 2017-07-18 | Ebay Inc. | Systems and methods to detect and neutralize malware infected electronic communications |
US8769692B1 (en) * | 2011-07-14 | 2014-07-01 | Mcafee, Inc. | System and method for detecting malware by transforming objects and analyzing different views of objects |
US8881000B1 (en) * | 2011-08-26 | 2014-11-04 | Google Inc. | System and method for informing users of an action to be performed by a web component |
US8621621B1 (en) * | 2011-12-21 | 2013-12-31 | Juniper Networks, Inc. | Security content injection |
US10474811B2 (en) | 2012-03-30 | 2019-11-12 | Verisign, Inc. | Systems and methods for detecting malicious code |
WO2013184108A1 (en) * | 2012-06-06 | 2013-12-12 | Empire Technology Development Llc | Software protection mechanism |
CN103701759A (zh) * | 2012-09-27 | 2014-04-02 | 西门子公司 | 一种用于检测恶意网站的方法和装置 |
US9438615B2 (en) | 2013-09-09 | 2016-09-06 | BitSight Technologies, Inc. | Security risk management |
US9690936B1 (en) * | 2013-09-30 | 2017-06-27 | Fireeye, Inc. | Multistage system and method for analyzing obfuscated content for malware |
US9858440B1 (en) | 2014-05-23 | 2018-01-02 | Shape Security, Inc. | Encoding of sensitive data |
US9438625B1 (en) * | 2014-09-09 | 2016-09-06 | Shape Security, Inc. | Mitigating scripted attacks using dynamic polymorphism |
KR102156340B1 (ko) | 2014-11-21 | 2020-09-15 | 에스케이텔레콤 주식회사 | 웹 페이지 공격 차단 방법 및 장치 |
US10230718B2 (en) | 2015-07-07 | 2019-03-12 | Shape Security, Inc. | Split serving of computer code |
WO2017156158A1 (en) | 2016-03-09 | 2017-09-14 | Shape Security, Inc. | Applying bytecode obfuscation techniques to programs written in an interpreted language |
US10216488B1 (en) | 2016-03-14 | 2019-02-26 | Shape Security, Inc. | Intercepting and injecting calls into operations and objects |
US20190305927A1 (en) * | 2016-03-18 | 2019-10-03 | University Of Florida Research Foundation Incorporated | Bitstream security based on node locking |
US10586026B2 (en) * | 2016-06-03 | 2020-03-10 | Electronic Arts Inc. | Simple obfuscation of text data in binary files |
WO2018102767A1 (en) | 2016-12-02 | 2018-06-07 | Shape Security, Inc. | Obfuscating source code sent, from a server computer, to a browser on a client computer |
CN106845223B (zh) * | 2016-12-13 | 2020-08-04 | 北京三快在线科技有限公司 | 用于检测恶意代码的方法和装置 |
CN106650449B (zh) * | 2016-12-29 | 2020-05-22 | 哈尔滨安天科技集团股份有限公司 | 一种基于变量名混淆程度的脚本启发式检测方法及系统 |
US11038905B2 (en) * | 2017-01-25 | 2021-06-15 | Splunk, Inc. | Identifying attack behavior based on scripting language activity |
CN108737327B (zh) | 2017-04-14 | 2021-11-16 | 阿里巴巴集团控股有限公司 | 拦截恶意网站的方法、装置、系统和存储器 |
US10873589B2 (en) | 2017-08-08 | 2020-12-22 | Sonicwall Inc. | Real-time prevention of malicious content via dynamic analysis |
US11151252B2 (en) | 2017-10-13 | 2021-10-19 | Sonicwall Inc. | Just in time memory analysis for malware detection |
US10685110B2 (en) * | 2017-12-29 | 2020-06-16 | Sonicwall Inc. | Detection of exploitative program code |
US10257219B1 (en) | 2018-03-12 | 2019-04-09 | BitSight Technologies, Inc. | Correlated risk in cybersecurity |
US11232201B2 (en) | 2018-05-14 | 2022-01-25 | Sonicwall Inc. | Cloud based just in time memory analysis for malware detection |
US10776487B2 (en) | 2018-07-12 | 2020-09-15 | Saudi Arabian Oil Company | Systems and methods for detecting obfuscated malware in obfuscated just-in-time (JIT) compiled code |
JP7084273B2 (ja) * | 2018-10-10 | 2022-06-14 | 株式会社Nttドコモ | 難読化判定装置 |
US11200323B2 (en) | 2018-10-17 | 2021-12-14 | BitSight Technologies, Inc. | Systems and methods for forecasting cybersecurity ratings based on event-rate scenarios |
US10521583B1 (en) * | 2018-10-25 | 2019-12-31 | BitSight Technologies, Inc. | Systems and methods for remote detection of software through browser webinjects |
US10726136B1 (en) | 2019-07-17 | 2020-07-28 | BitSight Technologies, Inc. | Systems and methods for generating security improvement plans for entities |
US11956265B2 (en) | 2019-08-23 | 2024-04-09 | BitSight Technologies, Inc. | Systems and methods for inferring entity relationships via network communications of users or user devices |
US11032244B2 (en) | 2019-09-30 | 2021-06-08 | BitSight Technologies, Inc. | Systems and methods for determining asset importance in security risk management |
US11741197B1 (en) | 2019-10-15 | 2023-08-29 | Shape Security, Inc. | Obfuscating programs using different instruction set architectures |
US11816213B2 (en) * | 2019-12-09 | 2023-11-14 | Votiro Cybersec Ltd. | System and method for improved protection against malicious code elements |
US10893067B1 (en) | 2020-01-31 | 2021-01-12 | BitSight Technologies, Inc. | Systems and methods for rapidly generating security ratings |
US11023585B1 (en) | 2020-05-27 | 2021-06-01 | BitSight Technologies, Inc. | Systems and methods for managing cybersecurity alerts |
US11481475B2 (en) | 2020-11-03 | 2022-10-25 | Capital One Services, Llc | Computer-based systems configured for automated computer script analysis and malware detection and methods thereof |
KR102286451B1 (ko) | 2020-11-18 | 2021-08-04 | 숭실대학교산학협력단 | 자연어 처리 기반 난독화된 식별자 인식 방법, 이를 수행하기 위한 기록 매체 및 장치 |
CN112487368B (zh) * | 2020-12-21 | 2023-05-05 | 中国人民解放军陆军炮兵防空兵学院 | 一种基于图卷积网络的函数级混淆检测方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2316200A (en) * | 1996-08-08 | 1998-02-18 | Ibm | Accessing information about executable code |
US6499109B1 (en) * | 1998-12-08 | 2002-12-24 | Networks Associates Technology, Inc. | Method and apparatus for securing software distributed over a network |
US6519702B1 (en) * | 1999-01-22 | 2003-02-11 | Sun Microsystems, Inc. | Method and apparatus for limiting security attacks via data copied into computer memory |
US7421586B2 (en) * | 1999-05-12 | 2008-09-02 | Fraunhofer Gesselschaft | Protecting mobile code against malicious hosts |
US6785815B1 (en) * | 1999-06-08 | 2004-08-31 | Intertrust Technologies Corp. | Methods and systems for encoding and protecting data using digital signature and watermarking techniques |
US6668369B1 (en) * | 1999-12-29 | 2003-12-23 | International Business Machines Corporation | Software debugging tool for displaying dynamically written software code |
KR100509650B1 (ko) * | 2003-03-14 | 2005-08-23 | 주식회사 안철수연구소 | 코드 삽입 기법을 이용한 악성 스크립트 감지 방법 |
US7739737B2 (en) * | 2003-07-29 | 2010-06-15 | Wisconsin Alumni Research Foundation | Method and apparatus to detect malicious software |
US7607172B2 (en) * | 2004-03-02 | 2009-10-20 | International Business Machines Corporation | Method of protecting a computing system from harmful active content in documents |
US8244910B2 (en) * | 2004-07-14 | 2012-08-14 | Ebay Inc. | Method and system to modify function calls from within content published by a trusted web site |
US20060075468A1 (en) * | 2004-10-01 | 2006-04-06 | Boney Matthew L | System and method for locating malware and generating malware definitions |
US7287279B2 (en) * | 2004-10-01 | 2007-10-23 | Webroot Software, Inc. | System and method for locating malware |
US7640583B1 (en) * | 2005-04-01 | 2009-12-29 | Microsoft Corporation | Method and system for protecting anti-malware programs |
US7349931B2 (en) * | 2005-04-14 | 2008-03-25 | Webroot Software, Inc. | System and method for scanning obfuscated files for pestware |
US8225392B2 (en) * | 2005-07-15 | 2012-07-17 | Microsoft Corporation | Immunizing HTML browsers and extensions from known vulnerabilities |
US7620987B2 (en) * | 2005-08-12 | 2009-11-17 | Microsoft Corporation | Obfuscating computer code to prevent an attack |
US7739740B1 (en) * | 2005-09-22 | 2010-06-15 | Symantec Corporation | Detecting polymorphic threats |
US7757289B2 (en) * | 2005-12-12 | 2010-07-13 | Finjan, Inc. | System and method for inspecting dynamically generated executable code |
US7774459B2 (en) * | 2006-03-01 | 2010-08-10 | Microsoft Corporation | Honey monkey network exploration |
US20080083012A1 (en) * | 2006-06-26 | 2008-04-03 | Dachuan Yu | Program instrumentation method and apparatus for constraining the behavior of embedded script in documents |
US8365286B2 (en) * | 2006-06-30 | 2013-01-29 | Sophos Plc | Method and system for classification of software using characteristics and combinations of such characteristics |
KR100789722B1 (ko) * | 2006-09-26 | 2008-01-02 | 한국정보보호진흥원 | 웹 기술을 사용하여 전파되는 악성코드 차단시스템 및 방법 |
US7865953B1 (en) * | 2007-05-31 | 2011-01-04 | Trend Micro Inc. | Methods and arrangement for active malicious web pages discovery |
US8201245B2 (en) * | 2007-12-05 | 2012-06-12 | International Business Machines Corporation | System, method and program product for detecting computer attacks |
US8272059B2 (en) * | 2008-05-28 | 2012-09-18 | International Business Machines Corporation | System and method for identification and blocking of malicious code for web browser script engines |
US7930744B2 (en) * | 2008-07-02 | 2011-04-19 | Check Point Software Technologies Ltd. | Methods for hooking applications to monitor and prevent execution of security-sensitive operations |
US20120222117A1 (en) * | 2009-09-02 | 2012-08-30 | Infotect Security Pte Ltd | Method and system for preventing transmission of malicious contents |
-
2008
- 2008-07-23 KR KR1020080071762A patent/KR101027928B1/ko not_active IP Right Cessation
-
2009
- 2009-03-25 US US12/410,636 patent/US8424090B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101157996B1 (ko) * | 2010-07-12 | 2012-06-25 | 엔에이치엔(주) | 자바스크립트의 소스 코드 보호를 위해 난독화를 하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
KR101277617B1 (ko) * | 2010-12-27 | 2013-07-30 | 주식회사 안랩 | 악성 스레드 실행 차단 장치 및 방법 |
KR101113249B1 (ko) * | 2011-09-16 | 2012-02-20 | 주식회사 이글루시큐리티 | 난독화된 데이터 해독방법 및 장치 |
WO2014105949A1 (en) * | 2012-12-28 | 2014-07-03 | Mandiant Corporation | System and method for the programmatic runtime de-obfuscation of obfuscated software utilizing virtual machine introspection and manipulation of virtual machine guest memory permissions |
US9459901B2 (en) | 2012-12-28 | 2016-10-04 | Fireeye, Inc. | System and method for the programmatic runtime de-obfuscation of obfuscated software utilizing virtual machine introspection and manipulation of virtual machine guest memory permissions |
US10380343B1 (en) | 2012-12-28 | 2019-08-13 | Fireeye, Inc. | System and method for programmatic runtime de-obfuscation of obfuscated software utilizing virtual machine introspection and manipulation of virtual machine guest memory permissions |
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 |
KR101503456B1 (ko) * | 2013-03-15 | 2015-03-24 | 에스케이텔레콤 주식회사 | 단말장치 및 단말장치의 동작 방법 |
WO2016048070A1 (ko) * | 2014-09-25 | 2016-03-31 | 주식회사 안랩 | 실행파일 복원 장치 및 방법 |
KR20160036752A (ko) | 2014-09-25 | 2016-04-05 | 주식회사 안랩 | 실행파일 복원 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20100024033A1 (en) | 2010-01-28 |
KR101027928B1 (ko) | 2011-04-12 |
US8424090B2 (en) | 2013-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101027928B1 (ko) | 난독화된 악성 웹페이지 탐지 방법 및 장치 | |
US10120997B2 (en) | Code instrumentation for runtime application self-protection | |
Carmony et al. | Extract Me If You Can: Abusing PDF Parsers in Malware Detectors. | |
CN109922052B (zh) | 一种结合多重特征的恶意url检测方法 | |
US9032516B2 (en) | System and method for detecting malicious script | |
CA2946695C (en) | Fraud detection network system and fraud detection method | |
US8499283B2 (en) | Detection of scripting-language-based exploits using parse tree transformation | |
KR101122650B1 (ko) | 정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법 | |
US20170316202A1 (en) | Rasp for scripting languages | |
WO2013026320A1 (zh) | 一种网页挂马检测方法及系统 | |
CN101964026A (zh) | 网页挂马检测方法和系统 | |
Schlumberger et al. | Jarhead analysis and detection of malicious java applets | |
CN109711163A (zh) | 基于api调用序列的安卓恶意软件检测方法 | |
US20140123283A1 (en) | Detection of heap spraying by flash with an actionscript emulator | |
CN113158197B (zh) | 一种基于主动iast的sql注入漏洞检测方法、系统 | |
CN111556036A (zh) | 一种网络钓鱼攻击的检测方法、装置及设备 | |
CN105245495A (zh) | 一种基于相似性匹配恶意shellcode快速检测方法 | |
US20140122052A1 (en) | Detection of jit spraying by flash with an actionscript emulator | |
CN101471781A (zh) | 一种脚本注入事件处理方法和系统 | |
Antunes et al. | Evaluating and improving penetration testing in web services | |
US20140123284A1 (en) | Unpacking javascript with an actionscript emulator | |
KR20120070018A (ko) | 후킹 기법을 이용한 난독화 자바 스크립트 자동해독 및 악성 웹 사이트 탐지 방법 | |
Kishore et al. | Browser JS Guard: Detects and defends against Malicious JavaScript injection based drive by download attacks | |
JP7439916B2 (ja) | 学習装置、検出装置、学習方法、検出方法、学習プログラムおよび検出プログラム | |
CN109299610A (zh) | 安卓系统中不安全敏感输入验证识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140326 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160328 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170412 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |