컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 레이어 2 스위치 공격 및 예방.

레이어 2 스위치 공격 및 예방.

우리는 2 층의 이더넷 스위칭 장치가 32 비트 IP 주소를 인식하지 못한다는 것을 알고 있습니다. 이더넷 패킷은 48 비트 이더넷 주소 (즉, 우리가 흔히 말하는 MAC 주소) 로 전송됩니다. 따라서 IP 주소와 MAC 주소 사이에는 반드시 대응 관계가 있어야 하며, ARP 프로토콜은 이러한 대응을 결정하는 데 사용됩니다.

ARP 가 작동할 때 먼저 호스트에 도착하고자 하는 IP 주소가 포함된 이더넷 브로드캐스트 패킷을 보내달라고 요청한 다음 대상 IP 소유자가 IP 및 MAC 주소 쌍이 포함된 패킷으로 요청 호스트에 응답합니다. 이렇게 하면 요청 호스트가 도달할 IP 주소에 해당하는 MAC 주소를 얻을 수 있으며, 동시에 호스트에 이 주소 쌍을 자신의 ARP 테이블에 배치하여 불필요한 ARP 통신을 절약할 수 있습니다. ARP 캐시 테이블은 노화 메커니즘을 사용합니다. 테이블의 행이 일정 기간 동안 사용되지 않은 경우 (Windows 시스템의 경우 2 분, Cisco 라우터의 경우 5 분) 행이 삭제됩니다. 다음 예를 통해 ARP 의 작동 메커니즘을 명확하게 볼 수 있습니다.

다음과 같은 IP 주소를 가진 5 개의 호스트 또는 네트워크 디바이스가 있다고 가정합니다.

호스트 a 192.5438+068.438+0.2

호스트 B 192.5438+068.438+0.3

게이트웨이 c192.168.1..1

호스트 d10.1..1.2

게이트웨이 e10.1..1..1

호스트 a 가 호스트 b 와 통신하려는 경우 먼저 자신의 ARP 캐시에192.168.1.3 에 해당하는 MAC 주소가 있는지 확인하고 없는 경우 LAN 의 브로드캐스트 주소로 보냅니다 192.168.1.3 의 MAC 주소는 무엇입니까? 192. 168.5438+0.2 에 브로드캐스트 주소가 이 요청 패킷을 LAN 내 모든 호스트에 브로드캐스트하지만 192+038 에만 브로드캐스트한다고 알려주십시오. 192.168.1.2 의 ARP 패키지 (아마도192./kloc) 에 응답합니다 이렇게 하면 호스트 A 가 호스트 B 의 MAC 주소를 받고 해당 관계를 자체 ARP 캐시 테이블에 저장합니다. 이후 호스트 A 와 호스트 B 간의 통신은 캐시 테이블의 MAC 주소에 따라 달라집니다. 이 관계는 통신이 중지될 때까지 테이블에서 제거되지 않습니다.

비 LAN 의 통신 과정을 살펴 보겠습니다. 호스트 A 가 호스트 D 와 통신해야 하는 경우 먼저 호스트 D 의 IP 주소가 동일한 네트워크 세그먼트에 있지 않으므로 게이트웨이를 통해 전달해야 합니다. 이 경우 자체 ARP 캐시 테이블에 게이트웨이 192. 168. 1 해당 MAC 주소가 있는지 확인하고 없는 경우 ARP 요청을 통해 가져옵니다. 있는 경우 게이트웨이와 직접 통신하고 게이트웨이 C 는 라우팅을 통해 게이트웨이 E 로 패킷을 보냅니다. 게이트웨이 e 는 이 패킷을 받고 호스트 d (10. 1. 1.2) 로 보내진 것을 발견하고 자신의 ARP 캐시를 검사하여 안에/kloc 이 있는지 확인합니다

위의 예를 통해 이더넷 LAN 의 패킷 전송은 MAC 주소에 의존하고, IP 주소와 MAC 의 대응은 ARP 테이블에 의존하고, 게이트웨이를 포함한 각 호스트에는 ARP 캐시 테이블이 있다는 것을 알 수 있습니다. 일반적으로 이 캐시 테이블은 일대일 데이터 전송을 효과적으로 보장할 수 있으며, B 와 같은 호스트는 A 와 D 사이의 통신 정보를 가로채는 것은 불가능합니다.

