KR20190062115A - ICAP protocol extension method for providing network forensic service of encrypted traffic, network forensic device supporting it and web proxy - Google Patents

ICAP protocol extension method for providing network forensic service of encrypted traffic, network forensic device supporting it and web proxy Download PDF

Info

Publication number
KR20190062115A
KR20190062115A KR1020180038030A KR20180038030A KR20190062115A KR 20190062115 A KR20190062115 A KR 20190062115A KR 1020180038030 A KR1020180038030 A KR 1020180038030A KR 20180038030 A KR20180038030 A KR 20180038030A KR 20190062115 A KR20190062115 A KR 20190062115A
Authority
KR
South Korea
Prior art keywords
icap
http
https
request message
web
Prior art date
Application number
KR1020180038030A
Other languages
Korean (ko)
Other versions
KR101996044B1 (en
Inventor
이왕환
이상만
한석재
Original Assignee
(주) 시스메이트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 시스메이트 filed Critical (주) 시스메이트
Publication of KR20190062115A publication Critical patent/KR20190062115A/en
Application granted granted Critical
Publication of KR101996044B1 publication Critical patent/KR101996044B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • H04L67/2861
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Disclosed are an Internet contents adaptation protocol (ICAP) extension method for providing a network forensic service of encrypted traffic, a network forensic device supporting the same, and a web proxy. According to an embodiment of the present invention, a network forensic device comprises: an ICAP server for receiving an ICAP message including decrypted hypertext transfer protocol (HTTP) traffic from an ICAP client of the web proxy through an ICAP and extracting the HTTP traffic from the received ICAP message; and an HTTP traffic storage device for storing the HTTP traffic extracted in the ICAP server.

Description

암호화 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법과 이를 지원하는 네트워크 포렌식 장치 및 웹 프락시 {ICAP protocol extension method for providing network forensic service of encrypted traffic, network forensic device supporting it and web proxy}Technical Field [0001] The present invention relates to an ICAP protocol extension method for providing a network forensic service of encryption traffic, a network forensic device and a web proxy for supporting the ICAP protocol extension method and a network forensic service supporting the Internet protocol,

본 발명은 네트워크 트래픽 관리기술에 관한 것이다.The present invention relates to network traffic management techniques.

암호화(Encryption)는 정보의 보안을 위해 다른 사람들이 알아볼 수 없도록 정보를 가공하는 작업을 의미한다. 이는 정보의 중요성 증대로 네트워크를 통해서 중요한 정보를 주고받을 때, 이와 무관한 다른 사람들이 정보를 빼내더라도 읽거나 보지 못하도록 바꿔서(암호화하는 것을 의미함.) 정보가 누출되지 않도록 하기 위해서 이용을 한다. 한편, 암호화와 반대되는 개념으로 암호화된 자료를 가지고 원래의 정보를 알아내는 작업을 해독 또는 복호화(decryption)라고 한다.Encryption is the process of processing information so that it can not be seen by others for the sake of information security. This is used to ensure that information is not leaked (meaning to encrypt) when information is exchanged through the network, increasing the importance of information, and changing other people irrelevant to it to read or not to view it. On the other hand, as opposed to encryption, the task of finding out the original information with encrypted data is called decryption or decryption.

일 실시 예에 따라, 암호화 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법과 이를 지원하는 네트워크 포렌식 장치 및 웹 프락시를 제안한다.According to an exemplary embodiment, an ICAP protocol extension method for providing a network forensic service of encrypted traffic, a network forensic device supporting the same, and a web proxy are proposed.

일 실시 예에 따른 네트워크 포렌식 장치는, 웹 프락시의 ICAP 클라이언트로부터 복호화된 HTTP 트래픽을 포함하는 ICAP 메시지를 ICAP 프로토콜을 통해 수신하고 수신된 ICAP 메시지로부터 HTTP 트래픽을 추출하는 ICAP 서버와, ICAP 서버에서 추출된 HTTP 트래픽이 저장되는 HTTP 트래픽 저장 장치를 포함한다.The network forensic device according to an embodiment includes an ICAP server for receiving an ICAP message including HTTP traffic decrypted from an ICAP client of a web proxy through an ICAP protocol and extracting HTTP traffic from the received ICAP message, Lt; RTI ID = 0.0 > HTTP < / RTI >

ICAP 서버는, 웹 프락시의 ICAP 클라이언트로부터 복호화된 HTTP 응답 메시지를 포함하는 ICAP RESPMOD 요청 메시지를 ICAP 프로토콜을 통해 수신하고 수신된 ICAP RESPMOD 요청 메시지로부터 HTTP 응답 메시지를 추출하여 HTTP 트래픽 저장 장치에 저장할 수 있다. ICAP 서버는, ICAP 클라이언트인 웹 프락시로부터 복호화된 HTTP 요청 메시지를 포함하는 ICAP REQMOD 요청 메시지를 ICAP 프로토콜을 통해 수신하고 수신된 ICAP REQMOD 요청 메시지로부터 HTTP 요청 메시지를 추출하여 HTTP 트래픽 저장 장치에 저장할 수 있다.The ICAP server can receive an ICAP RESPMOD request message including an HTTP response message decoded from the ICAP client of the web proxy through the ICAP protocol, extract the HTTP response message from the received ICAP RESPMOD request message, and store the extracted HTTP response message in the HTTP traffic storage device . The ICAP server may receive an ICAP REQMOD request message including an HTTP request message decrypted from a web proxy that is an ICAP client through the ICAP protocol, extract an HTTP request message from the received ICAP REQMOD request message, and store the extracted HTTP request message in the HTTP traffic storage device .

ICAP 서버는, 웹 프락시로부터 수신된 ICAP RESPMOD 요청 메시지로부터 웹 클라이언트와 웹 서버 간에 송수신된 HTTP 트래픽을 추출하여 데이터 오브젝트 단위로 HTTP 트래픽 저장 장치에 저장하는 ICAP 쓰레드와, 에이징 시간 내에 동일한 데이터 오브젝트가 디스크에 중복 저장되는 것을 방지하기 위하여 해시 테이블 엔트리별로 에이징 시간 정보를 관리하는 에이징 쓰레드와, 소정의 타임 윈도우 구간을 기준으로 그때까지 저장된 해시 테이블과 데이터 오브젝트를 스왑하는 스왑 쓰레드를 포함할 수 있다.The ICAP server includes an ICAP thread for extracting HTTP traffic transmitted and received between the web client and the web server from the ICAP RESPMOD request message received from the web proxy and storing the extracted HTTP traffic in the HTTP traffic storage unit for each data object, An aging thread for managing aging time information for each hash table entry to prevent duplication of the aging thread, and a swap thread for swapping a data object and a hash table stored up to that time based on a predetermined time window section.

ICAP 쓰레드는, 웹 프락시의 ICAP 클라이언트로부터 ICAP RESPMOD 요청 메시지를 수신하고, 수신한 ICAP RESPMOD 요청 메시지로부터 데이터 오브젝트를 추출하며, 추출된 데이터 오브젝트의 핑거프린트를 계산하고, 데이터 오브젝트 식별자(URL 정보)로부터 해시 키를 생성하며, 생성된 해시 키를 인덱스로 사용하여 메모리의 해시 테이블을 검색할 수 있다. ICAP 쓰레드는, 추출된 데이터 오브젝트 식별자(URL 정보)에 임의의 해시함수(H)를 반영하여 해시 키를 생성할 수 있다.The ICAP thread receives the ICAP RESPMOD request message from the ICAP client of the web proxy, extracts the data object from the received ICAP RESPMOD request message, calculates the fingerprint of the extracted data object, and extracts the data object identifier (URL information) A hash key is generated, and a hash table of the memory can be searched using the generated hash key as an index. The ICAP thread can generate a hash key by reflecting an arbitrary hash function (H) on the extracted data object identifier (URL information).

스왑 쓰레드는, 스왑 타임 윈도우 구간 내에 수신된 모든 데이터 오브젝트들이 저장되는 데이터 오브젝트 저장 파일과, 데이터 오브젝트 저장 파일 내에 저장된 각각의 데이터 오브젝트들을 직접 인덱싱하기 위해 데이터 오브젝트 저장 파일과 1:1 연관 관계를 갖는 로컬 해시 테이블 저장 파일을 저장할 수 있다. 데이터 오브젝트 저장 파일과 로컬 해시 테이블 저장 파일은 저장시간을 기준으로 일정 단위 시간대별로 트리 형태의 타임라인 디렉토리 내에 저장되며, 타임라인 디렉토리 구성을 통하여 시간 조건을 포함하는 검색 조건 입력에 의하여 해당 시간대에 저장된 특정 데이터 오브젝트의 검색 기능을 제공할 수 있다.The swap thread has a 1: 1 association with the data object storage file to directly index each data object stored in the data object storage file, and a data object storage file in which all the data objects received in the swap time window section are stored Save the local hash table You can save the file. The data object storage file and the local hash table storage file are stored in a timeline directory in a tree form according to a predetermined unit time period based on the storage time and stored in the corresponding time zone by inputting a search condition including a time condition through a timeline directory configuration It is possible to provide a search function of a specific data object.

다른 실시 예에 따른 웹 프락시는, 웹 클라이언트 또는 웹 서버로부터 수신된 HTTPS 트래픽을 복호화하여 HTTP 트래픽을 추출하는 HTTPS 복호화부와, HTTPS 복호화부로부터 HTTP 트래픽을 수신하여 ICAP 프로토콜을 통해 네트워크 포렌식 장치에 전달하는 ICAP 클라이언트를 포함한다.The web proxy according to another embodiment includes an HTTPS decryption unit for extracting HTTP traffic by decrypting HTTPS traffic received from a web client or a web server, and an HTTPS decryption unit for receiving HTTP traffic from the HTTPS decryption unit and delivering the HTTP traffic to the network forensic device Gt; ICAP < / RTI >

HTTPS 복호화부는, 암호화 라이브러리의 함수를 훅킹(Hooking) 하여 HTTPS 트래픽으로부터 평문의 HTTP 트래픽을 추출할 수 있다. The HTTPS decryption unit can extract plaintext HTTP traffic from the HTTPS traffic by hooking a function of the encryption library.

HTTPS 복호화부는, 웹 클라이언트로부터 수신된 HTTPS 요청 메시지를 복호화하여 HTTPS 요청 메시지로부터 HTTP 요청 메시지를 추출하고 이를 ICAP 클라이언트로 전송하는 제1 HTTPS 복호화부와, 웹 서버로부터 수신된 HTTPS 응답 메시지를 복호화하여 HTTPS 응답 메시지로부터 HTTP 응답 메시지를 추출하여 이를 ICAP 클라이언트로 전송하는 제2 HTTPS 복호화부를 포함할 수 있다.The HTTPS decryption unit decrypts the HTTPS request message received from the web client, extracts the HTTP request message from the HTTPS request message, and transmits the extracted HTTP request message to the ICAP client. The HTTPS decryption unit decrypts the HTTPS response message received from the web server, And a second HTTPS decryption unit for extracting an HTTP response message from the response message and transmitting the extracted HTTP response message to the ICAP client.

ICAP 클라이언트는, HTTPS 복호화부로부터 HTTP 요청 메시지를 수신하여 네트워크 포렌식 장치에 HTTP 요청 메시지를 포함한 ICAP REQMOD 요청 메시지를 전송하는 상 방향 ICAP 클라이언트와, HTTPS 복호화부로부터 HTTP 응답 메시지를 수신하여 네트워크 포렌식 장치에 HTTP 응답 메시지를 포함한 ICAP RESPMOD 요청 메시지를 전송하는 하 방향 ICAP 클라이언트를 포함할 수 있다.The ICAP client includes an upper ICAP client that receives an HTTP request message from the HTTPS decryption unit and transmits an ICAP REQMOD request message including an HTTP request message to the network forensic device, and an upper ICAP client that receives the HTTP response message from the HTTPS decryption unit, And a downward ICAP client sending an ICAP RESPMOD request message including an HTTP response message.

웹 프락시는, 복호화된 HTTP 트래픽을 컨텐츠 캐쉬에 별도 저장하는 HTTP 트래픽 처리부를 더 포함할 수 있다.The web proxy may further include an HTTP traffic processing unit for separately storing the decrypted HTTP traffic in the content cache.

다른 실시 예에 따른 HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법은, 웹 프락시가 HTTPS 프로토콜을 이용하여 웹 클라이언트로부터 암호화된 HTTPS 요청 메시지를 수신하는 단계와, 웹 프락시가 수신된 HTTPS 요청 메시지를 복호화하여 HTTPS 요청 메시지로부터 HTTP 요청 메시지를 추출하는 단계와, 웹 프락시가 추출된 HTTP 요청 메시지를 포함한 ICAP REQMOD 요청 메시지를 ICAP 프로토콜을 이용하여 네트워크 포렌식 장치에 전송하는 단계와, 네트워크 포렌식 장치가 ICAP REQMOD 메시지에 포함된 HTTP 요청 메시지를 저장하는 단계를 포함한다.According to another embodiment of the present invention, an ICAP protocol extension method for providing a network forensic service of HTTPS traffic includes receiving an encrypted HTTPS request message from a web client using a HTTPS protocol, Extracting an HTTP request message from an HTTPS request message, transmitting an ICAP REQMOD request message including an extracted HTTP request message to a network forensic device using an ICAP protocol, And storing the HTTP request message included in the REQMOD message.

HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법은, 네트워크 포렌식 장치가 HTTP 요청 메시지를 저장한 후 ICAP 프로토콜을 이용하여 웹 프락시에 ICAP 응답 메시지를 송신하는 단계와, 웹 프락시가 ICAP 응답 메시지에 포함된 HTTP 요청 메시지를 HTTPS 요청 메시지로 암호화하여 웹 서버로 송신하고, HTTPS 요청 메시지에 대한 응답으로 HTTPS 응답 메시지를 웹 서버로부터 수신하는 단계와, 웹 프락시가 수신된 HTTPS 응답 메시지를 복호화하여 HTTPS 응답 메시지로부터 HTTP 응답 메시지를 추출하고 추출된 HTTP 응답 메시지와 HTTP 요청 메시지를 포함한 ICAP RESPMOD 요청 메시지를 ICAP 프로토콜을 이용하여 네트워크 포렌식 장치에 전송하는 단계와, 네트워크 포렌식 장치가 ICAP RESPMOD 요청 메시지에 포함된 HTTP 응답 메시지와 HTTP 요청 메시지를 저장하는 단계를 더 포함할 수 있다.An ICAP protocol extension method for providing a network forensic service of HTTPS traffic includes the steps of transmitting an ICAP response message to a web proxy using an ICAP protocol after the network forensic device stores an HTTP request message, Encrypting the HTTP request message with the HTTPS request message and transmitting the HTTPS request message to the web server, receiving an HTTPS response message from the web server in response to the HTTPS request message, decrypting the received HTTPS response message, Extracting an HTTP response message from the message and transmitting an ICAP RESPMOD request message including the HTTP response message and the HTTP request message to the network forensic device using the ICAP protocol; Response messages and HTTP request messages Chapter stage that can be further included.

HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법은, 웹 프락시가 ICAP RESPMOD 요청 메시지에 대한 응답으로 ICAP 프로토콜을 이용하여 ICAP 응답 메시지를 네트워크 포렌식 장치로부터 수신하는 단계와, 웹 프락시가 수신된 ICAP 응답 메시지에 포함된 HTTP 응답 메시지를 HTTPS 응답 메시지로 암호화한 후 웹 클라이언트로 송신하는 단계를 더 포함할 수 있다.An ICAP protocol extension method for providing a network forensic service of HTTPS traffic includes the steps of a web proxy receiving an ICAP response message from a network forensic device using an ICAP protocol in response to an ICAP RESPMOD request message, Encrypting the HTTP response message included in the response message with an HTTPS response message, and transmitting the HTTP response message to the web client.

일 실시 예에 따른 네트워크 포렌식 장치는 암호화(된) 트래픽(예를 들어, HTTPS 트래픽)을 대상으로 포렌식 분석을 위해, ICAP 프로토콜 확장을 기반으로 ICAP 서버의 위치에서 웹 프락시의 ICAP 클라이언트로부터 복호화된 평문의 HTTP 트래픽을 수집하여 저장할 수 있다. 이에 따라, 네트워크 포렌식 분석대상이 되는 HTTPS 트래픽을 복호화하기 위해 별도로 HTTPS 암호 키를 추출할 필요가 없어서 보안 취약성의 문제를 해결할 수 있다. 나아가, 복호화된 HTTP 데이터 자체를 저장하기 때문에, HTTPS 암호 키를 이용하는 방법에서 포렌식 분석을 위해 필수적으로 선행되어야 하는 전처리 단계(예를 들어, 암호화 키 추출, 플로우 생성시간 추출, 플로우 식별정보 추출, 패킷 재조립에 의한 플로우 추출, 복호화 및 가시화 단계)를 생략할 수 있다. 나아가, 네트워크 포렌식 장치는 ICAP 프로토콜을 지원하는 써더 파티(3rd party) 웹 프락시 및 웹 보안 장치와의 상호 연동이 가능함으로써 개방형 시스템의 장점을 얻을 수 있다.A network forensic device according to an embodiment includes a plaintext deciphered from the ICAP client of the web proxy at the location of the ICAP server based on the ICAP protocol extension for forensic analysis on encrypted traffic (for example, HTTPS traffic) Of HTTP traffic can be collected and stored. Accordingly, it is not necessary to separately extract the HTTPS encryption key to decrypt the HTTPS traffic to be analyzed for network forensic analysis, thereby solving the problem of security vulnerability. Furthermore, since the decrypted HTTP data itself is stored, it is necessary to perform a preprocessing step (for example, encryption key extraction, flow generation time extraction, flow identification information extraction, The flow extraction, decoding and visualization step by reassembly) can be omitted. Furthermore, network forensic devices can interoperate with third party web proxies and web security devices that support the ICAP protocol, thereby achieving the advantages of an open system.

도 1은 본 발명의 일 실시 예에 따른 웹 프락시의 구성을 도시한 도면,
도 2는 본 발명의 일 실시 예에 따른 네트워크 포렌식 장치와 웹 프락시의 구성을 도시한 도면,
도 3a는 본 발명의 이해를 돕기 위해 ICAP 프로토콜을 지원하는 웹 프락시에서 ICAP 프로토콜을 통한 메시지 전송 동작을 설명하기 위한 웹 프락시의 구조를 도시한 도면이고, 도 3b 내지 도 3f는 이때의 전송 메시지 구조를 도시한 도면,
도 4a는 도 3a의 웹 페이지 요청 단계에서 ICAP 서버가 2. ICAP REQMOD request에 대한 3. ICAP response 메시지로 응답할 경우 웹 프락시의 메시지 전송 동작을 설명하기 위한 웹 프락시의 구조를 도시한 도면이고, 도 4b 내지 도 4e는 이때의 전송 메시지 구조를 도시한 도면,
도 5는 본 발명의 이해를 돕기 위한 네트워크 포렌식 툴의 구성을 도시한 도면,
도 6은 본 발명의 이해를 돕기 위해 패킷을 수집하여 처리하는 프로세스를 도시한 도면,
도 7은 본 발명의 이해를 돕기 위해 네트워크 포렌식을 위한 트래픽 수집, 검색 및 분석 프로세스를 도시한 도면,
도 8 및 도 9는 HTTPS 트래픽을 대상으로 네트워크 포렌식 기능 제공을 위한 다양한 방법을 소개하기 위해 웹 프락시의 구성을 도시한 도면,
도 10은 본 발명의 일 실시 예에 따른 HTTPS 트래픽을 대상으로 네트워크 포렌식 기능 제공을 위한 웹 프락시의 구성을 도시한 도면,
도 11은 HTTPS 암호 키를 이용하는 네트워크 포렌식 장치의 구성도,
도 12는 본 발명의 일 실시 예에 따른 네트워크 포렌식을 위한 네트워크 시스템의 구성을 도시한 도면,
도 13은 본 발명의 일 실시 예에 따른 네트워크 시스템의 구성요소 간 사용하는 프로토콜을 도시한 도면,
도 14는 본 발명의 일 실시 예에 따른 HTTPS 트래픽을 복호화하기 위한 웹 프락시의 프로세스를 도시한 도면,
도 15는 본 발명의 일 실시 예에 따른 웹 프락시가 HTTPS 트래픽을 복호화할 때 OpenSSL 라이브러리의 후킹을 위한 함수를 도시한 도면,
도 16은 본 발명의 일 실시 예에 따른 HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법을 설명하기 위해 네트워크 구성 요소 간 데이터 전송 프로세스를 도시한 도면,
도 17은 본 발명의 일 실시 예에 따른 네트워크 포렌식 장치의 소프트웨어 기능 구성을 도시한 도면,
도 18은 본 발명의 일 실시 예에 따른 도 17의 해시 테이블의 구조를 도시한 도면,
도 19는 본 발명의 일 실시 예에 따른 도 17의 데이터 오브젝트 저장 파일과 로컬 해시 테이블 저장 파일의 구조를 도시한 도면,
도 20은 본 발명의 일 실시 예에 따른 검색 기능을 설명하기 위한 도면,
도 21 및 도 22는 본 발명의 일 실시 예에 따른 도 17의 ICAP 서버 쓰레드의 동작 프로세스를 도시한 도면이다.
1 is a block diagram illustrating a configuration of a web proxy according to an exemplary embodiment of the present invention;
FIG. 2 illustrates a network forensic device and a web proxy according to an exemplary embodiment of the present invention. FIG.
FIG. 3A is a diagram illustrating a structure of a Web proxy for explaining a message transmission operation through an ICAP protocol in a web proxy supporting an ICAP protocol to facilitate understanding of the present invention, and FIGS. Fig.
4A is a diagram illustrating a structure of a Web proxy for explaining a message transmission operation of a Web proxy when the ICAP server responds with a 3. ICAP response message for the 2. ICAP REQMOD request in the web page request step of FIG. FIGS. 4B to 4E illustrate transmission message structures at this time,
5 is a diagram illustrating a configuration of a network forensic tool for facilitating understanding of the present invention.
6 illustrates a process of collecting and processing packets to facilitate understanding of the present invention,
7 is a diagram illustrating a traffic collection, retrieval, and analysis process for network forensics to facilitate understanding of the present invention.
FIGS. 8 and 9 are diagrams showing a configuration of a Web proxy to introduce various methods for providing a network forensic function for HTTPS traffic;
10 is a diagram illustrating a configuration of a web proxy for providing a network forensic function for HTTPS traffic according to an exemplary embodiment of the present invention;
11 is a configuration diagram of a network forensic device using an HTTPS encryption key,
FIG. 12 illustrates a network system for network forensics according to an embodiment of the present invention. FIG.
13 is a diagram illustrating a protocol used between components of a network system according to an embodiment of the present invention;
FIG. 14 illustrates a process of a Web proxy for decrypting HTTPS traffic according to an embodiment of the present invention; FIG.
FIG. 15 illustrates a function for hooking an OpenSSL library when a web proxy according to an embodiment of the present invention decodes HTTPS traffic; FIG.
16 is a diagram illustrating a data transmission process between network elements for explaining an ICAP protocol extension method for providing a network forensic service of HTTPS traffic according to an embodiment of the present invention;
17 is a diagram illustrating a software function configuration of a network forensic apparatus according to an embodiment of the present invention.
FIG. 18 illustrates a structure of the hash table of FIG. 17 according to an embodiment of the present invention; FIG.
FIG. 19 is a diagram illustrating a structure of a data object storage file and a local hash table storage file of FIG. 17 according to an embodiment of the present invention; FIG.
20 is a diagram for explaining a search function according to an embodiment of the present invention;
FIG. 21 and FIG. 22 are diagrams illustrating an operation process of the ICAP server thread of FIG. 17 according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. , Which may vary depending on the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.Each block of the accompanying block diagrams and combinations of steps of the flowcharts may be performed by computer program instructions (execution engines), which may be stored in a general-purpose computer, special purpose computer, or other processor of a programmable data processing apparatus The instructions that are executed through the processor of the computer or other programmable data processing equipment will generate means for performing the functions described in each block or flowchart of the block diagram.

이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory It is also possible for the instructions stored in the block diagram to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of the flowchart.

그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.And computer program instructions may be loaded onto a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible that the instructions that perform the data processing equipment provide the steps for executing the functions described in each block of the block diagram and at each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.Also, each block or step may represent a portion of a module, segment, or code that includes one or more executable instructions for executing the specified logical functions, and in some alternative embodiments, It should be noted that functions may occur out of order. For example, two successive blocks or steps may actually be performed substantially concurrently, and it is also possible that the blocks or steps are performed in the reverse order of the function as needed.

이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다. 본 발명의 실시 예는 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the following embodiments of the present invention may be modified into various other forms, and the scope of the present invention is not limited to the embodiments described below. The embodiments of the present invention are provided to enable those skilled in the art to more fully understand the present invention.

도 1은 본 발명의 일 실시 예에 따른 웹 프락시의 구성을 도시한 도면이다.FIG. 1 is a diagram illustrating a configuration of a web proxy according to an embodiment of the present invention.

도 1을 참조하면, 웹 프락시(10)는 제1 HTTPS 복호화부(121), 제2 HTTPS 복호화부(122), HTTP 트래픽 처리부(130), 제1 HTTPS 암호화부(141) 및 제2 HTTPS 암호화부(142)를 포함한다.1, the web proxy 10 includes a first HTTPS decryption unit 121, a second HTTPS decryption unit 122, an HTTP traffic processing unit 130, a first HTTPS encryption unit 141, (142).

일 실시 예에 따른 웹 프락시(10)는 기업 내부망과 인터넷 간에 유통되고 있는 암호화된 트래픽(예를 들어, HTTPS 트래픽) 또는 복호화된 트래픽(예를 들어, HTTP 트래픽)을 대상으로 프락시 기능을 제공한다. 프록시(Proxy)는 사전적으로 대리, 대리인의 의미로, 방화벽 및 웹 캐시 등의 목적으로 사용하고 있다. 사용자의 웹 클라이언트가 웹 브라우저에서 프록시를 지정하면 웹 클라이언트에서 요청되는 URL이 해당 웹 서버와 직접 연결되는 것이 아니라, 프록시를 경유하여 연결된다. 이때 웹 클라이언트의 요청을 받은 프록시는 URL의 해당 웹 서버와 접속하여 요청을 보내고, 웹 클라이언트 대신 응답을 받아 이를 웹 클라이언트로 다시 넘겨주는 역할을 한다. 이와 같이 웹 클라이언트와 웹 서버와의 세션 연결이 중간의 프록시를 거치므로 웹 클라이언트와 프록시, 프록시와 웹 서버와의 세션 연결, 즉, 두 개의 세션 연결이 성립된다. 이와 유사한 형태로 웹 프록시(10)는 도 1에 도시된 바와 같이 웹 클라이언트와 웹 서버 사이에서 대리하는 기능을 수행하면서 웹 클라이언트와 설정된 모든 세션에 대하여 웹 서버와 무관하게 자체적으로 생성한 자신의 비밀키를 사용하여 웹 클라이언트에 대해 웹 서버로서 대리 동작하는 투명(transparent) 프록시 모드로 동작한다.The web proxy 10 according to one embodiment provides a proxy function for encrypted traffic (for example, HTTPS traffic) or decrypted traffic (for example, HTTP traffic) distributed between an internal company network and the Internet do. Proxy is used by proxy and proxy for purposes such as firewall and web cache. When a user's web client specifies a proxy in a web browser, the URL requested from the web client is not directly connected to the web server but is connected via a proxy. At this time, the proxy receiving the request from the web client connects with the corresponding web server of the URL, sends the request, receives the response instead of the web client, and returns it to the web client. In this way, since the session connection between the web client and the web server goes through the intermediate proxy, the session connection between the web client, the proxy, the proxy and the web server, that is, two session connections is established. In a similar manner, the web proxy 10 performs proxy functions between a web client and a web server, as shown in Fig. 1, and generates a self-generated secret Key in a transparent proxy mode that acts as a web server for the web client.

일 실시 예에 따른 웹 프락시(10)는 웹 클라이언트와 웹 서버 사이에 중간자(man-in-the-middle) 형태로 위치한다. 웹 프락시(10)는 암호화 프로토콜(예를 들어, SSL/TLS 프로토콜)로 암호화된 트래픽(예를 들어, HTTPS 트래픽)을 웹 클라이언트(12)와 웹 서버(14) 사이에서 중계한다. 웹 프락시(10)는 암호화된 HTTPS 트래픽을 HTTP 트래픽으로 복호화한 후, 컨텐츠를 추출하여 컨텐츠 캐쉬(contents cache)(150)에 캐싱하고, HTTP 트래픽을 다시 재 암호화하여 최초의 목적지인 웹 서버로 재전송한다.The web proxy 10 according to one embodiment is located in a man-in-the-middle form between a web client and a web server. The web proxy 10 relays traffic (e.g., HTTPS traffic) encrypted with an encryption protocol (e.g., SSL / TLS protocol) between the web client 12 and the web server 14. The web proxy 10 decrypts the encrypted HTTPS traffic into HTTP traffic, extracts the content, caches the content in the contents cache 150, re-encrypts the HTTP traffic, and retransmits the HTTP traffic to the first destination web server do.

일 실시 예에 따른 웹 프락시(10)는 캐싱을 목적으로 수행되는 HTTPS 복호화부(121, 122)의 HTTPS 트래픽 복호화 기능과, HTTPS 암호화부(141, 142)의 HTTPS 트래픽 암호화 기능과, HTTP 트래픽 처리부(130)의 평문으로 바뀐 HTTP 트래픽을 추출하여 컨텐츠 캐쉬(150)에 별도 저장하는 기능을 수행한다. HTTP 트래픽 처리부(130)는 웹 프락시(10)가 웹 클라이언트(12) 또는 웹 서버(14)로부터 수신한 HTTPS 트래픽을 복호화한 평문의 HTTP 트래픽을 컨텐츠 캐쉬(150)에 별도 저장된다.The web proxy 10 according to one embodiment includes an HTTPS traffic decryption function of the HTTPS decryption units 121 and 122 performed for caching purposes, an HTTPS traffic encryption function of the HTTPS encryption units 141 and 142, Extracts the HTTP traffic changed to the plain text of the content cache 130 and stores the HTTP traffic separately in the content cache 150. The HTTP traffic processing unit 130 separately stores plain text HTTP traffic obtained by decoding the HTTPS traffic received from the web client 12 or the web server 14 by the web proxy 10 in the content cache 150.

일 실시 예에 따른 암호화(된) 트래픽은 HTTPS 트래픽이고, 복호화(된) 트래픽은 HTTP 트래픽이며, 웹 프락시(10)는 HTTPS 트래픽을 처리하는 HTTPS 프락시이다. 이하, 상세한 설명에서는 암호화 트래픽은 HTTPS 트래픽으로, 복호화 트래픽은 HTTP 트래픽으로 한정하여 설명하나, 이에 한정되는 것은 아니다.According to one embodiment, the encrypted traffic is HTTPS traffic, the decrypted traffic is HTTP traffic, and the web proxy 10 is an HTTPS proxy for processing HTTPS traffic. In the following description, the encrypted traffic is defined as HTTPS traffic, and the decrypted traffic is defined as HTTP traffic. However, the present invention is not limited thereto.

도 2는 본 발명의 일 실시 예에 따른 네트워크 포렌식 장치와 웹 프락시의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of a network forensic apparatus and a web proxy according to an embodiment of the present invention.

도 2를 참조하면, 일 실시 예에 따른 네트워크 포렌식 장치(20)는 기업 내부망과 인터넷 간에 유통되고 있는 암호화/복호화 트래픽을 수집 및 저장하여 네트워크 포렌식(Network forensics) 기능을 제공한다. 네트워크 포렌식 장치(20)는 네트워크 포렌식을 위하여 웹 프락시(10)와 연동하여 웹 프락시(10)에서 복호화된 HTTP 트래픽을 수집 및 저장한다. 이때, 네트워크 포렌식 장치(20)는 웹 프락시(10)와 인터넷 컨텐츠 적응 프로토콜(Internet contents adaptation protocol: ICAP, 이하 'ICAP'라 칭함)을 통해 연동한다. 네트워크 포렌식 장치(20)는 웹 프락시(10)로부터 분리되어 외부에 위치하고, ICAP 서버(200) 및 HTTP 트래픽 저장장치(210)를 포함한다. ICAP 서버(200)는 웹 프락시(10)의 ICAP 클라이언트(100)와 ICAP 프로토콜을 통해 연결되어, 웹 프락시(10)로부터 HTTP 트래픽을 수신하고 이를 처리하여 HTTP 트래픽 저장장치(210)에 저장한다. 이때, 저장되는 HTTP 트래픽은 웹 프락시(10)가 웹 클라이언트 또는 웹 서버로부터 수신한 HTTPS 트래픽을 복호화한 평문의 HTTP 트래픽이다.Referring to FIG. 2, the network forensic apparatus 20 according to an exemplary embodiment collects and stores encryption / decryption traffic distributed between an internal company network and the Internet to provide a network forensics function. The network forensic device 20 collects and stores the HTTP traffic decrypted in the web proxy 10 in cooperation with the web proxy 10 for network forensic analysis. At this time, the network forensic device 20 is interworked with the web proxy 10 through an Internet contents adaptation protocol (ICAP). The network forensic device 20 is located externally from the web proxy 10 and includes an ICAP server 200 and an HTTP traffic storage device 210. The ICAP server 200 is connected to the ICAP client 100 of the web proxy 10 via the ICAP protocol and receives HTTP traffic from the web proxy 10 and processes the HTTP traffic to store the HTTP traffic in the HTTP traffic storage device 210. At this time, the stored HTTP traffic is the plain-text HTTP traffic decrypted by the web proxy 10 from the web client or the web server.

일 실시 예에 따른 네트워크 포렌식 장치(20)는 전술한 바와 같이 웹 프락시(10)로부터 복호화된 평문 형태의 HTTP 트래픽을 중계받기 때문에, HTTPS 트래픽을 복호화하기 위해 웹 프락시(10)에서 HTTPS 암호 키를 추출하여 별도의 파일 형태로 보관할 필요가 없다. 따라서, 보안 취약성의 문제를 해결할 수 있다. 또한, 포렌식 분석을 위해 복호화하고자 하는 HTTPS 트래픽을 추출하기 위해 선행되어야 하는 전처리 단계(예를 들어, 패킷으로부터 플로우 추적 및 재조립)를 생략할 수 있다.Since the network forensic device 20 according to the embodiment relays the plaintext form HTTP traffic decrypted from the web proxy 10 as described above, the network forensic device 20 transmits the HTTPS cryptographic key in the web proxy 10 in order to decrypt the HTTPS traffic It is not necessary to extract and store it as a separate file. Therefore, the problem of security vulnerability can be solved. In addition, preprocessing steps (e.g., flow tracking and reassembly from packets) that must be preceded to extract the HTTPS traffic to decrypt for forensic analysis may be omitted.

일 실시 예에 따른 네트워크 포렌식 장치(20)는 개방형 통신 프로토콜인 ICAP 프로토콜을 지원하는 써더 파티(3rd party) 웹 프락시(10), 웹 보안 장비 등과의 상호 연동이 가능함으로써, 개방형 시스템으로서의 장점을 얻을 수 있다. 웹 보안 장비는 예를 들어, 웹 방화벽, DLP 등이 있다.The network forensic apparatus 20 according to an exemplary embodiment can interoperate with a third party web proxy 10 supporting a ICAP protocol that is an open communication protocol, a web security apparatus, and the like, thereby obtaining an advantage as an open system . Web security appliances include, for example, web firewalls, DLPs, and the like.

도 3a는 본 발명의 이해를 돕기 위해 ICAP 프로토콜을 지원하는 웹 프락시에서 ICAP 프로토콜을 통한 메시지 전송 동작을 설명하기 위한 웹 프락시의 구조를 도시한 도면이고, 도 3b 내지 도 3f는 이때의 전송 메시지 구조를 도시한 도면이다.FIG. 3A is a diagram illustrating a structure of a Web proxy for explaining a message transmission operation through an ICAP protocol in a web proxy supporting an ICAP protocol to facilitate understanding of the present invention, and FIGS. Fig.

도 3a 내지 도 3f를 참조하면, 웹 프락시(10)는 웹 클라이언트(12)와 웹 서버(14) 간에 전송되는 HTTP 트래픽을 처리하는 HTTP 프락시로서 동작한다. ICAP(Internet contents adaptation protocol) 프로토콜은 HTTP(hypertext transfer protocol)와 유사한 프로토콜로서 IETF 3507에 기술되어 있다. ICAP는 투명 모드로 동작하는 웹 프락시 서버에 새로운 기능을 추가하거나 확장하는 경우 그 방법을 규정함으로써, 개방형(Open) 시스템이 지향하는 확장성 (Scalability), 재사용성(Portability) 및 상호 연동성(Interoperability)과 같은 장점을 가진 프로토콜이다. 현재 ICAP 프로토콜은 대표적으로 투명 웹 프락시 모드로 동작하는 캐싱 장비에서, 바이러스 스캐닝, 컨텐츠 필터링, 배너광고 삽입/제거 등의 컨텐츠 변경/수정 등의 기능을 수행하는 외부 서버와의 연동 표준 프로토콜로서 사용되고 있다. 최근 다양한 웹 프락시 제품들이 ICAP 프로토콜을 기본적으로 지원하고 있다. 이에 따라 웹 보안 솔류션 역시 웹 프락시와의 연동을 위하여 ICAP 프로토콜을 지원하고 있는 추세다.3A to 3F, the web proxy 10 operates as an HTTP proxy for processing HTTP traffic transmitted between the web client 12 and the web server 14. The Internet contents adaptation protocol (ICAP) protocol is described in IETF 3507 as a protocol similar to hypertext transfer protocol (HTTP). ICAP defines a method for adding or extending a new function to a web proxy server operating in a transparent mode. By defining the method, the scalability, re-usability, and interoperability of the open system are improved. And the like. Currently, the ICAP protocol is used as a standard protocol for interworking with an external server that performs functions such as virus scanning, content filtering, and content modification / modification such as insertion / removal of banner advertisements in a caching apparatus that operates in a transparent web proxy mode . Recently, various web proxy products support ICAP protocol by default. Accordingly, the web security solution also supports the ICAP protocol for interworking with the web proxy.

ICAP 프로토콜을 지원하는 웹 프락시(10)는 도 3a에 도시된 바와 같이, 웹 프락시(10)의 ICAP 클라이언트(100)가 웹 클라이언트(12)로부터 1. HTTP 요청(HTTP request, 이하, 'HTTP request'라 칭함) 또는 웹 서버(14)로부터 5. HTTP 응답(HTTP reply, 이하, 'HTTP reply'라 칭함) 메시지를 수신하고, 이를 ICAP 프로토콜에서 정의된 2. ICAP 요청 수정(request modification)(REQMOD) 요청 메시지(이하, 'ICAP REQMOD request'라 칭함) 또는 6. ICAP 응답 수정(response modification)(RESPMOD) 요청 메시지(이하, 'ICAP RESPMOD request'라 칭함) 메시지에 담아 ICAP 서버(22)로 전송하는 기능을 수행한다. 이후, ICAP 서버(22)는 6. ICAP RESPMOD request 메시지의 처리 결과에 따라, 7. ICAP 응답(ICAP reply, 이하, 'ICAP reply'이라 칭함) 메시지를 ICAP 클라이언트(100)로 송신한다. ICAP 클라이언트 기능을 지원하는 웹 프락시(10)는 7. ICAP reply 메시지 내에 담겨있는 HTTP 메시지를 IETF 3507 에 규정된 프로토콜에 따라 처리하는 기능을 수행한다.3A, the ICAP client 100 of the web proxy 10 receives a 1. HTTP request (hereinafter referred to as an HTTP request) from the web client 12, 5. HTTP response (hereinafter referred to as HTTP reply) message from the web server 14 or a 2. ICAP request modification (REQMOD) defined in the ICAP protocol, (ICAP REQMOD request) or 6. ICAP response modification (RESPMOD) request message (hereinafter, referred to as ICAP RESPMOD request) message to the ICAP server 22 . Thereafter, the ICAP server 22 transmits a 7. ICAP reply (hereinafter referred to as ICAP reply) message to the ICAP client 100 according to the processing result of the 6. ICAP RESPMOD request message. The web proxy 10 supporting the ICAP client function performs the function of processing the HTTP message contained in the ICAP reply message according to the protocol defined in IETF 3507. [

도 3a 내지 도 3g는 웹 페이지 응답 단계에서 ICAP 서버(22)가 6. ICAP RESPMOD request 메시지에 대한 7. ICAP reply 메시지를 응답할 경우 웹 프락시(10)의 처리 절차 및 전송 메시지 구조를 도시하고 있다. 예를 들어, 웹 클라이언트(12)가 www.unknow-server.com 웹페이지를 요청하는 경우, 웹 클라이언트(12)의 웹 브라우저는 HTTP GET 메시지(도 3b)를 웹 프락시(10)로 전송한다. 웹 프락시(10)는 HTTP GET 메시지(도 3b)를 ICAP REQMOD request 메시지(도 3c)에 담아 ICAP 서버(22)로 전송한다. ICAP 서버(22)는 허가된 웹 페이지를 요청한 경우 ICAP reply 메시지(도 3d)를 웹 프락시(10)로 전송한다. 이후 웹 프락시(10)는 ICAP 프로토콜에 따라 ICAP reply 메시지(도 3d)에 담겨있는 HTTP request 메시지를 ICAP 서버(22)로부터 수신하였을 경우 웹 서버(www.origin-server.com)로 HTTP GET 메시지를 포워딩한다. 이 경우 ICAP 서버(22)에 의하여 HTTP request 메시지가 수정될 수도 있다. 웹 프락시(10)는 웹 서버(14)로부터 HTTP reply 메시지를 수신하고 이를 ICAP RESPMOD request 메시지(도 3e)에 담아 ICAP 서버(22)로 전송한다. 이 경우 RESPMOD request 메시지(도 3e)에는 HTTP request 메시지도 HTTP reply 메시지와 함께 전송된다. ICAP 서버(22)는 ICAP RESPMOD request 메시지(도 3e)에 실려 있는 HTTP reply 메시지 내 컨텐츠 필터링 결과에 따라 ICAP reply 메시지(도 3f)를 웹 프락시(10)로 전송한다. 웹 프락시(10)는 ICAP reply 메시지(도 3f)에 실려있는 HTTP reply 메시지(도 3g)를 웹 클라이언트(12)의 웹 브라우저로 송신한다. 이 경우 HTTP reply 메시지(도 3g)는 ICAP 서버(22)의 컨텐츠 필터링 결과에 따라 메시지가 변경될 수 있다.3A to 3G show a processing procedure and a transmission message structure of the web proxy 10 when the ICAP server 22 responds to the ICAP reply message for the 6. ICAP RESPMOD request message in the web page response step . For example, if the web client 12 requests a web page www.unknow-server.com, the web browser of the web client 12 sends an HTTP GET message (Fig. 3B) to the web proxy 10. The web proxy 10 transmits an HTTP GET message (Fig. 3B) to the ICAP server 22 in an ICAP REQMOD request message (Fig. 3C). ICAP server 22 transmits an ICAP reply message (FIG. 3D) to web proxy 10 when requesting an authorized web page. When the web proxy 10 receives an HTTP request message contained in the ICAP reply message (FIG. 3D) from the ICAP server 22 according to the ICAP protocol, the web proxy 10 transmits an HTTP GET message to the web server (www.origin-server.com) Forward. In this case, the HTTP request message may be modified by the ICAP server 22. The web proxy 10 receives the HTTP reply message from the web server 14 and transmits it to the ICAP server 22 in an ICAP RESPMOD request message (Fig. 3E). In this case, in the RESPMOD request message (FIG. 3E), the HTTP request message is also transmitted together with the HTTP reply message. The ICAP server 22 transmits an ICAP reply message (FIG. 3F) to the Web proxy 10 according to the content filtering result in the HTTP reply message displayed in the ICAP RESPMOD request message (FIG. 3E). The web proxy 10 transmits an HTTP reply message (Fig. 3G) listed in the ICAP reply message (Fig. 3F) to the web browser of the web client 12. In this case, the HTTP reply message (FIG. 3G) can be changed in accordance with the content filtering result of the ICAP server 22.

도 4a는 도 3a의 웹 페이지 요청 단계에서 ICAP 서버가 2. ICAP REQMOD request에 대한 3. ICAP response 메시지로 응답할 경우 웹 프락시의 메시지 전송 동작을 설명하기 위한 웹 프락시의 구조를 도시한 도면이고, 도 4b 내지 도 4e는 이때의 전송 메시지 구조를 도시한 도면이다.4A is a diagram illustrating a structure of a Web proxy for explaining a message transmission operation of a Web proxy when the ICAP server responds with a 3. ICAP response message for the 2. ICAP REQMOD request in the web page request step of FIG. FIGS. 4B to 4E are diagrams illustrating a transmission message structure at this time.

도 4a를 참조하면, 웹 클라이언트(12)가 www.sex.com 웹페이지를 요청할 경우 웹 클라이언트(12)의 웹 브라우저는 HTTP GET 메시지(도 4b)를 웹 프락시(10)로 전송한다. 웹 프락시(10)는 HTTP GET 메시지(도 4b)를 ICAP REQMOD request 메시지(도 4c)에 담아 ICAP 서버(22)로 전송한다. ICAP 서버(22)는 허가되지 않은 웹 페이지를 요청한 경우 ICAP response 메시지(도 4d)를 웹 프락시(10)로 전송한다. 이후 웹 프락시(10)는 ICAP 프로토콜에 따라 HTTP request에 대한 HTTP response 메시지(도 4e)를 ICAP 서버(22)로부터 수신하였을 경우 웹 클라이언트(12)의 웹 브라우저로 송신한다.Referring to FIG. 4A, when the web client 12 requests a www.sex.com web page, the web browser of the web client 12 transmits an HTTP GET message (FIG. 4B) to the web proxy 10. The web proxy 10 transmits an HTTP GET message (Fig. 4B) to the ICAP server 22 in an ICAP REQMOD request message (Fig. 4C). ICAP server 22 transmits an ICAP response message (FIG. 4D) to web proxy 10 when requesting an unauthorized web page. When the web proxy 10 receives an HTTP response message (FIG. 4E) for the HTTP request from the ICAP server 22 according to the ICAP protocol, the web proxy 10 transmits the HTTP response message to the web browser of the web client 12.

도 5 내지 도 7은 본 발명의 이해를 돕기 위한 네트워크 포렌식 기술을 설명하기 위한 도면이다. 세부적으로, 도 5는 네트워크 포렌식 툴의 구성을 도시한 도면, 도 6은 패킷을 수집하여 처리하는 프로세스를 도시한 도면, 도 7은 네트워크 포렌식을 위한 트래픽 수집, 검색 및 분석 프로세스를 도시한 도면이다.5 to 7 are diagrams for explaining a network forensic technology for facilitating understanding of the present invention. 5 is a diagram showing the configuration of a network forensic tool, FIG. 6 is a view showing a process of collecting and processing packets, and FIG. 7 is a diagram showing a traffic collection, search and analysis process for network forensic .

네트워크 포렌식 기술은 네트워크를 통해 전송되는 데이터나 패스워드 등 모든 데이터 트래픽을 수집, 저장 및 분석함으로써 네트워크 보안 위협의 사후 원인을 분석하거나 탐지할 수 있도록 하는 기술이다. 이 과정에서 암호화된 데이터에 대한 트래픽 분석을 위해서는 암호화 데이터에 대한 복호화 과정이 요구된다.Network forensic technology is a technology that can analyze and detect the cause of network security threats by collecting, storing and analyzing all data traffic such as data or password transmitted through the network. In order to analyze the traffic of the encrypted data in this process, a decryption process for the encrypted data is required.

네트워크 포렌식을 위한 데이터 트래픽 수집 방법에는 2가지 형태가 있다.There are two types of data traffic collection methods for network forensics.

1) 저장 후 분석 방법 : 감시 지점을 통과하는 모든 트래픽을 수집, 저장하는 형태로서 감시하고자 하는 네트워크 링크 속도에 비례하는 저장 용량을 필요로 한다. 통상적으로 패킷 레벨로 저장된 pcap 파일을 대상으로 배치 모드로 수행되는 사후 분석 단계를 거쳐서 포렌식 기능을 제공하는 방법이다.1) Analysis method after storage: All the traffic passing through the monitoring point is collected and stored, and it requires storage capacity proportional to the network link speed to be monitored. A forensic function is provided through a post-analysis step, which is typically performed in a batch mode, on a pcap file stored at a packet level.

