본문 바로가기
정보처리기사

[정보처리기사 실기] DDOS 공격

by 공불러 2023. 4. 3.
728x90
반응형

2023.04.02 - [분류 전체보기] - 정보처리기사 실기 - 소프트웨어 보안

 

정보처리기사 실기 - 소프트웨어 보안

정처기에서는 대부분 웹 서비스를 다룬다. 웹에 홈페이지, 플랫폼과 같은 서비스를 제공하는 것은 소프트웨어를 사용하는 것이다. 이 때문에 프로그래밍 언어에서 자바를 다룬다. 자바는 냉장

shareknowledge-top.tistory.com

 

 

이 전 글에 이어서, 소프트웨어 보안 파트 공부를 이어갑니다.

공격 기법도 20개 중 1~2개씩 나오므로 안볼 수 없습니다.

공격 기법을 설명하고 마추라는 방식이 많으므로 설명을 보고 기법을 맞추는 연습을 하면 좋습니다.

 

DDOS 공격이란? - 이렇게 큰 개념은 시험에 안나옴

DoS 공격의 또 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 공격하는 것을 말한다.

Q. Dos와 DDoS는 다른가?

A. 차이를 두는 것은 의미에 대한 해석이 이상해진다. DoS(Denial of Servicce)와 DDoS(Distributed DoS) 공격은 Dos를 여러 공격자에게 분배하여 한다는 것이 옳다. 즉, 다르지 않고 더 많은 공격자를 이용한다는 것이 차이이다.

 

DDoS 공격 구성 요소는 ?

구성요소 설명 키워드
handler 마스터 시스템의 역할을 수행하는 프로그램 마스터시스템
Agent 공격대상에 직접 공격을 가하는 시스템 직접 공격
Master 공격자에게 직접 명령을 받는 시스템
여러대의 에어전트를 관리
직접 명령 Agent 관리
Attacker 공격을 주도하는 해커의 컴퓨터 공격 주도
Daemon 에이전트 시스템의 역할을 수행하느 프로그램 Agent 역할을 수행

 

DDoS 공격 도구는 ?

  • Trinoo - UDP 서비스 거부 공격 유발 
    • 많은 소스들로부터 통합된 UDP flood 서비스 거부 공격을 유발하는 데 사용되는 도구
    • Trinto 공격은 몇 개의 서버들과 많은 수의 클라이언트들로 이루어짐  
    • 몇개의 master와 수많은 daemon들로 구성됨.
  • TFN(Tribe Flood Network) - UDP, ICMP, ICMP브로드캐스트(Smurf)
    • TFN은 trinoo와 유사한 분산도구로 많은 소스에서 하나 혹으 여러 개의 목표 시스템에 대해 서비스 거부 공격을 수행할 수 있는 도구
    • 공격자가 클라언트(master) 프로그램을 통해 공격 명령을 TNF 서버(데몬)들로 보내면서 이루어짐
    • UDP flood, ICMP echo 요청, ICMP 브로드 캐스트 공격 수행 가능
  • stacheldraht - ICMP, SYN, UDP, smurf
    • 분산 서비스 거부 에이전트 역할을 하는 linux와 Solaris 시트템용 멀웨어 도구

 

DDoS 대응방법 - 시험에 나올 확률 0.005%

  • 차단 정책 업데이트 - 데이터 기반 차단 청책/ 공격규모 확인하여 가용성이 침해되지 않게
  • 좀비 PC ip 확보 - souce ip를 변조하는 경우(IP Spoofing)가 많으므로 위조 여부 확인
  • 보안 솔루션 운영 - 방화벽, 침입 탐지
  • 홈페이지 보안 - 모의 해킹으로 연습
  • 시스템 패치 - 취약점을 패치 

 

DDos 공격의 종류 - 최종 정리라 봐두면 도움됨

지난 게시글인 DoS 공격의 종류와 함께 보면 좋음.

 

대역폭 소진 공격 - 서비스 불능을 많들기 위해 요청을 늘리는 것

  • UPD/ICMP Traffic Flooding 
    • UPD/ICMP Flooding  
      • 대량의 UPD 패킷을 만들어 임의 포트 번호로 전송하여 응답 메시지( ICMP Destinstion Unreachable)를 생성하게 하여 지속해서 자원을 고갈시키는 공격
    • DNS query Flooding
      •  
  • TCP Traffic Flooding 
    • SYN Flooding
      • TCP의 구조적 문제를 이용한 공격
      • 동시 가용자 수를 SYN 패킷만 보내서 점유
      • 서버는 자원만 고갈하게됨
    • SYN + ACK Flooding
      • SYN과 ACK는 TCP에서 연결 전 응답을 확인하기 위한 과정에 쓰이는 신호 이걸 늘려서 서비스가 안되게 함
  • IP Flooding 
    • Land attak
      • 출발지와 목적지의 ip를 동일하게 만들어서 자기 자신이 대답하게 하는 방법
    • Teardrop
      • IP 패킷 재조합에서 문제가 생기도록 IP 패킷안의 Fregment Offset 정보를 이상하게 만듦. 그럼 수신 시스템에서 이거 해석하다가 문제가 발생하고 시스템이 마비될 수 있음

