KR102043508B1 - Apparatus, method for analysing tor service based on distributed processing, and computer readable recording medium - Google Patents

Apparatus, method for analysing tor service based on distributed processing, and computer readable recording medium Download PDF

Info

Publication number
KR102043508B1
KR102043508B1 KR1020170151993A KR20170151993A KR102043508B1 KR 102043508 B1 KR102043508 B1 KR 102043508B1 KR 1020170151993 A KR1020170151993 A KR 1020170151993A KR 20170151993 A KR20170151993 A KR 20170151993A KR 102043508 B1 KR102043508 B1 KR 102043508B1
Authority
KR
South Korea
Prior art keywords
service
tor
address
information
hidden
Prior art date
Application number
KR1020170151993A
Other languages
Korean (ko)
Other versions
KR20190055366A (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 KR1020170151993A priority Critical patent/KR102043508B1/en
Publication of KR20190055366A publication Critical patent/KR20190055366A/en
Application granted granted Critical
Publication of KR102043508B1 publication Critical patent/KR102043508B1/en

Links

Images

Classifications

    • 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]
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/1002

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

통신망을 통해 토르 서비스 제공 장치와 통신하여, 토르 서비스를 분석하는 제어 장치가 제공된다. 본 발명에 따른 토르 서비스 분석 제어 장치는 상기 통신망을 통해 상기 토르 서비스 제공 장치와 통신하도록 구성되는 통신부; 상기 통신부를 통하여, 외부의 복수의 수집장치가 상기 토르 서비스 제공 장치를 크롤링한 정보를 상기 외부의 복수의 수집장치로부터 수신하여 저장하도록 구성된 저장부; 및 상기 토르 서비스의 도메인을 검색하여 상기 토르 서비스 제공 장치의 주소 정보를 생성하고, 상기 주소 정보 중 적어도 일부를 상기 외부의 복수의 수집장치로 전송하도록 구성된 제어부를 포함할 수 있다.A control device is provided for communicating with a tor service providing device through a communication network to analyze a tor service. Tor service analysis control device according to the present invention comprises a communication unit configured to communicate with the tor service providing device through the communication network; A storage unit configured to receive and store, from the plurality of external collection devices, information that the plurality of external collection devices crawled the tor service providing device through the communication unit; And a controller configured to search for a domain of the tor service, generate address information of the tor service providing device, and transmit at least a portion of the address information to the plurality of external collection devices.

Description

분산처리를 사용한 토르 서비스 분석 방법, 장치 및 컴퓨터 판독가능 기록 매체{APPARATUS, METHOD FOR ANALYSING TOR SERVICE BASED ON DISTRIBUTED PROCESSING, AND COMPUTER READABLE RECORDING MEDIUM}Methods, devices, and computer-readable recording media for Thor service analysis using distributed processing {APPARATUS, METHOD FOR ANALYSING TOR SERVICE BASED ON DISTRIBUTED PROCESSING, AND COMPUTER READABLE RECORDING MEDIUM}

본 발명은, 숨겨진 서비스를 검색하는 방법에 관한 것이며, 보다 구체적으로는 분산처리를 사용하여 토르 숨겨진 서비스를 검색하는 방법 및 장치 등에 관한 것이다.The present invention relates to a method of searching for hidden services, and more particularly, to a method and apparatus for searching for Thor hidden services using distributed processing.

숨겨진 서비스란 익명 통신을 지원하는 Tor 프로그램을 사용해 Tor를 통한 인바운드 연결을 수신하도록 구성 된 웹사이트 및 서버를 의미한다. 숨겨진 서비스들은 서버의 IP 주소를 드러내지 않고 영문과 숫자로 이루어진 무질서한 16개의 문자열로 구성된 onion address라는 특수한 주소를 사용한다. 숨겨진 서비스들은 서버의 IP 주소를 드러내지않고, 익명 통신을 사용하는 Tor 네트워크를 사용함으로써 높은 익명성을 갖는다. 이러한 익명성 덕분에 숨겨진 서비스는 국가로부터 탄압받는 인권 운동가들이나 자유를 추구하는 언론인들이 자유롭게 활동하기 위한 인터넷 공간으로 활용되었다. Hidden services are websites and servers that are configured to receive inbound connections through Tor using Tor programs that support anonymous communication. Hidden services do not reveal the server's IP address, but instead use a special address called onion address, which consists of 16 chaotic strings of alphanumeric characters. Hidden services do not reveal the server's IP address, and have high anonymity by using the Tor network, which uses anonymous communication. Thanks to this anonymity, hidden services have been used as Internet spaces for free movement by state-run human rights activists and journalists seeking freedom.

하지만 최근 그 익명성을 악용하여 총기, 마약, 아동 포르노 등 국가에서 법적으로 금지하는 물품들을 거래하기 위한 공간으로써 숨겨진 서비스들이 이용되고 있다. 선행 연구에서는 많은 접속 요청을 받은 숨겨진 서비스들의 컨텐츠를 분석한 결과, 성인 컨텐츠와 마약, 무기 거래 등이 인기 컨텐츠로 발견되고 이러한 Tor의 불법적인 서비스들에 대한 분석과 실태 파악을 위해서 많은 연구가 이루어져 왔다. Recently, however, hidden services have been used as a space for trading goods that are legally prohibited in the country, such as firearms, drugs, and child pornography, by exploiting their anonymity. In the previous study, the contents of hidden services that received a lot of requests were analyzed. As a result, adult contents, drugs, and weapons transactions were found as popular contents, and many studies were conducted to analyze and analyze the illegal services of Tor. come.

Tor의 분석을 위해서는 Tor 브라우저를 사용하거나 Proxy 프로그램과 소켓 통신을 사용하는 등의 특수한 방법이 요구된다. Tor는 익명성을 위한 특수한 구조로 인해 TCP 수준에서 다르게 작동하고 소켓 연결을 사용하는 등 일반적인 웹 크롤러 등을 통한 서비스 분석에 기술적 문제가 존재하기 때문이다. Tor의 등장 초기에는 Tor의 패킷과 프로토콜을 분석하는 방식의 Tor 네트워크 대역 내 탐색 방식으로 숨겨진 서비스들에 대한 분석이 진행 되었다. 이러한 방식의 대역 내 탐색을 통한 연구는 Tor에 대한 정보를 얻는데 많은 자원과 시간이 소모된다.Tor's analysis requires special methods, such as using the Tor browser or using socket communication with a Proxy program. Tor's special structure for anonymity causes technical problems in analyzing services through common web crawlers, such as behaving differently at the TCP level and using socket connections. In the early days of Tor's emergence, the analysis of hidden services was conducted by searching in the Tor network band by analyzing Tor's packets and protocols. In-band search in this manner consumes a lot of resources and time to obtain information about Tor.

2008년 이후, tor2web project를 통해서 Tor의 숨겨진 서비스들 일부가 일반 네트워크에서 접근할 수 있게 되었고, tor2web을 통해 일반 네트워크에서 접근할 수 있는 숨겨진 서비스의 수가 늘어났다. 이 결과를 기반으로 Tor 네트워크에 대한 새로운 탐색 방법인 대역 외 탐색이 제안되었다. 대역 외 탐색은 Tor 네트워크 대역 외인 일반 네트워크에서 Tor에 대한 탐색을 시도한다. 대역 외 탐색 방식은 일반 네트워크에서도 검색을 통해 노출되는 숨겨진 서비스들의 주소를 수집하여 Tor의 숨겨진 서비스들을 발견하고 분석한다. 일반 네트워크에서 도 Tor 네트워크에 대한 접근이 가능해짐에 따라 대역외 탐색은 이전 연구보다 더 적은 자원과 시간으로 Tor 네트워크에 대한 정보를 얻을 수 있게 한다.Since 2008, the tor2web project has allowed some of Tor's hidden services to be accessed from the public network, and tor2web has increased the number of hidden services accessible from the public network. Based on these results, a new out-of-band search is proposed for the Tor network. Out-of-band discovery attempts to discover Tor in a normal network outside of the Tor network band. The out-of-band discovery method discovers and analyzes Tor's hidden services by collecting the addresses of hidden services that are exposed through search in a general network. As access to the Tor network is also possible in the general network, out-of-band discovery can provide information about the Tor network with less resources and time than previous studies.

