CH4 : 네트워크 보안(2) Sniffing


보안 공격의 유형

- 수동적 공격 : 직접적인 피해 X
- 능동적 공격 : 직접적인 피해 O

  • 수동적 공격 탐지의 중요성
    • 수동적 공격(보안의 취약점 정보 획득) -> 능동적 공격 실행
    • 능동적 공격 발생 = 상당 기간 수동적 공격 받았음을 의미

공격 목적의 정보 수집을 위한 활동

1. Foot printing : 사회공학기법/ 다양한 정보 수집

2. Scanning : 대상 NW 구조

3. Enumeration : 목록화


Network scanning

1. Foot printing

  • 공격자가 공격전에 대상에 대한 다양한 정보를 수집하기 위해 사용
  • 사회공학기법, network 및 시스템 주변 조사을 통해 IP, 이름 및 계정, 전화번호 등을 수집

2. Scanning

  • 실제 공격방법을 결정하거나 공격에 이용될 수 있는 network 구조, 시스템이 제공하는 서비스 등의 정보를 취득

3. Enumeration

  • Foot printing, scanning 을 통해 수집한 정보를 바탕으로 더 구체적이고 실용적인 정보를 취득
  • 종류 : 공유자원 목록화, 사용자 및 그룹 목록화, 응용 프로그램 목록화

Scan 공격

Scanning 에서 파악하는 정보

  • 공격대상 NW의 보안장비 사용 현황
  • 우회 가능 NW 구조 (방화벽에서 차단하고 있는 정보 확인 후 우회)
  • 시스템 플랫폼 형태
  • 시스템 OS의 커널 종류
  • 제공되는 서비스 종류

Scan 종류

  1. Sweep : System 작동 유무 (ICMP, TCP, UDP)
  2. Open Scan : port service 여부 (TCP, SYN, UDP)
  3. Stealth Scan : port service 여부 (session connectionless)

1) Sweep

내가 공격하고 싶은, 내가 정보를 수집하고 싶은 상대방 시스템이 지금 살아있나? 확인

  • 특정 NW에 대해, NW에 속한 시스템의 작동 유무를 판단
  • target 기관에서 사용하거나 소유하고 있는 IP 주소network 범위 파악

ICMP sweep

  • ping -> 응답이 있다 -> 해당 system 활성화

TCP sweep

  • TCP ACK TCP SYN well known port 요청 -> 응답이 있다 -> 해당 system 활성화

UDP sweep

  • ICMP Port Unreachable 오지 않는다 -> 해당 system 활성화
    ( UDP 이용하여 msg send )

2) Open scan(port scan)

  • 시스템 자체의 활성화 여부 + scan하는 포트에 해당되는 서비스의 활성화 여부
  • 포트가 제공하는 서비스 예측 가능

TCP scan

  • 3-way handshaking -> 해당 port open 판단 가능

SYN scan

  • 세션로그 남기지 않는다
  • SYN 패킷 전송 -> SYN/ACK 패킷 수신 -> 해당 port open 판단 가능
  • SYN/ACK 패킷 수신 -> RST 패킷 전송
  • RST = Reset = connection X

UDP scan

  • ICMP Port Unreachable 온다 -> 해당 port 비활성화 확인

c.f
UDP sweep : ICMP Port Unreachable 오지 않는다 -> 해당 system 활성화 확인
( UDP 이용하여 msg send )


3) Stealth scan(port scan)

  • 세션을 완전히 성립하지 않고 대상 시스템의 port 활성화 여부를 알아내므로 대상 시스템에 로그가 남지 않음

  • SYN SCAN은 Stealth scan 이다 (O)

  • SYN SCAN은 Open scan 이다 (O)

FIN, NULL, XMAS 스캔

  • TCP headerflag 부분을 비정상적으로 설정해서 전송
  • victim 시스템의 다음 반응을 보고 포트의 상태를 판단

Decoy scan 미끼

  • Victim 시스템에서 scanner 주소를 식별할 수 없도록 다양한 주소로 위조한 상태로 scan
  • 사전에 spoofing한 주소

