Chapter 03 네트워크 보안

01. 네트워크에 대한 이해
    01. (1계층) 물리 계층
    02. (2계층) 데이터 링크 계층
    03. (3계층) 네트워크 계층
    04. (4계층) 전송 계층
    05. (5계층) 세션 계층
    06. (6계층) 표현 계층
    07. (7계층) 응용 프로그램 계층

02. 서비스 거부(DoS) 공격
    01. 취약점 공격형
    02. 자원 고갈 공격형
    03. 분산 서비스 거부(DDoS) 공격

03. 스니핑 공격
    01. 스니핑의 원리
    02. 스위치 재밍 공격
    03. SPAN 포트 태핑 공격
    04. 스니퍼의 탐지

04. 스푸핑 공격
    01. ARP 스푸핑 공격
    02. IP 스푸핑 공격
    03. ICMP 리다이렉트 공격
    04. DNS 스푸핑 공격

05. 세션 하이재킹 공격

06. 무선 네트워크 공격과 보안
    01. AP보안
    02. 무선 랜 통신 암호화
    03. EAP와 802.1x의 암호화

Chapter 03. 네트워크 보안
  Section 01. 네트워크에 대한 이해
    - OSI 7계층
      
· 국제표준화기구(ISO: International Organization for Standardization)는 다양한 네트워크의 호환을 위해 OSI 7계층이라는 표준 네트워크 모델을 만들었다.
      
1계층(물리 계층, Physical Layer)
        
· 실제 장치들을 연결하기 위한 전기적·물리적 세부 사항을 정의한 계층
      
② 2계층(데이터 링크 계층, Data Link Layer)
        
· 포인트 투 포인트(Point to Point) 간 신뢰성 있는 전송을 보장하기 위한 계층
      
③ 3계층(네트워크 계층, Network Layer)
        
· 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층.
        · 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적·절차적 수단을 제공하는 계층
      ④ 4계층(전송 계층, Transport Layer)
        · 양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 함으로써 상위 계층들이 데이터 전달의 유효성이나 효율성을 신경쓰지 않게 해주는 계층
      ⑤ 5계층(세션 계층, Session Layer)
        · 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공하는 계층
      ⑥ 6계층(표현 계층, Presentation Layer)
        · 코드 간의 번역을 담당하여 응용 계층으로부터 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 덜어주는 계층
      ⑦ 7계층(응용 프로그램 계층, Application Layer)
        · 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 계층

    1. 물리 계층(1계층)
      - 전자 파장을 전달하는 공간 자체
      - 게이블 선의 분류
        
· UTP(Unshielded Twisted Pair)
        · FTP(Foil Screened Twisted Pair Cable)
        · STP(Shielded Twisted Pair Cable)

    2. 데이터링크(2계층)
      - 두 포인트(Point to Point)간 신뢰성 있는 전송을 보장
      - CRC 기반의 오류 제어 및 흐름제어 필요
      - 네트워크 위의 개체들 간 데이터를 전달
      - 물리 계층에서 발생할 수 있는 오류를 찾아내며 수정하는데 필요한 기능적
·절차적 수단을 제공
      -
상호 통신을 위한 MAC 주소를 할당
      - MAC주소 확인 (ipconfig /all)
      - MAC 주소는 총 12개의 16진수 숫자로 구성
      - 앞쪽 6개는 16진수 네트워크 카드를 만든 회사를 나타내는 것(OUI: Organizational Unique Identifier)
      - 뒷쪽 6개의 16진수는 각 회사에서 임의로 붙이는 일종의 시리얼을 나타내는 것으로 Host Identifier라고 한다.
      - 데이터 링크 계층의 대표적인 네트워크 장비: 스위치(Switch)
      - MAC 계층에서 동작하는 대표적인 프로토콜: 이더넷(Ethernet)

요약

