KR20110036418A - System and method for dns look-aside - Google Patents

System and method for dns look-aside Download PDF

Info

Publication number
KR20110036418A
KR20110036418A KR1020090094078A KR20090094078A KR20110036418A KR 20110036418 A KR20110036418 A KR 20110036418A KR 1020090094078 A KR1020090094078 A KR 1020090094078A KR 20090094078 A KR20090094078 A KR 20090094078A KR 20110036418 A KR20110036418 A KR 20110036418A
Authority
KR
South Korea
Prior art keywords
address
reverse mapping
mapping data
client
domain
Prior art date
Application number
KR1020090094078A
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 KR1020090094078A priority Critical patent/KR20110036418A/en
Publication of KR20110036418A publication Critical patent/KR20110036418A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A DNS(Domain Name System) look-aside apparatus is provided to exactly perform a reverse map a remote host IP address to a domain address which is used by a client. CONSTITUTION: A reverse mapping data collecting unit(110) extracts address mapping data from a DNS message. The reverse mapping data collecting unit collects reverse mapping data which is needed for changing IP address into a domain address. A reverse mapping data storage(130) stores reverse mapping data which is collected in the reverse mapping data collecting unit to a memory of a computer. A reverse mapping unit(120) offers the reverse mapping function of changing the IP address into the domain address using the reverse mapping data stored in the reverse mapping data storage.

Description

디엔에스 룩어사이드 장치 및 방법{System and method for DNS Look-Aside}DS lookaside device and method {System and method for DNS Look-Aside}

본 발명은 IP 주소를 도메인 주소로 변환하는 장치 및 방법에 관한 것으로, 보다 상세하게는 클라이언트가 로컬 네임서버를 이용하여 도메인 주소를 IP 주소로 변환하는 과정에서 사용되는 DNS 메시지를 검출하여 리버스 매핑 데이터를 구축하고, 상기 리버스 매핑 데이터를 이용하여 IP 주소를 도메인 주소로 변환하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for converting an IP address into a domain address, and more particularly, to reverse mapping data by detecting a DNS message used by a client in converting a domain address into an IP address using a local name server. And an apparatus and method for converting an IP address into a domain address using the reverse mapping data.

인터넷(Internet)에는 수많은 호스트가 연결되어 있으며, 이 호스트들에는 각 호스트를 유일하게 식별할 수 있는 IP 주소가 할당되어 있다. 컴퓨터는 숫자로 이루어진 IP 주소를 이용하여 상대 호스트를 식별하지만, 사람은 숫자로 이루어진 IP 주소만을 이용하여 자신이 원하는 호스트를 식별하기가 용이하지 않다. 따라서 사람이 기억하기 쉬운 문자로 구성된 도메인 주소를 호스트에 할당하고, 사람은 응용 프로그램으로 이 도메인 주소를 입력하면 응용 프로그램은 로컬 네임서버를 이용하여 상기 도메인 주소를 IP 주소로 변환하고, 변환된 IP 주소를 이용하여 특정 호스트를 식별하게 된다.There are many hosts connected to the Internet, and these hosts are assigned IP addresses that uniquely identify each host. Computers identify counterpart hosts using numeric IP addresses, but humans do not easily identify hosts they want using only numeric IP addresses. Therefore, when a person assigns a domain address composed of characters that are easy to remember to a host, and a person enters the domain address into an application, the application converts the domain address into an IP address using a local name server and converts the converted IP into an IP address. The address is used to identify a particular host.

상기의 예와 같이 사람이 기억하기 쉬운 도메인 주소를 IP 주소로 변환하는 것을 포워드 매핑(forward mapping)이라고 하며, 도메인 네임 시스템(DNS; Domain Name System)의 주요한 기능이 이 포워드 매핑이다. 인터넷 상에서 응용 서비스를 제공하는 서버라면 반드시 포워드 매핑이 가능하도록 도메인 네임 시스템이 설정되어 있어야 한다. 만약 포워드 매핑이 가능하도록 도메인 네임 시스템이 설정되어 있지 않다면 사람이 도메인 주소를 이용하여 해당 서버를 접속할 수 없게 된다.Converting a domain address, which is easy for a person to remember, to an IP address as in the above example is called forward mapping, and the main function of the Domain Name System (DNS) is this forward mapping. Servers that provide application services on the Internet must have a domain name system set up to enable forward mapping. If the domain name system is not configured to enable forward mapping, no one can access the server using the domain address.

반면, 때로는 IP 주소를 도메인 주소로 역변환하는 경우도 있는데, 이것을 리버스 매핑(reverse mapping)이라고 한다. 리버스 매핑은 포워드 매핑과 달리 필수적으로 설정을 할 필요는 없다. 리버스 매핑을 설정하지 않아도 사람이 도메인 주소를 이용하여 해당 서버를 접속하는 데에는 문제가 없으며, 오히려 보안상의 이유로 리버스 매핑을 일부러 설정하지 않는 경우도 많다.On the other hand, sometimes an IP address is translated back into a domain address, which is called reverse mapping. Reverse mapping, unlike forward mapping, does not have to be configured. Even if you do not set up reverse mapping, there is no problem for a person to connect to the server using a domain address. Rather, for security reasons, reverse mapping is not deliberately set.

리버스 매핑은 원격 서버로 접속하는 일반적인 클라이언트 응용 프로그램에서 사용되기보다는, 주어진 IP 주소를 이에 대응하는 도메인 주소로 역변환해야 하는 특수한 목적의 소프트웨어 및 시스템에서 사용된다. 대표적인 예로 근거리 네트워크(LAN)에 설치되는 네트워크 방화 시스템 및 네트워크 감사 시스템 등이 있을 수 있다.Reverse mapping is used in special purpose software and systems that need to translate a given IP address back to its corresponding domain address, rather than in a typical client application connecting to a remote server. Representative examples may include a network fire protection system and a network audit system installed in a local area network (LAN).

LAN에 설치되는 네트워크 방화 시스템은 외부에서 유해한 트래픽이 LAN 내부로 유입되는 것을 차단함과 동시에, LAN 내부의 컴퓨터가 유해한 외부 서버로 접속하는 것을 차단하는 역할을 수행한다. 유해한 외부 서버는 유해한 웹사이트일 수도 있고, 사용자의 이익과 의사에 반하여 설치된 악성 프로그램이 개인 정보를 외부로 누출시키기 위한 외부 서버일 수도 있다. 이러한 네트워크 방화 시스템은 클라이언 트와 외부 인터넷 사이에 구비되어 클라이언트가 인터넷 상에 존재하는 외부 서버로 접속을 시도할 때 이를 감지하여 차단 및 허용 정책을 수행한다. 이때 네트워크 방화 시스템은 통상적으로 외부 서버로 접속을 시도하는 응용 프로그램과 분리된 프로세스(process) 혹은 분리된 장비이기 때문에, 네트워크 방화 시스템이 클라이언트의 통신 시도를 감지했을 때 획득할 수 있는 정보는 클라이언트의 IP 주소와 포트 번호, 클라이언트가 접속하려는 서버의 IP 주소와 포트 번호 정도로 한정된다. 네트워크 방화 시스템은 주어진 클라이언트와 서버의 IP 주소 및 포트 번호만으로 허용 및 차단 정책을 수행할 수도 있지만, 클라이언트가 접속하려는 서버의 실제 도메인 주소를 이용하면 좀 더 세부적인 허용 및 차단 정책을 수행하는 것이 가능하므로, 이를 위해 리버스 매핑을 사용한다.The network fire protection system installed in the LAN blocks harmful traffic from entering the LAN and prevents computers inside the LAN from accessing harmful external servers. Harmful external servers may be harmful websites or malicious servers installed against user interests and intentions to leak personal information to the outside. The network fire protection system is provided between the client and the external Internet to detect and block the allowance when the client attempts to connect to an external server existing on the Internet. At this time, since the network fire protection system is a process or a separate device that is separated from an application program that attempts to connect to an external server, the information that can be obtained when the network fire protection system detects a client's communication attempt is obtained from the client. It is limited to the IP address and port number, and to the server's IP address and port number. Network fire protection systems can enforce allow and block policies only with the IP addresses and port numbers of a given client and server, but it is possible to enforce more detailed allow and block policies using the actual domain address of the server the client is trying to access. So we use reverse mapping for this.

LAN에 설치되는 네트워크 감사 시스템은 LAN에 위치한 컴퓨터의 통신 내역을 기록하고, 외부로 개인정보나 기업의 기밀이 유출되는 것을 감사(auditing)한다. 네트워크 감사 시스템도 네트워크 방화 시스템과 마찬가지로 클라이언트와 외부 인터넷 사이에 구비되어 클라이언트가 인터넷 상에 존재하는 외부 서버로 접속하려는 시도를 감지하고 그 내역을 기록한다. 이 네트워크 감사 시스템도 클라이언트가 외부로 접속하려는 것을 감지하는 시점에서 획득할 수 있는 정보는 클라이언트의 IP 주소와 포트 번호, 클라이언트가 접속하려는 서버의 IP 주소와 포트 번호로 한정된다. 따라서 클라이언트가 접속한 서버의 주소를 기록할 때 서버의 주소를 숫자로 구성된 IP 주소로 저장하기보다는 도메인 주소로 저장하면 사람이 이해하기 쉬우므로, 이를 위해 리버스 매핑을 사용한다.The network audit system installed in the LAN records the communication details of the computers located in the LAN and audits the leakage of personal information or corporate confidentiality. A network audit system, like a network fire protection system, is provided between the client and the external Internet to detect and record an attempt by the client to connect to an external server on the Internet. When the network audit system detects that the client is trying to connect to the outside, the information that can be obtained is limited to the client's IP address and port number and the server's IP address and port number. Therefore, when recording the address of a server that a client accesses, it is easier for human to understand if the server address is stored as a domain address rather than as a numeric IP address. Therefore, reverse mapping is used.

종래 기술에 의한 리버스 매핑 과정을 도 12를 참조하여 설명한다. 도 12는 종래기술에 따른 리버스 매핑 과정을 설명하기 위한 블록도이다. IP 주소를 이에 대응하는 도메인 주소로 변환하고자 하는 리버스 매핑 클라이언트(510)는 로컬 네임서버(520)에게 리버스 매핑 질의를 한다. 이때 도메인 주소로 변경하고자 하는 IP 주소가 208.77.188.166이라면 로컬 네임서버로는 166.188.77.208.in-addr.arpa. 주소로 질의를 한다. 로컬 네임서버(520)는 리버스 매핑 요청을 받아 리버스 매핑을 수행한다. 이때 루트 네임서버(530)에게 먼저 질의를 하고, 루트 네임서버(530)가 반환하는 리퍼럴(referral)을 이용하여 208.in-addr.arpa. 네임서버(540)로 질의를 하고, 다시 208.in-addr.arpa. 네임서버(540)가 반환하는 리퍼럴을 이용하여 188.77.208.in-addr.arpa. 네임서버(550)로 질의를 하고, 188.77.208.in-addr.arpa. 네임서버(550)는 208.77.188.166 주소에 대응하는 도메인 주소인 www.example.com을 답변으로 반환해준다. 이때 로컬 네임서버(520)는 상기 답변을 리버스 매핑 클라이언트(510)에게 되돌려주고 리버스 매핑 과정은 종료가 된다.A reverse mapping process according to the prior art will be described with reference to FIG. 12. 12 is a block diagram illustrating a reverse mapping process according to the prior art. The reverse mapping client 510 which wants to convert an IP address into a corresponding domain address makes a reverse mapping query to the local name server 520. If the IP address that you want to change to the domain address is 208.77.188.166, 166.188.77.208.in-addr.arpa. Inquire by address. The local name server 520 receives the reverse mapping request and performs reverse mapping. In this case, the query is first made to the root name server 530, and then 208.in-addr.arpa. Query to name server 540 and again 208.in-addr.arpa. 188.77.208.in-addr.arpa using the referral returned by the name server 540. Query the name server 550, and then enter 188.77.208.in-addr.arpa. The name server 550 returns www.example.com, which is a domain address corresponding to the address 208.77.188.166, as an answer. At this time, the local name server 520 returns the answer to the reverse mapping client 510 and the reverse mapping process ends.

상기 종래 기술에 의한 리버스 매핑의 문제점은 다음과 같다.The problem of reverse mapping according to the prior art is as follows.

