KR102125966B1 - System for collecting traffic and feature of TOR network using private network and virtual machine - Google Patents

System for collecting traffic and feature of TOR network using private network and virtual machine Download PDF

Info

Publication number
KR102125966B1
KR102125966B1 KR1020190160679A KR20190160679A KR102125966B1 KR 102125966 B1 KR102125966 B1 KR 102125966B1 KR 1020190160679 A KR1020190160679 A KR 1020190160679A KR 20190160679 A KR20190160679 A KR 20190160679A KR 102125966 B1 KR102125966 B1 KR 102125966B1
Authority
KR
South Korea
Prior art keywords
file
traffic
tor
network
address
Prior art date
Application number
KR1020190160679A
Other languages
Korean (ko)
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 KR1020190160679A priority Critical patent/KR102125966B1/en
Application granted granted Critical
Publication of KR102125966B1 publication Critical patent/KR102125966B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The Tor network traffic collection system according to the present invention includes: a computing device installed on a private network, functioning as multiple Tor clients, and including virtual machines each having a private IP address and functioning as a Tor client; and a traffic collection server for traffic collection between the virtual machines and a Tor network. Each of the virtual machines includes: a service access unit accessing a hidden service server on the Tor network by executing and controlling a Tor browser and generating traffic through the Tor network by downloading a webpage file provided by the hidden service server; a pcap file generation unit generating a pcap file including the generated traffic; a filtering unit having a list of the IP addresses of the entry nodes of the Tor network, comparing the entry node IP addresses with the destination IP address of the traffic in the pcap file, extracting the traffic in which the destination IP address includes the entry node IP address, and generating a pcap file including only the extracted traffic; and a file transmission unit transmitting the pcap file generated by the filtering unit to the traffic collection server. The traffic collection server controls the virtual machines, converts the pcap file from the virtual machines into a csv file, and stores the csv file in a database.

Description

사설 네트워크 및 가상머신을 이용한 토르 네트워크의 트래픽 및 특징점 수집 시스템{System for collecting traffic and feature of TOR network using private network and virtual machine}System for collecting traffic and feature of TOR network using private network and virtual machine

본 발명은 사설 네트워크 및 가상머신을 이용한 토르 네트워크의 트래픽 및 특징점 수집 시스템에 관한 것이다.The present invention relates to a system for collecting traffic and feature points of a Tor network using a private network and a virtual machine.

익명 네트워크(Anonymous Network)는 해당 서비스를 이용하는 네트워크의 사용자나 서비스 제공자의 신원이 숨겨져 알 수 없기 때문에 마약이나 무기 등의 불법적인 거래에 악용되어 그 이용률이 급속히 증가하고 있으며, 콘텐츠를 불법 유통시키는 새로운 채널로 문제가 되고 있다.Anonymous networks are used for illegal transactions such as drugs and weapons, and their utilization rate is rapidly increasing because the identity of users or service providers of the network that uses the service is hidden and unknown. Channels are a problem.

익명 네트워크의 대표적인 예로 토르(TOR) 네트워크가 있다. TOR는 'The Oinion Routing'의 약자이다. 토르 네트워크는 온라인상에서 트래픽 분석이나 IP 주소 추적을 불가능하게 하여 송신 측과 수신 측의 익명성을 보장하는 네트워크로, 약 6,000개 이상의 어니언 라우터(Onion Router, 토르 네트워크를 구성하는 노드와 중계 서버)로 구성되어 있으며, 비트토렌트의 P2P 프로그램처럼 사용자(릴레이 컴퓨터)가 많아질수록 속도가 빨라지고 익명성이 더욱더 강화되는 특징이 있다.A typical example of an anonymous network is the TOR network. TOR stands for'The Oinion Routing'. The Tor network is a network that guarantees anonymity between the sender and the receiver by making it impossible to analyze traffic or track IP addresses online. It is composed, and the more users (relay computers), like BitTorrent's P2P program, the faster and faster anonymity is.

도 1은 토르 네트워크의 개략적인 구조를 나타낸다. 토르 네트워크에서 클라이언트는 목적지와 직접 통신하지 않고 중간에 토르 라우터를 실행하고 있는 여러 노드를 거쳐 통신하며, 이때 패킷은 각 노드의 키를 통해 암호화된다. 즉, 클라이언트는 엔트리 노드(entry node), 미들 노드(middle node), 엑시트 노드(exit node)의 3단계를 거쳐 히든 웹서비스를 제공하는 히든 서비스 서버(hidden service server)와 통신한다. 엔트리 노드는 클라이언트와 연결되는 첫 번째 노드이고, 미들 노드는 엔트리 노드와 엑시트 노드 사이에서 정보를 중계하는 노드로, 정보의 익명성을 유지시키는 역할을 한다. 엑시트 노드는 마지막 노드, 즉 네트워크의 출구로서, 히든 서비스 서버는 엑시트 노드를 출처로 인식하게 된다. 1 shows a schematic structure of a Tor network. In the Tor network, the client does not communicate directly with the destination, but communicates through multiple nodes running the Tor router in the middle, where the packets are encrypted through the keys of each node. That is, the client communicates with a hidden service server that provides a hidden web service through three steps of an entry node, a middle node, and an exit node. The entry node is the first node connected to the client, and the middle node is a node that relays information between the entry node and the exit node, and serves to maintain the anonymity of the information. The exit node is the last node, the exit of the network, and the hidden service server recognizes the exit node as a source.

토르 네트워크 내에서의 트래픽은 최종 목적지까지 직접 전달되지 않고, 매번 토르의 중계 서버는 암호화된 데이터를 받기 때문에 중간에 복호화를 할 수 없을뿐더러 패킷의 출발지와 최종 목적지를 알 수 없으며, 다음에 이동할 중계 서버의 주소만 알고 있다. 또한 패킷은 이동할 중계 서버의 수만큼 겹겹이 암호화 되어 전송되고, 중계 서버를 통과할 때마다 하나씩 복호화 되어 그 다음 중계 서버로 이동하는 방식을 취하고 있으며, 패킷의 이동 경로에 관한 정보도 주기적으로 삭제하는 방식을 취하고 있다. 최종 목적지 바로 전단인 출구 릴레이 컴퓨터에서 암호화된 데이터가 복호화 되면서 HTTP와 FTP 등의 프로토콜 내용이 보여지게 되고 최종 목적지로 전달이 된다. 즉, 출구 릴레이 컴퓨터와 최종 목적지인 웹 사이트 사이에서 패킹 감청을 할 수 있다. 토르 네트워크는 위와 같은 과정을 통해서 내용(패킷)의 암호화, 헤더(최종 목적지) 숨김, 사용자의 현위치 숨김 등을 보장함으로써 그 어느 노드를 통해서도 쉽게 전체 통신을 추적하거나 분석할 수 없도록 한다.Traffic in the Tor network is not delivered directly to the final destination, and because each Tor's relay server receives encrypted data, it cannot decrypt in the middle, and the origin and final destination of the packet are unknown, and the next relay to move Only the address of the server is known. In addition, packets are encrypted and transmitted as many as the number of relay servers to be moved, and each time they pass through the relay server, they are decrypted one by one and then moved to the next relay server, and information about the path of the packet is periodically deleted. Is taking. As the encrypted data is decrypted at the exit relay computer immediately preceding the final destination, protocol contents such as HTTP and FTP are displayed and delivered to the final destination. That is, packing interception can be performed between the exit relay computer and the final destination website. Through the above process, the Tor network ensures encryption of contents (packets), hiding of the header (final destination), and hiding of the user's current location, so that it cannot easily track or analyze the entire communication through any node.