그러나, 이러한 웹 페이지 수집기(Scrapy, Heritrix, Apache Nutch 등)를 이용한 대역외 탐색은 Tor 를 사용해 숨겨진 서비스 페이지에 접근하는 방법으로 Privoxy, Polipo 등의 별도의 프록시 프로그램의 설정과 Tor 프로그램을 통해서 접근해야 한다는 어려움이 존재한다. 사용한 프록시 프로그램과 시스템의 종류에 따라서 크롤링 방법이 달라지고 수집기 사용을 위한 환경 구성에 많은 자원이 소모되게 된다. However, out-of-band browsing using these web page collectors (Scrapy, Heritrix, Apache Nutch, etc.) requires access to hidden service pages using Tor, through the configuration of separate proxy programs such as Privoxy and Polipo, and through Tor programs. There is a difficulty. Depending on the type of proxy program and system used, the crawling method is different and a lot of resources are required to configure the environment for using the Collector.

이러한 기술적 한계로 인하여 Tor 네트워크는 클라이언트의 익명성을 위해 여러 번 우회하여 통신하는 만큼 한 개의 숨겨진 서비스에 접근하여 페이지를 크롤링하는데 많은 시간이 걸리고, Privoxy, Polipo 등의 별도의 프록시 프로그램의 설정과 Tor 프로그램을 통해서 접근해야 하기 때문에 분산처리를 통한 크롤링이 어렵다는 문제점이 있다.Due to these technical limitations, the Tor network takes a lot of time to crawl a page by accessing a single hidden service as it communicates by bypassing the client several times for anonymity, and it is possible to configure a separate proxy program such as Privoxy, Polipo, and Tor. There is a problem that crawling through distributed processing is difficult because it must be accessed through a program.

대한민국 특허등록번호 제10-1469010호Republic of Korea Patent Registration No. 10-1469010 대한민국 특허등록번호 제10-1620957호Republic of Korea Patent Registration No. 10-1620957

따라서, 프록시 프로그램을 사용하지 않고 Tor 브라우저를 사용하여 직접 숨겨진 서비스 페이지에 접근하는 방법 및 장치가 필요로 된다. Therefore, there is a need for a method and apparatus for directly accessing a hidden service page using a Tor browser without using a proxy program.

또한, 숨겨진 서비스 주소 집합을 몇 개의 묶음으로 나누어 여러 대의 컴퓨터를 통해서 분산 방식으로 크롤링하는 방법 및 장치가 필요로 된다.In addition, there is a need for a method and apparatus for dividing a set of hidden service addresses into several bundles and crawling them through multiple computers in a distributed manner.

본 발명의 일 특징에 의하면, 통신망을 통해 토르 서비스 제공 장치와 통신하여, 토르 서비스를 분석하는 제어장치가 제공된다. 상기 장치는 상기 통신망을 통해 상기 토르 서비스 제공 장치와 통신하도록 구성되는 통신부; 상기 통신부를 통하여, 외부의 복수의 수집장치가 상기 토르 서비스 제공 장치를 크롤링한 정보를 상기 외부의 복수의 수집장치로부터 수신하여 저장하도록 구성된 저장부; 및 상기 토르 서비스의 도메인을 검색하여 상기 토르 서비스 제공 장치의 주소 정보를 생성하고, 상기 주소 정보 중 적어도 일부를 상기 외부의 복수의 수집장치로 전송하도록 구성된 제어부를 포함할 수 있다. According to an aspect of the present invention, there is provided a control device for communicating with a tor service providing device through a communication network, to analyze the tor service. The apparatus includes a communication unit configured to communicate with the tor service providing apparatus through the communication network; A storage unit configured to receive and store, from the plurality of external collection devices, information that the plurality of external collection devices crawled the tor service providing device through the communication unit; And a controller configured to search for a domain of the tor service, generate address information of the tor service providing device, and transmit at least a portion of the address information to the plurality of external collection devices.

일 실시예에 있어서, 상기 제어부는 외부의 검색엔진을 통해 상기 토르 서비스의 도메인의 최상위 도메인을 검색하고, 검색 결과에서 상기 최상위 도메인의 문자열을 수집하여 주소 집합을 검색하도록 구성되고, 상기 제어부는 최상위 도메인 부분을 .onion으로 치환하여 원본 숨겨진 서비스 주소 집합으로 복원하도록 구성될 수 있다. In one embodiment, the control unit is configured to search the top-level domain of the domain of the Tor service through an external search engine, collect a string of the top-level domain from the search results to search the address set, the control unit is the top It can be configured to restore the original hidden service address set by replacing the domain part with .onion.

일 실시예에 있어서, 상기 제어부는 같은 주소의 하위 페이지에 관한 URL에 대해 경로값을 제거하고, 상기 주소 집합에서 중복된 정보를 제거하여 고유한 숨겨진 서비스 주소 집합을 구하도록 구성될 수 있다. In one embodiment, the control unit may be configured to obtain a unique hidden service address set by removing a path value for a URL regarding a lower page of the same address and removing duplicate information from the set of addresses.

일 실시예에 있어서, 상기 제어부는 상기 외부의 복수의 수집장치로 상기 주소 정보 중 적어도 일부를 전송할 때, 상기 외부의 복수의 수집장치 중 크롤링하여 전송한 정보가 많은 수집장치에 더 많은 주소 정보를 전송하도록 구성될 수 있다. In one embodiment, when the control unit transmits at least a portion of the address information to the plurality of external collection devices, the control unit is configured to send more address information to the collection device having a large amount of information crawled and transmitted among the plurality of external collection devices. Can be configured to transmit.

일 실시예에 있어서, 상기 제어부는 상기 외부의 복수의 수집장치로 상기 주소 정보 중 적어도 일부를 전송할 때, 상기 외부의 복수의 수집장치 각각에 상기 주소 정보를 중복되지 않게 전송하며 상기 주소 정보의 개수가 하나 이상 차이가 나지 않도록 상기 주소 정보를 배분하도록 구성될 수 있다. In one embodiment, when the control unit transmits at least some of the address information to the plurality of external collection devices, the control unit transmits the address information to each of the plurality of external collection devices so as not to duplicate the number of the address information May be configured to distribute the address information so that one or more differences do not exist.