먼저 특정 호스트의 리버스 매핑이 설정되어 있지 않은 경우에는 IP 주소를 이용하여 이에 대응하는 도메인 주소를 변환할 방법이 전혀 없다는 문제점이 있다. 보안상의 이유 등으로 리버스 매핑이 설정되어 있지 않는 경우가 이에 해당한다.First, when reverse mapping of a specific host is not set, there is no problem in that there is no way of translating a corresponding domain address using an IP address. This is the case when reverse mapping is not configured for security reasons.

다른 문제점으로는, 하나의 IP 주소를 가지는 하나의 물리적 호스트가 여러 개의 도메인 주소로 서비스를 제공하는 경우, 네트워크 방화 시스템이나 네트워크 감사 시스템 등이 획득한 서버의 IP 주소를 클라이언트가 접속하려고 했던 서버의 도메인 주소로 정확히 리버스 매핑하는 것이 불가능하다는 점이다.Another problem is that when a physical host with one IP address provides services to multiple domain addresses, the server attempted to access the IP address of the server acquired by the network fire protection system or network auditing system. It is impossible to exactly reverse map to a domain address.

하나의 물리적 서버 내에 다양한 도메인 주소로 서비스되는 논리적 서버를 포함하고 있는 서버를 예시한 도 13을 참조하면, 하나의 물리적 서버(600)에는 각기 다른 도메인 주소로 서비스되는 웹서버(610, 620), 메일서버(630), FTP 서버(640) 및 악의적인 목적으로 개인정보를 수집하는 악성 개인정보 수집 서버(650)가 존재할 수 있다.Referring to FIG. 13 illustrating a server including a logical server serviced at various domain addresses in one physical server, one physical server 600 includes web servers 610 and 620 serviced at different domain addresses. There may be a mail server 630, an FTP server 640, and a malicious personal information collection server 650 that collects personal information for malicious purposes.

상기와 같은 상황에서 클라이언트와 서버 사이에 구비된 네트워크 방화 시스템을 이용하여 LAN 상의 컴퓨터가 상기 물리적 호스트(600)에서 서비스 중인 웹서버(610, 620), 메일서버(630), FTP 서버(640)로의 접속은 허용하되, 악성 개인정보 수집 서버(650)로의 접속만 구분하여 차단하는 것은 불가능하다. 클라이언트와 서버 사이에 구비되어 클라이언트가 서버로 접속을 시도할 때 이를 감지하는 네트워크 방화 시스템은 클라이언트와 같은 컴퓨터 내에서 드라이버 형태로 구현되었을 수도 있으며, 클라이언트와 분리된 장비로 구현되어 상기 장비에서 IP(internet protocol) 계층의 트래픽을 모니터링함으로써 구현되었을 수도 있다. 어느 형태로 구현되었든 네트워크 방화 시스템이 클라이언트가 외부 서버로 접속하는 것을 감지하였을 시점에 클라이언트가 접속하려는 외부 서버에 대해 획득할 수 있는 정보는 서버의 IP 주소, 포트 번호, 그리고 전송 계층 프로토콜(TCP 혹은 UDP) 정도로 한정된다. 따라서, 이 경우에는 네트워크 방화 시스템이 주어진 서버의 IP 주소를 이용하여 리버스 매핑을 시도하더라도 하나의 IP 주소로 서비스되는 다수의 도메인 주소가 반환되기 때문에 클라이언트가 접속을 시도한 논리적 서버의 이름을 정확히 파악하는 것은 불가능하게 된다.In the above situation, a web server (610, 620), a mail server (630), and an FTP server (640) in which a computer on a LAN is serving the physical host 600 by using a network fire protection system provided between a client and a server. Is allowed, but it is impossible to block only the connection to the malicious personal information collection server 650. The network fire protection system provided between the client and the server to detect when the client attempts to connect to the server may be implemented in the form of a driver in the same computer as the client. Internet protocol) layer may be implemented by monitoring traffic. Either way, when the network fire protection system detects that a client is connecting to an external server, the information it can obtain about the external server that the client is trying to connect to is the server's IP address, port number, and transport layer protocol (TCP or UDP). Therefore, in this case, even if the network firewall attempts reverse mapping using the IP address of a given server, multiple domain addresses serviced by one IP address are returned. It becomes impossible.

부언하면, 상기의 예에서 네트워크 방화 시스템이 클라이언트의 서버 접속을 감지했을 때 수집한 서버의 포트 번호로 어느 정도 클라이언트가 접속하려는 서비스 및 논리적 서버의 도메인 주소를 추측할 수는 있지만, 서버의 포트 번호는 서버 관리자에 의해 용이하게 변경될 수 있다는 것을 당업자는 자명하게 알 수 있을 것이며, 따라서 포트 번호로 클라이언트가 접속하는 서비스 및 논리적 서버의 도메인 주소를 추측하는 것은 근본적인 해결책이 될 수 없다.In other words, in the above example, the port number of the server collected when the network fire protection system detects the client's connection to the server can be used to guess the domain address of the service and the logical server to which the client is connecting. It will be apparent to those skilled in the art that can be easily changed by the server administrator, so guessing the domain address of the logical server and the service to which the client connects by the port number is not a fundamental solution.

또 다른 문제점으로는, 종래 기술에 의한 리버스 매핑은 도 12를 참조하여 설명한 것과 같이 복잡한 질의 과정을 거쳐 수행되며 이 과정에서 로컬 네임서버를 비롯한 여러 네임서버에 부하가 발생되고, 여러 네임서버들간 데이터를 교환하는 시간이 다소 소요되는 문제점이 있다.As another problem, the reverse mapping according to the prior art is performed through a complex query process as described with reference to FIG. 12, in which a load is generated on various name servers including a local name server, and data between the various name servers. There is a problem that takes some time to exchange.

본 발명은 상기 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 네트워크 방화 시스템이나 네트워크 감사 시스템 등을 이용하여 클라이언트가 원격 호스트로 접속하는 것을 감지하였을 때 획득한 원격 호스트의 IP 주소를 클라이언트가 원격 호스트로 접속을 시도할 때 사용한 도메인 주소로 정확히 리버스 매핑하는 장치 및 방법을 제공하는 데 그 목적이 있다. The present invention has been made to solve the problems of the prior art, the remote host IP address obtained when the client detects the connection to the remote host using a network firewall or network audit system, etc. The purpose is to provide an apparatus and method for correctly reverse mapping to the domain address used when attempting to connect to a local network.

상기와 같은 목적을 달성하기 위한 본 발명은 IP 주소를 도메인 주소로 변환하는 도메인 리버스매핑 장치로서, 클라이언트가 로컬 네임서버를 이용하여 도메인 주소를 IP 주소로 변환하는 과정에서 사용되는 DNS 메시지를 검출하고, 상기 검출된 DNS 메시지로부터 클라이언트가 IP 주소로 변환을 요청한 도메인 주소와 상기 도메인 주소에 대응하는 적어도 하나 이상의 IP 주소를 포함하는 주소 매핑 데이터를 추출하고, 상기 주소 매핑 데이터를 포함하는 IP 주소를 도메인 주소로 변환하기 위해 필요한 리버스 매핑 데이터를 수집하는 리버스 매핑 데이터 수집부; 상기 리버스 매핑 데이터 수집부에서 수집된 리버스 매핑 데이터를 컴퓨터의 기억장치에 저장하는 리버스 매핑 데이터 저장부; 상기 리버스 매핑 데이터 저장부에 저장된 리버스 매핑 데이터를 이용하여 IP 주소를 도메인 주소로 변환하는 리버스 매핑 기능을 제공하는 리버스 매핑부를 포함하는 것을 특징으로 한다.The present invention for achieving the above object is a domain reverse mapping device for converting an IP address into a domain address, the client detects the DNS message used in the process of converting the domain address into an IP address using a local name server And extracting address mapping data including a domain address from which the client requests translation into an IP address and at least one IP address corresponding to the domain address, from the detected DNS message, and converting an IP address including the address mapping data into a domain. A reverse mapping data collector configured to collect reverse mapping data necessary to convert the address into an address; A reverse mapping data storage unit for storing the reverse mapping data collected by the reverse mapping data collecting unit in a storage device of a computer; And a reverse mapping unit for providing a reverse mapping function for converting an IP address into a domain address by using reverse mapping data stored in the reverse mapping data storage unit.

또한, 상기와 같은 목적을 달성하기 위한 본 발명은 IP 주소를 도메인 주소 로 변환하는 도메인 리버스 매핑 방법으로서, 클라이언트가 로컬 네임서버를 이용하여 도메인 주소를 IP 주소로 변환하는 과정에서 사용되는 DNS 메시지를 검출하고, 상기 검출된 DNS 메시지로부터 클라이언트가 IP 주소로 변환을 요청한 도메인 주소와 상기 도메인 주소에 대응하는 적어도 하나 이상의 IP 주소를 포함하는 주소 매핑 데이터를 추출하고, 상기 주소 매핑 데이터를 포함하는 IP 주소를 도메인 주소로 변환하기 위해 필요한 리버스 매핑 데이터를 수집하고, 상기 수집된 리버스 매핑 데이터를 컴퓨터의 기억 장치에 저장하는 리버스 매핑 데이터 수집 단계; 상기 리버스 매핑 데이터 수집 단계에서 수집된 리버스 매핑 데이터를 이용하여 IP 주소를 도메인 주소로 변환하는 리버스 매핑을 수행하는 리버스 매핑 단계를 포함하는 것을 특징으로 한다.In addition, the present invention for achieving the above object is a domain reverse mapping method for converting an IP address to a domain address, the client uses a local name server DNS message used in the process of converting the domain address into an IP address Detects and extracts address mapping data including a domain address from which the client requests translation into an IP address and at least one IP address corresponding to the domain address, from the detected DNS message, and includes the IP address including the address mapping data Collecting reverse mapping data necessary for converting the information into a domain address, and storing the collected reverse mapping data in a storage device of a computer; And a reverse mapping step of performing reverse mapping to convert an IP address into a domain address by using the reverse mapping data collected in the reverse mapping data collection step.

본 발명의 도메인 리버스 매핑 장치 및 방법에 따르면, 네트워크 방화 시스템이나 네트워크 감사 시스템 등을 이용하여 클라이언트가 원격 호스트로 접속하는 것을 감지하였을 때 획득한 원격 호스트의 IP 주소를 클라이언트가 원격 호스트로 접속을 시도할 때 사용한 도메인 주소로 정확히 리버스 매핑할 수 있다. 특히 클라이언트가 접속하려는 원격 호스트의 리버스 매핑이 설정되어 있지 않거나, 동일한 IP 주소를 공유하는 다수의 도메인 주소가 하나의 물리적 서버 내에 존재하는 경우에도 주어진 원격 호스트의 IP 주소를 클라이언트가 접속을 시도할 때 사용한 도메인 주소로 정확히 리버스 매핑할 수 있다. 또한 도메인 리버스 매핑의 속도도 향상시킬 수 있다.According to the domain reverse mapping apparatus and method of the present invention, a client attempts to access a remote host's IP address obtained when the client detects the client's connection to a remote host using a network fire protection system or a network audit system. You can exactly reverse map to the domain address you used. In particular, when a client attempts to connect to a given remote host's IP address, even if the reverse mapping of the remote host to which the client is trying to connect is not configured, or even if multiple domain addresses that share the same IP address exist in one physical server. You can exactly reverse map to the domain address you used. It can also speed up domain reverse mapping.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, the terms or words used in this specification and claims should not be construed as being limited to the common or dictionary meanings, and the inventors properly define the concept of terms in order to best explain their invention. Based on the principle that it can be, it should be interpreted as meaning and concept corresponding to the technical idea of the present invention. Therefore, the embodiments described in the specification and the drawings shown in the drawings are only one of the most preferred embodiments of the present invention and do not represent all of the technical idea of the present invention, various modifications that can be replaced at the time of the present application It should be understood that there may be equivalents and variations.

도 1은 본 발명의 바람직한 실시예에 따른 도메인 매핑 장치를 나타내는 블록도이다.1 is a block diagram illustrating a domain mapping apparatus according to a preferred embodiment of the present invention.

도 1을 참조하면, 클라이언트(210)는 www.example.com과 같은 도메인 주소를 이용하여 원격 호스트(미도시)로 네트워크 접속을 시도하는 응용 프로그램 혹은 그러한 응용 프로그램을 탑재한 컴퓨터 시스템을 의미하며, 그 구체적 예로는 웹서버로 접속하여 웹페이지를 수신하는 웹브라우저 등이 있을 수 있다.Referring to FIG. 1, the client 210 refers to an application program that attempts a network connection to a remote host (not shown) using a domain address such as www.example.com, or a computer system equipped with such an application. Specific examples thereof may include a web browser connected to a web server and receiving a web page.