최근 들어 토르 네트워크 등과 같은 익명 네트워크 내에 스트리밍 서비스 등을 이용한 불법복제물 유통 사이트의 증가와 이를 통한 불법적인 콘텐츠 거래가 급격하게 증가함에 따라 저작권 침해 발생 가능성이 증대되고 있다. 따라서 이러한 불법 콘텐츠 유통에 대한 모니터링 및 침해 대응의 요구가 증가하고 있다. 이에 효과적으로 대응하기 위해서는 토르 네트워크 내 사용자나 서비스 제공자를 모니터링하고 실명화할 수 있는 기술이 요구되는데, 이를 위해 토르 네트워크의 트래픽을 분석하는 것이 필요하고, 트래픽 분석을 위해서는 토르 네트워크의 많은 트래픽을 효과적으로 수집하여야 한다. In recent years, the possibility of copyright infringement has increased as the number of illegal copy distribution sites using streaming services, etc. in anonymous networks, such as the Tor network, and the increase in illegal content transactions rapidly increases. Accordingly, there is an increasing demand for monitoring and responding to infringement of illegal content distribution. In order to effectively respond to this, a technology capable of monitoring and realizing users or service providers in the Tor network is required. To this end, it is necessary to analyze the traffic of the Tor network, and for traffic analysis, it is necessary to effectively collect a lot of traffic from the Tor network. do.

본 발명이 이루고자 하는 기술적 과제는 토르 네트워크의 많은 트래픽을 효과적으로 수집할 수 있는 트래픽 수집 시스템을 제공하는 데 있다.Technical problem to be achieved by the present invention is to provide a traffic collection system that can effectively collect a lot of traffic in the Tor network.

또한 본 발명이 이루고자 하는 기술적 과제는 토르 네트워크와 관련이 있는 트래픽만을 수집할 수 있는 트래픽 수집 시스템을 제공하는 데 있다.In addition, a technical problem to be achieved by the present invention is to provide a traffic collection system capable of collecting only traffic related to the Tor network.

또한 본 발명이 이루고자 하는 기술적 과제는 토르 네트워크에서 제공되는 히든 웹서비스의 URL과 그에 해당하는 웹페이지의 특징점 정보를 수집할 수 있는 트래픽 수집 시스템을 제공하는 데 있다.In addition, a technical problem to be achieved by the present invention is to provide a traffic collection system capable of collecting the URL of the hidden web service provided in the Tor network and the feature point information of the corresponding web page.

본 발명의 해결하고자 하는 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved of the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 토르 네트워크의 트래픽 수집 시스템은, 사설 네트워크에 설치되고, 다수의 토르 클라이언트 역할을 하는 컴퓨팅 장치로서, 각각이 사설 IP 주소를 가지며 토르 클라이언트 역할을 하는 복수의 가상머신들을 포함하는 컴퓨팅 장치; 및 상기 복수의 가상머신들과 토르 네트워크 간의 트래픽을 수집하는 역할을 하는 트래픽 수집 서버를 포함하고, 상기 가상머신들 각각은, 토르 브라우저를 실행 및 제어하여 상기 토르 네트워크 상의 히든 서비스 서버에 접속하고 상기 히든 서비스 서버에서 제공하는 웹페이지 파일을 다운로드하여 토르 네트워크를 통한 트래픽을 발생시키는 서비스 접속부; 상기 발생되는 트래픽을 포함하는 pcap 파일을 생성하는 pcap 파일 생성부; 상기 토르 네트워크의 엔트리 노드(entry node)의 IP 주소의 리스트를 보유하고, 상기 pcap 파일에 포함되어 있는 트래픽의 목적지 IP 주소와 상기 엔트리 노드의 IP 주소를 비교하여 상기 목적지 IP 주소가 상기 엔트리 노드의 IP 주소를 포함하는 트래픽을 추출하고, 상기 추출된 트래픽만을 포함하는 pcap 파일을 생성하는 필터링부; 상기 필터링부에서 생성된 상기 pcap 파일을 상기 트래픽 수집 서버로 전송하는 파일 전송부를 포함하고, 상기 트래픽 수집 서버는, 상기 가상머신들을 제어하고, 상기 가상머신들로부터 수신되는 pcap 파일을 csv 파일로 변환하여 데이터베이스에 저장하는 것을 특징으로 한다.The traffic collection system of the Tor network according to the present invention for solving the above technical problem is a computing device installed in a private network and serving as a plurality of Tor clients, each having a private IP address and serving as a Tor client. A computing device including virtual machines; And a traffic collection server that serves to collect traffic between the plurality of virtual machines and the Tor network, each of the virtual machines running and controlling a Tor browser to access a hidden service server on the Tor network, and A service connection unit that downloads a web page file provided by the hidden service server and generates traffic through the Tor network; A pcap file generation unit generating a pcap file including the generated traffic; A list of IP addresses of the entry nodes of the Tor network is maintained, and the destination IP address of the traffic included in the pcap file is compared with the IP address of the entry node, so that the destination IP address is the address of the entry node. A filtering unit for extracting traffic including an IP address and generating a pcap file including only the extracted traffic; And a file transmission unit that transmits the pcap file generated by the filtering unit to the traffic collection server, and the traffic collection server controls the virtual machines and converts the pcap files received from the virtual machines into csv files. Characterized in that it is stored in the database.

상기 서비스 접속부는, 가상 디스플레이를 이용하여 상기 웹페이지 파일을 다운로드할 수 있다.The service connection unit may download the web page file using a virtual display.

상기 서비스 접속부, 상기 pcap 파일 생성부, 상기 필터링부 및 상기 파일 전송부는 상기 가상머신의 사용자 공간에 포함되고, 상기 가상머신의 커널 공간에 포함되는 패킷 캡쳐부로서, 상기 발생되는 트래픽의 패킷을 캡쳐하여 상기 커널 공간의 커널 버퍼에 임시로 저장하고, 상기 커널 버퍼에 임시로 저장된 패킷을 상기 사용자 공간의 덤프캡으로 복사하는 패킷 캡쳐부를 더 포함하고, 상기 pcap 파일 생성부는 상기 덤프캡에 복사된 패킷으로부터 pcap 파일을 생성할 수 있다.The service connection unit, the pcap file generation unit, the filtering unit and the file transmission unit are included in the user space of the virtual machine, and are included in the kernel space of the virtual machine as a packet capture unit, which captures packets of the generated traffic. And a packet capture unit for temporarily storing the kernel space in the kernel buffer and copying the temporarily stored packet to the user space dumpcap, and the pcap file generating unit is a packet copied to the dumpcap. You can create a pcap file from.

상기 서비스 접속부는, 상기 토르 브라우저의 profile 디렉토리에 방문기록을 저장하는 기능을 실행하도록 하는 xpi 형식의 파일을 저장하여 둠으로써, 상기 토르 브라우저를 실행할 때 방문기록을 저장하도록 자동으로 설정하고, 이로써 상기 토르 브라우저는 접속한 사이트의 기록을 상기 profile 디렉토리의 파일에 저장할 수 있다.The service connection unit automatically sets the visitor history to be stored when the Tor browser is executed by storing a file in an xpi format that executes a function of storing the visit history in the Tor browser profile directory. The Tor browser can store the records of the sites you have accessed in a file in the profile directory.