본 발명의 다른 특징에 의하면, 통신망을 통해 토르 서비스 제공 장치와 통신하여, 제어장치에서 토르 서비스를 분석하는 방법이 제공된다. 상기 방법은 상기 토르 서비스 제공 장치의 주소를 수집하여, 상기 수집된 주소의 최상위 도메인 목록을 작성하는 단계, 상기 최상위 도메인 목록을 공통 값을 제외한 최상위 도메인 부분을 .onion으로 치환하여 원본 숨겨진 서비스 주소 집합으로 복원하는 단계, 같은 주소의 하위 페이지에 관한 URL에 대해 경로값을 제거하고, 상기 주소 집합에서 중복된 정보를 제거하여 고유한 숨겨진 서비스 주소 집합을 구하는 단계, 상기 구해진 고유한 숨겨진 서비스 주소 집합 - 상기 주소 집합의 주소의의 수는 N 개임 - 을 k 개의 외부 복수의 수집장치로 N/k 개씩 배분하는 단계 - 상기 외부의 복수의 수집장치 각각에 상기 주소 정보를 중복되지 않게 배분함 -, 상기 외부의 수집장치로 하여금, 직접 숨겨진 서비스 페이지에 접근하여해당 페이지의 정보를 수집하고, 수집된 정보를 상기 제어 장치로 전송하도록 하는 단계, 및 상기 수집된 정보를 분석하여 고유한 숨겨진 서비스의 상태를 분석하는 단계를 포함할 수 있다. According to another aspect of the present invention, there is provided a method for communicating with a tor service providing apparatus through a communication network, and analyzing the tor service in a control apparatus. The method includes collecting an address of the tor service providing device to create a list of top-level domains of the collected addresses, replacing the top-level domain list with a .onion except for a common value, and replacing the original hidden service address set. Restoring to a URL, removing a path value for a URL of a lower page of the same address, and removing duplicated information from the address set to obtain a unique hidden service address set, wherein the obtained unique hidden service address set − The number of addresses in the address set is N-Distributing N / k by k to a plurality of external plurality of collecting devices-Distributing the address information to each of the plurality of external collecting devices without overlapping-, The The external collection device directly accesses the hidden service page, collects the information of the page, The information collected may include the step, and analyzing the state of a unique hidden service by analyzing the collected information to be transmitted to the control device.

본 발명의 다른 특징에 의하면, 하나 이상의 명령어가 수록된 컴퓨터 판독가능 기록 매체로서, 하나 이상의 명령어는 컴퓨터에 의해 실행될 경우 컴퓨터로 하여금 전술한 방법을 수행하도록 하는, 컴퓨터 판독가능 기록 매체가 제공된다.According to another aspect of the present invention, there is provided a computer readable recording medium containing one or more instructions, wherein the one or more instructions cause the computer to perform the above-described method when executed by the computer.

본 개시에 의하면, 프록시 프로그램을 사용하지 않고 파이썬 모듈인 tbSelenium과 Tor 브라우저를 사용하여 직접 숨겨진 서비스 페이지에 접근하는 Tor 웹 페이지의 간소화된 수집 방법 및 장치를 제공할 수 있다. According to the present disclosure, it is possible to provide a simplified collection method and apparatus for Tor web pages that directly access hidden service pages using Python modules tbSelenium and Tor browser without using a proxy program.

본 개시에 의하면 또한, 숨겨진 서비스 주소 집합을 몇 개의 묶음으로 나누어 여러 대의 컴퓨터를 통해서 분산 방식으로 크롤링하여 탐색 및 수집 속도를 개선한 방법 및 장치를 제공할 수 있다.According to the present disclosure, it is also possible to provide a method and apparatus for dividing a set of hidden service addresses into several bundles and crawling them through a plurality of computers in a distributed manner to improve the speed of discovery and collection.

도 1은, 본 발명의 일 실시예에 따른 네트워크 환경의 일 예를 도시한 도면이다.
도 2는, 도 1의 제어장치의 예시적 구성을 개략적으로 도시한 도면이다.
도 3은, 본 발명의 일 실시예에 따른, 숨겨진 서비스 주소 집합을 몇 개의 묶음으로 나누어 여러 대의 컴퓨터를 통해서 분산 방식으로 크롤링하기 위해 제어장치 상에서 수행되는 동작을 보여주는 개략적 동작 흐름도이다.
도 4은 도 3에서 설명한 동작에 따라 숨겨진 서비스의 주소를 수집하여 숨겨진 서비스 페이지를 크롤링하는 예시적인 방법을 도시하는 도면이다.
1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
FIG. 2 is a diagram schematically showing an exemplary configuration of the control device of FIG. 1.
3 is a schematic operational flow diagram illustrating operations performed on a control device for dividing a set of hidden service addresses into several bundles and crawling them in a distributed manner through several computers according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating an exemplary method of crawling a hidden service page by collecting an address of a hidden service according to the operation described with reference to FIG. 3.

이하, 첨부 도면을 참조하여 본 발명의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 발명의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 발명의 일 실시예에 관한 것일 뿐 본 발명이 이로써 제한되는 것은 아님을 알아야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following, when it is determined that there is a risk of unnecessarily obscuring the gist of the present invention, a detailed description of the known functions and configurations will be omitted. In addition, it should be understood that the following description only relates to one embodiment of the present invention, but the present invention is not limited thereto.

본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 발명을 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 또한, 본 발명의 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. For example, a component expressed in the singular should be understood as a concept including a plurality of components unless the context clearly indicates the singular. In addition, in the specification of the present invention, terms such as 'comprise' or 'have' are merely intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist. The use of the term is not intended to exclude the presence or addition of one or more other features or numbers, steps, actions, components, parts or combinations thereof.

본 명세서에 기재된 실시예에 있어서 '블록' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '블록' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '블록' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다. In the embodiments described herein, 'block' or 'unit' refers to a functional part that performs at least one function or operation, and may be implemented in hardware or software or a combination of hardware and software. In addition, a plurality of 'blocks' or 'units' may be integrated into at least one software module and implemented as at least one processor, except for 'blocks' or 'units' that need to be implemented with specific hardware. .

덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 명세서에서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 발명의 명세서에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.In addition, all terms used herein, including technical or scientific terms, unless otherwise defined, have the same meaning as commonly understood by one of ordinary skill in the art. It is to be understood that generally defined terms used should be construed as having a meaning consistent with the contextual meaning of the related art, and shall not be construed as being excessively limited or extended unless expressly defined otherwise in the specification of the present invention. You should know

이하, 첨부된 도면을 참조하여, 본 발명의 실시예에 대해 구체적으로 설명하기로 한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail an embodiment of the present invention.

도 1은, 본 발명의 일 실시예에 따른, 네트워크 환경(100)의 구성을 개략적으로 도시한 도면이다. 도시된 바에 의하면, 네트워크 환경(100)은, 제어장치(110), 통신망(도시되지 않음) 및 하나 이상의 수집장치(120a-120n)를 포함한다. 이러한 도 1은 발명의 설명을 위한 일례로 제어장치의 수나 수집장치의 수가 도 1과 같이 한정되는 것은 아니다. 1 is a diagram schematically illustrating a configuration of a network environment 100 according to an embodiment of the present invention. As shown, the network environment 100 includes a control device 110, a communication network (not shown), and one or more collection devices 120a-120n. 1 is an example for describing the invention and the number of control devices or the number of collection devices is not limited as shown in FIG. 1.

본 발명의 일 실시예에 의하면, 제어장치(110)는, 소정의 목적에 따라, 통신망을 통해 복수의 수집장치(120a-120n)과 통신하며, 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. According to an embodiment of the present invention, the control device 110 communicates with the plurality of collecting devices 120a-120n through a communication network according to a predetermined purpose, and provides commands, codes, files, contents, services, and the like. A computer device or a plurality of computer devices.

일례로, 제어장치(110)는 통신망을 통해 접속한 수집장치(120a-120n)로 프로그램의 설치를 위한 파일을 제공할 수 있다. 이 경우 수집장치(120a-120n)는 제어장치(110)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한, 수집장치(120a-120n)가 포함하는 운영체제(Operating System: OS) 및 적어도 하나의 프로그램의 제어에 따라 제어장치(110)에 접속하여 제어장치(110)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 수집장치(120a-120n)는 어플리케이션의 제어에 따라 통신망을 통해 서비스 요청 메시지를 제어장치(110)로 전송하며, 제어장치(110)는 서비스 요청 메시지에 대응하는 코드를 수집장치(120a-120n)로 전송할 수 있고, 수집장치(120a-120n)은 어플리케이션의 제어에 따라 코드에 따른 명령을 수행하여 제어장치(110)로 수행 결과를 제공할 수 있다. For example, the control device 110 may provide a file for installing the program to the collection device (120a-120n) connected through a communication network. In this case, the collection apparatuses 120a-120n may install an application using a file provided from the control apparatus 110. In addition, the control apparatus 110 may be connected to the control apparatus 110 under the control of an operating system (OS) and the at least one program included in the collection apparatuses 120a-120n to receive a service or content provided by the control apparatus 110. Can be. For example, the collection devices 120a-120n transmit a service request message to the control device 110 through a communication network under the control of an application, and the control device 110 collects a code corresponding to the service request message. 120a-120n, the collection apparatuses 120a-120n may perform a command according to a code according to the control of an application, and provide a result of execution to the controller 110.