01. OSI 7계층
    ① 1계층(물리 계층, Physical Layer): 시스템 간의 연결로 전자 파장을 전달하는 공간 자체, 즉 랜 선 등을 말함

    ② 2계층(데이터 링크 계층, Data link layer): 두 포인트(Point to Point) 간 신뢰성 있는 전송을 보장하기 위한 계층. 주소로서 MAC 주소를 사용하며, MAC 주소는 총 12개의 16진수 숫자로 구성됨

    ③ 3계층(네트워크 계층, Network layer): 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층. 다양한 길이의 데이터를 네트워크를 통해 전달하고, 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적·절차적수단을 제공함

    ④ 4계층(전송 계층, Transport layer): 양 끝단(End to End)의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 해줌으로써, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해줌

    ⑤ 5계층(세션 계층, Session layer): 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공함

    ⑥ 6계층(표현 계층, Presentation layer): 코드 간의 번역을 담당하는 계층. 사용자 시스템에서 데이터의 구조를 통일하여 응용 계층에서 데이터 형식 차이로 발생하는 부담을 덜어줌

    ⑦ 7계층(응용 프로그램 계층, Application layer): 사용자나 응용 프로그램 사이에 데이터의 교환이 가능하게 하는 계층. 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행함

02. TCP 3-웨이 핸드셰이킹(3-way handshaking)과 연결 해제 과정
    



03. 서비스 거부 공격(DoS: Denial of Service)

    ① 취약점 공격형: 공격 대상이 특정 형태의 오류가 있는 네트워크 패킷의 처리 로직에 문제 있을 때 그럿을 이용하여 공격 대상의 오동작을 유발시키는 공격
        - Boink, Bonk, TearDrop 공격: UDP, TCP 패킷의 시퀀스 넘버를 조작하여 공격 시스템에 과부하를 일으킨다.
        - Land 공격: 출발지 주소와 도착지 주소가 같은 패킷을 공격 시스템에 보내 공격 시스템의 가용 사용자를 점유하며 시스템의 부하를 높인다.

    ② 자원 고갈 공격형: 네트워크 대역폭이나 시스템의 CPU 세션 등의 자원을 소모시키는 공격
        - Ping of Death 공격: ICMP 패킷을 일반보다 훨씬 큰 65,500바이트의 크기로 보내, 하나의 패킷이 네트워크를 통해 공격 대상에게 전달되는 동안 여러 개의 IMCP 패킷으로 나우어져 공격 시스템에 과부하를 일으키게 한다.
        - SYN Flooding 공격: TCP 프로토콜의 구조적인 문제를 이용한다. SYN 패킷만 보내어 각 서버의 동시 가용 사용자 수를 점유하여 다른 사용자가 서버를 사용할 수 없게 한다.
        - HTTP Get Flooding 공격: 피공격 시스템에 TCP 3-웨이 핸드셰이킹 과정을 통해 정상적으로 접속한 뒤 특정한 페이지를 HTTP의 GET Method를 통해 무한대로 실행한다.
        - HTTP CC 공격: 자주 변경되는 데이터에 대해 새롭게 HTTP 요청 및 응답을 요구하기 위하여 웹 서버가 캐시(Cache) 기능을 사용하지 않게 사용하여 웹 서비스의 부하가 증가시킨다.

        - 동적 HTTP Request Flooding 공격: 지속적으로 요청 페이지를 변경해 웹 페이지를 요청하여 웹 서비스의 부하를 증가시킨다.
        - Smurf 공격: 출발지 주소가 공격 대상으로 바뀐 ICMP  Request 패킷을 시스템이 충분히 많은 네트워크로 브로드캐스트한다. ICMP Request  패킷을 받은 사람들이 공격 대상에게 ICMP Reply를 보내게 하여 공격 대상을 과부하 상태로 만든다.
        - Mail Bomb 공격: 스팸을 이용한 대량 메일을 전송한다.

    ③ 분산 서비스 거부(DDoS: Distributed Denial of Service) 공격: 공격자가 한 지점에서 서비스 거부 공격을 수행하는 형태를 넘어 광범위한 네트워크를 이용하여 다수의 공격 지점에서 동시에 한 곳공격하도록 하는 형태의 분산 서비스 거부 공격이다. 자동화된 툴을 이용하며 공격(Attacker), 마스터(Master), 에이전트(Agent)로 구성된 메커니즘을 통해 Dos공격을 증폭된 형태로 실시한다.