상기 가상머신들 각각은, 상기 profile 디렉토리의 파일로부터 상기 토르 브라우저가 접속한 사이트의 URL을 조회하고, 상기 URL에 해당하는 웹페이지 파일을 분석하여 상기 웹페이지 파일에 대한 특징점으로서 모든 domain의 수, 같은 domain의 수, third party link의 수, 태그 경로 수, 태그 수, 고유 태그 경로 수, 태그 경로 최소값, 태그 경로 최대값, 태그 경로 총 합, 최대 태그 경로 수, 최소 태그 경로 수, 중간값 태그 경로 수, 모든 문자 수, 파일의 수, 및 html 문서 크기를 포함하는 특징점의 값을 추출하고, 상기 URL 및 상기 특징점의 값을 포함하는 특징점 파일을 생성하는 특징점 추출부를 더 포함하고, 상기 파일 전송부는 상기 필터링부에서 생성된 상기 pcap 파일과 함께 상기 특징점 파일을 상기 트래픽 수집 서버로 전송하고, 상기 트래픽 수집 서버는 상기 특징점 파일을 상기 데이터베이스에 저장할 수 있다.Each of the virtual machines retrieves the URL of the site accessed by the Tor browser from a file in the profile directory, analyzes the web page file corresponding to the URL, and the number of all domains as a feature point for the web page file, Same number of domains, number of third party links, number of tag paths, number of tags, number of unique tag paths, minimum tag path, maximum tag path, total tag path, maximum number of tag paths, minimum number of tag paths, middle value tag Further comprising a feature point extracting unit for extracting a value of a feature point including the number of paths, the number of all characters, the number of files, and the html document size, and generating a feature point file including the URL and the value of the feature point, and transmitting the file The unit may transmit the feature point file together with the pcap file generated by the filtering unit to the traffic collection server, and the traffic collection server may store the feature point file in the database.

상기 특징점 추출부는 상기 필터링부가 상기 목적지 IP 주소와 상기 엔트리 노드의 IP 주소를 비교한 결과 상기 목적지 IP 주소가 상기 엔트리 노드의 IP 주소를 포함하는 경우에만 상기 URL에 해당하는 웹페이지 파일을 분석하여 상기 특징점의 값을 추출하고, 상기 URL 및 상기 특징점의 값을 포함하는 특징점 파일을 생성할 수 있다.The feature point extracting unit analyzes the webpage file corresponding to the URL only when the filtering unit compares the destination IP address and the IP address of the entry node, and the destination IP address includes the IP address of the entry node. A feature point value may be extracted, and a feature point file including the URL and the value of the feature point may be generated.

상기된 본 발명에 의하면, 토르 네트워크의 많은 트래픽을 효과적으로 수집할 수 있는 트래픽 수집 시스템을 제공할 수 있다.According to the present invention described above, it is possible to provide a traffic collection system capable of effectively collecting a large amount of traffic in a Tor network.

또한 본 발명에 의하면, 토르 네트워크와 관련이 있는 트래픽만을 수집할 수 있는 트래픽 수집 시스템을 제공할 수 있다.In addition, according to the present invention, it is possible to provide a traffic collection system capable of collecting only traffic related to the Tor network.

또한 본 발명에 의하면, 토르 네트워크에서 제공되는 히든 웹서비스의 URL과 그에 해당하는 웹페이지의 특징점 정보를 수집하여 머신 러닝에 활용할 수 있는 트래픽 수집 시스템을 제공할 수 있다.Further, according to the present invention, it is possible to provide a traffic collection system that can be used for machine learning by collecting the URL of the hidden web service provided in the Tor network and the feature point information of the corresponding web page.

본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 토르 네트워크의 개략적인 구조를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 토르 네트워크의 트래픽 수집 시스템의 구성을 나타낸다.
도 3은 본 발명의 일 실시예에 따른, 컴퓨팅 장치(10)의 가상머신(100)의 구성을 나타낸다.
도 4는 데이터베이스(30)의 트래픽 수집 데이터 저장을 위한 테이블 구조를 나타낸다.
도 5는 특징점 추출부(127)에서 추출되는 특징점들과 각 특징점에 대한 설명을 나타낸다.
1 shows a schematic structure of a Tor network.
2 shows a configuration of a traffic collection system of a Tor network according to an embodiment of the present invention.
3 shows a configuration of the virtual machine 100 of the computing device 10 according to an embodiment of the present invention.
4 shows a table structure for storing traffic collection data in the database 30.
5 shows feature points extracted from the feature point extracting unit 127 and a description of each feature point.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. In the following description and the accompanying drawings, elements that are substantially the same are denoted by the same reference numerals, and redundant description will be omitted. In addition, in the description of the present invention, when it is determined that detailed descriptions of related known functions or configurations may unnecessarily obscure the subject matter of the present invention, detailed descriptions thereof will be omitted.

도 2는 본 발명의 일 실시예에 따른 토르 네트워크의 트래픽 수집 시스템의 구성을 나타낸다.2 shows a configuration of a traffic collection system of a Tor network according to an embodiment of the present invention.

본 실시예에 따른 트래픽 수집 시스템은 사설 네트워크 내에 설치되며, 컴퓨팅 장치(10), 트래픽 수집 서버(20), 데이터베이스(30), 스위칭 허브(40), 게이트웨이(50), PC(60) 등을 포함할 수 있다. 방화벽, IDS(Intrusion Detection System), IPS(Intrusion Prevention System) 등에 의해 트래픽이 차단되지 않도록 사설 네트워크 내에 별도의 토르 네트워크 트래픽 수집용 네트워크를 구축하는 것이 바람직하다. The traffic collection system according to this embodiment is installed in a private network, and includes a computing device 10, a traffic collection server 20, a database 30, a switching hub 40, a gateway 50, a PC 60, and the like. It can contain. It is desirable to build a separate network for collecting Tor network traffic in a private network so that traffic is not blocked by a firewall, IDS (Intrusion Detection System), or IPS (Intrusion Prevention System).

컴퓨팅 장치(10)는 다수의 토르 클라이언트 역할을 한다. 이를 위해 컴퓨팅 장치(10)는 각각이 토르 클라이언트 역할을 하는 다수의(예컨대 20개 내외) 가상머신(100)들을 포함하며, 가상머신(100)들 각각은 할당받아 고정된 사설 IP 주소를 가진다. The computing device 10 serves as a number of Tor clients. To this end, the computing device 10 includes a plurality of (for example, about 20) virtual machines 100 each serving as a Tor client, and each of the virtual machines 100 is assigned and has a fixed private IP address.

PC(60) 역시 토르 클라이언트 역할을 하며, 사설 IP 주소를 가지고, 후술할 가상머신(100)과 동일한 운영체제와 구성 및 동작을 가진다. 가상머신(100)과 별도로 토르 클라이언트 역할을 하는 PC(60)를 구비하는 것은, 가상머신을 이용하는 경우 생길 수 있는 문제를 보완하기 위한 것이다. PC(60) 역시 여러 대가 설치될 수 있다. The PC 60 also functions as a Thor client, has a private IP address, and has the same operating system, configuration, and operation as the virtual machine 100 to be described later. Having the PC 60 serving as a Thor client separately from the virtual machine 100 is intended to supplement a problem that may occur when using the virtual machine. Several PCs 60 may also be installed.

