Denial of Service
서비스를 계속적으로 호출해서 CPU, Memory, Network 자원을 고갈시키는 기술입니다.
- Logical Attack
- Flooding Attack
Distributed Denialof Service는 공격자 서버가 분산되어 있는 공격 기법입니다.
- Flood
- Spoofing
- 반사공격
- 증폭공격
공격 도구
- Trinoo
- TFN
- Stacheldraht
DDOS
TCP SYN Flooding
TCP 초기 연결 과정에서 SYN/ACK packet 위치를 무의미한 주소로 보내게 합니다. ACK를 못받아서 대기 큐가 쌓이게 되고 Overflow가 발생하게 됩니다.
TCP SYN Flooding 대응 방법
- 방화벽에서 SYN 요청 임계치 설정
- First SYN Drop 설정 - 클라이언트 존재 여부 파악해서 차단
- TCP 세션 연결 차단
- SYN Proxy - 서버를 대신해서 SYN 요청을 받고 검증
- backlog queue 증가 - 임시적으로 서버 큐 사이즈 증가
- SYN cookie 로 backlog queue 대신 패킷 유효성 검사
- 라우터에서 SYN 패킷 이후 연결이 이루어지지 않으면 차단 - watch mode
- 라우터에서 SYN 패킷 요청을 대신 처리 - intercept mode
DRDoS
요청을 보내고 syn-ack 도착 위치를 피해자 서버로 설정해서 공격하는 기법입니다.
DDoS 공격 유형
-
대역폭 공격
-
자원 소진 공격
-
웹/DB 부하 공격
-
RST Flooding
-
ACK Flooding
-
UDP Flooding
-
TCP Session 공격
-
NTP 증폭 공격
Smurfing Attack
브로드캐스트와 ICMP 패킷을 이용한 공격 방법이빈다. ICMP Echo 패킷을 브로드캐스트로 전송하고 Source address는 공격 대상 서버로 위조합니다. 대량의 응답 패킷이 공격 대상 서버로 집중하게됩니다.
- Source Quench
- Time to live exceeded in Tranist
- Destionation unreachable
대응 방법
- ACL을 이용한 차단
- inbound 패킷 임계치 설정
- icmp broadcast 차단
Tear drop
fragment를 조작하여 패킷 필터링 장비나 IDS를 우회하여 공격합니다.
Tiny fragment
최초의 Fragment를 아주 작게 만들어서 공격합니다. 특정 포트 차단 등 걸러내야하는데 하나의 fragment에선 확인이 안되고 여러 fragment를 조합해야만 하는 경우입니다. 이렇게 방화벽에서 못걸러내면 서버에서 재조립했을 때 공격 패킷이 처리됩니다.
Fragment Overlap
offset을 조작해서 패킷 위치를 겹치게 보냅니다. 장비마다 겹치는 부분을 이전걸로 할지, 다음걸로 할지 다르게 처리할 수 있습니다. 다음 걸로 덮어쓰는 방식일 경우 에러가 발생하는 등 장비 취약점을 노린 공격입니다.
Ping of Death
Ping을 이용해 ICMP 패킷을 큰 길이로 보내 OS에서 처리하지 못하는 경우 시스템이 마비되는 공격입니다. 최대 크기는 보통 65,536 바이트인데 그 이상으로 보내면 OS에서 처리 시에 버퍼 오버플로우등의 문제가 발생할 수 있었습니다. 지금은 대부분 운영체제에서도 방지가 되었고, 방화벽, 라우터등에서도 차단하는 기능이 포함되어있습니다.
Land Attack
IP Header를 변조해서 IP, Port를 수신자 주소로 설정하는 공격입니다.
Http Get Flooding
Http Get Flooding 대응 방법
- IP마다 요청 횟수 임계치 설정
- 시간대별 임계치 설정 후 이상 요청 IP 차단 목록에 추가
- 콘텐츠 요청 횟수 임계치 설정
Http Post Flooding
Slow Http Post Flooding
데이터를 천천히 전송해서 많은 부하를 유발하는 방법입니다.
Slow Http Get/Post 대응 방법
- 동시에 여러개를 요청하는 경우 차단
- 몇 초 이내에 연결이 안되면, 데이터가 오지 않으면 연결 종료등 설정으로 차단
Slow HTTP Header
헤더는 (\r\n\r\n)으로 구분이 되는데 불안전하게 (\r\n)만 전송하는 방법입니다.
Cache Control
no cache로 매번 새 페이지를 요청해 부하를 줍니다.
Hash DoS
각종 파라미터 값을 관리하는 해시테이블에 인덱스 정보가 중복되도록 많은 매개변수를 전달하는 공격기법입니다.
Hulk DoS
공격 대상 URL을 계속 변경하면서 공격하는 기법입니다.
Scanning
Port Scanning
nmap으로 열려있는 포트를 확인해서 취약점을 이용해 공격합니다.
- UDP scan
- TCP connect scan
- TCP SYN scan
- TCP Open scan
- Stealth scan
- TCP Half open scan
- Xmas Scan
- Null Scan
TCP Fragmentation
Sniffing
네트워크로 전송되는 패킷을 훔쳐보는 도구입니다.
-
Wireshark
-
Tcpdump
-
Microsoft Network monitor
-
Nagios
-
dsniff
-
네트워크 패킷을 모니터링해서 IP 주소 획득
Session Hijacking
세션 값을 훔쳐 인증을 우회하는 방식입니다.
- Hunt
- Arpsoof
- IP Watcher
- Ferrer
- Hamster
- Paros
- Cain & Abel
Spoofing Attack
IP Spoofing
자신의 IP 주소를 속여서 공격하는 기법입니다.
- 순서 제어 번호 추측
- SYN flooding
- Connect Hijacking
- RST/FIN을 이용한 접속 끊기
- SYN/RST 패킷 생성 공격
- IP 주소 인증(rlogin, rsh)
IP Spoofing 대응 방법
- Source Routing 차단
- R-Command 취약점 제거
- 암호화된 프로토콜
DNS Spoofing
Web Spoofing
가짜 홈페이지를 만들어서 정보를 탈취합니다.
ARP Spoofing
MAC 주소를 변조해서 속이는 공격입니다. fragrouter로 연결이 끊어지지 않도록 해야합니다. ARP는 인증을 하지 않기에 변조된 ARP Reply를 지속적으로 보내서 변조된 주소 정보를 유지시켜야합니다.
ARP Spoofing 대응 방법
ARP Table을 정적으로 설정합니다. 네트워크를 주기적으로 모니터링해서 비정상 ARP 패킷을 검사합니다.
Switch Attack
- Switch Jamming
- ICMP Redirect
- ARP Redirect
- ARP Spoofing
- SPAN