KR101020470B1 - 네트워크 침입차단 방법 및 장치 - Google Patents

네트워크 침입차단 방법 및 장치 Download PDF

Info

Publication number
KR101020470B1
KR101020470B1 KR1020100094290A KR20100094290A KR101020470B1 KR 101020470 B1 KR101020470 B1 KR 101020470B1 KR 1020100094290 A KR1020100094290 A KR 1020100094290A KR 20100094290 A KR20100094290 A KR 20100094290A KR 101020470 B1 KR101020470 B1 KR 101020470B1
Authority
KR
South Korea
Prior art keywords
packet
header
server
client
syn
Prior art date
Application number
KR1020100094290A
Other languages
English (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 주식회사 엔피코어
Priority to KR1020100094290A priority Critical patent/KR101020470B1/ko
Application granted granted Critical
Publication of KR101020470B1 publication Critical patent/KR101020470B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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

본 발명은 네트워크 침입차단 방법 및 장치를 제공한다. 클라이언트와 서버와의 통신을 위한 세션의 수립이 요구되는 통신 네트워크상의 침입차단 방법은, 클라이언트에서 서버로 통신 세션의 수립을 요청함에 있어서, 세션 수립요청 패킷의 헤더의 정보를 이용한 암호키를 생성하여 상기 패킷의 헤더에 포함하는 암호키생성 단계, 클라이언트에서 상기 암호키를 포함하는 상기 패킷을 서버로 전송하는 단계, 서버단에서 클라이언트로부터 전송되는 세션 수립요청 패킷의 탐지 및 수신단계, 상기 세션 수립요청 패킷의 헤더의 정보를 이용하여 상기 패킷의 헤더에 포함된 암호키를 해독하여 정당한 클라이언트로부터 보내진 정당한 패킷인지 여부를 판단하는 인증단계 상기 인증단계에서 정당한 패킷이라고 판단한 경우 상기 인증단계를 거친 패킷을 서버로 전달하는 단계 및 상기 인증단계에서 정당한 패킷이 아니라고 판단한 경우 패킷을 서버로 전달하지 않고 폐기하는 단계를 포함하여 구성된다.

Description

네트워크 침입차단 방법 및 장치{Methods and Apparatus For Blocking Network Intrusion}
본 발명은 네트워크 침입차단 방법 및 장치에 관한 것으로, 더욱 상세하게는 네트워크상의 클라이언트와 서버간에 통신 세션 수립을 위해 송수신 되는 패킷의 정보를 이용하여 네트워크 내부로의 불법적인 침입을 탐지하고 이를 차단하기 위한 네트워크 침입차단 방법 및 장치에 관한 것이다.
인터넷 및 네트워크 기술의 발달로 네트워크 보안은 점점 더 중요해지고 있으며, 특히 모든 정보가 컴퓨터에 저장되고 컴퓨팅 환경 또한 다양하고 복잡해지면서 컴퓨터 내의 정보를 보호하는 일이 급선무가 되고 있다. 내부 통신망에 인가받지 않은 불법사용자들이 접근하게 되면 내부의 컴퓨터 자원을 교란하거나 중요한 정보들을 불법으로 외부에 유출하게 되는데, 이는 네트워크의 발달로 인하여 그 방법도 다양해지고 피해 규모도 커지고 있다.
특히 최근에 많은 문제가 되고 있는 분산서비스거부(DDoS:Distributed Denial of Service) 공격은 여러 대의 컴퓨터를 동시에 동작하게 하여 특정 서버에 과도한 부하를 유발하게 한다. 이는 해커가 DDoS 공격 프로그램을 여러 컴퓨터에 악의적으로 배포한 후, 엄청난 양의 패킷을 동시에 한 서버에 전송함으로써 해당 서버의 자원을 고갈시켜서 다른 클라이언트가 서버로부터 정상적인 서비스를 받지 못하게 하거나 서버를 다운시켜서 서버의 기능을 마비시키는 악의적인 공격이다. 이러한 DDoS공격은 주로 가장 흔한 네트워크 프로토콜인 TCP/IP 통신환경에서 발생한다.
DDoS공격에 대응하기 위한 종래의 기술은 DDoS공격패턴을 탐지하여 차단하거나 네트워크 또는 서버단에서 트래픽을 분석하여 제한하는 방법을 사용한다. 그러나 이러한 방법들은 새로운 공격패턴에 취약하고, 정상적인 사용자의 트래픽을 제한할 수 있고, 지속적으로 트래픽을 모니터링하면서 분석해야하므로 트래픽의 양이 증가하는 경우 서버 및 네트워크에 상당한 부하가 걸리는 문제가 있다.
상기와 같은 문제점을 해결하기 위하여 본 발명의 목적은 정상적인 클라이언트의 접속요청만을 서버에 전달하고 비정상적인 클라이언트에 의한 접속요청은 차단함으로써 서버 및 네트워크에 부담을 주지않으면서도 불법적인 사용자의 침입 및 분산서비스거부공격을 사전에 차단할 수 있는 네트워크 침입차단 방법을 제공한다.
상기와 같은 문제점을 해결하기 위하여 본 발명의 또 다른 목적은 정상적인 클라이언트의 접속요청만을 서버에 전달하고 비정상적인 클라이언트에 의한 접속요청은 차단함으로써 서버 및 네트워크에 부담을 주지않으면서도 불법적인 사용자의 침입 및 분산서비스거부공격을 사전에 차단할 수 있는 네트워크 침입차단 장치를 제공한다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 네트워크 침입차단 방법에 있어서, 클라이언트에서 서버로 통신 세션의 수립을 요청함에 있어서, 세션 수립요청 패킷의 헤더의 정보를 이용한 암호키를 생성하여 상기 패킷의 헤더에 포함하는 암호키생성 단계, 클라이언트에서 상기 암호키를 포함하는 상기 패킷을 서버로 전송하는 단계, 서버단에서 클라이언트로부터 전송되는 세션 수립요청 패킷의 탐지 및 수신단계, 상기 세션 수립요청 패킷의 헤더의 정보를 이용하여 상기 패킷의 헤더에 포함된 암호키를 해독하여 정당한 클라이언트로부터 보내진 정당한 패킷인지 여부를 판단하는 인증단계, 상기 인증단계에서 정당한 패킷이라고 판단한 경우 상기 인증단계를 거친 패킷을 서버로 전달하는 단계 및 상기 인증단계에서 정당한 패킷이 아니라고 판단한 경우 패킷을 서버로 전달하지 않고 폐기하는 단계를 포함하는 방법이 제공된다.
여기에서, 상기 세션 수립요청 패킷의 탐지 및 수신단계는 클라이언트로부터 전송된 패킷이 SYN 패킷인지 여부를 판단하는 단계와 상기 패킷이 SYN 패킷이 아닌 경우 상기 패킷을 그대로 서버로 전달하고 인증작업을 종료하는 단계를 포함한다.
여기에서, 상기 암호키생성단계는 상기 패킷의 헤더의 일련번호를 이용하여 해쉬연산을 수행하여 인증해쉬값을 생성한 후 상기 패킷의 헤더의 응답번호필드에 넣는 것을 특징으로 하고, 상기 인증단계는 상기 클라이언트로부터 수신한 패킷의 헤더의 일련 번호를 이용한 해쉬연산을 통한 검증해쉬값을 생성하여, 검증해쉬값과 상기 패킷의 헤더의 응답번호가 동일하면 정당한 클라이언트로부터 온 정당한 패킷이라고 판단하고 상기 패킷의 헤더의 응답번호 필드를 0으로 재설정하는 것을 특징으로 한다.
여기에서, 상기 통신 세션은 TCP/IP 통신 세션이고 패킷의 헤더는 TCP 헤더인 것을 특징으로 한다.
또한 상술한 본 발명의 또 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 네트워크 침입차단 장치 있어서, 클라이언트로부터 보내진 세션 수립요청 패킷을 탐지하는 패킷탐지부, 상기 패킷탐지부에서 세션 수립요청 패킷을 탐지한 경우, 상기 패킷의 헤더 내의 정보를 이용하여 상기 패킷의 헤더에 포함된 암호키를 해독하여 정당한 클라이언트로부터 온 정당한 패킷인지 여부를 판단하는 인증부 및 상기 인증부에서 상기 패킷을 정당한 패킷으로 판단한 경우 상기 인증부를 거친 패킷을 서버로 전달하고, 그렇지 않으면 상기 패킷을 폐기하는 패킷처리부를 포함하는 장치가 제공된다.
여기에서, 상기 패킷탐지부는 상기 패킷이 SYN 패킷인지 여부를 판단하여, SYN 패킷이 아닌 경우 상기 패킷을 그대로 서버로 전달하고 인증작업을 종료하는 것을 특징으로 한다.
여기에서, 상기 인증부는 상기 패킷의 헤더의 일련 번호를 이용한 해쉬연산을 수행하여 검증해쉬값을 생성하는 해쉬연산부, 상기 검증해쉬값과 상기 패킷 헤더의 응답번호를 비교하여 동일하면 정당한 패킷으로 판단하여 상기 패킷 헤더의 응답번호 필드를 0으로 재설정하고, 동일하지 않으면 정당한 패킷이 아니라고 판단하는 판단부를 포함하는 것을 특징으로 한다.
여기에서, 상기 정당한 패킷이란 클라이언트에서 TCP/IP세션을 요청하는 SYN패킷을 전송하는 경우, 클라이언트 단에서 상기 패킷의 헤더의 일련번호를 이용하여 인증해쉬값을 생성하고, 상기 인증해쉬값을 상기 패킷의 헤더의 응답번호필드에 넣어서 전송한 패킷인 것을 특징으로 한다.
또한 네트워크 침입차단을 위한 사용자 단말장치에 있어서, 클라이언트에서 서버로 TCP/IP 세션의 수립을 요청하는 SYN 패킷을 전송시, 상기 SYN 패킷의 TCP 헤더의 일련번호를 이용한 해쉬연산을 수행하여 인증해쉬값을 생성하여 상기 패킷 헤더의 응답번호필드에 넣는 암호키 생성부 및 상기 암호키를 포함하는 상기 SYN 패킷을 서버로 전송하는 전송부를 포함하는 것을 특징으로 하는 네트워크 침입차단을 위한 사용자 단말장치가 제공된다.
상술한 바와 같이 본 발명에 따른 네트워크 침입차단 방법 및 장치에 따르면, 클라이언트에서 서버로 접속을 요청하는 패킷에 대한 인증작업을 통하여 인증받지 못한 패킷은 아예 서버에 전달되지 못하게 함으로서 불법 사용자의 침입을 사전에 차단할 수 있다.
특히, 불법적인 패킷을 초기단계에 차단함으로써 분산서비스거부공격시 서버가 다수의 클라이언트에게 자원을 할당한 채로 반 개방 상태가 되어 클라이언트의 응답을 기다리면서 서버자원이 고갈되는 것을 방지할 수 있다.
도 1은 TCP 헤더의 구조를 개략적으로 보여준다.
도 2a는 일반적인 TCP/IP 세션 설정시의 3-웨이 핸드쉐이크 과정을 개략적으로 보여준다.
도 2b는 일반적인 TCP/IP 세션 설정과정에서의 각 패킷의 헤더의 필드값을 보여준다.
도 3a은 전형적인 분산서비스 거부공격의 일 예를 보여준다.
도 3b는 분산서비스거부공격에 따른 TCP/IP 세션 설정과정에서의 각 패킷의 헤더의 필드값을 보여준다.
도 4a는 본 발명에 따른 정당한 클라이언트가 보낸 SYN 패킷의 인증과정을 개략적으로 보여준다.
도 4b는 본 발명에 따른 정당한 클라이언트와의 TCP/IP 세션 설정과정에서의 각 패킷의 헤더의 필드값을 보여준다.
도 5a는 본 발명에 따른 분산서비스거부공격시의 SYN 패킷을 차단하는 과정을 개략적으로 보여준다.
도 5b는 본 발명에 따른 분산서비스거부공격시의 SYN 패킷을 차단하는 과정에서의 각 패킷의 헤더의 필드 값을 보여준다.
도 6은 본 발명에 따른 TCP/IP세션 설정을 위한 인증과정을 종합적으로 보여주는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
네트워크상에서 TCP/IP세션 설정시, 클라이언트와 서버는 패킷을 주고 받는 과정을 통하여 세션이 설정이 되는데, 클라이언트에서 접속을 요구하는 SYN패킷을 송신하면, SYN패킷을 수신한 서버는 SYN/ACK패킷을 클라이언트에 보내면서 응답하고, 다시 클라이언트는 ACK패킷을 서버로 송신하면서 세션이 수립된다. 이를 3-웨이 핸드쉐이크라고 한다. 이 과정에서 클라이언트에 SYN/ACK를 보낸 서버는 일부자원을 할당해 놓고 클라이언트의 응답을 기다리는 대기상태에 있게 되는데, 만일 클라이언트가 응답을 보내지 않는다면, 일정시간이 경과 한 후 자원을 회수하게 된다.
클라이언트 응답의 부재는 정상적인 경우에는 별문제가 되지 않지만 분산서비스거부공격과 같은 비정상적인 상황에서, 다수의 클라이언트가 동시에 접속요청을 하는 경우에는, 서버는 접속을 요청한 모든 클라이언트에게 자원을 할당하고 응답을 기다리는 반 개방 상태에 빠지게 되고, 결국 모든 서버자원이 고갈되어 정상적인 클라이언트들조차 서비스를 받지 못하는 상황에 이르게 된다. 본 발명은 이러한 분산서비스거부공격을 초기단계에서 차단하기 위하여, 접속요청단계에서 비정상적인 클라이언트에 의한 접속요청을 탐지하여, 접속요구 자체를 무산시킴으로써 분산서비스거부공격을 차단할 수 있다.
도1은 TCP 헤더의 구조를 개략적으로 보여준다.
상기 TCP 헤더(100)에는 먼저 소스포트와 수신지포트가 있는데 소스포트는 출발지의 서비스 포트 번호이며 수신지 포트는 도착지의 서비스 포트 번호로서 수신측 호스트에서 프로세스나 서비스를 식별하는 필드이다. 다음으로 일련번호 필드(110)에는 패킷의 고유한 일련번호가 부여되며 처음 연결을 시도할 때는 시스템에서 임의로 생성하게 되고 수신지 측에서 이값을 이용하여 재구성을 한다. 또한 패킷이 분실되거나 지연 등으로 순서가 어긋나게 도착하는 경우 일련번호(110)를 이용하여 데이터를 올바르게 재배열하게 된다.응답번호(120)필드는 패킷의 전송시와 재조립시에 사용된다. 수신된 일련번호에 대하여 예상된 다음 옥텟을 명시한다.
'URG','ACK','PSH','PST','SYN','FIN'으로 이루어진 플래그 필드는 세션이 수행되는 도중에 사용되는 서비스와 오퍼레이션을 명시한다. URG플래그는 긴급상황발생시 사용되는 플래그이고, ACK(140)플래그는 데이터가 제대로 전송되었는지 여부를 알려주는 플래그로서, 3웨이-핸드쉐이크 과정에서 상대로부터 받은 패킷에 대한 응답 패킷을 보내는 경우에 ACK플래그(140)가 '1'로 설정된다. PSH플래그는 해당 세그먼트의 데이터가 즉각 상위 응용프로그램에 전달되어야 함을 나타내고 RST는 접속의 재설정을 요구하는 플래그이다. SYN플래그(130)는 세션 수립을 제의하는 플래그인데, 초기에 클라이언트에서 서버로 세션을 요청하는 패킷을 보낼때 상기 SYN플래그(130)의 값이 '1'로 설정된다. FIN은 양방향 통신중 한쪽에서 접속을 종료하면, 이 방향으로 더 이상의 데이터 흐름이 끝났음을 나타내는 필드이다
도 2a은 일반적인 TCP/IP 세션 설정시의 3-웨이 핸드쉐이크 과정을 개략적으로 보여준다. 도 2b는 TCP/IP 세션 설정과정에서의 각 패킷의 헤더의 필드값을 보여준다.
TCP/IP 세션을 설정하기 위하여, 정상적인 클라이언트(200)가 서버(20)에 세션을 제의하는 패킷(210)을 송신하여 접속을 요청하는데, 이때 패킷의 플래그가 SYN(130)으로 설정되고, 임의로 일련번호(216)를 생성하여 상기 SYN패킷의 헤더(210)에 포함시켜서 서버(204)로 보내게 된다. 서버(204)에서는 상기 SYN 패킷(210)을 수신하면 응답의 일환으로, 버퍼에 자원을 할당하고, SYN/ACK패킷(220)을 클라이언트(200)로 전달하게 되는데, 이때 패킷의 플래그는 SYN(130)과 ACK(140)로 설정되며, 클라이언트로 부터 수신한 SYN 패킷(210)에 있던 일련번호(216)에 1을 더한 값을 응답번호(228)필드에 생성하여 클라이언트로 보내게 된다.
이때부터 서버는 클라이언트의 응답을 기다리는 반 개방상태가 된다. 서버(204)로부터 상기 SYN/ACK패킷(220)을 수신한 클라이언트(200)는 이에 대한 응답으로 플래그가 ACK(140)로 설정된 ACK패킷(230)을 서버(204)에 송신하게 되는데, 이때 ACK패킷(230)의 일련번호(236)필드에는 상기 SYN/ACK패킷(220)의 응답번호(228)를 넣고, ACK패킷(230)의 응답번호(236)필드에는 상기 SYN/ACK패킷(220)의 일련번호(226)에 1을 더한 값을 넣게 된다. 이로써 3-웨이 핸드쉐이크가 완료되어 클라이언트와 서버는 연결(240)되는 것이다.
도 3a은 전형적인 분산서비스 거부공격의 일 예를 보여준다. 도 3b는 분산서비스 거부공격에 따른 TCP/IP 세션 설정과정에서의 각 패킷의 헤더의 필드값을 보여준다.
TCP/IP 세션을 설정하기 위하여, 비정상적인 클라이언트(300)가 서버(304)에 세션을 제의하는 패킷(310)을 송신하여 접속을 요청하는데, 이때 정상적인 클라이언트와 마찬가지로 SYN플래그(130)가 설정되고, 임의로 일련번호(316)를 생성하여 상기 SYN패킷(310)에 포함시켜서 서버(304)로 보내게 된다. 서버(304)에서는 상기 SYN 패킷(310)을 수신하면 응답의 일환으로, 버퍼에 자원을 할당하고, SYN/ACK패킷(320)을 클라이언트(300)로 전달하게 되는데, 이때 클라이언트로부터 수신한 SYN 패킷(310)에 있던 일련번호(316)에 1을 더한 값을 응답번호(328)필드에 생성하여 클라이언트로 보내게 된다.
정상적인 클라이언트 때와 마찬가지로 서버는 클라이언트의 응답을 기다리는 반 개방상태가 된다. 이러한 과정에서 또 다른 비정상 클라이언트가 SYN패킷(330)을 보내면 서버는 다시 SYN/ACK 패킷(340)을 또 다른 클라이언트에 보내게 된다. 그러나 이러한 DDoS공격에 의한 접속요청은 다수의 위조된 클라이언트에 의하여 동시 다발적으로 발생하기 때문에 서버(304)는 다수의 클라이언트(300)에게 자원을 할당한 채로 ACK 패킷을 받지 못하고 기다리는 상태가 된다. 결과적으로 서버(304)는 과부하로 인하여 서버자원이 고갈(360)되어 정상적인 서비스를 할 수 없게 된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 네트워크 침입차단 방법 및 장치는, 실시예에서 클라이언트와 서버 사이에 보안장비를 두어 외부로부터의 불법적인 침입을 차단하는 것을 보여준다.
본 발명에 따른 실시예에서 보여지는 보안장비는 일반적인 방화벽에 외부로부터의 다양한 공격에 대응하기 위한 특별한 역할이 더 추가된 것일 수 있다. 방화벽의 기본 역할은 신뢰수준이 다른 네트워크 구간들 사이에 놓여서 신뢰수준이 낮은 네트워크로부터 오는 해로운 트래픽이 신뢰 수준이 높은 네트워크로 오지 못하게 막는 것이다. 즉 네트워크상에서 외부로부터의 침입을 차단하고 내부 망을 보호하기 위하여 사용되는 방법을 총칭하며 조직 내부의 네트워크와 인터넷 간에 전송되는 정보 및 접근에 대한 감시 및 통제의 역할을 하는 보안시스템의 개념이다.
또한 본 발명에 따른 보안장비는 소프트웨어일 수도 있고 하드웨어로 구성된 것일 수도 있다. 조직 내에 존재하는 기존의 방화벽과는 별도로 추가된 침입 차단용 서버일 수도 있다. 이는 조직 내의 네트워크 환경이나 보안요구사항에 따라서 다르게 구성될 수 있는 것이다.

이하에서는 도면을 참조하여 본 발명에 따른 네트워크 침입차단 방법을 정상적인 사용자에 의한 접속요청의 경우와 DDOS 공격자의 경우로 나누어서 설명한다.
도 4a는 본 발명에 따른 정당한 클라이언트가 보낸 SYN패킷을 인증하는 과정을 개략적으로 보여준다. 도 4b은 본 발명에 따른 정당한 클라이언트와의 TCP/IP 세션 설정과정에서의 각 패킷의 헤더의 필드값을 보여준다.
본 발명에 따른 TCP/IP 세션을 설정하기 위하여, 정상적인 클라이언트(400)가 서버(404)에 세션을 제의하는 패킷(410)을 송신하여 접속을 요청하는데, 이때 상기 패킷(410)의 플래그는 SYN 상태로 설정되고, 임의의 일련번호(416)가 생성된다. 한편 상기 일련번호(416)를 이용하여 해쉬연산을 수행하고, 그 결과로서 생성된 인증해쉬값(419)을 응답번호(418)로 설정하여, SYN패킷(410)을 전송하게 된다. 보안장비(404)에서는 일단 클라이언트가 송신한 패킷이 탐지되면, 접속요청 패킷인지를 확인한다. 즉 패킷의 플래그가 SYN인지 확인하여, SYN패킷이 아니라면 그대로 서버로 전달하고 상기 패킷(410)에 대한 인증작업을 종료하게 된다.
만일 상기 클라이언트로부터 수신한 패킷이 SYN패킷이라고 판단된다면, 보안장비는 인증단계에 돌입하여 먼저 상기 SYN패킷(410)의 응답번호필드(418)를 점검하게 된다. 즉 보안장비(404)에서는 수신한 SYN패킷(410)의 일련번호(416)에 대한 해쉬연산을 수행하여 검증해쉬값(429)을 생성한 후 이를 응답번호(418)와 비교한다. 만일 검증해쉬값(429)과 수신한 SYN패킷의 응답번호(418)가 동일하면 정당한 클라이언트로부터 온 정당한패킷으로 판단한다. 이에 따라, SYN패킷(420)의 응답번호(428)를 0으로 설정한 후 상기 SYN패킷(420)을 서버(404)로 재전송하고 정당한 패킷이 아니라면 상기 패킷을 폐기하고 상기 패킷(420)에 대한 인증작업을 종료한다.
상기 SYN패킷(420)에 대해서는 이후 상기에 기술된 것과 같은 통상적인 TCP/IP세션 설정 과정이 이루어지게 되는데, 즉 보안장비(404)로부터 인증을 받은 패킷(420)은 응답번호(428)가 '0'로 설정된 통상적인 SYN패킷이므로, 상기 SYN패킷(420)을 수신한 서버(404)는 일련번호(436)를 자체적으로 생성하고 응답번호필드(438)에는 상기 SYN패킷(420)의 일련번호(426)에 1을 더한 값을 설정하여 생성한 SYN/ACK 패킷(430)을 클라이언트(400)에 송신하게 된다. 상기 SYN/ACK 패킷(430)을 수신한 클라이언트는 상기 SYN/ACK 패킷(430)의 응답번호(438)와 일련번호(436)를 이용한 ACK(440)패킷을 생성하여 서버로 송신하게 되고, 세션 설정과정이 완료되어 클라이언트와 서버가 연결(450)된다.
도 5a는 본 발명에 따른 분산서비스거부공격시의 SYN 패킷을 차단하는 과정을 개략적으로 보여주며, 도 5b는 본 발명에 따른 분산서비스거부공격시의 SYN 패킷을 차단하는 과정에서의 각 패킷의 헤더의 필드 값을 보여준다.
공격자(500)클라이언트는 TCP/IP 세션을 설정하기 위하여, 서버(504)에 세션을 제의하는 패킷(510)을 송신하여 접속을 요청하는데, 이때에는 본 발명에 따른 정상적인 클라이언트와는 달리 임의로 일련번호(516)를 생성하여 상기 SYN패킷(510)에 포함시켜서 보내게 된다.
상기 패킷(510)을 탐지한 보안장비(504)에서는 상기 패킷(510)의 플래그가 SYN인 것을 확인한 후 인증을 위한 시도를 하게 된다. 따라서 상기 SYN(510)패킷의 일련번호(516)를 해쉬하여 검증해쉬값(529)값을 생성하고 상기 SYN(510)패킷의 응답번호(518)와 비교한다. 그러나 정당한 클라이언트가 보낸 정당한 패킷과 달리, 인증해쉬값이 생성되지 않았기 때문에 검증해쉬값(529)과 응답번호(518)는 차이가 나고 결국 상기 패킷은 인증과정을 통과하지 못한다.
따라서 상기 SYN패킷(510)을 서버(504)로 재전송하지 않고 인증작업을 그대로 종료함으로써 SYN패킷은 폐기(520)되면서 공격자클라이언트(500)의 접속요청이 차단되고, 공격자 클라이언트들의 연속된 접속요청(530) 또는 동시 다발적인 접속요청 역시 상기와 같은 방법으로 차단(540)된다. 따라서 서버의 불필요한 자원할당이 발생하지 않게 되어(550) 정상적인 클라이언트에 대한 정상적인 서비스를 계속할 수 있게 된다.
도 6은 본 발명에 따른 TCP/IP세션 설정을 위한 인증과정을 종합적으로 보여주는 흐름도이다.
본 발명에 따른 TCP/IP 세션을 설정하기 위하여, 본 발명에 따른 클라이언트(600)가 서버(604)에 세션을 제의하는 패킷을 송신하여 접속을 요청하는 과정에서, SYN패킷을 생성(611)하고, 상기 SYN 패킷의 일련번호를 이용하여 해쉬연산을 수행(613)하고, 그 결과로서 생성된 인증해쉬값을 응답번호필드에 저장(615)한 후 상기 SYN패킷을 전송(619)하게 된다.
보안장비(602)에서는 일단 클라이언트가 송신한 패킷이 탐지(621)되면, 접속요청 패킷인지를 확인(623)한다. 즉 상기 패킷의 플래그가 SYN으로 설정되어 있는지 확인하고, SYN패킷이 아니면 상기 패킷을 그대로 서버로 전달(630)하고 서버(604)가 상기 패킷을 수신(640)함으로서 보안장비는 인증작업을 종료하게 된다. 만일 SYN 패킷이라면, 보안장비(602)는 인증단계에 돌입하여 우선 상기 SYN패킷의 응답번호필드를 점검하게 된다. 즉 보안장비(602)에서는 수신한 SYN패킷의 일련번호에 대한 해쉬연산을 수행하여 검증해쉬값을 생성(625)한 후 이를 응답번호 즉 인증해쉬값과 비교(627)한다.
만일 검증해쉬값과 수신한 SYN패킷의 응답번호가 동일하면 정당한 클라이언트로 판단하여 SYN패킷의 응답번호를 0으로 설정(628)하고 SYN패킷을 서버(604)로 전달(630)하고, 서버(604)가 상기 패킷을 수신(640)함으로서 보안장비는 인증작업을 종료하게 된다. 만일 검증해쉬값과 수신한 SYN패킷의 응답번호가 일치하지 않는다면 비정상적인 클라이언트로 판단하여 SYN패킷을 서버로 전달하지 않고 폐기(629) 함으로써 패킷에 대한 인증작업을 종료한다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (9)

  1. 클라이언트와 서버와의 통신을 위한 세션의 수립이 요구되는 통신 네트워크상의 침입차단 방법에 있어서,
    클라이언트에서 서버로 통신 세션의 수립을 요청함에 있어서, 세션 수립요청 패킷의 헤더의 정보를 이용한 암호키를 생성하여 상기 패킷의 헤더에 포함하는 암호키생성 단계;
    클라이언트에서 상기 암호키를 포함하는 상기 패킷을 서버로 전송하는 단계;
    서버단에서 상기 클라이언트로부터 전송된 세션 요청 패킷을 탐지하고, 상기 패킷이 SYN 패킷인지 여부를 판단하여, 상기 패킷이 SYN 패킷이 아닌 경우 상기 패킷을 그대로 서버로 전달하고 인증작업을 종료하는 패킷의 탐지 및 수신단계;
    상기 패킷이 SYN 패킷인 경우, 상기 세션 수립요청 패킷의 헤더의 정보를 이용하여 상기 패킷의 헤더에 포함된 암호키를 해독하여 정당한 클라이언트로부터 보내진 정당한 패킷인지 여부를 판단하는 인증단계;
    상기 인증단계에서 정당한 패킷이라고 판단한 경우 상기 인증단계를 거친 패킷을 서버로 전달하는 단계; 및
    상기 인증단계에서 정당한 패킷이 아니라고 판단한 경우 패킷을 서버로 전달하지 않고 폐기하는 단계를 포함하는 것을 특징으로 하는 네트워크 침입차단 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 암호키생성단계는 상기 패킷의 헤더의 일련번호를 이용하여 해쉬연산을 수행하여 인증해쉬값을 생성한 후 상기 패킷의 헤더의 응답번호필드에 넣는 것을 특징으로 하고,
    상기 인증단계는 상기 클라이언트로부터 수신한 패킷의 헤더의 일련 번호를 이용한 해쉬연산을 통한 검증해쉬값을 생성하여, 검증해쉬값과 상기 패킷의 헤더의 응답번호가 동일하면 정당한 클라이언트로부터 온 정당한 패킷이라고 판단하고 상기 패킷의 헤더의 응답번호 필드를 0으로 재설정하는 것을 특징으로 하는 네트워크 침입차단 방법.
  4. 제 1항 또는 3항에 있어서, 상기 통신세션은 TCP/IP 통신 세션이고 패킷의 헤더는 TCP 헤더인 것을 특징으로 하는 네트워크 침입차단 방법.
  5. 클라이언트와 서버와의 통신을 위하여 세션의 수립이 요구되는 통신 네트워크상의 서버 단에서의 네트워크 침입차단 장치에 있어서,
    클라이언트로부터 보내진 세션 수립요청 패킷을 탐지하여, 상기 패킷이 SY 패킷인지 여부를 판단하여, SYN 패킷이 아닌 경우, 상기 패킷을 그대로 서버로 전달하고 인증작업을 종료하는 패킷탐지부;
    상기 패킷탐지부에서 탐지한 패킷이 SYN 패킷인 경우, 상기 패킷의 헤더 내의 정보를 이용하여 상기 패킷의 헤더에 포함된 암호키를 해독하여 정당한 클라이언트로부터 온 정당한 패킷인지 여부를 판단하는 인증부; 및
    상기 인증부에서 상기 패킷을 정당한 패킷으로 판단한 경우 상기 인증부를 거친 패킷을 서버로 전달하고, 그렇지 않으면 상기 패킷을 폐기하는 패킷처리부
    를 포함하는 것을 특징으로 하는 네트워크 침입차단 장치.
  6. 삭제
  7. 제5항에 있어서,
    상기 인증부는 상기 패킷의 헤더의 일련 번호를 이용한 해쉬연산을 수행하여 검증해쉬값을 생성하는 해쉬연산부;
    상기 검증해쉬값과 상기 패킷 헤더의 응답번호를 비교하여 동일하면 정당한 패킷으로 판단하여 상기 패킷 헤더의 응답번호 필드를 0으로 재설정하고, 동일하지 않으면 정당한 패킷이 아니라고 판단하는 판단부;
    를 포함하는 것을 특징으로 하는 네트워크 침입차단 장치.
  8. 제5항 또는 7항에 있어서,
    상기 정당한 패킷이란 클라이언트에서 TCP/IP세션을 요청하는 SYN패킷을 전송하는 경우, 클라이언트 단에서 상기 패킷의 헤더의 일련번호를 이용하여 인증해쉬값을 생성하고, 상기 인증해쉬값을 상기 패킷의 헤더의 응답번호필드에 넣어서 전송한 패킷인 것을 특징으로 하는 네트워크 침입차단 장치.
  9. 네트워크 침입차단 장치 및 상기 네트워크 침입차단 장치와 상호 작용하며 침입차단을 위한 사용자 단말 장치를 포함하는 네트워크 시스템에 있어서,
    상기 네트워크 침입차단 장치는,
    클라이언트로부터 보내진 세션 수립요청 패킷을 탐지하여, 상기 패킷이 SYN 패킷인지 여부를 판단하여, SYN 패킷이 아닌 경우 상기 패킷을 그대로 서버로 전달하고 인증작업을 종료하는 패킷탐지부;
    상기 패킷탐지부에서 세션 수립요청 패킷을 탐지한 경우, 상기 패킷의 헤더 내의 정보를 이용하여 상기 패킷의 헤더에 포함된 암호키를 해독하여 정당한 클라이언트로부터 온 정당한 패킷인지 여부를 판단하는 인증부; 및
    상기 인증부에서 상기 패킷을 정당한 패킷으로 판단한 경우 상기 인증부를 거친 패킷을 서버로 전달하고, 그렇지 않으면 상기 패킷을 폐기하는 패킷처리부를 포함하고,
    상기 침입차단을 위한 사용자 단말 장치는,
    클라이언트에서 서버로 TCP/IP 세션의 수립을 요청하는 SYN 패킷을 전송시, 상기 SYN 패킷의 TCP 헤더의 일련번호를 이용한 해쉬연산을 수행하여 인증해쉬값을 생성하여 상기 패킷 헤더의 응답번호필드에 넣는 암호키 생성부; 및
    상기 암호키를 포함하는 상기 SYN 패킷을 서버로 전송하는 전송부
    를 포함하는 것을 특징으로 하는 네트워크 시스템.
KR1020100094290A 2010-09-29 2010-09-29 네트워크 침입차단 방법 및 장치 KR101020470B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100094290A KR101020470B1 (ko) 2010-09-29 2010-09-29 네트워크 침입차단 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100094290A KR101020470B1 (ko) 2010-09-29 2010-09-29 네트워크 침입차단 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101020470B1 true KR101020470B1 (ko) 2011-03-08

Family

ID=43938579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100094290A KR101020470B1 (ko) 2010-09-29 2010-09-29 네트워크 침입차단 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101020470B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101223932B1 (ko) * 2011-04-19 2013-02-05 주식회사 코닉글로리 실사용자 인증방식을 이용한 디도스 공격 대응 시스템 및 이를 이용한 디도스 공격 대응 방법
WO2021060855A1 (ko) * 2019-09-24 2021-04-01 프라이빗테크놀로지 주식회사 제어 데이터 패킷을 보호하기 위한 시스템 및 그에 관한 방법
KR102333553B1 (ko) * 2021-05-07 2021-12-01 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
CN114765549A (zh) * 2020-12-31 2022-07-19 慧盾信息安全科技(北京)有限公司 一种基于tcp协议的nat环境终端准入视频监控网络的系统和方法
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
KR102671718B1 (ko) 2022-12-26 2024-06-03 주식회사 한백코리아 머신러닝을 통한 새로운 침입을 예측하는 웹로그 신규 위협 탐지 보안 시스템
KR102679732B1 (ko) 2023-05-09 2024-06-28 주식회사 한백코리아 웹로그 데이터 분석을 통한 신규 위협 탐지용 머신러닝 분석 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990072733A (ko) * 1998-02-19 1999-09-27 리아오 행큉 데이터네트워크상의박형의클라이언트장치와서버장치사이에암호-발효프로세스를실행시키기위한방법및장치
KR20070050727A (ko) * 2005-11-12 2007-05-16 한국전자통신연구원 패킷에 포함된 정보를 이용하여 네트워크 공격을 차단하는방법 및 그 장치
KR100856674B1 (ko) 2003-07-11 2008-09-04 인터내셔널 비지네스 머신즈 코포레이션 클라이언트 서버 환경에서 클라이언트를 인증하는 시스템및 방법
KR20080086256A (ko) * 2007-03-22 2008-09-25 주식회사 올앳 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990072733A (ko) * 1998-02-19 1999-09-27 리아오 행큉 데이터네트워크상의박형의클라이언트장치와서버장치사이에암호-발효프로세스를실행시키기위한방법및장치
KR100856674B1 (ko) 2003-07-11 2008-09-04 인터내셔널 비지네스 머신즈 코포레이션 클라이언트 서버 환경에서 클라이언트를 인증하는 시스템및 방법
KR20070050727A (ko) * 2005-11-12 2007-05-16 한국전자통신연구원 패킷에 포함된 정보를 이용하여 네트워크 공격을 차단하는방법 및 그 장치
KR20080086256A (ko) * 2007-03-22 2008-09-25 주식회사 올앳 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101223932B1 (ko) * 2011-04-19 2013-02-05 주식회사 코닉글로리 실사용자 인증방식을 이용한 디도스 공격 대응 시스템 및 이를 이용한 디도스 공격 대응 방법
WO2021060855A1 (ko) * 2019-09-24 2021-04-01 프라이빗테크놀로지 주식회사 제어 데이터 패킷을 보호하기 위한 시스템 및 그에 관한 방법
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
CN114765549A (zh) * 2020-12-31 2022-07-19 慧盾信息安全科技(北京)有限公司 一种基于tcp协议的nat环境终端准入视频监控网络的系统和方法
CN114765549B (zh) * 2020-12-31 2024-03-15 慧盾信息安全科技(北京)有限公司 一种基于tcp协议的nat环境终端准入视频监控网络的系统和方法
KR102333553B1 (ko) * 2021-05-07 2021-12-01 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
KR102671718B1 (ko) 2022-12-26 2024-06-03 주식회사 한백코리아 머신러닝을 통한 새로운 침입을 예측하는 웹로그 신규 위협 탐지 보안 시스템
KR102679732B1 (ko) 2023-05-09 2024-06-28 주식회사 한백코리아 웹로그 데이터 분석을 통한 신규 위협 탐지용 머신러닝 분석 방법

Similar Documents

Publication Publication Date Title
US7552323B2 (en) System, apparatuses, methods, and computer-readable media using identification data in packet communications
US8800001B2 (en) Network authentication method, method for client to request authentication, client, and device
US8370937B2 (en) Handling of DDoS attacks from NAT or proxy devices
KR101020470B1 (ko) 네트워크 침입차단 방법 및 장치
US9438592B1 (en) System and method for providing unified transport and security protocols
US7536552B2 (en) Upper-level protocol authentication
US9843590B1 (en) Method and apparatus for causing a delay in processing requests for internet resources received from client devices
Chao-Yang DOS attack analysis and study of new measures to prevent
US8418242B2 (en) Method, system, and device for negotiating SA on IPv6 network
US20120227088A1 (en) Method for authenticating communication traffic, communication system and protective apparatus
Petullo et al. MinimaLT: minimal-latency networking through better security
US8671451B1 (en) Method and apparatus for preventing misuse of a group key in a wireless network
AU2003294304B2 (en) Systems and apparatuses using identification data in network communication
Singh et al. On the IEEE 802.11 i security: a denial‐of‐service perspective
CN115603932A (zh) 一种访问控制方法、访问控制系统及相关设备
KR101263381B1 (ko) TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치
WO2023279782A1 (zh) 一种访问控制方法、访问控制系统及相关设备
KR101463873B1 (ko) 정보 유출 차단 장치 및 방법
Schear et al. Glavlit: Preventing exfiltration at wire speed
CN116846614A (zh) 基于可信计算的mqtt协议消息安全处理方法及系统
EP1845468B1 (en) Method, computer network system and gate for identifying and controlling unsolicited traffic
US7860977B2 (en) Data communication system and method
US8713310B2 (en) Method and device for authenticating transmitted user data
KR101223932B1 (ko) 실사용자 인증방식을 이용한 디도스 공격 대응 시스템 및 이를 이용한 디도스 공격 대응 방법
CN117675357A (zh) 一种零信任网络双向验证加密噪声协议实现方法及系统

Legal Events

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

Payment date: 20140214

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150109

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 6