[정보 보안 개론] 네트워크 보안(서비스 거부 공격: DoS-1, 보잉크/봉크/티어드롭, 랜드 공격, 죽음의 핑 공격, SYN 플러딩 공격)

Jin_Hahha·2024년 10월 10일
0

정보 보안 개론

목록 보기
9/17


서비스 거부 공격(Denial of Service)

  • DoS(서비스 거부 공격)

  • 다른 해킹에 비해 비교적 간단

  • 일종의 훼방이라고 볼 수 있음

  • DDoS(분산 서비스 거부 공격, Distributed Denial os Service)

    • 공격자가 한 지점에서 서비스 거부 공격을 수행하는 것을 넘어 광범위한 네트워크를 이용하여 다수의 공격 지점에서 동시에 한 곳을 공격하는 형태의 서비스 거부

서비스 거부 공격(DoS)

취약점 공격형

  • 특정 형태의 오류가 있는 네트워크 패킷의 처리 로직에 문제가 있을 경우, 공격 대상이 그 문제점을 이용하여 오작동을 유발하는 형태
  • 보잉크 / 봉크 / 티어드롭 공격, 랜드 공격

자원 고갈 공격형

  • 네트워크 대욕폭이나 시스템의 CPU, 세션 등의 자원을 소모시키는 형태
  • 랜드 공격, 죽음의 핑 공격, SYN 플러딩 공격, HTTP GET 플러딩 공격, HTTP CC 공격, 동적 HTTP 리퀘스트 공격, 슬로 HTTP 헤더 DoS(슬로로리스) 공격, 슬로 HTTP POST 공격, 스머프 공격, 메일 폭탄 공격

보잉크/봉크/티어드롭 공격

  • 보잉크(Boink), 봉크(Bonk), 티어드롭(TearDrop) 공격은 프로토콜의 오류 제어 로직을 악용하여 시스템 자원을 고갈시키는 방식
  • TCP는 시퀀스 넘버 기반의 오류 제어 방식 사용
    • 패킷의 순서가 올바른지 확인
    • 손실된 패킷이 없는지 확인
    • 손실 패킷의 재전송 요구
  • TCP는 데이터 전송 시 신뢰 확보를 위해 패킷 전송에 문제가 발생하면 반복적으로 재요청 및 수정 시도
  • 위의 공격 기법들은 시스템의 패킷 재전송과 재조합에 과부하가 걸리도록 시퀀스 넘버를 날조

  • 티어드롭

    • 패킷의 시퀀스 넘버와 길이를 조작
    • 패킷 간의 데이터 부분이 겹치거나 빠진 상태로 패킷을 전송하는 공격 방법

  • 시퀀스 넘버가 조작된 패킷은 흐름은 공격 대상에게 절대 해결할 수 없는 퍼즐을 주는 것과 같음

  • 시스템은 해당 패킷의 오류를 해결하기 위해 논리 작업을 반복하다가 동작 중지

  • 위의 취약점은 패치 관리를 통해 제거됨

    • 과부하가 걸리거나 계속 반복되는 패킷을 무시하고 버리도록 처리

랜드 공격

  • land의 의미 중, (나쁜 상태에) 빠지게 한다는 의미를 사용
  • 시스템을 나쁜 상태에 빠뜨리는 방법
  • 공격 방법도 매우 간단
    • 출발지 IP 주소와 목적지 IP 주소의 값을 똑같이 만들어서 공격 대상에게 전송
    • 이때 조작된 목적지 IP 주소는 공격 대상의 IP 주소여야 함
  • 위처럼 목적지 주소가 조작된 패킷을 전송하면 시스템은 공격자가 보낸 SYN 패킷의 출발지 주소를 참고하여 응답 패킷 전송
  • SYN 패킷의 출발지 주소가 공격 대상의 주소이므로 패킷이 네트워크로 보내지지 않고 자신에게 돌아옴
  • 돌아온 패킷의 출발지에는 다시 자신의 IP가 기록됨
  • 랜드 공격은 SYN Flooding처럼 동시 사용자 수를 점유하고 CPU 부하를 올려 시스템이 금방 지치게 만듦

  • 랜드 공격에 대한 보안은 주로 운영체제의 패치 관리를 통해 마련
  • 방화벽과 같은 보안 솔루션을 활용하기도 함
  • 이때 네트워크 보안 솔루션에는 출발지와 목적지 주소의 적절성을 검증하는 기능이 있음

죽음의 핑 공격

  • 죽음의 핑(ping of death) 공격은 NetBIOS 해킹과 함께 시스템 파괴에 가장 흔히 쓰인 초기의 DoS 공격 방법
  • 네트워크 패킷이 하나의 덩어리로 전송되는 것이 아니라 수많은 조각으로 잘려 보내진다는 것을 이용한 공격
    -윈도우 95, 98, 리눅스 6.0 이하의 버전에서 유효

  • 네트워크 연결 상태를 점검하는 ping 명령을 보낼 때 공격 대상에게 패킷을 최대한 길게 보내면(최대 65,500 바이트) 지나가는 네트워크의 특성에 따라 수백~수천 개의 패킷으로 쪼개짐
  • 한 번 나뉜 패킷은 다시 합쳐져 전송되지 않기에, 결과적으로 공격 대상 시스템은 대량의 작은 패킷을 수신하느라 네트워크 마비 상태에 빠짐

  • 죽음의 핑 공격을 막으려면 ping이 내부 네트워크로 들어오지 않도록 ICMP를 차단해야 함

SYN 플러딩 공격

  • 네트워크 동시 이용자 수 제한을 이용한 공격 방법
  • 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 제공받지 못하게 함
  • TCP의 연결 과정인 3-Way Handshaking의 문제점을 악용하는 것

  • TCP 연결 과정 마지막 순서인 클라이언트가 서버로 ACK 패킷을 전송하는 과정이 사라지면?

    • 서버는 클라이언트가 ACK 패킷을 보낼 때까지 SYN Received 상태로 일정 시간 기다려야 함
    • 대기 시간 동안 공격자는 클라이언트로 위조한 SYN 패킷을 수없이 만들어서 서버로 전송
    • 가용되는 동시 접속자 수를 모두 SYN Received 상태로 만들 수 있음

  • SYN Flooding이 정상 인터넷 서비스에서 발생하는 경우도 있음

  • 특정 웹 서버의 접속자가 폭주하여 서버 접속이 되지 않고 마비되는 경우가 SYN Flooding과 유사

  • 대형 시스템을 제외한 일반 서버는 SYN 플러딩 공격이 진행되는 동안 접속이 거의 불가

  • 공격이 끝난 후, SYN Received 상태에서 자동으로 벗어나는 시간이 지나면 시스템이 회복됨


  • 해당 공격에 대한 대응은 SYN Received 대기 시간을 줄이는 것
  • 침입 방지 시스템(IPS)과 같은 보안 시스템을 통해서도 공격을 쉽게 차단할 수 있음

0개의 댓글