본문 바로가기
컴퓨터 지식/네트워크&프로토콜

[프로토콜] ARP spoofing 이란? / ARP poisoning /

by 서상혁 2020. 3. 23.

ARP 

Address Resolution Protocol 의 약자로서, 말그대로 주소를 결정해줍니다.

어떤 주소를 결정해주냐? 

같은 IP 를 쓰는 여러 장치들이 있겠죠? 그 중에 통신의 대상이 될 장치의 MAC 주소가 필요합니다. 

IP 주소를 받아 MAC주소(장치의 직접적인주소)를 결정해줍니다. 

 


 

 

ARP 통신방법

 

ARP는 기본적으로 MAC 주소를 얻기 위해 IP를 BroadCast 방식으로 Target으로 보냅니다. 

(특정 상황에 따라 Unicast로 보내는 경우도 있습니다.)

쉽게 말하자면, 네트워크 내에 모든 이들에게 요청을 하는 것이죠. (하나에게만 보내는것은 unicast)

그 중에 필요한 MAC주소를 가지고 있는 특정 장치의 Response를 이용해 MAC 주소를 얻어냅니다.

그럼, 이때 받았던 MAC 주소를 캐싱 테이블에 저장한 뒤, 이 주소를 이용해 통신을 합니다.

 

쉬운 예시)

내가 철수 친구랑 통신을 하고싶은데 전화번호를 모릅니다. 그래서 내 연락처 사람들 모두에게 철수의 전화번호를 요청하죠. 누군가에게 그 전화번호를 받으면 그걸 주소록에 저장해서 통신하는 원리와 같습니다.

 


 

ARP spoofing / ARP poisoning

 

 * Spoofing = '속이기' , poisioning = '더럽히기'

- 자신이 통신 상대인거처럼 속여서 패킷을 가로챈다는 뜻입니다.

 

ARP 통신의 특징을 이용해 데이터 패킷을 가로채는 중간자 공격 기법입니다. (영어로는 Man-in-the-middle)

 

출처 : 위키백과(https://ko.wikipedia.org/wiki/ARP_%EC%8A%A4%ED%91%B8%ED%95%91)

ARP 는 Broadcast 방식을 이용한다고 했었죠, 이 점을 이용해 공격자는 IP요청을 받은후 요청자에게 잘못된 MAC주소(주로 본인 장치의 MAC주소)를 알려줍니다. 그리고 올바른 MAC주소를 가진 타겟 장치에 또한 요청자 MAC주소가 아닌 잘못된 MAC 주소를 보내줍니다. 그러면 요청자와 타겟 모두 본인들은 통신이 원할하게 되고 있는줄 알죠.

하지만, 실상은 중간 공격자가 모든 패킷을 컨트롤하게 되는 것입니다.

728x90

댓글