DOS 공격
● Dos (Denial of Service)(서비스 거부)
● 공격 대상이 수용할 수 있는 능력 이상의 정보를 제공하거나
● 사용자 또는 네트워크 용량을 초과 시켜 정상적으로 작동하지 못하게 하는 공격
● Dos 공격의 특징
● 파괴 공격 : 디스크, 데이터, 시스템 파괴
● 시스템 자원 고갈 공격 : CPU, 메모리, 디스크의 과도한 사용으로 인한 부하 가중
● 네트워크 자원 고갈 공격 : 쓰레기 데이터로 네트워크 대역폭의 고갈
● Dos 공격의 5가지 종류
1. Ping of Death
① Ping을 이용하여 ICMP 패킷의 크기를 정상보다 아주 크게 만듬
② 크게 만들어진 패킷은 네트워크를 통해 라우팅되어 공격 네트워크에 도달하는 동안 아주 작은 조각으로 쪼개짐
③ 공격 대상은 조각화된 패킷을 모두 처리해야 하므로 정상적인 ping보다 부하가 훨씬 많이 걸림
※ 패킷을 작게 분할하여 전달하는 이유
● 라우팅은 패킷을 전달할 때 특성이 똗같은 네트워크를 지나지 않음
● 네트워크마다 최대로 전송이 가능한 패킷의 길이가 다름
● 최대 전송 가능길이가 작은 네트워크를 지나면 데이터가 쪼개짐
● 한번 분할된 패킷은 다시 커지지 않음
● 패킷을 늘리려면 패킷을 저자한 후 다음에 들어온 패킷 데이터를 재조합해야함
● 이는 라우터 성능에 치명적일 정도로 부하를 일으킴
▣ 예를들어 ICMP 패킷의 길이를 65,500바이트로 설정 후 네트워크에 전송한다고 가정
▣ 패킷은 적절한 크기로 분할됨
▣ 만약 패킷이 지나는 네트워크의 최대 전송 가능 길이가 100바이트라면 패킷 하나가 655개로 분할됨
※ 보안 대책
● 반복적으로 들어오는 일정 수 이상의 ICMP 패킷을 무시하도록 설정
● 가장 일반적으로 할 수 있는 방법은 패치
● 현대 서버 운영체제에서는 반복 ICMP 차단 기능 탑재
2. SYN Flooding
● 서버별로 한정되어 있는 접속 가능 공간에 존재하지 않는 클라이언트가 접속 한 것으로 속여 다른 사용자가 서비스를 제공받지 못하게 하는 것 => 3 way handshake 선행 지식 필요
① 공격자는 많은 숫자의 SYN 패킷을 서버에 전송
② 서버는 받은 패킷에 대한 SYN/ACK 패킷을 각 클라이언트로 전송
③ 서버는 자신이 보낸 SYN/ACK 패킷에 대한 ACK 패킷을 받지 못함
④ 서버는 세션의 연결을 기다리게 됨
⑤ 공격 성공
※ 'SYN Received' 상태로 ACK 패킷을 기다리는 것을 '백로그에 빠졌다' 라고 표현함
※ 보안 대책
● 시스템 패치 설치
● 침입 탐지 시스템(IDS)이나 침입 차단 시스템(IPS)을 설치
● 짧은 시간 안에 똑같은 형태의 패킷을 보내는 형태의 공격을 인지했을 경우, 그에 해당하는 IP 주소 대역의 접속을 금지하거나 방화벽 또는 라우터에서 해당 접속을 금지시킴.
● 서버에서 클라이언트로 보내는 SYN+ACK 패킷에 암호화 기술을 이용해서 인증 정보가 담긴 시퀀스 넘버를 생성하여 클라이언트에 보내는 Syn_Cookie 이용
① 클라이언트로부터 SYN 패킷을 받으면, 간단한 인증 정보가 담긴 Syn_Cookie를 시퀀스 값에 넣고 세션을 닫음.
② 클라이언트가 Syn_Cookie가 포함된 값으로
ACK를 보내면 서버는 세션을 다시 열고 통신을 시작
3. Boink, Bonk, TearDrop Attack
● 시스템의 패킷 재전송과 재조합에 과부하가 걸리도록 시퀀스 넘버를 속이는 것
● Bonk : 처음 패킷을 1번으로 보낸 후 두 번째와 세 번째 패킷의 시퀀스 넘버를 모두 1번으로 조작해서 보냄.
● Boink : 처음 패킷을 1번으로 보낸 후 두 번째 패킷은 101번, 세 번째 패킷은 201번 등으로 정상적으로 보내다가 중간에서 일정한 시퀀스 넘버를 보냄.
● Teardrop : 시퀀스 넘버를 일정하게 바꾸는 것을 넘어 중첩과 빈 공간을 만들어 시퀀스 넘버가 좀더 복잡해지도록 섞음
=> 전혀 맞지 않는 시퀀스 넘버 때문에 공격 대상이 패킷화된 데이터를 제조합하는 데 혼란이 생겨 CPU에 과부하가 걸리게 됨
4. Nand Attack
● 시스템을 나쁜 상태에 빠지게 하는 것
● 패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소의 값을 똑같이 만들어서 공격 대상에게 보냄(조작된 IP 주소 값은 공격 대상의 IP 주소여야 함)
● Land 공격법은 동시 사용자 수를 점유하여 CPU 부하까지 올림.
5. Smuff Attack
● 라우터는 기본적으로 브로드캐스트를 지원하지 않아 다른 네트워크에 브로드캐스트를 할 때는 다이렉트 브로드캐스트를 하게 됨.
● 목적지 IP 주소 값을 255.255.255.255로 설정하여 패킷을 보내면 라우터가 외부 네트워크로 나가는 것을 차단하여 내부 네트워크인 랜(LAN) 안에서만 동작

● ICMP Request를 받게 된 네트워크는 ICMP Request 패킷의 위조된 시작 IP 주소로 ICMP Reply를 다시 보냄
● 공격 대상은 수많은 ICMP Reply를 받게 되고 Ping of Death처럼 수많은 패킷이 시스템을 과부하 상태로 만듦.
● 최근의 DOS 공격은 웹 어플리케이션 등을 대상으로 공격 방향을 전환 (7계층 Dos 공격)
※ 7계층 공격의 주요 특징
● 정상적인 TCP/UDP 연결 기반의 공격으로, 변조된 IP가 아닌 정상 IP를 이용한 접속 요청 후 공격이 진행되어 정상 사용자의 트래픽과 구분하기가 어려워 탐지가 어려움.
● 소량의 트래픽을 이용한 공격으로 오랜 시간에 걸쳐 서서히 공격이 진행되어 탐지가 어려움.
● 특정 서비스의 취약점을 이용하여 공격(현재까지는 웹 서비스의 취약점을 이용한 공격이 주를 이루고 있음)