로컬 네임서버(220)는 클라이언트(210)가 도메인 주소를 IP 주소로 변환할 때 기본적으로 사용하도록 설정되어 있는 네임서버를 의미한다. 로컬 네임서버는 클라이언트(210) 컴퓨터의 사용자가 수동으로 설정할 수도 있으며, DHCP 서버를 이용하여 자동으로 설정되도록 할 수도 있다.The local name server 220 refers to a name server configured to be used by default when the client 210 converts a domain address into an IP address. The local name server may be set manually by a user of the client 210 computer, or may be automatically set using a DHCP server.

도메인 리버스 매핑 장치(100)는 클라이언트(210)가 로컬 네임서버(220)를 이용하여 도메인 주소를 IP 주소로 변환하는 과정에서 사용되는 DNS 메시지를 검출하여 이를 바탕으로 리버스 매핑 데이터를 구축하고, 구축된 데이터를 이용하여 IP 주소를 도메인 주소로 변환하는 리버스 매핑을 수행한다. 도메인 리버스 매핑 장치(100)는 클라이언트(210)와 물리적으로 동일한 컴퓨터 내에서 구현될 수도 있으며, 클라이언트(210)와 물리적으로 분리된 독립적인 장비로 구현될 수도 있다. 또한 일부만 클라이언트(210)와 물리적으로 동일한 컴퓨터 내에서 구현되고, 나머지 일부는 클라이언트(210)와 물리적으로 분리된 독립적인 장비로 구현될 수도 있다.The domain reverse mapping apparatus 100 detects a DNS message used in the process of the client 210 converting a domain address into an IP address using the local name server 220, and builds reverse mapping data based on the DNS message. Performs reverse mapping to convert IP address to domain address using the data. The domain reverse mapping apparatus 100 may be implemented in a computer that is physically identical to the client 210, or may be implemented as an independent device that is physically separated from the client 210. In addition, only a part may be implemented in a computer that is physically identical to the client 210, and a part of the other may be implemented as an independent device physically separated from the client 210.

리버스 매핑 클라이언트(230)는 IP 주소를 도메인 주소로 변환하기를 원하는 소프트웨어 및 시스템이며, 그 예로는 네트워크 방화 시스템, 네트워크 감사 시스템, 네트워크 트래픽 제어 시스템 등이 있을 수 있다.The reverse mapping client 230 is a software and system that wants to convert an IP address into a domain address. Examples of the reverse mapping client 230 may include a network fire protection system, a network audit system, a network traffic control system, and the like.

먼저 클라이언트(210)가 도메인 주소를 이용하여 원격 호스트(미도시)로 접속하는 일반적인 과정을 살펴보면, 클라이언트(210)는 먼저 주어진 도메인 주소를 로컬 네임서버(220)을 이용하여 해당 도메인 주소에 대응하는 IP 주소로 변환한다. 이 포워드 매핑 과정이 성공적으로 완료되면, 클라이언트(210)는 주어진 도메인 주소에 대응하는 IP 주소를 얻게 되고, 그 IP 주소를 이용하여 원격 호스트로 접속한다. 클라이언트(220)는 이러한 포워드 매핑을 하기 위해 gethostbyname()과 같은 소켓 함수를 사용한다. gethostbyname()은 로컬 네임서버(220)로 DNS 질의 메시지를 보내고, 로컬 네임서버(220)는 이에 대한 DNS 응답 메시지를 보냄으로써 이 과 정을 수행한다. 클라이언트(210)와 로컬 네임서버(220) 간의 DNS 질의 및 응답은 UDP를 이용하여 수행되는 것이 보통이지만 TCP를 이용하는 것도 가능하다. 또한 일반적으로 네임서버는 53번 포트를 이용하여 DNS 서비스를 제공한다. 클라이언트(210)는 네임서버로부터 반환된 IP 주소를 connect()와 같은 소켓 함수의 입력 파라미터로 전달하여 원격 호스트(미도시)로 접속을 한다.First, the client 210 looks at a general process of accessing a remote host (not shown) using a domain address. The client 210 first corresponds to a corresponding domain address using a local name server 220. Convert to an IP address. Upon successful completion of this forward mapping process, the client 210 obtains an IP address corresponding to a given domain address, and connects to the remote host using the IP address. The client 220 uses a socket function such as gethostbyname () to do this forward mapping. gethostbyname () sends a DNS query message to the local name server 220, and the local name server 220 performs this process by sending a DNS response message. DNS queries and responses between the client 210 and the local name server 220 are typically performed using UDP, but may also use TCP. Also, name server generally provides DNS service using port 53. The client 210 connects to a remote host (not shown) by passing the IP address returned from the name server as an input parameter of a socket function such as connect ().

도메인 리버스 매핑 장치(100)는 IP 주소를 도메인 주소로 변환하기 위해 필요한 데이터를 수집하는 리버스 매핑 데이터 수집부(110), 상기 리버스 매핑 데이터 수집부(110)에서 수집된 데이터를 저장하는 리버스 매핑 데이터 저장부(130), 상기 리버스 매핑 데이터 저장부(130)에 저장된 데이터를 이용하여 IP 주소를 도메인 주소로 변환하는 리버스 매핑부(120)을 포함한다.The domain reverse mapping apparatus 100 includes a reverse mapping data collector 110 for collecting data necessary for converting an IP address into a domain address, and reverse mapping data for storing data collected by the reverse mapping data collector 110. The storage unit 130 and the reverse mapping unit 120 converts an IP address into a domain address using data stored in the reverse mapping data storage unit 130.

리버스 매핑 데이터 수집부(110)는 클라이언트(210)와 로컬 네임서버(220) 간의 포워드 매핑 과정에서 사용되는 DNS 메시지를 검출하는 DNS 메시지 검출부(111), 상기 검출된 DNS 메시지로부터 주소 매핑 데이터를 추출하는 주소 매핑 데이터 추출부(112)를 포함하며, 더 바람직하게는 상기 클라이언트(220)을 고유하게 식별할 수 있는 식별자를 추출하는 클라이언트 식별자 추출부(113), 상기 DNS 메시지 검출부(111)에서 로컬 네임서버(220)와 교환되는 DNS 메시지만을 선별적으로 검출할 수 있도록 로컬 네임서버(220)의 주소를 추출하는 로컬 네임서버 주소 추출부(114)를 더 포함한다.The reverse mapping data collection unit 110 detects a DNS message used in a forward mapping process between the client 210 and the local name server 220, and extracts address mapping data from the detected DNS message. And a client identifier extracting unit 113 for extracting an identifier capable of uniquely identifying the client 220, and a local message from the DNS message detecting unit 111. It further includes a local name server address extraction unit 114 for extracting the address of the local name server 220 to selectively detect only DNS messages exchanged with the name server 220.

DNS 메시지 검출부(111)는 클라이언트(210)와 로컬 네임서버(220) 사이에 구비되어, 포워드 매핑 과정에서 사용되는 DNS 메시지를 검출한다. 클라이언트(210) 와 로컬 네임서버(220) 사이에 교환되는 DNS 메시지를 검출하기 위해서는 클라이언트(210)에서 원격 호스트의 53번 포트로 전송되거나, 원격 호스트의 53번 포트에서 클라이언트(210)로 전송되는 패킷을 검출한다. 일반적으로 DNS 서비스는 UDP를 통하여 제공되므로 UDP를 통하여 전송되는 패킷만 선별적으로 검출할 수도 있다. 상기 과정에서 검출된 DNS 메시지 중, 포워드 매핑에 사용된 DNS 메시지만 선별하기 위해서는 메시지의 내용을 조사하면 된다. 도 5, 도 6, 도 7을 참조하면, 도 5는 DNS 메시지의 포맷을 도시한 도면이고, 도 6은 상기 DNS 메시지 포맷(300) 중 헤더 섹션의 포맷을 도시한 도면이고, 도 7은 상기 DNS 메시지 포맷(300)의 질의 섹션의 포맷을 도시한 도면이다. 클라이언트(210)에서 로컬 네임서버(220)로 포워드 매핑을 위해 전송되는 DNS 질의 메시지를 선별하기 위해서는 상기 DNS 메시지 헤더 포맷(310)의 QR(Query-Response bit) 필드가 0이고, OPCODE 필드가 0이고, DNS 질의 포맷(320)의 QTYPE 필드가 1이고, QCLASS 필드가 1인지를 확인하면 된다. 로컬 네임서버(220)에서 클라이언트(210)로 전송되는 상기 DNS 질의 메시지에 대한 DNS 응답 메시지를 선별하기 위해서는 상기 DNS 메시지 헤더 포맷(310)의 QR 필드가 1이고, OPCODE 필드가 0이고, RCODE가 0이고, ANCOUNT 필드가 적어도 1 이상이고, DNS 질의 포맷(320)의 QTYPE 필드가 1이고, QCLASS 필드가 1인지를 확인하면 된다. 더 바람직하게는 상기 DNS 질의 메시지의 DNS 메시지 헤더 포맷(310) 중 ID 필드의 값이 상기 DNS 답변 메시지의 ID 필드의 값과 동일한지를 비교할 수도 있다. DNS 메시지 헤더 포맷(310)의 ID 필드를 이용하여 DNS 요청 메시지와 DNS 질의 메시지를 대조하는 이유는 악의적인 사용자가 클라이언트(210)가 요청하지 않은 DNS 질의 메 시지에 대한 DNS 응답 메시지를 허위로 보내는 것을 걸러내기 위함이다. 만약 이러한 검증 과정이 필요치 않다면 DNS 메시지 검출부(111)는 단지 DNS 응답 메시지만 검출하여도 무방하다. DNS 메시지 포맷은 RFC 1035에 자세히 공개되어 있다.The DNS message detector 111 is provided between the client 210 and the local name server 220 to detect the DNS message used in the forward mapping process. In order to detect DNS messages exchanged between the client 210 and the local name server 220, the client 210 is transmitted to port 53 of the remote host or transmitted from port 53 of the remote host to the client 210. Detect the packet. In general, since the DNS service is provided through UDP, only packets transmitted through UDP may be selectively detected. Of the DNS messages detected in the above process, in order to select only the DNS message used for forward mapping, the content of the message may be examined. 5, 6, and 7 illustrate a format of a DNS message, FIG. 6 illustrates a format of a header section of the DNS message format 300, and FIG. A diagram illustrating a format of a query section of the DNS message format 300. In order to screen the DNS query message transmitted for forward mapping from the client 210 to the local name server 220, the Query-Response bit (QR) field of the DNS message header format 310 is 0, and the OPCODE field is 0. The QTYPE field of the DNS query format 320 is 1 and the QCLASS field is 1. In order to select a DNS response message for the DNS query message transmitted from the local name server 220 to the client 210, the QR field of the DNS message header format 310 is 1, the OPCODE field is 0, and the RCODE is 0, ANCOUNT field is at least 1, the QTYPE field of the DNS query format 320 is 1, and the QCLASS field is 1. More preferably, the value of the ID field in the DNS message header format 310 of the DNS query message may be compared with the value of the ID field of the DNS reply message. The reason for matching the DNS request message with the DNS query message using the ID field of the DNS message header format 310 is that a malicious user falsely sends a DNS response message for a DNS query message that the client 210 did not request. To filter things out. If such a verification process is not necessary, the DNS message detector 111 may detect only the DNS response message. The DNS message format is disclosed in detail in RFC 1035.

DNS 메시지 검출부(111)는 클라이언트(210)와 물리적으로 동일한 컴퓨터 내에서 구현될 수도 있으며, 클라이언트와 물리적으로 분리된 독립적인 장비에서 구현될 수도 있다.The DNS message detector 111 may be implemented in a computer that is physically identical to the client 210 or may be implemented in an independent device physically separated from the client.

DNS 메시지 검출부(111)를 클라이언트(210)와 물리적으로 동일한 컴퓨터 내에서 구현할 때에는 API 후킹이나 커널 모드 드라이버를 이용할 수 있다. 이와 관련하여 윈도우 XP 운영체제 환경 하에서 각 구현 방법을 설명한다.When the DNS message detector 111 is implemented in the same physical computer as the client 210, API hooking or a kernel mode driver may be used. In this regard, each implementation will be described under the Windows XP operating system.