본 발명의 일 실시예에 의하면, 통신망은, 임의의 유선 또는 무선 통신망일 수 있으며, 예컨대 WiFi망, LAN망, WAN망, 인터넷망 등을 포함할 수 있으며, 본 발명이 이로써 제한되는 것은 아니다.According to an embodiment of the present invention, the communication network may be any wired or wireless communication network, and may include, for example, a WiFi network, a LAN network, a WAN network, an Internet network, and the like, but the present invention is not limited thereto.

본 발명의 일 실시예에 의하면, 복수의 수집장치(120a-120n)는, 소정의 목적에 따라, 통신망을 통해 웹 페이지 제공 서버(도시되지 않음)과 통신하며, 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 본 발명의 일 실시예에 의하면, 복수의 수집장치(120a-120n)는, 통신망을 통해 제어장치(110)와 통신하고 필요한 정보를 송수신할 수 있다. 본 발명의 일 실시예에 의하면, 복수의 수집장치(120a-120n) 각각은, 통신망을 통해 외부의 웹 페이지에 접속하여 웹 페이지의 정보를 검색하거나 수집할 수 있다. 본 발명의 일 실시예에 의하면, 복수의 수집장치(120a-120n) 각각은 프록시 프로그램과 시스템 설정 과정 없이, Selenium과 같은 웹 테스트 자동화 프로그램을 통해 직접 Tor의 전용 브라우저를 실행 시켜 Tor 웹 페이지를 수집할 수 있다. Selenium과 Tor의 전용 브라우저는 OS 구분 없이 설치 및 실행이 가능하기 때문에, 장치와 시스템 환경 구분 없이 동일한 수집기 환경을 구성할 수 있다.According to an embodiment of the present invention, the plurality of collection apparatuses 120a-120n communicate with a web page providing server (not shown) through a communication network according to a predetermined purpose, and include commands, codes, files, contents, It may be implemented as a computer device or a plurality of computer devices that provide services. According to an embodiment of the present invention, the plurality of collecting devices 120a-120n may communicate with the control device 110 through a communication network and transmit and receive necessary information. According to an embodiment of the present invention, each of the plurality of collection apparatuses 120a-120n may access an external web page through a communication network to retrieve or collect information of the web page. According to an embodiment of the present invention, each of the plurality of collection apparatuses 120a-120n collects Tor web pages by directly executing Tor's dedicated browser through a web test automation program such as Selenium, without a proxy program and a system setting process. can do. Dedicated browsers for Selenium and Tor can be installed and run on any OS, allowing the same Collector environment to be configured on both device and system environments.

도 2는 본 발명의 일 실시예에 따라 도 1의 제어장치의 예시적 구성을 개략적으로 도시한 도면이다. 2 is a view schematically showing an exemplary configuration of the control device of FIG. 1 in accordance with an embodiment of the present invention.

도시된 바에 의하면, 제어장치(110)는 제어부(202), 저장부(204), 및 통신부(206)를 포함할 수 있다.As shown, the control device 110 may include a control unit 202, a storage unit 204, and a communication unit 206.

본 발명의 일 실시예에 의하면, 제어부(202)는 저장부(204) 및 통신부(206)에 연결되어 이들을 제어하기 위해 다양한 컴퓨터 프로그램을 실행하고 그 동작을 제어하도록 구성될 수 있다. 제어부(202)는 한 구성 요소로부터 데이터를 수신하여 다른 구성 요소에 의해 사용되기에 적합한 포맷으로 데이터 포맷팅을 하도록 구성될 수 있다. 제어부(202)는 저장부(204)와 통신 가능한 방식으로 연결될 수 있다. 다양한 실시예에서, 제어부(202)는, 예컨대 통신부(206)과 같은 다른 구성 요소와 일체로 통합 구성될 수 있다.According to one embodiment of the invention, the control unit 202 may be configured to be connected to the storage unit 204 and the communication unit 206 to execute various computer programs and control the operation thereof to control them. The controller 202 may be configured to receive data from one component and format the data in a format suitable for use by the other component. The control unit 202 may be connected to the storage unit 204 in a communicative manner. In various embodiments, the control unit 202 may be integrally integrated with other components such as, for example, the communication unit 206.

제어부(202)는 통신부(206)를 통해 웹 페이지의 정보를 수신하고, 수신된 정보를 분석하여 웹 페이지의 상태를 분석할 수 있다. 본 발명의 일 실시예에 의하면, 제어부(202)는, 저장부(204)에 저장된 웹 페이지 정보를 이용하여 웹 페이지상태를 검출하고, 웹 페이지를 목적에 따라 분류하고 분석할 수 있다. The control unit 202 may receive the information of the web page through the communication unit 206, and analyze the state of the web page by analyzing the received information. According to an embodiment of the present invention, the control unit 202 may detect the web page state by using the web page information stored in the storage unit 204, and classify and analyze the web page according to the purpose.

저장부(204)는, 도 1의 통신망 및 통신부(206)를 통하여, 복수의 수집장치(120a-120n)로부터 전송되어 온 웹 페이지 정보 등을 저장 및 갱신할 수 있다. The storage unit 204 can store and update web page information and the like transmitted from the plurality of collection apparatuses 120a-120n through the communication network and the communication unit 206 of FIG. 1.

저장부(204)는 또한, 도 1의 통신망 및 통신부(206)를 통하여, 외부 웹 페이지 제공 서버(도시되지 않음)로부터 전송되어 온 웹 페이지의 컨텐츠를 저장 및 갱신할 수 있다. The storage unit 204 may also store and update the contents of the web page transmitted from an external web page providing server (not shown) through the communication network and the communication unit 206 of FIG. 1.

저장부(204)는 플래시 메모리 타입(flash memory type), 하드 디스크 타입(hard disk type), 멀티미디어 카드(MultiMedia Card: MMC), 카드 타입의 메모리(예를 들어, SD(Secure Digital) 카드 또는 XD(eXtream Digital) 카드 등), RAM(Random Access Memory), SRAM(Static Random Access Memory), ROM(Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크 및 광 디스크 중 어느 하나의 저장 매체로 구현될 수 있으나, 당업자라면 저장부(204)의 구현 형태가 이에 한정되는 것이 아님을 알 수 있을 것이다.The storage unit 204 may include a flash memory type, a hard disk type, a multimedia card (MMC), a memory of a card type (eg, a Secure Digital (SD) card or an XD). (eXtream Digital) cards, etc.), Random Access Memory (RAM), Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM) The magnetic memory device may be implemented as a storage medium of any one of a magnetic memory, a magnetic disk, and an optical disk. However, one of ordinary skill in the art will recognize that the implementation of the storage unit 204 is not limited thereto.