트래픽 수집 서버(20)는 컴퓨팅 장치(10)와 토르 네트워크 간의 트래픽, 즉 가상머신(100)들과 토르 네트워크 간의 트래픽을 수집하는 역할을 하며, 가상머신(100)들과 PC(60)를 통해 수집되는 트래픽의 데이터 및 웹페이지의 특징점 데이터를 데이터베이스(30)에 저장한다. 또한 트래픽 수집 서버(20)는 컴퓨팅 장치(10)의 가상머신(100)들과 PC(60)의 동작을 제어한다. 예컨대 트래픽 수집 서버(20)는 가상머신(100)들과 PC(60)에게 트래픽 수집 시작 및 종료 등의 명령을 내릴 수 있다. The traffic collection server 20 serves to collect traffic between the computing device 10 and the Tor network, that is, traffic between the virtual machines 100 and the Tor network, through the virtual machines 100 and the PC 60 The collected traffic data and web page feature point data are stored in the database 30. In addition, the traffic collection server 20 controls the operations of the virtual machines 100 of the computing device 10 and the PC 60. For example, the traffic collection server 20 may issue commands such as starting and ending traffic collection to the virtual machines 100 and the PC 60.

스위칭 허브(40)는 컴퓨팅 장치(10), PC(60), 트래픽 수집 서버(20) 및 사설 네트워크의 게이트웨이(50)에 연결되어 트래픽 스위칭 역할을 한다. 따라서 컴퓨팅 장치(10)의 가상머신(100)들과 PC(60)는 스위칭 허브(40)와 게이트웨이(50)를 통해 토르 네트워크에 접속하게 된다. The switching hub 40 is connected to the computing device 10, the PC 60, the traffic collection server 20, and the gateway 50 of the private network to serve as a traffic switching. Accordingly, the virtual machines 100 of the computing device 10 and the PC 60 are connected to the Tor network through the switching hub 40 and the gateway 50.

도 3은 본 발명의 일 실시예에 따른, 컴퓨팅 장치(10)의 가상머신(100)의 구성을 나타낸다. 3 shows a configuration of the virtual machine 100 of the computing device 10 according to an embodiment of the present invention.

가상머신(100)은 서비스 접속부(110), pcap 파일 생성부(120), 필터링부(125), 특징점 추출부(127), 파일 전송부(130), 패킷 캡쳐부(140), 커널 버퍼(150), 프로토콜 스택(160), 덤프캡(170), 가상머신 네트워크 드라이버(180) 등을 포함할 수 있다. The virtual machine 100 includes a service connection unit 110, a pcap file generation unit 120, a filtering unit 125, a feature point extraction unit 127, a file transmission unit 130, a packet capture unit 140, and a kernel buffer ( 150), a protocol stack 160, a dump cap 170, a virtual machine network driver 180, and the like.

서비스 접속부(110), pcap 파일 생성부(120), 필터링부(125), 특징점 추출부(127), 파일 전송부(130), 덤프캡(170)은 가상머신(100)의 사용자 공간에 포함될 수 있고, 패킷 캡쳐부(140), 커널 버퍼(150), 프로토콜 스택(160)은 가상머신(100)의 커널 공간에 포함될 수 있다.The service connection unit 110, the pcap file generation unit 120, the filtering unit 125, the feature point extraction unit 127, the file transmission unit 130, and the dump cap 170 are included in the user space of the virtual machine 100. The packet capture unit 140, the kernel buffer 150, and the protocol stack 160 may be included in the kernel space of the virtual machine 100.

서비스 접속부(110)는 프로토콜 스택(160)과 가상머신 네트워크 드라이버(180)를 통해 토르 네트워크에 접속한다. 서비스 접속부(110)는 엔트리 노드를 거쳐, 히든 웹서비스를 제공하는 히든 서비스 서버(200)에 접속하고, 히든 서비스 서버(200)에서 제공하는 웹페이지 파일을 다운로드하여 토르 네트워크를 통한 트래픽을 발생시킨다. 서비스 접속부(110)는 토르 브라우저(Tor Browser)를 실행 및 제어하여 토르 네트워크 상의 히든 서비스 서버(200)에 접속하고 히든 서비스 서버(200)에서 제공하는 웹페이지 파일을 다운로드할 수 있다. 또한 서비스 접속부(110)는 토르 브라우저를 실행할 때 브라우저 창을 실제로 띄우지 않고 가상 디스플레이를 사용하여 웹페이지 파일을 다운로드할 수 있다.The service connection unit 110 accesses the Thor network through the protocol stack 160 and the virtual machine network driver 180. The service connection unit 110 accesses a hidden service server 200 that provides a hidden web service through an entry node, and downloads a web page file provided by the hidden service server 200 to generate traffic through the Tor network. . The service connection unit 110 may execute and control a Tor Browser to access the Hidden Service Server 200 on the Tor network and download a web page file provided by the Hidden Service Server 200. In addition, the service connection unit 110 may download a webpage file using a virtual display without actually opening a browser window when executing the Tor browser.

토르 브라우저는 Chrome, Firefox, Explorer와 같은 브라우저의 일종으로 토르 네트워크를 사용해 일반적인 웹사이트뿐만 아니라 토르 네트워크에서 제공하는 히든 웹서비스에도 접속할 수 있는 인터넷 브라우저이다. 토르 브라우저는 Firefox 기반으로 개발되었다.The Tor Browser is a type of browser such as Chrome, Firefox, and Explorer that uses the Tor Network to access general websites as well as hidden web services provided by the Tor Network. The Tor Browser is based on Firefox.

Selenium은 주로 웹 어플리케이션을 위한 테스팅 프레임워크로 자동화 테스트를 위한 다양한 기능을 지원한다. Selenium에서는 다양한 웹 드라이버(Web Driver)를 제공하여 Firefox, Chrome, IE 등의 브라우저를 스크립트 기반으로 실행하고 제어한다. Selenium 2.53 버전까지는 별도의 드라이버를 설치하지 않아도 Firefox 브라우저를 실행하고 조작할 수 있었다. 하지만 Selenium 2.53 이후의 버전은 별도로 geckodriver를 설치하고 geckodriver의 경로를 입력하여 Firefox 브라우저를 실행할 수 있다. geckodriver란 Mozilla 재단에서 개발한 웹브라우저 엔진으로, 이를 사용하는 대표적인 것은 Firefox, Thunderbird 등이 있다. Selenium 기반으로 작성된 코드는 W3C Webdriver 프로토콜을 사용하여 geckodriver로 요청을 전송하며, geckodriver는 Marionette 프로토콜로 변환하여 Firefox에 전송하면 Firerox 브라우저는 명령을 이해하고 동작을 수행한다.Selenium is primarily a testing framework for web applications, supporting a variety of features for automated testing. Selenium provides various web drivers to execute and control browsers such as Firefox, Chrome, and IE based on script. Up to version 2.53 of Selenium, you could run and operate the Firefox browser without installing a separate driver. However, Selenium 2.53 or later can install the geckodriver separately and enter the path of the geckodriver to launch the Firefox browser. The geckodriver is a web browser engine developed by the Mozilla Foundation. Typical examples of this are Firefox and Thunderbird. Selenium-based code sends requests to geckodriver using W3C Webdriver protocol, and geckodriver converts to Marionette protocol and sends to Firefox, Firerox browser understands commands and performs actions.