API 후킹은 실행중인 프로세스가 호출하는 함수의 주소를 개발자가 만든 임의의 함수 주소로 대체함으로써 프로세스가 호출하는 함수의 파라미터를 모니터링하고 조작하거나 함수 호출의 결과를 모니터링하고 조작할 수 있는 방법을 말한다. API 후킹을 통해 DNS 메시지 검출부(111)를 구현하기 위해서는 WS2_32.DLL 모듈이 제공하는 gethostbyname(), getaddrinfo() 등의 포워드 매핑에 사용되는 함수를 후킹하면 된다. 응용 프로그램의 프로세스가 상기 함수들을 호출하면 후킹 함수 내에서 호출된 함수의 파라미터와 함수의 호출 결과를 모니터링함으로써 DNS 질의 및 DNS 응답을 검출할 수 있다.API hooking is a way of monitoring and manipulating the parameters of a function called by a process by replacing the address of a function called by a running process with an arbitrary function address created by the developer, or by monitoring and manipulating the results of a function call. In order to implement the DNS message detector 111 through API hooking, a function used for forward mapping such as gethostbyname () and getaddrinfo () provided by the WS2_32.DLL module may be hooked. When an application's process calls these functions, it is possible to detect DNS queries and DNS responses by monitoring the parameters of the called function and the result of the function call within the hooking function.

커널 모드 드라이버를 통해 DNS 메시지 검출부(111)를 구현하기 위해서는 윈도우 운영체제가 제공하는 전송 계층 드라이버의 상단에 설치되어 DNS 메시지를 검출하는 필터 드라이버를 이용하면 된다. 좀 더 상세하게는 윈도우 운영체제가 제공 하는 전송 계층 드라이버는 tcpip.sys이며, 이 드라이버는 오브젝트 매니저가 관리하는 오브젝트 네임스페이스에 \Device\Tcp 및 \Device\Udp 디바이스를 생성한다. UDP로 교환되는 DNS 메시지를 검출하기 위해서는 \Device\Udp 디바이스의 상단에 필터 디바이스를 설치하면 되며, TCP로 교환되는 DNS 메시지를 검출하기 위해서는 \Device\Tcp 디바이스의 상단에 필터 디바이스를 설치하면 된다. 전송 계층 드라이버의 상단에 필터 드라이버를 설치하면 컴퓨터가 외부로 통신하는 모든 트래픽을 모니터링할 수 있게 되는데, 그 중에서 클라이언트로부터 원격 호스트의 53번 포트로 전송되는 트래픽과 원격 호스트의 53번 포트로부터 클라이언트로 전송되는 트래픽만을 검출하는 것이 바람직하다. 이 외에도 NDIS IM 드라이버 등을 이용하여 구현할 수도 있다.In order to implement the DNS message detection unit 111 through the kernel mode driver, a filter driver installed on the transport layer driver provided by the Windows operating system and detecting the DNS message may be used. More specifically, the transport layer driver provided by the Windows operating system is tcpip.sys, which creates \ Device \ Tcp and \ Device \ Udp devices in the object namespace managed by the object manager. To detect DNS messages exchanged over UDP, filter devices can be installed on top of \ Device \ Udp devices. To detect DNS messages exchanged over TCP, filter devices can be installed on top of \ Device \ Tcp devices. Installing a filter driver on top of the transport layer driver enables the computer to monitor all traffic that communicates externally, including traffic sent from the client to port 53 on the remote host and port 53 on the remote host to the client. It is desirable to detect only traffic that is transmitted. In addition, it can be implemented using NDIS IM driver.

DNS 메시지 검출부(111)를 클라이언트(210)와 물리적으로 독립된 장비로 구현할 때에는 적어도 2개 이상의 네트워크 인터페이스 카드(NIC; Network Interface Card)를 구비하고 투명한 브릿지로 작동되는 장비를 이용하여 DNS 메시지를 검출할 수 있다. 투명한 브릿지 형태의 장비를 이용하여 DNS 메시지를 검출할 때의 장점은, 클라이언트나 로컬 네임서버의 구성을 전혀 변경할 필요가 없이 양측 모두에게 투명하게 작동된다는 점이다. 리눅스(Linux)를 이용한 장비로 구현하는 경우의 예를 들어 좀 더 상세히 설명하면, 적어도 2개 이상의 NIC을 구비한 리눅스 시스템을 투명 브릿지 모드로 설정하고 클라이언트(210)와 로컬 네임서버(220) 사이에 구비한다. 그리고 리눅스 시스템 내에서 libpcap 라이브러리를 이용하여 클라이언트(210)에서 원격 호스트의 53번 포트로 전송되는 패킷과 원격 호스트의 53번 포 트에서 클라이언트(210)로 전송되는 패킷을 검출한다. 일반적으로는 DNS는 주로 UDP를 전송계층 프로토콜로 사용하므로 UDP 패킷만 캡춰하는 것으로도 충분하나, 경우에 따라서는 TCP 패킷도 캡춰할 수 있다. 리눅스 시스템을 이용한 상기 구현 예 이외에도 ISO의 OSI 참조모델에 따른 L7이 처리 가능한 네트워크 장비를 이용하여 구현하는 것도 가능하다.When the DNS message detection unit 111 is implemented as a device physically independent of the client 210, the DNS message detection unit 111 may include at least two network interface cards (NICs) and detect the DNS message using a device that operates as a transparent bridge. Can be. The advantage of detecting DNS messages using transparent bridge-type equipment is that it works transparently on both sides without any changes to the configuration of the client or local name server. For example, in the case of implementation with a device using Linux, a Linux system having at least two NICs is set to transparent bridge mode and between the client 210 and the local name server 220. To be provided. In addition, the libpcap library is used in the Linux system to detect the packet transmitted from the client 210 to the port 53 of the remote host and the packet transmitted from the port 53 of the remote host to the client 210. In general, since DNS mainly uses UDP as a transport layer protocol, it is sufficient to capture only UDP packets, but in some cases, TCP packets can also be captured. In addition to the above embodiment using a Linux system, it is also possible to implement using a network device capable of processing L7 according to the OSI reference model of ISO.

상기 API 후킹, 커널 드라이버, libpcap 라이브러리를 이용한 패킷 캡춰는 당업자에게 널리 알려진 주지관용 기술이므로 이들의 구현과 관련된 더 상세한 설명은 생략한다.Packet capture using the API hooking, kernel driver, and libpcap library is well known to those skilled in the art, and thus a detailed description related to their implementation will be omitted.

로컬 네임서버 주소 추출부(114)는 클라이언트(210)가 DNS 레졸루션를 할 때 기본적으로 사용하도록 설정되어 있는 로컬 네임서버(220)의 주소를 추출한다. 클라이언트가 DNS 레졸루션을 할 때 기본적으로 사용되도록 설정되어 있는 로컬 네임서버는 하나 이상일 수 있으며, 따라서 로컬 네임서버 주소 추출부(114)가 추출하는 로컬 네임서버의 주소도 하나 이상일 수 있다. 또한, 로컬 네임서버 주소 추출부(114)를 이용하여 추출되는 로컬 네임서버(220)의 주소는 IPv4, IPv6 중 적어도 어느 하나의 형태로 표현될 수 있다. 로컬 네임서버(220)의 주소를 추출하는 이유는 DNS 메시지 검출부(111)가 좀 더 정확히 DNS 메시지만을 선별할 수 있도록 하기 위함이다. DNS 메시지 검출부(111)는 DNS 메시지를 검출할 때 네임서버가 사용하는 53번 포트를 DNS 메시지 검출 조건으로 사용함과 동시에 로컬 네임서버 주소 추출부(114)에서 추출한 로컬 네임서버의 주소와 일치하는 네임서버와 교환되는 DNS 메시지만 선별적으로 검출함으로써 DNS 메시지 검출부(111)의 정확도를 향상시킬 수 있다. 부언하면, 상기 DNS 메시지 검출부(111)가 상기 클라이언트(210)와 물리적으로 동일한 컴퓨터 시스템 내에서 API 후킹 방식으로 구현된 경우에는 로컬 네임서버 주소 추출부(114)를 별도로 구비할 필요는 없다. 그 이유는 API 후킹을 하는 gethostbyname(), getaddrinfo()와 같은 함수는 기본적으로 로컬 네임서버의 주소를 자동으로 인식하여 항상 로컬 네임서버로만 질의를 하기 때문이다. 하지만, 커널 모드 드라이버의 형태나 독립된 장비로 DNS 메시지 검출부(111)가 구현되는 경우에는 로컬 네임서버 주소 추출부(114)를 구비하는 것이 바람직하다.The local name server address extractor 114 extracts the address of the local name server 220 which is basically set to be used when the client 210 performs DNS resolution. There may be one or more local name servers configured to be used by default when the client performs DNS resolution, and thus, the address of the local name server extracted by the local name server address extractor 114 may also be one or more. In addition, the address of the local name server 220 extracted using the local name server address extractor 114 may be expressed in at least one of IPv4 and IPv6. The reason for extracting the address of the local name server 220 is to allow the DNS message detector 111 to more accurately select only DNS messages. The DNS message detector 111 uses port 53 used by the name server as a DNS message detection condition when detecting DNS messages, and simultaneously matches the address of the local name server extracted by the local name server address extractor 114. By selectively detecting only DNS messages exchanged with the server, the accuracy of the DNS message detector 111 may be improved. In other words, when the DNS message detection unit 111 is implemented in an API hooking scheme in a computer system that is physically identical to the client 210, it is not necessary to separately provide a local name server address extraction unit 114. The reason for this is that API hooking functions such as gethostbyname () and getaddrinfo () basically recognize the address of the local name server automatically and always query only the local name server. However, when the DNS message detection unit 111 is implemented in the form of a kernel mode driver or as an independent device, the local name server address extraction unit 114 may be provided.

로컬 네임서버 주소 추출부(114)는 클라이언트와 동일한 컴퓨터 시스템 내에서 구현되는 것이 바람직하다. 윈도우 환경에서는 레지스트리를 조회함으로써 설정된 로컬 네임서버의 주소를 알 수 있으며, 좀 더 상세하게는 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\[인터페이스 이름] 레지스트리 키의 DhcpNameServer, NameServer 값을 조회함으로써 로컬 네임서버의 주소를 구할 수 있다. 리눅스 환경에서는 /etc/resolv.conf 파일을 읽어 로컬 네임서버의 주소를 구할 수 있다. 윈도우 환경에서 로컬 네임서버 정보가 저장된 레지스트리와 리눅스 환경에서 로컬 네임서버 정보가 저장된 /etc/resolv.conf 파일의 형식은 각각 MSDN 도움말과 man 페이지 등을 통해 상세히 공개되어 있는 주지관용 기술이므로, 이와 관련된 더 상세한 설명은 생략한다.Local name server address extraction unit 114 is preferably implemented in the same computer system as the client. In the Windows environment, the address of the configured local name server can be known by querying the registry. More specifically, the DhcpNameServer and NameServer values of the HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ Interfaces \ [interface names] registry key can be viewed. By doing this, you can get the address of the local name server. In a Linux environment, you can get the address of a local name server by reading the /etc/resolv.conf file. The format of the registry where local name server information is stored in Windows environment and /etc/resolv.conf file where local name server information is stored in Linux is the state-of-the-art technology disclosed in detail through MSDN help and man pages, respectively. Further details will be omitted.