2) 분석 후 저장 방법 : 감시 지점을 통과하는 트래픽 중 사후 분석의 필요성이 있을 것으로 예상되는 트래픽들 만을 선별 저장하는 형태로서 저장 후 분석 방법과는 달리 네트워크 링크 속도에 비례하는 트래픽 분석을 위한 프로세서 성능이 필요하다. 본 방법은 트래픽 저장을 위하여 분석이 먼저 수행되는 방식으로서 프로세서의 성능에 따라 패킷 레벨, 플로우 레벨, 어플리케이션 레벨 등의 분석 과정을 통하여 저장 용량 및 사후 분석의 효율성을 높이고자 하는 방법이다.2) Analysis after storage method: Among the traffic passing through the surveillance point, only the traffic that is expected to need post-analysis is selected and stored. As a result, the processor performance for traffic analysis proportional to the network link speed Is required. This method is a method in which analysis is first performed for storing traffic, and it is a method for improving efficiency of storage capacity and post-analysis through an analysis process such as a packet level, a flow level, and an application level according to the performance of a processor.

전술한 바와 같이 네트워크 포렌식 기술은 네트워크 공격의 유형에 따라 그에 적합한 저장 및 분석 방법을 적용하여야 하기 때문에 벤더 별로 서로 다른 특징과 기능을 지원하는 다양한 형태의 네트워크 포렌식 툴들을 제공하고 있다. 특히, 트래픽 수집 방법의 경우, 패킷 또는 플로우 레벨에서 주로 발생하는 DDoS(Distributed Denial of Service Attack) 공격의 원인 분석을 위해서는 저장 후 분석 방법이 선호되고 있다. 이는 장시간에 걸쳐 손실 없이 저장된 전체 네트워크의 트래픽을 대상으로 트래픽 패턴 매칭 또는 통계적인 방법을 사용하여 패킷 레벨 또는 플로우 레벨의 이상 징후를 찾는데 유리하기 때문이다.As described above, since the network forensic technology must apply the appropriate storage and analysis method according to the type of network attack, various types of network forensic tools are provided to support different features and functions according to vendors. In particular, in the case of the traffic collection method, a post-storage analysis method is preferred for analyzing the cause of a DDoS (Distributed Denial of Service Attack) attack mainly occurring at a packet or a flow level. This is because it is advantageous to find an abnormal symptom of a packet level or a flow level using traffic pattern matching or statistical method for traffic of the entire network stored for a long time without loss.