추가로 알아야하는 Dos 공격

더보기

스머핑 : 출발지 주소 공격 대상의  IP로 함(Lnad attack과 유사).

네트워크 전체에게 ICMP Echo  패킷을 직접 브로드캐스팅하여 마비시키는 공격

Bounce site 사용

 

프로토콜의 오류제어를 이용한 공격 방법

봉크 : 같은 시퀀스 번호를 계속보냄

보잉크 : 일정한 간격으로 시퀀스 번호에 빈 공간을 만듬

 

서비스(Application) 마비 공격

  • HTTP Traffic Flooding
    • GET flooding
      • 대량의 GET 요청을 보냄. 
      • cache Control Attack 공격
    • GET with cache-control
  • HTTP Haeder/Option Spoofing
    • Slowris(Slowloris) - slow loris는 느린 원숭이를 말함. 느린 롯서스 원숭이
      • HTTP GET 메서드를 이용해서 헤더의 최종 끝을 알리는 개행 문자열(\n\r\n\r 등)을 전송하지 않고, \n\r만 전송해서 대상 웹서버의 연결 상태를 장시간 지속 시키고 연결 자원을 모두 소진시키는 서비스 거부 방법
      • HTTP 헤더의 일부만 보내서 지속적으로 보류시키려는 목적
    • Slow HTTP Read Dos
    • FTP/SMTP Attack

 

 

DRDoS(Distributed Reflection DoS) 공격이란?

공격자는 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송, 공격 대상자는 반사 서버로부터 다량의 응답을 받아서 서비스 거부가 되는 공격

좀비 컴퓨터 대신에 열린 포트에 대한 반사 공격을 이용함.

 

더보기

RDDoS 공격은 일반적으로 피해자의 IP 주소를 스푸핑하여 여러 개의 열린 포트에 대한 요청을 보내게 됩니다. 그러면 이 요청들은 이전에 해당 서비스를 사용한 클라이언트들의 요청을 반사(reflection)하여 피해자에게 돌아오게 됩니다. 이렇게 반사된 요청들은 피해자의 서버로 집중되어, 서비스 거부 상태로 만들어버립니다

 

반사 공격은 공격자가 피해자의 IP 주소를 가장한 요청을 다수의 서버에 보내면, 서버에서는 그 요청에 대한 응답을 피해자의 IP 주소로 되돌려보내는 과정을 이용하는 공격입니다. 이 과정에서 서버는 피해자의 IP 주소를 가진 요청을 처리하지 않고, 그 요청을 피해자에게 되돌려 보내는데, 이때 되돌려 보내는 요청이 반사된 요청이라고 합니다.

예를 들어, 공격자가 A라는 IP 주소를 가진 피해자의 웹 사이트에 반사 공격을 하려고 한다고 가정해보겠습니다. 공격자는 B, C, D라는 IP 주소를 가진 여러 개의 서버에 대해 피해자의 IP 주소를 가장한 요청을 보내게 됩니다. 이때, B, C, D 서버는 그 요청을 처리하지 않고, 해당 요청에 대한 응답을 피해자의 IP 주소로 되돌려 보냅니다. 이러한 과정에서 공격자가 보낸 요청이 반사되어 피해자의 웹 사이트로 집중되고, 이로 인해 웹 사이트가 다운되는 것입니다.\

 

즉, 실제 내 서버는 아무것도 안했는데, 어떤 놈이 우리 서버 IP로 다른 서버들에 요청을 보내서 보내지도 않은 답장이 오는 것임

세션하이제킹(Session Hijaking)

  • 케빈 미트닉이 사용한 방법
  • TCP Sequence Number의 취약점을 노림
  • 공격자가 해당 사용자의 데이터 패킷을 가로채거나, 해당 사용자의 컴퓨터에 악성 코드를 심어 원격으로 조종하여 공격
  • 공격자는 해당 사용자의 인증 정보, 쿠키 등을 탈취하여, 웹 사이트 등에 로그인하여 사용자 대신 일을 처리하거나, 중요한 데이터를 탈취하는 등의 행위를 함
  • 세션 하이재킹은 대개 HTTPS와 같은 암호화된 통신을 통해 방어될 수 있습니다. 하지만, SSLStrip과 같은 공격 기법을 사용하면 이를 회피할 수 있습니다.
  • 대부분의 웹 사이트는 세션 하이재킹을 방어하기 위해 다양한 방법을 사용합니다. 예를 들어, 세션 ID를 무작위로 생성하여 이를 암호화하여 전송하거나, 쿠키 값을 무작위로 변경하여 보안성을 강화하는 등의 방식을 사용합니다.
  • victim과 server 사이의 패킷을 스니핑(몰래가져가는 방법)하여 sequnce number 획득

자세한 애플리케이션 공격기법.

다음편 예고

HTTP GET 플러팅, Slowloris, RUDY, slow HTTP Read, hulk DoS, Hash Dos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글