프로토콜 공격은 OSI 모델의 네트워크 계층(계층 3)과 전송 계층(계층 4)을 표적으로 삼습니다. 악의적인 연결 요청으로 방화벽, 로드 밸런서, 웹 서버 등 중요한 네트워크 리소스를 압도하는 것을 목표로 합니다.
가장 일반적인 프로토콜 공격 유형으로는 SYN 플러드 공격과 스머프 공격이 있습니다.
SYN 플러드 공격은 두 장치가 서로 연결을 설정하는 프로세스인 TCP 핸드셰이크를 활용합니다. 일반적인 TCP 핸드셰이크에는 다음의 세 단계가 있습니다.
- 한 장치가 동기화(SYN) 패킷을 전송해서 연결을 개시합니다.
- 다른 장치는 동기화/응답(SYN/ACK) 패킷으로 응답하여 요청을 승인합니다.
- 원 장치는 ACK 패킷을 다시 보내서 연결을 완료합니다.
SYN 플러드 공격에서 공격자는 스푸핑된 소스 IP 주소가 포함된 대량의 SYN 패킷을 대상 서버에 보냅니다. 서버는 스푸핑된 IP 주소로 응답을 보내고 최종 ACK 패킷을 기다립니다. 소스 IP 주소가 스푸핑되었기 때문에 이러한 패킷은 도착하지 않습니다. 서버가 완료되지 않은 수많은 연결에 묶여 있어 정상적인 TCP 핸드셰이크를 사용할 수 없습니다법
스머프 공격은 두 장치 간의 연결 상태를 평가하는 데 사용되는 통신 프로토콜인 인터넷 제어 메시지 프로토콜(ICMP)을 이용합니다.
일반적인 ICMP 교환에서는 한 장치가 다른 장치에 ICMP 에코 요청을 보내고 후자 장치는 ICMP 에코 응답으로 응답합니다.
스머프 공격에서 공격자는 피해자의 IP 주소와 일치하는 스푸핑된 IP 주소로부터 ICMP 에코 요청을 보냅니다. 이 ICMP 에코 요청은 네트워크의 모든 장치에 요청을 전달하는 IP 브로드캐스트 네트워크로 전송됩니다.
ICMP 에코 요청을 수신하는 모든 장치(잠재적으로 장치 수백 또는 수천 대)는 피해자의 IP 주소로 ICMP 에코 응답을 전송하여 대응합니다. 그러면 응답이 피해자의 장치가 처리할 수 있는 양을 넘어섭니다. 스머프 공격과 같은 많은 유형의 DDoS 공격과 달리 봇넷이 필요하지 않습니다.