본문 바로가기
정보처리/정보시스템구축관리

소프트웨어 개발 보안 구축 설계 2/7

by 피갓자 2025. 3. 18.
소프트웨어 개발 보안 구축 설계
소프트웨어 개발 보안 구축 설계

소프트웨어 개발 보안 설계

SW 개발 보안을 위한 공격 기법의 이해

DoS 공격

DoS(Denial of Service) 공격의 개념

  • 시스템을 악의적으로 공격해서 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격
  • 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 소진하는 등의 공격

DoS 공격의 종류

SYN 플러딩(SYN Flooding)

  • TCP 프로토콜의 구조적인 문제를 이용한 공격
  • 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격
  • 공격자는 ACK를 발송하지 않고 계속 새로운 연결 요청을 하게 되어 서버는 자원할당을 해지하지 않고 자원만 소비하여 고갈됨

SYN 플러딩 대응 방안

  • TCP 연결 타임아웃을 짧게 가져가서 연결 요청 대기 시간을 줄임
  • Backlog Queue를 늘려줌
  • Syncookie 기능 활성화
  • Anti-DDoS, 방화벽, 침입 차단 시스템 등 보안 장비를 통해 침입 탐지 및 차단 수행
  • 최신 시스템 및 애플리케이션 패치 및 업데이트 수행

UDP 플러딩(UDP Flooding)

  • 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP Destination Unreachable)를 생성하게 하여 지속해서 자원을 고갈시키는 공격
  • ICMP 패킷은 변조되어 공격자에게 전달되지 않아 대기함

스머프(Smurf) / 스머핑(Smurfing)

  • 출발지 주소를 공격 대상의 IP로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비시키는 공격
  • 바운스(Bounce) 사이트라고 불리는 제3의 사이트를 이용해 공격

스머프 / 스머핑 대응 방안

  • 증폭 네트워크로 사용되는 것을 막기 위해서 다른 네트워크로부터 자신의 네트워크로 들어오는 직접 브로드캐스트(Directed Broadcast) 패킷을 허용하지 않도록 라우터 설정
  • 브로드캐스트 주소로 전송된 ICMP Echo Request 메시지에 대해 응답하지 않도록 시스템 설정

죽음의 핑(PoD, Ping of Death)

  • ICMP 패킷(Ping)을 정상적인 크기보다 아주 크게 만들어 전송하면 다수의 IP 단편화가 발생하고, 수신 측에서는 단편화된 패킷을 처리(재조합)하는 과정에서 많은 부하가 발생하거나, 재조합 버퍼의 오버플로우가 발생하여 정상적인 서비스를 하지 못하도록 하는 공격

죽음의 핑 대응 방안

  • 보통 ICMP 패킷은 분할하지 않으므로 패킷 중 분할이 일어난 패킷을 공격으로 의심하여 탐지하도록 설정
  • 현재 시스템 대부분은 반복적으로 들어오는 일정 수 이상의 ICMP 패킷을 무시하도록 설정되어 있지만, 취약점을 가지고 있다면 패치가 필요함

랜드 어택(Land Attack)

  • 출발지(Source) IP와 목적지(Destination) IP를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격

랜드 어택 대응 방안

  • 수신되는 패킷 중 출발지 주소와 목적지 주소가 동일한 패킷들 차단

티어 드롭(Tear Drop)

  • IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신시스템이 문제를 발생하도록 만드는 공격
  • 공격자는 IP Fragment Offset 값을 서로 중첩되도록 조작하여 전송하고, 이를 수신한 시스템이 재조합하는 과정에서 오류가 발생, 시스템의 기능을 마비시키는 공격

봉크(Bonk)

  • 패킷을 분할하여 보낼 때 처음 패킷을 1번으로 보낸 후, 다음 패킷을 보낼 때도 순서번호를 모두 1번으로 조작하여 전송하는 DoS 공격
  • 똑같은 번호로 전송돼서 오류를 일으킴