주소 매핑 데이터 추출부(112)는 상기 DNS 메시지 검출부(111)에서 검출된 DNS 메시지로부터 클라이언트가 IP 주소로 변환하기 위해 로컬 네임서버로 질의한 도메인 주소와 이에 대응하는 적어도 하나 이상의 IP 주소가 포함된 주소 매핑 데이터를 추출한다. 클라이언트가 IP 주소로 변환하고자 하는 도메인 주소는 클라이언트(210)로부터 로컬 네임서버(220)로 전송되는 DNS 질의 메시지에서 검출할 수도 있으며, 로컬 네임서버(220)로부터 클라이언트(210)로 전송하는 DNS 답변 메시지로부터 검출할 수도 있다. 도 5를 참조하면 DNS 메시지 포맷(300)에는 질의 섹션이 있는데, 질의 섹션은 DNS 질의 메시지와 DNS 응답 메시지에 모두 동일한 값이 들어 있으며, 도 7을 참조하면 DNS 질의 포맷(320)의 QNAME 필드에 클라이언트가 IP 주소로 변환하고자 하는 도메인 주소가 들어 있다. 반면, 상기 도메인 주소에 대응하는 IP 주소는 반드시 DNS 응답 메시지에서 추출해야 한다. DNS 메시지 포맷(300)의 응답 섹션에 IP 주소가 기입되어 있으며 응답 섹션의 형식은 도 8의 리소스 레코드 포맷(330)과 같다. 이때 하나의 도메인 주소에 대응하는 IP 주소가 하나 이상인 경우에는 응답 섹션에 하나 이상의 리소스 레코드가 들어 있을 수도 있다. 따라서, 주소 매핑 데이터 추출부(112)가 추출하는 주소 매핑 데이터는 도메인 주소와 이에 대응하는 적어도 하나 이상의 IP 주소를 포함하게 된다.The address mapping data extracting unit 112 includes a domain address queried by the client to the local name server to convert the DNS message detected by the DNS message detecting unit 111 into an IP address and at least one IP address corresponding thereto. Extract address mapping data. The domain address that the client wants to translate into an IP address may be detected in a DNS query message transmitted from the client 210 to the local name server 220, and the DNS answer transmitted from the local name server 220 to the client 210. It can also be detected from a message. Referring to FIG. 5, the DNS message format 300 includes a query section. The query section includes the same values in both the DNS query message and the DNS response message. Referring to FIG. 7, the DNS message format 300 includes a query section. Contains the domain address that the client wants to translate into an IP address. On the other hand, the IP address corresponding to the domain address must be extracted from the DNS response message. An IP address is written in the response section of the DNS message format 300, and the format of the response section is the same as the resource record format 330 of FIG. In this case, when there is more than one IP address corresponding to one domain address, the response section may include one or more resource records. Therefore, the address mapping data extracted by the address mapping data extractor 112 includes a domain address and at least one IP address corresponding thereto.

클라이언트 식별자 추출부(113)는 클라이언트(210)를 고유하게 식별할 수 있는 다양한 식별자들을 추출한다. 클라이언트를 고유하게 식별할 수 있는 식별자를 추출하는 이유는 다수의 도메인 주소가 하나의 IP 주소로 매핑되어 있을 수 있으며, 이때 리버스 매핑 과정에서 리버스 매핑하려는 IP 주소와 함께 클라이언트 식별자를 검색 조건으로 이용하여 더 정확한 리버스 매핑 결과를 얻기 위함이다. 클라이언트를 고유하게 식별할 수 있는 식별자는, 프로세스 식별자, 쓰레드 식별자, 모듈 식별자, 호스트 식별자 등이 포함될 수 있다. 클라이언트 식별자 추출부(113)는 DNS 메시지 검출부(111)가 DNS 메시지를 검출한 시점에서 상기 검출된 DNS 메시지와 연관된 정보로부터 클라이언트 식별자를 추출하는 것이 바람직하다. 또한, 프로세스 식별자, 쓰레드 식별자, 모듈 식별자를 추출하기 위해서는 클라이언트 식별자 추출부(113)가 클라이언트(210)와 물리적으로 동일한 컴퓨터 내에 구비되는 것이 바람직하다.The client identifier extracting unit 113 extracts various identifiers that can uniquely identify the client 210. The reason for extracting an identifier that can uniquely identify a client is that a plurality of domain addresses may be mapped to one IP address. In this process, a client identifier is used as a search condition along with an IP address to be reverse mapped in a reverse mapping process. To get a more accurate reverse mapping result. An identifier that can uniquely identify the client may include a process identifier, a thread identifier, a module identifier, a host identifier, and the like. The client identifier extracting unit 113 preferably extracts the client identifier from the information associated with the detected DNS message at the time when the DNS message detecting unit 111 detects the DNS message. In addition, in order to extract the process identifier, the thread identifier, and the module identifier, it is preferable that the client identifier extracting unit 113 is provided in the same physical computer as the client 210.

프로세스 식별자는 클라이언트를 프로세스 단위로 고유하게 식별할 수 있는 식별자로 프로세스 ID, 프로세스 핸들 등이 있을 수 있다. 프로세스 식별자를 구하기 위해 사용되는 함수의 예로는 GetCurrentProcessId(), GetCurrentProcess(), PsGetCurrentProcessId(), PsGetProcessId() 등이 있다.The process identifier may be a process ID, a process handle, and the like, which may uniquely identify the client on a per-process basis. Examples of functions used to obtain a process identifier include GetCurrentProcessId (), GetCurrentProcess (), PsGetCurrentProcessId (), and PsGetProcessId ().

쓰레드 식별자는 클라이언트를 쓰레드 단위로 고유하게 식별할 수 있는 식별자로 쓰레드 ID, 쓰레드 핸들 등이 있을 수 있다. 쓰레드 식별자를 구하기 위해 사용되는 함수의 예로는 GetCurrentThreadId(), GetCurrentThread(), PsGetCurrentThreadId(), PsGetThreadId() 등이 있다.Thread identifiers are identifiers that uniquely identify a client on a per-thread basis, such as thread IDs and thread handles. Examples of functions used to get thread identifiers are GetCurrentThreadId (), GetCurrentThread (), PsGetCurrentThreadId (), and PsGetThreadId ().

모듈 식별자는 클라이언트를 모듈(EXE, DLL 등) 단위로 고유하게 식별할 수 있는 식별자로 네트워크 통신을 시도한 모듈의 절대 경로나 핸들 등이 있을 수 있다. 모듈 식별자를 구하기 위해 사용되는 함수의 예로는 GetModuleHandle(), GetModuleFileName() 등이 있다.The module identifier is an identifier that can uniquely identify a client by a module (EXE, DLL, etc.) and may include an absolute path or a handle of a module that attempted network communication. Examples of functions used to obtain module identifiers include GetModuleHandle () and GetModuleFileName ().

호스트 식별자는 클라이언트를 호스트 단위로 고유하게 식별할 수 있는 식별자로 클라이언트의 IP 주소, MAC 주소, 네트워크 인터페이스 번호 등이 있을 수 있 다. 호스트 식별자는 ISO의 OSI 참조모델에 따른 L2, L3의 헤더를 조사하거나, libpcap 라이브러리로부터 구할 수 있다.The host identifier is an identifier that uniquely identifies the client on a host basis. The host identifier may include an IP address, a MAC address, and a network interface number of the client. The host identifier can be obtained from the libpcap library by examining L2 and L3 headers according to ISO's OSI reference model.

상기한 클라이언트 식별자를 구하는 다양한 방법은 당업자에게 널리 알려진 주지관용 기술이므로 더 상세한 설명은 생략한다.Various methods of obtaining the above-mentioned client identifier are well known techniques known to those skilled in the art, and thus, further description thereof will be omitted.

리버스 매핑 데이터 저장부(130)는 상기 주소 매핑 데이터 추출부(112)에서 추출된 주소 매핑 데이터를 저장하고 좀 더 바람직하게는 상기 클라이언트 식별자 추출부(113)에서 추출된 클라이언트 식별자를 상기 주소 매핑 데이터와 함께 저장한다. 도 14는 본 발명의 바람직한 실시예에 따른 리버스 매핑 데이터 저장부(130)에 저장된 데이터의 예시도이다. 도 14를 참조하면 IP 주소와 도메인 주소를 포함하는 주소 매핑 데이터(720)와 클라이언트를 고유하게 식별하기 위한 클라이언트 식별자(710)가 저장되어 있다. 주소 매핑 데이터(720)만으로도 IP 주소를 도메인 주소로 리버스 매핑할 수는 있으나, 도 14에 예시된 것처럼 하나의 IP 주소(192.168.0.100)가 여러 도메인 주소(www.company1.com, www.company2.com, eve.hacker.com)로 대응되는 경우, 클라이언트 식별자를 추가적인 검색 조건으로 이용하여 정확한 리버스 매핑을 하는 것이 바람직하다. 예를 들어, 도 14에 예시된 리버스 매핑 데이터를 이용하여 IP 주소 192.168.0.100을 도메인 주소로 리버스 매핑한다면, IP 주소만으로는 정확히 클라이언트가 어떤 도메인 주소를 이용하여 원격 호스트로 접속을 한 것인지 알기 어렵다. 그러나, 원격 호스트로 접속한 클라이언트의 프로세스 ID가 5000이라면 리버스 매핑 데이터 1(730)이 해당 정보를 가지고 있음을 알 수 있으며, 이로부터 실제로 클라이언트가 원격 호스트로 접속할 때 사용했던 도메인 주소는 www.company1.com이었음을 알 수 있다. 이와 같이 클라이언트 식별자(710) 정보를 IP 주소와 함께 추가적인 검색 조건으로 활용하면 더 정확한 리버스 매핑을 할 수 있다.The reverse mapping data storage unit 130 stores the address mapping data extracted by the address mapping data extracting unit 112, and more preferably the client identifier extracted by the client identifier extracting unit 113 to the address mapping data. Save with. 14 is an exemplary diagram of data stored in the reverse mapping data storage unit 130 according to a preferred embodiment of the present invention. Referring to FIG. 14, address mapping data 720 including an IP address and a domain address and a client identifier 710 for uniquely identifying a client are stored. It is possible to reverse-map an IP address to a domain address using only the address mapping data 720. However, as illustrated in FIG. 14, one IP address 192.168.0.100 may have multiple domain addresses (www.company1.com, www.company2. com, eve.hacker.com), it is preferable to perform accurate reverse mapping using the client identifier as an additional search condition. For example, if the IP address 192.168.0.100 is reverse mapped to the domain address using the reverse mapping data illustrated in FIG. 14, it is difficult to know exactly which domain address the client uses to connect to the remote host using the IP address alone. However, if the process ID of the client connecting to the remote host is 5000, it can be seen that the reverse mapping data 1 730 has the information. From this, the domain address used when the client connects to the remote host is www.company1. You can see that it was .com. As such, when the client identifier 710 information is used as an additional search condition along with the IP address, more accurate reverse mapping can be performed.

리버스 매핑 데이터 저장부(130)는 주기억장치(main memory) 상의 자료구조로 구현될 수도 있으며, 하드디스크와 같은 보조기억장치 상의 파일로 구현될 수도 있으며, 관계형 데이터베이스 관리 시스템(RDBMS)을 이용하여 구현될 수도 있으며, 네트워크로 연결된 분산 시스템을 이용하여 구현될 수도 있을 것이다. 또한 리버스 매핑 데이터 저장부(130)는 클라이언트(210)와 물리적으로 동일한 컴퓨터 시스템에서 구현될 수도 있을 것이며, 클라이언트(210)와 물리적으로 분리된 독립된 장비로 구현될 수도 있을 것이다.The reverse mapping data storage unit 130 may be implemented as a data structure on a main memory, a file on an auxiliary memory such as a hard disk, or implemented using a relational database management system (RDBMS). It may be implemented or may be implemented using a networked distributed system. In addition, the reverse mapping data storage 130 may be implemented in a computer system that is physically identical to the client 210, or may be implemented as an independent device that is physically separated from the client 210.

리버스 매핑부(120)는 상기 리버스 매핑 데이터 저장부(130)에 저장된 데이터를 이용하여 IP 주소를 도메인 주소로 변환하여 준다. 리버스 매핑부(120)는 리버스 매핑 클라이언트(230)로부터 리버스 매핑 요청을 수신하고 다시 결과를 반환하여 주는 인터페이스부(121), 리버스 매핑 데이터 저장부(130)에 저장된 데이터를 이용하여 리버스 매핑 클라이언트(230)가 요청한 검색 조건에 일치하는 데이터를 검색하는 리버스 매핑 데이터 검색부(122)를 포함한다.The reverse mapping unit 120 converts the IP address into a domain address using the data stored in the reverse mapping data storage 130. The reverse mapping unit 120 receives the reverse mapping request from the reverse mapping client 230 and returns a result again. The reverse mapping client 120 uses the data stored in the reverse mapping data storage 130. 230 includes a reverse mapping data retrieval unit 122 for retrieving data matching the search condition requested.

