일단 생성 |
ARP 스푸핑 및 대처법 추가 |
||
| (같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
| 4번째 줄: | 4번째 줄: | ||
송신자가 ARP Request 구조(송신자의 물리 주소, 송신자 IP주소, 00-00-00-00-00, 수신자 IP 주소 등)를 브로드캐스트 방식으로 보내면 수신자가 ARP Reply 구조로 유니캐스트 방식으로 응답하여 MAC 주소를 받으면 패킷을 교환할 경로를 인식할 수 있다. | 송신자가 ARP Request 구조(송신자의 물리 주소, 송신자 IP주소, 00-00-00-00-00, 수신자 IP 주소 등)를 브로드캐스트 방식으로 보내면 수신자가 ARP Reply 구조로 유니캐스트 방식으로 응답하여 MAC 주소를 받으면 패킷을 교환할 경로를 인식할 수 있다. | ||
ARP 패킷은 네트워크 접속 전 반드시 보내야 하는 패킷이기 때문에 만약 ARP 패킷을 보내는 중간에 누군가 패킷을 가로채셔 자신이 IP 주소 소유자라고 속이면 송신자 입장에서 알 방법이 없다. 이런 유형의 해킹 기법을 '''ARP 스푸핑'''(ARP Spoofing)이라고 하지만, 전역 네트워크인 WAN이 아닌 LAN 단계에서 라우터(또는 인터넷 공유기)나 상대 컴퓨터에 패킷이 도착하기도 전에 가로채야만 성공할 수 있는 근거리 공격이라는 한계가 있다. | |||
예를 들어 평범한 [[Wi-Fi|무선공유기]]로 인터넷을 할 때 ARP 스푸핑을 하려면 무려 공유기에 패킷을 담은 신호 전파가 도착하여 응답하기도 전에 다른 컴퓨터/공유기로 가로채야 하고, 유선 인터넷이면 통신사가 동네 어딘가 설치한 집 근처 라우터보다 더 가까운 거리에서 패킷을 가로채고 응답해야 한다. 그래서 일반 가정집을 상대로 이런 공격을 하기엔 난이도가 하늘을 찌른다. | |||
그래서 보통 ARP 스푸핑을 당했다고 하면 공공장소의 Wi-Fi 존으로 위장한 공격용 장치에 대신 연결된 경우거나, 주로 높은 가치의 데이터들이 모여있는 [[데이터센터]]에 물리적으로 침투해서 스푸핑을 위한 장치를 어딘가 숨겨두거나 데이터센터 내에 악성 소프트웨어에 감염된 다른 컴퓨터(혹은 재택근무를 시행한다고 아무 생각 없이 인터넷에 회사 사설망을 노출시킨 <s>무개념 직원의</s> 컴퓨터인 경우)가 자신이 라우터인 것처럼 속이는 형태로 성공시키는 경우가 많다. 그마저도 실제 공격 성공으로 이어지기는 다른 유형의 해킹에 비해 힘든 편이다. | |||
이에 대한 주요 대처법으로는 ARP 테이블을 정해진 MAC을 가진 컴퓨터의 응답만 받도록 고정하거나, <s>약속된 승리의</s> [[VPN]]으로 패킷을 암호화해 원하는 상대 컴퓨터만 알아볼 수 있게 처리하는 것이 있다. | |||
== ARP 패킷 구조== | == ARP 패킷 구조== | ||
Ethernet Layer 2 Packet 기준 Data 부분에 다음 형태의 데이터가 들어간다. IPv4 기준이고, 송수신자가 서로의 정보만 맞바꾼 동일한 구조의 패킷으로 통신한다. | |||
{| class="wikitable" style="text-align:center;" | |||
|+ ARP 패킷 데이터그램의 구조 | |||
|- | |||
| colspan="2" | Hardware Type(16bit, 이더넷의 경우 1) || Protocol Type(16bit, IPv4의 경우 0x0800) | |||
|- | |||
| Hardware Length(8bit) || Protocol Length(8bit) || Operation(16bit, ARP Request는 1, ARP Reply는 2) | |||
|- | |||
| colspan="3" | Sender MAC Address(32bit) | |||
|- | |||
| colspan="3" | Sender IP Address(32bit) | |||
|- | |||
| colspan="3" | Receiver MAC Address(32bit, ARP Request의 경우 이 부분을 0으로 채운다) | |||
|- | |||
| colspan="3" | Receiver IP Address(32bit) | |||
|} | |||