Scan 도구

  • Nmap (Network Mapper)

    • 목적 : 컴퓨터와 서비스 찾기

    • 활용 : network 검색, 보안 진단

    • OS 종류, 사용 서비스 정보, FTP 서버의 취약점을 이용한 공격 가능

    • Open source


Sniffing

개요

몰래 엿듣는 행위

  • NW 보안에서 송신자와 수신자가 주고받는 데이터를 중간에서 도청하는 것
  • Network traffic도청하는 행위
  • eavesdropping

허브 환경에서의 sniffing

  • 허브(Hub) : 더미 허브(Dummy Hub) 또는 수동 허브

    • 리피터(Repeater) : 입력으로 전달받은 패킷을 나머지 모든 포트로 단순히 전달

    • NIC setting = OS상, 자신의 MAC 주소가 아닌 패킷 필터링
  • 공격방법

    • NIC에서 무차별 모드(Promiscuous Mode) 로 설정

    • 나의 MAC 주소가 아닌 패킷도 전달받는 모드


스위치 환경에서의 sniffing

  • 스위치(Switch)

MAC addr 이용하여 패킷을 해당 목적지로만 전달

-> 무차별 모드 sniffing이 불가능


1) 모니터링 포트를 이용한 sniffing

  • 모니터링 포트(Monitoring Port) : 스위치를 통과하는 모든 패킷의 내용을 전달하는 포트

    • 목적 : 정상적인 관리

    • network 장비 자체 제공

  • 물리적으로 스위치에 접근 후, 모니터링 포트공격자 pc를 연결 => 모든 패킷 sniffing 가능


2) Switch jamming을 이용한 sniffing

  • Jamming : 전파 방해
  • Mapping Table
    • IP addr -> MAC addr 를 위해 내부적으로 관리하는 테이블

    • 최대 저장 개수를 초과하면, 브로드캐스팅(Broadcasting) 모드로 전환

    • 브로드캐스팅 모드 : 자신이 전달받은 패킷을 연결된 모든 단말기에 전달

  • Switch jamming 공격 -> 스위치가 마치 더미 허브처럼 동작 -> 통신 속도 down

갑자기 NW 통신 속도가 down인 상황

-> 합리적 의심 = Switch Jamming


3) Spoofing 공격 기법을 이용

  • 스푸핑 Spoofing : 공격자가 마치 자신이 수신자인 것처럼 "위장"

  • 능동적 공격

ARP 스푸핑

ARP 스푸핑

  • 특정 host의 MAC 주소자신의 MAC 주소로 위조
  • ARP Reply 패킷을 지속적으로 전송
  • victime의 ARP tablehost의 MAC 주소공격자의 MAC으로 변경
  • 이후 공격자가 패킷을 sniffing

ARP 프로토콜

  • network 상에서 IP 주소물리적인 network 주소로 대응시키기 위해 사용
  • IP 주소
    • 10진수 표현, 32bit
    • network에 따라 변동
  • MAC 주소

    • 16진수 표현, 48bit
    • 물리적 주소
    • NIC에 새겨져 있어, 고정
  • Example.

A : (ARP request) C'IP 에 대한 C'MAC이 없는데, C'IP 사용하고 있는 사람?

C : (ARP response) It's ME.

ARP 동작 원리 1

  • 같은 LAN, 목적지 단말이 있는 경우

  • 데이터 전송 : A -> B

  • A 상황

    • B' IP (O)
    • B' MAC (X)
  1. A' ARP request = B' MAC 모르기 때문에 switch' MAC 에 요청

  2. Switch's Broadcast = ARP request를 받으면, 자신에 접속된 모든 단말에게 ARP requestBroadcast

  3. B' ARP reply = Broadcast를 받은 B는 ARP reply

  4. A' ARP table update = ARP response 전달 받은 후, ARP 테이블에 B' MAC 추가


ARP 동작 원리 2

  • 외부 network, 목적지 단말이 있는 경우

  • 데이터 전송 : A -> B

  • A' ARP request = dest MAC addr 를 Router' MAC addr로 설정

  • Router

    • source MAC addr = Router' MAC addr

    • dest MAC addr = B' MAC addr


