[보안] DDoS(Distributed Denial of Service) 공격

koline·2023년 9월 14일
0

DDoS(Distributed Denial of Service) 공격


DDoS 공격은 DoS 공격의 또 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법이다.

해커들은 취약한 인터넷 시스템에 대한 액세스가 이뤄지면, 침입한 시스템(좀비 PC)에 소프트웨어를 설치하고 이를 실행시켜 원격에서 공격을 개시한다.



구성 요소


  1. 핸들러(Handler): 마스터 시스템의 역할을 수행하는 프로그램
  2. 에이전트(Agent): 공격 대상에게 직접 공격을 가하는 시스템(좀비 PC)
  3. 마스터(Master): 공격자에게서 직접 명령을 받는 시스템, 에이전트들을 관리하는 역할
  4. 공격자(Attacker): 공격을 주도하는 해커의 컴퓨터
  5. 데몬 프로그램(Daemon): 에이전트 시스템의 역할을 수행하는 프로그램



공격 종류


대역폭 소진 공격 (3~4계층)

UCP/ICMP Traffic Flooding

  • UDP/ICMP Flooding: 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP Destination Unreachable)를 생성하게 하여 지속해서 자원을 고갈시키는 UDP Flooding 공격 방식을 여러대로 분산해 실행하는 방식이다.
  • DNS Query Flooding: DNS 질의는 DNS 질의량에 비하여 DNS 서버의 응답량이 훨씬 크다는 점을 이용하여 출발지 IP를 대상자 IP로 위조한 DNS 질의를 중간자에게 다수 요청하는 방식이다.

TCP Traffic Flooding

  • SYN Flooding: TCP 프로토콜의 구조적인 문제를 이용한 공격으로 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 SYN Flooding 공격 방식을 여러대로 분산해 실행하는 방식이다.
  • SYN+ACK Flooding: SYN Flooding과 달리, 공격 대상의 세션에 들어있지 않은 SYN과 ACK를 대량으로 보내 대상의 자원을 소진시키는 공격이다.

IP Flooding

  • LAND Attack: 출발지와 목적지의 IP를 같은 주소로 보내 서버가 계속 자신에게 응답을 보내게 만들어 자원을 소진시키는 Land Attack 공격 방식을 여러대로 분산해 실행하는 방식이다.
  • Teardrop

서비스 마비 공격 (7계층)

HTTP Traffic Flooding

  • GET Flooding: HTTP GET 요청을 대량으로 보내 자원 소진 시키는 공격 방법
  • GET with Cache-Control: GET Flooding에 Cache-Control이라는 HTTP 헤더 옵션을 사용하는 방법

HTTP Header/Option Spoofing:

  • Slowris: HTTP POST 지시자를 이용하여 서버로 전달할 대량의 데이터를 장시간에 걸쳐 분할 전송하면 서버는 POST 데이터가 모두 수신하지 않았다고 판단하여 연결을 장시간 유지하게 된다.
  • Slowloris: 웹서버는 HTTP 메시지의 헤더 부분을 먼저 수신하여 이후 수신할 데이터의 종류를 판단하게 되는데, 헤더 부분을 비정상적으로 조작하여 웹서버가 헤더 정보를 구분할 수 없도록 하면, 웹서버는 아직 HTTP 헤더 정보가 모두 전달되지 않은 것으로 판단하여 연결을 장시간 유지하게 된다.
  • Slow Read Attack: 공격자는 웹서버와 TCP 연결 시, TCP 윈도우 크기 및 데이터 처리율을 감소시킨 후 HTTP 데이터를 송신하여 웹서버가 정상적으로 응답하지 못하게 된다.

Other L7 Service Flooding

  • Hash DoS: 웹 서버가 클라이언트로부터 전달받은 HTTP 메시지의 파라미터 관리를 위해 해시테이블을 사용하는데, 조작된 매개 정보를 포함한 다량의 메시지를 보내면 해시테이블 검색을 위한 인덱스로 사용되는 해시값에 충돌을 발생시켜 정확한 값을 찾기 위해 모든 해시 테이블을 검사하며 웹 서버의 CPU 자원을 소진하게 된다.
  • Hulk DoS: 공격 대상 웹 사이트 주소(URL)를 지속적으로 변경하여 일반적인 GET Flooding 공격을 우회하여 공격하는 방법
  • FTP/SMTP Attack



대응 방안


  1. 차단 정책 업데이트: 공격 규모를 확인하여 가용성이 침해될 수 있는 지점을 확인 및 데이터 기반 차단 정책 업데이트
  2. 좀비 PC IP 확보: 공격자는 대부분 Source IP를 위조하므로 IP 위변조 여부를 확인하는 절차 필요
  3. 보안 솔루션 운영: 방화벽, 침입 탐지 시스템 등의 보안 솔루션 운영
  4. 홈페이지 보안 관리: 홈페이지에 대한 모의해킹 등 수행하며 보안 유지
  5. 시스템 패치: 시스템에 존재하는 취약점을 패치를 통해 해결



참고


[보안] 소프트웨어 개발 보안

profile
개발공부를해보자

0개의 댓글

관련 채용 정보