본문 바로가기
IT 보안

서비스 거부/분산 서비스 거부 공격 (DoS/DDoS 공격)

by 떠도리c 2024. 9. 22.
반응형

🔹 서비스 거부/분산 서비스 거부 공격 (DoS/DDoS 공격)

공격자는 서비스 거부(DoS) 공격을 통해 인터넷에 연결된 호스트의 서비스를 중단시켜 서비스 이용자가 서비스를 이용하지 못하도록 하는 공격에 많이 사용됩니다.

이 공격은 호스트 서버가 처리할 수 있는 것보다 훨씬 많은 요청을 전달하여, 호스트 서버의 리소스와 대역폭을 소모시키며 서비스 마비를 일으킵니다. 이러한 공격 요청이 여러 손상된 컴퓨터(봇넷)에서 동시에 발생하는 것을 분산 서비스 거부(DDoS) 공격이라고 합니다.

이러한 공격은 랜섬웨어나 피싱 공격과는 다르게 직접적인 이익을 제공하지 않지만, 서비스의 가용성을 저해시켜 사용자들의 접근을 차단하거나 시스템을 마비시킬 수 있습니다. 사용자들은 정상적인 서비스 이용을 할 수 없게 되어 불편함을 겪게 되고, 기업들은 서비스 중단으로 인해 심각한 경제적 손실을 입을 수 있습니다. 따라서, 이러한 이유로도 공격자는 DoS/DDoS 공격을 실행할 수 있습니다.

 

 

 

🔹 DoS/DDoS 공격 유형

TCP SYN 플러딩 공격

출처: Imperva

TCP(전송 제어 프로토콜) 3-way handshake 과정에서 버퍼 크기의 취약점을 사용하여 여러 연결 요청을 만들어 시스템에 과부하를 일으키는 공격을 말합니다. 공격자의 시스템은 대상 시스템으로 SYN을 전달하고 이후 ACK에 대한 응답을 하지 않는다.

 

 

티어드롭(teardrop) 공격

출처: ResearchGate

이 공격은 조각난 정보 패킷을 대상 시스템으로 보내는 행위를 포함합니다. 이 공격은 TCP/IP 조각난 패킷 조립 버그를 이용하여 대상 시스템에서 조각난 패킷이 서로 겹치도록 만듭니다. 시스템이 조각난 패킷을 재구성하려고 하지만 실패하고 크래시가 발생합니다. 티어드롭 공격은 일반적으로 거대한 페이로드를 사용합니다.

 

 

UDP 플러딩 공격

출처: Cloudflare

대상 시스템의 랜덤 포트를 범람시켜 UDP(사용자 데이터그램 프로토콜) 패킷을 처리하고 응답하는 능력을 압도하는 행위를 포함합니다. 경우에 따라 서버에 연결된 방화벽이 UDP 플러딩으로 인해 과부하되어 시스템이 종료됩니다.

 

 

스머프(Smurf) 공격

출처: Imperva

압도적인 트래픽으로 대상을 포화시키기 위한 IP 스푸핑이 포함되며 스푸핑된 대상 IP에서 발생하는 ICMP 에코 요청을 이용하여 공격하는 것을 포함합니다. 이 요청은 지정된 범위의 모든 IP 주소로 이동하며 모든 응답은 시간이 지남에 따라 네트워크를 압도하는 수준으로 트래픽이 증가되어 희생자의 시스템은 더 이상 동작이 불가능할 정도로 느려지게 됩니다.

 

 

ping of death 공격

출처: Cloudflare

Ping of Death는 65,535 바이트를 초과하는 IP 패킷 공격을 처리하기 위한 패치를 하지 않은 시스템을 대상으로 핑 공격하는 것을 말합니다. 거대한 크기의 패킷을 대상 시스템으로 전달하여 대상시스템에서 조각화된 패킷을 재조립을 하는 과정을 이용합니다.그렇게 하는 동안, 시스템은 버퍼 오버플로우 및 크래시가 일어나게 됩니다.

 

 

봇넷

공격자의 악성 코드에 감염된 여러 시스템이 DDoS 공격을 수행하는 곳이라고 할 수 있습니다. 이러한 좀비 시스템은 대역폭과 처리 능력을 압도하여 대상 시스템을 불안정하게 만드는 임무를 수행합니다. 봇넷을 통한 공격은 서로 다른 지리적 위치에서 시작되므로 공격의 출처를 추적하는 것이 사실상 불가능 합니다.

 

 