본 발명의 일 실시예에 의하면, 통신부(206)는 제어장치(110)가 통신망을 통해 복수의 수집장치(120a-120n)와 통신할 수 있게 한다. 본 발명의 일 실시예에 의하면, 통신부(206)는 제어부(104)에서 처리된 정보를 정해진 프로토콜에 따라 통신망(104)을 통하여 복수의 수집장치(120a-120n)로 전송할 수 있다. 본 발명의 일 실시예에 의하면, 통신부(206)는, 도 1의 통신망의 프로토콜에 따라, 송수신되는 정보를 적절히 인코딩 또는 디코딩할 수 있다. 본 발명의 일 실시예에 의하면, 통신부(206)는, 복수의 수집장치(120a-120n)로부터 각종 정보를 수신하고 적절한 처리를 행할 수 있다.According to an embodiment of the present invention, the communication unit 206 enables the control device 110 to communicate with the plurality of collecting devices 120a-120n through a communication network. According to an embodiment of the present invention, the communication unit 206 may transmit the information processed by the control unit 104 to the plurality of collecting devices 120a-120n through the communication network 104 according to a predetermined protocol. According to an embodiment of the present invention, the communication unit 206 may appropriately encode or decode the transmitted and received information according to the protocol of the communication network of FIG. 1. According to one embodiment of the present invention, the communication unit 206 can receive various types of information from the plurality of collection apparatuses 120a-120n and perform appropriate processing.

이상으로 설명한 실시예는, 하드웨어적 측면에서 응용 주문형 집적 회로(Application Specific Integrated Circuits: ASICs), 디지털 신호 처리기(Digital Signal Processors: DSPs), 디지털 신호 처리 소자(Digital Signal Processing Devices: DSPDs), 프로그램 가능 논리 소자(Programmable Logic Devices: PLDs), 현장 프로그램 가능 게이트 어레이(Field-Programmable Gate Arrays: FPGAs), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers) 및 마이크로 프로세서 (microprocessors) 중 적어도 하나를 이용하여 구현될 수 있다.The embodiments described above are programmable in terms of hardware, application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), and programmable. At least one of Logic Devices (PLDs), Field-Programmable Gate Arrays (FPGAs), processors, controllers, micro-controllers, and microprocessors It can be implemented using one.

절차나 단계 또는 기능을 포함하는 실시예들은 적어도 하나의 기능 또는 동작을 수행하게 하는, 하드웨어 플랫폼(platform) 상에서 실행 가능한 펌웨어 (firmware)/소프트웨어 모듈로 구현될 수 있다. 이 경우, 펌웨어/소프트웨어 모듈은 적절한 프로그램 언어(program language)로 쓰여진 소프트웨어 애플리케이션 (application)에 의해 구현될 수 있다.Embodiments that include a procedure, step, or function may be implemented as firmware / software modules executable on a hardware platform to perform at least one function or operation. In this case, the firmware / software module may be implemented by a software application written in a suitable program language.

도 3은, 본 발명의 일 실시예에 따른, 숨겨진 서비스 주소 집합을 몇 개의 묶음으로 나누어 여러 대의 컴퓨터를 통해서 분산 방식으로 크롤링하기 위해 제어장치 상에서 수행되는 동작을 보여주는 개략적 동작 흐름도이다.FIG. 3 is a schematic operation flow diagram illustrating operations performed on a control device for dividing a set of hidden service addresses into several bundles and crawling them in a distributed manner through several computers according to an embodiment of the present invention.

Tor 웹 페이지의 주소 목록을 수집하는 단계로부터 시작한다(S310). 일 실시예에서, 제어장치(110)는 대역 외 탐색을 이용한 주소 수집기로서 대역 외 탐색 방법을 이용하여 숨겨진 서비스의 주소를 수집할 수 있다(S312). 예컨대, tor2web에 의해 발급되는 숨겨진 서비스들의 최상위 도메인들을 일반 네트워크의 검색 엔진에서 검색하고, 결과 페이지에서 숨겨진 서비스 주소 문자열에 해당하는 항목들을 수집한다(S314). 예컨대, 표 1 에서 확인할 수 있는 12개의 최상위 도메인에 대해서 검색을 수행하고, 검색 엔진은 Google, Bing, DuckDuckGo의 3개를 사용할 수 있다. 한편 선택적으로 제어장치(110)는 Tor 웹 페이지의 주소 목록을 외부의 서버로부터 입력받을 수도 있다. Starting from collecting the address list of the Tor web page (S310). In one embodiment, the control device 110 may collect the address of the hidden service using the out-of-band search method as an address collector using the out-of-band search (S312). For example, the top-level domains of the hidden services issued by tor2web are searched by a search engine of a general network, and items corresponding to the hidden service address string are collected in the result page (S314). For example, a search is performed on the 12 top-level domains identified in Table 1, and the search engine may use three of Google, Bing, and DuckDuckGo. Meanwhile, the controller 110 may optionally receive a list of addresses of Tor web pages from an external server.

Figure 112017113305454-pat00001
Figure 112017113305454-pat00001

표 1: tor2web을 통해 발급되는 최상위 도메인 목록Table 1: List of top-level domains issued through tor2web

일 실시예에서, 주소 수집기를 통해 얻은 전체 주소 집합은 tor2web으로 최상위 도메인이 표 1의 값 중 한 가지로 변경된 주소 집합이다. 주소 집합들은 원본 숨겨진 서비스 주소와 공통 값으로 16개의 무작위 문자열을 갖는다. 이 주소들을 Tor를 사용해 크롤링하기 위해서 공통 값을 제외한 최상위 도메인 부분을 .onion으로 치환해 원본 숨겨진 서비스 주소 집합으로 복원한다(S316). 이 과정에서 같은 주소의 하위 페이지에 관한 URL들은 최상위 페이지와 같은 페이지로 취급하기 위해 디렉토리 경로값을 제거한다(S318). 이후 주소 집합에서 중복된 주소들을 제거하면 고유한 숨겨진 서비스 주소 집합을 얻을 수 있다.In one embodiment, the full set of addresses obtained through the address collector is tor2web, which is the set of addresses whose top level domain has been changed to one of the values in Table 1. The address sets have 16 random strings in common with the original hidden service address. To crawl these addresses using Tor, replace the top-level domain part except for common values with .onion and restore the original hidden service address set (S316). In this process, URLs related to lower pages of the same address are removed to treat the directory as the same page as the top page (S318). Subsequent removal of duplicate addresses from the address set yields a unique set of hidden service addresses.

다음으로, 제어장치(110)는 수집된 주소 목록을 나누어 수집장치(120)에 제공하고 수집장치(120)로 하여금 숨겨진 서비스 페이지를 크롤링하도록 명령한다(S320). 일 실시예에서, 제어장치(110)는 복수의 수집장치(120)에 수집된 주소 목록을 몇 개의 묶음으로 나누어 제공하고 복수의 수집장치(120a-120n)로 하여금 분산방식으로 크롤링을 수행하도록 함으로써 수집시간을 줄일 수 있다(S322). 일반적으로 Tor 네트워크는 클라이언트의 익명성을 위해 여러 번 우회하여 통신하는 만큼 한 개의 숨겨진 서비스에 접근하여 페이지를 크롤링하는데 많은 시간이 걸린다. 본 발명의 실험에서는 정상적으로 접근 가능한 살아있는 숨겨진 서비스에 대해 최대 25초 이내의 접근 시간이 소요되었다. 이 때문에 한 대의 컴퓨터를 통해 Tor의 숨겨진 서비스를 조사하는 것은 통상적인 웹 페이지 크롤링보다 오버헤드가 크기 때문에 분산방식으로 크롤링을 수행하도록 함으로써 수집시간을 줄일 수 있다.Next, the control device 110 divides the collected address list and provides the collected device 120 to the collecting device 120 and instructs the collecting device 120 to crawl the hidden service page (S320). In one embodiment, the control unit 110 provides a plurality of collection lists of addresses collected in the plurality of collecting devices 120 and by causing the plurality of collecting devices (120a-120n) to crawl in a distributed manner The collection time can be reduced (S322). In general, the Tor network takes a lot of time to crawl a page by accessing a single hidden service as it communicates by bypassing it several times for client anonymity. In the experiment of the present invention, access time of up to 25 seconds was required for a normally hidden live service. Because of this, investigating Tor's hidden services through a single computer has more overhead than normal web page crawls, which reduces the collection time by allowing crawling in a distributed manner.