그러나 ARP 캐시 테이블을 구현하는 메커니즘에는 불완전성이 있습니다. 호스트가 ARP 응답 패키지를 받으면 이 ARP 요청이 전송되었는지 확인하지 않고 원래 ARP 캐시 테이블의 해당 정보를 응답 패킷에 있는 MAC 주소와 IP 의 대응 관계로 직접 대체합니다. 이를 통해 호스트 b 는 호스트 a 와 호스트 d 사이의 데이터 통신을 차단할 수 있습니다 .....

먼저 호스트 b 는 호스트 a 에 192. 168. 1 의 MAC 주소가 02-02-02-02 라고 하는 ARP 응답 패키지를 보냅니다 호스트 a 는 패킷을 받은 후 신뢰성을 확인하지 않고 ARP 테이블에 있는 MAC 주소 192. 168. 1 을 02-02-02-02 로 직접 대체했습니다. 한편 호스트 b 는 게이트웨이 c 에192.168.1.2 의 MAC 이 02-02-02-00 이라고 하는 ARP 응답 패킷을 보냅니다 마찬가지로 게이트웨이 C 는 192.638+068 을 자체 ARP 테이블에 배치하며 패킷의 신뢰성을 검증하지 않습니다. 호스트 A 가 호스트 D 와 통신하려고 할 때 게이트웨이 192. 168. 1 으로 전송해야 하는 패킷을 MAC 주소 02-02-02-02-02-로 직접 보냅니다. 게이트웨이는 또한 자체 ARP 테이블의 MAC 를 사용하여 전송된 데이터를 IP 주소 12, 즉 호스트 B 로 보냅니다. 호스트 B 는 이 패킷을 수신한 후 호스트 A 로 전달되어 전체 데이터 통신을 완료하여 ARP 스푸핑 공격을 성공적으로 수행했습니다.

간단히 말해서, ARP 스푸핑의 목적은 전체 스위칭 환경에서 데이터 모니터링을 달성하는 것입니다. 대부분의 목마나 바이러스는 ARP 스푸핑 공격을 이용하여 이 목적을 달성한다.

찾기 및 삭제 방법

LAN 내에서 ARP 공격이 발생하면 LAN 내의 모든 호스트와 게이트웨이를 속여 모든 인터넷 트래픽이 ARP 공격자가 제어하는 호스트를 통과해야 합니다. 다른 사용자는 이전에 게이트웨이를 통해 직접 인터넷에 접속했지만 지금은 제어된 호스트를 통해 인터넷에 전달된다. 이러한 전달은 제어된 호스트 성능 및 프로그램 성능의 영향으로 인해 원활하지 않아 사용자가 인터넷 접속 속도가 느려지거나 자주 인터넷 차단이 발생할 수 있습니다. 또한 ARP 스푸핑은 ARP 응답 패킷을 지속적으로 보내야 하므로 네트워크 정체가 발생할 수 있습니다.

일단 우리가 ARP 공격이 의심되면, 우리는 가방 잡기 도구를 사용하여 가방을 잡을 수 있다. 네트워크에서 많은 수의 ARP 응답 패킷을 발견하고 모든 IP 주소가 동일한 MAC 주소를 가리키면 ARP 스푸핑 공격이 있고 이 MAC 주소가 ARP 스푸핑 공격에 사용되는 호스트 MAC 주소라면 해당 실제 IP 주소를 찾아 적절한 제어 조치를 취할 수 있습니다. 또한 라우터 또는 게이트웨이 스위치에서 IP 주소와 MAC 주소의 해당 테이블을 볼 수 있습니다. MAC 가 대량의 IP 주소에 대응하는 것을 발견하면 ARP 스푸핑 공격이 있다는 것을 알 수 있으며, 이 MAC 주소를 통해 스위치에서 ARP 스푸핑 공격에 사용되는 호스트의 물리적 포트를 찾아 제어할 수 있습니다.