보잉크(Boink)

  • 처음 패킷(패킷의 크기를 100이라고 가정)을 1번으로 보낸 후, 다음 패킷을 100번, 다음 패킷을 200번, 20번째 패킷을 2002번, 21번째 패킷을 100번, 22번째 패킷을 다시 2002번 등으로 중간에 패킷 시쿼스 번호를 비정상적인 상태로 보내서 부하를 일으키게 하는 공격

티어 드롭 / 붕크 / 보잉크 대응 방안

  • 과부하가 걸리거나 반복되는 패킷 재전송 요구를 하지 않고 버림

DDoS 공격

DDoS(Distributed DoS) 공격의 개념

  • DoS의 또 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법
  • 해커들이 취약한 인터넷 시스템에 대한 엑세스가 이뤄지면, 침입한 시스템에 소프트웨어를 설치하고 이를 실행시켜 원격에서 공격을 개시

DDoS 공격 구성요소

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

DDoS 공격 도구

Trinoo

  • 많은 소스로부터 통합된 UDP flood 서비스 거부 공격을 일으키는 데 사용되는 도구
  • 몇 개의 서버(혹은 마스터)들과 많은 수의 클라이언트(데몬)로 이루어짐

TFN(Tribe Flood Network)

  • trinoo와 거의 유사한 분산 도구로 많은 소스에서 하나 혹은 여러 개의 목표 시스템에 대해 서비스 거부 공격을 수행할 수 있는 도구
  • TFN 서비스 거부 공격은 공격자가 클라이언트(혹은 마스터) 프로그램을 통해 공격 명령을 일련의 TFN 서버들(혹은 데몬들)에게 보냄으로써 이루어짐
  • UDP flood 공격뿐만 아니라 TCP SYN flood 공격, ICMP echo 요청 공격, ICMP 브로드캐스트 공격(Smurf 공격) 수행 가능

Stacheldraht

  • 분산 서비스 거부 에이전트 역할을 하는 Linux 및 Solaris 시스템용 멀웨어 도구
  • ICMP flood, SYN flood, UDP flood와 Smurf 등의 공격에 의해서 DDoS 공격 가능

DDoS 대응 방안

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

DDoS 공격의 종류

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

  • UDP/ICMP Traffic Flooding : UDP/ICMP Flooding, DNS Query Flooding
  • TCP Traffic Flooding : SYN Flooding, SYN+ACK Flooding
  • IP Flooding : LAND Attack, Tear Drop

서비스(애플리케이션) 마비 공격(7계층)

  • HTTP Traffic Flooding : GET Flooding, GET with Cache-Control
  • HTTP Header/Option Spoofing : Slowris, Slowloris, Slow Read Attack
  • Other L7 Service Flooding : Hash DoS, Hulk DoS, FTP/SMTP Attack

DRDoS 공격

DRDoS(Distributed Reflection DoS) 공격의 개념

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

DRDoS 공격 절차

  1. 출발지 IP 변조 : 공격자는 출발지 IP를 공격 대상자 IP로 Spoofing하여 SYN 패킷을 공격 경유지 서버로 전송
  2. 공격 대상자 서버로 응답: SYN 패킷을 받은 경유지 서버는 Spoofing 된 IP(공격 대상자 서버)로 SYN/ACK를 전송
  3. 서비스 거부 : 공격 대상자 서버는 수많은 SYN/ACK를 받게 되어 서비스 거부가 됨

DRDoS 대응 방안

  • 인터넷 서비스 사업자(ISP, Internet Service Provider)가 직접 차단
  • 반사 서버에서 연결을 완료하지 않은 SYN 출처 IP를 조사하여 블랙 리스트로 운용, 공격 서버를 사전에 차단
  • 공격 대상이 되는 공격 대상 서버 IP와 Port(서비스)를 변경, 필터링하여 운영