본문 바로가기

사이버보안

4장 네트워크 보안 DoS - (1)

네트워크 기반 위협

  • 많은 공격 지점(네트워크에 컴퓨터가 계속 달라붙는 것), 특히 대규모 network에서는 공격지점이 더 많다.
  • 시스템의 복잡성 & 자원과 작업의 공유가 가능 > 많은 user가 접속
  수동적 공격 능동적 공격
특징 직접적 피해 없음 직접적인 피해 있음
탐지 가능성 어려움 수동적 공격에 비해 쉬움
대표적인 예 스니핑 & 도청 사회공학적 방법, 재사용 공격, 변조, Dos & DDoS, 세션 하이재킹

수동적 공격이 모이고 모이다 보면 능동적 공격에 필요한 정보들을 모을 수 있게 된다. 

능동적 공격이 일어났다는 의미는 그동안 수동적 공격도 상당히 이루어졌다는 의미가 된다!

 

 

[서비스 거부 공격]

- DoS (Denial of service) : 서비스가 정상적으로 제공되지 못하도록 방해하는 공격이다. 주로 server system 공격인 경우가 많다.

대규모의 가짜 요청을 만들어 가용성을 떨어뜨리는 것. 단일 포인트 공격이다.

 

- DDoS (Distributed Denial of service) : 공격자가 여러 곳에서 동시에 서비스 거부 공격을 하는 방법, DoS와 다르게 공격 포인트가 여러곳이라 공격자의 특정이 매우 어려움.

DoS와 DDoS

  대역폭 소진 공격 서버 마비 공격
공격의 형태 TCP SYN flooding
ICMP / UDP flooding
IP flooding : LAND, Teardrop
HTTP GET flooding
공격대상 네트워크 인프라  웹 서버, 정보보호 장비
증상 네트워크 대역폭이 고갈 공격 대상 시스템만 피해

* 보통 flooding이라는 단어가 들어가면 주로 DoS 유형에 속한다고 생각하면 됨.

 

 


TCP SYN flooding

TCP는 connection oriented, 즉 연결을 중요시하는 놈이다.

 

TCP의 3-way handshaking의 특징을 악용하는 것

(1) : 송신자가 SYN 패킷을 보냄 / "야 나랑 연결 ㄲ"

(2) : 수신자가 요청을 승인하는 의미로 SYN과 ACK을 보냄 / "ㅇㅋㅇㅋ" 

(2)에서는 수신자가 송신자의 ACK을 기다리게 된다.

(3) : 정상적인 3handshaking이라면 송신자가 ACK을 보내게 되지만, 이를 악용하는 경우 ACK은 보내지 않은채 계속해서 (1)로 돌아가게 된다.

(4) 수신자의 대기 큐에는 ACK을 기다려야 하는 것이 와다다 쌓이게 되고, 실질적으로 서비스가 필요한 사용자에게는 서비스 제공을 하지 못하게 된다.

 

대처방안

  • 물리적인 대기 큐의 크기 증가 : 자원에 한계
  • 최대 접속 대기 시간을 감소시켜 ACK 패킷이 제때 도착하지 않으면 강제로 종료하는 것. (약 2초로 설정하지만 2초도 통신에서는 상당히 긴 시간)
  • 보안 솔루션 적용 : 방화벽 또는 IPS(침입방지시스템) 등을 이용하여 동일 client 연결 요청에 대해 임계치를 설정

 


ICMP flooding : 스머프 어택

- 대량의 ICMP echo response를 만들어 공격한다.

- 목적지 IP를 directbroadcast 로 설정하고 ICMP request 송신, ICMP echo의 출발 IP를 공격대상자의 IP로 변조해 응답이 공격 대상자에게 향하게끔 한다.

 

STEP 1) 공격자에 의한 브로드캐스트 (<-> 유니캐스트와 반대되는 개념, 브로드캐스팅시 호스트 주소 부분이 255)

STEP 2) 변조된 ICMP echo request를 받은 에이전트(봇, 좀비, 슬레입) 들이 동시에 ICMP echo response를 공격자에게 보낸다.

 

대처방안

  • 동일한 ICMP Echo response 패킷이 다량 발생시 해당 패킷들을 침입차단시스템을 통해 모두 drop 시킨다.

 


UDP flooding

- UDP는 connectionless하다. 많은 수의 UDP pkt들을 전송해서 서비스의 가용성을 떨어뜨림.

- Spoofed IP와 port를 사용함. (남의 것을 사용함) 차단이 어려워진다.

- 아무 port num이나 사용한다면 ICMP unreachable 패킷을 사용하여 UDP 패킷을 보낸 사용자에게 회신한다. ( 니가 방금 쓴 포트는 못써!! 라고 회신해주는 느낌 > 이것이 반복되면 당연히 시스템이 악화되겠지..)