ARP redirect

  • L2, 2계층 동작
  1. 스스로 Router인 것 처럼 MAC 주소를 위조한 ARP Relay 패킷 생성

  2. ARP Reply 패킷을 broadcast

  3. 해당 NW의 모든 host로부터 패킷을 sniffing

  4. sniffing한 패킷을 Router에게 forwarding 함으로써 탐지 회피


4) ICMP redirect

  • L3, 3계층 동작
  1. 공격자가 스스로 또다른 Router라고 알린다 (ICMP redirect packet)

  2. victime system의 Routing Table을 변조

  3. packet의 흐름을 바꾼다


Sniffing 방지 대책

1) 수동적 대처

- 암호화

sniffing 하는 것을 막을 수 X, But sniffing 후 data를 볼 수 X

암호화 : sniffing에 가장 효과적인 대처 방안

  • HTTPS : 웹 환경, 암호화된 통신 프로토콜

HTTPS = HTTP 웹 표준 프로토콜 + SSL/TLS 암호화 통신 프로토콜

  • PGP, S/MIME : 이메일 환경

    • PGP : 사용 편리, 알고리즘 안전성 high
    • S/MIMI : MIMI + 암호화 기법 추가
      -> 이메일에 암호화 관련 보안성 제공 대표적인 방식
  • SSH : 원격 접속

    • 암호화된 원격 접근 방식
    • FTP는 sniffing을 통해 user_idpassword 유출 가능

- VPN

VPN Virtual Private Network 가상사설망

논리적으로 전용선 이용, 물리적으로 인터넷 이용

  • 공개망을 사용 (Internet) + 전용망을 사용하는 효과

  • 중간에 있는 VPN 장비 = 인증, 암호화 수행 => 전용망 사용 효과

  • 터널링 기술 Tunneling : 두 종단 End to end에 가상적인 터널 생성

  • VPN 통신 프로토콜 : PPTP/L2F/L2TP, IPSec, SOCKSS V5

Q. VPN은 물리적으로 전용선을 이용한다 (X)


2) 정적 매핑 테이블 사용

  • Switch의 mapping table을 정적으로 설정
  • 연결된 PC의 MAC addr을 미리 조사 하고 IP addr를 고정 (static or permanet)

3) 능동적 대처 (sniffing 탐지)

Sniffing 공격자를 찾아내자, Sniffing 탐지

- ping 이용

  • 존재하지 않는 IP 주소에 대한 요청에 응답이 오는지 확인
  • 무차별 모드 호스트는 존재하지 않는 IP 주소에 대한 요청에도 응답
  • local network에서만 사용 가능

- ARP 이용

  • ping과 유사

  • 존재하지 않은 IP 주소 로 ARP 요청

  • 응답 여부로 sniffing 판단
    응답 O -> ?? 찾아봐!!!
    응답 X -> ?? 찾아봐!!!

- DNS 방법

  • 존재하지 않는 IP를 대상으로 ping
  • Inverse-DNS Lookup = 해당 IP에 대한 도메인 이름을 물어보는 요청
  • Inverse-DNS Loopup이 오는지 확인
  • 원격 NW에서도 sniffer를 찾을 수 있는 방법

- Decoy 유인 방법

  • 가짜 사용자 ID와 Password를 유출
  • 실제 사용되는지 감시

- Host 기반 탐지

특정 의심되는 PC + PC에 직접 접속하여 다음과 같은 명령어 실행

  • 의심되는 PC나 서버에서 직접 실제 명령을 실행

  • 리눅스/유닉스
    ifconfig -> PROMISC 현재 호스트가 무차별 모드로 설정되어 있음 => sniffing 가능성 매우 크다

  • 윈도우
    promiscdetect

- Network 기반 탐지

  • ARP watch
  • network 내부의 MAC addr, IP addr에 대한 mapping 정보 생성하고 감시
  • 변경이 발생 -> 관리자에게 메일로 report
  • sniffing이 일어나면 즉시 탐지할 수 있는 방법

좋은 웹페이지 즐겨찾기