KR20220167034A - 정보 유출 모니터링 서버 및 방법 - Google Patents

정보 유출 모니터링 서버 및 방법 Download PDF

Info

Publication number
KR20220167034A
KR20220167034A KR1020210076081A KR20210076081A KR20220167034A KR 20220167034 A KR20220167034 A KR 20220167034A KR 1020210076081 A KR1020210076081 A KR 1020210076081A KR 20210076081 A KR20210076081 A KR 20210076081A KR 20220167034 A KR20220167034 A KR 20220167034A
Authority
KR
South Korea
Prior art keywords
information
file
flow
unit
data
Prior art date
Application number
KR1020210076081A
Other languages
English (en)
Other versions
KR102484886B1 (ko
Inventor
한영호
문종욱
강희택
장진영
Original Assignee
주식회사 시큐다임
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 시큐다임 filed Critical 주식회사 시큐다임
Priority to KR1020210076081A priority Critical patent/KR102484886B1/ko
Publication of KR20220167034A publication Critical patent/KR20220167034A/ko
Application granted granted Critical
Publication of KR102484886B1 publication Critical patent/KR102484886B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/88Detecting or preventing theft or loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

정보 유출 모니터링 서버 및 방법이 개시된다. 본 발명의 일 실시예에 따른 정보 유출 모니터링 서버는 웹 서버로부터 송수신되는 데이터 패킷을 수집하고, 전체 데이터 패킷을 기 설정된 시간 단위의 그룹으로 저장하도록 하는 데이터 수집부; 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분하고 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성하여, 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장하도록 하는 데이터 분석부; 및 정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생 시, 해당 이벤트가 발생한 시점의 플로우 기준으로 데이터 패킷 단위 파일 및 데이터 패킷 단위 파일의 로우 패킷 저장 정보, 페이로드 파일 저장 정보 및 헤더 파싱 결과 파일 저장 정보 중 적어도 하나 이상을 기초로 콘텐츠를 생성하는 콘텐츠 생성부를 포함한다.

Description

정보 유출 모니터링 서버 및 방법{SERVER AND METHOD FOR MONITORING LOSS OF DATA}
본 발명의 실시예들은 정보 유출 모니터링 서버 및 방법과 관련된다.
네트워크 상에서 발생하는 모든 이벤트의 근본은 패킷으로, 패킷을 모두 저장하고 분석하는 기술을 네트워크 포렌식(network forensic) 기술이라 할 수 있다. 예를 들어, 1Gbps 기준으로 네트워크 상에서 발생하는 패킷은 1시간에만 최대 약 100억개가 존재하고, 일일은 2,400억개의 패킷이 존재할 수 있다. 이에, 기술의 발달로 패킷을 모두 저장한다고 해도 보안 관리자가 이를 모두 분석하는 것은 불가능할 수 있다. 따라서, 일반적인 네트워크 포렌식 기술은 큰 보안 이벤트가 발생 할 때, 해당 시점만을 상세히 분석하기 위해서 존재할 수 있는 것이다. 따라서, 큰 보안 이벤트에 해당하지 않는 평소의 데이터는 데이터 낭비에 가깝게 사용되고 있는 실정이다.
한편, 정보 유출 방지 기술인 네트워크 DLP(data loss prevention) 기술은 인라인(inline) 혹은 미러(mirror) 기술을 사용하여 실시간으로 네트워크를 감시하면서 파일, 메일 및 메시지 등의 정보 유출을 검출하는 기술이다. 이러한 네트워크 DLP 기술은 실시간으로 동작해야 하기 때문에 고속의 성능이 필수적이며 이를 위해 정보 필터링, 요약, 생략 및 샘플링 등 많은 기법 등이 적용될 수 있다.
대한민국 공개특허공보 제10-2010-0040074호 (2010. 04. 19.)
본 발명의 실시예들은 네트워크 유입된 모든 트래픽을 저장하여 정보 점검 이벤트 발생 시, 상세한 정보 제공이 가능하도록 하기 위한 정보 유출 모니터링 서버 및 방법을 제공하기 위한 것이다.
또한, 본 발명의 실시예들은 수집된 데이터 패킷을 저장할 때, DLP(data loss prevention) 기술 적용에 최적화된 형태로 저장할 수 있도록 하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 웹 서버와 연결되어 상기 웹 서버로부터 송수신되는 데이터 패킷을 수집하고, 수집된 전체 데이터 패킷을 기 설정된 시간 단위의 그룹으로 저장하도록 하는 데이터 수집부; 상기 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 상기 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분하고 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성하여, 상기 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 상기 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장하도록 하는 데이터 분석부; 및 정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생 시, 해당 이벤트가 발생한 시점의 플로우 기준으로 데이터 패킷 단위 파일 및 상기 데이터 패킷 단위 파일의 로우 패킷(raw packet) 저장 정보, 페이로드 파일 저장 정보 및 헤더 파싱 결과 파일 저장 정보 중 적어도 하나 이상을 기초로 콘텐츠를 생성하는 콘텐츠 생성부를 포함하는 정보 유출 모니터링 서버가 제공된다.
상기 데이터 분석부는, 상기 데이터 패킷 단위 파일 및 상기 플로우 인덱스 파일을 저장할 때, 로우 패킷을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장할 수 있다.
상기 데이터 분석부는, 상기 전체 데이터 패킷으로부터 콘텐츠 생성을 위한 분석 시 필요한 L7 응용 계층 프로토콜 정보 및 애플리케이션 정보를 추출할 수 있다.
상기 데이터 분석부는, 식별정보를 포함하는 플로우 정보, 상기 L7 응용 계층 프로토콜, 상기 애플리케이션 정보 및 상기 데이터 패킷 단위 파일 내 플로우에 해당하는 데이터 패킷의 시작 정보 및 끝 정보 중 적어도 하나 이상을 포함하여 상기 플로우 인덱스 파일을 생성할 수 있다.
상기 데이터 분석부는, 상기 플로우 인덱스 파일을 확인하여 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 페이로드 파일을 생성할 수 있다.
상기 데이터 분석부는, 생성된 상기 페이로드 파일을 기초로 상기 L7 응용 계층 프로토콜에 따라 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 헤더 파싱 결과 파일을 생성할 수 있다.
상기 데이터 분석부는, 상기 복수의 데이터 패킷 단위 파일의 개수에 해당하는 페이로드 인덱스 파일, 헤더 인덱스 파일, 페이로드 파일 및 헤더 파싱 결과 파일을 생성할 수 있다.
상기 페이로드 인덱스 파일은, 식별정보를 포함하는 플로우 정보 및 상기 페이로드 파일 내 플로우에 해당하는 페이로드의 시작 정보 및 끝 정보를 포함할 수 있다.
상기 헤더 인덱스 파일은, 식별정보를 포함하는 플로우 정보 및 상기 헤더 파싱 결과 파일 내 플로우에 해당하는 헤더의 시작 정보 및 끝 정보를 포함할 수 있다.
상기 데이터 분석부는, 상기 페이로드 파일 및 상기 헤더 파싱 결과 파일을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장할 수 있다.
상기 콘텐츠 생성부는, 상기 정보 점검 이벤트를 수신하면, 상기 정보 점검 이벤트가 감지된 시점의 플로우 기반으로 상기 데이터 패킷 단위 파일의 로우 패킷의 저장 위치, 상기 로우 패킷의 시작 정보 및 끝 정보, 페이로드 파일의 저장 위치, 상기 페이로드 파일의 시작 정보 및 끝 정보, 헤더 파싱 결과 파일의 저장 위치 및 상기 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 콘텐츠를 생성할 수 있다.
상기 콘텐츠 생성부는, 상기 정보 점검 이벤트가 발생된 해당 시점의 플로우의 상기 헤더 파싱 결과 파일의 저장 위치 및 상기 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 상기 헤더 파싱 결과 파일의 메일 내용, 메일 송수신자, 메일 첨부 파일명, 메신저 내용, 메신저 송수신자 중 적어도 하나 이상의 정보를 추출하여 상기 콘텐츠를 생성할 수 있다.
상기 콘텐츠 생성부는, 상기 정보 점검 이벤트가 발생된 해당 시점의 플로우의 상기 페이로드 파일의 저장 위치 및 상기 페이로드 파일의 시작 정보 및 끝 정보를 기초로 첨부파일 내용을 추가로 추출 및 포함시켜 상기 콘텐츠를 생성할 수 있다.
상기 콘텐츠 생성부는, 추가 정보 점검 이벤트 발생 시, 해당 요청이 발생한 시점의 시간 또는 플로우 정보를 기초로 로우 패킷의 저장 위치, 페이로드 파일의 저장 위치 및 헤더 파싱 결과 파일의 저장 위치를 확인하여 상기 콘텐츠를 생성할 수 있다.
상기 정보 유출 모니터링 서버는 기 설정된 정보 점검 기준과 일치하는 이벤트가 발생하는 경우, 상기 정보 점검 이벤트를 발생시켜 상기 콘텐츠 생성부로 전달하는 정보 유출 점검부를 더 포함하고, 상기 콘텐츠 생성부는, 상기 정보 점검 이벤트를 수신하면, 기 저장된 로우 패킷, 페이로드 파일, 헤더 파싱 결과 파일 및 플로우 정보를 포함하는 각각의 인덱스 파일 중 적어도 하나 이상을 기초로 정보 점검 이벤트 발생 시점의 콘텐츠를 복원할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 웹 서버로부터 송수신되는 데이터 패킷을 수집하고, 수집된 전체 데이터 패킷을 기 설정된 시간 단위의 그룹으로 저장하는 단계; 상기 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 상기 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분하고 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성하여, 상기 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 상기 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장하는 단계; 및 정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생 시, 해당 이벤트가 발생한 시점의 플로우 기준으로 데이터 패킷 단위 파일 및 상기 데이터 패킷 단위 파일의 로우 패킷(raw packet) 저장 정보, 페이로드 파일 저장 정보 및 헤더 파싱 결과 파일 저장 정보 중 적어도 하나 이상을 기초로 콘텐츠를 생성하는 단계를 포함하는 정보 유출 방지 방법이 제공된다.
상기 정보 유출 방지 방법은 상기 플로우 인덱스 파일을 생성하는 단계에서, 식별정보를 포함하는 플로우 정보, 상기 L7 응용 계층 프로토콜, 상기 애플리케이션 정보 및 상기 데이터 패킷 단위 파일 내 플로우에 해당하는 데이터 패킷의 시작 정보 및 끝 정보 중 적어도 하나 이상을 포함하여 상기 플로우 인덱스 파일을 생성할 수 있다.
상기 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장하는 단계는, 상기 플로우 인덱스 파일을 확인하여 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 페이로드 파일을 생성하는 단계; 및 생성된 상기 페이로드 파일을 기초로 상기 L7 응용 계층 프로토콜에 따라 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 헤더 파싱 결과 파일을 생성하는 단계를 포함할 수 있다.
상기 정보 유출 방지 방법은 상기 데이터 패킷 단위 파일 및 상기 플로우 인덱스 파일을 저장할 때, 로우 패킷을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장하고, 상기 페이로드 파일 및 상기 헤더 파싱 결과 파일을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장하는 것을 포함할 수 있다.
상기 정보 유출 방지 방법은 상기 콘텐츠를 생성하는 단계에서, 상기 정보 점검 이벤트를 수신하면, 정보 점검이 감지된 시점의 플로우 기반으로 상기 데이터 패킷 단위 파일의 로우 패킷의 저장 위치, 상기 로우 패킷의 시작 정보 및 끝 정보, 페이로드 파일의 저장 위치, 상기 페이로드 파일의 시작 정보 및 끝 정보, 헤더 파싱 결과 파일의 저장 위치 및 상기 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 콘텐츠를 생성할 수 있다.
본 발명의 실시예들에 따르면, 네트워크 유입된 모든 트래픽에 대해 플로우 기반으로 분류 및 인덱싱 하여 관리하기 때문에, 정보 점검 이벤트 발생 등의 상황에서 해당 시점의 콘텐츠 정보 검출이 용이하고 상세한 정보 제공이 가능할 수 있다는 효과를 기대할 수 있다.
또한, 본 발명의 실시예들에 따르면, 수집된 데이터 패킷을 DLP 기술 적용에 최적화되도록 저장하였기 때문에, 정보 유출이 발생한 시점의 콘텐츠, 헤더, 페이로드 및 수집된 원본 패킷의 신속한 데이터 제공이 가능하다는 것이다.
도 1은 본 발명의 일 실시예에 따른 정보 유출 모니터링 서버와 주변 구성의 연결 관계를 설명하기 위한 블록도
도 2는 본 발명의 일 실시예에 따른 정보 유출 모니터링 서버의 구성을 설명하기 위한 블록도
도 3은 본 발명의 일 실시예에 따른 정보 유출 방지 방법을 설명하기 위한 예시도
도 4는 본 발명의 일 실시예에 따른 정보 유출 방지 방법을 설명하기 위한 흐름도
도 5는 도 4의 일부를 보다 상세히 설명하기 위한 흐름도
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
이하에서 개시하는 정보 유출 모니터링 기술은 네트워크 포렌식(network forensic) 기술을 기반으로 한 기술인 것을 예로 들어 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 정보 유출 모니터링 서버와 주변 구성의 연결 관계를 설명하기 위한 블록도이다.
도 1을 참고하면, 정보 유출 모니터링 서버(300)는 웹 서버(100) 및 통신망 사이에 위치하여 웹 서버(100)로부터 전송되거나, 또는 웹 서버(100)로 수신되는 전체 데이터 패킷을 모두 수집 및 분석하여 저장하고, 정보 점검 이벤트가 발생하는 경우, 해당 이벤트 발생 시점의 플로우에 대한 콘텐츠를 생성하여 사용자가 확인할 수 있도록 제공할 수 있다. 즉, 정보 유출 모니터링 서버(300)는 웹 서버(100)와 관련된 모든 데이터 패킷을 저장하고, 감시할 수 있도록 하기 위한 구성으로서, 본 발명의 실시예들에서는 DLP(data loss prevention) 기술 구현 시 저장된 데이터 패킷 관련 정보를 활용하는 것이 용이한 형태로 저장 및 관리할 수 있는 것이다.상술한 DLP 기술은 검출, 차단 및 기록을 수행하는 것으로서, 구체적으로 데이터가 보안이 요구되는 정보인지 여부를 파악하거나, 또는 보안이 요구되는 데이터가 외부로 반출 또는 비 권한자에 의해서 열람되는 것을 차단하거나, 또는 정보 유출이 감지된 사항을 기록하여 사용자가 확인할 수 있도록 하는 것 등을 의미할 수 있다.
한편, 본 발명의 실시예들은 정보 점검 이벤트가 발생했을 당시뿐만 아니라, 사용자의 요청에 따라 특정 시점의 플로우에 대한 콘텐츠 정보를 생성하여 제공하는 것 역시 가능하며, 이에 대한 상세 설명은 후술하기로 한다.
도 2는 본 발명의 일 실시예에 따른 정보 유출 모니터링 서버의 구성을 설명하기 위한 블록도이다.
이하에서는, 본 발명의 일 실시예에 따른 정보 유출 방지 방법을 설명하기 위한 예시도인 도 3을 참고하여 설명하기로 한다.
도 2를 참고하면, 정보 유출 모니터링 서버(300)는 네트워크 통신 인터페이스(310), 데이터 수집부(320), 데이터 분석부(330), 콘텐츠 생성부(340), 정보 유출 점검부(350), 데이터베이스(360), 디스플레이(370) 및 제어부(380)를 포함할 수 있다.
보다 상세히 설명하면, 네트워크 통신 인터페이스(310)는 웹 서버(100)를 비롯하여 외부 구성과 통신을 수행하기 위한 구성일 수 있다. 상기 웹 서버(100)는 기업 등에서 보안이 요구되는 정보를 다루는 서버를 의미할 수 있으나, 이에 한정되지 않고 정보 유출 방지 기술이 적용될 수 있는 서버라면 모두 가능하다 할 것이다.
본 발명의 일 실시예에서 정보 유출 모니터링 서버(300)는 웹 서버(100)로부터 발송되거나, 또는 웹 서버(100)로 수신되는 각종 데이터 패킷을 수집하거나, 모니터링할 때 정보를 송수신하기 위해 통신을 수행할 있으며, 이에 한정되지 않는다.
데이터 수집부(320)는 웹 서버(100)와 연결되어 상기 웹 서버(100)로부터 송수신되는 데이터 패킷을 수집하고, 수집된 전체 데이터 패킷을 기 설정된 시간 단위의 그룹으로 저장하도록 할 수 있다.
도 3을 참고하면, 데이터 수집부(320)를 통해 수집된 데이터 패킷은 임시 로우 패킷 형태일 수 있다.
데이터 수집부(320)는 전체 데이터 패킷을 기 설정된 시간 단위(예를 들어, 1분, 10분, ...)로 모아서 그룹지어 저장할 수 있다. 이때, 데이터 수집부(320)는 데이터 패킷의 유실없이 모두 저장하기 위해 추가 별도 기능을 제공하지 않을 수 있으나, 이에 한정되지 않는다.
데이터 분석부(330)는 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분하고 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성하여, 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장하도록 할 수 있다. 상기 데이터 패킷 분석 정보는 플로우 인덱스 파일을 비롯하여 데이터 분석부(330)에서 추출 및 생성되는 정보를 의미하는 것으로서, 후술하는 페이로드 인덱스 파일, 헤더 인덱스 파일 등을 포함할 수 있다. 상šD한 복수의 데이터 패킷 단위 파일은 로우 패킷(raw packet)을 포함할 수 있다.
상술한 기 설정된 단위 그룹에서, 기 설정된 단위는 멀티 코어 프로세싱을 위한 최적의 단위를 의미할 수 있다. 예를 들어, 데이터 분석부(330)는 수집된 전체 데이터 패킷을 vlan id, src ip, srcport, dst ip, dstport, protocol의 플로우 기준으로 분류할 수 있다.
또한, 상술한 플로우의 시작은 오프셋(offset)일 수 있고, 끝은 오프셋을 기준으로 플로우의 길이를 나타내는 뎁스(depth)일 수 있다.
본 발명의 실시예들에서 개시하는 플로우는 특정 액션을 수행하기 위한 하나의 세션에 속한 복수의 패킷 단위를 그루핑(grouping)한 것을 의미할 수 있다. 이때, 플로우는 세션 플로우 또는 세션 플로우 그룹이라고도 칭할 수 있다.
도 2를 참고하면, 데이터 분석부(330)는 데이터 분류 및 분석 수단(331), 페이로드 처리 수단(333) 및 헤더 처리 수단(335)를 포함할 수 있다.
도 3을 참고하면, 데이터 분류 및 분석 수단(331)은 데이터 수집부(320)로부터 전달된 임시 로우 패킷 형태의 전체 데이터 패킷에 대한 플루우별 구분 및 관리, L7 응용 계층 프로토콜 인지, 애플리케이션 인지 등을 비롯한 데이터 분류 및 분석 동작을 수행하여, 로우 패킷 및 이에 매칭되는 플로우 인덱스(flow index)를 출력할 수 있는 것이다. 상기 로우 패킷 및 플로우 인덱스는 페이로드 처리 수단(333) 및 콘텐츠 생성부(340)으로 전달될 수 있다.
데이터 분류 및 분석 수단(331)은 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분하고 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성하여, 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 플로우 인덱스 파일을 함께 저장하도록 할 수 있다.
데이터 분류 및 분석 수단(331)은 데이터 패킷 단위 파일 및 플로우 인덱스 파일을 저장할 때, 로우 패킷을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장할 수 있다.
예를 들어, 데이터 분류 및 분석 수단(331)은 세션 플로우 그룹 단위로 로우 패킷을 모아서 1분, 10분 등의 시간 단위로 압축하여 저장하는 경우, 압축 단위를 구분하기 위해 압축 단위의 시작 정보 및 끝 정보를 생성하여 저장하는 것이다. 또한, 데이터 분류 및 분석 수단(331)은 상술한 압축을 해제한 상태에서 압축 단위 내 플로우의 시작 정보 및 끝 정보를 생성하여 저장할 수 있다. 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보는 압축을 해제하였을 경우, 플로우의 시작 정보 및 끝 정보를 기초로 검색하고자 하는 플로우에 대한 로우 패킷에 직접적으로 접근할 수 있도록 하기 위한 것이다.
데이터 분류 및 분석 수단(331)은 전체 데이터 패킷으로부터 콘텐츠 생성을 위한 데이터 분석 시 필요한 L7 응용 계층 프로토콜 정보 및 애플리케이션 정보를 추출할 수 있다.
데이터 분류 및 분석 수단(331)은 식별정보를 포함하는 플로우 정보, L7 응용 계층 프로토콜, 애플리케이션 정보 및 데이터 패킷 단위 파일 내 플로우에 해당하는 데이터 패킷의 시작 정보 및 끝 정보 중 적어도 하나 이상을 포함하여 플로우 인덱스 파일을 생성할 수 있다. 이때, 플로우 정보는 vlan id, src ip, srcport, dst ip, dstport, protocol, 클라이언트의 패킷 수, 클라이언트의 바이트 수, 서버로부터 전달된 패킷 수, 서버의 바이트 수, 식별정보 등을 포함할 수 있으며, 이에 한정되지 않는다.
도 3을 참고하면, 페이로드 처리 수단(333)은 데이터 분류 및 분석 수단(331)으로부터 전달된 로우 패킷 및 플로우 인덱스를 기초로 세그먼트(segment)된 패킷들을 재조합하여 페이로드(payload)를 생성할 수 있다.
구체적으로서, 페이로드 처리 수단(333)은 플로우 인덱스 파일을 확인하여 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 페이로드 파일을 생성할 수 있다. 페이로드 처리 수단(333)은 복수의 데이터 패킷 단위 파일의 플로우의 시작 정보 및 끝 정보를 확인하고, 확인된 플로우의 시작 정보 및 끝 정보를 기초로 플로우의 전체 데이터 패킷을 로드한 후, 페이로드 파일을 추출 및 생성할 수 있다. 이때, tcp의 경우 세그먼트된 데이터 패킷들을 유사한 것끼리 재조합하여 페이로드 파일을 생성할 수 있다.
페이로드 처리 수단(333)은 복수의 데이터 패킷 단위 파일의 개수에 해당하는 페이로드 인덱스 파일 및 페이로드 파일을 생성할 수 있다. 이때, 페이로드 처리 수단(333)은 페이로드 파일 및 페이로드 인덱스 파일을 헤더 처리 수단(335) 및 콘텐츠 생성부(340)로 전달할 수 있다. 상기 페이로드 인덱스 파일은 페이로드 파일의 위치 정보를 포함하고 있어, 이후 콘텐츠 생성 시, 페이로드 파일을 검색하는 등에 활용될 수 있다.
상기 페이로드 인덱스 파일은 식별정보를 포함하는 플로우 정보 및 상기 페이로드 파일 내 플로우에 해당하는 페이로드의 시작 정보 및 끝 정보를 포함할 수 있다.
헤더 처리 수단(335)은 생성된 페이로드 파일을 기초로 L7 응용 계층 프로토콜에 따라 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 헤더 파싱 결과 파일을 생성할 수 있다.
헤더 처리 수단(335)은 복수의 데이터 패킷 단위 파일의 개수에 해당하는 헤더 인덱스 파일 및 헤더 파싱 결과 파일을 생성할 수 있다. 이때, 헤더 처리 수단(335)은 헤더 파싱 결과 파일 및 헤더 인덱스 파일을 콘텐츠 생성부(340)로 전달할 수 있다. 상기 헤더 인덱스 파일은 헤더 파싱 결과 파일의 위치 정보를 포함하고 있어, 이후 콘텐츠 생성 시, 헤더 파싱 결과 파일을 검색하는 등에 활용될 수 있다.
상기 헤더 인덱스 파일은 식별정보를 포함하는 플로우 정보 및 상기 헤더 파싱 결과 파일 내 플로우에 해당하는 헤더의 시작 정보 및 끝 정보를 포함할 수 있다.
상술한 데이터 분석부(330) 중 페이로드 처리 수단(333) 또는 헤더 처리 수단(335)은 페이로드 파일 및 헤더 파싱 결과 파일을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장할 수 있다. 이는, 검색하고자 하는 압축 단위를 인식하고, 인식된 압축 단위를 해제하였을 때, 플로우에 접근할 수 있도록 하기 위한 것이다.
도 3에서 도시하는 바와 같이, 콘텐츠 생성부(340)는 데이터 분석부(330)의 데이터 분류 및 분석 수단(331), 페이로드 처리 수단(333) 및 헤더 처리 수단(335)으로부터 전달된 플로우 정보의 로우 패킷의 저장 위치, 로우 패킷의 시작(offset) 정보 및 끝(depth) 정보, 페이로드 파일의 저장 위치, 페이로드 파일의 시작(offset) 정보 및 끝(depth) 정보, 헤더 파싱 결과 파일의 저장 위치 및 헤더 파싱 결과 파일의 시작(offset) 정보 및 끝(depth) 정보를 기초로 콘텐츠 생성에 필요한 정보의 위치를 신속하게 파악하여 콘텐츠를 생성할 수 있다. 즉, 데이터 분석부(330)에 의해서 사전에 생성된 플로우 인덱스, 페이로드 인덱스 및 헤더 인덱스가 필요한 정보의 위치를 포함하고 있고, 이를 콘텐츠 생성부(340)로 전달하기 때문에, 신속한 콘텐츠 생성이 가능할 수 있는 것이다.
콘텐츠 생성부(340)는 정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생 시, 해당 이벤트가 발생한 시점의 플로우 기준으로 데이터 패킷 단위 파일 및 데이터 패킷 단위 파일의 로우 패킷(raw packet) 저장 정보, 페이로드 파일 저장 정보 및 헤더 파싱 결과 파일 저장 정보 중 적어도 하나 이상을 기초로 콘텐츠를 생성할 수 있다.
상술한 정보 점검 이벤트는 사용자가 사전에 설정한 정보 점검 기준을 기초로 정보 점검 기준에 일치하는 상황이 감지되면 발생하는 이벤트를 의미하는 것일 수 있다.
상기 추가 정보 점검 이벤트는 사용자가 요청하는 시기의 정보 점검 기준에 매칭되는 콘텐츠를 생성하라는 요청을 의미하는 것일 수 있다. 예를 들어, 사용자가 정보 점검 기준을 설정한 시점 이전인 아직 정보 점검 기준이 적용되지 않는 시점에 대한 보안 정보를 사용자가 확인하고자 하는 경우, 특정 시간 정보 또는 플로우 정보를 입력하여 정보 점검 기준에 매칭되는 콘텐츠를 생성하여 제공할 수 있도록 하는 것이다. 이때, 추가 정보 점검 이벤트를 발생시키기 위한 정보는 특정 시간 정보 또는 플로우 정보에 한정되지 않고, 사용자에 따라 변경 적용 가능하다 할 것이다.
콘텐츠 생성 수단(341)은 정보 점검 이벤트를 수신하면, 정보 유출이 감지된 시점의 플로우 기반으로 데이터 패킷 단위 파일의 로우 패킷의 저장 위치, 로우 패킷의 시작 정보 및 끝 정보, 페이로드 파일의 저장 위치, 상기 페이로드 파일의 시작 정보 및 끝 정보, 헤더 파싱 결과 파일의 저장 위치 및 상기 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 콘텐츠를 생성할 수 있다. 예를 들어, 콘텐츠 생성 수단(341)은 정보 점검 이벤트를 수신하면, 정보 점검 이벤트가 발생한 시점의 플로우 기반으로 관련된 데이터의 위치를 신속하게 파악한 후, 포털사이트의 메일 복원, 첨부파일 복원 등의 콘텐츠 생성을 수행할 수 있는 것이다.
상기 로우 패킷의 저장 위치, 페이로드 파일의 저장 위치 및 헤더 파싱 결과 파일의 저장 위치는 각각 해당 데이터의 저장 일시, 데이터 파일명 등을 비롯하여 해당 데이터의 식별 및 저장 위치를 나타내는 정보를 포함할 수 있다.
콘텐츠 생성 수단(341)은 정보 점검 이벤트가 발생된 해당 시점의 플로우의 헤더 파싱 결과 파일의 저장 위치 및 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 헤더 파싱 결과 파일의 메일 내용, 메일 송수신자, 메일 첨부 파일명, 메신저 내용, 메신저 송수신자 중 적어도 하나 이상의 정보를 추출하여 콘텐츠를 생성할 수 있다.
콘텐츠 생성 수단(341)은 정보 점검 이벤트가 발생된 해당 시점의 플로우의 페이로드 파일의 저장 위치 및 페이로드 파일의 시작 정보 및 끝 정보를 기초로 첨부파일 내용을 추가로 추출 및 포함시켜 콘텐츠를 생성할 수 있다. 즉, 콘텐츠 생성 수단(341)은 정보 점검 이벤트를 수신하면, 기 저장된 로우 패킷, 페이로드 파일, 헤더 파싱 결과 파일 및 플로우 정보를 포함하는 각각의 인덱스 파일 중 적어도 하나 이상을 기초로 정보 점검 이벤트 발생 시점의 콘텐츠를 복원할 수 있는 것이다.
추가 콘텐츠 생성 수단(343)은 추가 정보 점검 이벤트 발생 시, 해당 요청이 발생한 시점의 시간 또는 플로우 정보를 기초로 로우 패킷의 저장 위치, 페이로드 파일의 저장 위치 및 헤더 파싱 결과 파일의 저장 위치를 확인하여 콘텐츠를 생성할 수 있다.
추가 콘텐츠 생성 수단(343)은 정보 점검 이벤트가 발생되는 것과 관계없이 정보 점검 이벤트 발생을 위한 정보 점검 기준이 설정되기 이전이거나, 또는 사용자의 필요에 따라 과거 또는 현재의 정보를 확인하고자 할 때 사용자에 의해서 입력되는 시간 또는 플로우 정보를 기초로 콘텐츠를 생성하는 것이다.
정보 유출 점검부(350)는 기 설정된 정보 점검 기준과 일치하는 이벤트가 발생하는 경우, 정보 점검 이벤트를 발생시켜 콘텐츠 생성부(340)로 전달하는 구성일 수 있다.
상기 기 설정된 정보 점검 기준은 웹 서버(100)와 관련되어 보안이 요구되는 정책, 정보, 형식 등을 포함하는 기준으로, 사용자에 의해서 임의로 설정될 수 있다. 이때, 정보 점검 기준은 이메일, 블로그, 게시판, 메신저, FTP(file transfer protocol), SNS(social network service), 웹하드(webhard) 등을 통한 데이터 전송을 감지하는 기준을 포함할 수 있다. 이때, 데이터는 파일, 메일 본문, 게시글 등을 포함할 수 있으며, 이에 한정되지 않는다.
예를 들어, 정보 점검 기준이 N 포털사이트의 메일로 첨부파일을 포함시켜 전송하는 것을 포함하고 있고, 정보 유출 점검부(350)가 N 포털사이트의 메일로 첨부파일을 포함시켜 전송한 것을 감지한 경우, 정보 점검 이벤트를 발생하여 콘텐츠 생성부(340)의 콘텐츠 생성 수단(341)으로 전달하는 것이다. 이후, 콘텐츠 생성 수단(341)은 정보 점검 이벤트를 수신함에 따라, 정보 점검 이벤트가 발생한 시점의 N 포털사이트의 메일 복원 및 첨부파일 복원 등의 콘텐츠 생성 동작을 수행할 수 있는 것이다.
또한, 정보 유출 점검부(350)는 기 설정된 정보 유출 기준과 일치하는 상황이 발생하는 경우, 정보 유출 로그를 발생시켜 사용자 단말기(미도시)로 전송할 수 있다. 예를 들어, 정보 유출 점검부(350)는 플로우 정보, 헤더 파싱 결과 파일, 페이로드 파일 및 콘텐츠를 상기 기 설정된 정보 유출 기준에 따라 검사한 후, 일치하는 상황이 있는 경우 정보 유출 로그를 발생시킬 수 있는 것이다.
이때, 정보 유출 기준은 사내 조직별 전송 권한, 데이터 전송 용량 기준, 파일 속성 및 회사별 보안 키워드 포함여부를 포함할 수 있으며, 이에 한정되지 않고, 정보 유출을 판단하기 위한 기준이라면 추가 또는 변경하는 것이 가능하다 할 것이다.
예를 들어, 사내 조직별 전송 권한은 사용자별 권한, 대외비 서류 등급 등 다양한 항목을 포함할 수 있다. 상기 정보 유출 기준 중 파일 속성은 암호화되지 않아야 하는 파일이 암호화된 경우를 감지하기 위한 기준일 수 있다. 또한, 정보 유출 기준 중 회사별 보안 키워드 포함여부는 회사 내에서 보안 키워드로 설정된 키워드가 포함되었는지 여부를 감지하기 위한 기준일 수 있다.
데이터베이스(360)는 수집된 전체 데이터 패킷, 복수의 데이터 패킷 단위 파일, 플로우 인덱스 파일, 페이로드 파일, 페이로드 인덱스 파일, 헤더 파싱 결과 파일 및 헤더 인덱스 파일을 비롯하여 정보 유출 모니터링 서버(300)와 관련된 각종 정보를 저장할 수 있다.
디스플레이(370)는 정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생 시 생성된 콘텐츠를 비롯하여, 정보 유출 모니터링 서버(300)와 관련된 각종 정보를 화면 상에 표시하여 사용자가 확인할 수 있도록 할 수 있다.
제어부(380)는 데이터 수집부(320), 데이터 분석부(330), 콘텐츠 생성부(340) 및 정보 유출 점검부(350)를 비롯하여 정보 유출 모니터링 서버(300) 내 모든 구성의 동작을 제어하는 구성일 수 있다.
도 4는 본 발명의 일 실시예에 따른 정보 유출 방지 방법을 설명하기 위한 흐름도이고, 도 5는 도 4의 일부를 보다 상세히 설명하기 위한 흐름도이다.
도 4에 도시된 방법은 예를 들어, 전술한 정보 유출 모니터링 서버(300)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
먼저, 정보 유출 모니터링 서버(300)는 웹 서버(100)로부터 송수신되는 데이터 패킷을 수집하고, 수집된 전체 데이터 패킷을 기 설정된 시간 단위의 그룹으로 저장할 수 있다(S101, S103).
다음, 정보 유출 모니터링 서버(300)는 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분하고 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성하여, 상기 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 상기 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장할 수 있다(S105).
구체적으로, 정보 유출 모니터링 서버(300)는 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분할 수 있다(S201).
다음, 정보 유출 모니터링 서버(300)는 구분된 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성할 수 있다(S203).
이때, 정보 유출 모니터링 서버(300)는 식별정보를 포함하는 플로우 정보, L7 응용 계층 프로토콜, 애플리케이션 정보 및 데이터 패킷 단위 파일 내 플로우에 해당하는 데이터 패킷의 시작 정보 및 끝 정보 중 적어도 하나 이상을 포함하여 플로우 인덱스 파일을 생성할 수 있다. 이때, 데이터 패킷은 로우 패킷을 의미할 수 있다.
다음, 정보 유출 모니터링 서버(300)는 복수의 데이터 패킷 단위 파일 각각으로부터 콘텐츠 분석에 필요한 L7 응용 계층 프로토콜 정보 및 애플리케이션 정보를 추출할 수 있다(S205).
다음, 정보 유출 모니터링 서버(300)는 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 플로우 인덱스를 저장할 수 있다(S207).
이때, 데이터 패킷 단위 파일 및 플로우 인덱스 파일을 저장할 때, 정보 유출 모니터링 서버(300)는 로우 패킷을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장할 수 있다.
예를 들어, 정보 유출 모니터링 서버(300)는 세션 플로우 그룹 단위로 로우 패킷을 모아서 1분, 10분 등의 시간 단위로 압축하여 저장하는 경우, 압축 단위를 구분하기 위해 압축 단위의 시작 정보 및 끝 정보를 생성하여 저장하는 것이다. 또한, 정보 유출 모니터링 서버(300)는 상술한 압축을 해제한 상태에서 압축 단위 내 플로우의 시작 정보 및 끝 정보를 생성하여 저장할 수 있다. 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보는 압축을 해제하였을 경우, 플로우의 시작 정보 및 끝 정보를 기초로 검색하고자 하는 플로우에 대한 로우 패킷에 직접적으로 접근할 수 있도록 하기 위한 것이다.
다음, 정보 유출 모니터링 서버(300)는 플로우 인덱스 파일을 확인하여 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 페이로드 파일을 생성할 수 있다(S209).
다음, 정보 유출 모니터링 서버(300)는 생성된 상기 페이로드 파일을 기초로 L7 응용 계층 프로토콜에 따라 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 헤더 파싱 결과 파일을 생성할 수 있다(S211).
정보 유출 모니터링 서버(300)는 상술한 페이로드 파일 및 헤더 파싱 결과 파일을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장할 수 있다.
다음, 정보 유출 모니터링 서버(300)는 정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생과 같이 콘텐츠 생성이 요구되는 이벤트가 발생하는지 여부를 확인할 수 있다(S107).
단계 S107의 확인 결과, 정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생 시, 정보 유출 모니터링 서버(300)는 해당 이벤트가 발생한 시점의 플로우 기준으로 데이터 패킷 단위 파일 및 데이터 패킷 단위 파일의 로우 패킷(raw packet) 저장 정보, 페이로드 파일 저장 정보 및 헤더 파싱 결과 파일 저장 정보 중 적어도 하나 이상을 기초로 콘텐츠를 생성할 수 있다(S109).
구체적으로, 정보 유출 모니터링 서버(300)는 정보 점검 이벤트를 수신하면, 정보 유출이 감지된 시점의 플로우 기반으로 데이터 패킷 단위 파일의 로우 패킷의 저장 위치, 로우 패킷의 시작 정보 및 끝 정보, 페이로드 파일의 저장 위치, 페이로드 파일의 시작 정보 및 끝 정보, 헤더 파싱 결과 파일의 저장 위치 및 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 필요한 정보를 검색하여 콘텐츠를 생성할 수 있다.
한편, 단계 S107의 확인 결과, 콘텐츠 생성이 요구되는 이벤트가 발생하지 않은 경우, 정보 유출 방지서버(300)는 단계 S101부터 재 수행할 수 있다.
도시하지 않았지만, 정보 유출 모니터링 서버(300)는 기 설정된 정보 유출 기준과 일치하는 상황이 발생하는 경우, 정보 유출 로그를 발생시켜 사용자 단말기(미도시)로 전송할 수 있다.
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에 서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 정보 유출 방지서버(300)일 수 있다. 또한, 컴퓨팅 장치(12)는 웹 서버(100)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26, 310: 네트워크 통신 인터페이스
100: 웹 서버
300: 정보 유출 모니터링 서버
320: 데이터 수집부
330: 데이터 분석부
331: 데이터 분류 및 분석 수단
333: 페이로드 처리 수단
335: 헤더 처리 수단
340: 콘텐츠 생성부
341: 콘텐츠 생성 수단
343: 추가 콘텐츠 생성 수단
350: 정보 유출 점검부
360: 데이터베이스
370: 디스플레이
380: 제어부

Claims (20)

  1. 웹 서버와 연결되어 상기 웹 서버로부터 송수신되는 데이터 패킷을 수집하고, 수집된 전체 데이터 패킷을 기 설정된 시간 단위의 그룹으로 저장하도록 하는 데이터 수집부;
    상기 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 상기 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분하고 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성하여, 상기 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 상기 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장하도록 하는 데이터 분석부; 및
    정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생 시, 해당 이벤트가 발생한 시점의 플로우 기준으로 데이터 패킷 단위 파일 및 상기 데이터 패킷 단위 파일의 로우 패킷(raw packet) 저장 정보, 페이로드 파일 저장 정보 및 헤더 파싱 결과 파일 저장 정보 중 적어도 하나 이상을 기초로 콘텐츠를 생성하는 콘텐츠 생성부를 포함하는 정보 유출 모니터링 서버.
  2. 청구항 1에 있어서,
    상기 데이터 분석부는, 상기 데이터 패킷 단위 파일 및 상기 플로우 인덱스 파일을 저장할 때, 로우 패킷을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장하는 정보 유출 모니터링 서버.
  3. 청구항 1에 있어서,
    상기 데이터 분석부는, 상기 전체 데이터 패킷으로부터 콘텐츠 생성을 위한 분석 시 필요한 L7 응용 계층 프로토콜 정보 및 애플리케이션 정보를 추출하는 정보 유출 모니터링 서버.
  4. 청구항 3에 있어서,
    상기 데이터 분석부는, 식별정보를 포함하는 플로우 정보, 상기 L7 응용 계층 프로토콜, 상기 애플리케이션 정보 및 상기 데이터 패킷 단위 파일 내 플로우에 해당하는 데이터 패킷의 시작 정보 및 끝 정보 중 적어도 하나 이상을 포함하여 상기 플로우 인덱스 파일을 생성하는 정보 유출 모니터링 서버.
  5. 청구항 4에 있어서,
    상기 데이터 분석부는, 상기 플로우 인덱스 파일을 확인하여 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 페이로드 파일을 생성하는 정보 유출 모니터링 서버.
  6. 청구항 5에 있어서,
    상기 데이터 분석부는, 생성된 상기 페이로드 파일을 기초로 상기 L7 응용 계층 프로토콜에 따라 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 헤더 파싱 결과 파일을 생성하는 정보 유출 모니터링 서버.
  7. 청구항 1에 있어서,
    상기 데이터 분석부는, 상기 복수의 데이터 패킷 단위 파일의 개수에 해당하는 페이로드 인덱스 파일, 헤더 인덱스 파일, 페이로드 파일 및 헤더 파싱 결과 파일을 생성하는 정보 유출 모니터링 서버.
  8. 청구항 7에 있어서,
    상기 페이로드 인덱스 파일은, 식별정보를 포함하는 플로우 정보 및 상기 페이로드 파일 내 플로우에 해당하는 페이로드의 시작 정보 및 끝 정보를 포함하는 정보 유출 모니터링 서버.
  9. 청구항 7에 있어서,
    상기 헤더 인덱스 파일은, 식별정보를 포함하는 플로우 정보 및 상기 헤더 파싱 결과 파일 내 플로우에 해당하는 헤더의 시작 정보 및 끝 정보를 포함하는 정보 유출 모니터링 서버.
  10. 청구항 7에 있어서,
    상기 데이터 분석부는, 상기 페이로드 파일 및 상기 헤더 파싱 결과 파일을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장하는 정보 유출 모니터링 서버.
  11. 청구항 1에 있어서,
    상기 콘텐츠 생성부는, 상기 정보 점검 이벤트가 발생하면, 상기 정보 점검 이벤트가 감지된 시점의 플로우 기반으로 상기 데이터 패킷 단위 파일의 로우 패킷의 저장 위치, 상기 로우 패킷의 시작 정보 및 끝 정보, 페이로드 파일의 저장 위치, 상기 페이로드 파일의 시작 정보 및 끝 정보, 헤더 파싱 결과 파일의 저장 위치 및 상기 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 콘텐츠를 생성하는 정보 유출 모니터링 서버.
  12. 청구항 11에 있어서,
    상기 콘텐츠 생성부는, 상기 정보 점검 이벤트가 발생된 해당 시점의 플로우의 상기 헤더 파싱 결과 파일의 저장 위치 및 상기 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 상기 헤더 파싱 결과 파일의 메일 내용, 메일 송수신자, 메일 첨부 파일명, 메신저 내용, 메신저 송수신자 중 적어도 하나 이상의 정보를 추출하여 상기 콘텐츠를 생성하는 정보 유출 모니터링 서버.
  13. 청구항 12에 있어서,
    상기 콘텐츠 생성부는, 상기 정보 점검 이벤트가 발생된 해당 시점의 플로우의 상기 페이로드 파일의 저장 위치 및 상기 페이로드 파일의 시작 정보 및 끝 정보를 기초로 첨부파일 내용을 추가로 추출 및 포함시켜 상기 콘텐츠를 생성하는 정보 유출 모니터링 서버.
  14. 청구항 1에 있어서,
    상기 콘텐츠 생성부는, 추가 정보 점검 이벤트 발생 시, 해당 요청이 발생한 시점의 시간 또는 플로우 정보를 기초로 로우 패킷의 저장 위치, 페이로드 파일의 저장 위치 및 헤더 파싱 결과 파일의 저장 위치를 확인하여 상기 콘텐츠를 생성하는 정보 유출 모니터링 서버.
  15. 청구항 1에 있어서,
    기 설정된 정보 점검 기준과 일치하는 이벤트가 발생하는 경우, 상기 정보 점검 이벤트를 발생시켜 상기 콘텐츠 생성부로 전달하는 정보 유출 점검부를 더 포함하고,
    상기 콘텐츠 생성부는, 상기 정보 점검 이벤트를 수신하면, 기 저장된 로우 패킷, 페이로드 파일, 헤더 파싱 결과 파일 및 플로우 정보를 포함하는 각각의 인덱스 파일 중 적어도 하나 이상을 기초로 정보 점검 이벤트 발생 시점의 콘텐츠를 복원하는 정보 유출 모니터링 서버.
  16. 웹 서버로부터 송수신되는 데이터 패킷을 수집하고, 수집된 전체 데이터 패킷을 기 설정된 시간 단위의 그룹으로 저장하는 단계;
    상기 전체 데이터 패킷을 기 설정된 단위 그룹으로 분류하여 저장하되, 상기 전체 데이터 패킷을 세션에 대응되는 플로우 기준으로 구분하고 각각의 플로우의 시작 및 끝을 결정한 후 플로우 인덱스 파일을 생성하여, 상기 기 설정된 단위 그룹으로 분류된 복수의 데이터 패킷 단위 파일 및 이에 각각 매칭되는 상기 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장하는 단계; 및
    정보 점검 이벤트 또는 추가 정보 점검 이벤트 발생 시, 해당 이벤트가 발생한 시점의 플로우 기준으로 데이터 패킷 단위 파일 및 상기 데이터 패킷 단위 파일의 로우 패킷(raw packet) 저장 정보, 페이로드 파일 저장 정보 및 헤더 파싱 결과 파일 저장 정보 중 적어도 하나 이상을 기초로 콘텐츠를 생성하는 단계를 포함하는 정보 유출 방지 방법.
  17. 청구항 16에 있어서,
    상기 플로우 인덱스 파일을 생성하는 단계에서,
    식별정보를 포함하는 플로우 정보, 상기 L7 응용 계층 프로토콜, 상기 애플리케이션 정보 및 상기 데이터 패킷 단위 파일 내 플로우에 해당하는 데이터 패킷의 시작 정보 및 끝 정보 중 적어도 하나 이상을 포함하여 상기 플로우 인덱스 파일을 생성하는 정보 유출 방지 방법.
  18. 청구항 17에 있어서,
    상기 플로우 인덱스 파일을 비롯하여 데이터 패킷 분석 정보를 함께 저장하는 단계는,
    상기 플로우 인덱스 파일을 확인하여 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 페이로드 파일을 생성하는 단계; 및
    생성된 상기 페이로드 파일을 기초로 상기 L7 응용 계층 프로토콜에 따라 플로우별 복수의 데이터 패킷 단위 파일 각각에 대한 헤더 파싱 결과 파일을 생성하는 단계를 포함하는 정보 유출 방지 방법.
  19. 청구항 18에 있어서,
    상기 데이터 패킷 단위 파일 및 상기 플로우 인덱스 파일을 저장할 때, 로우 패킷을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장하고,
    상기 페이로드 파일 및 상기 헤더 파싱 결과 파일을 처리 블록 단위로 압축하여 저장하되 압축 단위의 시작 정보 및 끝 정보와 상기 압축 단위 내 플로우의 시작 정보 및 끝 정보를 포함하여 저장하는 정보 유출 방지 방법.
  20. 청구항 16에 있어서,
    상기 콘텐츠를 생성하는 단계에서,
    상기 정보 점검 이벤트를 수신하면, 정보 점검이 감지된 시점의 플로우 기반으로 상기 데이터 패킷 단위 파일의 로우 패킷의 저장 위치, 상기 로우 패킷의 시작 정보 및 끝 정보, 페이로드 파일의 저장 위치, 상기 페이로드 파일의 시작 정보 및 끝 정보, 헤더 파싱 결과 파일의 저장 위치 및 상기 헤더 파싱 결과 파일의 시작 정보 및 끝 정보를 기초로 콘텐츠를 생성하는 정보 유출 방지 방법.
KR1020210076081A 2021-06-11 2021-06-11 정보 유출 모니터링 서버 및 방법 KR102484886B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210076081A KR102484886B1 (ko) 2021-06-11 2021-06-11 정보 유출 모니터링 서버 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210076081A KR102484886B1 (ko) 2021-06-11 2021-06-11 정보 유출 모니터링 서버 및 방법

Publications (2)

Publication Number Publication Date
KR20220167034A true KR20220167034A (ko) 2022-12-20
KR102484886B1 KR102484886B1 (ko) 2023-01-06

Family

ID=84538994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210076081A KR102484886B1 (ko) 2021-06-11 2021-06-11 정보 유출 모니터링 서버 및 방법

Country Status (1)

Country Link
KR (1) KR102484886B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100040074A (ko) 2008-10-09 2010-04-19 (주)소만사 내부정보 유출 방지 방법 및 서버
KR20140145891A (ko) * 2013-06-14 2014-12-24 서울여자대학교 산학협력단 패턴 기반 개인정보 검출 방법
KR101498696B1 (ko) * 2013-04-26 2015-03-12 주식회사 넷커스터마이즈 유해 트래픽 탐지 시스템 및 방법
KR20160019397A (ko) * 2013-03-14 2016-02-19 피델리스 사이버시큐리티 인코포레이티드 네트워크 통신을 분석하기 위해 메타데이터를 추출 및 보존하기 위한 시스템 및 방법
KR20180137210A (ko) * 2017-06-16 2018-12-27 한국전자통신연구원 네트워크 트래픽 분석 장치 및 방법
KR102080478B1 (ko) * 2019-06-20 2020-02-24 주식회사 쿼드마이너 패턴 기반 색인 처리 시스템 및 이를 이용한 패턴 기반 색인 처리 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100040074A (ko) 2008-10-09 2010-04-19 (주)소만사 내부정보 유출 방지 방법 및 서버
KR20160019397A (ko) * 2013-03-14 2016-02-19 피델리스 사이버시큐리티 인코포레이티드 네트워크 통신을 분석하기 위해 메타데이터를 추출 및 보존하기 위한 시스템 및 방법
KR101498696B1 (ko) * 2013-04-26 2015-03-12 주식회사 넷커스터마이즈 유해 트래픽 탐지 시스템 및 방법
KR20140145891A (ko) * 2013-06-14 2014-12-24 서울여자대학교 산학협력단 패턴 기반 개인정보 검출 방법
KR20180137210A (ko) * 2017-06-16 2018-12-27 한국전자통신연구원 네트워크 트래픽 분석 장치 및 방법
KR102080478B1 (ko) * 2019-06-20 2020-02-24 주식회사 쿼드마이너 패턴 기반 색인 처리 시스템 및 이를 이용한 패턴 기반 색인 처리 방법

Also Published As

Publication number Publication date
KR102484886B1 (ko) 2023-01-06

Similar Documents

Publication Publication Date Title
KR101327317B1 (ko) Sap 응용 트래픽 분석 및 모니터링 장치 및 방법, 이를 이용한 정보 보호 시스템
US8199965B1 (en) System, method, and computer program product for preventing image-related data loss
CN112468520B (zh) 一种数据检测方法、装置、设备及可读存储介质
US11985142B2 (en) Method and system for determining and acting on a structured document cyber threat risk
US12003517B2 (en) Enhanced cloud infrastructure security through runtime visibility into deployed software
US20120324531A1 (en) Automatic detection of non-compliant content in user actions
CN102571767A (zh) 文件类型识别方法及文件类型识别装置
JP2007507763A (ja) 高性能のネットワーク内容解析プラットフォーム
CN104378283A (zh) 一种基于客户端/服务器模式的敏感邮件过滤系统及方法
CN105138709A (zh) 一种基于物理内存分析的远程取证系统
US20180349983A9 (en) A system for periodically updating backings for resource requests
US20230412591A1 (en) Traffic processing method and protection system
US9584549B2 (en) Image monitoring framework
KR102069142B1 (ko) 명확한 프로토콜 사양 자동 추출을 위한 장치 및 방법
Jain et al. Towards mining latent client identifiers from network traffic
KR101954620B1 (ko) 네트워크 트래픽 분석 장치 및 방법
JP2008140102A (ja) 情報処理装置及び漏洩情報判定方法及びプログラム
KR102484886B1 (ko) 정보 유출 모니터링 서버 및 방법
CN112565196A (zh) 具有网络监控能力的数据防泄漏方法、装置及存储介质
CN113347186B (zh) 反射攻击探测方法、装置和电子设备
CN114301802A (zh) 密评检测方法、装置和电子设备
CN113641999A (zh) 一种在web系统文件上传过程中的文件类型自动校验方法
KR20230000376A (ko) 인공지능을 이용한 보안관제 침입탐지 알람 처리 장치 및 방법
Kushwah et al. An approach to meta-alert generation for anomalous tcp traffic
KR20120069130A (ko) 로그 데이터에 기초한 실시간 감시 방법

Legal Events

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