IT 기초/Security

[Security] DDoS Attack

데이터 세상 2021. 12. 27. 17:33

DDoS (Distributed Denial of Service)

  • 여러 대의 공격자를 분산적으로 배치해 동시에 서비스 거부 공격하는 방법
  • 서비스 거부 공격 또는 디오에스/도스는 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격

 

공격 분류

인프라 계층 공격

  • 계층 3과 4에 대한 공격은 일반적으로 인프라 계층 공격으로 분류
  • 가장 일반적인 유형의 DDoS 공격이며, SYN(동기화된) 플러드 같은 벡터 그리고 UDP(User Datagram Packet) 플러드 같은 기타 반사 공격을 포함
  • 대개 볼륨이 상당히 크고, 네트워크 또는 애플리케이션 서버 용량에 과부하가 걸리게 하는 것을 목표
  • 이러한 공격 유형은 징후가 분명하고 감지하기가 좀 더 쉬움

애플리케이션 계층 공격

  • 계층 6과 7에 대한 공격은 주로 애플리케이션 계층 공격으로 분류
  • 덜 일반적이긴 하지만 좀 더 정교한 경향이 있음
  • 인프라 계층 공격과 비교하여 볼륨은 작지만, 애플리케이션에서 고가의 특정 부분을 집중적으로 공격하여 실제 사용자가 사용할 수 없도록 만듦
  • ex) 로그인 페이지에 대한 HTTP 요청 플러드, 고가의 검색 API, 또는 Wordpress XML-RPC 플러드(Wordpress 핑백 공격이라고도 함)

 

보호 기법

공격 대상 영역을 축소

  • 공격을 받을 수 있는 대상 영역을 최소화하여 공격자의 옵션을 제한하고 한 곳에서 보호 기능을 구축하는 것
  • AWS에서는 애플리케이션이나 리소스를 통신이 일어날 것으로 예상되지 않는 포트, 프로토콜 또는 애플리케이션에 노출하지 않는다
  • 일부의 경우에는 컴퓨팅 리소스를 CDN(Content Distribution Networks) 또는 Load Balancer 뒤에 배치하고 데이터베이스 서버와 같은 인프라의 특정 부분에 인터넷 트래픽이 직접 접근하지 못하도록 제한할 수 있습니다. 
  • 다른 경우에는 방화벽 또는 ACL(액세스 제어 목록)을 사용하여 애플리케이션에 도달하는 트래픽을 제어할 수 있습니다.

규모에 대한 대비

  • 공격을 흡수하고 완화할 수 있는 대역폭(또는 전송) 용량과 서버 용량
  • 전송 용량. 애플리케이션을 설계할 때에는 호스팅 공급업체가 대량의 트래픽을 처리할 수 있도록 충분한 중복 인터넷 연결을 제공하는지 확인해야 합니다
    • 웹 애플리케이션의 경우는 CDN(Content Distribution Network) 및 스마트 DNS 확인 서비스를 사용하여 최종 사용자에게 좀 더 가까운 위치에서 콘텐츠를 제공하고 DNS 쿼리를 해결할 수 있는 추가적인 네트워크 인프라 계층을 제공할 수 있습니다.
  • 서버 용량. 대부분의 DDoS 공격은 많은 리소스를 소모하는 볼륨 공격입니다. 따라서 컴퓨팅 리소스를 신속하게 확장 또는 축소할 수 있는 기능이 중요
    • 더 큰 컴퓨팅 리소스에서 실행하거나, 더 큰 볼륨을 지원하는 좀 더 광범위한 네트워크 인터페이스 또는 향상된 네트워킹과 같은 기능이 있는 컴퓨팅 리소스에서 실행
    • 로드 밸런서를 사용하여 지속적으로 리소스 간 로드를 모니터링하고 이동하여 하나의 리소스에만 과부하가 걸리지 않도록 하는 것도 일반적인 방법

정상 및 비정상 트래픽을 파악

  • 속도 제한, 호스트의 트래픽 볼륨이 증가하는 것을 감지할 때마다 AWS에서 가장 기본적으로 고려하는 원칙은 가용성에 영향을 주지 않고 호스트가 처리할 수 있는 만큼의 트래픽만 수용할 수 있어야 한다는 것

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

  • 애플리케이션 자체의 취약성을 악용하려고 시도하는 SQL 명령어 주입 또는 사이트 간 요청 위조와 같은 공격에 대비하려면 WAF(Web Application Firewall)를 사용을 권장
  • 정상 트래픽으로 위장하거나 잘못된 IP 또는 예상치 못한 지역에서 수신되는 등의 특징이 있을 수 있는 불법적인 요청에 대비하여 사용자 지정된 완화 기능을 손쉽게 생성할 수 있어야 함
  • 트래픽 패턴을 연구하고 사용자 지정된 보호 기능을 생성할 수 있는 경험이 풍부한 엔지니어의 지원을 받을 수 있다면 공격을 완화하는 데 도움이 될 수 있음

 

DDoS 피해 사례

GitHub, 2018년 2월, https://blog.alyac.co.kr/1563

  • 순간트래픽이 1.35 Tbps에 달하는 DDoS 공격
  • 간헐적으로 사이트가 끊기는 현상이 발생
  • 10분 내, Github는 DDoS 보안장비업체인 Akamai Technologies에 도움 요청을 하였으며, 8분 뒤 공격자는 공격을 철회

References

반응형

'IT 기초 > Security' 카테고리의 다른 글

CDN(Content Delivery Network)  (0) 2021.12.27
[Security] UTM(Unified Threat Management)  (0) 2021.12.27
[Security] SQL Injection  (0) 2021.12.27
[Security] IDS/IPS  (0) 2021.12.27
[Security] WAF (Web Application Firewall)  (0) 2021.12.27