정보보안 공부/리눅스

[20.09.11] ARP 스푸핑

pxatd 2020. 10. 2. 15:47
728x90

동아리에서 2학기에는 하나의 주제를 가지고 총 2주간 학습을 진행한다.

1학기때는 매주 실습을 진행했는데, 그러다보니 개념을 놓치고 실습만 하게 되어 잘 이해가 되지 않을 때가 많았다. 그래서 2학기때는 첫번째 주차에는 관련 개념을 키워드로 정리하여 학습하고, 그 지식을 바탕으로 두번째 주차에 실습을 진행하기로 하였다. 

 


20.09.11 의 키워드 : ARP, ARP 스푸핑, ARP 스푸핑 공격 과정, ARP 스푸핑 대응 방안, IP/MAC 주소, OSI 7계층, broadcast/unicast 

 

ARP :

-ARP(Address Resolution Protocol = IP->MAC) - IP를 이용해서 MAC 알아내기

-상대방의 ip 주소는 알고 있지만 mac 주소를 모를 때 사용되는 프로토콜

 

 

ARP 스푸핑 정의 :

-ARP Spoofing 공격은 로컬 네트워크(LAN)에서 사용하는 ARP 프로토콜의 허점을 이용하여 자신의 MAC(Media Access Control) 주소를 다른 컴퓨터의 MAC인 것처럼 속이는 공격이다.

-자신의mac 주소를 다른 컴퓨터의 mac주소인 것으로 속이는 공격

 

 

ARP스푸핑 공격 과정 :

1. 공격자가 A에게 자신의 MAC주소를 BMAC 주소인 것처럼 속인다.

2. 공격자가 B에게 자신의 MAC주소를 AMAC 주소인 것처럼 속인다.

3. ABMAC주소가 CC(공격자)라고 알고 있고, BAMAC 주소가 CC라고 알고 있다.

4. 공격자는 A에게 받은 메시지를 B에게 보내고 B에게 받은 메시지를 A에게 정상적으로 보내준다.

 

 

ARP스푸핑 대응 방안 :

1) 정적인 ARP table 관리

윈도우즈계열에서 사용하는 시작/종료 스크립트에 정적으로 관리하고자 하는 시스템의 IPMAC 주소를 입력하는 스크립트를 지정한다. (스푸핑을 위해 통식을 가로채지 못하도록)

 

2) ARP spoofing 서버로 악용되지 않도록 보안수준 강화

대부분의 ARP Spoofing 서버들은 본래의 용도 외에 침입자가 설치한 프로그램으로 인해 네트워크 트래픽 변조 서버로 악용된 것이었다. 그러므로 전체적인 보안수준을 강화하여, 공격자에게 악용되지 않도록 관리하여야 한다.

 

3) 중요 패킷의 암호화

자신의 서버를 안전하게 구축하였다고 하더라도 공격자는 동일 Subnet 내의 취약한 서버를 해킹하여 트래픽의 도청 및 변조가 가능하다. 따라서, 네트워크를 통해 아이디/패스워드, 주민번호, 금융정보 등 중요 데이터가 송수신될 경우 이 정보 또한 공격자에 의해 유출되거나 변조될 수 있으므로 이러한 데이터에 대한 암호화가 바람직하다.

 

 

IP / MAC 주소 :

1) ip 주소

ip 주소는 IPv4 체계를 기준으로 12개의 숫자로 이루어져 있다. (.)으로 구분되어진 4개의 그룹(옥텟, Octet)으로 구성되며, 각 그룹은 0~255의 범위를 갖는다. 그리고 항상 아이피 주소를 따라다니는 서브넷 마스크(Subnet Mask)라는 것이 있는데, 이것은 아이피 주소에서 네트워크 주소와 호스트 주소를 나눠주는 역할을 한다.

똑같은 아이피 주소라 하더라도, 서브넷 마스크가 다르면, 아이피 주소가 의미하는 바가 완전히 달라지게 된다.

 

2) MAC 주소

사진 출처: https://m.blog.naver.com/toruin84/220936092818

 

MAC 주소는 IP주소와 마찬가지로 네트워크 통신에서 통신기기의 식별번호를 나타내는 것이다. IP주소와의 차이점은, IP주소는 임시적으로 다른 주체에 의해 할당 되는 것이지만, MAC 주소는 통신기기의 하드웨어 자체에 부여된 고유한 식별번호를 나타낸다.

세상에 단 하나밖에 없는 유니크한 값을 가지며, 변경될 수 없다.

MAC 주소는 콜론(:)으로 구분된 6개의 부분으로 구성된다. 각 부분은 알파벳 또는 숫자의 조합으로 되어 있다.

 

 

OSI 7계층 :

OSI 모형(Open Systems Interconnection Reference Model) 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다.

 

 

broadcast / unicast :

1) 유니캐스트

고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 (one-to-one) 트래픽 또는 메시지를 전송하는 방식

유니캐스트는 송신 가능한 모든 목적지에 동일 데이터를 전송하는 브로드캐스트 와 대비된다.

유니캐스트는 정보를 전송하기 위한 프레임에 자신의 MAC 주소와 목적지의 MAC 주소를 첨부하여 전송하는 방식을 말한다. 어떤 시스템이 유니캐스트 방식으로 데이터를 전송하게 되면 같은 네트워크에 있는 모든 시스템들은 그 MAC 주소를 받아서 자신의 MAC 주소와 비교 후에 자신의 MAC 주소와 같지 않다면 프레임을 버리고 같다면 프레임을 받아서 처리하게 된다. 유니캐스트 방식은 가장 많이 사용하는 방식으로 한 개의 목적지 MAC 주소를 사용하고 CPU 성능에 문제를 주지 않는 방식이다.

 

2)브로드캐스트

로컬 LAN상의 붙어있는 모든 네트워크 장비에게 보내는 통신이다. 로컬 LAN이란 라우터에 의해서 구분지어진 공간, 브로드캐스트 도메인이라고 하는 공간을 뜻하고, 같은 네트워크에 있는 모든 장비들에게 뿌리는 것이다.

728x90