수집장치(120: 숨겨진 서비스 페이지 크롤러)는 수집된 숨겨진 서비스 주소 집합의 onion address를 사용해 직접 숨겨진 서비스에 접근하고 해당 페이지를 크롤링한다(S324). 일반적으로 Tor를 사용해 숨겨진 서비스 페이지에 접근하는 방법으로는 Privoxy, Polipo 등의 별도의 프록시 프로그램의 설정과 Tor 프로그램을 통해서 접근해야 하지만, 본 발명의 일 실시예에서, 수집장치(120)는 이러한 프록시 프로그램을 사용하지 않고 파이썬 모듈인 tbSelenium과 Tor 브라우저를 사용하여 직접 숨겨진 서비스 페이지에 접근할 수 있다. tbSelenium으로 구현한 크롤러는 Tor 브라우저를 직접 실행시켜 숨겨진 서비스에 접근하고 해당 페이지를 저장할 수 있다. The collection device 120 crawls a hidden service page crawler directly accesses the hidden service using the onion address of the collected hidden service address set and crawls the corresponding page (S324). In general, a method of accessing a hidden service page using Tor should be accessed through the setting of a separate proxy program such as Privoxy and Polipo, and through the Tor program. However, in one embodiment of the present invention, the collection device 120 may use the proxy. You can access hidden service pages directly using the Python modules tbSelenium and Tor browser without using a program. A crawler implemented with tbSelenium can directly access Tor service and save the page by executing Tor browser directly.

수집장치(120)는 크롤링할 서비스 주소에 대한 Http 상태 코드를 요청하고 수신한 상태 코드 값에 따라 결과를 분류한다(S326). 대역 외 탐색을 이용한 주소 수집기로 수집된 전체 주소 집합에는 이미 삭제된 서비스나 접속할 수 없는 서비스의 주소도 존재하기 때문에 수집장치(120)는 Http 상태 코드 200을 반환하는 주소에 한해서 Tor 브라우저를 통한 접근을 시도하여 해당 페이지를 크롤링해 저장한다(S328).The collecting device 120 requests the Http status code for the service address to be crawled and classifies the result according to the received status code value (S326). Since the entire address set collected by the address collector using the out-of-band search also includes the address of a service that has already been deleted or cannot be accessed, the collecting device 120 accesses through the Tor browser only for addresses that return Http status code 200. To crawl and save the page (S328).

마지막으로 제어장치(110)는 복수의 수집장치(120a-120n)로부터 크롤링된 정보를 전송받아 웹 페이지를 분석할 수 있다. Finally, the control device 110 may receive the crawled information from the plurality of collection devices 120a-120n and analyze the web page.

도 4은 도 3에서 설명한 동작에 따라 숨겨진 서비스의 주소를 수집하여 숨겨진 서비스 페이지를 크롤링하는 예시적인 방법을 도시하는 도면이다. 도 4에 도시된 바와 같이 제어장치는 숨겨진 서비스 주소를 수집하고, 크롤링한 숨겨진 서비스 페이지의 정보를 분석할 수 있다. FIG. 4 is a diagram illustrating an exemplary method of crawling a hidden service page by collecting an address of a hidden service according to the operation described with reference to FIG. 3. As shown in FIG. 4, the controller can collect the hidden service address and analyze the information of the crawled hidden service page.

본 발명의 일 실시예에서, 숨겨진 서비스 주소 수집기는 도 4에 도시된 바와 같이 두 부분으로 구성될 수 있다. 첫 번째는 대역 외 탐색을 이용한 주소 수집기로 Tor 숨겨진 서비스 주소를 대역 외 탐색 방법을 통해 수집한다. 두 번째는 숨겨진 서비스 페이지 크롤러로 직접 숨겨진 서비스 페이지에 접근한다 이 과정에서 해당 주소를 가진 숨겨진 서비스의 생존 여부를 확인하고 살아있는 서비스의 페이지를 수집한다.In one embodiment of the invention, the hidden service address collector may be composed of two parts as shown in FIG. The first is an address collector using out-of-band search, which collects Tor hidden service addresses through out-of-band search. The second is the hidden service page crawler, which accesses the hidden service page directly. During this process, it checks whether the hidden service with the address survives and collects the page of the live service.

1. 대역 외 탐색을 이용한 주소 수집기1. Address Collector Using Out-of-Band Search

일 실시예에서, 대역 외 탐색을 이용한 주소 수집기는 대역 외 탐색 방법을 이용하여 숨겨진 서비스의 주소를 수집한다. 예컨대, tor2web에 의해 발급되는 숨겨진 서비스들의 최상위 도메인들을 일반 네트워크의 검색 엔진에서 검색하고, 결과 페이지에서 숨겨진 서비스 주소 문자열에 해당하는 항목들을 수집한다. 일 실시예에서는 표 1 에서 확인할 수 있는 12개의 최상위 도메인에 대해서 검색을 수행하고, 검색 엔진은 Google, Bing, DuckDuckGo의 3개를 사용할 수 있다. In one embodiment, the address collector using out-of-band search collects the addresses of hidden services using the out-of-band search method. For example, the top-level domains of hidden services issued by tor2web are searched by a search engine of a general network, and items corresponding to the hidden service address strings are collected on the result page. In one embodiment, the search is performed on the 12 top-level domains identified in Table 1, and the search engine may use three of Google, Bing, and DuckDuckGo.

일 실시예에서, 주소 수집기를 통해 얻은 전체 주소 집합은 tor2web으로 최상위 도메인이 상기 표 1의 값 중 한 가지로 변경된 주소 집합이다. 주소 집합들은 원본 숨겨진 서비스 주소와 공통 값으로 16개의 무작위 문자열을 갖는다. 이 주소들을 Tor를 사용해 크롤링하기 위해서 공통 값을 제외한 최상위 도메인 부분을 .onion으로 치환해 원본 숨겨진 서비스 주소 집합으로 복원한다. 이 과정에서 같은 주소의 하위 페이지에 관한 URL들은 최상위 페이지와 같은 페이지로 취급하기 위해 디렉토리 경로값을 제거한다. 이후 주소 집합에서 중복된 주소들을 제거하면 고유한 숨 겨진 서비스 주소 집합을 얻을 수 있다.In one embodiment, the full set of addresses obtained through the address collector is tor2web, which is the set of addresses whose top-level domain has been changed to one of the values in Table 1 above. The address sets have 16 random strings in common with the original hidden service address. To crawl these addresses using Tor, we replace the top-level domain part, except for the common value, with .onion to restore the original set of hidden service addresses. In this process, the URLs for subpages of the same address are stripped of directory path values to be treated as the same page as the top page. Subsequent removal of duplicate addresses from the address set yields a unique set of hidden service addresses.

2. 숨겨진 서비스 페이지 크롤러2. Hidden service page crawler

