본문 바로가기
Network

[네트워크 보안] ARP 프로토콜, ARP spoofing, TCP 프로토콜

by 수픽 2020. 9. 21.

1. ARP(Address resolution protocol) 프로토콜


- 네트워크 프로토콜

- 네트워크 상에서 IP주소를 물리적 네트워크 주소(MAC)으로 대응시키기 위해 사용되는 프로토콜

- 주소를 재해석

- 논리적 주소 (IP)를 기반으로 물리적 주소(MAC)을 알아오는 기술

- ARP Cache Tabledp MAC 주소 저장

- arp -a 명령어 사용하여 저장되어 있는 ARP Mapping 정보 확인 가능

 

* ARP 헤더

 

출처 : https://m.blog.naver.com/PostView.nhn?blogId=jga0674&logNo=220889922289&proxyReferer=https:%2F%2Fwww.google.com%2F

- Hardware Type : 사용 가능한 전체 물리주소 유형 필드값

- Protocol Type : 사용 중인 프로토콜 주소 유형의 정의

- Hardware Address Length : 패킷에 사용되는 물리 주소의 길이(byte) 정의

- Protocol Address Length : 패킷에 사용되는 프로토콜 주소 길이 정의

- Opcode : 요청, 응답 패킷 구분과 발생하는 주소 해결 유형 정의

- Sender Hardware Address : 요청하는 장비의 L2 계층의 물리 주소 표현

- Target Hardware Address : 수신하는 장비의 하드웨어 주소 표현

- Target Protocol Address : 수신하는 장비의 L3계층의 논리 주소 표현

 

* ARP 프로토콜 실습

 

 

2. ARP spoofing


출처 : https://ko.wikipedia.org/wiki/ARP_%EC%8A%A4%ED%91%B8%ED%95%91

- 중간자 공격 기법

- LAN에서 ARP 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 공격

- 특별한 이상 증상 X

- 와이어샤크같은 패킷 감지 프로그램으로 감지 가능

 

* 공격 과정

(1) 공격자가 의도적으로 특정 IP주소와 자신의 MAC 주소로 대응하는 ARP 메시지 발송

(2) 메시지를 받은 장비는 IP 주소를 공격자 MAC 주소로 인식, 해당 IP 주소로 보낼 패킷을 공격자에게 전송

(3) 공격자는 패킷을 원하는 대로 변조한 후 원래 목적지 MAC 주소로 발송

 

3. TCP 프로토콜


 

- 전송계층 프로토콜

- 연결지향적, 신뢰성, 일대일 통신(유니캐스트)

- 네트워크 망에 연결된 컴퓨터의 프로그램 간 데이터를 순서대로 에러없이 교환할 수 있게 하는 역할

- 보내는 데이터의 순서를 유지

- 데이터 중복, 손실 없음

- 헤더 및 데이터에 대한 에러 검사 후 에러시 재전송

- 슬라이딩 윈도우 사용

- 바이트 스트림 서비스

EX) Telnet, FTP, SMTP

 

4-way handshake

출처 : https://jhkang-tech.tistory.com/12

- 연결 해제 과정

(1) 클라이언트가 연결을 종료 FIN 플래그 전송

(2) 서버는 클라이언트의 요청(FIN)을 받고 확인 메시지로 ACK 전송

(3) 데이터 모두 보낼 때까지 타임아웃

(4) 데이터를 모두 보내고 통신이 끝나면, 연결이 종료되었다는 의미로 클라이언트에게 FIN 전송

(5) 클라이언트는 FIN을 받고 확인 메시지로 ACK 전송

(6) ACK를 받은 서버는 소켓 연결을 CLOSE

(7) 클라이언트는 서버로부터 못받은 데이터가 있을 것을 대비해 일정 시간 동안 대기