자격증/정보보안기사

네트워크보안(3) | 네트워크 기반 공격 기술의 이해 및 대응

burrri 2025. 5. 12. 21:18

# 네트워크 기반 보안위협 및 대응책

1. 서비스 거부 공격(DoS)
2. DDoS 공격
3. 네트워크 스캐닝
4. 스니핑
5. 스푸핑
6. 세션 하이재킹
7.원격 공격

 

1. 서비스 거부 공격(DoS, denial-of-service)

정당한 사용자의 시스템 데이터나 자원에 대한 가용성을 위협하는 행위로
주로 시스템에 과도한 부하를 일으켜 정보 시스템의 사용을 방해하는 공격 방식이다. 

 

공격자가 단일 컴퓨터를 통해 공격 → DoS공격,

물리적으로 분산된 다수의 컴퓨터를 이용하여 공격 → DDoS(distributed denial of service)

 

 

| TCP SYN Flooding Attack

TCP SYN Flooding 공격이란?

  • TCP 연결을 위해 3-handshaking 과정에서 half-open 연결 시도가 가능하다는 점을 이용
  • 막대한 양의 TCP SYN 패킷을 보내 시스템을 마비시키는 공격

 

SYN Flooding 공격 과정

  • 타겟에 다수의 SYN 패킷 전송 
    • 발신자 IP를 공격자가 아닌 임의의 IP주소로 변조 후, 전송
  • 타겟은 정상적인 요청이라 생각하고 SYN/ACK를 해당 IP(발신자)에게 전송
  • 타켓이  SYN-ACK를 전송 후, ACK를 받을 때까지 ACK 응답 기다림
  • 타겟 시스템에 접속 가능한 숫자 이상의 프로세스 생성 → 더 이상 연결을 맺을 수 없는 상태 → 서비스 가용성 저해

 

 

 

| Smurf Attack

Smurf 공격이란?

  • DoS공격 중 가장 피해 규모가 크고 인기있는 공격 형태 
  • ICMP의 특성을 이용한 공격
    • ICMP는 특정 네트워크 주소로부터 생성된 네트워크 패킷으로 ICMP Ping 전송 → ICMP ping reply를 전송

 

Smurf 공격단계

  • 타켓의 네트워크 브로드캐스트 주소로 ICMP echo 요청, 이때 요청자를 타겟 대상의 ip로 설정
  • 해당 네트워크망의 모든 호스트들이 이에 대한 reply를 해당 타켓으로 전송 시도
  • 대량의 응답이 피해자의 네트워크로 전송되며 대역폭/네트워크 리소스가 크게 소모 → 시스템 마비

 

Smurf 공격 대응

  • ICMP 프로토콜을 이용한 공격이기에 diriect broadcast를 설정하여 차단에 대응
    • 라우터에서 direct broadcast 설정
    • 방화벽/iptables에서 ICMP차단 

 

 

| Flooding Attack

- ICMP Flood

  • 대상 시스템에 막대한 양의 ICMP echo 요청 패킷(ping)을 보내는 방법

 

- UDP Flood

  • UDP의 비연결성/ 비신뢰성의 특성을 이용한 공격
    • UDP는 source addr, port를 spoofing하기 쉬운 특성
  • 공격타겟 A,B의 IP를 각각 src/dst로 위조하여 대량의 UDP 패킷 생성 → 서비스 마비

 

| Land Attack

패킷 전송 시, src IP와 dst IP를 똑같이 만들어 타겟에게 전송

 

| Ping of Death

  • ICMP 패킷을 정상 크기(65,535바이트)보다 과도하게 크게 생성
  • 네트워크를 통해 라우팅되어 타겟 대상에 도달하기 위해 작은 조각으로 쪼개짐
  • 타겟은 조각화된 패킷들을 모두 처리해야하기에 정상적 ping보다 과도한 부하가 생성

 

 

| Teardrop Attack

IP 프로토콜의 특징을 악용한 공격

  • 네트워크를 통해 패킷 전송 시, IP fragmentation 실행
    (메세지를 조각내고 수신자측에서 조각난 메세지를 순서대로 모아 복구)
  • 이때, 조각내는 패킷단위를 일반 데이터패킷 사이즈보다 훨씬 작은 크기로 분할 
  • 조립과정에서 offset 값을 더하며 정확하게 조립
    → offset값을 중복되도록 고의적으로 수정
    → 정상적인 오프셋보다 큰 값을 더해 범위를 넘는 오버플로우 발생
  • 수신자가 패킷들을 재조합하는 과정에서 타겟의 시스템 성능 저하 및 마비

 

| Inconsistent Fragmentation Attack

Bonk

  • 패킷은 fragmentation하여 전송 시, 첫 패킷을 1번으로 전송
  • 이후의 패킷들의 순서번호를 모두 1로 조작하여 전송

 

Boink

  • Bonk를 수정한 공격
  • 처음 패킷을 1번, 다음 패킷을 100번, 다다음 패킷을 200번 등 정상적인 전송 수행
  • 20번째 패킷을 2002, 21번째 패킷을 100, 22번째 패킷을 다시 2002....등
  • 중간에 패킷 시퀀스 번호를 비정상적으로 전송

 

 