숨겨진 서비스 페이지 크롤러는 수집된 숨겨진 서비스 주소 집합의 onion address를 사용해 직접 숨겨진 서비스에 접근하고 해당 페이지를 크롤링한다. 일반적으로 Tor를 사용해 숨겨진 서비스 페이지에 접근하는 방법으로는 Privoxy, Polipo 등의 별도의 프록시 프로그램의 설정과 Tor 프로그램을 통해서 접근해야 한다. 일 실시예에서, 이러한 프록시 프로그램을 사용하지 않고 파이썬 모듈인 tbSelenium과 Tor 브라우저를 사용하여 직접 숨겨진 서비스 페이지에 접근한다. tbSelenium으로 구현한 크롤러는 Tor 브라우저를 직접 실행시켜 숨겨진 서비스에 접근하고 해당 페이지를 저장한다. 대역 외 탐색을 이용한 주소 수집기로 수집된 전체 주소 집합에는 이미 삭제된 서비스나 접속할 수 없는 서비스의 주소도 존재한다. 이런 상태의 숨겨진 서비스 의 분류를 위해서 크롤러는 해당 주소에 대한 Http 상태 코드를 요청하고 수신한 상태 코드 값에 따라 결과를 분류한다. 숨겨진 서비스 페이지 크롤러는 Http 상태 코드 200을 반환하는 주소에 한해서 Tor 브라우저를 통한 접근을 시도하여 해당 페이지를 크롤링해 저장한다.The hidden service page crawler uses the onion address of the collected hidden service address set to directly access and crawl the hidden service. In general, to access the hidden service page using Tor, you need to access it through the configuration of a separate proxy program such as Privoxy and Polipo, and the Tor program. In one embodiment, instead of using this proxy program, the Python modules tbSelenium and Tor browsers are used to directly access hidden service pages. The crawler implemented by tbSelenium executes Tor browser directly to access hidden services and save the page. In the entire address set collected by the address collector using out-of-band search, there are also addresses of services that are already deleted or not accessible. To classify a hidden service in this state, the crawler requests the Http status code for that address and classifies the result according to the received status code value. The hidden service page crawler attempts to access the Tor browser only for addresses that return an Http status code of 200, which crawls and stores the page.

Tor 네트워크는 클라이언트의 익명성을 위해 여러 번 우회하여 통신하는 만큼 한 개의 숨겨진 서비스에 접근하여 페이지를 크롤링하는데 많은 시간이 걸린다. 본 연구의 실험에서는 정상적으로 접근 가능한 살아있는 숨겨진 서비스에 대해 최대 25초 이내의 접근 시간이 소요되었다. 이 때문에 한 대의 컴퓨터를 통해 Tor의 숨겨진 서비스를 조사하는 것은 통상적인 웹 페이지 크롤링보다 오버헤드가 크다. Tor 숨겨진 서비스 주소 수집기는 오버헤드를 줄이기 위해서 숨겨진 서비스 주소 집합을 몇 개의 묶음으로 나누어 여러 대의 컴퓨터를 통해서 분산 방식으로 크롤링을 수행할 수 있다.The Tor network takes as much time to crawl a page by accessing a single hidden service as it communicates by bypassing it several times for client anonymity. In the experiments of this study, access time of up to 25 seconds was required for a normally hidden live service. Because of this, investigating Tor's hidden services on a single computer is more expensive than crawling a typical web page. To reduce overhead, the Tor Hidden Service Address Collector can divide a set of hidden service addresses into several bundles and distribute them crawled across multiple computers.

본원에 개시된 실시예들에 있어서, 도시된 구성 요소들의 배치는 발명이 구현되는 환경 또는 요구 사항에 따라 달라질 수 있다. 예컨대, 일부 구성 요소가 생략되거나 몇몇 구성 요소들이 통합되어 하나로 실시될 수 있다. 또한 일부 구성 요소들의 배치 순서 및 연결이 변경될 수 있다.In the embodiments disclosed herein, the arrangement of the components shown may vary depending on the environment or requirements on which the invention is implemented. For example, some components may be omitted or several components may be integrated and implemented as one. In addition, the arrangement order and connection of some components may be changed.

본 발명 및 그 다양한 기능적 구성 요소들은 특정 실시예들로 설명되었으나, 본 발명은 하드웨어, 소프트웨어, 펌웨어, 미들웨어 또는 이들의 조합으로 구현될 수 있으며, 시스템, 서브시스템, 구성 요소들 또는 이들의 서브 구성 요소들로 활용될 수 있음을 이해하여야 한다. 소프트웨어로 구현되는 경우, 본 발명의 요소들은 필요한 작업들을 수행하기 위한 명령어들/코드 세그먼트들이 될 수 있다. 프로그램 또는 코드 세그먼트들은 프로세서 판독가능 매체와 같은 머신 판독가능 매체, 컴퓨터 프로그램 제품 내에 저장될 수 있다. 머신 판독가능 매체 또는 프로세서 판독가능 매체는 머신(예컨대, 프로세서, 컴퓨터 등)에 의해 판독되고 실행 가능한 형태로 정보를 저장 또는 전송할 수 있는 임의의 매체를 포함할 수 있다.While the invention and its various functional components have been described in particular embodiments, the invention may be implemented in hardware, software, firmware, middleware, or a combination thereof, and the system, subsystem, components, or sub-configurations thereof. It should be understood that the elements can be utilized. If implemented in software, the elements of the present invention may be instructions / code segments for performing the necessary tasks. The program or code segments may be stored in a machine readable medium, a computer program product, such as a processor readable medium. Machine readable media or processor readable media may include any medium that can store or transmit information in a form readable and executable by a machine (eg, processor, computer, etc.).

이상에서는 본 발명의 다양한 실시예들에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예들에 한정되지 아니하며, 상술한 실시예들은 첨부하는 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양하게 변형 실시될 수 있음은 물론이고, 이러한 변형 실시예들이 본 발명의 기술적 사상이나 범위와 별개로 이해되어져서는 아니 될 것이다. 따라서, 본 발명의 기술적 범위는 오직 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.Although various embodiments of the present invention have been illustrated and described above, the present invention is not limited to the above-described specific embodiments, and the above-described embodiments deviate from the gist of the present invention as claimed in the appended claims. Without departing from the scope of the present invention pertains to those skilled in the art, various modifications may be made to those skilled in the art, and such modified embodiments should not be understood separately from the technical spirit or scope of the present invention. Accordingly, the technical scope of the present invention should be defined only by the appended claims.

Claims (7)