Selenium에는 토르 브라우저를 실행하고 조작하는 웹 드라이버가 별도로 존재하지 않기 때문에, 서비스 접속부(110)는 Firefox를 실행시키는 방식을 사용한다. Selenium으로 Firefox를 실행시킬 때, Firefox의 설정을 토르 브라우저의 설정으로 변경하여 Firefox를 실행시켜 Selenium은 Firefox를 조작하지만 실제로는 토르 브라우저를 조작하는 작업이 가능하다. 각각의 가상머신(100)에는 토르 브라우저가 설치되며, 토르 브라우저의 디렉토리에는 Selenium으로 Firefox를 조작하기 위한 geckodriver가 설치된다.Since there is no separate web driver for executing and operating the Tor browser in Selenium, the service connection unit 110 uses a method of running Firefox. When you run Firefox with Selenium, you change Firefox's settings to Tor Browser's settings to run Firefox, so Selenium manipulates Firefox, but you can actually operate Tor Browser. A Tor browser is installed in each virtual machine 100, and a geckodriver for operating Firefox with Selenium is installed in the Tor browser directory.

한편, 토르 브라우저는 기본적으로 방문기록 등 어떠한 흔적도 남기지 않는다. 토르 브라우저가 실행될 때, 기본 설정은 Firefox와 동일하게 profile 디렉토리에서 설정할 수 있다. 따라서 서비스 접속부(110)는, Firefox의 확장기능(Extension)을 이용하여, 토르 브라우저의 profile 디렉토리에 방문기록을 저장하는 기능을 실행하도록 하는 xpi 형식의 파일을 저장하여 둠으로써, 토르 브라우저를 실행할 때 항상 방문기록을 저장하도록 자동으로 설정하고, 이로써 토르 브라우저는 접속한 사이트의 기록을 profile 디렉토리의 sqlite 파일에 저장한다.Meanwhile, Tor Browser basically does not leave any traces such as visit history. When the Tor browser is launched, the default settings can be set in the profile directory just like Firefox. Therefore, the service connection unit 110 uses an extension of Firefox to store a file of xpi format that executes a function of storing a visit record in a profile directory of the Tor browser, thereby executing the Tor browser. It is automatically configured to always save your visit history, so the Tor Browser saves the history of the site you accessed in the sqlite file in your profile directory.

트래픽 수집이 시작되면, 가상머신 네트워크 드라이버(180)는 네트워크 트래픽의 패킷이 수신될 때마다 패킷의 사본을 커널 공간의 패킷 캡쳐부(140)로 전달한다. 패킷 캡쳐부(140)는 가상머신 네트워크 드라이버(180)로부터 패킷을 캡쳐하여 커널 버퍼(150)에 임시로 저장한다. 그리고 패킷 캡쳐부(140)가 커널 버퍼(150)에 임시로 저장된 패킷을 컨텍스트 전환을 통해 사용자 공간의 덤프캡(170)으로 복사하면, pcap 파일 생성부(120)는 덤프캡(170)에 복사된 패킷으로부터 pcap 파일(libpcap)을 생성한다.When traffic collection starts, the virtual machine network driver 180 transmits a copy of the packet to the packet capture unit 140 in the kernel space whenever a packet of network traffic is received. The packet capture unit 140 captures packets from the virtual machine network driver 180 and temporarily stores them in the kernel buffer 150. Then, when the packet capture unit 140 copies the temporarily stored packet in the kernel buffer 150 to the dump cap 170 in the user space through context switching, the pcap file generation unit 120 copies the dump cap 170 Creates a pcap file (libpcap) from the packet.

한편, 위와 같이 생성되는 pcap 파일은, 토르 네트워크를 통한 트래픽 뿐만 아니라, 일반 웹서비스에 의한 트래픽이나 트래픽 수집 서버(20)와의 통신 등 토르 네트워크와 관련이 없는 트래픽도 포함하게 된다. 따라서 토르 네트워크와 관련이 있는 트래픽만을 수집할 필요가 있다. 이를 위해 필터링부(125)는, 토르 네트워크의 엔트리 노드(entry node)의 IP 주소의 리스트를 보유하고, pcap 파일 생성부(120)에서 생성된 pcap 파일에 포함되어 있는 트래픽의 목적지 IP 주소와 보유하고 있는 엔트리 노드의 IP 주소를 비교하여 목적지 IP 주소가 엔트리 노드의 IP 주소인 트래픽을 추출하고, 이렇게 추출된 트래픽만을 포함하는 pcap 파일을 생성한다. 엔트리 노드들에 대한 정보는 예컨대 Tor Network Status 웹사이트() 등으로부터 크롤링하여 알아낼 수 있다. Meanwhile, the pcap file generated as described above includes not only traffic through the Tor network, but also traffic not related to the Tor network, such as traffic by a general web service or communication with the traffic collection server 20. Therefore, it is necessary to collect only traffic related to the Tor network. To this end, the filtering unit 125 holds a list of IP addresses of the entry nodes of the Tor network, and holds the destination IP addresses of the traffic included in the pcap file generated by the pcap file generating unit 120 The IP address of the entry node being compared is compared to extract the traffic whose destination IP address is the IP address of the entry node, and a pcap file including only the extracted traffic is generated. Information about the entry nodes can be found by crawling, for example, from the Tor Network Status website ().

파일 전송부(130)는 필터링부(125)에서 생성된 pcap 파일을 프로토콜 스택(160)과 가상머신 네트워크 드라이브(180)를 통해 트래픽 수집 서버(20)로 전송한다. 이를 위해 파일 전송부(130)는 CIFS(Common Internet File System) 프로토콜을 이용할 수 있다. 트래픽 수집 서버(20)는 가상머신(100)들로부터 수신되는 pcap 파일을 csv 파일로 변환하여 데이터베이스(30)에 저장한다. The file transfer unit 130 transmits the pcap file generated by the filtering unit 125 to the traffic collection server 20 through the protocol stack 160 and the virtual machine network drive 180. To this end, the file transfer unit 130 may use a Common Internet File System (CIFS) protocol. The traffic collection server 20 converts the pcap file received from the virtual machines 100 into a csv file and stores it in the database 30.

다시 도 2를 참조하면, 트래픽 수집 서버(20)는 스위칭 허브(40)의 미러링 포트와 연결될 수 있다. 그러면 트래픽 수집 서버(20)는 컴퓨팅 장치(10)의 가상머신(100)들과 PC(60)로부터 수신되는 pcap 파일을 수집하는 것과 함께, 스위칭 허브(40)의 미러링 포트를 통해 스위칭 허브(40)를 통과하는 모든 트래픽을 수집할 수 있다. 트래픽 수집 서버(20)는 가상머신(100)들과 PC(60)로부터 수신되는 트래픽과 스위칭 허브(40)의 미러링 포트를 통해 수집되는 트래픽을 비교하여 패킷 로스(loss) 여부를 확인할 수 있다. Referring again to FIG. 2, the traffic collection server 20 may be connected to the mirroring port of the switching hub 40. Then, the traffic collection server 20 collects pcap files received from the virtual machines 100 and the PC 60 of the computing device 10, and through the mirroring port of the switching hub 40, the switching hub 40 ) To collect all traffic passing through it. The traffic collection server 20 may compare the traffic received from the virtual machines 100 and the PC 60 with traffic collected through the mirroring port of the switching hub 40 to check whether or not a packet is lost.

