상위 질문
타임라인
채팅
관점
SYN 플러드
위키백과, 무료 백과사전
Remove ads
SYN 플러드(SYN flood)는 데이터 통신에 대한 서비스 거부 공격의 한 형태로, 공격자가 연결을 완료하지 않고 서버에 빠르게 연결을 시작하는 공격이다. 서버는 연결이 완전히 열리지 않은 연결을 기다리는 데 리소스를 소모해야 하며, 이로 인해 시스템이 정상적인 트래픽에 응답하지 않을 정도로 많은 리소스가 소모될 수 있다.[1][2]


Remove ads
기술 세부 정보
클라이언트가 서버에 TCP 연결을 시도할 때, 클라이언트와 서버는 일반적으로 다음과 같은 일련의 메시지를 교환한다.
- 클라이언트는 서버에
SYN
(동기화) 메시지를 전송하여 연결을 요청한다. - 서버는 클라이언트에게
SYN-ACK
를 전송하여 이 요청을 확인한다. - 클라이언트는
ACK
로 응답하고 연결이 설정된다.
이를 TCP 3방향 핸드셰이크라고 하며, TCP 프로토콜을 사용하여 설정되는 모든 연결의 기반이 된다.
SYN 플러딩 공격은 서버에 예상된 ACK
코드를 보내지 않는 방식으로 작동한다. 악의적인 클라이언트는 단순히 예상된 ACK
를 전송하지 않거나, SYN
의 소스 IP 주소를 스푸핑하여 서버가 위조된 IP 주소로 SYN-ACK
를 전송하도록 만들 수 있다. 위조된 IP 주소는 SYN
을 전송하지 않았다는 것을 "알고" 있기 때문에 ACK
를 전송하지 않는다.
서버는 ACK
수신을 잠시 기다리게 되는데, 단순한 네트워크 혼잡이 ACK
누락의 원인일 수도 있기 때문이다. 그러나 공격이 발생하면 악의적인 클라이언트가 생성한 반쯤 열린 연결은 서버의 리소스를 묶어 결국 서버의 가용 리소스를 초과할 수 있다. 이 시점에서 서버는 정상 클라이언트 여부와 관계없이 모든 클라이언트에 연결할 수 없게 된다. 이는 사실상 정상 클라이언트에 대한 서비스를 거부하는 것이다. 일부 시스템은 이러한 방식으로 다른 운영 체제 기능의 리소스가 고갈되면 오작동하거나 충돌할 수도 있다.
Remove ads
같이 보기
각주
외부 링크
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads