회사 LAN에 있는 컴퓨터가 감염되어 다른 컴퓨터에 계속 ARP 공격을 보내고 있습니다. 어떻게 해야 하나요?
이 게시물을 보세요~~문제를 해결하는 방법이 가장 중요하지 않고 관련 지식을 갖는 것이 가장 중요합니다
ARP 주소 스푸핑 바이러스 방지
ARP 프로토콜이란 무엇입니까
ARP 스푸핑 공격의 원리를 이해하려면 먼저 ARP 프로토콜이 무엇인지 이해해야 합니다. ARP는 Address Translation Protocol의 영어 약어이며 OSI 모델의 두 번째 계층에서 작동하는 링크 계층 프로토콜입니다. 이 계층과 하드웨어 인터페이스 간에 통신하고 상위 계층(네트워크 계층)에 서비스를 제공합니다.
우리는 레이어 2 이더넷 스위칭 장비가 32비트 IP 주소를 인식하지 못한다는 것을 알고 있습니다. 이 장비는 48비트 이더넷 주소(종종 MAC 주소라고 함)로 이더넷 데이터 패킷을 전송합니다. 따라서 IP 주소와 MAC 주소 사이에는 대응 관계가 있어야 하며, 이 대응 관계를 판별하는 데 사용되는 프로토콜은 ARP 프로토콜입니다.
ARP가 작동하면 먼저 호스트에 원하는 IP 주소가 포함된 이더넷 브로드캐스트 패킷을 보내도록 요청한 다음 대상 IP의 소유자가 IP와 MAC 주소 쌍이 포함된 패킷으로 응답합니다. . 이러한 방식으로 요청 호스트는 도달하려는 IP 주소에 해당하는 MAC 주소를 얻을 수 있습니다. 동시에 요청 호스트는 불필요한 ARP 통신을 절약하기 위해 이 주소 쌍을 자체 ARP 테이블에 캐시합니다. ARP 캐시 테이블은 에이징 메커니즘을 채택합니다. 테이블의 행이 일정 기간(Windows 시스템의 경우 2분, Cisco 라우터의 경우 5분) 동안 사용되지 않으면 삭제됩니다. 다음 예를 통해 ARP의 작동 메커니즘을 명확하게 볼 수 있습니다.
다음과 같은 5개의 IP 주소를 가진 호스트나 네트워크 장치가 있다고 가정합니다.
호스트 A 192.168.1.2
호스트 B 192.168.1.3
호스트 B 192.168.1.3
p>
게이트웨이 C 192.168.1.1
호스트 D 10.1.1.2
게이트웨이 E 10.1 .1.1
호스트 A가 호스트 B와 통신하려면 먼저 자신의 ARP 캐시에 192.168.1.3 주소에 해당하는 MAC 주소가 있는지 확인하고 그렇지 않으면 ARP 요청을 보냅니다. 기본적으로 192.168.1.3의 MAC 주소는 무엇입니까? 192.168.1.2를 알려주십시오. 브로드캐스트 주소는 이 요청 패킷을 LAN의 모든 호스트에 브로드캐스트하지만 호스트 192.168에만 해당됩니다. .1.3은 이 요청 패킷에 응답합니다. 192.168.1.2의 ARP 패킷에 응답합니다. 이는 대략 192.168을 의미합니다. .1.3의 MAC 주소는 02-02-02-02-02-02입니다. 이 경우 호스트 A는 호스트 B의 MAC 주소를 획득하고 이 해당 관계를 자체 ARP 캐시 테이블에 저장합니다. 이후 호스트 A와 호스트 B 간의 통신은 두 캐시 테이블의 MAC 주소에 의존합니다. 이 통신은 통신이 중지된 후 2분이 지나도 테이블에서 삭제되지 않습니다.
LAN이 아닌 곳에서의 통신 과정을 살펴보겠습니다. 호스트 A가 호스트 D와 통신해야 하는 경우 먼저 호스트 D의 IP 주소가 자신과 동일한 네트워크 세그먼트에 있지 않음을 발견하므로 게이트웨이를 통해 전달되어야 합니다. 게이트웨이 192.168.1.1에 해당하는 MAC 주소가 없으면 ARP 요청을 통해 이를 얻습니다. 가능하면 게이트웨이 C로 직접 데이터 패킷을 보냅니다. 게이트웨이 E는 라우팅을 통해 데이터 패킷을 수신한 후 호스트 D(10.1.1.2)로 전송되었음을 확인하고 10.1.1.2에 해당하는 MAC 주소가 있는지 확인합니다. 이를 얻으려면 ARP 프로토콜을 사용하십시오. MAC 주소를 사용하여 호스트 D 통신과 통신하십시오.
위의 예를 통해 이더넷 LAN의 데이터 패킷 전송은 MAC 주소에 의존한다는 것을 알 수 있습니다. 각 호스트(게이트웨이 포함). ARP 캐시가 있습니다. 정상적인 상황에서 이 캐시 테이블은 호스트 B 등이 A와 D 간의 통신 정보를 가로챌 수 없는 일대일 데이터 전송 특성을 효과적으로 보장할 수 있습니다.
그러나 호스트는 ARP 캐시 테이블을 구현하는 메커니즘에 불완전성이 있습니다. 호스트는 ARP 응답 패킷을 수신하면 ARP 요청을 보냈는지 확인하지 않고 해당 패킷을 직접 대체합니다. MAC 주소와 응답 패킷의 IP 간의 해당 관계를 원본 ARP 캐시 테이블의 정보에 포함합니다. 이를 통해 호스트 B는 호스트 A와 호스트 D 간의 데이터 통신을 가로챌 수 있습니다.
먼저 호스트 B는 MAC 주소 192.168.1.1이 02-02-02-02-02-02라는 ARP 응답 패킷을 호스트 A로 보냅니다. 호스트 A는 패킷을 수신한 후 확인하지 않습니다. 대신 호스트 B는 ARP 목록의 MAC 주소 192.168.1.1을 02-02-02-02-02-02로 직접 대체합니다. 동시에 호스트 B는 게이트웨이 C에 MAC 주소가 있음을 알리는 ARP 응답 패킷을 보냅니다. 192.168.1.2의 주소는 02-02-02-02-02-02입니다. 마찬가지로 게이트웨이 C는 이 패킷의 신뢰성을 확인하지 않았으며 ARP 테이블의 MAC 주소 192.168.1.2를 02-02-02-로 대체했습니다. 02-02-02. 호스트 A는 호스트 D와 통신을 원할 때 게이트웨이 192.168.1.1로 보내야 할 데이터 패킷을 MAC 주소 02-02-02-02-02-02, 즉 호스트 B로 직접 보냅니다. B는 이 패킷을 수신한 후 이를 수정하여 실제 게이트웨이 C로 전달합니다. 호스트 D에서 반환된 데이터 패킷이 게이트웨이 C에 도달하면 게이트웨이도 자체 ARP 테이블의 MAC를 사용하여 IP 주소 192.168로 패킷을 보냅니다. 1.2. 데이터는 호스트 B인 MAC 주소 02-02-02-02-02-02로 전송됩니다. 호스트 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 -s 192.168.1.1 03-03-03-03-03-03 (게이트웨이의 MAC 주소를 정적으로 지정)
(2) 정적 바인딩 스위치의 포트 및 MAC 주소.
(3) 라우터에서 IP 주소와 MAC 주소의 정적 바인딩.
(4) "ARP SERVER"를 사용하여 특정 간격으로 네트워크 세그먼트에 있는 모든 호스트의 올바른 IP-MAC 매핑 테이블을 브로드캐스트합니다.
(5) 가장 중요한 것은 다음을 포함하여 사용자의 보안 인식을 향상시키고 좋은 보안 습관을 기르는 것입니다. 시스템에 대한 강력한 비밀번호 설정 및 효과적인 안티-시스템 설치; 바이러스 소프트웨어 적시에 바이러스 데이터베이스를 업데이트하고, 네트워크 공격을 적극적으로 수행하지 말고, 신뢰할 수 없는 소프트웨어를 함부로 실행하지 마십시오.
ARP의 작동 원리는 다음과 같습니다.
TCP/IP 프로토콜에서 A는 B에게 IP 패킷을 보냅니다. 헤더에는 B의 IP가 다음과 같이 채워져야 합니다. 그러나 이 IP 패킷은 이더넷에서 전송할 때 이더넷 패킷을 캡슐화해야 합니다. 이 이더넷 패킷에서 대상 주소는 B의 MAC 주소입니다.
컴퓨터 A는 B의 MAC 주소를 어떻게 알 수 있습니까? 주소? 문제 해결의 열쇠는 ARP 프로토콜에 있습니다.
A가 B의 MAC 주소를 모르는 경우 A는 ARP 요청 패킷을 브로드캐스트하고 요청 패킷은 B의 IP(192.168.1.2)로 채워지지만 이더넷에 있는 모든 컴퓨터는 이 요청을 수신합니다. 정상적인 상황에서는 B만이 ARP 응답 패킷을 제공하며, 패킷은 B의 MAC 주소로 채워져 A에게 응답됩니다.
A가 ARP 응답을 받은 후 다음에 쉽게 사용할 수 있도록 B의 MAC 주소를 로컬 캐시에 넣습니다.
로컬 MAC 캐시에는 수명이 있습니다. 수명이 끝나면 위의 과정이 다시 반복됩니다.
ARP 프로토콜은 ARP 요청을 보낸 후 ARP 응답만 받는 것이 아닙니다. 컴퓨터가 ARP 응답 패킷을 받으면 로컬 ARP 캐시를 업데이트하고 응답의 IP 및 MAC 주소를 ARP 캐시에 저장합니다. 따라서 로컬 네트워크의 머신 B가 A에게 위조된 ARP 응답을 보내고 이 응답이 B가 C를 가장하여 위조한 경우, 즉 IP 주소가 C의 IP이고 MAC 주소가 위조된 경우 A는 B의 위조 ARP 응답을 받은 후 로컬 ARP 캐시가 업데이트되므로 A의 관점에서 C의 IP 주소는 변경되지 않았지만 MAC 주소는 더 이상 원래 주소가 아닙니다. LAN의 네트워크 트래픽은 IP 주소를 기반으로 하지 않고 MAC 주소를 기반으로 전송되기 때문입니다. 따라서 위조된 MAC 주소는 A에 존재하지 않는 MAC 주소로 변경되어 네트워크 장애를 일으키고 A가 C에 ping을 보내는 것을 방지합니다! 이는 단순한 ARP 스푸핑입니다.