도 4는 데이터베이스(30)의 트래픽 수집 데이터 저장을 위한 테이블 구조를 나타낸다. 데이터베이스(30)의 테이블은, 가상머신 및 히든 웹서비스를 기준으로 트래픽 정보를 나타내는 트래픽 데이터 테이블, 히든 웹서비스를 기준으로 트래픽의 시간, MAC, IP 주소, 포트, 패킷 길이를 나타내는 패킷 테이블, 토르 네트워크 상에서 불법 콘텐츠를 유통하는 히든 웹서비스의 주소를 나타내는 히든 서비스 테이블, 히든 웹서비스의 유형을 나타내는 카테고리 테이블, 가상머신들의 정보를 나타내는 클라이언트 테이블, 토르 네트워크의 엔트리 노드들의 정보를 나타내는 엔트리 노드 테이블, 토르 네트워크의 엑시트 노드(exit node)들의 정보를 나타내는 엑시트 노드 테이블 등을 포함할 수 있다.4 shows a table structure for storing traffic collection data in the database 30. The table of the database 30 includes a traffic data table representing traffic information based on a virtual machine and a hidden web service, a packet table representing traffic time, MAC, IP address, port, and packet length based on the hidden web service, and a Tor A hidden service table indicating the address of a hidden web service that distributes illegal content on the network, a category table indicating the type of hidden web service, a client table indicating information of virtual machines, an entry node table indicating information of entry nodes in the Tor network, And an exit node table indicating information on exit nodes of the Tor network.

다시 도 3을 참조하면, 특징점 추출부(127)는 토르 브라우저의 profile 디렉토리의 sqlite 파일로부터 토르 브라우저가 접속한 사이트의 URL을 조회하고, 조회된 URL에 해당하는 웹페이지 파일(html 파일)을 분석하여 해당 웹페이지 파일에 대한 특징점들의 값을 추출한다.Referring back to FIG. 3, the feature point extraction unit 127 queries the URL of the site accessed by the Tor browser from the sqlite file in the Tor browser's profile directory, and analyzes the web page file (html file) corresponding to the viewed URL. By extracting the values of the feature points for the web page file.

도 5는 특징점 추출부(127)에서 추출되는 특징점들과 각 특징점에 대한 설명을 나타낸다. 도시된 바와 같이, 웹페이지 파일의 특징점은, 모든 domain의 수, 같은 domain의 수, third party link의 수, 태그 경로 수, 태그 수, 고유 태그 경로 수, 태그 경로 최소값, 태그 경로 최대값, 태그 경로 총 합, 최대 태그 경로 수, 최소 태그 경로 수, 중간값 태그 경로 수, 모든 문자 수, 파일의 수, 및 html 문서 크기 등의 총 15가지의 항목을 포함할 수 있다. 5 shows feature points extracted from the feature point extracting unit 127 and a description of each feature point. As shown in the figure, the feature point of the web page file is the number of all domains, the same number of domains, the number of third party links, the number of tag paths, the number of tags, the number of unique tag paths, the minimum tag path, the maximum tag path, and the tag. It can include a total of 15 items, such as the sum of paths, the maximum number of tag paths, the minimum number of tag paths, the number of median tag paths, the number of all characters, the number of files, and the html document size.

그리고 특징점 추출부(127)는 클라이언트 IP, 특징점 추출 대상 URL, 특징점 수집 시간, 특징점 수집 종료 시간, 특징점들의 값을 포함하는 특징점 파일을 생성한다. 각 특징점에 대한 값은 숫자로 표현될 수 있으며, 항목의 순서에 따라 하나의 리스트 형태로 특징점 파일에 포함될 수 있다. The feature point extracting unit 127 generates a feature point file including a client IP, a feature point extraction target URL, a feature point collection time, a feature point collection end time, and values of feature points. The value for each feature point may be expressed as a number, and may be included in the feature point file in the form of a list according to the order of the items.

특징점 추출부(127)가 웹페이지에서 특징점을 추출하여 특징점 파일을 생성하는 것은, 전술한 필터링부(125)에서 pcap 파일에 포함되어 있는 트래픽의 목적지 IP 주소와 엔트리 노드의 IP 주소를 비교한 결과 목적지 IP 주소가 엔트리 노드의 IP 주소를 포함하는 경우, 즉 토르 네트워크를 통한 트래픽이 발생하는 경우에만 수행됨으로써, 토르 네트워크를 통해 접속되는 URL에 대해서만 추출될 수 있다.The feature point extracting unit 127 extracts the feature points from the web page to generate the feature point files, as a result of comparing the destination IP address of the traffic included in the pcap file with the IP address of the entry node in the above-described filtering unit 125 When the destination IP address includes the IP address of the entry node, that is, it is performed only when traffic through the Tor network occurs, it can be extracted only for the URL accessed through the Tor network.

파일 전송부(130)는 필터링부(125)에서 생성된 pcap 파일과 함께 특징점 파일을 트래픽 수집 서버(20)로 전송하고, 트래픽 수집 서버(20)는 특징점 파일을 데이터베이스(30)에 저장한다. The file transfer unit 130 transmits the feature point file together with the pcap file generated by the filtering unit 125 to the traffic collection server 20, and the traffic collection server 20 stores the feature point file in the database 30.

상기된 본 발명에 의하면, 다수의 가상머신(100)들을 이용하여 토르 네트워크의 많은 트래픽을 효과적으로 수집할 수 있고, 토르 네트워크와 관련이 있는 트래픽만을 수집할 수 있다.According to the present invention described above, it is possible to effectively collect a lot of traffic in the Tor network using a plurality of virtual machines 100, and only traffic related to the Tor network.

또한, 토르 네트워크에서 제공되는 히든 웹서비스의 URL과 그에 해당하는 웹페이지의 특징점 정보를 수집할 수 있다. 수집된 히든 웹서비스의 URL과 그에 해당하는 웹페이지의 특징점 정보의 빅 데이터는 머신 러닝(machine learning)을 위한 학습 데이터로 제공되어, 머신 러닝을 이용하여 미지의 히든 웹서비스를 찾아내고 분류하는데 활용될 수 있다. In addition, URLs of hidden web services provided by the Tor network and feature point information of corresponding web pages may be collected. Big data of the URL of the hidden web service and the feature point information of the corresponding web page is provided as learning data for machine learning, and is used to find and classify unknown hidden web services using machine learning Can be.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written in a program executable on a computer and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording medium includes a storage medium such as a magnetic storage medium (eg, ROM, floppy disk, hard disk, etc.), an optical reading medium (eg, CD-ROM, DVD, etc.).