어떻게 예방합니까?

우리는 ARP 스푸핑을 방지하기 위해 다음과 같은 조치를 취할 수 있습니다.

(1) 클라이언트에서 ARP 명령을 사용하여 게이트웨이의 실제 MAC 주소를 바인딩하는 명령은 다음과 같습니다.

Arp -d * (잘못된 Arp 테이블이 먼저 지워짐)

Arp-s192.168.1.103-03-03 (게이트웨이가 정적으로 지정되는 MMS

(2) 스위치 포트와 MAC 주소 사이에 정적 바인딩을 수행합니다.

(3) 라우터에서 IP 주소와 MAC 주소의 정적 바인딩을 합니다.

(4) "ARP 서버" 를 사용하여 네트워크 세그먼트 내 모든 호스트에 대한 정확한 IP-MAC 매핑 테이블을 일정한 간격으로 브로드캐스트합니다.

(5) 가장 중요한 것은 사용자의 안전의식을 높이고, 시스템 패치를 적시에 설치하는 것을 포함한 좋은 안전습관을 개발하는 것이다. 시스템에 대한 강력한 암호를 설정합니다. 방화벽 설치 효과적인 바이러스 백신 소프트웨어를 설치하고 바이러스 라이브러리를 제때에 업그레이드합니다. 능동적으로 사이버 공격을 하지 않고, 믿을 수 없는 소프트웨어를 함부로 실행하지 않는다.

ARP 는 다음과 같이 작동합니다.

TCP/IP 프로토콜에서는 A 가 B 에 IP 패킷을 보낼 때 B 의 IP 주소를 헤더에 채워야 하지만 이 IP 패킷이 이더넷에서 전송될 때는 한 번 캡슐화해야 합니다. 이 이더넷 패킷에서 대상 주소는 B 의 MAC 주소입니다.

컴퓨터 A 는 B 의 MAC 주소를 어떻게 알 수 있습니까? 문제 해결의 관건은 ARP 프로토콜에 있다.

A 가 b 의 MAC 주소를 모를 때 a 는 b 의 IP (192.168.1.2), 이더넷으로 채워진 ARP 요청 패킷을 브로드캐스트합니다 일반적으로 B 만 B 의 MAC 주소로 채워진 ARP 응답 패키지를 제공하여 A 에게 회신합니다. .....

A 가 ARP 응답을 받으면 B 의 MAC 주소를 로컬 캐시에 넣어 다음에 사용할 수 있도록 합니다.

네이티브 MAC 캐시는 생존 기간이 있습니다. 생년월일이 끝나면 이 과정을 다시 반복할 것이다.

ARP 프로토콜은 ARP 응답을 받기 전에 ARP 요청을 보내는 것이 아닙니다. 컴퓨터가 ARP 응답 패키지를 받으면 로컬 ARP 캐시를 업데이트하고 응답의 IP 및 MAC 주소를 ARP 캐시에 저장합니다. 따라서 LAN 의 한 시스템 B 가 A 에게 위조된 ARP 응답을 보냈는데, 이 응답이 B 가 C 로 위조된 경우, 즉 IP 주소가 C 이고 MAC 주소가 위조된 경우 A 가 B 의 위조된 ARP 응답을 받으면 로컬 ARP 캐시가 업데이트되므로 A 에서 C 의 IP 주소는 변경되지 않고 MAC 주소는 변경되지 않습니다. LAN 의 네트워크 흐름은 IP 주소가 아니라 MAC 주소를 기반으로 하기 때문입니다. 따라서 위조된 MAC 주소가 A 에서 존재하지 않는 MAC 주소로 바뀌어 네트워크가 차단되어 A 가 C 에 ping 을 할 수 없게 됩니다! 이것은 간단한 ARP 사기입니다.

上篇: 세계 최대 풍력 개발상이 A 주에 상륙할 예정인데, 원래 뒤에는 두 세계 5 대 기업이 있다. 下篇: 이스라엘 자동차 기술 회사 RFISee, 위상 배열 4D 이미징 레이더 칩 출시
관련 내용