2.  DDoS 공격

DDoS 공격이란?

  • 여러 대의 컴퓨터를 일제히 동작 시켜 타겟 시스템을 공격하여 대량의 패킷을 동시 flood발생 → 성능저하/시스템 마비
  • 피해 양상이 심각하지만, 대책이 없음
  • 공격자의 위치나 구체적 발원지를 파악하기가 어려움

 


3. 네트워크 스캐닝

네트워크 스캐닝이란?

사이버 공격을 위한 준비 과정으로 

사이버 공격을 위한 정보 수집은 foot printing, scanning, 목록화의 3단계를 거침

  • foot printing : 게시판, 네트워크 검색, 포털 검색 등을 이용한 정보 수집
  • scanning : ping, 포트 스캔, OS 탐지 등으로 시스템 종류, IP, 서비스 등의 세부적 내용 수집
  • 목록화 : 수집된 내용을 토대로 RT, SNMP 정보 등의 실용적 정보를 수집하여 취약점 분석 및 공격 방법 산정

 

포트 스캔 공격 종류

  • Sweep
    • 특정 네트워크에 대하여 해당 네트워크에 속해있는 시스템의 유무를 판단할 수 있는 기법
    • 목표 대상 기관에서 사용하거나 소유하고 있는 IP 주소와 네트워크 범위를 확인 가능
    • TCP/UDP/ICMP Sweep 

 

  • Open Scan
    • 시스템 자체의 활성화 여부뿐만 아니라, 스캔하는 포트에 해당하는 서비스의 활성화 여부를 조사할 수 있는 방법
    • TCP/UDP Open 스캔으로 나뉘며, 
      TCP는 Full Open 스캔, Half Open 스캔으로 나뉨

 

  • Stealth Scan
    • TCP 헤더를 조작하여 특수한 패킷을 만든 후 스캔 대상 시스템에 보내 그 응답으로 포트 활성화 여부 알아내는 기법
    • TCP FIN 스캔, TCP ACK 스캔, TCP 단편화 스캔  등

 

대표적 스캔 도구 

  • Nmap
    • 모든 os에서 사용가능
    • os종류, 사용서비스를 확인 가능
    • FTP서버의 취약점을 이용한 bounce공격 등을 수행

 

운영체제의 탐지 

내가 공격하려는 대상의 os에 따라서 취약점의 유형 상이  → 공격 수단도 이에 의존

os 종류, 버전을 확인하기 위한 다양한 스캐닝 작업 수행  : os 핑커프린팅

 

 

포스 스캔 공격에 대한 대응책

  • 불필요한 패킷을 차단하도록 방화벽 설정
  • 미사용 포트는 열어놓지 않음
  • 침입탐지시스템(IDS)를 사용하여 포트스캔 탐지
  • 시스템로그 감사

 


4. 스니핑 

 

스니핑 공격이란?

 자신이 아닌 다른 상대방의 패킷 교환을 엿듣는 것

네트워크 트래픽을 도청하는 (수동적) 공격

 

 

 

스니핑 종류

  • 스위치 환경에서의 스니핑
    •  스위치 재밍
    •  ARP 스푸핑
    •  ARP 리다이렉트
    •  ICMP 리다이렉트

 

네트워크 스니퍼

  • 패킷 또는 LAN 세그먼트상을 지나는 트래픽을 분석할 수 있는 프로그램/장비
  • 무차별 모드로 동작하는 네트워크 어댑터를 이용
  • 네트워크에 접속하여 어뎁터의 드라이버는 데이터를 캡처

 


5. 스누핑

스누핑 공격이란?

  • 공격자가 자신을 공격 대상자에게 노출시키지 않고
  • 제 3자의 사용자인것처럼 MAC주소, IP 주소 등을 속이는 작업

 

스누핑 공격 유형

  • IP 스푸핑
  • 이메일 스푸핑
  • 웹 스푸핑
  •  DNS 스푸핑

 


6. 세션 하이재킹

세션 하이재킹이란?

 공격자가 인증 작업 등이 완료되어 정상적으로 통신이 이루어지고 있는 다른 사용자의 세션을 가로채서 별도의 인증 작업 없이 가로챈 세션으로 통신을 게속

 

 

TCP 연결 하이재킹

  •  클라이언트와 서버가 통신을 개시하기 전에 TCP 연결을 먼저 설정하고,
  • TCP 연결을 통해 상호 메시지 교환을 개시
  • 교환되는 메시지에는 사용자 인증을 위한 메시지도 포함될 수 있음

 


7. 원격 공격

비교

local atttack : 시스템에 접속 후, 공격자가 원하는 공격을 수

remote attack : 원격 컴퓨터에서 공격대상에 공격 수행

 

 

Trojan과 Exploit

| Trojan

  • 악의적인 프로그램을 건전한 프로그램처럼 포장
  • 일반 사용자들이 의심 없이 자신의 컴퓨터 안에서 이를 실행 → 감염

 | Exploit

OS에서 버그를 이용하여 루트권한 획득 또는 특정 기능을 수행하기 위한 공격 코드 및 프로그램