본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 집적 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.Embodiments of the present invention may be represented by functional block configurations and various processing steps. These functional blocks can be implemented with various numbers of hardware or/and software configurations that perform specific functions. For example, an embodiment may be implemented in an integrated circuit configuration such as memory, processing, logic, look-up table, etc., capable of executing various functions by control of one or more microprocessors or other control devices. You can hire them. Similar to the components of the present invention that can be executed with software programming or software components, embodiments include C, C++, including various algorithms implemented with a combination of data structures, processes, routines or other programming components. , Can be implemented in programming or scripting languages such as Java, assembler, etc. Functional aspects can be implemented with algorithms running on one or more processors. In addition, embodiments may employ conventional techniques for electronic environment setting, signal processing, and/or data processing. Terms such as "mechanism", "element", "means", and "configuration" can be used widely and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in connection with a processor or the like.

실시예에서 설명하는 특정 실행들은 일 실시예들로서, 어떠한 방법으로도 실시 예의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific implementations described in the embodiments are examples, and do not limit the scope of the embodiments in any way. For brevity of the specification, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection or connection members of the lines between the components shown in the drawings are illustrative examples of functional connections and/or physical or circuit connections. In the actual device, alternative or additional various functional connections, physical It can be represented as a connection, or circuit connections. In addition, unless specifically mentioned, such as "essential", "important", etc., it may not be a necessary component for the application of the present invention.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been focused on the preferred embodiments. Those skilled in the art to which the present invention pertains will understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in terms of explanation, not limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent range should be interpreted as being included in the present invention.

Claims (6)

토르 네트워크의 트래픽 수집 시스템에 있어서, 상기 트래픽 수집 시스템은 사설 네트워크에 설치되고, 상기 트래픽 수집 시스템은,
다수의 토르 클라이언트 역할을 하는 컴퓨팅 장치로서, 각각이 사설 IP 주소를 가지며 토르 클라이언트 역할을 하는 복수의 가상머신들을 포함하는 컴퓨팅 장치; 및
상기 복수의 가상머신들과 토르 네트워크 간의 트래픽을 수집하는 역할을 하는 트래픽 수집 서버를 포함하고,
상기 가상머신들 각각은,
토르 브라우저를 실행 및 제어하여 상기 토르 네트워크 상의 히든 서비스 서버에 접속하고 상기 히든 서비스 서버에서 제공하는 웹페이지 파일을 다운로드하여 토르 네트워크를 통한 트래픽을 발생시키는 서비스 접속부;
상기 발생되는 트래픽을 포함하는 pcap 파일을 생성하는 pcap 파일 생성부;
상기 토르 네트워크의 엔트리 노드(entry node)의 IP 주소의 리스트를 보유하고, 상기 pcap 파일에 포함되어 있는 트래픽의 목적지 IP 주소와 상기 엔트리 노드의 IP 주소를 비교하여 상기 목적지 IP 주소가 상기 엔트리 노드의 IP 주소를 포함하는 트래픽을 추출하고, 상기 추출된 트래픽만을 포함하는 pcap 파일을 생성하는 필터링부;
상기 필터링부에서 생성된 상기 pcap 파일을 상기 트래픽 수집 서버로 전송하는 파일 전송부를 포함하고,
상기 트래픽 수집 서버는, 상기 가상머신들을 제어하고, 상기 가상머신들로부터 수신되는 pcap 파일을 csv 파일로 변환하여 데이터베이스에 저장하고,
상기 서비스 접속부는, 상기 토르 브라우저의 profile 디렉토리에 방문기록을 저장하는 기능을 실행하도록 하는 xpi 형식의 파일을 저장하고 상기 토르 브라우저를 실행할 때 방문기록을 저장하도록 자동으로 설정함으로써 상기 토르 브라우저는 접속한 사이트의 기록을 상기 profile 디렉토리의 파일에 저장하고,
상기 가상머신들 각각은,
상기 profile 디렉토리의 파일로부터 상기 토르 브라우저가 접속한 사이트의 URL을 조회하고, 상기 URL에 해당하는 웹페이지 파일을 분석하여 상기 웹페이지 파일에 대한 특징점으로서 모든 domain의 수, third party link의 수, 태그 경로 수, 태그 수, 고유 태그 경로 수, 태그 경로 최소값, 태그 경로 최대값, 태그 경로 총 합, 최대 태그 경로 수, 최소 태그 경로 수, 중간값 태그 경로 수, 모든 문자 수, 파일의 수, 및 html 문서 크기를 포함하는 특징점의 값을 추출하고, 상기 URL 및 상기 특징점의 값을 포함하는 특징점 파일을 생성하는 특징점 추출부를 더 포함하고,
상기 파일 전송부는 상기 필터링부에서 생성된 상기 pcap 파일과 함께 상기 특징점 파일을 상기 트래픽 수집 서버로 전송하고,
상기 트래픽 수집 서버는 상기 특징점 파일을 상기 데이터베이스에 저장하는 것을 특징으로 하는 토르 네트워크의 트래픽 수집 시스템.
In the traffic collection system of the Tor network, the traffic collection system is installed in a private network, and the traffic collection system comprises:
A computing device serving as a plurality of Tor clients, comprising: a computing device each having a private IP address and including a plurality of virtual machines acting as a Tor client; And
And a traffic collection server that serves to collect traffic between the plurality of virtual machines and the Tor network,
Each of the virtual machines,
A service connection unit that executes and controls a Tor browser to access a hidden service server on the Tor network and downloads a web page file provided by the Hidden service server to generate traffic through the Tor network;
A pcap file generation unit generating a pcap file including the generated traffic;
A list of IP addresses of the entry nodes of the Tor network is maintained, and the destination IP address of the traffic included in the pcap file is compared with the IP address of the entry node, so that the destination IP address is the address of the entry node. A filtering unit for extracting traffic including an IP address and generating a pcap file including only the extracted traffic;
And a file transmission unit transmitting the pcap file generated by the filtering unit to the traffic collection server,
The traffic collection server controls the virtual machines, converts the pcap file received from the virtual machines into a csv file and stores it in a database,
The service access unit stores an xpi format file for executing a function of storing a visit record in a profile directory of the tor browser and automatically sets to store a visit record when the tor browser is executed, so that the tor browser is accessed. The site records are stored in a file in the profile directory.
Each of the virtual machines,
The URL of the site accessed by the Tor browser is retrieved from the file in the profile directory, and the web page file corresponding to the URL is analyzed, and as a characteristic point for the web page file, the number of all domains, the number of third party links, and tags Number of paths, number of tags, number of unique tag paths, minimum value of tag paths, maximum value of tag paths, sum of tag paths, maximum number of tag paths, minimum number of tag paths, median number of tag paths, number of all characters, number of files, and Further comprising a feature point extraction unit for extracting the value of the feature point including the html document size, and generating a feature point file containing the URL and the value of the feature point,
The file transmission unit transmits the feature point file together with the pcap file generated by the filtering unit to the traffic collection server,
And the traffic collection server stores the feature point file in the database.
제1항에 있어서,
상기 서비스 접속부는, 가상 디스플레이를 이용하여 상기 웹페이지 파일을 다운로드하는 것을 특징으로 하는 토르 네트워크의 트래픽 수집 시스템.
According to claim 1,
The service connection unit, the traffic collection system of the Tor network, characterized in that for downloading the web page file using a virtual display.
제1항에 있어서,
상기 서비스 접속부, 상기 pcap 파일 생성부, 상기 필터링부 및 상기 파일 전송부는 상기 가상머신의 사용자 공간에 포함되고,
상기 가상머신의 커널 공간에 포함되는 패킷 캡쳐부로서, 상기 발생되는 트래픽의 패킷을 캡쳐하여 상기 커널 공간의 커널 버퍼에 임시로 저장하고, 상기 커널 버퍼에 임시로 저장된 패킷을 상기 사용자 공간의 덤프캡으로 복사하는 패킷 캡쳐부를 더 포함하고,
상기 pcap 파일 생성부는 상기 덤프캡에 복사된 패킷으로부터 pcap 파일을 생성하는 것을 특징으로 하는 토르 네트워크의 트래픽 수집 시스템.
According to claim 1,
The service connection unit, the pcap file generation unit, the filtering unit and the file transmission unit is included in the user space of the virtual machine,
As a packet capture part included in the kernel space of the virtual machine, the generated traffic packet is captured and temporarily stored in a kernel buffer of the kernel space, and a packet temporarily stored in the kernel buffer is dump cap of the user space Further comprising a packet capture unit to copy,
The pcap file generating unit generates a pcap file from packets copied to the dump cap, the traffic collection system of the Tor network.
삭제delete 삭제delete 제1항에 있어서,
상기 특징점 추출부는 상기 필터링부가 상기 목적지 IP 주소와 상기 엔트리 노드의 IP 주소를 비교한 결과 상기 목적지 IP 주소가 상기 엔트리 노드의 IP 주소를 포함하는 경우에만 상기 URL에 해당하는 웹페이지 파일을 분석하여 상기 특징점의 값을 추출하고, 상기 URL 및 상기 특징점의 값을 포함하는 특징점 파일을 생성하는 것을 특징으로 하는 토르 네트워크의 트래픽 수집 시스템.
According to claim 1,
The feature point extracting unit analyzes the webpage file corresponding to the URL only when the filtering unit compares the destination IP address and the IP address of the entry node, and the destination IP address includes the IP address of the entry node. The traffic collection system of the Tor network, characterized by extracting a value of a feature point and generating a feature point file including the URL and the value of the feature point.
KR1020190160679A 2019-12-05 2019-12-05 System for collecting traffic and feature of TOR network using private network and virtual machine KR102125966B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190160679A KR102125966B1 (en) 2019-12-05 2019-12-05 System for collecting traffic and feature of TOR network using private network and virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190160679A KR102125966B1 (en) 2019-12-05 2019-12-05 System for collecting traffic and feature of TOR network using private network and virtual machine

