KR101463873B1 - 정보 유출 차단 장치 및 방법 - Google Patents

정보 유출 차단 장치 및 방법 Download PDF

Info

Publication number
KR101463873B1
KR101463873B1 KR1020110099999A KR20110099999A KR101463873B1 KR 101463873 B1 KR101463873 B1 KR 101463873B1 KR 1020110099999 A KR1020110099999 A KR 1020110099999A KR 20110099999 A KR20110099999 A KR 20110099999A KR 101463873 B1 KR101463873 B1 KR 101463873B1
Authority
KR
South Korea
Prior art keywords
backdoor
data
behavior
transmission
analyzing
Prior art date
Application number
KR1020110099999A
Other languages
English (en)
Other versions
KR20130035600A (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 KR1020110099999A priority Critical patent/KR101463873B1/ko
Publication of KR20130035600A publication Critical patent/KR20130035600A/ko
Application granted granted Critical
Publication of KR101463873B1 publication Critical patent/KR101463873B1/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/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/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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 일 실시예에 따른 정보 유출 차단 방법은, 실행되는 적어도 하나의 프로세스의 행위를 분석하는 단계 및 상기 프로세스의 행위 분석 결과 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터 전송을 차단하는 단계를 포함한다. 정보 유출 차단 방법은 또한, 실행되는 적어도 하나의 프로세스에 대해 디지털 서명 여부를 확인한다. 따라서, 디지털 서명이 존재하지 않는 백도어 프로세스에 의해 발생되는 데이터 전송을 차단할 수 있으며, 백도어 프로세스에 의한 역방향 접속에 의한 데이터 전송을 효과적으로 차단할 수 있다.

Description

정보 유출 차단 장치 및 방법{METHOD AND APPARATUS FOR PREVENTING DATA LOSS}
본 발명은 정보 유출 차단 장치 및 방법에 관한 것으로, 더욱 상세하게는 프로세스의 행위 분석을 통해 네트워크를 통한 정보 유출을 차단하는 장치 및 방법에 관한 것이다.
과거의 윔, 바이러스와 같은 공격 기법(도구 혹은 웜 또는 바이러스를 이용하는 공격기법들)은 시스템을 침해하는 것을 목적으로 했다. 그러나 최근에는 시스템 정보의 사용 및 유출을 목적으로 하는 공격이 주를 이루고 있다. 백도어는 대상 호스트에 침입하여 관리자의 감시를 벗어나 시스템 정보를 유출하는 대표적인 도구이다.
컴퓨터 시스템(또는 암호화 시스템, 알고리즘)의 백도어(backdoor)는 일반적인 인증을 통과, 원격 접속을 보장하고 플레인텍스트(plaintext)로의 접근을 얻고 데이터를 취득하는 등의 행동을 들키지 않고 행하는 방법을 일컫는다.
백도어의 종류로는 논리 폭탄(logic bomb), 웜(worm), 트로이 목마(trojan horse) 등을 들 수 있으나, 이들처럼 악의적으로 만들어진 것 말고도, 새로 개발한 시스템을 테스트하기 위해 개발자가 삽입하는 백도어도 존재할 수 있다. 백도어는 설치된 프로그램의 형태를 취하기도 하고, 기존 프로그램 또는 하드웨어의 변형일 수도 있다.
백도어의 위협은 다중 사용자와 네트워크 운영 체제가 널리 받아들여지면서 표면화되었다. 소스 코드가 공개되지 않은 전용 소프트웨어를 사용하는 시스템 또한 백도어에 자주 노출되는 것이 현실이다. 또한, 소스 코드 수정 없이 백도어를 생성하는 것, 심지어 컴파일 후에 수정하는 것도 가능한데, 주로 컴파일러를 다시 작성하여 소스 코드를 컴파일 할 때 특정 부분에 백도어를 삽입하는 방법이 사용된다.
이와 같은 백도어를 통해 시스템 정보를 유출시키기 위해서는 공격자와 대상 호스트 간에 통신 채널이 존재해야 한다. 이러한 특성은 백도어를 탐지하는 중요한 요소로 이용되고 있다.
하지만, 특히, 희생자 컴퓨터에 심어진 백도어 프로세스로 인해 희생자 컴퓨터가 공격자에게 먼저 접속을 시도하는 역방향 연결의 경우, 데이터가 암호화되어 있는 경우라 하더라도, 기존에 제시된 기법으로는 정보의 유출을 차단하기 힘든 문제점이 있다.
상술한 문제점을 극복하기 위한 본 발명의 목적은 프로세스의 행위 분석을 통해 네트워크를 통한 정보 유출을 차단하는 방법을 제공하는 데 있다.
또한, 본 발명의 다른 목적은 프로세스의 행위 분석을 통해 네트워크를 통한 정보 유출을 차단하는 장치를 제공하는 데 있다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 정보 유출 차단 방법은, 실행되는 적어도 하나의 프로세스의 행위를 분석하는 단계 및 상기 프로세스의 행위 분석 결과 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터 전송을 차단하는 단계를 포함할 수 있다.
상기 정보 유출 차단 방법은 또한, 실행되는 적어도 하나의 프로세스에 대해 디지털 서명 여부를 확인하여, 디지털 서명이 존재하지 않는 프로세스에 의해 발생되는 데이터 전송을 차단할 수 있다.
상술한 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 정보 유출 차단 장치는, 실행되는 적어도 하나의 프로세스의 행위를 분석하는 행위 분석부 및 상기 프로세스의 행위 분석 결과 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터 전송을 차단하는 제어부를 포함할 수 있다.
상기 제어부는 실행되는 적어도 하나의 프로세스에 대해 디지털 서명 여부를 확인하여, 디지털 서명이 존재하지 않는 프로세스에 의해 발생되는 데이터 전송을 차단할 수 있다.
상술한 바와 같은 정보 유출 차단 장치 및 방법에 따르면, 백도어 프로세스에 감염된 컴퓨터가 역방향으로 공격자에게 접속하는 경우에도 효과적으로 백도어 프로세스를 탐지하여, 백도어 프로세스에 의한 데이터 전송을 차단할 수 있다.
또한, 프로세스에 대해 디지털 인증서를 이용한 서명 여부를 확인하여 백도어 프로세스라고 확인된 경우 암호화된 데이터라도 전송을 차담함으로써, 프로세스가 전송하는 패킷의 데이터를 확인하지 못하는 경우에도 백도어 프로세스를 간단히 식별해낼 수 있다.
도 1은 TCP 헤더의 개략적 구조도이다.
도 2는 본 발명의 일 실시예에 따른 정보 유출 차단 방법의 개략적 개념도이다.
도 3은 정상적인 클라이언트와 서버간의 데이터 전송 과정을 나타내는 메시지 플로우챠트이다.
도 4는 역방향 접속의 경우 희생자 컴퓨터와 공격자 간의 데이터 전송 과정을 나타내는 메시지 플로우챠트이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명의 실시예에 따른 정보 유출 방지는 네트워크를 통해 송수신되는 데이터에 대해 적용된다. 즉, 네트워크를 통한 정보 유출을 방지하기 위해서는 네트워크 상의 송수신 데이터의 특성에 대한 이해가 선행되어야 할 것이다.
따라서, 본 발명의 이해를 위해 먼저 네트워크 상에서 송수신되는 데이터의 특성에 대해 먼저 설명한다.
네트워크, 특히 인터넷 상에서 이루어지는 대부분의 데이터 전송은 TCP/IP 프로토콜을 기본으로 하여 이루어진다. 네트워크 상에서 TCP/IP 세션 설정시, 클라이언트와 서버는 패킷을 주고 받는 과정을 통하여 세션 설정을 수행한다. 클라이언트에서 접속을 요구하는 SYN 패킷을 송신하면, SYN 패킷을 수신한 서버는 SYN/ACK 패킷을 클라이언트에 보내면서 응답하고, 다시 클라이언트는 ACK 패킷을 서버로 송신하면서 세션을 수립한다. 이를 3-웨이 핸드쉐이크(3-way handshake)라고 한다. 이 과정에서 클라이언트에 SYN/ACK 패킷을 보낸 서버는 일부 자원을 할당해 놓고 클라이언트의 응답을 기다리는 대기 상태에 놓이는데, 만일 클라이언트가 응답을 보내지 않는다면, 일정 시간이 경과한 후 자원을 회수하게 된다.
도1은 TCP 헤더의 개략적 구조도이다.
도 1를 살펴보면, TCP 헤더(100)는 소스 포트(SRC), 수신지 포트(DST), 일련번호(110), 응답번호(120)를 포함하여 구성될 수 있다. TCP 헤더(100)는 또한, 'URG','ACK'(140),'PSH','PST','SYN'(130),'FIN' 등의 플래그 필드를 포함할 수 있다.
소스 포트는 출발지의 서비스 포트 번호이며 수신지 포트는 도착지의 서비스 포트 번호로서 수신측 호스트에서 프로세스나 서비스를 식별하는 필드이다.
일련번호 필드(110)는 패킷에 부여된 고유한 일련번호를 포함하며, 이 고유 번호는 처음 연결을 시도할 때 시스템에서 임의로 생성하게 되는데, 수신지 측에서 이 값을 이용하여 재구성을 할 수도 있다. 또한, 패킷이 분실되거나 지연 등으로 순서가 어긋나게 도착하는 경우 일련번호(110)를 이용하여 데이터를 올바르게 재배열할 수 있다. 응답번호(120) 필드는 패킷의 전송시와 재조립시에 사용되는데, 수신된 일련번호에 대하여 예상된 다음 옥텟을 명시한다.
이어서, 'URG', 'ACK'(140), 'PSH', 'PST', 'SYN'(130), 'FIN'으로 이루어진 플래그 필드는 세션이 수행되는 도중에 사용되는 서비스와 오퍼레이션을 명시한다.
URG 플래그는 긴급상황발생시 사용되는 플래그이고, ACK(140) 플래그는 데이터가 제대로 전송되었는지 여부를 알려주는 플래그이다. PSH 플래그는 해당 세그먼트의 데이터가 즉각 상위 응용프로그램에 전달되어야 함을 나타내고, RST는 접속의 재설정을 요구하는 플래그이다. SYN(130) 플래그는 세션 수립을 제의하는 플래그인데, 초기에 클라이언트에서 서버로 세션을 요청하는 패킷을 전송할 때 상기 SYN(130) 플래그의 값이 '1'로 설정된다.
FIN은 양방향 통신 중 한 쪽에서 접속을 종료하면, 해당 방향으로의 데이터 흐름이 종료되었음을 나타내는 필드이다.
본 발명은 도 1에서 설명한 바와 같은 구조를 가지는 패킷을 통해 데이터의 전송이 이루어지는 네트워크에서 백도어 프로세스를 이용한 악의적 공격자에 의한 정보 유출을 차단하는 방법을 제시한다.
도 2는 본 발명의 일 실시예에 따른 정보 유출 차단 방법의 개략적 개념도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 정보 유출 차단 방법은 크게 세 가지 실시예를 사용하여 네트워크를 통한 악의적 공격자의 정보 유출을 차단한다.
본 발명의 정보 유출 차단 방법의 제1 실시예는, 파일에 접속하는 프로세스의 파일 사용 유형을 확인하는 방법이다. 예를 들어, 컴퓨터가 일반적인 사무용 컴퓨터인 경우 주로 사용하는 프로세스(예를 들어, 검색 엔진, 메일 서버 등에 의해 발생하는 프로세스)에 의한 파일의 전송은 해당 컴퓨터의 통상적이고 정상적인 동작으로 판단하고, 해당 컴퓨터의 파일에 접속하는 프로세스를 허용하는 방식이다. 이를 위해 해당 컴퓨터는 평소 사용자의 사용 이력을 관리하여 비정상적인 프로세스에 의한 파일 유출을 차단할 수 있다. 즉, 해당 컴퓨터는 평소 트래픽을 생시키는 프로세스는 어떠한 것들이 있는지 목록을 생성하여 관리할 수 있다. 해당 컴퓨터는 또한, 프로세스들 중 해당 컴퓨터가 저장하고 있는 파일에 대해 접근을 시도하는 프로세스는 어떠한 것들이 있는지 목록을 생성하여 관리할 수 있다.
본 발명의 정보 유출 차단 방법의 제2 실시예는, 프로세스에 디지털 서명이 되어 있는지 확인하는 방법이다.
디지털 서명은 도 2에 도시된 바와 같은 인증서 정보를 갖는데, 인증서 정보는 인증서의 용도, 발급 대상, 발급자, 유효 기간 등의 정보를 포함할 수 있다.
디지털 서명은 전자 서명의 한 형태로, 전자 서명은 전자 문서나 메시지를 보낸 사람의 신원이 진짜임을 증명하기 위해 디지털 형태로 생성하여 첨부하는 정보를 지칭하는 용어이다. 또한 전달된 메시지나 문서의 원래 내용이 변조되지 않았다는 것을 보증하기 위해 사용될 수도 있다. 전자 서명을 사용함으로써 얻어질 수 있는 부가적인 이득은, 전자 서명을 쉽게 전송할 수 있고, 쉽게 부인할 수 없으며, 다른 사람이 모방할 수 없고, 디지털 시간 인증(time-stamping)을 자동으로 유지 할 수 있다는 점 등이다. 전자 서명은 그것이 암호화되었든 아니든 상관없이 어떠한 종류의 메시지에도 사용할 수 있으므로, 메시지가 변조되지 않고 온전히 도착했다는 사실과 송신자의 신원에 대해 수신 측에서 확신을 가질 수 있다.
도 2에 도시된 바와 같은 형태의 디지털 인증서(digital certificate)에 인증서 발급 기관의 전자 서명을 담아 누구라도 그 인증서가 진짜임을 확인할 수 있다.
전자서명은 송신자가 작성한 전자문서 자체를 암호화하는 것이 아니므로 제3자가 문서내용을 열람하는 데에는 아무런 장애가 없다. 다만 그 전자서명에 작성자로 기재된 자가 그 전자문서를 작성하였다는 사실과 작성내용이 송수신 과정에서 위조 또는 변조되지 않았다는 사실을 증명하고, 작성자가 그 전자문서 작성사실을 나중에 부인할 수 없게 하는 역할을 한다. 즉, 디지털 서명은 데이터의 암호화와는 무관한 것으로 볼 수 있다.
본 발명에서는 디지털 서명의 이러한 특성을 이용한다. 즉, 본 발명은 악의적인 의도를 가진 공격자가 발생시킨 프로세스라면 프로세스에 자신을 드러내는 디지털 서명을 할 가능성은 거의 없다는 점에 착안한다. 따라서, 본 발명의 정보 유출 차단 방법의 제2 실시예는 우선 프로세스가 파일을 여는지 감시하고, 파일 전송을 시도하는 프로세스에 디지털 서명이 되어 있는지 확인하여, 프로세스의 발급 주체가 명확하도록 디지털 서명이 이루어진 프로세스에 대해서만 데이터 반출을 허용한다.
이어서, 본 발명의 정보 유출 차단 방법의 제3 실시예는, 어떤 프로세스에 의해 해당 컴퓨터로부터 외부로 전송되는 패킷을 모니터링하여 불법 데이터 전송에 따른 정보 유출이 발생하는지 확인하는 방법이다. 패킷을 모니터링하는 방법은 특히 공격자에 의한 역방향 접속에 대해 특히 유용한 방법으로, 관련한 세부사항들은 이하 도 4를 통해 설명하도록 한다.
본 발명에 따른 정보 유출 차단 방법의 제1 내지 제3 실시예는 각각 개별적으로 수행될 수도 있고, 순차적으로 혹시 동시에 병렬적으로 적어도 하나 이상의 실시예가 수행될 수 있다 할 것이다. 세 가지 실시예를 모두 사용하는 경우, 악의적 공격자가 발생시킨 프로세스에 의한 데이터 유출 차단의 효과는 더욱 증대된다 할 것이다.
본 발명의 정보 유출 차단 방법의 제3 실시예를 보다 구체적으로 살펴보기 위해, 먼저 정상적인 클라이언트와 서버 간의 데이터 전송 과정에 대해 살펴본다.
도 3은 정상적인 클라이언트와 서버간의 데이터 전송 과정을 나타내는 메시지 플로우챠트이다.
도 3을 참조하면, 단계 S301 내지 단계 S303을 통해 TCP/IP 세션 설정시의 3-웨이 핸드쉐이크 과정을 확인할 수 있다. 즉, 클라이언트가 SYN 패킷을 서버에 전송하면(S301), 서버가 이에 대한 응답으로 SYN/ACK 패킷을 클라이언트에 전송한다(S302). 이후 클라이언트가 ACK 패킷을 서버에 전송함(S303)으로써 클라이언트와 서버간에 세션 연결이 설정된다.
좀더 구체적으로 살펴보자면, TCP/IP 세션을 설정하기 위하여, 정상적인 클라이언트가 서버에 세션을 제의하는 패킷을 송신하여 접속을 요청할 때(S301), 패킷의 플래그가 SYN(130)으로 설정되고, 임의로 일련번호를 생성하여 SYN 패킷의 헤더에 포함시켜 서버로 전송하게 된다. 서버는 SYN 패킷을 수신하고 응답의 일환으로, 버퍼에 자원을 할당하고 SYN/ACK패킷을 클라이언트로 전달한다(S302).
도 3을 통해 살펴본 바와 같이 정상적인 세션 연결 종류의 경우라면 클라이언트에서 서버로 SYN 패킷을 전송하여 TCP 세션 연결 요청을 하고, 서버가 이에 대한 응답으로 SYN/ACK 패킷을 전송하면 클라이언트는 서버로 ACK 패킷을 전송하여 TCP 3-Way Handshaking 과정을 수행함으로써 세션 연결 설정을 완료한다.
한편 참고적으로, 클라이언트가 DDoS 공격에 이용되는 좀비 PC로 변질된 경우에는 클라이언트가 서버로부터 SYN/ACK 패킷을 수신한 후 연결 설정을 위한 ACK 패킷을 전송하는 대신 Reset 패킷을 보내 세션 연결이 비정상적으로 종료할 것이다.
단계 S301 내지 단계 S303을 통해 살펴본 바와 같이, 3-웨이 핸드쉐이크 과정을 거쳐 클라이언트와 서버 간에 TCP 세션 연결 설정이 완료되면, 클라이언트는 서버로 데이터 요청(Data Request) 메시지를 전송하고(S304), 서버로부터 이에 대한 응답을 수신한다(S305). 대표적인 데이터 요구 메시지로는 HTTP Get Request 메시지를 들 수 있다.
여기서, 클라이언트가 서버로 데이터 요청 메시지를 송신한 시점부터 서버가 해당 데이터 요청 메시지를 수신하기까지는 물리적인 전송 지연 시간(Td)이 소요된다. 마찬가지로, 서버가 전송하는 응답 메시지가 클라이언트에게 도착하기까지 전송 지연 시간(Td)이 소요된다. 유선 네트워크의 특성상 두 전송 지연 시간은 동일한 시간 길이를 가진다고 가정할 수 있지만, 네트워크에 혼잡이 발생하는 등의 비정상적인 경우에는 클라이언트부터 서버까지의 전송 지연 시간과 서버로부터 클라이언트까지의 전송 시간이 다를 수도 있다.
서버로부터 응답을 수신한 클라이언트는 서버의 응답을 확인하고, 추가적으로 데이터 전송을 요청(S306)할 수 있다. 이때, 클라이언트가 서버로부터 응답을 수신하고, 다른 데이터 전송 요청시까지 걸리는 시간을 Tn이라 하자. 이 경우, 클라이언트로부터의 추가적인 데이터 전송 요청에는 클라이언트 컴퓨터를 사용하는 인간, 즉 사용자의 의사 판단 및 서버로의 접속 의도가 개입되는 경우가 보통이다. 따라서, 시간 Td는 자동으로 프로그램되어 실행되는 일련의 동작들 간의 시간, 예를 들어, CPU 처리(processing) 시간보다는 길다 할 것이다.
본 발명에서는, 도 3에서 살펴본 정상적인 클라이언트와 서버 간의 데이터 송수신 동작의 특성을 참조하여, 백도어 프로세스에 감염된 희생자 컴퓨터의 특이 특성을 감지한다.
이하에서는, 백도어 프로세스에 감염된 희생자 컴퓨터가 공격자에게 역방향으로 접속하는 경우의 희생자와 공격자 간의 데이터 전송 형태에 대해 살펴보기로 한다.
도 4는 역방향 접속의 경우 희생자 컴퓨터와 공격자 간의 데이터 전송 과정을 나타내는 메시지 플로우챠트이다.
도 4에서의 세션 연결 과정은, 도 3을 통해 살펴본 바와 같이 정상적인 세션 연결 과정과 유사하다.
희생자 컴퓨터가 백도어 프로세스에 감염되면, 희생자 컴퓨터에서 실행되는 백도어 프로세스가 먼저 서버로 SYN 패킷을 전송하여 TCP 세션 연결을 요청한다(S401). 공격자는 이에 대한 응답으로 SYN/ACK 패킷을 전송한다(S402). 이후, 희생자 컴퓨터가 공격자로 ACK 패킷을 전송하면(S403), TCP 3-웨이 핸드쉐이킹 과정에 의한 세션 연결 설정이 완료된다.
도 4에 도시된 바와 같은 세션 연결 설정의 경우, 공격자가 먼저 희생자 컴퓨터에 접속하는 것이 아니고, 희생자 컴퓨터가 공격자에게 먼저 접속하는 경우이다. 따라서, 희생자 컴퓨터에 방화벽이 설치되어 있다거나 전송하는 데이터가 암호화되어 있다 하더라도 희생자 컴퓨터가 공격자에게 데이터를 전송하는 것을 막을 수 없다.
즉, 공격자가 희생자 컴퓨터로 데이터 전송을 요청하면(S404), 희생자 컴퓨터에서 실행되는 백도어 프로세스에 의해 관련 데이터의 유출(S405)이 즉시 이루어지는 구조이다. 이는, 희생자 컴퓨터에 심어진 백도어 프로세스가 공격자에게 먼저 접속하였기 때문에 희생자 컴퓨터에 설치된 어떤 방화벽도 쓸모가 없기 때문이다.
본 발명에서는 백도어 프로세스에 감염된 희생자 컴퓨터의 경우, 공격자에 의해 데이터 전송을 요청받은 경우, 희생자 컴퓨터의 사용자, 즉 인간의 의사 개입이 없이 백도어 프로세스에 의해 곧바로 해당 데이터의 전송이 이루어진다는 점에 주목한다. 즉, 이 경우의 소요 시간 Tb는 인간의 의사 개입이 없이 일반적으로 CPU 처리 시간만 소요되므로, 도 3에서 살펴본 정상적인 경우의 소요 시간 Tn과는 차이가 있다 할 것이다.
따라서, 본 발명에서는 외부로부터의 데이터 전송 요청에 대한 응답 시간이 정상적인 패킷 데이터 전송 유형의 경우보다 긴 경우, 해당 프로세스에 의해 이루어지는 데이터 전송은 비정상, 특히, 백도어 프로세스에 이루어지는 데이터 전송으로 판단하고, 데이터 전송 중에 전송을 중단하는 등의 조치를 취하게 된다.
도 1 내지 도 4를 통해 살펴본 본 발명은 아래와 같이 정리될 수 있다.
본 발명의 일 측면에 따른 정보 유출 차단 방법은, 실행되는 적어도 하나의 프로세스의 행위를 분석하는 단계 및 상기 프로세스의 행위 분석 결과 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터 전송을 차단하는 단계를 포함할 수 있다.
본 발명의 다른 측면에 따른 정보 유출 차단 방법은 또한, 실행되는 적어도 하나의 프로세스가 파일을 여는지 감시하고, 파일을 열고자 시도하는 프로세스에 대해 디지털 서명 여부를 확인하여, 디지털 서명이 존재하지 않는 프로세스에 의해 발생되는 데이터 전송을 차단할 수 있다.
본 발명의 또 다른 측면에 따른 정보 유출 차단 장치는, 실행되는 적어도 하나의 프로세스의 행위를 분석하는 행위 분석부 및 행위 분석부의 프로세스의 행위 분석 결과, 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터 전송을 차단하는 제어부를 포함할 수 있다. 본 발명의 바람직한 일 실시예에 따르면 정보 유출 차단 장치는 사용자 컴퓨터(310) 내에 위치하여 백도어 프로세스를 탐지하고 정보 유출 동작을 차단한다.
여기서, 제어부는 실행되는 적어도 하나의 프로세스에 대해 디지털 서명 여부를 확인하여, 디지털 서명이 존재하지 않는 프로세스에 의해 발생되는 데이터 전송을 차단할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
300 : 클라이언트 400 : 서버
310 : 희생자 410 : 공격자

Claims (15)

  1. 단말에서 실행되는 적어도 하나의 프로세스의 패킷 데이터 전송에 소요되는 시간 및 상기 프로세스의 행위를 분석하는 단계; 및
    상기 소요되는 시간을 미리 설정된 기준 시간값과 비교한 결과 및 상기 프로세스의 행위 분석 결과 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터의 외부 전송을 차단하는 단계를 포함하고,
    상기 백도어 프로세스는 상기 적어도 하나의 프로세스가 동작하는 장치에 침입하여 동작하는 프로세스인 것을 특징으로 하는, 정보 유출 차단 방법.
  2. 청구항 1에 있어서,
    상기 프로세스의 행위를 분석하는 단계는,
    외부로부터의 데이터 요청을 수신하는 시점으로부터 프로세스가 상기 데이터 요청에 응답하여 데이터를 외부로 전송하는 시점까지의 응답 소요 시간을 산출하는 단계; 및
    상기 응답 소요 시간이 정상적인 패킷 데이터 전송에 소요되는 시간인 미리 설정된 제1 응답 소요 시간보다 긴 경우 상기 프로세스를 백도어 프로세스로 판단하는 단계를 포함하는, 정보 유출 차단 방법.
  3. 청구항 2에 있어서,
    상기 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터의 외부 전송을 차단하는 단계는,
    상기 응답 소요 시간에 따라 백도어 프로세스로 판단된 프로세스로부터 발생되는 데이터의 외부 전송을 차단하는 단계를 포함하는, 정보 유출 차단 방법.
  4. 청구항 1에 있어서,
    상기 프로세스의 행위를 분석하는 단계는,
    실행되는 각 프로세스가 이력 프로세스 목록에 포함되는지 검토하는 단계를 포함하는, 정보 유출 차단 방법.
  5. 청구항 4에 있어서,
    상기 이력 프로세스 목록은,
    과거에 트래픽을 생성시킨 프로세스 및 파일에 접근을 시도한 프로세스 중 하나 이상을 포함하는, 정보 유출 차단 방법.
  6. 청구항 4에 있어서,
    상기 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터의 외부 전송을 차단하는 단계는,
    상기 이력 프로세스 목록에 포함되지 않는 프로세스의 데이터 전송을 차단하는 단계를 포함하는, 정보 유출 차단 방법.
  7. 청구항 1에 있어서,
    상기 프로세스의 행위를 분석하는 단계는,
    프로세스가 파일을 여는지 감시하는 단계; 및
    외부로의 파일 전송을 시도하는 상기 프로세스에 디지털 서명이 되어 있는지 확인하는 단계를 포함하는, 정보 유출 차단 방법.
  8. 청구항 7에 있어서,
    상기 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터의 외부 전송을 차단하는 단계는,
    디지털 서명이 되어 있지 않은 상기 프로세스에 의해 발생된 데이터의 외부 전송을 차단하는 단계를 포함하는, 정보 유출 차단 방법.
  9. 단말에서 실행되는 적어도 하나의 프로세스의 패킷 데이터 전송에 소요되는 시간 및 상기 프로세스의 행위를 분석하는 행위 분석부; 및
    상기 소요되는 시간을 미리 설정된 기준 시간값과 비교한 결과 및 상기 프로세스의 행위 분석 결과 백도어 프로세스로 판단된 프로세스에 의해 발생된 데이터 전송을 차단하는 제어부를 포함하고,
    상기 제어부는 실행되는 적어도 하나의 프로세스에 대해 디지털 서명 여부를 확인하여, 디지털 서명이 존재하지 않는 프로세스에 의해 발생되는 데이터 전송을 차단하는 것을 특징으로 하는, 정보 유출 차단 장치.
  10. 청구항 9에 있어서,
    상기 행위 분석부는,
    외부로부터의 데이터 요청을 수신하는 시점으로부터 프로세스가 데이터 요청에 응답하여 데이터를 외부로 전송하는 시점까지의 응답 소요 시간을 산출하고, 상기 응답 소요 시간이 정상적인 패킷 데이터 전송에 소요되는 시간인 미리 설정된 제1 응답 소요 시간보다 긴 경우 상기 프로세스를 백도어 프로세스로 판단하는, 정보 유출 차단 장치.
  11. 청구항 10에 있어서,
    상기 제어부는,
    상기 백도어 프로세스로 판단된 프로세스에 의해 발생되는 데이터의 외부 전송을 차단하는 것을 특징으로 하는, 정보 유출 차단 장치.
  12. 청구항 9에 있어서,
    상기 행위 분석부는 실행되는 각 프로세스가 이력 프로세스 목록에 포함되는지 검토하고, 상기 제어부는 상기 이력 프로세스 목록에 포함되지 않는 프로세스의 데이터 전송을 차단하는 것을 특징으로 하는, 정보 유출 차단 장치.
  13. 청구항 12에 있어서,
    상기 이력 프로세스 목록은,
    평소 트래픽을 생성시킨 프로세스 및 파일에 접근을 시도한 프로세스 중 하나 이상을 포함하는, 정보 유출 차단 장치.
  14. 청구항 9에 있어서,
    상기 행위 분석부는,
    프로세스가 파일을 여는지 감시하고 상기 파일 전송을 시도하는 프로세스에 디지털 서명이 되어 있는지 확인하여, 디지털 서명이 존재하지 않는 프로세스를 백도어 프로세스로 판단하는 것을 특징으로 하는, 정보 유출 차단 장치.
  15. 청구항 14에 있어서,
    상기 제어부는 디지털 서명이 존재하지 않는 프로세스에 의해 발생되는 데이터 전송을 차단하는 것을 특징으로 하는, 정보 유출 차단 장치.
KR1020110099999A 2011-09-30 2011-09-30 정보 유출 차단 장치 및 방법 KR101463873B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110099999A KR101463873B1 (ko) 2011-09-30 2011-09-30 정보 유출 차단 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110099999A KR101463873B1 (ko) 2011-09-30 2011-09-30 정보 유출 차단 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130035600A KR20130035600A (ko) 2013-04-09
KR101463873B1 true KR101463873B1 (ko) 2014-11-20

Family

ID=48437391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110099999A KR101463873B1 (ko) 2011-09-30 2011-09-30 정보 유출 차단 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101463873B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639428B1 (ko) 2015-04-29 2016-07-13 한전케이디엔 주식회사 보드기반 단방향 통신제어 시스템

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101482886B1 (ko) * 2013-11-13 2015-01-15 닉스테크 주식회사 파일 태깅을 이용한 정보 유출 방지 방법 및 장치
KR101636805B1 (ko) * 2016-04-18 2016-07-08 (주)지란지교소프트 악의적인 파일 유출 방지 방법
CN108616538A (zh) * 2018-04-28 2018-10-02 北京网思科平科技有限公司 攻击者信息收集方法、系统、终端、服务器及其存储介质
CN111898158B (zh) * 2020-07-23 2023-09-26 百望股份有限公司 一种ofd文档的加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100054940A (ko) * 2008-11-17 2010-05-26 포항공과대학교 산학협력단 임베디드 리눅스에서 서명 검증 방식을 이용한 악성 프로그램 차단 장치 및 방법
KR20100089245A (ko) * 2009-02-03 2010-08-12 주식회사 안철수연구소 의심스러운 행위의 수준별 분류 및 격리 실행을 통한 악성 코드 사전 대응 장치, 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
KR20110004935A (ko) * 2009-07-09 2011-01-17 한국전자통신연구원 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100054940A (ko) * 2008-11-17 2010-05-26 포항공과대학교 산학협력단 임베디드 리눅스에서 서명 검증 방식을 이용한 악성 프로그램 차단 장치 및 방법
KR20100089245A (ko) * 2009-02-03 2010-08-12 주식회사 안철수연구소 의심스러운 행위의 수준별 분류 및 격리 실행을 통한 악성 코드 사전 대응 장치, 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
KR20110004935A (ko) * 2009-07-09 2011-01-17 한국전자통신연구원 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639428B1 (ko) 2015-04-29 2016-07-13 한전케이디엔 주식회사 보드기반 단방향 통신제어 시스템

Also Published As

Publication number Publication date
KR20130035600A (ko) 2013-04-09

Similar Documents

Publication Publication Date Title
KR101095447B1 (ko) 분산 서비스 거부 공격 차단 장치 및 방법
CN108429730B (zh) 无反馈安全认证与访问控制方法
US8904558B2 (en) Detecting web browser based attacks using browser digest compute tests using digest code provided by a remote source
US8453208B2 (en) Network authentication method, method for client to request authentication, client, and device
US7313618B2 (en) Network architecture using firewalls
US9843590B1 (en) Method and apparatus for causing a delay in processing requests for internet resources received from client devices
JP2009543163A (ja) ソフトウェア脆弱性悪用防止シールド
CN110198297B (zh) 流量数据监控方法、装置、电子设备及计算机可读介质
JP7388613B2 (ja) パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体
RU2641233C2 (ru) Способ, устройство и машиночитаемый носитель данных для зависящей от приложения фильтрации пакетов протокола передачи файлов
TW201600999A (zh) 基於信譽之用於加密通道的網路安全技術
JP2009044664A (ja) 通信装置を制御するプログラム及び通信装置
KR101463873B1 (ko) 정보 유출 차단 장치 및 방법
CN114598540A (zh) 访问控制系统、方法、装置及存储介质
CN115087977A (zh) 防止恶意自动化攻击的方法和系统
CN115603932A (zh) 一种访问控制方法、访问控制系统及相关设备
KR101020470B1 (ko) 네트워크 침입차단 방법 및 장치
US11102239B1 (en) Client device identification on a network
JP7222260B2 (ja) 試験装置
KR101881279B1 (ko) 보안 소켓 계층 통신을 이용하는 패킷을 검사하는 방법
KR20170096780A (ko) 침해사고 정보 연동 시스템 및 방법
KR101881278B1 (ko) 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법
KR101375840B1 (ko) 악성코드 침입 방지시스템 및 악성코드 침입 방지시스템의 동작 방법
US20160337402A1 (en) Method of slowing down a communication in a network
JP2017195432A (ja) 試験装置、試験方法および試験プログラム

Legal Events

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