프로토콜
증말 단순하다.
우리가 소통하기 위해 '한국어'를 사용하기로 약속한 것처럼 시스템에선 약속된 '프로토콜'을 사용하여 소통(통신) 한다.
프로토콜은 구문(데이터 포맷), 의미(데이터 의미), 타이밍(데이터 송수신 동작방식)으로 이루어져있다.
OSI 7 Layer
(Open System Interconnection)
그냥 약속이니까 외우면 단순해진다 !
① 개념
- 국제 표준화 기구(ISO)에서 제정한 개방형 시스템(<->폐쇄형 시스템) 간의 상호연결
- 떨어져 있고 다양한 시스템들이 통신하기 위해선 '표준'이 필요한데 이를 위해 정의한 표준 아키텍쳐
- 기능에 따라 계층적으로 표준화 되어있다. 어떤 목적을 수행하기 위해서 하나의 큰 프로토콜을 설계하는 것이 아니라, 단위 기능별로 계층을 나누어 여러 프로토콜을 조합해 그 목적을 수행하는 방식이다. 이러한 접근 방식을 "분할 정복"이라 한다.
- 계층별로 표준화함으로써 상,하위 계층 간에 인터페이스만 충족시켜 주면 다양한 제조사들에 의한 독자적인 계층별 프로토콜의 구현 및 발전을 이룰 수 있다.
② 계층 구조
계층 | 개념 | PDU (데이터 단위) |
주요 프로토콜 |
주요장비 | 스니핑 공격 |
application | 사용자가 네트워크에 접근할 수 있는 인터페이스(UI) 담당 계층 -네트워크 서버/클라이언트 프로그램 |
data | |||
presentation | 데이터 표현방식 변환을 담당하는 계층 - 인코딩/디코딩, 압축/압축해제, 암호화/복호화 등 담당 |
data | |||
session | Application 간 논리적연결(Session) 생성,관리,종료를 담당하는 계층 | data | |||
transfort | End To End Reliable Delivery End 노드(목적지 노드=프로세스)간 신뢰성 있는 데이터 전송을 담당하는 계층 |
segment | TCP,UDP,SCTP(TCP/IP) SPX(Novel Netware) |
L4 스위치(Server Load Balancing) | |
network | End To Ene Delivery(= Host to Host Delivery) End 노드(종단노드) 간 IP 주소를 이용한 라우팅을 담당하는 계층 |
packet | IP(TCP/IP) IPX(Novel Netware) |
라우터 L3 스위치 |
|
data link | Node to Node delivery, 인접한 노드 간의 신뢰성 있는 프레임 통신을 담당하는 걔층 |
frame | LAN : ethernet, tokenring, FDDI WAN : X.25, Frame Relay |
L2 스위치 Bridge |
① 스위치 재밍/MAC Flooding 공격 ② ARP 스푸핑(Spoofing) 공격 ③ ARP 리다이렉트 공격 ④ ICMP 리다이렉트 공격 ⑤ 스위치의 SPAN/Port Mirroring 기능 이용 |
physical | 물리적 장치의 전기적, 전자적 연결을 담당하는 계층 | bit | HUB REPEATER |
네트워크 카드(NIC)의 동작모드를 무차별 모드로 설정하면 자신이 목적지가 아닌 패킷도 모두 수신 |
Physical Layer(물리 계층 ,L1)
① 개념
물리적 장치의 전기적, 전자적 연결 명세
멍청함. 디지털 데이터를 전기,광학적 신호로 변환하는 역할만 해서 목적지같은건 못찾는다.
② PDU (Protocol Data Unit)
비트(bit)
③ 주요장비
HUB(=Dummy Hub)
: 들어온 신호를 모든 포트로 전달하는 중계 장치
REPEATER
: 감쇠된 전송신호를 새롭게 재생하여 다시 전달
④ 취약점
더미 허브 환경에서의 스니핑
: 더미 허브는 전달받은 패킷을 연결된 모든 노드로 전송한다. 그래서 허브에 연결된 모든 노드는 스니퍼(sniffer)를 통한 스니핑(sniffing)이 용이하다. 단, 네트워크카드 (NIC:Network Interface Card)의 기본 동작모드가 자신을 목적지 주소로 하는 패킷(MAC)이 아니면 모두 폐기하므로 패킷을 볼 수 있는 것은 아니다.
네트워크 카드(NIC)의 동작모드를 무차별 모드(Primiscuous Mode)로 설정하면 자신이 목적지가 아닌 패킷도 모두 수신하기 때문에 더미 허브 환경에서 손쉽게 스니핑 가능하다. 일반적으로 스니퍼가 동작할 때 NIC 동작모드를 무차별모드로 설정한다.
Data Link Layer(데이터링크 계층 ,L2)
① 개념
Node to Node delivery, 인접한 노드 간의 신뢰성 있는 프레임 통신
목적지 노드를 찾아가기 위해서는 목적지의 물리주소가 필요한데 NIC의 MAC주소가 해당 역할을 한다.
⊕ 신뢰성 있는 전송이란?
데이터의 안전한 전송을 보장해준다는 의미. 2계층에선 아래와 같은 기능을 보장한다.
- 흐름제어(Flow Control) : 송신 노드가 수신 노드의 처리 속도를 고려해 이를 초과하지 않도록 전송을 제어한다. 이는 수신확인응답을 송신 노드에 보냄으로써 수행되는데 정지-대기방식(송신 측에서 ACK 받을때까지 대기)과 슬라이딩 윈도우 방식(ACK 받기 전에 수신 가능한 범위 내 프레임 전송)이 있다.
- 오류재어(Error Control) : 전송 중 주파수 혼란, 감쇠, 자음 등과 같은 여러 원인에 의한 오류나 손실 발생 시 이를 해결하기한 제어 방식이며, 후진 오류 수정방식(Backward Error Correction : 송신 측에서 오류검출 정보 전송해 수신에서 점검후 재전송)과 전진 오류 방식(Forward Error Correction: 재전송 불필요. 송신 측에서 송신시 오류 검출 및 수정 모두 가능) 방식이 있다.
- 회선제어(Line Control) : 점-대-점(Point-to-Point) 또는 다중점(Multipoint) 회선 구성 방식(둘 이상의 장치가 하나의 링크에 연결되는 방식)과 단방향,반이중 및 전이중 등의 전송방식(연결된 두 개의 장치간 신호흐름 방향 정의) 에 따라 사용되는 전송링크에 대한 제어 규범이다.
② 주요 프로토콜
LAN protocol
: ethernet,tokenring,FDDI,
WAN protocol
: X.25, Frame Relay..
③ PDU (Protocol Data Unit)
프레임(Frame)
④ 주요장비
L2 스위치
: 내부적으로 MAC Address Table을 갖고 있으며, 이 테이블은 스위치 포트에 연결된 노드의 MAC정보를 갖고있다. 연결된 노드에만 정보를 전달하며, 모니터링 포트를 통해 특정 포트를 모니터링할 수 있다.
Bridge
: 물리적으로 떨어진 동일한 LAN(ex, ethernet)을 연결해주는 장비
⑤ 취약점
스위치 환경에서의 스니핑 공격 기법
- 스위치 환경에서는 기본적으로 목적지로만 패킷을 전송하기 때문에 스니핑이 불가능하지만, 스위치 재밍, ARP 스푸핑, ARP 리다이렉트, ICMP 리다이렉트, 스위치의 SPAN/Monitoring Port 등을 이용해 스니핑이가능하다.
1) 스위치 재밍/MAC Flooding 공격
: 스위치 MAC Address Table의 버퍼를 오버플로우 시켜서 스위치가 허브처럼 동작하게 강제적으로 만드는 기법. 스위치는 Fail Safe/Open 정책(장애 발생 시 모든 기능 허용)을 따르는 장비이므로 장애가 발생하면 더미 허브처럼 연결된 모든 노드에 패킷을 전송한다. 공격자는 MAC Address Table을 채우기 위해 Source MAC 주소를 계속 변경하면서 패킷을 지속적으로 전송한다.
2) ARP 스푸핑(Spoofing) 공격
: 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply 패킷을 만들어 희생자에게 지속적으로 전송하면 희생자의 ARP Cache Table 에 특정 호스트의 MAC 정보가 공격자의 MAC 정보로 변경된다. 이를 통해 희생자로부터 특정 호스트로 나가는 패킷을 공격자로 향하게 해 스니핑 하는 기법이다. 희생자와 특정 호스트 간의 송수신 패킷을 모두 스니핑하기 위해서는 희상자와 특정 호스트 모두 ARP 스푸핑을 수행한다. 또한, 희생자들이 스니핑을 인식하지 못하고 정상적인 통신이 될 수 있도록 IP Forward 기능을 활성화한다.
3) ARP 리다이렉트(Redirect) 공격
⊕ IP Forward 기능
일반적인 호스트 설정의 경우 자신을 목적지주소로 하지 않는 Ip패킷을 수신하면 모두 폐기하지만, 이 기능을 활성화하면 라우터처럼 동작하여 자신이 목적지가 아닌 iP패킷에 대해서는 라우팅 테이블을 참조하여 해당 목적지로 전송한다.
: ARP 스푸핑 공격의 일종으로 공격자가 자신이 라우터/게이트웨이인 것처럼 MAC 주소를 위조해 ARP Reply 패킷을 대상 네트워크에 지속적으로 브로드캐스트하면 해당 로컬 네트워크의 모든 호스트의 ARP Cache Table 에 라우터/게이트웨이의 MAC 정보가 공격자의 MAC 정보로 변경이 된다. 이를 통해 호스트에서 라우터로 나가는 패킷을 공격자가 스니핑 하는 기법. 마찬가지로 IP Forward 기능을 활성화한다.
4) ICMP 리다이렉트(Redirect) 공격
: ICMP Redirection 메시지는 호스트-라우터 또는 라우터 간에 라우팅 경로를 재설정하기 위해 전송하는 메시지이다. 공격자가 이를 악용해 특정 IP 또는 IP 대역으로 나가는 패킷의 라우팅 경로를 자신의 주소로 위조한 ICMP Redirect 메시지를 생성하여 희생자에게 전송함으로써 희생자의 라우팅 테이블을 변조해 패킷을 스니핑하는 공격기법이다. 마찬가지로 IP Forward 기능을 활성화한다.
5) 스위치의 SPAN(Switch Port ANalyzer)/Port Mirroring 기능 이용
: 스위치를 통과하는 모든 트래픽을 볼 수 있는 기능을 의미하며, 특정 포트에 분석 장비를 접속하고 다른 포트의 트래픽을 분석 장비로 자동 복사해주는 기능이다. 관리적인 목적으로 사용하지만, 공격자가 물리적으로 해당 포트에 접근할 수 있다면 손쉽게 패킷 스니핑이 가능하다.
Network Layer(네트워크 계층,L3)
① 개념
End To End Delivery, Host to Host Delivery
End 노드 간 IP를 이용한 라우팅을 담당하는 계층
목적지 노드를 찾아가기 위해서는 목적지의 논리주소가 필요한데 TCP/IP 프로토콜에선 IP 주소가 해당 역할을 한다.
⊕ 라우팅이란?
: 라우팅 알고리즘(프로토콜)에 의해 목적지로 전송하기 위한 최적의 경로를 설정하고 패킷을 교환하는 기능을 제공하는 것.
⊕ 논리적인 주소란?
: 변경 가능한 주소(ex. IP) <-> 물리적인 주소 (ex. MAC)
② 주요 프로토콜
IP(TCP/IP), IPX(Novel Netware)
③ PDU (Protocol Data Unit)
패킷(Packet)
④ 주요장비
라우터/L3 스위치
: 최적의 경로를 선정해서 패킷을 포워딩하는 기능(라우팅)을 담당하는 장비
- 데이터 링크 계층의 브로드캐스트와 멀티캐스트를 포워딩하지 않으며, 서로 다른 VLAN 간의 통신을 가능하게하고 기본적인 보안 기능(ex. ACL을 통한 접근제어) 과 QOS(Quality Of Service: 서비스별 대역 조절) 관련 기능을 지원함.
⊕ VLAN 종류
- 포트기반, MAC기반, 네트워크 ID 기반, 프토코롤 기반
⑤ 취약점
Transfort Layer(전송 계층,L4)
① 개념
End To End Reliable Delivery ( Process to Process Communication)
End 노드의 해당 Process 간 신뢰성 있는 데이터 전송을 담당하는 계층
목적지 노드를 찾아가기 위해서는 Process를 식별하기 위한 목적지의 논리주소가 필요한데 TCP/IP 프로토콜에선 Port Address 가 해당 역할을 한다.
⊕ 신뢰성 있는 전송이란?
데이터의 안전한 전송을 보장해준다는 의미. 4계층에선 아래와 같은 기능을 보장한다.
- 분할(Segmentation)과 재조합(Reassembly) : 조건에 따라 원본 데이터를 전송가능한 단편(세그먼트) 단위로 분할하여 전송하면 목적지에서는 이를 재조합하여 원본데이터를 복원한다.
- 연결제어(Connection Control) : 연결지향(물리적인 연결통로가 설정되었는 것처럼 동작 ex.TCP ) 과 비연결지향(연결/종료과정이 없음 ex.UDP)를 지원한다.
- 흐름제어(Flow Control) : 송신 노드가 수신 노드의 처리 속도를 고려해 이를 초과하지 않도록 전송을 제어한다. 이는 수신확인응답을 송신 노드에 보냄으로써 수행되는데 정지-대기방식(송신 측에서 ACK 받을때까지 대기)과 슬라이딩 윈도우 방식(ACK 받기 전에 수신 가능한 범위 내 프레임 전송)이 있다. 2계층은 바로 인접한 노드 간 흐름제어를 했다면, 4계층에선 양 종단노드 간 흐름제어를 수행하여 그 범위가 더 넓다.
- 오류제어(Error Control) : 전송 중 주파수 혼란, 감쇠, 자음 등과 같은 여러 원인에 의한 오류나 손실 발생 시 이를 해결하기한 제어 방식이며, 후진 오류 수정방식(Backward Error Correction : 송신 측에서 오류검출 정보 전송해 수신에서 점검후 재전송)과 전진 오류 방식(Forward Error Correction: 재전송 불필요. 송신 측에서 송신시 오류 검출 및 수정 모두 가능) 방식이 있다. 종단 노드 간 이를 수행한다.
- 혼잡제어(Congetion Control) : 네트워크 혼잡도를 계산하여 전송량을 제어한다.
② 주요 프로토콜
TCP,UDP,SCTP(TCP/IP), SPX(Novel Netware)
③ PDU (Protocol Data Unit)
세그먼트(Segment)
④ 주요장비
L4 스위치(Server Load Balancing)
: SLB 즉, 서버 트래픽 분산분할과 Failover(장애조치기능: 장애 발생 시 예비 시스템으로 전환) 기능을 수행한다.
⑤ 취약점
OSI 모델 데이터 교환 방식
캡슐화(Encapsulation)와 역캡슐화(Decapsulation)
: 계층간 데이터 이동 시, 해당 계층의 프로토콜은 자신의 기능수행을 위해 필요한 부가 정보를 추가(제거)해 메시지를 완성한다.
- 캡슐화 : 상위 -> 하위 : 헤더 추가
- 역캠슐화 : 하위 - > 상위 : 헤더 제거
다중화(Multiplexing)와 역다중화(Demultiplexing)
- 다중화 : 하나의 기능을 여러 영역에서 동시에 사용하는 기법. 상위 계층의 여러 프로토콜이 결국 하위 계층의 하나의 프로토콜을 이용하여 데이터를 전달하는 방식으로 수식 측에서 상위 프로토콜을 구별할 수 있도록 프로토콜 식별자 정보를 헤더에 추가한다.
- 역다중화 : 여러 기능으로부터 개별 영역으로 분할하는 기법. 하위 계츠으이 프로토콜이 여러 상위 계층 프로토콜 중 하나를 식별하여 데이터를 전달하는 방식으로 이를 위해선 상위 프토콜을 구별하기 위한 프로토콜 식별자 정보(다중화 시 헤더에 설정된 정보) 이용
'정보보안 > 네트워크 보안' 카테고리의 다른 글
[네트워크 기본학습] TCP 프로토콜 (0) | 2024.11.14 |
---|---|
[네트워크 기본학습] ICMP 프로토콜 (0) | 2024.11.14 |
[네트워크 기본학습] IP 프로토콜 (3) | 2024.11.13 |
[네트워크 기본학습] ARP/RARP(TCP/IP 인터넷 계층) (0) | 2024.11.13 |
[네트워크 기본학습] TCP/IP 4 Layer (0) | 2024.11.13 |