TCP SYN Flooding Attack
TCP Syn Flooding
TCP 프로토콜의 3-way handshaking 을 이용한 공격 기법으로 , 공격 대상에게 지속적으로 SYN 패킷을 전송하여 대상 시스템의 Backlog queue에 오버플로우를 발생시키는 공격입니다.
※ 공격 수행
/실습 환경 | Address | OS | version |
공격자 시스템 정보 |
192.168.1.130 | Kali Linux | Debian 4.16.16-2kali2 x86_64 |
피해 시스템 정보 |
192.168.1.131 | Metasploitable2 | metasploitable 2.6.24-16-server |
1. 공격자 시스템에서 hpin3 를 이용해 TCP SYN FLOODING 공격을 수행한다.
# hping3 ①-S ②--flood ③192.168.1.131
① -S : 패킷에 SYN 플래그를 설정한다. ( --syn)
② --flood : 전송가능한 가장 빠른 속도로 대량의 패킷을 전송함
③ Target IP : 공격을 수행할 대상의 IP 주소
2. 와이어샤크를 통해 SYN FLOODING 공격을 수행하는 모습을 캡쳐한 화면으로, 공격자인 192.168.1.130 으로 부터 피해자 시스템인 192.168.1.131 으로 무수히 많은 SYN 패킷이 전송되고 있는 것을 볼 수 있다.
※ 대응방법
① 백로그 큐를 늘린다.
- #sysctl -w net.ipv4.tcp_max_syn_backlog = 2048
- /etc/sysctl.conf 파일에 직접 작성해도 동일하다.
sysctl
버전 번호나 보안 설정 같은 시스템의 커널 속성을 읽고 수정하는 몇몇 유닉스 계역 OS의 기능.
② 외부에서 내부 네트워크로 들어오는 IP 대역 차단 ( 방화벽 필터링 )
③ TCP Timeout 시간 최소로 설정
④ 1초당 전송 패킷 제한
- /etc/sysctl.conf 파일에 inet.ipv4.tcp = 1 작성