반면, 장시간에 걸쳐 악성코드 유포 등에 의해 수행되는 APT(Advanced Persistent Threat) 공격을 주 대상으로 하는 네트워크 포렌식 툴들은 분석 후 저장 방법이 보다 유리하다. 이는 APT 공격 자체가 장시간에 걸쳐 어플리케이션 레벨에서 이루어지고 있는 공격 패턴의 특성에 따라 가급적 선별되고 정제된 어플리케이션 레벨에서 저장된 컨텐츠를 대상으로 멀웨어 코드 분석 등에 의한 포렌식 분석이 진행될 수밖에 없기 때문이다.On the other hand, network forensic tools that are mainly used for APT (Advanced Persistent Threat) attacks, which are performed due to the spread of malicious codes over a long period of time, are more advantageous in storage after analysis. This is because forensic analysis based on malware code analysis is inevitably carried out on content stored at the application level, which is selected and refined as much as possible according to the characteristics of the attack pattern that the APT attack itself is performed at the application level for a long time.

네트워크 포렌식 툴은 네트워크 관점에서 도 5에 도시된 바와 같은 방식으로 설치된다. 네트워크 접속은 네트워크 탭(Network Tap), 스위치(Switch) 또는 라우터(Router)의 SPAN(Switch Port Analyzer) 포트를 통하여 감시하고자 하는 네트워크 링크에 직접 접속되는 방식이다. 수집된 트래픽은 도 6에 도시된 바와 같이 수집 및 분석 과정을 수행한 후 최종적으로 저장매체에 저장된다. 또한, 포렌식 분석을 위한 트래픽 검색 성능 향상을 목적으로 트래픽 저장 과정 중에 패킷 레벨, 플로우 레벨, 어플리케이션 레벨의 인덱싱 정보를 추출 및 저장한다. 이들 인덱싱 정보를 사용하여 보다 신속한 트래픽 분석 및 검색 기능이 가능하도록 지원한다.The network forensic tool is installed from the network point of view as shown in FIG. The network connection is directly connected to the network link to be monitored through the SPAN (Switch Port Analyzer) port of the network tap, switch or router. The collected traffic is collected and analyzed as shown in FIG. 6 and finally stored in a storage medium. In addition, for the purpose of improving traffic search performance for forensic analysis, indexing information of packet level, flow level, and application level is extracted and stored during the traffic storing process. These indexing information is used to enable faster traffic analysis and search functions.

