Information Security ˗ˋˏ ♡ ˎˊ˗

Security/Network

[Network] TCP 와 UDP 정의 및 차이점

토오쓰 2020. 9. 10. 17:22

 

"TCP와 UDP에 대해서 살펴보자"

 

 

 

 

TCP/UDP 정의 및 통신상 차이점

 

TCP

UDP

정의

Transport Control Protocol
전송 제어 프로토콜

User Datagram Protocol
사용자 데이터그램 프로토콜

특징

3way Handshake(SEQ, ACK) 
데이터를 주고받을 양단간에 먼저 연결을 설정하고 설정된 연결을 통해 양방향 데이터 전송

연결을 설정하지 않고 수신자가 데이터를 받을 준비를 확인하는 단계를 거치지 않고 단방향 전송

연결성

호스트 사이에 세션(Session)이 설정되는 연결지향

호스트 사이에 세션이 설정되지 않은 비연결성

데이터 순서

보내는 순서를 유지

순서 유지하지 않음

데이터 중복

데이터 중복, 손실 없음

데이터 중복, 손실 가능

신뢰성

승인 및 순차적인 데이터 전송을 통해 보장

전송 승인이나 데이터 정렬 보장하지 않음

흐름 제어

슬라이딩 윈도우(패킷흐름제어)

흐름 제어 없음

캐스팅 방식

1:1 통신만 지원

1:1, 1:N, M:N 통신 지원

 

 

TCP와 UDP의 보안상 차이점

1. UDP는 Stateless로 Request 없을 때 Reply 수신 X.

2. UDP는 인증 X. 예로 tftp가 있으며 UDP를 사용하며 비연결형 파일 전송 프로토콜, 포트번호 69를 사용한다.

3. UDP는 암호화 X => Session Key(대칭키)

4. UDP는 Spoofing 공격에 취약

 

 

TCP와 UDP 보안 취약점

 

취약점

사례

대응방안

TCP

평문 전송 취약점

Sniffing
(개인정보 탈취)

패킷을 가로채더라도 내용을 알 수 없게 하는 암호화 기법이 일반적인 방어기법

3 Way-Handshaking 취약점

 

SYN Flooding
(TCP 대기 큐 소진)

SYN Cookie를 이용하여 Backlog Queue가 소비되지 않도록 설정한다.

인증절차 부재

 

포트 스캐닝

대량의 스캔 공격 발생 시 임계치 기반 트래픽 차단

TCP Session Hijacking

비동기화 상태를 탐지
ACK 패킷의 비율을 모니터링(ACK Storm) 탐지

UDP

인증절차 부재

DNS Cache Poisoning

소프트웨어를 최신 상태로 유지
제한된 사용자가 사용하는 Recursive 네임서버라면 해당 사용자로 재귀적 질의를 제한해서 허용
DNSsec 기술: 기존의 DNS에 공개키 암호화 방식의 보안 기능을 추가로 부여하여 DNS의 보안성을 대폭 강화

DNS Spoofing

스니핑을 이용한 DNS 스푸핑 공격은 기본적으로 스니핑을 이용하기 때문에 이를 탐지 및 차단

트래픽 반사 및 증폭

DRDos

ISP가 직접 차단
ICMP를 이용하는 DRDos에 이용되지 않도록 ICMP 프로토콜이 없는 시스템의 경우 해당 프로토콜을 차단

 

 

 

 

참고

gyfartech.blogspot.com/2016/01/tcp-dan-udp.html

https://m.blog.naver.com/sdug12051205/221547457662