728x90
[DDoS 공격 참고자료]
AWS : https://aws.amazon.com/ko/shield/ddos-attack-protection/
Akamai : https://www.akamai.com/ko
목차
- DDoS 공격이란?
- DDoS 공격 분류
- DDoS 방지 기법
- 각 플러드 DDoS공격의 작동
DDoS 공격이란?
- 웹 사이트 또는 애플리케이션과 같은 대상 시스템의 가용성과 합법적인 최종 사용자에게 악영향을 미치려는 악의적인 시도입니다.
- 일반적으로 공격자가 대량의 패킷 또는 요청을 생성하여 궁극적으로 대상 시스템을 마비시킵니다.
- DDoS 공격은 OSI(Open Systems Interconnection) 모델의 계층에 따라 분리될 수 있으며, 계층3(네트워크), 계층4(전송), 계층6(표현) 및 계층7(응용)에서 가장 많이 나타납니다.
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) 플러드
- 공격 원리
- 공격자가 가짜 IP주소나 스푸핑 된 IP주소를 사용하여 서버의 모든 포트나 단일 포트에 SYN 패킷을 반복적으로 보냅니다.
- 이러한 요청이 정상적인 TCP연결처럼 보이며 서버는 포트 개방 요청이 있을 때마다 SYN-ACK 패킷으로 각 요청에 응답합니다.
- 서버가 최종 ACK 패킷을 절대 받지 못하기 때문에 열린 포트 연결의 개수가 계속 증가하고 가용한 모든 포트가 열리면 서버는 더 이상 정상 작동하지 못합니다.
UDP(User Datagram Packet) 플러드
- 공격 원리
- 공격자는 표적 시스템의 임의 포트에 스푸핑된 IP 주소가 있는 대량의 UDP 트래픽을 보냅니다.
- 시스템은 수신 애플리케이션에 대해 각 수신 패킷에 지정된 포트를 확인하고 응답을 실행해야 하므로 대상 서버의 리소스가 빠르게 소진되어 일반 트래픽과 정상적인 사용자가 사용할 수 없게 됩니다.
- 인터넷 연결은 쉽게 혼잡해지고 포화 상태가 될 수 있으며, 작은 헤더 페이로드로 UDP 패킷이 잘못 포맷되면 초당 패킷 속도가 증가하여 하드웨어 장애가 일어날 수 있습니다.
- UDP 플러드 : 정상적인 사용자 및 요청이 시스템, 서버, 대역폭 또는 시스템을 사용할 수 없도록 설계된 공격 종류입니다.
HTTP 요청 플러드
- 작동 원리
- HTTP 플러드 작동원리 : 웹 브라우저는 애플리케이션이나 서버와 통신하기 위해 GET이나 POST HTTP 요청을 보냅니다.
- 공격자가 정상적으로 보이는 표준 URL 요청을 사용합니다.
- HTTP 플러드 : 웹 페이지를 로드하고 인터넷을 통해 콘텐츠를 전송하는 데 사용되는 HTTP 인터넷 프로토콜을 악용하는 애플리케이션 레이어 공격입니다.
API
- 공격 형태
- API 구축의 기술적 취약점 악용
- 도난당한 인증정보 및 기타 계정 탈취 기술을 이용해 합법적인 사용자로 가장
- 예상치 못한 방식으로 API를 사용하기 위한 비즈니스 로직 악용
- API : 소프트웨어 애플리케이션이 서로 통신하여 데이터, 특징 및 기능을 교환할 수 있도록 하는 일련의 규칙 또는 프로토콜
WAF(웹 애플리케이션 방화벽)
: 웹의 비정상 트래픽을 탐지하고 차단하기 위한 방화벽
- 작동 방식
- AWS WAF ACL(웹 액세스 제어 목록)을 정의합니다.
- 이 목록을 보호할 하나 이상의 웹 애플리케이션 리소스에 연결하여 리소스에 연결하여 이 작업을 수행합니다.
- 연결된 리소스는 들어오는 요청을 웹 ACL의 검사를 해당 주소로 전달합니다.
728x90
'클라우드(Cloud) 1팀' 카테고리의 다른 글
[Cloud] AWS WAF DVWA 구현 (0) | 2024.10.09 |
---|---|
DDoS Best Practice AWS 아키텍처 분석 (3) | 2024.10.01 |
[Cloud] 클라우드 플랫폼(Cloud Platform)이란? (1) | 2024.09.17 |
[Cloud] 클라우드 서비스(Cloud Service)란? (0) | 2024.09.17 |
[Cloud] 클라우드 컴퓨팅(Cloud Computing)이란? (1) | 2024.09.17 |