🔹 DDoS 공격의 예

출처: Cloudflare

2018년 2월 해커들은 대규모 DDoS 공격에서 인기있는 코드 호스팅 사이트 GitHub를 표적으로 삼았습니다. 이것은 지금까지 알려진 가장 큰 DDoS 공격으로 간주됩니다. 짧은 기간 동안 지속되었지만 최고조에 이르렀을 때 GitHub 네트워크는 초당 1억 2,690만 개의 패킷 교환 속도로 초당 1.3 테라바이트의 데이터를 수신했습니다.

봇넷 공격이 아니라 멤캐시드 공격이었기 때문에 공격자들은 멤캐시드 서버에 스푸핑된 요청을 보냈고 결국 공격 강도를 50,000배로 증폭 시켰습니다. 전 세계 수천 명의 코더가 참여하는 고급 네트워크인 GitHub는 10분 이내에 공격을 감지하고 즉시 수정 경로를 시작했습니다. 전체 프로세스는 20분 밖에 걸리지 않았지만 공격 규모로 인해 최악의 DDoS 공격으로 남아있습니다.

💡멤캐시드 DDoS 공격이란 무엇일까요?
멤캐시드 공격은 공격자가 취약한 멤캐시드 서버로 HTTP GET 요청을 보내는 증폭 공격의 한 종류입니다. 취약한 서버는 요청을 받으면 큰 증폭 계수와 함께 의도된 표적으로 UDP 패킷을 전송합니다. 사이버 보안 전문가들은 일부 멤캐시드 증폭이 대량의 UDP 데이터를 반환하도록 요청하는 초기 "GET" 요청의 5만 1천배에 도달할 수 있다고 추정합니다. 이 요청은 피해자의 IP 주소에서 온 것처럼 보이도록 소스 IP 주소를 스푸핑하도록 설계되어 있습니다. 멤캐시드 서버가 응답하면, 데이터를 피해자의 IP 주소로 전송해 트래픽을 증폭시키고, 피해자의 서버를 압도합니다.

멤캐시드 DDoS 공격은 어떻게 이루어질까요?
멤캐시드 DDoS 공격은 다음과 같은 단계로 이루어집니다.
1. 공격자는 인터넷에서 취약한 멤캐시드 서버를 스캔합니다.
2. 공격자는 노출된 멤캐시드 서버로 작은 HTTP GET 요청을 보내 대량의 데이터 UDP 멤캐시드 페이로드를 반환하도록 요청합니다.이 요청은 피해자의 IP 주소에서 온 것처럼 보이도록 소스 IP 주소를 스푸핑하도록 설계되어 있습니다.
3. 멤캐시드 서버는 피해자의 IP 주소로 대량의 데이터를 전송해 요청에 응답합니다.
4. 데이터 센터에 있는 피해자의 서버는 악성 반사 공격 트래픽에 압도되고, 정상적인 사용자가 접속할 수 없게 됩니다.

Ref. https://www.akamai.com/ko/glossary/what-is-a-memcached-ddos-attack

 

 

 

🔹 DoS/DDoS 공격에 대비하기

공격자를 추적하고 공격의 출처를 아는 것이 사실상 불가능하기 때문에 DDoS와 싸우는 것은 매우 어렵습니다.

DoS/DDoS 공격은 발생 후 조치를 취하는 것보다 예방하는 것이 가장 효과적이기 때문에 보안 및 네트워크 감시 도구를 사용하여 트래픽을 모니터링하면 일반적으로 DDoS 공격을 방어하는데 도움이 됩니다.

또한 의심스러운 네트워크 활동을 모니터링하는 것이 도움이 됩니다.

예시:

  1. 비정상적인 웹 트래픽 피크는 경보를 발생
  2. 웹 관리자는 인터넷 패킷이 자신의 진짜 IP 주소로 올바르게 추적되는 수신 필터링
  3. 스푸핑된 IP 주소를 차단하고 알려진 악성 소스에서 들어오는 트래픽을 차단하면 DDoS 공격을 방지
  4. 공격자가 취약점을 악용하지 않도록 사용되지 않는 서버 포트는 닫기
  5. 라우터 수준에서 IP 지향 브로드 캐스트를 비활성화하는 것 또한 도움
  6. SYN 패킷을 처리하도록 방화벽을 구성하고 최대 크기에 대해 조각난 페이로드를 모니터링하여 PoD 공격을 방지

Ref. https://www.appsealing.com/

 

반응형