본문 바로가기
Study/네트워크

[3] 전송 계층의 헤더와 주요 공격

by 투말치 2021. 5. 14.

목차

    반응형

    전송 계층의 헤더 기능

     

    ▶UDP 헤더의 기능

    출발지 포트 번호와 목적지 포트 번호는 각각 16비트다. 

    Checksum 항목은 비활성화된 상태가 디폴트 값이다.

     

    ▶TCP 헤더의 기능

    출처 : https://evan-moon.github.io/2019/11/10/header-of-tcp/

    UDP 헤더와 마찬가지로 출발지와 목적지 포트 번호가 16비트다.

    TCP 프로토콜은 데이터를 전송하기 전 연결된 상태를 유지하기 위해 3-way handshaking을 한다.

    SYN을 보낼 때, ACK을 보낼 때에 따라 값이 달라진다.

     

    data offset 항목에는 TCP 헤더의 길이가 저장된다.

     

    그 다음에는 플래그 항목이 있다.

    • CWR : 혼잡 윈도우 크기 감소 신호
    • ECN : 혼잡 발생 신호
    • URG : 긴급 데이터
    • ACK : 확인 응답 신호
    • PSH : TCP 페이로드를 포함한다는 신호
    • RST : 상대방과 연결을 강제 종료하기 위한 신호
    • SYN : 상대방과 연결하기 위한 개시 신호
    • FIN : 상대방과의 연결을 해제하기 위한 종료 신호

     

     

    전송 계층 기반의 주요 공격 유형

     

    ▶포트 스캔 방법

     

    전송 계층에서 주로 일어나는 공격을 할 때는 포트 스캔을 한다.

    대표적인 포트 스캐너 툴로는 Nmap이 있다.

    엔맵을 이용해 포트 스캔을 할 때 TCP 오픈 스캔 기법, TCP Half Open Scan, TCP FIN 스캔 기법을 사용할 수 있다.

     

    1. TCP 오픈 스캔

    TCP 연결을 맺어서 ssh 서비스를 사용하고 있는지 확인하는 기법이다.

    3-way handshaking 과정을 수행하기 때문에 포트 스캔 결과가 정확하다는 장점이 있다. 

    하지만 공격 대상자 측에 포트 스캔 기록이 남을 수 있다.

     

    2. TCP Half Open 스캔

    전송 계층에서 SYN 플래그를 생성해 공격 대상자에게 전송한다.

    만약 공격 대상자 측에서 SSH 서비스를 사용 중이라면 ACK/SYN 플래그로 응답이 온다.

    그러면 공격자는 RST 플래그로 응답한다. ACK 플래그로 응답하지 않기 때문에 3-way handshaking 연결을 완전히 진행하지 않는다. 그렇기 때문에 공격 대상자 측에 포트 스캔 기록이 남지 않는다.

     

    3. TCP FIN 스캔

    이 스캔 기법은 방화벽을 우회하기 위해 생긴 기법이다.

    우선 공격자는 FIN 플래그를 공격 대상자에게 전송한다. 방화벽은 외부에서 들어오는 SYN 플래그는 차단하지만 FIN 플래그는 허용하기 때문에 FIN 플래그를 수신한다.

    공격 대상자가 해당 포트를 사용 중이면 응답이 오지 않는다. 만약 해당 포트를 사용하지 않고 있다면 ACK/RST 플래그가 응답으로 온다.

     

    4. TCP X-mas 스캔

    이 스캔 방법은 TCP FIN 스캔을 응용한 방법이다.

    공격자는 URG/PSH/FIN 플래그를 공격 대상자에게 전송한다.

    해당 플래그들은 방화벽을 통과한다.

    TCP FIN 스캔법과 마찬가지로 공격 대상자가 해당 포트를 사용 중이면 응답이 오지 않는다. 만약 해당 포트를 사용하지 않고 있다면 ACK/RST 플래그가 응답으로 온다.

     

     

    ▶전송 계층에서 발생하는 공격

     

    1. TCP SYN 공격

    TCP SYN 공격은 전송 계층에서 가장 대표적으로 나타나는 공격이다.

    이 공격은 네트워크 계층에서 발생하는 ICMP 플러딩 공격과 비슷하다.

    공격 대상자에게 SYN 플래그를 많이 전송하면 공격 대상자는 과부하에 걸리게 된다.

     

    방화벽에서는 초당 수신할 SYN 플래그의 개수를 지정하는 방식으로 TCP SYN 공격을 차단하고 있다.

     

    2. 본크/보잉크 공격

    본크/보잉크 공격은 TCP 헤더 중에서 sequence number 항목을 조작해 공격 대상자가 재조립이 불가능하게 만들어 과부하를 발생시킨다. 

    PC에서는 수신 받은 일련 번호 정보가 불일치하면 세그먼트 전체를 폐기시키는 방법으로 이 공격을 방어한다.

     

     

     

     

     

     

     

     

     

    *참고 자료
    우분투 리눅스 기반의 IDS / IPS 설치와 운영 - 오동진, 추다영 저

    반응형

    'Study > 네트워크' 카테고리의 다른 글

    [2] 네트워크 계층 기반의 주요 공격 유형  (0) 2021.05.07
    [1] TCP/IP 프로토콜  (0) 2021.04.01
    [3] 3주차 과제  (0) 2020.11.08
    [2] 2주차 과제  (0) 2020.09.20
    [1] 1주차 과제  (0) 2020.09.14