도 7을 참조하면, 도 6을 참조로 하여 전술한 방법을 통하여 수집/분석/선별/저장(700)된 트래픽을 대상으로 도 7에 도시된 바와 같이 시간 조건 또는 필터링 룰 적용을 통하여 사후분석의 대상이 될 트래픽만을 선별한다(710). 이어서, 최종적으로 보안 위협의 직접적인 원인 분석을 수행하게 한다(720). 물론 트래픽 선별(710)과 이후 실시되는 분석 과정(720)은 포렌식의 최종적인 원인 분석이 완료될 때까지 반복 수행되는 과정으로서, 보다 효율적인 네트워크 포렌식 툴을 사용할 경우 네트워크 위협의 사후 대처 비용을 절감할 수 있다. 포렌식 분석 과정(720) 중에 수행되는 원인 분석은 사안별로 다양한 형태로 수행될 수 있다. 예를 들면, 트래픽 선별 과정에서 필수적인 특정 호스트 주소, 트래픽 유입 시점 등 특정 트래픽을 타켓팅할 수 없을 경우에는 일반적인 네트워크 보안 시스템에서 네트워크 공격을 검출하기 위하여 사용하는 패턴 매칭 또는 통계적인 방법을 동원하여 저장된 트래픽으로부터 비정상 트래픽을 감지하고 이들 트래픽을 대상으로 하는 드릴다운 형태의 반복적인 절차를 거쳐 최종적인 네트워크 공격 원인 분석을 수행하게 된다.Referring to FIG. 7, the traffic collected / analyzed / selected / stored (700) by the method described above with reference to FIG. 6 is subjected to post-analysis through time condition or filtering rule application as shown in FIG. Only the traffic to be the target is selected (710). Then, finally, a direct cause analysis of the security threat is performed (720). Of course, the traffic screening 710 and the subsequent analysis process 720 are repeated until the final cause analysis of the forensic process is completed. If a more efficient network forensic tool is used, . The cause analysis performed during the forensic analysis process 720 can be performed in various forms on a case-by-case basis. For example, when a specific traffic such as a specific host address or a traffic inflow point that is essential in the traffic selection process can not be targeted, a pattern matching or statistical method used for detecting a network attack in a general network security system is used, And analyze the cause of the final network attack through a drill-down type of iterative procedure targeting these traffic.

도 8 및 도 9는 HTTPS 트래픽을 대상으로 네트워크 포렌식 기능 제공을 위한 다양한 방법을 소개하기 위해 웹 프락시의 구성을 도시한 도면이다.8 and 9 are diagrams showing the configuration of a Web proxy to introduce various methods for providing a network forensic function for HTTPS traffic.

도 8 및 도 9를 참조하면, HTTPS 트래픽을 대상으로 한다는 점에서 웹 프락시(10)는 HTTPS 프락시이다. HTTPS 트래픽을 대상으로 네트워크 포렌식 기능을 제공하는 방법은 다음 방법 1과 방법 2가 있다.Referring to FIGS. 8 and 9, the web proxy 10 is an HTTPS proxy in that HTTPS traffic is targeted. There are following methods 1 and 2 to provide the network forensic function for HTTPS traffic.

방법 1은 도 8에 도시된 바와 같이 웹 프락시(10)의 HTTPS 복호화부(120)가 HTTPS 트래픽을 복호화하고, HTTP 트래픽 처리부(130)가 복호화된 HTTP 트래픽을 저장하는 방법이다. 방법 1은 웹 프락시(10)로부터 HTTP 트래픽을 중간자(man-in-the-middle) 형태로 추출 및 저장한다. 포렌식 분석은 웹 프락시(10)에 저장된 HTTP 트래픽을 사용하여 오프라인 형태로 수행된다.The method 1 is a method in which the HTTPS decryption unit 120 of the web proxy 10 decrypts the HTTPS traffic and the HTTP traffic processing unit 130 stores the decrypted HTTP traffic as shown in FIG. Method 1 extracts and stores HTTP traffic from the web proxy 10 in a man-in-the-middle form. The forensic analysis is performed in an offline manner using HTTP traffic stored in the web proxy 10.

방법 2는 도 9에 도시된 바와 같이 암호화된 HTTPS 트래픽 자체를 저장하는 방법이다. 이때, HTTPS 트래픽을 저장하는 HTTPS 트래픽 저장부(900)와, HTTPS 암호 키를 저장하는 웹 프락시(10)가 기능적으로 분리된다. 방법 2는 포렌식 분석을 위하여 HTTPS 트래픽을 복호화하기 위한 HTTPS 암호 키가 필요하다. 따라서 HTTPS 암호 키 저장부(920)는 트래픽 저장과 동시에 동일 트래픽으로부터 HTTPS에서 사용하는 암호 키를 추출한다. 포렌식 분석은 추출된 HTTPS 암호 키와 저장된 해당 HTTPS 트래픽을 찾아서, HTTPS 암호 키를 이용하여 HTTPS 트래픽을 복호화하는 형태로 수행된다. 방법 2는 HTTPS 암호 키를 별도로 추출 및 보관하여야 하기 때문에 보안에 취약한 단점이 있다.Method 2 is a method for storing encrypted HTTPS traffic itself as shown in FIG. At this time, an HTTPS traffic storage unit 900 for storing HTTPS traffic and a web proxy 10 for storing an HTTPS encryption key are functionally separated. Method 2 requires an HTTPS cryptographic key to decrypt HTTPS traffic for forensic analysis. Accordingly, the HTTPS encryption key storage unit 920 extracts a cryptographic key used in HTTPS from the same traffic at the same time as storing the traffic. Forensic analysis is performed by detecting the extracted HTTPS encryption key and the stored HTTPS traffic and decrypting the HTTPS traffic using the HTTPS encryption key. Method 2 has a disadvantage in that it is vulnerable to security because the HTTPS encryption key must be extracted and stored separately.

도 10은 본 발명의 일 실시 예에 따른 HTTPS 트래픽을 대상으로 하는 네트워크 포렌식 기능 제공을 위한 웹 프락시의 구성을 도시한 도면이다.10 is a diagram illustrating a configuration of a web proxy for providing a network forensic function targeting HTTPS traffic according to an embodiment of the present invention.

도 10을 참조하면, 일 실시 예에 따른 웹 프락시(10)는 도 9를 참조로 하여 전술한 바와 같이 네트워크 포렌식을 위해 HTTPS 암호 키를 별도로 추출하지 않고, HTTPS 복호화부(120)에서 HTTPS 트래픽을 복호화한 후 HTTPS 암호화부(140)에서 다시 HTTP 트래픽을 암호화하는 단계 사이의 중간 단계에서, HTTP 트래픽 처리부(130)가 HTTP 패킷을 추출하여 저장하는 방식을 사용한다. 이때, 웹 프락시(10)로부터 기능적으로 분리되는 네트워크 포렌식 장치(20)는 ICAP 프로토콜을 사용하여 웹 프락시(10)와 연동하는 방식으로 웹 프락시(10)로부터 HTTP 패킷을 중계받아 HTTP 트래픽 저장장치(210)에 저장한다.Referring to FIG. 10, the web proxy 10 according to an embodiment does not extract the HTTPS encryption key separately for network forensation as described above with reference to FIG. 9, and the HTTPS decryption unit 120 does not extract HTTPS traffic The HTTP traffic processing unit 130 extracts and stores an HTTP packet at an intermediate stage between the step of decrypting and the step of encrypting the HTTP traffic again in the HTTPS encryption unit 140. At this time, the network forensic device 20 functionally separated from the web proxy 10 relays the HTTP packet from the web proxy 10 in a manner of interlocking with the web proxy 10 using the ICAP protocol, 210).

도 11은 HTTPS 암호 키를 이용하는 네트워크 포렌식 장치의 구성도이다.11 is a configuration diagram of a network forensic apparatus using an HTTPS encryption key.

도 11을 참조하면, 네트워크 포렌식 장치(20)는 웹 프락시(10)와 HTTPS 트래픽 저장장치(220)를 포함한다. 네트워크 포렌식 장치(20)가 웹 프락시(10)를 포함하며, HTTPS 트래픽 저장장치(220)에 HTTPS 트래픽을 저장하는 데에 특징이 있다. 네트워크 포렌식 장치(20)는 웹 프락시(10)로부터 추출된 HTTPS 암호 키와 저장된 해당 HTTPS 트래픽을 찾아서, HTTPS 암호 키를 이용하여 HTTPS 트래픽을 복호화하여 이를 네트워프 포렌식을 위해 사용한다. 이 경우, HTTPS 암호 키를 별도로 추출 및 보관하여야 하기 때문에 보안에 취약한 단점이 있다. 또한, HTTPS 암호 키를 이용하는 경우, 포렌식 분석을 위해 필수적으로 요구되는 전처리 단계(예를 들어, 암호화 키 저장 파일에서의 암호화 키 추출, 암호화 트래픽 인덱싱 파일에서의 플로우 생성시간 추출, 암호화 트래픽 인덱싱 파일에서의 플로우 식별정보 추출, 패킷 재조립에 의한 플로우 추출 및 복호화 및 가시화 단계)가 선행되어야 한다.Referring to FIG. 11, the network forensic device 20 includes a web proxy 10 and an HTTPS traffic storage device 220. The network forensic device 20 includes a web proxy 10 and is characterized by storing HTTPS traffic in the HTTPS traffic storage device 220. The network forensic device 20 finds the HTTPS encryption key extracted from the web proxy 10 and the corresponding HTTPS traffic stored therein, decrypts the HTTPS traffic using the HTTPS encryption key, and uses it for network forensic analysis. In this case, since the HTTPS encryption key must be extracted and stored separately, there is a drawback that it is vulnerable to security. In addition, when the HTTPS encryption key is used, a preprocessing step (for example, extraction of an encryption key in an encryption key storage file, extraction of a flow generation time in an encrypted traffic indexing file, , Flow extraction and decoding, and visualization step by packet reassembly) should be preceded.

도 12는 본 발명의 일 실시 예에 따른 네트워크 포렌식을 위한 네트워크 시스템의 구성을 도시한 도면이다.12 is a diagram illustrating a configuration of a network system for network forensics according to an embodiment of the present invention.

도 12를 참조하면, 일 실시 예에 따른 네트워크 포렌식을 위한 네트워크 시스템(1)은 웹 프락시(10), 웹 클라이언트(12), 웹 서버(14) 및 네트워크 포렌식 장치(20)를 포함하며, 웹 보안장치(30)를 더 포함할 수 있다. 웹 보안장치(30)는 예를 들어 웹 방화벽(32), DLP(Data Loss Prevention)(34) 등이다.12, a network system 1 for network forensics according to an embodiment includes a web proxy 10, a web client 12, a web server 14 and a network forensic device 20, And may further include a security device 30. The web security apparatus 30 is, for example, a web firewall 32, a DLP (Data Loss Prevention) 34, and the like.

네트워크 포렌식 장치(20)는 ICAP 서버로서 동작하고, 웹 프락시(10)는 ICAP 클라이언트로서 동작한다. 네트워크 포렌식 장치(20)는 ICAP 서버의 위치에서, 웹 프락시(10)에서 복호화된 HTTP 트래픽을 수집하여 저장한다. 일 실시 예에 따른 웹 프락시(10)는 HTTPS 암호 키를 별도로 추출하지 않고, HTTPS 암호화 패킷을 복호화한 후 복호화된 HTTP 패킷을 다시 암호화하는 단계 사이의 중간 단계에서 HTTP 데이터를 추출하고 이를 저장한다. 이 경우, 웹 프락시(10)에서 별도로 HTTPS 암호 키를 추출할 필요가 없어서 보안 취약성의 문제를 해결할 수 있다. 나아가, 복호화된 HTTP 데이터 자체를 저장하기 때문에, HTTPS 암호 키를 이용하는 방법에서 포렌식 분석을 위해 필수적으로 선행되어야 하는 전처리 단계(예를 들어, 암호화 키 추출, 플로우 생성시간 추출, 플로우 식별정보 추출, 패킷 재조립에 의한 플로우 추출, 복호화 및 가시화 단계)를 생략할 수 있다. 네트워크 포렌식 장치(20)는 ICAP 프로토콜을 지원하는 써더 파티(3rd party) 웹 프락시(10) 및 웹 보안 장치(30)와의 상호 연동이 가능함으로써 개방형 시스템의 장점을 얻을 수 있다.The network forensic device 20 operates as an ICAP server, and the web proxy 10 operates as an ICAP client. The network forensic device 20 collects and stores the HTTP traffic decrypted in the web proxy 10 at the location of the ICAP server. The web proxy 10 according to the embodiment extracts the HTTP data and stores it in an intermediate step between decrypting the HTTPS encrypted packet and encrypting the decrypted HTTP packet without separately extracting the HTTPS encryption key. In this case, it is not necessary to separately extract the HTTPS encryption key from the web proxy 10, thereby solving the problem of security vulnerability. Furthermore, since the decrypted HTTP data itself is stored, it is necessary to perform a preprocessing step (for example, encryption key extraction, flow generation time extraction, flow identification information extraction, The flow extraction, decoding and visualization step by reassembly) can be omitted. The network forensic apparatus 20 can interoperate with the third party web proxy 10 and the web security apparatus 30 that support the ICAP protocol and thereby obtain the advantages of the open system.

도 13은 본 발명의 일 실시 예에 따른 네트워크 시스템의 구성요소 간 사용하는 프로토콜을 도시한 도면이다.13 is a diagram illustrating a protocol used between elements of a network system according to an embodiment of the present invention.

도 13을 참조하면, 웹 프락시(10)는 암호화 프로토콜로 암호화된 HTTPS 트래픽을 웹 클라이언트(12)와 웹 서버(14) 사이에서 캐싱을 목적으로 중계하는 기능을 수행한다. 그리고 HTTPS 트래픽을 복호화하여 네트워크 포렌식 장치(20)에 중계한다.Referring to FIG. 13, the web proxy 10 performs a function of relaying HTTPS traffic encrypted by the encryption protocol between the web client 12 and the web server 14 for the purpose of caching. Decrypts the HTTPS traffic, and relays the decrypted HTTPS traffic to the network forensic device 20.

네트워크 포렌식 장치(20)는 웹 프락시(10)가 중계하는 HTTP 트래픽을 네트워크 포렌식을 목적으로 저장하는 기능을 수행한다. 단, 저장되는 HTTP 트래픽은 웹 프락시(10)가 웹 클라이언트(12) 또는 웹 서버(14)로부터 수신한 HTTPS 트래픽을 복호화한 평문의 HTTP 트래픽이다. 네트워크 포렌식 장치(20)는 ICAP 클라이언트 기능을 수행하는 웹 프락시(10)와의 ICAP 프로토콜 연동을 위해 ICAP 서버 기능을 수행한다. 네트워크 포렌식 장치(20)는 웹 프락시(10)와 기능적으로 분리된다면, 물리적으로 동일한 시스템에 구현되거나 별도의 시스템으로 분리 구현될 수 있다.The network forensic device 20 functions to store HTTP traffic relayed by the web proxy 10 for network forensic purposes. The stored HTTP traffic is plain text HTTP traffic obtained by decrypting the HTTPS traffic received from the web client 12 or the web server 14 by the web proxy 10. The network forensic device 20 performs an ICAP server function for ICAP protocol interworking with the web proxy 10 performing the ICAP client function. If the network forensic device 20 is functionally separated from the web proxy 10, the network forensic device 20 may be physically implemented in the same system or separately implemented in a separate system.

웹 클라이언트(12)와 웹 프락시(10), 웹 프락시(10)와 웹 서버(14) 간에는 HTTPS 프로토콜을 사용한다. 웹 프락시(10)와 네트워크 포렌식 장치(20) 간에는 ICAP 프로토콜을 사용한다. 단 ICAP 프로토콜은 보안을 위하여 SSL 암호화 프로토콜을 사용할 수 있다.The HTTPS protocol is used between the web client 12 and the web proxy 10, and between the web proxy 10 and the web server 14. The ICAP protocol is used between the web proxy 10 and the network forensic device 20. However, ICAP protocol can use SSL encryption protocol for security.

도 14는 본 발명의 일 실시 예에 따른 HTTPS 트래픽을 복호화하기 위한 웹 프락시의 프로세스를 도시한 도면이다.FIG. 14 is a diagram illustrating a process of a Web proxy for decrypting HTTPS traffic according to an exemplary embodiment of the present invention. Referring to FIG.

도 14를 참조하면, 웹 프락시(10)는 웹 클라이언트(12)와 웹 서버(14)의 중간에 위치하면서, 웹 클라이언트(12)에 대해서는 웹 서버로서, 웹 서버(14)에 대해서는 웹 클라이언트로서 두 개의 독립된 SSL 세션 연결을 설정하고, 이들 간에 암호화된 HTTPS 트래픽을 복호화한 후 재 암호화하는 기능을 수행한다. 이를 위해, 웹 프락시(10)는 프락시 서버 기능부(104)와 프락시 클라이언트 기능부(106)를 포함한다.14, the web proxy 10 is located between the web client 12 and the web server 14, and is located as a web server for the web client 12 and as a web client for the web server 14 Establishes two independent SSL session connections, and decrypts and re-encrypts the encrypted HTTPS traffic between them. To this end, the web proxy 10 includes a proxy server function unit 104 and a proxy client function unit 106. [

프락시 서버 기능부(104)는 웹 클라이언트(12)와의 SSL 세션 연결 설정을 위하여 자신이 생성한 SSL 인증서를 사용하여 웹 클라이언트(12)의 사용자 인증을 성공적으로 수행하여야 한다. SSL 프로토콜은 데이터 암호화/복호화를 위해 기본적으로 비대칭 키(Asymmetric-Key)를 사용하는 공개키 암호화 방식이다.The proxy server function unit 104 must successfully authenticate the user of the Web client 12 using the SSL certificate generated by the proxy server function unit 104 in order to establish an SSL session connection with the Web client 12. The SSL protocol is a public-key cryptosystem using asymmetric-key for data encryption / decryption basically.

프락시 클라이언트 기능부(106)와 웹 서버(14) 사이에서 웹 서버(14)는 공개키(Public Key)가 포함된 웹 서버(14)의 인증서(Certificate)를 프락시 클라이언트 기능부(106)로 전달하고, 프락시 클라이언트 기능부(106)는 웹 서버 인증서의 검증 및 웹 서버의 공개키를 추출하고, 데이터 송/수신시의 암호화 키(Key)로 사용할 세션 키(Session Key)를 생성한 후 웹 서버(14)의 공개키로 암호화하여 웹 서버(14)로 전달한다. 웹 서버(14)는 프락시 클라이언트 기능부(106)로부터 전달받은 암호화된 세션 키를 자신의 비밀키(Private Key)로 복호화하여 추출함으로써 대칭적 암호화 키 즉, 세션 키를 웹 클라이언트(12)와 공유하며, 이후 송/수신할 데이터의 암/복호화에 공유된 세션 키를 사용한다. 이러한 일련의 과정은 도 14의 웹 클라이언트(12)와 프락시 서버 기능부(104) 간의 SSL 세션 설정(HandShaking) 과정에서도 동일하게 이루어진다. 이와 같이 웹 프락시(10)가 웹 서버(14)와 웹 클라이언트(12) 간에 두 개의 서로 독립된 SSL 세션 연결을 설정한 후에 웹 서버(14)와 웹 클라이언트(12) 사이에 HTTPS 통신을 수행할 수 있다.Between the proxy client function unit 106 and the web server 14, the web server 14 transmits the certificate of the web server 14 including the public key to the proxy client function unit 106 The proxy client function unit 106 extracts the public key of the web server and verifies the web server certificate, generates a session key to be used as an encryption key at the time of data transmission / reception, (14) and transmits it to the web server (14). The web server 14 decrypts and extracts the encrypted session key received from the proxy client function unit 106 by using its own private key and extracts the symmetric encryption key, that is, the session key, with the web client 12 And uses a shared session key for encryption / decryption of data to be transmitted / received thereafter. This series of processes is also performed in the SSL session setting (handshaking) process between the web client 12 and the proxy server function unit 104 in Fig. After the web proxy 10 establishes two independent SSL session connections between the web server 14 and the web client 12, the web proxy 14 can perform HTTPS communication between the web server 14 and the web client 12 have.

웹 프락시(10)는 자신이 생성한 비밀키와 특정 SSL 세션(Session)의 세션 키를 알 수 있기 때문에 웹 클라이언트(12)와 웹 서버(14) 사이에 주고받은 HTTPS 트래픽을 복호화할 수 있다.The web proxy 10 can decrypt the HTTPS traffic sent between the web client 12 and the web server 14 because the web proxy 10 can know the secret key generated by the web proxy 10 and the session key of the specific SSL session.

웹 프락시(10)는 SSL 프로토콜 대리 기능을 수행하는 과정에서 HTTPS 트래픽으로부터 HTTP 평문을 추출한다. 본 기능의 구현 방법으로는 SSL 프로토콜 대리 기능 수행 과정 중 추출된 암호화 키를 사용하여 수신된 해당 암호화 패킷을 복호화하는 방법, 암호화 라이브러리(예, OpenSSL, GnuTLS 등)의 특정 함수(예, OpenSSL의 경우 SSL_read 또는 SSL_write 함수)를 훅킹(Hooking) 하는 방법 등이 있을 수 있다.The web proxy 10 extracts the HTTP plain text from the HTTPS traffic in the course of performing the SSL protocol proxy function. As a method of implementing this function, a method of decrypting a corresponding encryption packet received using an encryption key extracted during the SSL protocol proxy function, a specific function of an encryption library (eg, OpenSSL, GnuTLS, etc.) (SSL_read or SSL_write function).

도 15는 본 발명의 일 실시 예에 따른 웹 프락시가 HTTPS 트래픽을 복호화할 때 OpenSSL 라이브러리의 후킹을 위한 함수를 도시한 도면이다.15 is a diagram illustrating a function for hooking an OpenSSL library when a web proxy according to an embodiment of the present invention decodes HTTPS traffic.

도 15를 참조하면, 웹 프락시는 HTTP 평문 추출을 위하여 암호화 라이브러리의 특정 함수를 후킹하는 방식을 사용한다. 예를 들면, OpenSSL 라이브러리의 후킹 절차는 도 15에 도시된 바와 같다.Referring to FIG. 15, a web proxy uses a method of hooking a specific function of an encryption library for HTTP plain text extraction. For example, the hooking procedure of the OpenSSL library is as shown in Fig.

도 16은 본 발명의 일 실시 예에 따른 HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법을 설명하기 위해 네트워크 구성 요소 간 데이터 전송 프로세스를 도시한 도면이다.16 is a diagram illustrating a data transmission process between network elements to explain an ICAP protocol extension method for providing a network forensic service of HTTPS traffic according to an embodiment of the present invention.

도 16을 참조하면, 웹 프락시(10)는 상 방향 ICAP 클라이언트(101), 하 방향 ICAP 클라이언트(102), 프락시 서버 기능부(104) 및 프락시 클라이언트 기능부(106)를 포함한다. 네트워크 포렌식 장치(20)는 ICAP 서버(200)를 포함한다.16, the web proxy 10 includes an upstream ICAP client 101, a downstream ICAP client 102, a proxy server function 104, and a proxy client function 106. [ The network forensic device 20 includes an ICAP server 200.

웹 프락시(10)의 프락시 서버 기능부(104)는 도 1의 제1 HTTPS 복호화부(121) 및 제1 HTTPS 암호화부(141)와 대응되고, 프락시 클라이언트 기능부(106)는 도 1의 제2 HTTPS 암호화부(142) 및 제2 HTTPS 복호화부(122)와 대응된다. 상 방향 ICAP 클라이언트(101), 하 방향 ICAP 클라이언트(102)는 도 2의 ICAP 클라이언트(100)에 포함된다.The proxy server function unit 104 of the web proxy 10 corresponds to the first HTTPS decryption unit 121 and the first HTTPS encryption unit 141 of Fig. 1, and the proxy client function unit 106 corresponds to the 2 HTTPS encryption unit 142 and the second HTTPS decryption unit 122, respectively. The upper ICAP client 101 and the lower ICAP client 102 are included in the ICAP client 100 of FIG.

프락시 클라이언트 기능부(106)는 웹 클라이언트(12)로부터 수신된 HTTPS 트래픽을 복호화하여 HTTP 평문을 추출한 후 상 방향 ICAP 클라이언트(101)에 전송한다. 프락시 서버 기능부(104)는 웹 서버(14)로부터 수신된 HTTPS 트래픽을 복호화하여 HTTP 평문을 추출한 후 하 방향 ICAP 클라이언트(102)에 전송한다.The proxy client function unit 106 decrypts the HTTPS traffic received from the web client 12, extracts the HTTP plain text, and transmits the HTTP plain text to the upstream ICAP client 101. The proxy server function unit 104 decrypts the HTTPS traffic received from the web server 14, extracts the HTTP plain text, and transmits the HTTP plain text to the downstream ICAP client 102.

상 방향 ICAP 클라이언트(101) 및 하 방향 ICAP 클라이언트(102)는 네트워크 포렌식 장치(20)의 ICAP 서버(200)에 HTTP 평문을 전달한다. 이때, HTTP 평문 전달을 위해 ICAP 프로토콜을 사용한다. 상 방향 ICAP 클라이언트(101) 및 하 방향 ICAP 클라이언트(102)는 ICAP 프로토콜 중 클라이언트에 해당하는 기능을 수행한다. ICAP 프로토콜은 TCP/IP를 트랜스포트 프로토콜로 사용하고 있다. ICAP 프로토콜의 TCP 플로우는 미리 정의된 특정 포트를 사용하여 ICAP 클라이언트에서 ICAP 서버로 시작된다. 이 경우 ICAP 서버는 수동모드에서 리스닝 상태에서 대기하여야 한다.The upstream ICAP client 101 and the downstream ICAP client 102 deliver the HTTP plaintext to the ICAP server 200 of the network forensic device 20. At this time, the ICAP protocol is used for HTTP plain text transmission. The upper direction ICAP client 101 and the lower direction ICAP client 102 perform a function corresponding to the client in the ICAP protocol. The ICAP protocol uses TCP / IP as a transport protocol. The TCP flow of the ICAP protocol is initiated from the ICAP client to the ICAP server using a predefined specific port. In this case, the ICAP server must wait in the listening state in manual mode.

이하, 도 16을 참조로 하여, HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법에 대해 후술한다. 프락시 클라이언트 기능부(106), 프락시 서버 기능부(104)로부터 추출된 HTTP 평문을 ICAP 서버(200)로 전달하는 절차는 다음과 같다. 본 절차에서는 웹 클라이언트(12) ↔ 프락시 서버 기능부(104), 프락시 클라이언트 기능부(106) ↔ 웹 서버(14) 간에 SSL 세션 연결이 기설정된 것으로 가정한다.Hereinafter, an ICAP protocol extension method for providing a network forensic service of HTTPS traffic will be described with reference to FIG. The procedure for delivering the HTTP plain text extracted from the proxy client functional unit 106 and the proxy server functional unit 104 to the ICAP server 200 is as follows. In this procedure, it is assumed that the SSL session connection is established between the Web client 12, the proxy server function unit 104, the proxy client function unit 106, and the Web server 14.

1. 웹 클라이언트(12)가 웹 서버(14)에 HTTPS request 메시지를 송신한다.1. The Web client 12 sends an HTTPS request message to the Web server 14.

2. 웹 프락시(10)의 프락시 서버 기능부(104)는 복호화 과정을 통하여 HTTPS request 메시지로부터 HTTP request 메시지를 추출하여 상 방향 ICAP 클라이언트(101)로 전달한다.2. The proxy server function unit 104 of the web proxy 10 extracts the HTTP request message from the HTTPS request message through the decryption process and transmits the extracted HTTP request message to the upstream ICAP client 101. [

3. 상 방향 ICAP 클라이언트(101)는 ICAP 서버(200)로 ICAP REQMOD request 메시지를 송신한다. ICAP REQMOD request 메시지는 1.의 HTTPS request 메시지를 복호화한 HTTP request 메시지를 담고 있다.3. The uplink ICAP client 101 sends an ICAP REQMOD request message to the ICAP server 200. The ICAP REQMOD request message contains an HTTP request message that decrypts the HTTPS request message.

4. ICAP 서버(200)는 ICAP REQMOD 메시지에 실려 있는 HTTP request 메시지를 처리한 후 상 방향 ICAP 클라이언트(101)로 ICAP reply 메시지를 송신한다.4. The ICAP server 200 processes the HTTP request message stored in the ICAP REQMOD message and then transmits the ICAP reply message to the ICAP client 101 in the upstream direction.

5. 상 방향 ICAP 클라이언트(101)는 ICAP reply 메시지에 포함된 HTTP request 메시지를 프락시 클라이언트 기능부(106)로 전달한다.5. The upstream ICAP client 101 delivers the HTTP request message included in the ICAP reply message to the proxy client function unit 106. [

6. 프락시 클라이언트 기능부(106)는 HTTP request 메시지를 HTTPS request 메시지로 암호화한 후 웹 서버(14)로 송신한다.6. The proxy client function unit 106 encrypts the HTTP request message with the HTTPS request message and transmits the encrypted HTTP request message to the web server 14.

7. 웹 서버(14)는 6.의 응답으로 HTTPS reply 메시지를 웹 클라이언트(12)로 송신한다.7. The Web server 14 sends an HTTPS reply message to the Web client 12 in response to step 6.

8. 프락시 클라이언트 기능부(106)는 복호화 과정을 통하여 HTTPS reply 메시지로부터 HTTP reply 메시지를 추출하여 이를 하 방향 ICAP 클라이언트(102)로 전달한다.8. The proxy client function unit 106 extracts the HTTP reply message from the HTTPS reply message through the decryption process and delivers the HTTP reply message to the downward ICAP client 102. [

9. 하 방향 ICAP 클라이언트(102)는 ICAP 서버(200)로 ICAP RESPMOD request 메시지를 송신한다. ICAP RESPMOD request 메시지는 3.의 HTTP request 메시지와 7.의 HTTPS reply 메시지를 복호화한 HTTP reply 메시지를 담고 있다.9. The downward direction ICAP client 102 transmits an ICAP RESPMOD request message to the ICAP server 200. [ The ICAP RESPMOD request message contains an HTTP reply message decrypting the HTTP request message of section 3 and the HTTPS reply message of section 7.

10. ICAP 서버(200)는 ICAP RESPMOD 메시지에 실려 있는 HTTP request 메시지와 HTTP reply 메시지를 처리한 후 하 방향 ICAP 클라이언트(102)로 ICAP reply 메시지를 송신한다.10. The ICAP server 200 processes the HTTP request message and the HTTP reply message stored in the ICAP RESPMOD message, and then transmits the ICAP reply message to the ICAP client 102 in the downward direction.

11. 하 방향 ICAP 클라이언트(102)는 ICAP reply 메시지에 포함된 HTTP reply 메시지를 프락시 서버 기능부(104)로 전달한다.11. The downward direction ICAP client 102 delivers the HTTP reply message included in the ICAP reply message to the proxy server function unit 104. [

12. 프락시 서버 기능부(104)는 HTTP reply 메시지를 HTTPS reply 메시지로 암호화한 후 웹 클라이언트(12)로 송신한다.12. The proxy server function unit 104 encrypts the HTTP reply message with the HTTPS reply message and transmits the HTTP reply message to the web client 12.

일 실시 예에 따른 네트워크 포렌식 장치(20)는 웹 프락시(10)로부터 분리하여 외부에 위치시키고, 이들 간에 ICAP 프로토콜로 연동시킨다. 따라서, 네트워크 포렌식 장치(20)는 ICAP 서버(200)로서의 기능을 수행한다. 네트워크 포렌식 장치(20)는 ICAP 서버(200)로서의 프로토콜 처리 기능, ICAP RESPMOD request 메시지 처리 기능, ICAP RESPMOD request 메시지로부터 추출된 HTTP 메시지를 저장하는 기능으로 구성된다.The network forensic device 20 according to one embodiment is detached from the web proxy 10 and placed outside, and interlocked with the ICAP protocol between them. Accordingly, the network forensic device 20 performs a function as the ICAP server 200. [ The network forensic device 20 includes a protocol processing function as an ICAP server 200, an ICAP RESPMOD request message processing function, and a function of storing an HTTP message extracted from an ICAP RESPMOD request message.

도 17은 본 발명의 일 실시 예에 따른 네트워크 포렌식 장치의 소프트웨어 기능 구성을 도시한 도면이다.17 is a diagram illustrating a software function configuration of a network forensic apparatus according to an embodiment of the present invention.

도 17을 참조하면, 일 실시 예에 따른 네트워크 포렌식 장치(20)는 프로세서(170), 메모리(172), 네트워크 인터페이스 카드(174), 스토리지 어댑터(176), 디스크(178) 및 시스템 버스(179)로 구성되는 일반적인 서버 하드웨어 상의 메모리(172)에서 소프트웨어 형태로 동작한다. 네트워크 포렌식 장치(20)의 소프트웨어 기능은 1개 이상의 ICAP 서버 쓰레드(1720), 에이징 쓰레드(1722), 스왑 쓰레드(1724) 및 해시 테이블(1726)로 구성된다.17, a network forensic device 20 according to one embodiment includes a processor 170, a memory 172, a network interface card 174, a storage adapter 176, a disk 178, and a system bus 179 ) In memory 172 on general server hardware. The software function of the network forensic device 20 comprises one or more ICAP server threads 1720, an aging thread 1722, a swap thread 1724, and a hash table 1726.

도 17의 ICAP 서버 쓰레드(1720)는 도 2 및 도 16의 ICAP 서버(200)와 기능이 대응되고, 디스크(178)는 도 2 및 도 16의 HTTP 트래픽 저장 장치(210)와 기능이 대응된다.The ICAP server thread 1720 of FIG. 17 corresponds to the ICAP server 200 of FIGS. 2 and 16, and the disk 178 corresponds to the HTTP traffic storage device 210 of FIGS. 2 and 16 .

ICAP 서버 쓰레드(1720)는 수신된 ICAP RESPMOD request 메시지로부터 웹 클라이언트와 웹 서버 간에 송수신된 HTTP 데이터 트래픽을 추출하여 데이터 오브젝트 단위로 디스크(178)에 저장하는 기능을 수행한다. 이때 메모리(172)에 위치하는 해시 테이블 정보도 함께 저장된다.The ICAP server thread 1720 extracts the HTTP data traffic transmitted and received between the web client and the web server from the received ICAP RESPMOD request message and stores the extracted HTTP data traffic on the disk 178 for each data object. At this time, the hash table information located in the memory 172 is also stored.

에이징 쓰레드(1722)는 에이징 시간 내에 동일한 데이터 오브젝트가 디스크에 중복 저장되는 것을 방지하기 위하여 해시 테이블 엔트리별로 에이징 시간 정보를 관리하는 기능을 수행한다. 에이징 시간 정보의 초기값 설정은 신규 해시 테이블 엔트리가 생성될 때 수행되며 이후 정기적으로 수행되는 타이머 인터럽트 루틴 내에서 -1씩 감소한다. 해시 테이블 엔트리의 에이징 시간 정보 0가 아닐 경우에 수신된 데이터 오브젝트의 디스크 저장 동작은 생략된다.The aging thread 1722 manages the aging time information for each hash table entry in order to prevent the same data object from being duplicated on the disk within the aging time. The setting of the initial value of the aging time information is performed when a new hash table entry is created and then decremented by -1 in a timer interrupt routine that is performed regularly thereafter. When the aging time information of the hash table entry is not 0, the disk storage operation of the received data object is omitted.

스왑 쓰레드(1724)는 일정 타임 윈도우 구간을 기준으로 그때까지 저장된 해시 테이블과 데이터 오브젝트를 스왑하는 기능을 수행한다. 즉, 도 17에서 current - t0 구간에 해당하는 로컬 해시 테이블과 데이터 오브젝트를 최종적으로 파일 형태로 저장됨을 의미한다. 본 기능의 수행 결과로서 시간이 진행됨에 따라 시간의 역방향으로 t0-t1, t1-t2, t2-t3,… 등으로 일련의 타임 윈도우 구간 순으로 로컬 해시 테이블과 데이터 오브젝트가 저장된 파일들이 생성된다.The swap thread 1724 performs a function of swapping the hash table and the data object stored up to that time based on a predetermined time window period. That is, in FIG. 17, the local hash table corresponding to the current-t0 period and the data object are finally stored in the form of a file. As a result of the performance of this function, as the time progresses, t0-t1, t1-t2, t2-t3, ... The files having the local hash table and the data object are generated in the order of a series of time windows.

도 18은 본 발명의 일 실시 예에 따른 도 17의 해시 테이블의 구조를 도시한 도면이다.FIG. 18 is a diagram illustrating the structure of the hash table of FIG. 17 according to an embodiment of the present invention.

도 17 및 도 18을 참조하면, 해시 테이블 엔트리를 인덱싱하기 위한 해시 키(186)는 ICAP RESPMOD request 메시지(180)로부터 추출한 데이터 오브젝트 식별자(URL 정보)(182)에 임의의 해시함수(H)(184)를 적용해 만들어진다. 해시 테이블의 특정 엔트리가 중복될 경우 리스트 형태로 관리된다. 해시 테이블 엔트리별로 저장되는 정보는, 데이터 오브젝트 식별자(해시 키 생성에 사용된 URL 정보와 동일), 데이터 오브젝트의 저장 위치(해당 데이터 오브젝트가 저장된 파일명 및 오프셋) 및 사이즈, 해당 엔트리의 에이징 시간 정보, 해당 데이터 오브젝트의 핑거프린트(MD5) 등으로 구성된다.17 and 18, a hash key 186 for indexing a hash table entry may include an arbitrary hash function H ((H)) in the data object identifier (URL information) 182 extracted from the ICAP RESPMOD request message 180 184). If a specific entry in the hash table is duplicated, it is managed in a list form. The information stored for each hash table entry includes a data object identifier (the same as the URL information used for generating the hash key), a storage location of the data object (file name and offset where the corresponding data object is stored) and size, A fingerprint (MD5) of the corresponding data object, and the like.

도 19는 본 발명의 일 실시 예에 따른 도 17의 데이터 오브젝트 저장 파일과 로컬 해시 테이블 저장 파일의 구조를 도시한 도면이다.FIG. 19 is a diagram illustrating a structure of a data object storage file and a local hash table storage file of FIG. 17 according to an embodiment of the present invention.

도 17 및 도 19를 참조하면, 스왑 쓰레드(1724)에 의하여 임의의 스왑 타임 구간(설정 파일에 의하여 가변 가능) 단위로 생성되는 데이터 오브젝트 저장 파일(190)과 로컬 해시 테이블 저장 파일(192)의 구조는 도 19에 도시된 바와 같다.Referring to FIGS. 17 and 19, the data object storage file 190 and the local hash table storage file 192, which are created by the swap thread 1724 in units of a swap time interval (variable by a configuration file) The structure is as shown in Fig.

데이터 오브젝트 저장 파일(190) 내에는 스왑 타임 윈도우 구간 내에 수신된 모든 데이터 오브젝트들이 저장된다. 데이터 오브젝트 저장 파일(190) 내에 저장된 각각의 데이터 오브젝트들을 직접 인덱싱하기 위하여 별도의 로컬 해시 테이블 저장 파일(192)을 저장한다. 데이터 오브젝트 저장 파일(190)과 로컬 해시 테이블 저장 파일(192)은 1:1 연관 관계를 갖는다. 예를 들면, 동일 파일명을 가지되, 파일 확장자를 서로 다르게 하는 방법을 취한다. 로컬 해시 테이블 저장 파일(192) 내의 각각의 해시 테이블 엔트리별로 해당 데이터 오브젝트가 저장된 위치(오프셋)와 사이즈(데이터 오브젝트의 크기) 정보를 필수적으로 갖는다.In the data object storage file 190, all the data objects received within the swap time window section are stored. A separate local hash table storage file 192 is stored in order to directly index each data object stored in the data object storage file 190. [ The data object storage file 190 and the local hash table storage file 192 have a 1: 1 association. For example, take the same file name and different file extensions. (Offset) and size (size of data object) information of the corresponding data object are stored for each hash table entry in the local hash table storage file 192. [

도 20은 본 발명의 일 실시 예에 따른 검색 기능을 설명하기 위한 도면이다.20 is a diagram for explaining a search function according to an embodiment of the present invention.

도 17 및 도 20을 참조하면, 스왑 쓰레드(1724)에 저장된 데이터 오브젝트 저장 파일(도 20의 pcap에 해당)과 로컬 해시 테이블 저장 파일(도 20의 index에 해당)은 저장시간을 기준으로 일정 단위 시간대별로 트리 형태의 타임라인(timeline) 디렉토리를 생성하고, 해당 디렉토리 내에 저장되도록 한다. 이와 같은 타임라인 디렉토리 구성을 통하여, 도 20에 도시된 바와 같이 시간 조건을 포함하는 검색 조건 입력에 의하여 해당 시간대에 저장된 특정 데이터 오브젝트의 검색 기능을 제공할 수 있도록 한다.17 and 20, the data object storage file (corresponding to pcap in FIG. 20) stored in the swap thread 1724 and the local hash table storage file (corresponding to the index in FIG. 20) A timeline directory in the form of a tree is created for each time zone and stored in the corresponding directory. Through such a time line directory configuration, a search function of a specific data object stored in a corresponding time zone can be provided by inputting a search condition including a time condition as shown in FIG.

도 21 및 도 22는 본 발명의 일 실시 예에 따른 도 17의 ICAP 서버 쓰레드의 동작 프로세스를 도시한 도면이다.FIG. 21 and FIG. 22 are diagrams illustrating an operation process of the ICAP server thread of FIG. 17 according to an embodiment of the present invention.

도 17, 도 21 및 도 22를 참조하면, ICAP 서버 쓰레드(1720)는 ICAP 클라이언트로부터 ICAP RESPMOD request 메시지를 수신(2100)하여, 수신한 ICAP RESPMOD request 메시지로부터 데이터 오브젝트를 추출하고 해당 데이터 오브젝트의 핑거프린트(MD5)를 계산한다(2102). 이어서, 데이터 오브젝트 식별자(URL)로부터 해시 키를 생성(2104)하고, 생성된 해시 키를 인덱스로 사용하여 메모리의 해시 테이블을 검색한다(2106). 이때, 신규 엔트리인지를 확인(2108)하여 신규 엔트리이면 메모리에 해시 테이블 엔트리를 신규 생성(2110)하고, 신규 엔트리가 아니면 핑거프린트가 일치하는지를 확인(2112)하여 일치하지 않으면 메모리에 해시 테이블 엔트리를 업데이트한다(2114). 이에 비해, 핑거프린트가 일치하면 에이징 중인지를 확인(2116)하여, 에이징 중이 아니면 메모리에 해시 테이블 엔트리를 업데이트한다(2118). 이때, 에이징 중이면 종료한다. 해시 테이블 엔트리가 신규 생성되거나 업데이트되면, 디스크에 로컬 해시 테이블 엔트리를 신규 생성하고 데이터 오브젝트를 저장한다(2120).17, 21, and 22, the ICAP server thread 1720 receives (2100) an ICAP RESPMOD request message from the ICAP client, extracts a data object from the received ICAP RESPMOD request message, The print MD5 is calculated 2102. Subsequently, a hash key is generated 2104 from the data object identifier (URL), and a hash table of the memory is retrieved using the generated hash key as an index (2106). At this time, it is confirmed whether the new entry is a new entry 2108. If the new entry is a new entry, a hash table entry is newly created 2110 in the memory. If the entry is not a new entry, (2114). In contrast, if the fingerprints match, it is confirmed 2116 whether or not the finger is aging. If the fingerprint is not being aged, the hash table entry is updated 2118 in the memory. At this time, it is terminated if it is in the middle of aging. When a hash table entry is newly created or updated, a new local hash table entry is created on the disk and the data object is stored (2120).

이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The embodiments of the present invention have been described above. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (16)

웹 프락시의 ICAP 클라이언트로부터 복호화된 HTTP 트래픽을 포함하는 ICAP 메시지를 ICAP 프로토콜을 통해 수신하고 수신된 ICAP 메시지로부터 HTTP 트래픽을 추출하는 ICAP 서버; 및
ICAP 서버에서 추출된 HTTP 트래픽이 저장되는 HTTP 트래픽 저장 장치;
를 포함하는 것을 특징으로 하는 네트워크 포렌식 장치.
An ICAP server that receives an ICAP message including HTTP traffic decrypted from an ICAP client of the web proxy through an ICAP protocol and extracts HTTP traffic from the received ICAP message; And
An HTTP traffic storage device in which HTTP traffic extracted from the ICAP server is stored;
The network forensic device comprising:
제 1 항에 있어서, 상기 ICAP 서버는
웹 프락시의 ICAP 클라이언트로부터 복호화된 HTTP 응답 메시지를 포함하는 ICAP RESPMOD 요청 메시지를 ICAP 프로토콜을 통해 수신하고 수신된 ICAP RESPMOD 요청 메시지로부터 HTTP 응답 메시지를 추출하여 상기 HTTP 트래픽 저장 장치에 저장하는 것을 특징으로 하는 네트워크 포렌식 장치.
The ICAP server according to claim 1, wherein the ICAP server
Receives an ICAP RESPMOD request message including an HTTP response message decrypted from an ICAP client of the web proxy through an ICAP protocol, extracts an HTTP response message from the received ICAP RESPMOD request message, and stores the extracted HTTP response message in the HTTP traffic storage device Network forensic device.
제 1 항에 있어서, 상기 ICAP 서버는
ICAP 클라이언트인 웹 프락시로부터 복호화된 HTTP 요청 메시지를 포함하는 ICAP REQMOD 요청 메시지를 ICAP 프로토콜을 통해 수신하고 수신된 ICAP REQMOD 요청 메시지로부터 HTTP 요청 메시지를 추출하여 상기 HTTP 트래픽 저장 장치에 저장하는 것을 특징으로 하는 네트워크 포렌식 장치.
The ICAP server according to claim 1, wherein the ICAP server
Receiving an ICAP REQMOD request message including an HTTP request message decrypted from a web proxy which is an ICAP client through an ICAP protocol, extracting an HTTP request message from the received ICAP REQMOD request message, and storing the extracted HTTP request message in the HTTP traffic storage device Network forensic device.
제 1 항에 있어서, 상기 ICAP 서버는
웹 프락시로부터 수신된 ICAP RESPMOD 요청 메시지로부터 웹 클라이언트와 웹 서버 간에 송수신된 HTTP 트래픽을 추출하여 데이터 오브젝트 단위로 상기 HTTP 트래픽 저장 장치에 저장하는 ICAP 쓰레드;
에이징 시간 내에 동일한 데이터 오브젝트가 디스크에 중복 저장되는 것을 방지하기 위하여 해시 테이블 엔트리별로 에이징 시간 정보를 관리하는 에이징 쓰레드; 및
소정의 타임 윈도우 구간을 기준으로 그때까지 저장된 해시 테이블과 데이터 오브젝트를 스왑하는 스왑 쓰레드;
를 포함하는 것을 특징으로 하는 네트워크 포렌식 장치.
The ICAP server according to claim 1, wherein the ICAP server
An ICAP thread for extracting HTTP traffic transmitted and received between the web client and the web server from the ICAP RESPMOD request message received from the web proxy and storing the extracted HTTP traffic in the HTTP traffic storage unit on a data object basis;
An aging thread for managing aging time information for each hash table entry to prevent duplicate storage of the same data object on the disk within the aging time; And
A swap thread for swapping the data object and the hash table stored until then based on a predetermined time window section;
The network forensic device comprising:
제 4 항에 있어서, 상기 ICAP 쓰레드는
웹 프락시의 ICAP 클라이언트로부터 ICAP RESPMOD 요청 메시지를 수신하고, 수신한 ICAP RESPMOD 요청 메시지로부터 데이터 오브젝트를 추출하며, 추출된 데이터 오브젝트의 핑거프린트를 계산하고, 데이터 오브젝트 식별자(URL 정보)로부터 해시 키를 생성하며, 생성된 해시 키를 인덱스로 사용하여 메모리의 해시 테이블을 검색하는 것을 특징으로 하는 네트워크 포렌식 장치.
5. The method of claim 4, wherein the ICAP thread
Receives an ICAP RESPMOD request message from an ICAP client of the web proxy, extracts a data object from the received ICAP RESPMOD request message, calculates a fingerprint of the extracted data object, generates a hash key from the data object identifier (URL information) And searches the hash table of the memory using the generated hash key as an index.
제 5 항에 있어서, 상기 ICAP 쓰레드는
추출된 데이터 오브젝트 식별자(URL 정보)에 임의의 해시함수(H)를 반영하여 해시 키를 생성하는 것을 특징으로 하는 네트워크 포렌식 장치.
6. The method of claim 5, wherein the ICAP thread
And generates a hash key by reflecting an arbitrary hash function (H) on the extracted data object identifier (URL information).
제 4 항에 있어서, 상기 스왑 쓰레드는
스왑 타임 윈도우 구간 내에 수신된 모든 데이터 오브젝트들이 저장되는 데이터 오브젝트 저장 파일과, 데이터 오브젝트 저장 파일 내에 저장된 각각의 데이터 오브젝트들을 직접 인덱싱하기 위해 데이터 오브젝트 저장 파일과 1:1 연관 관계를 갖는 로컬 해시 테이블 저장 파일을 저장하는 것을 특징으로 하는 네트워크 포렌식 장치.
5. The method of claim 4, wherein the swap thread
A data object storage file in which all the data objects received within the swap time window section are stored and a local hash table having a 1: 1 association with the data object storage file for directly indexing the respective data objects stored in the data object storage file Wherein the network forensic device stores the file.
제 7 항에 있어서,
데이터 오브젝트 저장 파일과 로컬 해시 테이블 저장 파일은 저장시간을 기준으로 일정 단위 시간대별로 트리 형태의 타임라인 디렉토리 내에 저장되며, 타임라인 디렉토리 구성을 통하여 시간 조건을 포함하는 검색 조건 입력에 의하여 해당 시간대에 저장된 특정 데이터 오브젝트의 검색 기능을 제공하는 것을 특징으로 하는 네트워크 포렌식 장치.
8. The method of claim 7,
The data object storage file and the local hash table storage file are stored in a timeline directory in a tree form according to a predetermined unit time period based on the storage time and stored in the corresponding time zone by inputting a search condition including a time condition through a timeline directory configuration Wherein the network forensic device provides a search function of a specific data object.
웹 클라이언트 또는 웹 서버로부터 수신된 HTTPS 트래픽을 복호화하여 HTTP 트래픽을 추출하는 HTTPS 복호화부; 및
HTTPS 복호화부로부터 HTTP 트래픽을 수신하여 ICAP 프로토콜을 통해 네트워크 포렌식 장치에 전달하는 ICAP 클라이언트;
를 포함하는 것을 특징으로 하는 웹 프락시.
An HTTPS decryption unit for extracting HTTP traffic by decoding HTTPS traffic received from a web client or a web server; And
An ICAP client for receiving HTTP traffic from an HTTPS decryption unit and delivering the HTTP traffic to a network forensic device through an ICAP protocol;
The web proxy comprising:
제 9 항에 있어서, 상기 HTTPS 복호화부는
암호화 라이브러리의 함수를 훅킹(Hooking) 하여 HTTPS 트래픽으로부터 평문의 HTTP 트래픽을 추출하는 것을 특징으로 하는 웹 프락시.
The method of claim 9, wherein the HTTPS decoding unit
And extracting plaintext HTTP traffic from the HTTPS traffic by hooking a function of the encryption library.
제 9 항에 있어서, 상기 HTTPS 복호화부는
웹 클라이언트로부터 수신된 HTTPS 요청 메시지를 복호화하여 HTTPS 요청 메시지로부터 HTTP 요청 메시지를 추출하고 이를 ICAP 클라이언트로 전송하는 제1 HTTPS 복호화부; 및
웹 서버로부터 수신된 HTTPS 응답 메시지를 복호화하여 HTTPS 응답 메시지로부터 HTTP 응답 메시지를 추출하여 이를 ICAP 클라이언트로 전송하는 제2 HTTPS 복호화부;
를 포함하는 것을 특징으로 하는 웹 프락시.
The method of claim 9, wherein the HTTPS decoding unit
A first HTTPS decryption unit for decrypting an HTTPS request message received from a web client to extract an HTTP request message from an HTTPS request message and transmitting the extracted HTTP request message to an ICAP client; And
A second HTTPS decryption unit for decrypting the HTTPS response message received from the web server, extracting an HTTP response message from the HTTPS response message, and transmitting the extracted HTTP response message to the ICAP client;
The web proxy comprising:
제 9 항에 있어서, 상기 ICAP 클라이언트는
HTTPS 복호화부로부터 HTTP 요청 메시지를 수신하여 네트워크 포렌식 장치에 HTTP 요청 메시지를 포함한 ICAP REQMOD 요청 메시지를 전송하는 상 방향 ICAP 클라이언트; 및
HTTPS 복호화부로부터 HTTP 응답 메시지를 수신하여 네트워크 포렌식 장치에 HTTP 응답 메시지를 포함한 ICAP RESPMOD 요청 메시지를 전송하는 하 방향 ICAP 클라이언트;
를 포함하는 것을 특징으로 하는 웹 프락시.
10. The method of claim 9, wherein the ICAP client
An upstream ICAP client receiving an HTTP request message from the HTTPS decryption unit and transmitting an ICAP REQMOD request message including an HTTP request message to the network forensic device; And
A downward ICAP client that receives an HTTP response message from the HTTPS decryption unit and transmits an ICAP RESPMOD request message including an HTTP response message to the network forensic device;
The web proxy comprising:
제 9 항에 있어서, 상기 웹 프락시는
복호화된 HTTP 트래픽을 컨텐츠 캐쉬에 별도 저장하는 HTTP 트래픽 처리부;
를 더 포함하는 것을 특징으로 하는 웹 프락시.
10. The method of claim 9, wherein the web proxy
An HTTP traffic processing unit for separately storing the decrypted HTTP traffic in a content cache;
Further comprising a web proxy.
웹 프락시가 HTTPS 프로토콜을 이용하여 웹 클라이언트로부터 암호화된 HTTPS 요청 메시지를 수신하는 단계;
웹 프락시가 수신된 HTTPS 요청 메시지를 복호화하여 HTTPS 요청 메시지로부터 HTTP 요청 메시지를 추출하는 단계;
웹 프락시가 추출된 HTTP 요청 메시지를 포함한 ICAP REQMOD 요청 메시지를 ICAP 프로토콜을 이용하여 네트워크 포렌식 장치에 전송하는 단계; 및
네트워크 포렌식 장치가 ICAP REQMOD 메시지에 포함된 HTTP 요청 메시지를 저장하는 단계;
를 포함하는 것을 특징으로 하는 HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법.
The web proxy receiving an encrypted HTTPS request message from a web client using the HTTPS protocol;
Extracting an HTTP request message from an HTTPS request message by decrypting an HTTPS request message received by the web proxy;
Transmitting an ICAP REQMOD request message including an extracted HTTP request message to a network forensic device using an ICAP protocol; And
The network forensic device storing an HTTP request message included in an ICAP REQMOD message;
The method of claim 1, further comprising the steps of:
제 14 항에 있어서, 상기 HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법은,
네트워크 포렌식 장치가 HTTP 요청 메시지를 저장한 후 ICAP 프로토콜을 이용하여 웹 프락시에 ICAP 응답 메시지를 송신하는 단계;
웹 프락시가 ICAP 응답 메시지에 포함된 HTTP 요청 메시지를 HTTPS 요청 메시지로 암호화하여 웹 서버로 송신하고, HTTPS 요청 메시지에 대한 응답으로 HTTPS 응답 메시지를 웹 서버로부터 수신하는 단계;
웹 프락시가 수신된 HTTPS 응답 메시지를 복호화하여 HTTPS 응답 메시지로부터 HTTP 응답 메시지를 추출하고, 추출된 HTTP 응답 메시지와 HTTP 요청 메시지를 포함한 ICAP RESPMOD 요청 메시지를 ICAP 프로토콜을 이용하여 네트워크 포렌식 장치에 전송하는 단계; 및
네트워크 포렌식 장치가 ICAP RESPMOD 요청 메시지에 포함된 HTTP 응답 메시지와 HTTP 요청 메시지를 저장하는 단계;
를 더 포함하는 것을 특징으로 하는 HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법.
15. The ICAP protocol extension method for providing a network forensic service of HTTPS traffic according to claim 14,
Transmitting the ICAP response message to the web proxy using the ICAP protocol after the network forensic device stores the HTTP request message;
The web proxy encrypts the HTTP request message included in the ICAP response message with the HTTPS request message and transmits the HTTP request message to the web server and receives the HTTPS response message from the web server in response to the HTTPS request message;
Extracting an HTTP response message from the HTTPS response message by decrypting the HTTPS response message received by the web proxy, and transmitting an ICAP RESPMOD request message including the extracted HTTP response message and the HTTP request message to the network forensic device using the ICAP protocol ; And
The network forensic device storing an HTTP response message and an HTTP request message included in the ICAP RESPMOD request message;
The method of claim 1, further comprising the steps of:
제 15 항에 있어서, 상기 HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법은,
웹 프락시가 ICAP RESPMOD 요청 메시지에 대한 응답으로 ICAP 프로토콜을 이용하여 ICAP 응답 메시지를 네트워크 포렌식 장치로부터 수신하는 단계; 및
웹 프락시가 수신된 ICAP 응답 메시지에 포함된 HTTP 응답 메시지를 HTTPS 응답 메시지로 암호화한 후 웹 클라이언트로 송신하는 단계;
를 더 포함하는 것을 특징으로 하는 HTTPS 트래픽의 네트워크 포렌식 서비스 제공을 위한 ICAP 프로토콜 확장 방법.
16. The method as claimed in claim 15, wherein the ICAP protocol extension method for providing the network forensic service of the HTTPS traffic comprises:
The web proxy receiving an ICAP response message from the network forensic device using the ICAP protocol in response to the ICAP RESPMOD request message; And
Encrypting an HTTP response message included in the received ICAP response message with an HTTPS response message, and transmitting the HTTP response message to a web client;
The method of claim 1, further comprising the steps of:
KR1020180038030A 2017-11-27 2018-04-02 ICAP protocol extension method for providing network forensic service of encrypted traffic, network forensic device supporting it and web proxy KR101996044B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170159165 2017-11-27
KR20170159165 2017-11-27

Publications (2)

Publication Number Publication Date
KR20190062115A true KR20190062115A (en) 2019-06-05
KR101996044B1 KR101996044B1 (en) 2019-07-03

Family

ID=66844982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180038030A KR101996044B1 (en) 2017-11-27 2018-04-02 ICAP protocol extension method for providing network forensic service of encrypted traffic, network forensic device supporting it and web proxy

Country Status (1)

Country Link
KR (1) KR101996044B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240009302A (en) * 2022-07-13 2024-01-22 주식회사 시큐다임 Electronic apparatus and method for analyzing http traffic thereby

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102502475B1 (en) 2022-11-15 2023-02-23 주식회사 시큐어링크 Device and method of determining malicious packet in encrypted traffic based on artificial intelligence

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090010265A (en) * 2007-07-23 2009-01-30 에스케이 텔레콤주식회사 Packet analysis apparatus for classifying page of ip packet and thereof method
KR20150032541A (en) * 2012-06-01 2015-03-26 오페라 소프트웨어 아일랜드 리미티드 Real-time network monitoring and subscriber identification with an on-demand appliance
KR20150122233A (en) * 2013-03-01 2015-10-30 퀄컴 인코포레이티드 Method and apparatus for providing contextual context to a user device
KR20160019397A (en) * 2013-03-14 2016-02-19 피델리스 사이버시큐리티 인코포레이티드 System and method for extracting and preserving metadata for analyzing network communications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090010265A (en) * 2007-07-23 2009-01-30 에스케이 텔레콤주식회사 Packet analysis apparatus for classifying page of ip packet and thereof method
KR20150032541A (en) * 2012-06-01 2015-03-26 오페라 소프트웨어 아일랜드 리미티드 Real-time network monitoring and subscriber identification with an on-demand appliance
KR20150122233A (en) * 2013-03-01 2015-10-30 퀄컴 인코포레이티드 Method and apparatus for providing contextual context to a user device
KR20160019397A (en) * 2013-03-14 2016-02-19 피델리스 사이버시큐리티 인코포레이티드 System and method for extracting and preserving metadata for analyzing network communications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240009302A (en) * 2022-07-13 2024-01-22 주식회사 시큐다임 Electronic apparatus and method for analyzing http traffic thereby

Also Published As

Publication number Publication date
KR101996044B1 (en) 2019-07-03

Similar Documents

Publication Publication Date Title
Kotzias et al. Coming of age: A longitudinal study of tls deployment
Bhargavan et al. On the practical (in-) security of 64-bit block ciphers: Collision attacks on HTTP over TLS and OpenVPN
CN111034150B (en) Method and apparatus for selectively decrypting SSL/TLS communications
CN107666383B (en) Message processing method and device based on HTTPS (hypertext transfer protocol secure protocol)
US9917812B2 (en) Inline inspection of security protocols
CN109845228B (en) Network flow recording system and method for detecting network hacker attack in real time
CN101141244B (en) Network enciphered data virus detection and elimination system and proxy server and method
Naik et al. Cyber security—iot
KR101275708B1 (en) Network-based data loss prevention system using information of ssl/tls handshaking packet and https access selection block method thereof
Ling et al. Novel packet size-based covert channel attacks against anonymizer
CN110855699B (en) Flow auditing method and device, server and auditing equipment
US20170317836A1 (en) Service Processing Method and Apparatus
KR101996044B1 (en) ICAP protocol extension method for providing network forensic service of encrypted traffic, network forensic device supporting it and web proxy
WO2014142901A1 (en) Decryption of data between a client and a server
CN115801442A (en) Encrypted traffic detection method, security system and agent module
KR101448866B1 (en) Security apparatus for decrypting data encrypted according to the web security protocol and operating method thereof
CN116723238A (en) API encrypted flow collection and labeling method based on man-in-the-middle agent
CN109194650B (en) Encryption transmission method based on file remote encryption transmission system
CN114390027B (en) Network communication method, device, equipment and medium
KR101919762B1 (en) An encrypted traffic management apparatus and method for decrypting encrypted traffics
KR101865690B1 (en) security monitoring system and method of network for visibility of HTTPS-based connection
KR20220167486A (en) Network forensic device and Internet proxy control technology through security protocol extension method
Yoon et al. Encrypted network traffic analysis method via secure socket layer handshake control
CN106464684B (en) Service processing method and device
Granerud Identifying TLS abnormalities in Tor

Legal Events

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