통신망을 통해 토르 서비스 제공 장치와 통신하여, 토르 서비스를 분석하는 제어 장치로서,
상기 통신망을 통해 상기 토르 서비스 제공 장치와 통신하도록 구성되는 통신부;
상기 통신부를 통하여, 외부의 복수의 수집장치가 상기 토르 서비스 제공 장치를 크롤링한 정보를 상기 외부의 복수의 수집장치로부터 수신하여 저장하도록 구성된 저장부; 및
상기 토르 서비스의 도메인을 검색하여 상기 토르 서비스 제공 장치의 주소 정보를 생성하고, 상기 주소 정보 중 적어도 일부를 상기 외부의 복수의 수집장치로 전송하도록 구성된 제어부를 포함하는 토르 서비스 분석 제어 장치.
A control device that analyzes a Thor service by communicating with a Thor service providing device through a communication network,
A communication unit configured to communicate with the tor service providing device through the communication network;
A storage unit configured to receive and store, from the plurality of external collection devices, information that the plurality of external collection devices crawled the tor service providing device through the communication unit; And
And a controller configured to search for a domain of the tor service, generate address information of the tor service providing device, and transmit at least a portion of the address information to the plurality of external collection devices.
제1항에 있어서,
상기 제어부는 외부의 검색엔진을 통해 상기 토르 서비스의 도메인의 최상위 도메인을 검색하고, 검색 결과에서 상기 최상위 도메인의 문자열을 수집하여 주소 집합을 검색하도록 구성되고,
상기 제어부는 최상위 도메인 부분을 .onion으로 치환하여 원본 숨겨진 서비스 주소 집합으로 복원하도록 구성되는 토르 서비스 분석 제어 장치.
The method of claim 1,
The control unit is configured to search the top-level domain of the domain of the tor service through an external search engine, collect a string of the top-level domain from a search result, and search an address set.
And the control unit is configured to restore the original hidden service address set by replacing the top-level domain portion with .onion.
제2항에 있어서,
상기 제어부는 같은 주소의 하위 페이지에 관한 URL에 대해 경로값을 제거하고, 상기 주소 집합에서 중복된 정보를 제거하여 고유한 숨겨진 서비스 주소 집합을 구하도록 구성되는 토르 서비스 분석 제어 장치.
The method of claim 2,
And the control unit is configured to remove a path value for a URL regarding a lower page of the same address, and to remove a duplicated information from the address set to obtain a unique hidden service address set.
제1항에 있어서,
상기 제어부는 상기 외부의 복수의 수집장치로 상기 주소 정보 중 적어도 일부를 전송할 때, 상기 외부의 복수의 수집장치 중 크롤링하여 전송한 정보가 많은 수집장치에 더 많은 주소 정보를 전송하도록 구성되는 토르 서비스 분석 제어 장치.
The method of claim 1,
When the control unit transmits at least some of the address information to the plurality of external collection devices, the tor service configured to transmit more address information to a collection device having a large amount of information crawled and transmitted among the plurality of external collection devices. Analytical Control Unit.
제1항에 있어서,
상기 제어부는 상기 외부의 복수의 수집장치로 상기 주소 정보 중 적어도 일부를 전송할 때, 상기 외부의 복수의 수집장치 각각에 상기 주소 정보를 중복되지 않게 전송하며 상기 주소 정보의 개수가 하나 이상 차이가 나지 않도록 상기 주소 정보를 배분하도록 구성되는 토르 서비스 분석 제어 장치.
The method of claim 1,
When the control unit transmits at least some of the address information to the plurality of external collection devices, the control unit transmits the address information to each of the plurality of external collection devices so as not to overlap, and the number of the address information is one or more different. And to distribute the address information.
통신망을 통해 토르 서비스 제공 장치와 통신하여, 제어장치에서 토르 서비스를 분석하는 방법으로서,
상기 토르 서비스 제공 장치의 주소를 수집하여, 상기 수집된 주소의 최상위 도메인 목록을 작성하는 단계,
상기 최상위 도메인 목록을 공통 값을 제외한 최상위 도메인 부분을 .onion으로 치환하여 원본 숨겨진 서비스 주소 집합으로 복원하는 단계,
같은 주소의 하위 페이지에 관한 URL에 대해 경로값을 제거하고, 상기 주소 집합에서 중복된 정보를 제거하여 고유한 숨겨진 서비스 주소 집합을 구하는 단계,
상기 구해진 고유한 숨겨진 서비스 주소 집합 - 상기 주소 집합의 주소의 수는 N 개임 - 을 k 개의 외부 복수의 수집장치로 N/k 개씩 배분하는 단계 - 상기 외부의 복수의 수집장치 각각에 상기 주소 정보를 중복되지 않게 배분함 -,
상기 외부의 수집장치로 하여금, 직접 숨겨진 서비스 페이지에 접근하여해당 페이지의 정보를 수집하고, 수집된 정보를 상기 제어 장치로 전송하도록 하는 단계, 및
상기 수집된 정보를 분석하여 고유한 숨겨진 서비스의 상태를 분석하는 단계
를 포함하는 토르 서비스 분석 방법.
As a method of communicating with a service provider for a Thor service through a communication network, the controller analyzes the service to the service,
Collecting an address of the tor service providing device and creating a list of top-level domains of the collected addresses;
Restoring the list of top-level domains by replacing .onion with a top-level domain portion excluding common values, and restoring the original hidden service address set;
Removing a path value for a URL of a subpage of the same address, and removing duplicated information from the set of addresses to obtain a unique set of hidden service addresses;
Distributing the obtained unique hidden service address set, wherein the number of addresses of the address set is N pieces, to N / k pieces of the plurality of external collecting devices, wherein the address information is allocated to each of the plurality of external collecting devices. Distribute without overlapping-,
Causing the external collection device to directly access the hidden service page to collect information of the page and transmit the collected information to the control device; and
Analyzing the state of the unique hidden service by analyzing the collected information
Tor service analysis method comprising a.
하나 이상의 명령어가 수록된 컴퓨터 판독가능 기록 매체로서, 상기 하나 이상의 명령어는 컴퓨터에 의해 실행될 경우 상기 컴퓨터로 하여금 제6항에 따른 방법을 수행하도록 하는, 컴퓨터 판독가능 기록 매체. A computer readable recording medium carrying one or more instructions, wherein the one or more instructions cause the computer to perform the method according to claim 6 when executed by a computer.
KR1020170151993A 2017-11-15 2017-11-15 Apparatus, method for analysing tor service based on distributed processing, and computer readable recording medium KR102043508B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170151993A KR102043508B1 (en) 2017-11-15 2017-11-15 Apparatus, method for analysing tor service based on distributed processing, and computer readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170151993A KR102043508B1 (en) 2017-11-15 2017-11-15 Apparatus, method for analysing tor service based on distributed processing, and computer readable recording medium

Publications (2)

Publication Number Publication Date
KR20190055366A KR20190055366A (en) 2019-05-23
KR102043508B1 true KR102043508B1 (en) 2019-11-11

Family

ID=66681207

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170151993A KR102043508B1 (en) 2017-11-15 2017-11-15 Apparatus, method for analysing tor service based on distributed processing, and computer readable recording medium

Country Status (1)

Country Link
KR (1) KR102043508B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120272314A1 (en) 2011-04-21 2012-10-25 Cybyl Technologies, Inc. Data collection system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469010B1 (en) 2014-04-25 2014-12-04 한국전자통신연구원 Apparatus and method for transferring network address information of smart appliance
KR101620957B1 (en) 2014-11-25 2016-05-13 고려대학교 산학협력단 Web browsing system including function of crawling and web browsing method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120272314A1 (en) 2011-04-21 2012-10-25 Cybyl Technologies, Inc. Data collection system

Also Published As

Publication number Publication date
KR20190055366A (en) 2019-05-23

Similar Documents

Publication Publication Date Title
US7647404B2 (en) Method of authentication processing during a single sign on transaction via a content transform proxy service
US10567407B2 (en) Method and system for detecting malicious web addresses
US9544316B2 (en) Method, device and system for detecting security of download link
CN104125209B (en) Malice website prompt method and router
CN107241296B (en) Webshell detection method and device
US20130086687A1 (en) Context-sensitive application security
CN107257390B (en) URL address resolution method and system
EP3547121B1 (en) Combining device, combining method and combining program
CN109885744B (en) Webpage data crawling method, device, system, computer equipment and storage medium
US9497252B2 (en) On-demand code version switching
US20160306893A1 (en) Url purification method and url purification apparatus
CN107045507B (en) Webpage crawling method and device
CN112632358B (en) Resource link obtaining method and device, electronic equipment and storage medium
CN112637361A (en) Page proxy method, device, electronic equipment and storage medium
CN108984641A (en) A kind of method for page jump based on WEB terminal
KR102043508B1 (en) Apparatus, method for analysing tor service based on distributed processing, and computer readable recording medium
CN106911636B (en) Method and device for detecting whether backdoor program exists in website
CN110969469B (en) Data acquisition method and device
US11163882B2 (en) Analysis apparatus, analysis method, and analysis program
JP6763433B2 (en) Information gathering system, information gathering method, and program
CN106815247B (en) Uniform resource locator obtaining method and device
CN109460531B (en) Webpage management method and device and intelligent terminal
KR101767594B1 (en) Web address extraction system for checking malicious code and method thereof
KR101767589B1 (en) Web address extraction system for checking malicious code and method thereof
CN106815245B (en) Method and device for analyzing source information of search engine

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant