KR102058888B1 - Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치 - Google Patents

Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치 Download PDF

Info

Publication number
KR102058888B1
KR102058888B1 KR1020170109698A KR20170109698A KR102058888B1 KR 102058888 B1 KR102058888 B1 KR 102058888B1 KR 1020170109698 A KR1020170109698 A KR 1020170109698A KR 20170109698 A KR20170109698 A KR 20170109698A KR 102058888 B1 KR102058888 B1 KR 102058888B1
Authority
KR
South Korea
Prior art keywords
server
client
cookie value
network address
tcp connection
Prior art date
Application number
KR1020170109698A
Other languages
English (en)
Other versions
KR20190023642A (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 KR1020170109698A priority Critical patent/KR102058888B1/ko
Publication of KR20190023642A publication Critical patent/KR20190023642A/ko
Application granted granted Critical
Publication of KR102058888B1 publication Critical patent/KR102058888B1/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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

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

서버의 보안 방법이 제공된다. 상기 서버는, 제1 클라이언트로부터, 제1 쿠키 값을 포함하는 TCP 연결 요청 메시지를 수신한다. 상기 서버는, 상기 제1 쿠키 값을 검증하여, 상기 제1 클라이언트를 인증한다. 상기 서버는, 상기 제1 클라이언트가 비인증 클라이언트인 경우에, 상기 서버의 네트워크 주소를 제1 주소로 변경한다. 상기 서버는, 쿠키 값의 생성을 위한 제1 비밀키를 상기 제1 주소에 기초해 생성한다. 그리고 상기 서버는, 상기 제1 주소 및 상기 제1 비밀키를 인증 서버에 전송한다.

Description

TFO 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치{SECURITY METHOD AND APPARATUS USING TFO COOKIE VALUE, AND COMMUNICATION METHOD AND APPARATUS USING THE SAME}
본 발명은 TFO(transmission control protocol fast open) 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치에 관한 것이다.
네트워크 상에서 발생하는 사이버 공격은 공격자가 네트워크 스캐닝이나 패킷 스니핑(packet sniffing) 등을 통해 공격하고자 하는 대상 서버의 위치를 찾아내는 것으로부터 시작된다.
고정된 네트워크 주소를 사용하는 서버들이 공격자에 의해 탐지된 순간부터 지속적인 취약점 분석 및 공격 시도에 의해 피해가 발생한다. 이러한 공격자 우위의 비대칭적인 사이버 보안의 문제점을 해결하기 위해, 보호대상 서버의 네트워크 주소를 지속적으로 변경시키면서 공격자를 교란시키는 MTD(moving target defense) 기술이 각광받고 있다.
본 발명이 해결하고자 하는 과제는, 레귤러(regular) TCP 연결의 TFO 쿠키 값을 이용하여 공격 행위를 탐지하고 공격을 회피하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치를 제공하는 것이다.
본 발명의 실시예에 따르면, 서버의 보안 방법이 제공된다. 상기 서버의 보안 방법은, 제1 클라이언트로부터, 제1 쿠키 값을 포함하는 TCP(transmission control protocol) 연결 요청 메시지를 수신하는 단계; 상기 제1 쿠키 값을 검증하여, 상기 제1 클라이언트를 인증하는 단계; 상기 제1 클라이언트가 비인증 클라이언트인 경우에, 상기 서버의 네트워크 주소를 제1 주소로 변경하는 단계; 쿠키 값의 생성을 위한 제1 비밀키를 상기 제1 주소에 기초해 생성하는 단계; 및 상기 제1 주소 및 상기 제1 비밀키를 인증 서버에 전송하는 단계를 포함한다.
상기 제1 쿠키 값은 TFO(TCP fast open) 쿠키 값일 수 있다.
상기 TCP 연결 요청 메시지는 SYN(synchronization) 메시지일 수 있다.
상기 서버의 네트워크 주소를 제1 주소로 변경하는 단계는, 상기 서버의 네트워크 주소를 제1 주소로 변경하기 이전에, 상기 서버와의 TCP 연결을 가지는 제2 클라이언트에게 TCP 연결 종료를 통보하는 단계를 포함할 수 있다.
상기 서버의 보안 방법은, 상기 제2 클라이언트로부터, 상기 제1 비밀키 및 키 해시 함수(keyed hash function)에 의해 생성된 제2 쿠키 값을 포함하는 TCP 연결 요청 메시지를 수신하는 단계를 더 포함할 수 있다.
상기 서버의 보안 방법은, 상기 제2 쿠키 값의 검증을 통해 상기 제2 클라이언트를 인증하는 단계; 및 상기 제2 클라이언트가 인증 클라이언트인 경우에, 상기 제2 쿠키 값을 포함하는 응답 메시지를 상기 제2 클라이언트에 전송하는 단계를 더 포함할 수 있다.
또한 본 발명의 다른 실시예에 따르면, 서버가 제공된다. 상기 서버는, 송수신 장치; 및 상기 송수신 장치를 제어하는 프로세서를 포함한다.
상기 프로세서는, 제1 클라이언트로부터 TCP(transmission control protocol) 연결 요청 메시지를 상기 송수신 장치를 통해 수신하는 경우에, 상기 TCP 연결 요청 메시지에 포함된 제1 쿠키 값을 이용해 상기 제1 클라이언트를 인증하고, 상기 제1 클라이언트가 비인증 클라이언트인 경우에, 네트워크 주소를 변경하고, 상기 변경된 네트워크 주소에 기초해 제1 비밀키를 생성하고, 상기 변경된 네트워크 주소 및 상기 제1 비밀키를 상기 송수신 장치를 통해 인증 서버에 전송할 수 있다.
상기 프로세서는, 상기 네트워크 주소를 변경하기 이전에, 상기 서버와의 TCP 연결을 가지는 제2 클라이언트에게 TCP 연결 종료를 상기 송수신 장치를 통해 통보할 수 있다.
상기 프로세서는, 상기 제2 클라이언트로부터 상기 제1 비밀키 및 키 해시 함수(keyed hash function)에 의해 생성된 제2 쿠키 값을 포함하는 TCP 연결 요청 메시지를 상기 송수신 장치를 통해 수신할 수 있다.
상기 프로세서는, 상기 제2 쿠키 값을 이용해 상기 제2 클라이언트를 인증하고, 상기 제2 클라이언트가 인증 클라이언트인 경우에, 상기 제2 쿠키 값을 포함하는 응답 메시지를 상기 제2 클라이언트에 상기 송수신 장치를 통해 전송할 수 있다.
또한 본 발명의 또 다른 실시예에 따르면, 클라이언트가 서버와 통신하는 방법이 제공된다. 상기 클라이언트의 통신 방법은, 상기 클라이언트와의 TCP(transmission control protocol) 연결을 가지는 상기 서버의 네트워크 주소가 변경된 경우에, 상기 변경된 네트워크 주소와 상기 변경된 네트워크 주소에 기반하는 비밀키를 인증 서버에 요청하는 단계; 상기 인증 서버로부터 상기 변경된 네트워크 주소와 상기 비밀키를 수신하는 경우에, 상기 비밀키를 키 해시 함수(keyed hash function)에 적용하여 쿠키 값을 생성하는 단계; 및 상기 쿠키 값을 포함하는 TCP 연결 요청 메시지를 상기 서버에 전송하는 단계를 포함한다.
상기 요청하는 단계는, 상기 서버와 상기 클라이언트 간의 TCP 연결의 종료를 상기 서버로부터 통보 받는 단계를 포함할 수 있다.
상기 서버에 의해 다른 클라이언트로부터 수신된 SYN(synchronization) 메시지가 인증 클라이언트에 대응하지 않는 쿠키 값을 포함하는 경우에, 상기 서버의 네트워크 주소가 상기 서버에 의해 변경될 수 있다.
본 발명의 실시예에 따르면, 의심스러운 연결 시도가 TCP(transmission control protocol) 세션 형성 단계에서 사전에 예측되고 이를 기반으로 네트워크 주소 변이(mutation)가 수행됨으로써, 인식(또는 탐지)된 서버에 일정 주기 내에 공격이 가능하다는 기존의 단점이 보완될 수 있다. 또한, 만약 대상 서버의 취약점에 대한 공격 도구가 이미 존재하는 상황이라면, 서버가 인식된 순간에 TCP 세션 형성 및 공격이 시간 지연 없이 가능하다는 기존의 단점이 회피될 수 있다.
또한 본 발명의 실시예에 따르면, 공격 시도가 예측되고 이에 따라 네트워크 주소가 변이되므로, 네트워크 가용성이 향상될 수 있다.
또한 본 발명의 실시예에 따르면, 인식(또는 탐지)된 공격 대상의 네트워크 위치가 변경됨으로써, 공격 및 방어의 비대칭적인 문제가 근본적으로 해소될 수 있다.
또한 본 발명의 실시예에 따르면, 네트워크 주소 변이가 수행되는 서버를 찾아내는 것은 인증 서버를 통해 인증된 클라이언트들에게만 허용되므로, 본 발명은 크리티컬 인프라를 가지는 기업망이나 국가기관망을 위한 능동적인 보안 기술로써 활용될 수 있다.
도 1은 본 발명의 실시예에 따른, 네트워크 주소 변이를 수행하는 서버와의 연결을 설정하는 방법을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른, 공격자가 네트워크 내에서 주소 변이 서버를 탐지하고 분석(또는 공격)을 위해 주소 변이 서버와의 TCP 세션을 맺으려고 시도하는 경우에, 이로 인해 각 네트워크 개체(또는 네트워크 노드)들에 의해 진행되는 시퀀스를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다.
또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다.
또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.
또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다. 본 명세서에서, 'A 또는 B'는, 'A', 'B', 또는 'A와 B 모두'를 포함할 수 있다.
네트워크 주소 변이(mutation) 기술에서 중요한 것은, 공격자가 최초 공격하고자 하는 서버를 탐색하는 과정에서 어려움을 주는 것, 그리고 공격 대상으로 탐지된 서버의 주소가 지속적인 취약점 분석 과정이나 공격 과정에서 어느 순간부터 유효하지 않은 주소가 되도록 하는 것이다.
공격자가 대상 서버를 탐지한 상태에서 서버의 네트워크 주소가 변하면, 공격자는 대상 서버를 찾기 위한 탐색 단계를 다시 시작해야 한다. 이것은 MTD에 기반한 다양한 종류의 네트워크 랜덤화 기술 그리고 허니팟(honey pot)들을 이용한 교란으로 인해, 공격자에게 큰 부담을 줄 수 있다.
이와 같은 네트워크 주소 변이 기술의 장점을 극대화 하기 위해서는, 최적화된 주소 변이 정책을 결정하는 것이 중요하다.
고정된 시간 주기에 따라 주소 변이가 수행되는 것은, 공격자가 대상 서버를 탐지한 시점부터 다음의 변이 주기가 되기 전까지는 공격 가능 시간이 확보된다는 점에서 보안성을 떨어뜨린다. 한편, 공격 가능 시간을 최대한 줄이기 위해 짧은 시간 주기로 빈번하게 주소 변이가 수행되는 것은, 가용성을 떨어뜨린다. 따라서, 공격 행위로 의심되는 TCP(transmission control protocol) 연결 시도가 감지되는 경우에, 그 때에만 주소 변이를 수행하는 방법이 필요하다. MTD가 적용되는 네트워크의 경우에, 공격자는 공격 대상 서버를 한번 놓치면 공격자가 서버를 다시 탐색하는 데에 많은 시간이 필요하기 때문에, 공격 행위로 의심되는 TCP 연결 시도는 자주 일어나지 않는다. 공격 행위가 일어나지 않는 동안에는, 네트워크 주소 변이가 수행되지 않기 때문에 가용성은 증가한다.
TFO(TCP fast open)는 소스 IP(internet protocol) 주소 스푸핑(spoofing) 공격을 방지하기 위해 만들어진 TCP 이다. TFO는, 열린 포트에 대해 네트워크 상에서 접근이 가능한 상태이면 3-웨이(way) 핸드세이킹(handshaking)을 통해 어떤 클라이언트나 연결을 맺을 수 있는 고전적인 TCP와는 다르다. 구체적으로, TFO는 최초 연결 단계인 레귤러(regular) TCP 연결 단계에서 SYN(synchronization) 메시지에 쿠키 값을 포함시켜 서버와 클라이언트 간의 연결을 형성할 수 있다.
2011년 구글에 의해 제안된 TFO는 최근 리눅스와 다양한 브라우저에서 지원되고 있다.
이하에서는, TFO에 기초해 인증된 클라이언트들이 사용하는 크리티컬 인프라에서의 능동적 보안 기술에 대하여 설명한다. 비인증 연결 시도를 예측하고 이에 대응하는 방법 및 장치에 대하여 설명한다. 인증된 클라이언트(들)에게 TFO를 통해 서비스를 제공하는 서버가 사이버 공격으로부터 회피하는 방법에 대하여 설명한다. 구체적으로, 서버와 클라이언트 간의 레귤러(regular) TCP 연결 단계에서 서버가 비인증된 클라이언트의 연결 시도를 탐지(또는 예측)하고 이에 대응하여 서버의 네트워크 주소를 변경하는 방법에 대하여 설명한다. 예를 들어, 서버가 레귤러(regular) TCP 연결의 쿠키 값을 이용하여 공격 행위를 탐지하고 공격 회피를 위해 네트워크 주소를 변경하는 방법에 대하여 설명한다. 그리고 인증된 클라이언트들이 네트워크 주소 변이 정책을 공유하는 방법에 대하여 설명한다.
도 1은 본 발명의 실시예에 따른, 네트워크 주소 변이를 수행하는 서버와의 연결을 설정하는 방법을 나타내는 도면이다.
구체적으로 도 1에서는, 네트워크 주소 변이를 수행하는 서버, 인증된 클라이언트들, 그리고 인증 서버 간의 인증 및 키 교환은 기존의 기법들을 통해 완료된 것으로 가정한다.
네트워크 주소 변이의 대상이 되는 서버(이하 '주소 변이 서버')가 인증 서버에 자신의 정보를 업데이트한다(이하 'S10 과정').
클라이언트가 인증 서버를 통해 주소 변이 서버의 상태 정보를 획득한다(이하 'S20 과정').
클라이언트가 레귤러(regular) TCP 연결을 맺기 위해, 키 해시 함수(keyed hash function)를 사용하여 쿠키 값을 생성한다(이하 'S30 과정').
주소 변이 서버가 쿠키 값을 통해, 해당 연결 요청이 인증된 클라이언트에 의한 요청인지 비인증된 클라이언트에 의한 요청인지를 검증한다(이하 'S40 과정').
주소 변이 서버가 S40 과정의 결과에 기초해 공격 행위를 예측하고, 주소 변이 서버의 네트워크 주소를 변경한다(이하 'S50 과정').
주소 변이 서버가 네트워크 주소를 변경한 경우에, 주소 변경 이후의 서버 상태를 인증 서버에 업데이트한다(이하 'S60 과정').
도 1에는, 인증된 클라이언트에 대한 S10~S40 과정이 예시되어 있다.
S100 과정에서, 주소 변이 서버(SV100)는 인증 서버(SV200)로 주소 변이 서버(SV100)의 서버 상태(예, 현재 IP 주소, 현재 IP 주소 만료 시간, 비밀키 등)를 업데이트한다. 구체적으로, S100 과정은 S10 과정에 대응한다.
S200 과정에서, 클라이언트(CL100)는 인증 서버(SV200)로 주소 변이 서버(SV100)의 서버 상태(예, 현재 IP 주소, 현재 IP 주소 만료 시간, 비밀키 등)를 요청한다.
S300 과정에서, 인증 서버(SV200)는 클라이언트(CL100)에게 S200 과정의 요청에 대해 응답한다. 구체적으로, S200 과정 및 S300 과정은 S20 과정에 대응한다.
S400 과정에서, 클라이언트(CL100)는 키 해시 함수(keyed hash function)를 사용하여 쿠키 값을 생성하고, 쿠키 값을 이용해 레귤러(regular) TCP 연결을 주소 변이 서버(SV100)에게 요청한다. 구체적으로, S400 과정은 S30 과정에 대응한다.
S500 과정에서, 주소 변이 서버(SV100)는 클라이언트(CL100)의 쿠키 값의 정당성을 검증(verification) 및 확인하고, 주소 변이 서버(SV100)는 클라이언트(CL100)가 정당한 클라이언트(또는 인증된 클라이언트)라고 확인한 경우에, 클라이언트(CL100)에게 ACK(acknowledge)을 전송한다. 구체적으로, S500 과정은 S40 과정에 대응한다.
도 2는 본 발명의 실시예에 따른, 공격자가 네트워크 내에서 주소 변이 서버를 탐지하고 분석(또는 공격)을 위해 주소 변이 서버와의 TCP 세션을 맺으려고 시도하는 경우에, 이로 인해 각 네트워크 개체(또는 네트워크 노드)들에 의해 진행되는 시퀀스를 나타내는 도면이다.
구체적으로 도 2에는, 공격자(예, 비인증 클라이언트)의 접속 탐지에 따른 시나리오가 예시되어 있다.
주소 변이 서버(SV100)와 인증된 클라이언트(CL100)(들)는 인증 서버(SV200)를 통해 인증 및 비밀키 교환을 수행하고(S610), 주소 변이 서버(SV100)의 서버 상태를 교환하고 키 해시 함수를 이용한 레귤러 TCP 연결을 수행한다(S620). S610 과정과 S620 과정은, 도 1에 예시된 S100~S500 과정에 기초해 수행될 수 있다.
공격자(CL200)는 주소 변이 서버(SV100)에게 TFO 연결 요청을 전송한다(S630). 구체적으로, 공격자(CL200)는 TCP 연결을 요청하기 위해, TFO 쿠키 값을 포함하는 SYN 메시지를 주소 변이 서버(SV100)에 전송할 수 있다.
주소 변이 서버(SV100)는 공격자(CL200)로부터 수신한 TFO 연결 요청에 포함된 쿠키 값을 검증하고 공격자(CL200)가 인증되지 않은 클라이언트인 것으로 예측한다(S640). 주소 변이 서버(SV100)는 네트워크 상에서 주소 변이 서버(SV100)의 위치가 공격자(CL200)에게 노출된 것으로 판단하고, 네트워크 주소 변경을 준비한다.
주소 변이 서버(SV100)는 네트워크 주소 변경 이전에, 기존에 레귤러(regular) TCP 연결을 맺고 있었던 인증된 클라이언트(CL100)(들)에게 TCP 연결 종료를 통보한다. 구체적으로, 주소 변이 서버(SV100)는 인증된 클라이언트(CL100)(들)과의 TCP 연결을, 4-way 핸드세이크를 통해 종료할 수 있다(S650).
주소 변이 서버(SV100)는 연결 종료를 통보한 후, 자신의 실제(real) IP 주소를 변경하기 위해, 가용한 네트워크 주소 범위 내에서 IP 주소를 선택한다(S660).
주소 변이 서버(SV100)가 자신의 네트워크 주소를 변경한 경우에, 그 즉시, 쿠키 값 생성을 위한 비밀키를 새로 생성한다. 주소 변이 서버(SV100)는 인증 서버(SV200)로 자신의 상태 정보(예, 새로운 IP 주소(Sip), 새로운 IP 주소 만료 시간(Tinterval), 비밀키(KEY) 등)를 업데이트한다(S670).
인증된 클라이언트(CL100)(들)는 네트워크 주소가 변경된 주소 변이 서버(SV100)로의 재연결 과정을 수행한다. 구체적으로, 인증된 클라이언트(CL100)(들)는 도 1에 예시된 S100~S500 과정을 수행할 수 있다. 예를 들어, 인증된 클라이언트(CL100)(들)는 인증 서버(SV200)로부터 주소 변이 서버(SV100)의 서버 상태 정보(예, Sip, Tinterval, KEY 등)를 수신하고(S680), 키 해시 함수에 비밀키(KEY)를 적용해 TFO 쿠키 값을 생성한다(S690). 인증된 클라이언트(CL100)(들)는 레귤러 TCP 연결을 요청하기 위해, TFO 쿠키 값을 포함하는 SYN 메시지를 주소 변이 서버(SV100)에 전송한다(S700).
주소 변이 서버(SV100)는 인증된 클라이언트(CL100)(들)로부터 수신한 TFO 쿠키 값을 검증한다(S710).
주소 변이 서버(SV100)는 S710의 검증을 통해 클라이언트(CL100)(들)가 정당한 클라이언트라고 확인한 경우에, 인증된 클라이언트(CL100)(들)에게 TFO 쿠키 값을 포함하는 ACK 메시지(SYN 메시지에 대한 응답)를 전송한다(S720).
상술한 바와 같이, 본 발명은 TFO의 TCP 세션 형성 과정에서 쿠키 값이 사용되는 특징을 이용하여, 네트워크 상에서 공격자의 악의적인 연결 시도를 TCP[SYN] 메시지 전송 단계에서부터 예측하고 세션 형성 자체를 원천적으로 봉쇄하는 기술에 관한 것이다.
또한, 한 번 공격자에게 노출된 서버는 지속적인 공격에 의해 피해를 입을 수 있기 때문에, 본 발명은 서버가 차후 공격 회피를 위한 네트워크 주소 변이를 시도하고 서버의 주소 변이 상태를 인증 서버를 통해 인증된 클라이언트들과 동기화하는 기술에 관한 것이다.
기존의 네트워크 주소 변이 기술은 일정한 시간 주기에 따른 주소 변이를 수행한다. 기존의 TCP는 열린 포트에 대해서 무조건적인 3-way 핸드세이크(handshake)를 통해 누구에게나 세션을 허용했다. 하지만, 본 발명은 의심스러운 연결 시도를 TCP 세션 형성 단계에서 사전에 예측하고 이를 기반으로 네트워크 주소 변이를 수행한다.
구체적으로, 주소 변이 서버(SV100)는 클라이언트(CL200)로부터, 제1 TFO 쿠키 값을 포함하는 TCP 연결 요청 메시지를 수신할 수 있다. 여기서, TCP 연결 요청 메시지는 SYN 메시지일 수 있다.
주소 변이 서버(SV100)는 제1 TFO 쿠키 값을 검증하여, 클라이언트(CL200)를 인증할 수 있다.
주소 변이 서버(SV100)는 클라이언트(CL200)가 비인증 클라이언트인 경우에, 주소 변이 서버(SV100)의 네트워크 주소를 제1 주소로 변경할 수 있다. 즉, 주소 변이 서버(SV100)가 클라이언트(CL200)로부터 수신한 SYN 메시지가 인증 클라이언트에 대응하지 않는 TFO 쿠키 값을 포함하는 경우에, 주소 변이 서버(SV100)의 네트워크 주소가 주소 변이 서버(SV100)에 의해 변경될 수 있다.
구체적으로, 주소 변이 서버(SV100)는 주소 변이 서버(SV100)의 네트워크 주소를 변경하기 이전에, 주소 변이 서버(SV100)와의 TCP 연결을 가지는 클라이언트(CL100)(들)에게 TCP 연결 종료를 통보할 수 있다. 예를 들어, 주소 변이 서버(SV100)는 4-way 핸드세이크를 통해 주소 변이 서버(SV100)와 클라이언트(CL100) 간의 TCP 연결을 종료할 수 있다.
주소 변이 서버(SV100)는 TFO 쿠키 값의 생성을 위한 제1 비밀키를 제1 주소에 기초해 새로 생성할 수 있다.
주소 변이 서버(SV100)는 제1 주소 및 제1 비밀키를 인증 서버(SV200)에 전송할 수 있다. 클라이언트(CL100)는 클라이언트(CL100)와의 TCP 연결을 가지는 주소 변이 서버(SV100)의 네트워크 주소가 변경된 경우에, 변경된 네트워크 주소(예, 제1 주소)와 변경된 네트워크 주소에 기반하는 비밀키(예, 제1 비밀키)를 인증 서버(SV200)에 요청할 수 있다. 클라이언트(CL100)는 인증 서버(SV200)로부터 제1 주소와 제1 비밀키를 수신하는 경우에, 제1 비밀키를 키 해시 함수에 적용하여 제2 TFO 쿠키 값을 생성할 수 있다. 클라이언트(CL100)는 제2 TFO 쿠키 값을 포함하는 TCP 연결 요청 메시지를 주소 변이 서버(SV100)에 전송할 수 있다.
주소 변이 서버(SV100)는 클라이언트(CL100)로부터, 제1 비밀키 및 키 해시 함수(keyed hash function)에 의해 생성된 제2 TFO 쿠키 값을 포함하는 TCP 연결 요청 메시지를 수신할 수 있다.
주소 변이 서버(SV100)는 제2 TFO 쿠키 값의 검증을 통해 클라이언트(CL100)를 인증할 수 있다. 주소 변이 서버(SV100)는 클라이언트(CL100)가 인증 클라이언트인 경우에, 제2 TFO 쿠키 값을 포함하는 응답 메시지를 클라이언트(CL100)에 전송할 수 있다.
본 발명의 실시예에 따르면, 보안성 측면에서, 일정 시간 주기 내에는 인식(또는 탐지)된 서버에 대한 공격이 가능하다는 기존의 단점이 보완될 수 있다. 만약 대상 서버의 취약점에 대한 공격 도구가 이미 존재하는 상황이라면, 서버가 인식된 순간에 TCP 세션 형성 및 공격이 시간 지연 없이 수행될 수 있는 기존 TCP의 단점이 회피될 수 있다.
한편, 기존 기술은 위협 행위가 없음에도 불구하고 언제 시도될지 모르는 공격에 대응하기 위해 불필요한 네트워크 변이를 시도한다. 반면에, 본 방법은 공격 시도를 예측하고 그에 따라 네트워크 주소 변이를 수행하기 때문에, 기존 기술보다 더 높은 네트워크 가용성을 가진다. 즉, 본 발명의 실시예에 따르면, 네트워크 가용성이 향상될 수 있다.
또한 본 발명의 실시예에 따르면, 고정된 공격 대상이 갖는 지속적인 위협 노출에 대해서, 인식(또는 탐지)된 공격 대상의 네트워크 위치가 변경됨으로써, 공격 및 방어의 비대칭적인 문제가 근본적으로 해소될 수 있다.
또한 네트워크 주소 변이가 수행되는 서버를 찾아내는 것은 인증 서버를 통해 인증된 클라이언트들에게만 허용되기 때문에, 본 발명은 크리티컬 인프라를 갖는 기업망이나 국가기관망에서 능동적인 보안 기술로써 활용될 수 있다.
도 3은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다. 도 3의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 주소 변이 서버, 클라이언트, 인증 서버, 네트워크 개체 등일 수 있다.
도 3의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 네트워크에 연결되어 통신을 수행하는 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다. 예를 들어, 컴퓨팅 장치(TN100)가 상술한 주소 변이 서버인 경우에, 프로세서(TN110)는 클라이언트의 TCP 연결 요청 메시지에 포함된 TFO 쿠키 값을 이용해 상기 클라이언트를 인증할 수 있고, 상기 인증 결과에 따라 TCP 연결 종료 통보, 네트워크 주소 변경, 및 비밀키 생성을 수행할 수 있다.
메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 예를 들어, 컴퓨팅 장치(TN100)가 상술한 주소 변이 서버인 경우에, 송수신 장치(TN120)는 클라이언트로부터 TCP 연결 요청 메시지를 수신할 수 있고, 변경된 네트워크 주소 및 새로 생성된 비밀키를 인증 서버에 전송할 수 있다.
한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 통상의 기술자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (13)

  1. 서버의 보안 방법으로서,
    제1 클라이언트로부터, 제1 쿠키 값을 포함하는 TCP(transmission control protocol) 연결 요청 메시지를 수신하는 단계;
    상기 제1 쿠키 값의 검증을 통해 상기 제1 클라이언트가 인증되지 않은 클라이언트인 것으로 판별되면, 공격 행위로 판단하고 상기 서버의 네트워크 주소를 변경하는 단계;
    변경된 상기 네트워크 주소를 이용하여 쿠키 값 생성을 위한 비밀키를 새로 생성하는 단계; 및
    상기 변경된 네트워크 주소 및 상기 새로 생성된 비밀키를 인증 서버에 전송하는 단계
    를 포함하는 서버의 보안 방법.
  2. 제1항에 있어서,
    상기 제1 쿠키 값은 TFO(TCP fast open) 쿠키 값이고,
    상기 TCP 연결 요청 메시지는 SYN(synchronization) 메시지인
    서버의 보안 방법.
  3. 제1항에 있어서,
    상기 서버의 네트워크 주소를 변경하는 단계는,
    상기 서버의 네트워크 주소를 변경하기 이전에, 상기 서버와의 TCP 연결을 가지는 제2 클라이언트에게 TCP 연결 종료를 통보하는 단계를 포함하는
    서버의 보안 방법.
  4. 제3항에 있어서,
    상기 인증 서버로부터 상기 서버의 변경된 네트워크 주소와 상기 새로 생성된 비밀키를 수신한 상기 제2 클라이언트로부터, 상기 새로 생성된 비밀키를 이용해 생성된 제2 쿠키 값을 포함하는 TCP 연결 요청 메시지를 수신하는 단계
    를 더 포함하는 서버의 보안 방법.
  5. 제4항에 있어서,
    상기 제2 쿠키 값의 검증을 통해 상기 제2 클라이언트가 인증된 클라이언트인 것으로 판별되면, 상기 제2 쿠키 값을 포함하는 응답 메시지를 상기 제2 클라이언트에 전송하는 단계
    를 더 포함하는 서버의 보안 방법.
  6. 송수신 장치; 및
    상기 송수신 장치를 제어하는 프로세서를 포함하고,
    상기 프로세서는,
    제1 클라이언트로부터 TCP(transmission control protocol) 연결 요청 메시지를 상기 송수신 장치를 통해 수신하는 경우에, 상기 TCP 연결 요청 메시지에 포함된 제1 쿠키 값을 이용해 상기 제1 클라이언트를 인증하고, 상기 제1 클라이언트가 인증되지 않은 클라이언트인 것으로 판별되면, 공격 행위로 판단하고 네트워크 주소를 변경하고, 변경된 상기 네트워크 주소에 쿠키 값 생성을 위한 비밀키를 새로 생성하고, 상기 변경된 네트워크 주소 및 상기 새로 생성된 비밀키를 상기 송수신 장치를 통해 인증 서버에 전송하는
    서버.
  7. 제6항에 있어서,
    상기 제1 쿠키 값은 TFO(TCP fast open) 쿠키 값이고,
    상기 프로세서는,
    상기 네트워크 주소를 변경하기 이전에, 상기 서버와의 TCP 연결을 가지는 제2 클라이언트에게 TCP 연결 종료를 상기 송수신 장치를 통해 통보하는
    서버.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 제2 클라이언트로부터 상기 새로 생성된 비밀키 및 키 해시 함수(keyed hash function)에 의해 생성된 제2 쿠키 값을 포함하는 TCP 연결 요청 메시지를 상기 송수신 장치를 통해 수신하는
    서버.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 제2 쿠키 값을 이용해 상기 제2 클라이언트를 인증하고, 상기 제2 클라이언트가 인증된 클라이언트인 것으로 판별되면, 상기 제2 쿠키 값을 포함하는 응답 메시지를 상기 제2 클라이언트에 상기 송수신 장치를 통해 전송하는
    서버.
  10. 제6항에 있어서,
    상기 TCP 연결 요청 메시지는 SYN(synchronization) 메시지인
    서버.
  11. 삭제
  12. 삭제
  13. 삭제
KR1020170109698A 2017-08-29 2017-08-29 Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치 KR102058888B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170109698A KR102058888B1 (ko) 2017-08-29 2017-08-29 Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170109698A KR102058888B1 (ko) 2017-08-29 2017-08-29 Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190023642A KR20190023642A (ko) 2019-03-08
KR102058888B1 true KR102058888B1 (ko) 2020-02-11

Family

ID=65801291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170109698A KR102058888B1 (ko) 2017-08-29 2017-08-29 Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102058888B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101022157B1 (ko) * 2003-12-16 2011-03-17 주식회사 케이티 Ssl 가상 사설망 서비스 처리 방법
KR101744747B1 (ko) * 2013-11-22 2017-06-09 한국전자통신연구원 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법
KR20150089894A (ko) * 2014-01-28 2015-08-05 한국전자통신연구원 쿠키 프락시 기능을 구비한 네트워크 주소 변환 장치 및 쿠키 프락시 기능을 지원하는 네트워크 주소 변환 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S Radhakrishnan et al., TCP Fast Open(2011년) 1부.*

Also Published As

Publication number Publication date
KR20190023642A (ko) 2019-03-08

Similar Documents

Publication Publication Date Title
CN112260995B (zh) 接入认证方法、装置及服务器
US11190493B2 (en) Concealing internal applications that are accessed over a network
US8079076B2 (en) Detecting stolen authentication cookie attacks
US9843590B1 (en) Method and apparatus for causing a delay in processing requests for internet resources received from client devices
KR101258845B1 (ko) Tcp통신을 이용한 정보 저장방법 및 시스템
US11297107B2 (en) Message queuing telemetry transport (MQTT) data transmission method, apparatus, and system
US9258278B2 (en) Unidirectional deep packet inspection
Kumar et al. Performance analysis of sdp for secure internal enterprises
US10348687B2 (en) Method and apparatus for using software defined networking and network function virtualization to secure residential networks
US11539695B2 (en) Secure controlled access to protected resources
JP5864598B2 (ja) ユーザにサービスアクセスを提供する方法およびシステム
Younes Securing ARP and DHCP for mitigating link layer attacks
KR101263381B1 (ko) TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치
KR101628534B1 (ko) 가상 802.1x 기반 네트워크 접근 제어 장치 및 네트워크 접근 제어 방법
KR102058888B1 (ko) Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치
JP2011054182A (ja) ディジタルバトンを使用するシステムおよび方法、メッセージを認証するためのファイアウォール、装置、および、コンピュータ読み取り可能な媒体
CN116321165B (zh) 安全访问控制方法和设备
CN117061140A (zh) 一种渗透防御方法和相关装置

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