인터페이스부(121)는 리버스 매핑 클라이언트(230)로부터 리버스 매핑 요청을 수신하고 그 결과를 다시 리버스 매핑 클라이언트(230)로 반환하기 위한 다양한 인터페이스를 제공한다. 리버스 매핑 클라이언트(230)에게 제공되는 인터페이스는 간단하게는 리버스 매핑 클라이언트(230)와 약속된 변수나 메모리 주소를 이용할 수도 있으며, 리버스 매핑 클라이언트(230)와 약속된 함수의 형태일 수도 있으며, 파이프, 공유 메모리, 메일 슬롯 등과 같은 IPC(Inter Process Communication) 기능을 이용할 수도 있으며, 소켓 등과 같은 네트워크 통신을 이용한 형태일 수도 있다.The interface unit 121 provides various interfaces for receiving a reverse mapping request from the reverse mapping client 230 and returning the result back to the reverse mapping client 230. The interface provided to the reverse mapping client 230 may simply use a variable or memory address promised with the reverse mapping client 230, may be in the form of a function promised with the reverse mapping client 230, a pipe, An IPC (Inter Process Communication) function such as a shared memory or a mail slot may be used, or may be in the form of network communication such as a socket.

인터페이스부(121)가 수신하는 리버스 매핑 요청은 리버스 매핑 클라이언트(230)가 도메인 주소로 변환하기 원하는 IP 주소를 포함하며, 더 바람직하게는 클라이언트를 고유하게 식별할 수 있는 하나 이상의 클라이언트 식별자를 검색 조건으로 포함할 수 있다.The reverse mapping request received by the interface unit 121 includes an IP address that the reverse mapping client 230 wants to translate into a domain address, and more preferably, search conditions for one or more client identifiers that can uniquely identify the client. It may include.

리버스 매핑 데이터 검색부(122)는 상기 인터페이스부(121)에서 수신한 리버스 매핑 요청의 검색 조건에 일치하는 데이터를 리버스 매핑 데이터 저장부(130)을 이용하여 검색한다. 리버스 매핑 데이터를 검색할 때에는 리버스 매핑 요청의 검색 조건에 포함된 IP 주소와 함께 클라이언트를 고유하게 식별할 수 있는 식별자 정보도 함께 이용하여 정확한 데이터를 검색하는 것이 바람직하다. 리버스 매핑 데이터 검색부(122)는 리버스 매핑 데이터 저장부(130)에 저장된 데이터의 형태에 따라 순차 검색, 이진 검색 혹은 구조적 질의 언어(SQL; Structured Query Language) 등의 방법을 이용하여 검색을 할 수 있을 것이며, 이러한 다양한 검색 방법은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려진 기술이므로 더 상세한 설명은 생략한다.The reverse mapping data retrieval unit 122 retrieves data matching the search condition of the reverse mapping request received by the interface unit 121 using the reverse mapping data storage unit 130. When retrieving the reverse mapping data, it is preferable to use the IP address included in the search condition of the reverse mapping request together with identifier information for uniquely identifying the client to retrieve the correct data. The reverse mapping data search unit 122 may search using a method such as sequential search, binary search, or structured query language (SQL) according to the type of data stored in the reverse mapping data storage unit 130. As such various search methods are well known to those skilled in the art to which the present invention pertains, further description thereof will be omitted.

이하 도면 2, 도면 3, 도면 4를 참조하여 본 발명의 바람직한 실시예에 따른 도메인 리버스 매핑 방법에 대하여 상세히 설명한다.Hereinafter, a domain reverse mapping method according to a preferred embodiment of the present invention will be described in detail with reference to FIGS. 2, 3, and 4.

도 2는 본 발명의 바람직한 실시예에 따른 도메인 리버스 매핑 방법을 나타낸 흐름도이다. 도 2를 참조하면 리버스 매핑 데이터 수집 단계(S110)는 리버스 매핑에 필요한 데이터를 수집하고 수집된 데이터를 리버스 매핑 데이터 저장부(130)에 저장한다. 리버스 매핑 단계(S120)는 리버스 매핑 클라이언트(230)가 리버스 매핑을 요청했을 때 상기 리버스 매핑 데이터 수집 단계(S110)에서 수집된 리버스 매핑 데이터를 이용하여 리버스 매핑을 수행한다.2 is a flowchart illustrating a domain reverse mapping method according to a preferred embodiment of the present invention. Referring to FIG. 2, the reverse mapping data collection step S110 collects data necessary for reverse mapping and stores the collected data in the reverse mapping data storage 130. In the reverse mapping step S120, when the reverse mapping client 230 requests reverse mapping, reverse mapping is performed using the reverse mapping data collected in the reverse mapping data collection step S110.

도 3은 상기 리버스 매핑 데이터 수집 단계(S110)를 구체적으로 나타낸 흐름도이다. 도 3을 참조하면 리버스 매핑 데이터 수집 단계(S110)는 DNS 메시지 검출 단계(S112), 주소 매핑 데이터 추출 단계(S113), 리버스 매핑 데이터 저장 단계(S115)를 포함하며, 더 바람직하게는 로컬 네임서버 주소 추출 단계(S111), 클라이언트 식별자 추출 단계(S114)를 더 포함한다.3 is a flowchart specifically illustrating the reverse mapping data collection step (S110). Referring to FIG. 3, the reverse mapping data collection step S110 includes a DNS message detection step S112, an address mapping data extraction step S113, and a reverse mapping data storage step S115, and more preferably, a local name server. The method may further include an address extraction step S111 and a client identifier extraction step S114.

로컬 네임서버 주소 추출부(114)를 이용하여 클라이언트(210)의 로컬 네임서버(220)의 주소를 추출한 후(S111), DNS 메시지 검출부(111)를 이용하여 DNS 메시지를 검출한다(S112). 이때 상기 로컬 네임서버 주소 추출 단계(S111)에서 추출한 로컬 네임서버의 주소 정보를 이용하여 로컬 네임서버와 교환되는 DNS 메시지만 선별적으로 검출하는 것이 바람직하다. 상기 DNS 메시지 검출 단계(S112)에서 검출된 DNS 메시지로부터 도메인 주소와 그에 대응하는 적어도 하나 이상의 IP 주소를 포함하는 주소 매핑 데이터를 추출한다(S113). 바람직하게는 리버스 매핑의 정확도를 향상시키기 위해 클라이언트를 고유하게 식별할 수 있는 식별자를 더 추출한다(S114). 그리고 상기 주소 매핑 데이터와 클라이언트 식별자 정보를 포함 하는 리버스 매핑 데이터를 리버스 매핑 데이터 저장부(130)에 저장한다(S115). 상기 S115 단계가 완료되면 S112 단계로 되돌아가 반복 처리하며 지속적으로 리버스 매핑 데이터를 수집 및 축적하는 것이 바람직하다.After extracting the address of the local name server 220 of the client 210 using the local name server address extractor 114 (S111), the DNS message is detected using the DNS message detector 111 (S112). In this case, it is preferable to selectively detect only DNS messages exchanged with the local name server by using the address information of the local name server extracted in the local name server address extraction step (S111). Address mapping data including a domain address and at least one IP address corresponding thereto is extracted from the DNS message detected in the DNS message detection step S112 (S113). Preferably, in order to improve the accuracy of the reverse mapping, an identifier for uniquely identifying the client is further extracted (S114). The reverse mapping data storage 130 stores the reverse mapping data including the address mapping data and the client identifier information in step S115. When the step S115 is completed, the process returns to step S112 and iteratively processes and continuously collects and accumulates reverse mapping data.

도 4는 상기 리버스 매핑 단계(S120)을 구체적으로 나타낸 흐름도이다. 도 4를 참조하면 인터페이스부(121)을 이용하여 리버스 매핑 클라이언트(230)로부터 리버스 매핑 요청을 수신하고(S121), 상기 수신된 리버스 매핑 요청의 검색 조건을 만족하는 리버스 매핑 데이터를 상기 리버스 매핑 데이터 저장부(130)를 이용하여 검색한다(S122). 상기 검색이 완료되면 그 결과를 리버스 매핑 클라이언트(230)에게 반환한다(S123).4 is a flowchart illustrating the reverse mapping step S120 in detail. Referring to FIG. 4, a reverse mapping request is received from a reverse mapping client 230 by using an interface unit 121 (S121), and reverse mapping data corresponding to reverse mapping data satisfying a search condition of the received reverse mapping request is received. The search is performed using the storage unit 130 (S122). When the search is completed, the result is returned to the reverse mapping client 230 (S123).

이하 도 9, 도 10, 도 11, 도14를 참조하여 IP 주소를 도메인 주소로 변환하는 과정을 실례를 들어 구체적으로 설명한다.Hereinafter, a process of converting an IP address into a domain address will be described in detail with reference to FIGS. 9, 10, 11, and 14.

도 11은 도메인 리버스 매핑 장치의 작동을 설명하기 위한 블록도이다. 도 11을 참조하면, 클라이언트(210)는 www.example.com 서버로 접속하고자 하는 클라이언트로, 구체적인 예로는 웹 브라우저일 수 있다. 클라이언트(210)는 먼저 www.example.com 도메인 주소를 IP 주소로 변환하기 위해 로컬 네임서버(220)로 DNS 질의를 한다. 로컬 네임서버(220)는 클라이언트(210)로부터 DNS 질의를 받아 루트 네임서버(240), com. 네임서버(250), example.com. 네임서버(260)에 차례로 질의를 하여 최종적으로 example.com. 네임서버(260)로부터 IP 주소가 담긴 응답을 수신한다. 로컬 네임서버(220)는 상기 example.com. 네임서버(260)가 보내준 응답을 클라이언트(210)에게 전달하여 DNS 질의 과정을 마친다. 이때 도메인 리버스 매 핑 장치(100)는 클라이언트(210)와 로컬 네임서버(220) 사이에서 포워드 매핑 과정에서 사용되는 DNS 메시지를 검출하여 이로부터 리버스 매핑에 필요한 데이터를 구축한다. 도메인 리버스 매핑 장치(100)는 클라이언트(210)와 로컬 네임서버(220)에게 투명하게 작동되는 것이 바람직하다.11 is a block diagram illustrating the operation of the domain reverse mapping apparatus. Referring to FIG. 11, the client 210 is a client that wants to connect to a www.example.com server, which may be a web browser. The client 210 first makes a DNS query to the local name server 220 to translate the www.example.com domain address into an IP address. Local name server 220 receives a DNS query from the client 210, root name server 240, com. Nameserver (250), example.com. The name server 260 is in turn queried to finally example.com. Receive the response containing the IP address from the name server 260. The local name server 220 is the example.com. The name server 260 sends the response sent to the client 210 to complete the DNS query process. In this case, the domain reverse mapping apparatus 100 detects a DNS message used in the forward mapping process between the client 210 and the local name server 220 and constructs data necessary for reverse mapping therefrom. The domain reverse mapping apparatus 100 preferably operates transparently to the client 210 and the local name server 220.

클라이언트(210)가 www.example.com 도메인 주소에 대응하는 IP 주소를 구한 후에, 상기 IP 주소를 이용하여 www.example.com 웹서버로 소켓 연결을 한다. 이때 클라이언트(210)의 원격 호스트 접속을 모니터링하는 소프트웨어 및 시스템(230)은 상기 소켓 연결을 감지한다. 이러한 소프트웨어 및 시스템의 예로는 네트워크 방화 시스템, 네트워크 감사 시스템, 네트워크 트래픽 제어 시스템 등이 있을 수 있으며, 이러한 소프트웨어 및 시스템이 도메인 리버스 장치(100)를 이용하여 IP 주소를 도메인 주소로 변환하는 리버스 매핑 클라이언트(230)가 된다. 이러한 소프트웨어 및 시스템은 클라이언트의 소켓 연결을 감지한 후, 상기 감지된 소켓 연결로부터 클라이언트(210)가 접속하려는 원격 호스트의 IP 주소를 획득하고, 상기 획득된 IP 주소를 도메인 리버스 매핑 장치(100)에게 질의하여 도메인 주소로 변환한다. 상기 리버스 매핑 클라이언트(230)는 도메인 리버스 매핑 장치(100)로부터 반환된 도메인 주소를 이용하여 원하는 작업을 수행할 수 있다. 예를 들면 네트워크 방화 시스템의 경우에는 변환된 도메인 주소로 좀 더 세부적인 허용 및 차단 정책을 수행할 수도 있을 것이며, 사용자에게 통신 허용 여부를 팝업 창 등을 이용하여 질의할 때에도 숫자로 구성된 IP 주소 대신 사용자에게 친숙한 도메인 주소로 질의를 할 수 있을 것이다.After the client 210 obtains an IP address corresponding to the www.example.com domain address, the client 210 makes a socket connection to the www.example.com web server using the IP address. The software and system 230 that monitors the remote host connection of the client 210 then detects the socket connection. Examples of such software and systems may include network fire protection systems, network auditing systems, network traffic control systems, and the like. The reverse mapping client converts IP addresses into domain addresses using the domain reverse device 100. (230). After the software and the system detect the socket connection of the client, obtain the IP address of the remote host to which the client 210 is to connect from the detected socket connection, and the obtained IP address to the domain reverse mapping device 100 Query and convert to domain address. The reverse mapping client 230 may perform a desired operation by using the domain address returned from the domain reverse mapping apparatus 100. For example, in the case of a network fire protection system, a more detailed allow and block policy may be performed with the translated domain address.In case of asking the user whether to allow communication using a pop-up window or the like, instead of the numeric IP address, You can query with a user-friendly domain address.

