클라우드(Cloud) 1팀

DDoS 공격에 대하여

ekdnjs510 2024. 9. 25. 15:36
728x90

 

[DDoS 공격 참고자료]

 

AWS : https://aws.amazon.com/ko/shield/ddos-attack-protection/

 

DDOS 공격의 정의 및 공격으로부터 사이트를 보호하는 방법

모든 AWS 고객은 추가 비용 없이 AWS Shield Standard에 의한 자동 보호를 받을 수 있습니다.

aws.amazon.com

 

Akamai : https://www.akamai.com/ko

 

클라우드 컴퓨팅, 보안, 콘텐츠 전송(CDN) | Akamai

Akamai Connected Cloud는 대규모로 분산된 엣지 및 클라우드 플랫폼으로, 경험은 사용자와 더 가까운 곳에 배치하고, 위협은 멀리서 차단합니다.

www.akamai.com

 

 

 

이미지 출처 : https://www.akamai.com/ko/glossary/what-is-ddos

목차

 

  • DDoS 공격이란?
  • DDoS 공격 분류
  • DDoS 방지 기법
  • 각 플러드 DDoS공격의 작동

 

 

DDoS 공격이란?

 

  • 웹 사이트 또는 애플리케이션과 같은 대상 시스템의 가용성과 합법적인 최종 사용자에게 악영향을 미치려는 악의적인 시도입니다.
  • 일반적으로 공격자가 대량의 패킷 또는 요청을 생성하여 궁극적으로 대상 시스템을 마비시킵니다.
  • DDoS 공격은 OSI(Open Systems Interconnection) 모델의 계층에 따라 분리될 수 있으며, 계층3(네트워크), 계층4(전송), 계층6(표현) 및 계층7(응용)에서 가장 많이 나타납니다.

 

 

사진 출처 : https://velog.io/@hiy7030/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7%EA%B3%84%EC%B8%B5

 

 

DDoS 공격 분류

 

 

인프라 계층 공격

  • 계층3(네트워크), 계층4(전송)에 대한 공격
  • SYN(synchronize) 플러드 같은 벡터 그리고 UDP(User Datagram Packet) 플러드 같은 기타 반사 공격을 포함합니다.
  • 볼륨이 상당히 크고, 네트워크 또는 애플리케이션 서버 용량에 과부하가 걸리게 하는 것이 공격 목표로 합니다.

애플리케이션(응용) 계층 공격

  • 계층6(표현), 계층7(응용)에 대한 공격
  • 덜 일반적이만 더 정교합니다.
  • 인프라 계층에 비해 불륨은 작지만, 애플리케이션에서 고가의 특정 부분을 집중적으로 공격하여 실제 사용자가 사용할 수 없도록 만듭니다.
  • 로그인 페이지에 대한 HTTP 요청 플러드, 고가의 검색 API 또는 Wordpress XML-RPC 플러드(Wordpress 핑백 공격)

 

DDoS 방지 기법

 

공격 대상 영역 줄이기

  • 공격 받을 수 있는 대상 영역 최소화→공격자 옵션 제한
  • 컴퓨팅 리소스를 콘텐츠 전송 네트워크(CDN) 또는 로드 밸런서 뒤에 배치하고 데이터베이스 서버와 같은 인프라의 특정 부분에 인터넷 트래픽이 직접 접근하지 못하도록 제한할 수 있습니다.
  • 방화벽 또는 ACL(액세스 제어 목록)을 사용하여 애플리케이션에 도달하는 트래픽을 제어할 수 있습니다.

 

규모에 대한 대비

  • 전송(또는 대역폭) 용량
    (DDoS 공격의 최종 목표:가용성에 악영향)
  • 서버 용량
    (대부분의 DDoS 공격은 많은 리소스를 소모하는 공격)
    컴퓨팅 리소스를 신속하게 확장 또는 축소할 수 있는 기능 중요 → 큰 볼륨(광범위한 네트워크 인터페이스)
    또는 향상된 네트워킹 기능, 로드 밸런서를 통해 지속적인 리소스 간 로드를 모니터링 및 이동시켜 과부하 걸리지 않게 합니다.

 

정상 및 비정상 트래픽 파악

  • 속도 제한 : 트래픽 발생의 수준이 증가하는 것을 감지 → 가용성에 영향을 주지 않고 호스트가 처리할 수 있는 만큼의 트래픽만 수용할 수 있어야 합니다.

 

정교한 애플리케이션 공격에 대비하여 방화벽 배포

  • WAF(웹 애플리케이션 방화벽) 사용 : SQL주입 또는 사이트 간 요청 위조 공격대비에 좋습니다.

 

*용어

가용성 : 요구 기능을 요구 시간 동안 올바르게 수행할 수 있는 능력

트래픽 : 서버에 전송되는 모든 통신, 데이터의 양
>> 트래픽 볼륨 증가
- 데이터 집약적인 애플리케이션

- 스트리밍 서비스 및 클라우드 컴퓨팅 수요의 기하급수적인 증가
: 네트워크 트래픽 급증 ⇒ 데이터 불륨이 증가함에 따라 네트워크 인프라가 과부하되어 혼잡이 발생할 수 있습니다.

볼륨 : 저장 장치의 할당 바이트들을 분할, 조합하는 데이터 구조체


콘텐츠 전송 네트워크(CDN) : 데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 상호 연결된 서버 네트워크


로드 밸런서 : 트래픽 과부하 시 다수의 서버로 트래픽을 분산시켜 안정적인 서비스가 유지되도록 하는 서비스


ACL(액세스 제어 목록) : 시스템 리소스와 관련된 권한 목록이고, 방화벽을 구축하는 데 있어서 가장 중요한 요소이며 트래픽 필터링의 기능을 합니다.

 

 

각 플러드 DDoS공격의 작동

SYN(synchronize) 플러드

 

  • 공격 원리
    1. 공격자가 가짜 IP주소나 스푸핑 된 IP주소를 사용하여 서버의 모든 포트나 단일 포트에 SYN 패킷을 반복적으로 보냅니다.
    2. 이러한 요청이 정상적인 TCP연결처럼 보이며 서버는 포트 개방 요청이 있을 때마다 SYN-ACK 패킷으로 각 요청에 응답합니다.
    3. 서버가 최종 ACK 패킷을 절대 받지 못하기 때문에 열린 포트 연결의 개수가 계속 증가하고 가용한 모든 포트가 열리면 서버는 더 이상 정상 작동하지 못합니다.

출처 : https://www.akamai.com/ko/glossary/what-are-syn-flood-ddos-attacks

 

 

 

UDP(User Datagram Packet) 플러드

 

  • 공격 원리
    1. 공격자는 표적 시스템의 임의 포트에 스푸핑된 IP 주소가 있는 대량의 UDP 트래픽을 보냅니다.
    2. 시스템은 수신 애플리케이션에 대해 각 수신 패킷에 지정된 포트를 확인하고 응답을 실행해야 하므로 대상 서버의 리소스가 빠르게 소진되어 일반 트래픽과 정상적인 사용자가 사용할 수 없게 됩니다.
    3. 인터넷 연결은 쉽게 혼잡해지고 포화 상태가 될 수 있으며, 작은 헤더 페이로드로 UDP 패킷이 잘못 포맷되면 초당 패킷 속도가 증가하여 하드웨어 장애가 일어날 수 있습니다.
  • UDP 플러드 : 정상적인 사용자 및 요청이 시스템, 서버, 대역폭 또는 시스템을 사용할 수 없도록 설계된 공격 종류입니다.

출처 : https://www.akamai.com/ko/glossary/what-is-udp-flood-ddos-attack



 

HTTP 요청 플러드

 

  • 작동 원리
    1. HTTP 플러드 작동원리 : 웹 브라우저는 애플리케이션이나 서버와 통신하기 위해 GET이나 POST HTTP 요청을 보냅니다.
    2. 공격자가 정상적으로 보이는 표준 URL 요청을 사용합니다.
  • HTTP 플러드 : 웹 페이지를 로드하고 인터넷을 통해 콘텐츠를 전송하는 데 사용되는 HTTP 인터넷 프로토콜을 악용하는 애플리케이션 레이어 공격입니다.

출처 : https://www.akamai.com/ko/glossary/what-is-an-http-flood-ddos-attack

 

 

API

 

  • 공격 형태
    • API 구축의 기술적 취약점 악용
    • 도난당한 인증정보 및 기타 계정 탈취 기술을 이용해 합법적인 사용자로 가장
    • 예상치 못한 방식으로 API를 사용하기 위한 비즈니스 로직 악용
  • API : 소프트웨어 애플리케이션이 서로 통신하여 데이터, 특징 및 기능을 교환할 수 있도록 하는 일련의 규칙 또는 프로토콜

 

 

 

WAF(웹 애플리케이션 방화벽)

: 웹의 비정상 트래픽을 탐지하고 차단하기 위한 방화벽

 

  • 작동 방식
    1. AWS WAF ACL(웹 액세스 제어 목록)을 정의합니다.
    2. 이 목록을 보호할 하나 이상의 웹 애플리케이션 리소스에 연결하여 리소스에 연결하여 이 작업을 수행합니다.
    3. 연결된 리소스는 들어오는 요청을 웹 ACL의 검사를 해당 주소로 전달합니다.



 

728x90