- 보통 DDoS 형태의 공격이 이루어짐. 이래야 금방 들키지 않기 때문.

- network bandwidth를 소모한다.

 

대처방안

  • 미사용 UDP port 차단
  • 필요한 포트에서만 인바운드 트래픽 (나에게 들어오는 트래픽) 을 허용하게끔.

 


 

LAND (Local Area Network Denial)

- 출발지 IP주소를 변조하는 공격이다.

- 패킷을 보낼 때 출발지 IP 와 도착지 IP를 동일하게 설정, 무한 루프에 빠지게 된다.

 

대처방안

  • 방화벽 & 네트워크 보안 솔루션 : 출발지 도착지 IP가 동일한 경우에는 예외처리를 제공한다
  • 최신 버전의 운영체제에는 패치가 적용되어있다고 한다.

 


Ping of Death

# data 패킷이 아니고 제어 목적의 pkt인 핑을 이용, 핑의 pkt 길이는 짧다. 하지만 의도적으로 핑을 최대길이로 전송하는 것.

 

- 초기 Dos 공격의 형태이다.

- 네트워크에서 패킷을 전송하기 적당한 크기로 보내는 특성을 이용한 공격, 핑명령을 보낼때 패킷을 최대한 길게 보내면 패킷이 아주 잘게 쪼개져서 전송된다. > 공격 당하는 시스템의 입장에서는 대량의 작은 패킷을 수신하게 되는 것이며 네트워크가 마비된다.

 

대처방안

  • ping이 내부네트워크에 들어오지 못하도록 방화벽에서 ICMP를 차단
  • ICMP 패킷은 보통 분할하지 않는다. 분할된 패킷이 있다면 공격으로 의심하여 탐지하면 됨. (보통 ICMP 패킷은 길 필요가 없다. 그래서 fragmentation이 일어나지 않는다는 것)

Teardrop

# fragmentation을 정상적으로 하지 않는 것

- IP패킷 헤더를 중첩되게 조작해서 IP패킷 재조합 과정에서 오류를 만드는 방법의 공격

- 블루스크린, 네트워크 연결 중단 등의 현상이 일어난다.

teardrop 왜 나는 천사의 눈물이 생각나지

시퀀스 넘버는 일정한 크기마다 numbering이 되는데, 정상적인 패킷 전송에서는 Numbering에 중첩이 없어 재조합시 문제가 생기지 않는다. 하지만 teardrop 에서는 시퀀스 numbering에 중첩을 만들거나 의도적으로 누락해서 재조합 과정 check시 overload를 발생시킨다. 그러면 당연히 상황이 좋아지지 않을 것.

대처방안

  • 시퀀스 번호 오류 패킷은 무시한다
  • 윈도우 xp 이상의 운영체제에서는 teardrop 패치가 포함되어있다.
  • 당연히 완벽한 차단은 어려움...

 

비슷한 종류로 Bonk Attack, Boink Attack이 있다.

  • Bonk Attack : 처음 패킷을 1번으로 보낸 후 두 번째, 세 번째 패킷 모두 시퀀스 넘버를 1번으로 조작
  • Boink Attack : 처음 패킷을 정상적으로 전송하다가 중간에 계속 비정상적인 시퀀스 넘버를 사용한다.
  • 이들의 대처방안으로는 소프트웨어 패치를 한다거나, 계속 반복되는 패킷을 수신시에 해당되는 MAC주소, IP주소등으로 부터 오는 패킷을 받지 않도록 설정하는 것이 있다!

DDoS의 구조

# 다수의 컴퓨터를 동시에 동작시켜 특정 시스템을 공격한다. 이때 공격자의 위치나 구체적 발원지는 정확하게 파악하는 것은 불가능

(다수의 컴퓨터를 사용하는 이유가 이것이다.. 찾기 힘들게 만드는 것!!)

 

- DDoS의 4가지 구성요소 : 공격자, 공격 대상자, 에이전트, 마스터

  에이전트 마스터
뭐가 다르니 ? 공격 대상자에게 실제 공격을 하는 주체이며, 자신도 모르게 (공격자가 심어놓은 악성코드를 통해) 공격에 이용될 수 있다. 중간에서 공격을 증폭하는 역할이며, 공격자로부터 공격을 명령받아 에이전트에게 전달한다.

DDos의 구조

DDoS 와 DoS 의 차이는 중간 AGENT가 존재하는지로 구분할 수 있다!

 


 

'사이버보안' 카테고리의 다른 글

대칭키 암호 - DES  (0) 2022.06.04
네트워크보안 - Spoofing  (0) 2022.04.20
4장 네트워크 보안 DoS - (2)  (0) 2022.04.19
2장 시스템보안(1)  (0) 2022.04.16