Publications (1)

Publication Number Publication Date
KR102125966B1 true KR102125966B1 (en) 2020-06-23

Family

ID=71137888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190160679A KR102125966B1 (en) 2019-12-05 2019-12-05 System for collecting traffic and feature of TOR network using private network and virtual machine

Country Status (1)

Country Link
KR (1) KR102125966B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598493A (en) * 2022-01-14 2022-06-07 浙江省通信产业服务有限公司 Network flow acquisition method
KR102552878B1 (en) 2022-12-23 2023-07-10 주식회사 앰진 Method and apparatus for extracting feature and constructing data of invalid traffic

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081471A1 (en) * 2005-10-06 2007-04-12 Alcatel Usa Sourcing, L.P. Apparatus and method for analyzing packet data streams
KR20140120895A (en) * 2012-01-30 2014-10-14 마이크로소프트 코포레이션 Automated build-out of a cloud-computing stamp
KR20170049169A (en) * 2015-10-28 2017-05-10 주식회사 엘지유플러스 Apparatus and method for controlling information access in internet
US20180054370A1 (en) * 2016-08-19 2018-02-22 Verizon Patent And Licensing Inc. Automatically verifying logic of protocol messages exchanged between devices during a communication session

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081471A1 (en) * 2005-10-06 2007-04-12 Alcatel Usa Sourcing, L.P. Apparatus and method for analyzing packet data streams
KR20140120895A (en) * 2012-01-30 2014-10-14 마이크로소프트 코포레이션 Automated build-out of a cloud-computing stamp
KR20170049169A (en) * 2015-10-28 2017-05-10 주식회사 엘지유플러스 Apparatus and method for controlling information access in internet
US20180054370A1 (en) * 2016-08-19 2018-02-22 Verizon Patent And Licensing Inc. Automatically verifying logic of protocol messages exchanged between devices during a communication session

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. Almubayed, A. Hadi and J. Atoum, "A model for detecting tor encrypted traffic using supervised machine learning", Int. J. Comput. Netw. Inf. Secur, vol. 7, no. 7, pp.10-23(2015.06.) *
H. J. Choi, H. S. Kim and D. M. Shin, "Design and Implementation of Tor Traffic Collection System Using Multiple Virtual Machines", International Journal of Knowledge Engineering, vol.5, no.2, pp.68-7 *
최현재, 김현수, 신동명, "다수의 가상머신을 이용한 토르 트래픽 수집 시스템 설계 및 구현", 한국소프트웨어감정평가학회 논문지, vol.15, no.1, pp.1-9(2019.06.)* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598493A (en) * 2022-01-14 2022-06-07 浙江省通信产业服务有限公司 Network flow acquisition method
CN114598493B (en) * 2022-01-14 2023-09-05 浙江省通信产业服务有限公司 Network traffic collection method
KR102552878B1 (en) 2022-12-23 2023-07-10 주식회사 앰진 Method and apparatus for extracting feature and constructing data of invalid traffic

Similar Documents

Publication Publication Date Title
Merzdovnik et al. Block me if you can: A large-scale study of tracker-blocking tools
US10574695B2 (en) Gateway apparatus, detecting method of malicious domain and hacked host thereof, and non-transitory computer readable medium
Rafique et al. Firma: Malware clustering and network signature generation with mixed network behaviors
US20190173904A1 (en) Entity Group Behavior Profiling
US11277422B2 (en) Detecting malicious network addresses within a local network
US9817969B2 (en) Device for detecting cyber attack based on event analysis and method thereof
US8533581B2 (en) Optimizing security seals on web pages
US11411987B2 (en) Methods and systems for detection of security threats on network resources based on referrer information
JP6783261B2 (en) Threat information extraction device and threat information extraction system
KR102125966B1 (en) System for collecting traffic and feature of TOR network using private network and virtual machine
Perino et al. ProxyTorrent: Untangling the free HTTP (S) proxy ecosystem
CN116158057A (en) System and method for enhancing user privacy
Han et al. The role of cloud services in malicious software: Trends and insights
Yen Detecting stealthy malware using behavioral features in network traffic
Miller et al. Detection of anonymising proxies using machine learning
Fifield et al. Oss: Using online scanning services for censorship circumvention
Di Martino et al. Knocking on IPs: Identifying HTTPS Websites for Zero‐Rated Traffic
CN111371917B (en) Domain name detection method and system
Li et al. Mind the amplification: cracking content delivery networks via DDoS attacks
Niu et al. HTTP‐Based APT Malware Infection Detection Using URL Correlation Analysis
KR20170046103A (en) Web address extraction system for checking malicious code and method thereof
Apostol et al. Hiding cloud network access patterns for enhanced privacy
JP7293170B2 (en) Signature generator, detector, signature generator and detector
JP5738042B2 (en) Gateway device, information processing device, processing method, and program
Alageel et al. EarlyCrow: Detecting APT malware command and control over HTTP (S) using contextual summaries

Legal Events

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