도 9와 도 10을 참조하여 상기 DNS 질의 및 DNS 응답에 사용되는 메시지의 형식을 좀 더 자세히 알아보면, 도 9는 상기 클라이언트(210)가 로컬 네임서버(220)로 www.example.com 도메인 주소를 포워드 매핑하기 위해 전송하는 DNS 질의 메시지이고, 도 10은 로컬 네임서버(220)로부터 클라이언트(210)로 전송되는 상기 포워드 매핑 질의에 대한 응답을 담고 있는 DNS 응답 메시지이다. DNS 질의 메시지와 DNS 응답 메시지 모두 도 5에 도시된 DNS 메시지 포맷(300)을 따른다.9 and 10, the format of the message used in the DNS query and DNS response in more detail, Figure 9 is the client 210 to the local name server 220 www.example.com domain address Is a DNS query message transmitted for forward mapping, and FIG. 10 is a DNS response message containing a response to the forward mapping query transmitted from the local name server 220 to the client 210. Both the DNS query message and the DNS response message follow the DNS message format 300 shown in FIG.

DNS 질의 메시지(410)를 도 6을 참조하여 헤더 섹션을 해석해 보면, ID는 0x7C30이며, QR은 0으로 질의임을 나타내고, OPCODE는 0으로 표준 질의임을 나타내고, RD는 1로 재귀적 질의임을 나타내고, QDCOUNT는 1로 질의 섹션에 1개의 질의가 포함되어 있음을 알 수 있다. 도 7을 참조하여 질의 섹션을 해석해 보면, 질의하는 도메인 주소는 www.example.com이고, QTYPE은 1로 A 리소스 레코드를 질의함을 나타내고, QCLASS는 1로 IN 클래스를 질의함을 알 수 있다.Resolving the DNS section of the DNS query message 410 with reference to FIG. 6, the ID is 0x7C30, QR is 0 for the query, OPCODE is 0 for the standard query, RD is 1 for the recursive query, QDCOUNT is 1, indicating that one query is included in the query section. Referring to FIG. 7, it can be seen that the domain address to be queried is www.example.com, QTYPE is 1 to query the A resource record, and QCLASS is 1 to query the IN class.

DNS 응답 메시지(420)를 도 6을 참조하여 헤더 섹션을 해석해 보면, ID는 0x7C30이며, QR은 1로 응답임을 나타내고, OPCODE는 0으로 표준 질의임을 나타내고, RD는 1로 재귀적 질의에 의해 응답되었음을 나타내고, RA는 1로 재귀적 질의가 로컬 네임서버(220)에 의해 지원됨을 나타내고, RCODE는 0으로 에러가 발생되지 않았음(즉, 성공)을 나타내고, ANCOUNT는 1로 응답 섹션에 답변을 나타내는 리소스 레코드가 1개 포함되어 있음을 나타낸다. DNS 응답 메시지(420)의 질의 섹션 부분은 상기 DNS 질의 메시지(410)와 동일하다. 도 8을 참조하여 응답 섹션의 내용을 해석하여 보면, NAME은 0xC00C로 www.example.com에 대한 리소스 레코드임을 나타내고, TYPE은 1로 A 리소스 레코드임을 나타내고, CLASS는 1로 IN 클래스임을 나타내고, RDLENGTH는 4로 4바이트의 주소가 RDATA 필드에 저장되어있음을 나타내고, RDATA는 0xD04DBCA6으로 IP 주소가 208.77.188.166임을 나타낸다. 상기 DNS 메시지의 모든 필드에 대한 더 상세한 설명은 RFC 1035에 공개되어 있다.Interpreting the header section with the DNS response message 420 with reference to FIG. 6, the ID is 0x7C30, QR is 1 for the response, OPCODE is 0 for the standard query, and RD is 1 for the recursive query. RA indicates that a recursive query is supported by the local name server 220, 1, RCODE indicates 0 that no error occurred (i.e., success), and ANCOUNT returns 1 in the response section. Indicates that one resource record is included. The query section portion of the DNS response message 420 is the same as the DNS query message 410. Referring to Fig. 8, the contents of the response section are interpreted, where NAME is 0xC00C, indicating that it is a resource record for www.example.com, TYPE indicates that it is an A resource record of 1, CLASS indicates that it is an IN class, and RDLENGTH. Indicates that 4, 4 bytes of addresses are stored in the RDATA field, and RDATA is 0xD04DBCA6, indicating that the IP address is 208.77.188.166. A more detailed description of all fields of the DNS message is disclosed in RFC 1035.

상기의 예에서 알 수 있듯이, 질의 섹션은 DNS 질의 메시지와 DNS 응답 메시지에 같은 값이 들어 있기 때문에 주소 매핑 데이터 추출부(112)가 도메인 주소를 추출할 때에는 DNS 질의 메시지와 DNS 응답 메시지 중 어느 것을 이용해도 무방하다.As can be seen in the above example, since the query section has the same value in the DNS query message and the DNS response message, when the address mapping data extracting unit 112 extracts the domain address, either the DNS query message or the DNS response message is selected. You can use it.

또한, 상기의 예에서 알 수 있듯이, DNS 메시지에는 각 질의 및 응답을 식별하기 위한 ID 값이 있는데, 악의적인 사용자가 고의적으로 요청되지 않은 DNS 질의 메시지에 대한 응답 메시지를 보내는 것을 걸러내려면 DNS 메시지 검출부(111)가 DNS 질의 메시지를 검출하여 임시적으로 저장한 후, DNS 응답 메시지를 검출할 때 DNS 응답 메시지의 ID를 임시적으로 저장되어 있는 상기 DNS 질의 메시지의 ID와 비교하여 유효성을 검증하는 것이 보안 측면에서 더욱 바람직하다.Also, as you can see from the above example, the DNS message has an ID value to identify each query and response. To filter out malicious users intentionally sending response messages for unsolicited DNS query messages, the DNS message When the detection unit 111 detects and temporarily stores the DNS query message, when the DNS response message is detected, it is safe to compare the ID of the DNS response message with the ID of the DNS query message that is temporarily stored and to validate it. More preferred in terms of aspect.

이상과 같이 본 발명의 구체적인 내용을 한정된 환경에서 한정된 실시예와 도면을 통하여 설명하였다. 그러나, 본 발명은 이와 같이 특정한 플랫폼, 특정한 운영체제, 특정한 함수의 사용, 특정한 IP 버전 등에 의하여 한정되지 아니하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상과 아래에 기재된 특허 청구범위의 균등 범위 내에서 다양한 수정 및 변형이 가능함은 자명한 사실이다.As described above, specific embodiments of the present invention have been described through limited embodiments and drawings in a limited environment. However, the present invention is not limited to the specific platform, the specific operating system, the use of a specific function, the specific IP version, and the like, and should be understood by those skilled in the art to which the present invention pertains. It is obvious that various modifications and variations are possible within the scope of the equivalent claims.

본 발명에 의한 도메인 리버스 매핑 장치 및 방법은 특히 네트워크 방화 시스템, 네트워크 감사 시스템, 네트워크 트래픽 제어 시스템 등에서 유용하게 활용될 수 있다.The domain reverse mapping apparatus and method according to the present invention can be particularly useful in a network fire protection system, a network audit system, a network traffic control system, and the like.

네트워크 방화 시스템, 특히 개인 PC에 설치되는 개인 방화벽은 응용 프로그램이 외부 서버로 접속을 시도할 때, 상기 접속의 허용 여부를 스스로 판단할 수 없다면 팝업 창 등을 이용하여 사용자에게 상기 접속을 허용하겠냐는 질의를 하여 사용자의 판단에 따라 접속을 허용하거나 차단을 수행하는 것이 일반적이다. 이 때, 개인 방화벽은 응용 프로그램의 서버 접속을 감지했을 때 획득한 정보인 서버의 IP 주소, 서버의 포트 번호를 사용자에게 제시하고, 허용 여부를 질의한다. 그러나 컴퓨터에 전문적인 지식을 가지지 못한 일반 사용자는 개인 방화벽이 제시하는 숫자로만 표시된 IP 주소(dotted decimal notation)를 보고는 허용을 해야 할지 말아야 할지 쉽게 판단을 할 수가 없다. 이 문제점은 개인 방화벽이 효과적으로 해킹 및 개인정보 유출을 차단할 수 있는 수단임에도 불구하고 그 효용성을 발휘하지 못하는 주요한 원인이기도 하다. 여기에 본 발명의 기술적 사상을 적용하면 개인 방화벽은 응용 프로그램이 접속하려는 서버의 IP 주소를 도메인 주소로 리버스 매핑할 수 있으며, PC 사용자에게 숫자로만 구성된 IP 주소 대신 실제로 응용 프로그램이 접속을 시도한 서버의 도메인 주소를 정확히 제시해 줄 수 있게 되어, PC 사용자는 친숙한 도메인 주소를 보고 통신 허용 여부를 쉽게 판단할 수 있을 것이다.When a network firewall system, especially a personal firewall installed in a personal PC, cannot determine whether the connection is allowed when an application attempts to connect to an external server, a query asking the user whether to allow the connection by using a pop-up window or the like It is common to allow or block access at the discretion of the user. At this time, the personal firewall presents to the user the server's IP address and the server's port number, which are the information obtained when the application program detects the server connection, and inquires whether to allow. However, ordinary users without computer expertise can't easily determine whether to allow or not see a dotted decimal notation presented by a personal firewall. This problem is a major cause of its ineffectiveness, although the personal firewall is a means to effectively prevent hacking and leakage of personal information. Applying the technical idea of the present invention, the personal firewall can reverse-mapped the IP address of the server to which the application is connecting to the domain address, and instead of the IP address consisting of numbers only to the PC user, By correctly presenting the domain address, PC users can easily determine whether to allow communication by looking at a familiar domain address.

또한, 네트워크 방화 시스템을 이용하여 통신 허용 및 차단 규칙(rule)을 정의할 때에도 접속을 허용 및 차단할 원격 호스트의 주소를 종래의 기술처럼 IP 주소로 설정하지 않고, 도메인 주소로 설정하는 것이 가능할 것이다. 특히 하나의 IP 주소를 공유하는 하나의 물리적 서버에 다수의 도메인 주소로 다수의 서비스가 제공되는 경우 각각의 도메인 주소별로 차등적인 허용 및 차단 정책을 설정하는 것이 가능해진다.In addition, when defining a communication permission and blocking rule using a network fire protection system, it may be possible to set a domain address to an address of a remote host to allow and block access without setting an IP address as in the prior art. In particular, when a plurality of domain addresses are provided to a single physical server sharing a single IP address, it is possible to set a differential allow and block policy for each domain address.

LAN에 연결된 컴퓨터가 외부 호스트로 통신하는 내역을 기록하여 개인 정보나 기업 비밀의 유출을 감사(auditing)하는 네트워크 감사 시스템에 본 발명의 기술적 사상을 적용한다면, LAN에 연결된 컴퓨터들이 접속하는 원격 호스트의 주소에 대한 기록을 남길 때, 원격 호스트의 IP 주소 대신 실제로 클라이언트가 접속을 시도하였던 도메인 주소를 기록할 수 있게 되어, 좀 더 정확한 감사 기능을 수행할 수 있을 것이다. 특히, 본 발명은 특정 응용 프로토콜(예를 들면 HTTP)에 한정되지 아니하고 모든 응용 프로토콜의 경우에도 적용이 가능하다는 장점이 있다.If the technical idea of the present invention is applied to a network auditing system that records a communication of a computer connected to a LAN to an external host and audits the leakage of personal information or corporate secrets, When you record the address, you will be able to record the domain address that the client actually attempted to connect to instead of the IP address of the remote host, so that you can perform a more accurate audit. In particular, the present invention is not limited to a specific application protocol (for example, HTTP) and has an advantage that the present invention can be applied to all application protocols.