04. 스니핑 공격(Passive)
    
① 스니핑 공격: 일반적으로 작동하는 IP 필터링과 MAC 주소 필터링을 수행하지 않고, 랜 카드로 들어오는 전기 신호를 모두 읽어들여 다른 이의 패킷을 관찰하여 정보를 유출시킨다.
    ② 스니퍼 탐지 방법
        - Ping을 이용한 방법:
자신에 해당하지 않는 ping에도 ICMP Echo Reply를 되돌려 보낸다.
        - ARP를 이용한 방법: 위조된 ARP Request를 보냈을 때 ARP Response를 되돌려 보낸다.
        - DNS를 이용한 방법: 스니핑한 시스템의 IP 주소에 Inverse-DNS lookup을 수행한다.
        - 유인(Decoy) 방법: 가짜 ID와 패스워드를 네트워크에 뿌려 이를 이용하여 접속을 시도하는 공격자 시스템을 탐지한다.
        - ARP watch를 이용한 방법: MAC 주소와 IP 주소의 매칭 값을 초기에 저장하고 ARP 트래픽을 모니터링하여 이를 변하게 하는 ARP 패킷을 탐지

05. 스푸핑 공격
    - ARP 스푸핑 공격: 로컬에서 통신하고 있는 서버와 클라이언트의 IP주소에 대한 2계층 MAC주소를 공격자의 MAC 주소로 속여, 클라이언트에서 서버로 가는 패킷이나 서버에서 클라이언트로 가는 패킷이 공격자에게 향하도록 함으로써 랜에서의 통신 흐름을 왜곡시킨다. 공격자는 이 패킷을 확인한 후 원래의 목적지로 향하도록 다시 돌려보내 연결이 유지되는 공격이다.
    - IP 스푸핑 공격: 트러스트 관계가 맺어져 있는 서버와 클라이언트를 확인한 후 클라이언트에 DoS 공격을 하여 연결을 끊고, 공격자가 클라이언트의 IP 주소를 확보하여 서버에 실제 클라이언트처럼 패스워드 없이 접근하는 공격이다.
    - ICMP 리다이렉트 공격: 3계층에서 스니핑 시스템이 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격이다.
    - DNS 스푸핑 공격: 실제 DNS 서버보다 빨리 공격 대상에게 DNS Response 패킷을 보내 공격 대상이 잘못된 IP 주소로 웹 접속을 하도록 유도하는 공격이다.

06. 세션 하이재킹 공격
    - 두 시스템 간 연결이 활성화된 상태, 즉 로그인된 상태를 가로채는 것을 말한다. 서버와 클라이언트가 TCP를 이용해서 통신을 하고 있을 때, RST 패킷을 보내 일시적으로 TCP 세션을 끊고 시퀀스 넘버를 새로 생성해 세션을 빼앗아 인증을 회피하는 공격이다.

07. 무선 네트워크 보안: 물리적인 보안 및 관리자 패스워드를 변경한다.
    - SSID(Service Set Identifier) 브로드캐스팅을 금지한다.
    - WEP(Wired Equivalent Privacy) 암호화: 128비트 키까지 암호화 키를 제공한다.
    - WPA, WPA-PSK(WiFi Protected Access-Pre Shared Key) 암호화: WEP의 취약점으로 인해 더욱 발전된 암호화 방식을 제공한다.
    - EAP와 802.1X: EAP는 무선 랜 클라이언트와 RADIUS(Remote Authentication Dial-in User Service) 서버간의 통신을 가능하게 하는 프로토콜이며, 802.1X는 포트에 대한 접근을 통제하는 프로토콜이다.

(RADIUS와 802.1x를 이용한 무선 랜 인증)

(중간고사 범위 1 ~ 3장: 유닉스 제외)

연습문제

+ Recent posts