KR102147167B1 - 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램 - Google Patents

멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102147167B1
KR102147167B1 KR1020200001986A KR20200001986A KR102147167B1 KR 102147167 B1 KR102147167 B1 KR 102147167B1 KR 1020200001986 A KR1020200001986 A KR 1020200001986A KR 20200001986 A KR20200001986 A KR 20200001986A KR 102147167 B1 KR102147167 B1 KR 102147167B1
Authority
KR
South Korea
Prior art keywords
data
tor
domain
dark web
crawler
Prior art date
Application number
KR1020200001986A
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 KR1020200001986A priority Critical patent/KR102147167B1/ko
Application granted granted Critical
Publication of KR102147167B1 publication Critical patent/KR102147167B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 데이터 수집 장치가 멀티 도메인으로부터 데이터를 수집하는 방법에 대한 것으로, 적어도 하나 이상의 토어 노드 컨테이너를 포함하는 데이터 수집 장치가 데이터를 수집하는 방법에 있어서, 일반 웹 브라우저로 접근할 수 없고 미리 설정된 특정 소프트웨어를 이용하여 접근할 수 있으며, 네트워크 라우팅 기능을 수행하는 네트워크 노드를 적어도 하나 이상 무작위로 연결하여 채널이 형성되는 토어 네트워크에 속하는 다크웹 사이트로부터 분산 크롤러를 이용하여 데이터를 수집하는 A단계 및 수집된 데이터를 미리 설정된 포멧으로 정형화하고, 수집된 데이터에 대한 메타데이터를 생성하는 B단계를 포함하며, 상기 A단계는, 상기 다크웹 사이트의 도메인 정보를 수집하고, 상기 분산 크롤러의 크롤러 인스턴스의 상태를 파악하여, 크롤링을 완료한 크롤러 인스턴스에 대응되는 분산 크롤러에 상기 도메인 정보를 할당하는 단계 및 상기 토어 노드 컨테이너 각각은 상기 라우팅 기능을 수행하는 상기 토어 네트워크인 복수의 토어 클라이언트를 포함하고, 상기 토어 노드 컨테이너는 상기 분산 크롤러로부터 수신한 요청을 상기 복수의 토어 클라이언트에 분산하여 전송하는 단계를 포함하는 것을 특징으로 한다.

Description

멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM FOR COLLATING DATA IN MULTI DOMAIN}
본 발명은 데이터의 수집 및 가공 방법에 대한 것이다. 보다 구체적으로 본 발명은 일반적인 서페이스 웹 (surface web)은 물론 접속 권한이 필요한 인비저블 웹 (invisible web)을 포함하는 멀티도메인에서 임의의 객체에 대한 방대한 데이터를 수집하고 처리하는 시스템에 대한 것이다.
최근 인터넷 기술의 발달로 가상 세계를 기반으로 하는 정보가 넘쳐나고 있다, 그런데 일반 브라우저에서 검색 엔진을 통해 접근할 수 있는 웹사이트는 전체 Web 환경 중 빙산의 일각에 불과하다. 인터넷에 연결되어 있으나, 접속 권한이 필요한 딥 웹 (Deep web)은 물론, 일반 브라우저로는 접근할 수 없으며 특정 소프트웨어를 이용해야 접속할 수 있는 익명화된 다크 웹 (Dark web)이 바로 그것이다.
다크 웹은 암호화된 네트워크에 존재하며 일반 브라우저를 사용해서는 접속되지 않는 특정 부류의 웹사이트를 의미한다. 다크웹에 존재하는 많은 사이트는 토어(TOR, The Onion Network) 네트워크를 기반으로 한다. 2010년 이후 급격히 성장한 토어 네트워크는 사용자 익명성을 위한 기술이 적용된 네트워크로, 암호화폐와 결합하여 무기거래, 마약거래, 장기거래, 해킹툴 판매, 해킹 기술 공유, 개인 정보 거래, 음란물 판매 등 각종 불법 거래의 온상이 되고 있다.
토어 네트워크는 네트워크의 노드가 네트워크 라우터로 동작하며, 특정 노드의 주소 정보는 분산되어 네트워크의 다른 노드에 저장된다. 토어 브라우저는 다수의 노드를 무작위로 경유하여 목적지에 접속시키기 때문에, 토어 네트워크는 서비스 제공자와 이용자의 접속 경로 추적이 불가능한 특징이 있다.
한국 특허공보 10-1852107 (2018.4.25)
본 발명은 일반적인 서페이스 웹 (surface web)은 물론 접속 권한이 필요한 인비저블 웹 (invisible web)에서 임의의 객체에 대한 방대한 데이터를 수집하고 처리하는 방법을 제공하는 것을 목적으로 한다.
본 발명의 실시예를 따르는 데이터 수집 장치가 멀티 도메인으로부터 데이터를 수집하는 방법은, 검색 엔진을 통해 접근할 수 있는 일반 웹으로부터 데이터를 수집하는 A단계; 일반 웹 브라우저로 접근할 수 없고 미리 설정된 특정 소프트웨어를 이용하여 접근할 수 있는 다크웹 사이트로부터 데이터를 수집하는 B단계; 및 수집된 데이터를 미리 설정된 포멧으로 정형화하고, 수집된 데이터에 대한 메타데이터를 생성하는 C단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 인터넷 환경에서 일반 웹브라우저를 통해 접근할 수 있는 일반 데이터는 물론, 특수 브라우저를 통해 접근할 수 있는 특수 데이터를 수집할 수 있다. 나아가 본 발명에 따르면, 멀티 도메인을 기반으로 수집된 대량의 데이터를 처리하여 정보 연관성을 분석할 수 있는 효과가 있다.
도 1는 본 발명의 실시예를 따라 멀티 도메인에서 대량의 데이터를 수집하고 수집된 데이터의 관련성을 분석하는 시스템의 동작을 설명하기 위한 도면
도 2는 본 발명의 실시예를 따라 토어 네트워크에서 데이터를 수집하기 위한 장치의 구성을 설명하기 위한 도면
도 3은 본 발명의 실시예를 따라 토어 네트워크의 데이터를 수집하기 위한 과정을 설명하기 위한 도면
본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다.
한편, 첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다.
도 1는 본 발명의 실시예를 따라 멀티 도메인에서 대량의 데이터를 수집하고 수집된 데이터의 관련성을 분석하는 시스템의 동작을 설명하기 위한 도면이다.
본 발명의 실시예를 따르는 시스템은 도 1에 도시된 바와 같이 일반 데이터 수집 모듈 (110), 특수 데이터 수집 모듈 (120), 데이터베이스 (125), 데이터 처리 모듈 (130), 지식그래프 작성 모듈 (140) 을 포함할 수 있다.
일반 데이터 수집 모듈 (110)은 일반 웹 환경에 공개된 데이터를 수집하는 기능을 수행한다. 본 발명의 선호하는 실시예를 따르면, 일반 데이터 수집 모듈은 범죄 또는 위협과 관련된 정보의 소스에 가중치를 두어 데이터를 수집할 수 있다.
예를 들어 악성 코드, 음란물, 개인 정보 거래 등 불법 거래와 관련된 데이터를 수집하는 경우, 일반 데이터 수집 모듈 (110)은 불법거래와 관련된 일반 웹사이트에 기록된 이메일 계정, 해당 이메일 계정과 연결된 SNS 계정, 해당 SNS 계정의 게시물에 기록된 다른 이메일 계정 또는 상기 웹페이지, 상기 게시물에 기록된 비트코인 거래 주소 등을 수집하는 방식으로 불법 거래에 대한 정보 (119)를 수집할 수 있다. 수집된 정보는 후술되는 데이터 처리 모듈 (130) 및 지식 그래프 작성 모듈 (140)에서 정제되고, 의미 또는 관계가 추론될 것이다.
한편, 악성 코드 바이너리 데이터를 수집하는 경우를 고려할 수 있다. 종래의 보안 솔루션을 따르면, 클라이언트 디바이스에 보안 프로그램이 에이전트 형태로 설치되고, 디바이스에 악성 코드가 유입되면, 보안 프로그램이 악성 코드를 수집하는 방식을 따랐다.
그런데 최근의 악성 코드들은 소수의 특정 사용자들을 공격 대상으로 삼는 경우가 많기 때문에 종래와 같은 방식으로는 보안 프로그램이 모든 악성 코드를 수집하기 어려운 문제가 있다. 나아가 종래 방식을 따르면 사용자 디바이스 감염 후, 악성 코드 바이너리 데이터가 수집되는 문제가 있다.
따라서 본 발명은 상기와 같은 문제를 해결하기 위해 클라이언트가 악성 코드에 감염되기 전에 악성 소프트웨어를 탐지 및 수집하는 방법을 제공하는 것을 목적으로 한다. 이를 위해 본 발명의 실시예를 따르면, 일반 데이터 수집 모듈 (110) 및/또는 특수 데이터 수집 모듈 (120)에서 데이터 소스 (113) 및 시드 데이터 (116)를 수집하고, 이를 이용하여 악성 코드 배포 및/또는 제어 서버로부터 직접 악성 코드 바이너리 데이터 (119)를 수집할 수 있다.
보다 구체적으로, 일반 데이터 수집 모듈은 먼저 일반 웹환경에서 접근가능한 신뢰할 수 있는 데이터 소스의 목록 (113)을 작성할 수 있다. 상기 데이터 소스는 국내외 보안 업체, 보안 단체들이 운용하는 웹사이트, 블로그, 리포트 및 SNS 계정을 예시할 수 있다.
이후 일반 데이터 수집 모듈 (110)은 상기 데이터 소스의 목록에 해당하는 웹페이지에 존재하는 모든 URL 링크를 크롤링하며 악성 코드에 대한 시드 데이터 (116)를 수집할 수 있다.
악성 코드에 대한 시드 데이터는 크게 두가지로 분류될 수 있다.
제 1 시드 데이터는 위협 지표 (Indicator Of Compromise) 로, 네트워크나 디바이스의 운영체계에서 발견되는 사이버 침해 사고에 대한 지표 또는 증거로 활용되는 데이터를 의미한다. 본 발명의 실시예를 따르면 상기 제 1 시드 데이터를 통해 임의의 디바이스에 대한 악성 코드의 감염 여부를 확인할 수 있다.
제 2 시드 데이터는 Command & Control (C&C) 인프라스트럭처를 가지는 악성코드를 제어하는 제어 서버의 DNS에 관련된 데이터일 수 있다. C&C 구조의 악성 코드는 바이너리 내부에 제어 서버의 도메인 주소를 저장하거나 도메인 주소 생성 루틴을 포함하여, 도메인에 매핑된 IP 주소를 지속적으로 변경하는 방식으로 동작한다. 이러한 방식으로 악성 코드 제어 서버는 악성 코드 바이너리 파일의 재배포없이 C&C를 변경할 수 있도록 동작하는 것이다.
본 발명의 실시예를 따르는 제 1 시드 데이터는 악성 소프트웨어의 이름, 악성 소프트웨어의 해시값 (md5, sha1, sha256 등), 악성코드를 제어하는 Command & Control (C&C)의 IP 주소, 도메인 주소 및 도메인 주소의 생성 루틴, 악성 소프트웨어로부터 생성되는 파일의 이름 및 종류, 악성 소프트웨어의 소스 코드, 행위 및 악성 코드의 통신 메시지 상에서 발견되는 시그니처, 예를 들어 특유의 메시지 구조, 개발자 아이디, 코드 snippet의 재사용 로그 등을 예시할 수 있다. 본 발명의 실시예를 따르는 제 1 시드 데이터는 상기 예시 이외에도 임의의 악성 소프트웨어를 특정할 수 있는 모든 데이터를 포함할 수 있다.
제 1 시드 데이터의 수집을 위해 본 발명의 실시예를 따르는 일반 데이터 수집 모듈 (110)은 데이터 소스의 목록 (113)에 기록된 웹페이지에 존재하는 모든 URL 링크를 크롤링하며 정규 표현식으로 검색하여, 네트워크나 디바이스의 운영체계에서 발견되는 사이버 침해 사고에 대한 지표 또는 증거로 활용될 수 있는 데이터를 추출하고, 해당 정보가 게시된 날짜와 데이터 소스를 함께 기록하여 제 1 시드 데이터 (116)를 작성할 수 있다.
예를 들어, 악성 코드 Ranscam의 경우, 데이터 소스로 Cisco Talos 블로그 (https://blog.talosintelligence.com/2016/07/ranscam.html)를 예시할 수 있다. 일반 데이터 수집 모듈은 상기 블로그에서 Ranscam에 대한 제 1 시드 데이터를 추출할 수 있다.
예를 들어 크롤러는 Cisco Talos 블로그 (https://blog.talosintelligence.com/2016/07/ranscam.html)에서 Ranscam 소스 코드의 해시값인 SHA256 해시 함수, 악성 소프트웨어가 통신을 시도한 서버의 도메인 주소 및 IP 주소, 악성 소프트웨어가 생성한 파일의 이름, 도메인 등록자의 이메일 주소를 Ranscam의 위협 지표인 제 1 시드 데이터로 추출할 수 있다.
한편, 악성 코드 제어 서버의 DNS 정보에 대한 제 2 시드 데이터는 데이터 소스에서 수집한 도메인에 매핑되는 IP 주소를 모니터링하면서 공격자가 사용하는 IP 주소의 목록을 확보하는 방식으로 추출할 수 있다. 동일한 공격자가 새로운 악성 소프트웨어를 배포할 때 같거나 유사한 IP 주소 목록을 사용할 가능성이 높기 때문이다.
보다 구체적으로 상기 제 2 시드 데이터는 데이터 소스로부터 수동 (Passive) 수집 DNS 레플리케이션 (Replication) 정보를 수집하고, 제 1 시드 데이터에 포함된 C&C의 IP 주소 및 도메인 주소를 검색하고, 검색 결과를 바탕으로 도메인 정보를 추출하여 IP 주소, 도메인 주소, 도메인 등록자 정보, 등록 만료 날짜 등을 파싱하여 도메인 정보와 함께 저장하는 방식으로 작성할 수 있다.
이후 일반 데이터 수집 모듈 (110)은 악성 코드에 대한 제 1 시드 데이터 및 제 2 시드 데이터에서 획득한 새로운 IP 주소 및 도메인 주소를 이용하여 악성 코드 및 악성 코드에 접근하기 위한 URL 패스, 악성 코드 파일, 악성 코드 개발자 및 거래자에 대한 데이터 (119)를 수집할 수 있다.
예를 들어 악성 코드에 대한 데이터 소스, 즉 네트워크 보안 업체 또는 보안 단체들이 운용하는 DNS 정보 검색 서비스로부터 DNS 리플렉션 정보를 수집하고, 시드 데이터의 C&C IP 주소 및 도메인 주소를 검색하여 상기 DNS 리플레션 정보 및 C&C IP 주소, 도메인 주소에 기록된 다른 IP 링크를 확인하고, 트래버스할 링크가 더 이상 없을 때까지 트래킹하는 방식으로 악성코드까지 URL 패스를 생성하고, URL 패스에 따라 악성 코드 바이너리 파일에 대한 Raw 데이터 (119)를 획득할 수 있다.
이때 악성 코드 판매 사이트는 숨겨진 일반 웹이거나 또는 일반 브라우저로 접근할 수 없는 다크웹을 기반으로 할 수 있다. 다크웹에서 악성 코드가 거래되는 경우, 특수 데이터 수집 모듈 (120)에서 해당 판매 사이트 주소 및 악성 코드 파일을 획득할 수 있으며, 이에 대한 구체적인 내용은 특수 데이터 수집 모듈 (120)에 대한 설명에서 후술된다.
나아가 데이터 처리 모듈 (130)은 수집된 로데이터에서 유효하지 않거나 불필요한 정보를 필터링하기 위해 사전 처리를 수행하고, 수집된 데이터가 실제로 악성코드에 해당하는지 여부를 레이블링할 수 있다. 데이터처리 모듈 (130)의 동작은 후술된다.
한편, 일반 데이터 수집 모듈은, 해당 악성 코드에 대한 분석을 통해 또다른 판매 사이트 URL 정보를 획득할 수 있으며, 판매 사이트에 기록된 이메일 계정, 상기 이메일 계정과 연동된 SNS 계정을 통해 악성 코드의 개발자, 거래자를 추적할 수 있는 데이터 (119)를 획득할 수 있다.
이때 악성 코드에 대한 거래가 비트 코인을 통해 이루어진 경우, 특수 데이터 수집 모듈 (120)에서 비트 코드 거래 데이터를 획득할 수 있으며, 이에 대한 구체적인 내용은 특수 데이터 수집 모듈 (120)에 대한 설명에서 후술된다.
한편, 특수 데이터 수집 모듈 (120)은 별도의 접근 권한이 필요한 딥웹, 특정 브라우저로만 접속할 수 있는 다크웹 및/또는 최근 불법 거래의 거래 수단이 되고 있는 암호화폐 네트워크로부터 데이터를 수집하는 기능을 수행할 수 있다.
보다 구체적으로, 특수 데이터 수집 모듈 (120)은 접근 권한을 요구하는 딥웹의 경우, 음성적 커뮤니티, 해킹 포럼 등 관심 목록에 대한 데이터 소스 (113)를 미리 작성하고, 데이터 소스에 대한 접근 권한을 획득하고, 데이터 소스에서 검색의 기반이 되는 시드 데이터 (116)를 수집하고, 시드 데이터에 기록된 IP로부터, 연결된 다른 IP 링크를 확인하고, 트래버스할 링크가 더 이상 없을 때까지 트래킹하는 방식으로 범죄 및 위협 관련 보안 키워드를 포함한 딥웹 서버에 게시된 데이터 (119)를 수집할 수 있다.
그런데 다크웹의 경우, 일반적인 방법의 검색이나 크롤러를 네트워크에서 방어하고 있기 때문에 일반 검색 엔진을 활용할 수 없는 문제가 있다. 나아가 불법 거래의 수단인 암호화폐의 경우, 암호화 알고리즘과 피어투피어 네트워크를 사용하여 거래원장이 분산화되어 관리되기 때문에 다크웹 데이터와 마찬가지로 일반 검색 엔진을 활용하여 거래원장에 대한 데이터를 수집할 수 없으며, 거래 원장 데이터를 수집하기 위한 별도의 장치가 필요하다.
따라서 본 발명의 실시예를 따르는 데이터 수집 시스템 (120)은 다크웹의 데이터 (126)를 수집하기 위한 시스템 (200) 및 거래원장 데이터를 수집하기 위한 시스템을 구축할 수 있다.
도 2는 본 발명의 실시예를 따르는 다크웹 데이터 수집을 위한 시스템의 구성을 설명하기 위한 도면이다.
본 발명의 실시예를 따르는 다크웹 데이터 수집을 위한 시스템 (200)는 다크웹 도메인 처리 장치 (220), 다크웹 정보 처리 장치 (210) 및 다크웹 페이지 데이터베이스 (230)를 포함할 수 있으며, 다크웹 도메인 처리 장치 (220)에서 다크웹의 정보 수집의 대상이 되는 도메인이 결정되면 다크웹 정보 처리 장치 (210)는 해당 도메인으로부터 획득한 웹사이트의 모든 정보를 데이터베이스 (230)에 저장하는 기능을 수행할 수 있다.
보다 구체적으로, 본 발명의 실시예를 따르는 다크웹 도메인 처리 장치 (220)는 도메인 수집기 (222), 도메인 상태 추적기 (223), 도메인 데이터베이스 (224) 및 도메인 분배기 (225)를 포함할 수 있다.
본 발명의 실시예를 따르는 도메인 정보 수집기 (222)는 FreshOnions와 같은 토어 검색 엔진을 이용하여 도메인 주소를 수집하거나 또는 다크웹 도메인 색인 사이트에 기록된 정보를 참고하여 도메인 주소를 수집하고 도메인 데이터베이스 (224)에 저장할 수 있다.
한편, 토어 네트워크는 네트워크 우회와 익명화를 위해 사용되는 툴이며, 많은 온라인 블랙마켓들이 토어 네트워크의 도메인에 상주하고 있다. 이와 같은 블랙마켓은 추적의 가능성을 낮추기 위해 빈번하게 도메인 주소를 변경하며 웹사이트를 폐쇄하거나 폐쇄된 웹사이트를 다시 운영하는 특징이 있다.
따라서 본 발명의 실시예를 따르는 다크웹 도메인 처리 장치 (220)는 도메인 상태 추적기 (223)를 포함하며, 상기 도메인 상태 추적기 (223)는 수집된 도메인 주소의 상태를 미리 설정된 주기로 확인하는 기능을 수행할 수 있다.
예를 들어 도메인 상태 추적기 (223)는 토르의 STEM API를 이용하여 미리 설정된 주기로 수집된 도메인의 등록 여부를 확인하는 방식으로 도메인 주소 데이터베이스에 존재하는 도메인들의 상태 변경 정보를 확인할 수 있다. 즉, 수집된 도메인 주소의 폐쇄, 운영, 변경 여부에 대한 정보를 수집할 수 있으며, 도메인 데이터베이스 (224)는 도메인들의 상태 변경 데이터를 도메인 주소 데이터에 대한 메타데이터로 함께 저장할 수 있다.
나아가 본 발명의 실시예를 따르는 도메인 분배기 (225)는 도메인의 등록 상태를 참고하여 가장 최근에 등록이 확인된 도메인들부터 우선적으로 분산 크롤러 (215)에 분배하도록 동작할 수 있다. 이는 도메인이 빈번하게 변경되는 다크웹의 특성을 고려하여 데이터 수집에 소요되는 시간과 자원의 낭비를 최소화하기 위한 것이다.
보다 구체적으로, 본 발명의 실시예를 따르는 도메인 분배기 (225)는 도메인 상태 추적기 (223)에서 미리 파악한 도메인들의 등록 상태를 참고하여 가장 최근에 등록이 확인된 도메인들부터 우선적으로 분산 크롤러 (215)에 분배할 수 있다.
한편, 본 발명의 실시예를 따르는 도메인 분배기 (225)는 분산 크롤러 (215)의 각 크롤러 인스턴스의 상태를 파악하여, 크롤링을 완료한 크롤러 인스턴스에게 다음에 크롤할 도메인을 즉시 할당하는 기능을 수행할 수 있다. 이는 도메인들에 연결된 웹사이트들의 규모가 각기 다르고 토어 네트워크의 상태에 따라 크롤링에 소요되는 시간이 차이가 나기 때문이다. 따라서 본 발명의 실시예를 따라 도메인 분배기 (225)에서 동적으로 크롤러 인스턴스에 도메인을 할당하면, 분산 크롤러의 (215) 사용 효율 (utilization)을 극대화하여 최대한 적은 시간에 많은 데이터를 수집할 수 있는 효과가 있다.
한편, 대부분의 다크웹의 기반이 되는 토어 네트워크는 목적지까지 한번에 통신하지 않고, 중간에 토어 라우터를 실행하고 있는 클라이언트 노드를 여러 개 거쳐서 채널을 형성하는 구조를 이루고 있다. 따라서 일반 브라우저에 비해 통신 속도가 매우 느리다. 나아가 익명성을 보장하기 위하여 노드를 거칠 때마다 패킷이 암호화되기 때문에 패킷의 경로를 알아내기 위해서는 대부분의 노드를 장악해야 하는 특징이 있다.
이를 해결하기 위해서 본 발명의 실시예를 따르는 다크웹 데이터를 수집하기 위한 시스템 (200)은 다크웹 정보 처리 장치 (210)를 다수의 토어 노드를 운영하는 토어 프록시 미들박스 형태로 운영하는 특징이 있다. 이는 다크웹의 구조상 일반적인 크롤러는 동작하지 않기 때문에 다크웹 아키텍처를 구성하는 토어 노드를 직접 운영하여 데이터를 수집하기 위한 것이다.
나아가 본 발명의 실시예를 따르는 토어 프록시 미들박스 형태의 다크웹 정보 처리 장치 (210)는 적어도 하나 이상의 토어 노드 컨테이너 (212)를 구성하고, 토어 노드 컨테이너 (212)에 다수의 토어 클라이언트 노드 (213)를 운영하고, 각각의 노드에 네트워크 카드(NIC, 214) 및 웹 프록시 (216) 네트워크 기능을 제공할 수 있다.
또한 다수의 분산 크롤러 (215)를 병렬적으로 운영하고, 분산 크롤러 (215)의 동작에 따라 발생하는 대량의 다크웹 트래픽을 로드 밸런서 (217) 및 웹 프록시 (216)를 통해 직접 운영 중인 토어 클라이언트 노드 (213)에 할당할 수 있다.
토어 네트워크의 구조 및 느린 속도를 고려할 때, 토어 네트워크의 도메인에 접근하여 대량의 정보를 수집하는 처리를 수행하면 심각한 병목현상이 발생하는 문제점이 있다. 본 발명의 상기 아키텍처는 병목 현상없이 분산 크롤러 (215)에서 발생하는 모든 요청을 다크웹으로 전달하고 다크웹으로부터 온 응답을 분산 크롤러 (215)로 전달하기 위해 고안된 것이다.
보다 구체적으로, 다크웹 데이터 수집의 장애가 되는 첫번째 병목현상은 데이터 처리 장치, 즉 미들박스 (210)가 배치된 네트워크 환경으로 인해 발생할 수 있다. 예를 들어 미들박스 (210)에 네트워크를 제공하는 네트워크 장비의 성능이 충분하지 않거나, IP기반의 대역폭 제한 등 네트워크 정책으로 대역폭이 제한되는 경우, 병목현상이 발생할 것이다.
이를 해결하기 위해 본 발명의 실시예를 따르는 토어 프록시 미들박스 (210)는 하나의 물리적 서버에 다수의 네트워크 카드 (NIC, 214)를 배치하고 다수의 공인 IP를 할당하여 다크웹으로의 트래픽을 물리적으로 분산처리 할 수 있다. 트래픽을 분산 처리하기 위하여 미들박스는 다수의 토어 클라이언트 노드(213)를 포함하는 다수의 가상 토어 노드 컨테이너 (212)들을 운영할 수 있다.
이후 미들박스는 들어오는 다크웹 트래픽을 로드 밸런싱 (load balancing, 217)하여 각 토어 노드 컨테이너(212)로 전달하며, 각 토어 노드 컨테이너(212)는 각 네트워크 카드(NIC, 214)를 통해 다크웹으로 요청을 전달하도록 설정되어 물리적 병목현상을 해결할 수 있다.
다크웹 데이터 수집의 장애가 되는 두번째 병목현상은 토어 클라이언트 노드(213)가 다수의 요청을 병렬 처리할 때 발생할 수 있다. 하나의 토어 클라이언트 노드(213)를 통해 다크웹에 대한 분산 크롤러의 다수의 요청을 처리하게 되면, 부하가 발생하기 때문이다.
이를 해결하기 위해 본 발명의 실시예를 따르는 다크웹 정보 처리 장치(210)는 다수의 가상 토어 노드 컨테이너를 운영하고, 각각의 토어 노드 컨테이너는 다수의 토어 클라이언트 노드를 운영하는 구조로 구현할 수 있다. 이에 따르면 각 노터 노드 컨테이너는 전달받은 요청을 운영중인 다수의 토어 클라이언트 노드에게 분산 전달하여 토어 클라이언트 노드에서 발생하는 병목현상을 해결할 수 있는 효과가 있다.
도 3은 본 발명의 실시예를 따라 다크웹 데이터 수집을 위한 시스템 (200)에서 토어 네트워크의 데이터를 수집하는 과정을 설명하기 위한 도면이다.
본 발명의 실시예를 따르는 다크웹 데이터 수집 시스템 (200)는 먼저 토어 네트워크의 도메인 목록을 수집할 수 있다. (단계 330)
이를 위해 본 발명의 실시예를 따르는 다크웹 데이터 수집 시스템 (200)의 데이터 수집 장치 (200)는 Ahmia 및 FreshOnions와 같은 토어 검색 엔진 또는 다크웹 색인 사이트를 이용하여 도메인 주소를 수집할 수 있다.
나아가 수집된 도메인 주소를 시드로 하여 해당 주소에서 텍스트 컨텐츠를 크롤링하고, 다크웹 페이지에 포함된 링크를 따라 트래버스할 링크가 더 이상 없을 때까지 트래킹하는 방식으로 토어 네트워크의 도메인 주소를 수집할 수 있다.
단계 350에서 다크웹 데이터 수집 시스템 (200)은 수집된 도메인 주소의 상태를 미리 설정된 주기로 확인할 수 있다. 예를 들어 토르의 STEM API를 이용하여 해당 도메인이 운영되고 있는지 폐쇄되었는지 확인하거나, 또는 해당 도메인에서 운영하는 웹페이지의 내용이 추가, 삭제, 변경되었는지를 확인하고, 해당 도메인에 대한 메타데이터에 상태 변경 정보를 기록할 수 있다.
이후 다크웹 데이터 수집 시스템 (200)은 분산 크롤러 및 다수의 토어 노드를 운영하는 다수의 컨테이너를 구현하고, 수집된 도메인을 분산 크롤러에 할당할 수 있다. (단계 370)
보다 구체적으로, 본 발명의 실시예를 따르는 다크웹 데이터 수집 시스템 (200)은 미리 파악한 도메인들의 등록 상태를 참고하여 가장 최근에 등록이 확인된 도메인들부터 우선적으로 분산 크롤러에 할당하거나 또는 분산 크롤러를 구성하는 각 크롤러 인스턴스의 상태를 파악하여, 크롤링을 완료한 크롤러 인스턴스에 다음에 크롤할 도메인을 동적으로 할당할 수 있다.
이후 크롤러의 동작에 따라 발생하는 트래픽은 로드 밸런서를 통해 각 컨테이너로 전달되며, 각 컨테이너는 연결된 NIC를 통해 다크웹으로 요청을 전달하여, 크롤러는 해당 도메인에서 운영하는 다크웹 페이지 전체를 수집하고 이를 데이터베이스에 기록할 수 있다. (단계 390)
다시 도 1에 대한 설명으로 복귀하면, 특수 데이터 수집 모듈 (120)은 암호화폐 거래 데이터 수집 모듈을 포함할 수 있다.
암호화폐 거래 데이터 수집 모듈은 임의의 암호화폐에 대응되는 블록체인의 분산원장 정보를 수집하고 상기 분산원장 정보에서 추출한 블록체인 데이터를 정형화하는 기능을 수행할 수 있다.
보다 구체적으로 암호화폐 거래 데이터 수집 모듈은 하나 이상의 암호화폐 클라이언트를 운영하며, 이를 실행하여 블록체인의 분산원장 정보를 수집할 수 있다. 암호화폐 클라이언트의 실행 여부는 사용자 요청에 의해 이루어질 수 있다.
암호화폐 거래 데이터 수집 모듈은 암호화폐 클라이언트가 API를 제공하는 경우, 암호화폐 클라이언트의 API에 거래 정보를 요청하여 요청에 대응되는 분산원장 정보를 수집할 수 있다. 만약 암호화폐 클라이언트가 외부 API를 제공하지 않는 경우, 암호화폐 거래 데이터 수집 모듈은 암호화폐 클라이언트가 관리하는 블록데이터를 파싱하여 분산원장 정보를 수집할 수 있다.
수집된 분산 원장 정보는 데이터 처리 모듈 (130)에서 분석될 수 있다. 예를 들어 데이터 처리 모듈 (130)은 분산원장 정보에 포함된 암호화폐 주소들의 소유주 추정을 위해 상기 암호화폐 주소들을 그룹화할 수 있다.
암호화폐 주소의 그룹화에는 일 거래에 포함된 복수 개의 입력 주소를 그룹화하는 멀티입력 휴리스틱 알고리즘, 거래에 사용되는 프라이빗 키(private key)를 이용하여 동일 주소를 포함하는 복수의 그룹을 하나의 그룹으로 그룹화하는 그룹 통합 알고리즘, 송금 후 잔액을 돌려받는 주소를 이용하여 동일 소유주로 추정되는 복수개의 주소를 그룹화하는 주소변경 휴리스틱 알고리즘 중 적어도 하나가 사용될 수 있으며, 그 외에도 사용자가 정의한 휴리스틱 알고리즘이 사용될 수 있고, 사용자 명령에 의해 주소 필터링 및/또는 주소 그룹화가 이루어질 수도 있다.
한편, 도 1의 예에서 일반 데이터 수집 모듈 (110) 및 특수 데이터 수집 모듈 (120)의 동작으로 인하여 수집된 데이터베이스 (125)는 멀티 도메인으로부터 수집된 데이터로 비정형 상태일 수 있다. 따라서 대량의 비정제 데이터를 전처리하는 과정이 요구되며, 해당 기능은 데이터 처리 모듈 (130)에서 수행될 수 있다.
보다 구체적으로 본 발명의 실시예를 따르는 데이터 처리 모듈 (130)은 수집된 대량의 데이터를 유형별로 다른 기술을 적용하여 정보를 추출하고 가공하는 기능을 수행할 수 있으며, 데이터 분석 모듈 (133), 데이터 가공 모듈 (136), 메타 데이터 생성 모듈 (138)을 포함할 수 있다.
예를 들어 수집한 데이터가 정형, 비정형 문서인 경우, 데이터 분석 모듈(133)은 수집된 문서에 자연어처리 기술을 적용하여 의미를 파악하고 데이터 가공 모듈 (130)은 비정형 문서의 형태를 미리 설정된 포멧에 따라 정형화할 수 있다. 또 다른 예로 수집한 데이터가 이미지인 경우, 데이터 분석 모듈 (133)은 해당 파일의 이미지를 추출하고 이미지 프로세싱을 통해 이미지의 내용을 파악할 수 있다. 동시에 데이터 가공 모듈 (136)은 추출된 이미지에 OCR (Optical Character Recognition) 기술을 활용하여 텍스트를 추출하고 이를 미리 설정된 포멧에 따라 정형화할 수 있다. 나아가 메타 데이터 생성 모듈 (138)은 분석 대상 이미지의 작성자, 작성 시간, 소스 도메인 정보 등에 대한 메타데이터를 생성할 수 있다.
한편, 수집한 데이터가 실행 파일인 경우, 데이터 분석 모듈 (133)은 실행 파일의 내용을 분석하여 악성 코드인지 여부를 판단할 수 있으며, 데이터 가공 모듈 (136)은 해당 실행 파일이 수집된 도메인 정보를 기반으로 악성코드까지 접근하기 위한 복수의 URL 패스를 생성할 수 있다. 나아가 메타데이터 생성 모듈 (138)은 해당 악성 코드의 해시, 파일 종류, 각각의 URL 패스의 악성코드 접근 카운터 정보에 대한 메타 데이터를 생성할 수 있다.
이러한 데이터 처리는 지식 그래프 작성 모듈 (140)의 요청에 따라 수행될 수 있다. 즉, 데이터 가공 모듈 (136)은 지식 그래프의 포멧에 따라 지식 그래프에 기록될 수 있는 형태로 멀티 도메인에서 수집된 정보를 정형화하고, 데이터 분석 모듈 (133)은 지식 그래프를 기반으로 수집된 정보에서 객체를 추출할 수 있다.
예를 들어 수집한 데이터가 암호화폐 거래 기록, 즉 분산원장 정보인 경우, 데이터 분석 모듈(133)은 분산원장에 포함되지 않은 추가적인 정보를 획득하기 위하여 분산원장 정보를 분석할 수 있다. 예를 들어 수집된 분산원장 정보에 포함된 암호화폐 주소들의 소유주 추정을 위해 상기 암호화폐 주소들을 그룹화할 수 있다.
암호화폐 주소의 그룹화에는 일 거래에 포함된 복수 개의 입력 주소를 그룹화하는 멀티입력 휴리스틱 알고리즘, 거래에 사용되는 프라이빗 키(private key)를 이용하여 동일 주소를 포함하는 복수의 그룹을 하나의 그룹으로 그룹화하는 그룹 통합 알고리즘, 송금 후 잔액을 돌려받는 주소를 이용하여 동일 소유주로 추정되는 복수개의 주소를 그룹화하는 주소변경 휴리스틱 알고리즘 중 적어도 하나가 사용될 수 있으며, 그 외에도 사용자가 정의한 휴리스틱 알고리즘이 사용될 수 있고, 사용자 명령에 의해 주소 필터링 및/또는 주소 그룹화가 이루어질 수도 있다.
멀티 입력 휴리스틱 알고리즘은 하나의 거래에 복수개의 입력 주소와 복수개의 출력 주소(또는 대상 주소)가 사용될 수 있는 암호화폐의 거래 속성을 이용한 것이다. 하나의 거래에 입력 주소(public address) a, b, c가 포함된 경우 a, b, c는 동일한 소유주의 계좌일 가능성이 높다. 따라서 블록체인 데이터 분석 모듈(115)은 a, b, c를 소유주 X의 주소인 것으로 그룹핑할 수 있다.
그룹 통합 알고리즘은 소유주가 프라이빗 키를 소유해야 거래 입력을 생성할 수 있다는 점을 이용한 것으로, 입력 주소 a, b, c가 포함된 거래 1과 입력 주소 c, d, e가 포함된 거래 2가 존재하는 경우, a, b, c, d, e의 소유주가 동일한 것으로 추정할 수 있다. 따라서 이 경우, 데이터 분석 모듈(133)은 주소 a, b, c, d, e를 소유주 X의 주소로 그룹핑할 수 있다.
주소 변경 휴리스틱 알고리즘은 암호화폐 거래가 이루어질 때마다 잔액을 돌려받기 위한 주소가 새롭게 생성되는 특징을 이용한 것이다. 예를 들어 주소 a에 10 UTXO(unspent transaction output)를 소유한 X가 Y에게 8 UTXO를 송금 할 때, X에게는 새로운 주소 a'가 생성되고, a'로 잔액인 2 UTXO가 입금될 수 있다. 따라서 블록체인 데이터 분석 모듈(115)은 a와 a'를 동일 소유주의 것으로 판단할 수 있으며, a와 a'는 소유주 X의 주소로 그룹핑될 수 있다.
데이터 가공 모듈(136)은 분산원장 정보 및 상기 데이터 분석 모듈에서 분석한 암호화폐 주소 그룹 정보를 포함하는 블록체인 데이터를 미리 설정된 기준에 따라 정형화할 수 있다. 분산원장 정보에는 블록 생성 시간, 입/출력 금액, 거래 수수료, 이전 블록, 다음 블록 등의 암호화폐 블록 데이터, 거래량, 수수료, 입/출력 암호화폐 주소 등의 블록 내 거래 정보가 포함될 수 있으며 이는 메타데이터 (138)로 관리될 수 있다. 따라서 정형화된 블록체인 데이터에는 다양한 암호화폐의 분산원장 정보에 포함된 암호화폐 블록 데이터와 블록 내 거래 정보들이 포함될 수 있으며, 암호화폐의 종류와 데이터 분석 모듈(133)에서 분석한 암호화폐 주소 그룹 정보가 포함될 수 있다.
한편, 도 1의 예에서 지식기반 그래프 모듈 (140)은 정제된 데이터를 지식 그래프의 형태로 구축하여 객체들 사이의 관계, 연관성을 파악하는 기능을 수행할 수 있다. 지식 기반 그래프는 노드와 엣지로 구성될 수 있다.
보다 구체적으로, KB 그래프 모듈 (140)은 지식 그래프에서 노드로 동작하는 객체에 대한 모델을 미리 작성할 수 있으며, 본 발명의 실시예를 따르는 노드 모델은 컨셉과 인스턴스로 구분되어 트리 형태로 작성될 수 있으며, 예를 들어 전술한 시드 데이터, DNS, 악성코드, 비트코인 거래 주소 등에 대한 데이터 각각을 의미할 수 있다., 레이블을 이용하여 해당 노드의 세부 정보를 인덱싱할 수 있다.
상기 노드 모델은 사람, 직업, 장소, 나라, 회사 등 글로벌 도메인에 대해 작성되거나 또는 취약점, 프로덕트, 사이버 공격 등 특정 도메인에 대해 작성될 수도 있다. 이때 그래프 작성 모듈 (140)은 서로 다른 종류의 데이터를 구분하기 위하여 노드에 레이블을 설정할 수 있다. 상기 레이블은 노드의 속성 정보를 포함할 수 있다.
나아가 KB 그래프 모듈 (140)은 지식 그래프의 노드 사이의 관계를 설명하는 엣지의 내용을 기록할 수 있다. 엣지는 노드 객체 사이의 연관성을 나타낼 수 있다. 이때 모든 엣지는 방향성을 포함하며, 연관성의 종류에 따라 엣지에 레이블을 설정할 수 있다.
나아가 KB 그래프 모듈 (140)은 지식 그래프를 확장하기 위하여 멀티 도메인에서 수집된 데이터베이스 (125)를 활용할 수 있다. 예를 들어, 그래프 작성 모듈 (140)은 데이터 처리 모듈 (130)에 요청하여 데이터베이스에 기록된 정보를 자연어 처리 기술을 적용하여 문장 구조를 파악하고, 문장에 포함된 객체들의 관계를 확인할 수 있다.
KB 그래프 모듈 (140)은 이를 기반으로 데이터 처리 모듈 (130)에 요청하여 수집된 데이터로부터 객체 및/또는 객체들의 관계에 대한 정보를 추출하고 이를 지식 그래프에 노드 또는 엣지 형태로 추가하여 텍소노미 그래프 (Taxonomy Graph)를 확장하거나, 미리 작성된 지식 그래프에 매핑되는 엔터티 그래프 (Entity Graph)를 작성할 수 있다.
나아가 KB 그래프 모듈 (140)은 KB 그래프를 기반으로 개체들의 관련성을 분석하거나 임의의 이벤트를 예측할 수 있다.
예를 들어 KB 그래프 모듈 (140)은 KB 그래프를 다중 레이어로 구성할 수 있다. 예를 들어, 암호화폐 거래 기록의 경우, 그래프 작성 모듈 (140)은 데이터 처리 모듈 (130)에서 프로세싱한 정형화된 블록체인 데이터를 이용하여 암호화폐 거래에 대한 제 1 지식 그래프를 구축하고, 정형화된 멀티 도메인 데이터를 이용하여 예를 들어 악성코드 거래에 대한 제 2 지식 그래프를 구축하고, 상기 제 1 지식 그래프와 제 2 지식 그래프를 매핑하여 다중 레이어 기반 거래 분석 지식 그래프를 생성할 수 있다.
이때 제 1 지식 그래프인 암호화폐 네트워크 그래프는 정형화된 블록체인 데이터에서 추출한 제1 객체 또는 제1 속성으로 제1 노드를 생성하고, 각 노드 관 관계(edge)를 이용하여 암호화폐 네트워크 그래프를 구축할 수 있다. 예를 들어, 암호화폐 입력 주소(객체 노드)-전송 금액(에지)-암호화폐 출력 주소(객체 노드)와 같은 네트워크 그래프나, 그룹 정보가 반영된 소유주 X(객체 노드)-전송 금액(에지)-랜섬웨어(속성 노드)와 같은 네트워크 그래프가 생성될 수 있다.
나아가 지식 그래프 생성 모듈(153)은 정형화된 멀티도메인 데이터에서 추출한 제2 객체 또는 제2 속성으로 제2 노드를 생성하고, 각 노드 관 관계(edge)를 이용하여 제 2 지식 그래프를 구축할 수 있다. 예를 들어, 지식 그래프 생성 모듈(153)은 웹페이지에서 추출한 프로필 데이터를 이용하여 사용자 아이디(객체 노드)-소유(에지)-암호화폐 주소(객체 노드)와 같은 노드 및 에지를 생성할 수 있으며, 웹페이지에서 추출한 판매 데이터를 이용하여 암호화폐 주소(객체 노드)-입금(에지)-제품(객체 노드)와 같은 노드 및 에지를 생성함으로써 제 2 지식 그래프를 구축할 수 있다. 제 2 지식 그래프 역시 암호화폐 거래 기록에 대한 제 1 지식 그래프와 같이 하나 이상의 레이어에 표시되어 멀티 레이어 구조를 가질 수 있다. 레이어 별 지식 그래프는 서로 다른 카테고리에 속한 것일 수 있다.
지식 그래프 작성 모듈 (140)은 서로 상응하는 제1 노드와 제2 노드를 맵핑하여 거래 분석 지식 그래프를 생성할 수 있다. 예를 들어, 암호화폐 네트워크 그래프의 제 1 레이어에 포함된 노드(A)가 주소 a에 대응되고, 노드(B)가 주소 b에 대응되며 두 주소는 동일 그룹에 속하는 관계이며, 지식 그래프의 레이어 #1에 포함된 노드(C)가 암호화폐 주소 b인 경우를 고려할 수 있다.
노드 (B)와 노드(C)는 동일 정보를 포함하므로 상호 맵핑될 수 있다. 즉, 지식 그래프는 암호화폐 거래 기록에 대한 제 1 지식 그래와 제 2 지식 그래프의 노드들이 상호 맵핑된 다중 레이어 구조를 가질 수 있으며, 따라서 거래 분석 지식 그래프를 이용하면, 암호화폐 네트워크에 대한 제 1 지식 그래프의 구성요소를 제 2 지식 그래프의 구성요소를 통해 해석하는 작업이 가능하다. 예를 들어, 노드(C)가 사용자 ID를 나타내는 노드 (D)와 소유자 엣지로 연결되어 있다면, 주소 a와 b의 소유주는 노드 (D)에 대응되는 사용자 ID를 갖는 사람이라고 추론할 수 있는 것이다.
본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (6)

  1. 복수의 토어 클라이언트 노드를 포함하는 토어 노드 컨테이너를 적어도 하나 이상 포함하는 데이터 수집 장치의 동작 방법에 있어서,
    토어 검색 엔진 또는 다크웹 도메인 색인 사이트에 기록된 정보를 참조하여, 암호화된 네트워크에 존재하는 다크웹의 도메인 주소를 수집하는 단계;
    상기 수집된 도메인 주소의 상태를 미리 설정된 주기로 확인하고, 상기 수집된 도메인 주소에 대한 상태 변경 정보를 포함하는 메타 데이터를 생성하는 단계;
    분산 크롤러를 구성하는 크롤러 인스턴스 중, 크롤링을 완료한 크롤러 인스턴스에게 크롤할 도메인 주소를 할당하는 단계; 및
    상기 크롤할 도메인 주소가 할당되면, 상기 분산 크롤러의 동작에 따라 발생되는 다크웹 트래픽을 상기 토어 노드 컨테이너로 전달하고, 상기 토어 노드 컨테이너는 복수의 네트워크 카드를 통해 상기 다크웹 트래픽을 상기 복수의 토어 클라이언트 노드에 분산하여 전달하는 단계; 및
    상기 복수의 토어 클라이언트 노드에 상기 다크웹 트래픽이 분산되어 전달되면, 상기 토어 노드 컨테이너는 연결된 네트워크 카드를 통해 상기 다크웹으로 다크웹 페이지 수집 요청을 전달하고, 상기 분산 크롤러는 상기 수집된 도메인 주소에서 운영하는 다크웹 페이지를 수집하는 단계를 포함하는 데이터 수집 장치의 동작 방법.
  2. 제 1항에 있어서,
    상기 수집된 도메인 주소로부터, 지식 그래프의 데이터 포맷에 따라 상기 지식 그래프에 기록될 수 있는 형태로 정형화된 데이터를 생성하는 단계; 및
    상기 지식 그래프를 기초로, 상기 정형화된 데이터에서 범죄 추적에 이용될 수 있는 객체들을 추출하고, 상기 객체들 사이의 관계로부터 범죄를 추적하는 단계를 더 포함하는 데이터 수집 장치의 동작 방법.
  3. 제 1항에 있어서, 상기 다크웹의 도메인 주소를 수집하는 단계 이전에,
    악성 코드에 대한 신뢰성 있는 정보가 기록된 일반 웹환경에서 접근할 수 있는 일반 데이터 소스의 목록을 작성하는 단계;
    상기 일반 데이터 소스의 목록에 해당하는 웹페이지에 존재하는 URL 링크를 크롤링하여, 상기 다크웹의 도메인 주소를 수집하는데 기초가 되는 시드 데이터를 수집하는 단계; 및
    상기 시드 데이터로부터, 상기 시드 데이터로부터 획득한 도메인 정보 또는 새로운 IP 주소 정보를 연결하여 특정 악성 코드에 접근하기 위한 URL 패스를 적어도 하나 이상 생성하는 단계를 더 포함하는 데이터 수집 장치의 동작 방법.
  4. 제 1 항에 있어서, 상기 메타 데이터를 생성하는 단계는,
    미리 설정된 주기로 수집된 도메인 주소의 폐쇄, 운영 또는 변경 여부에 대한 상기 상태 변경 정보를 수집하는 단계; 및
    상기 상태 변경 정보에서 가장 최근에 등록이 확인된 도메인부터 우선하여 상기 분산 크롤러에 할당하는 단계를 포함하는 것을 특징으로 하는 데이터 수집 장치의 동작 방법.
  5. 제 4항에 있어서, 상기 분산 크롤러에 할당하는 단계는,
    상기 토어 노드 컨테이너에 상기 복수의 네트워크 카드를 설정하는 단계;
    상기 분산 크롤러의 동작에 따라 발생하는 대량의 다크웹 트래픽을 로드 밸런싱 기능 및 웹 프록시 기능을 통해 상기 복수의 토어 클라이언트 노드에 할당하는 단계를 포함하는 것을 특징으로 하는 데이터 수집 장치의 동작 방법.
  6. 삭제
KR1020200001986A 2020-01-07 2020-01-07 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램 KR102147167B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200001986A KR102147167B1 (ko) 2020-01-07 2020-01-07 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200001986A KR102147167B1 (ko) 2020-01-07 2020-01-07 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190019087 Division 2019-02-19 2019-02-19

Publications (1)

Publication Number Publication Date
KR102147167B1 true KR102147167B1 (ko) 2020-08-24

Family

ID=72235141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200001986A KR102147167B1 (ko) 2020-01-07 2020-01-07 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102147167B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102257139B1 (ko) * 2020-12-18 2021-05-27 한국인터넷진흥원 다크웹 정보 수집 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100875636B1 (ko) * 2007-09-19 2008-12-26 한국과학기술정보연구원 그리드 컴퓨팅 기반 웹 크롤러 시스템 및 그 방법
US20110087646A1 (en) * 2009-10-08 2011-04-14 Nilesh Dalvi Method and System for Form-Filling Crawl and Associating Rich Keywords
KR101803225B1 (ko) * 2017-02-03 2017-12-28 국방과학연구소 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법
KR101852107B1 (ko) 2017-11-22 2018-04-25 (주)유니스소프트 다크웹 범죄정보 분석 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100875636B1 (ko) * 2007-09-19 2008-12-26 한국과학기술정보연구원 그리드 컴퓨팅 기반 웹 크롤러 시스템 및 그 방법
US20110087646A1 (en) * 2009-10-08 2011-04-14 Nilesh Dalvi Method and System for Form-Filling Crawl and Associating Rich Keywords
KR101803225B1 (ko) * 2017-02-03 2017-12-28 국방과학연구소 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법
KR101852107B1 (ko) 2017-11-22 2018-04-25 (주)유니스소프트 다크웹 범죄정보 분석 시스템 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102257139B1 (ko) * 2020-12-18 2021-05-27 한국인터넷진흥원 다크웹 정보 수집 방법 및 장치
US11301522B1 (en) 2020-12-18 2022-04-12 Korea Internet & Security Agency Method and apparatus for collecting information regarding dark web
US11797617B2 (en) 2020-12-18 2023-10-24 Korea Internet & Security Agency Method and apparatus for collecting information regarding dark web

Similar Documents

Publication Publication Date Title
US11790016B2 (en) Method, device and computer program for collecting data from multi-domain
US11757945B2 (en) Collaborative database and reputation management in adversarial information environments
US10560471B2 (en) Detecting web exploit kits by tree-based structural similarity search
US9015846B2 (en) Information system security based on threat vectors
KR102079970B1 (ko) 지식 그래프를 이용하여 사이버 시큐리티를 제공하는 방법, 장치 및 컴퓨터 프로그램
Afzaliseresht et al. From logs to stories: human-centred data mining for cyber threat intelligence
US11968239B2 (en) System and method for detection and mitigation of data source compromises in adversarial information environments
Sardar et al. Detection and confirmation of web robot requests for cleaning the voluminous web log data
KR102147167B1 (ko) 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램
Taloba et al. Prediction of data threats over web medium using advanced blockchain based information security with crypto strategies
Liu et al. A research and analysis method of open source threat intelligence data
Nair et al. A tool to extract onion links from Tor hidden services and identify illegal activities
CN114500122B (zh) 一种基于多源数据融合的特定网络行为分析方法和系统
Ruiz Ródenas et al. A general and modular framework for dark web analysis
Swarnkar et al. Security issues and challenges in big data analytics in distributed environment
KR20200061812A (ko) 브라우저 모사를 이용한 딥웹 분석 시스템 및 그 분석 방법
Ponmaniraj et al. Intrusion Detection: Spider Content Analysis to Identify Image-Based Bogus URL Navigation
Stoddard et al. Tanium reveal: a federated search engine for querying unstructured file data on large enterprise networks
Boyapati et al. Anti-phishing approaches in the era of the internet of things
KR102272018B1 (ko) 딥웹 환경에서의 네트워크 트래픽 상관도 분석을 이용한 악성코드 분석 시스템 및 그 방법
Hu et al. Method for Cyber Threats Detection and Identification in Modern Cloud Services
Bergman et al. Recognition of tor malware and onion services
Paz et al. Comparison of DNS Based Methods for Detecting Malicious Domains
Sharma et al. Scoring Algorithm Identifying Anomalous Behavior in Enterprise Network
Husák et al. On the Provision of Network-Wide Cyber Situational Awareness via Graph-Based Analytics

Legal Events

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