LAN에 연결된 컴퓨터가 외부로 통신하는 트래픽을 제어하여 QoS(Quality of Service) 등의 서비스를 제공하는 네트워크 트래픽 제어 시스템에 본 발명의 기술적 사상을 적용한다면, 서버의 IP 주소와 포트 번호만으로 트래픽을 제어하던 종래의 기술과 달리 클라이언트가 실제로 원격 호스트로 접속을 할 때 사용한 도메인 주소를 트래픽 제어의 판단 조건으로 활용하여 더 세분화되고 정확한 트래픽 제어를 할 수 있을 것이다.If the technical idea of the present invention is applied to a network traffic control system that provides a service such as QoS (Quality of Service) by controlling the traffic that the computer connected to the LAN communicates with the outside, the traffic is controlled only by the IP address and port number of the server. Unlike conventional technologies, the domain address used when a client actually connects to a remote host may be used as a condition for determining traffic control, thereby enabling more granular and accurate traffic control.

추가적으로, 리버스 매핑이 필요할 때 루트네임서버를 비롯한 여러 네임서버 에 질의를 할 필요 없이 도메인 리버스 매핑 장치(100)로 질의를 하여 한번에 결과를 얻음으로써, 종래의 기술을 사용한 리버스 매핑과 비교하여 속도상의 잇점도 있다.In addition, when reverse mapping is required, queries are made with the domain reverse mapping apparatus 100 without having to query several name servers including the root name server to obtain a result at a time, thereby comparing the speed with the conventional reverse mapping. There is also an advantage.

상기한 산업상 이용 가능성 외에도 네트워크 관련 응용 소프트웨어 및 관련 장비에서 클라이언트가 접속한 원격 호스트의 IP 주소를 도메인 주소로 변환할 필요가 있는 경우에 본 발명이 유용하게 활용될 수 있음을 당업자는 용이하게 알 수 있을 것이다.In addition to the above industrial availability, those skilled in the art will readily appreciate that the present invention can be usefully used when network-related application software and related equipment need to convert the IP address of the remote host to which the client is connected to a domain address. Could be.

도 1은 본 발명의 바람직한 실시예에 따른 도메인 리버스 매핑 장치를 나타내는 블록도,1 is a block diagram showing a domain reverse mapping apparatus according to a preferred embodiment of the present invention;

도 2는 본 발명의 바람직한 실시예에 따른 도메인 리버스 매핑 방법을 나타내는 흐름도,2 is a flowchart illustrating a domain reverse mapping method according to a preferred embodiment of the present invention;

도 3은 도2의 리버스 매핑 데이터 수집 단계를 나타내는 흐름도,3 is a flowchart illustrating a reverse mapping data collection step of FIG. 2;

도 4는 도2의 리버스 매핑 단계를 나타내는 흐름도,4 is a flowchart illustrating a reverse mapping step of FIG. 2;

도 5는 DNS 메시지 포맷을 도시한 도면,5 is a diagram illustrating a DNS message format;

도 6은 도 5의 헤더 섹션에서 사용되는 DNS 메시지 헤더 포맷을 도시한 도면,6 is a diagram illustrating a DNS message header format used in the header section of FIG. 5;

도 7은 도 5의 질의 섹션에서 사용되는 DNS 질의 포맷을 도시한 도면,7 is a diagram illustrating a DNS query format used in the query section of FIG. 5;

도 8은 도 5의 응답 섹션, 인증 섹션, 추가 섹션에서 사용되는 리소스 레코드 포맷을 도시한 도면,8 illustrates a resource record format used in a response section, an authentication section, and an additional section of FIG. 5;

도 9는 본 발명의 바람직한 실시예를 설명하기 위한 DNS 질의 메시지의 예시도,9 is an exemplary diagram of a DNS query message for explaining a preferred embodiment of the present invention;

도 10은 본 발명의 바람직한 실시예를 설명하기 위한 DNS 응답 메시지의 예시도,10 is an exemplary diagram of a DNS response message for explaining a preferred embodiment of the present invention;

도 11은 본 발명의 바람직한 실시예에 따라 도메인 리버스 매핑 장치의 작동을 설명하기 위한 블록도,11 is a block diagram for explaining the operation of the domain reverse mapping apparatus according to an embodiment of the present invention;

도 12는 종래기술에 따른 리버스 매핑 과정을 설명하기 위한 블록도,12 is a block diagram illustrating a reverse mapping process according to the prior art;

도 13은 다수의 도메인 주소로 서비스를 제공하는 하나의 물리적 서버를 나타내는 블록도,FIG. 13 is a block diagram illustrating one physical server providing a service to a plurality of domain addresses. FIG.

도 14는 본 발명의 바람직한 실시예를 설명하기 위한 리버스 매핑 데이터의 예시도이다.14 is an exemplary diagram of reverse mapping data for explaining a preferred embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

100: 도메인 리버스 매핑 장치100: domain reverse mapping device

110: 리버스 매핑 데이터 수집부110: reverse mapping data collection unit

120: 리버스 매핑부120: reverse mapping unit

600: 물리적 서버600: physical server

Claims (3)

IP 주소를 도메인 주소로 변환하는 장치로서,A device that translates IP addresses into domain addresses. 클라이언트가 로컬 네임서버를 이용하여 도메인 주소를 IP 주소로 변환하는 과정에서 사용되는 DNS 메시지를 검출하고, 상기 검출된 DNS 메시지로부터 클라이언트가 IP 주소로 변환을 요청한 도메인 주소와 상기 도메인 주소에 대응하는 적어도 하나 이상의 IP 주소를 포함하는 주소 매핑 데이터를 추출하고, 상기 주소 매핑 데이터를 포함하는 IP 주소를 도메인 주소로 변환하기 위해 필요한 리버스 매핑 데이터를 수집하는 리버스 매핑 데이터 수집부;The client detects a DNS message used in the process of converting a domain address into an IP address using a local name server, and at least the domain address corresponding to the domain address requested by the client to the IP address and the domain address from the detected DNS message. A reverse mapping data collection unit configured to extract address mapping data including one or more IP addresses and collect reverse mapping data necessary for converting the IP address including the address mapping data into a domain address; 상기 리버스 매핑 데이터 수집부에서 수집된 리버스 매핑 데이터를 컴퓨터의 기억장치에 저장하는 리버스 매핑 데이터 저장부;A reverse mapping data storage unit for storing the reverse mapping data collected by the reverse mapping data collecting unit in a storage device of a computer; 상기 리버스 매핑 데이터 저장부에 저장된 리버스 매핑 데이터를 이용하여 IP 주소를 도메인 주소로 변환하는 리버스 매핑 기능을 제공하는 리버스 매핑부;A reverse mapping unit for providing a reverse mapping function for converting an IP address into a domain address using reverse mapping data stored in the reverse mapping data storage unit; 를 포함하는 것을 특징으로 하는 디엔에스 룩어사이드 장치.Die look lookaside device comprising a. 제 1항에 있어서,The method of claim 1, 리버스 매핑 데이터 수집부는,Reverse mapping data collection unit, 클라이언트가 로컬 네임서버를 이용하여 도메인 주소를 IP 주소로 변환하는 과정에서 사용되는 DNS 메시지를 검출하는 DNS 메시지 검출부;A DNS message detector for detecting a DNS message used by the client in converting a domain address into an IP address using a local name server; 상기 DNS 메시지 검출부에서 검출된 DNS 메시지에서 클라이언트가 IP 주소로 변환을 요청한 도메인 주소와 상기 도메인 주소에 대응하는 적어도 하나 이상의 IP 주소를 추출하는 주소 매핑 데이터 추출부;An address mapping data extracting unit extracting a domain address from which the client requests translation into an IP address and at least one IP address corresponding to the domain address from the DNS message detected by the DNS message detecting unit; 를 포함하는 것을 특징으로 하는 디엔에스 룩어사이드 장치.Die look lookaside device comprising a. IP 주소를 도메인 주소로 변환하는 방법으로서,A method of converting an IP address into a domain address, 클라이언트가 로컬 네임서버를 이용하여 도메인 주소를 IP 주소로 변환하는 과정에서 사용되는 DNS 메시지를 검출하고, 상기 검출된 DNS 메시지로부터 클라이언트가 IP 주소로 변환을 요청한 도메인 주소와 상기 도메인 주소에 대응하는 적어도 하나 이상의 IP 주소를 포함하는 주소 매핑 데이터를 추출하고, 상기 주소 매핑 데이터를 포함하는 IP 주소를 도메인 주소로 변환하기 위해 필요한 리버스 매핑 데이터를 수집하고, 상기 수집된 리버스 매핑 데이터를 컴퓨터의 기억 장치에 저장하는 리버스 매핑 데이터 수집 단계;The client detects a DNS message used in the process of converting a domain address into an IP address using a local name server, and at least the domain address corresponding to the domain address requested by the client to the IP address and the domain address from the detected DNS message. Extract address mapping data including one or more IP addresses, collect reverse mapping data necessary for converting the IP address including the address mapping data into a domain address, and convert the collected reverse mapping data into a storage device of a computer. Storing the reverse mapping data; 상기 리버스 매핑 데이터 수집 단계에서 수집된 리버스 매핑 데이터를 이용하여 IP 주소를 도메인 주소로 변환하는 리버스 매핑을 수행하는 리버스 매핑 단계;A reverse mapping step of performing a reverse mapping to convert an IP address into a domain address using the reverse mapping data collected in the reverse mapping data collection step; 를 포함하는 것을 특징으로 하는 디엔에스 룩어사이드 방법.Die Look look-side method comprising a.
KR1020090094078A 2009-10-01 2009-10-01 System and method for dns look-aside KR20110036418A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090094078A KR20110036418A (en) 2009-10-01 2009-10-01 System and method for dns look-aside

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090094078A KR20110036418A (en) 2009-10-01 2009-10-01 System and method for dns look-aside

Publications (1)

Publication Number Publication Date
KR20110036418A true KR20110036418A (en) 2011-04-07

Family

ID=44044368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090094078A KR20110036418A (en) 2009-10-01 2009-10-01 System and method for dns look-aside

Country Status (1)

Country Link
KR (1) KR20110036418A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015194885A1 (en) * 2014-06-20 2015-12-23 서정환 Method and system for detecting failure-inducing client by using client route control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015194885A1 (en) * 2014-06-20 2015-12-23 서정환 Method and system for detecting failure-inducing client by using client route control system
US10411981B2 (en) 2014-06-20 2019-09-10 Jeong Hoan Seo Method and system for detecting client causing network problem using client route control system

Similar Documents

Publication Publication Date Title
US8584195B2 (en) Identities correlation infrastructure for passive network monitoring
US10187275B2 (en) Monitoring network traffic by using event log information
TWI475863B (en) Secure resource name resolution using a cache
TWI478564B (en) Method, computer-readable storage medium, and apparatus for secure resource name resolution
US8972571B2 (en) System and method for correlating network identities and addresses
US8312522B2 (en) Monitoring network traffic by using a monitor device
US11696110B2 (en) Distributed, crowdsourced internet of things (IoT) discovery and identification using Block Chain
US8180892B2 (en) Apparatus and method for multi-user NAT session identification and tracking
US7831697B2 (en) Mapping notification system for relating static identifier to dynamic address
EP3313044A1 (en) Real-time cloud based detection and mitigation of dns data exfiltration and dns tunneling
US20150288711A1 (en) Network analysis apparatus and method
US20080222730A1 (en) Network service monitoring
JP2007124064A (en) Apparatus quarantine method, and quarantine network system
CN108632221B (en) Method, equipment and system for positioning controlled host in intranet
US11546356B2 (en) Threat information extraction apparatus and threat information extraction system
CN108063833B (en) HTTP DNS analysis message processing method and device
EP3322157A1 (en) Profiling domain name system (dns) traffic
CN111988447A (en) Network security protection method and DNS recursive server
US7359338B2 (en) Method and apparatus for transferring packets in network
KR100961831B1 (en) System and method for domain reverse mapping
KR20110036418A (en) System and method for dns look-aside
US8607310B2 (en) Association of in-band and out-of-band identification credentials of a target device
KR20150026187A (en) System and Method for dropper distinction
KR101619371B1 (en) Method and apparatus for packet processing
KR101961451B1 (en) Origin tracking method and system using dns server for infected system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application