2019/12/09

ARP

TCP/IP 공격 - ARP 캐시 Poisoning

'A'와 'B'가 매우 좋은 친구이고 'A'가 모든 비밀을 'B'와 공유한다고 가정한다.

남자 'C'가 들어 와서 마치 'B'인 것처럼 행동한다.
'A'는 그의 모든 비밀을 'C'에게 알려주고 'C'는 그것을 오용 할 수 있게된다.

ARP 프로토콜
ARP 프로토콜은 다음 4 가지 기본 메시지로 구성된다.

1. ARP 요청 : 컴퓨터 'A'가 네트워크에서 "이 IP를 가진 사람은 누구입니까?"
2. ARP 응답 : 요청한 IP가있는 컴퓨터를 제외한 다른 모든 컴퓨터는 요청을 무시합니다.
             이 컴퓨터에 'B'라고 말하면 요청한 IP 주소가 있으며 여기에 내 MAC 주소가 있다.
3. RARP 요청 : 이것은 ARP 요청과 거의 동일하지만이 메시지에서 MAC 주소가 네트워크에서 브로드 캐스트된다는 점이 다르다.
4, RARP 답변 : 같은 개념. 컴퓨터 'B'는 요청한 MAC이 내 것이고 여기는 내 IP 주소라고 알려준다.

네트워크에 연결된 모든 장치에는 ARP 캐시가존재한다.
이 캐시에는 호스트가 이미 통신 한 네트워크 장치에 대한 모든 MAC 및 IP 주소의 매핑이 포함된다.

ARP 프로토콜은 간단하고 효율적으로 설계되었지만 프로토콜의 주요 결함은 인증이 없다는 것이다.
구현에 인증이 추가되지 않았으므로 ARP 응답에서 IP 대 MAC 주소 매핑을 인증 할 방법이 없다.
또한 호스트는 ARP 응답 메시지를 수신하는 ARP 요청을 보냈는지 여부도 확인하지 않는다.

컴퓨터 'A'가 전송하고 ARP 요청을 받고 ARP 응답을받는 경우 ARP 프로토콜은 ARP 응답의 정보 또는 IP-MAC 맵핑이 올바른지 여부를 절대 확인할 수 없다.
또한 호스트가 ARP 요청을 보내지 않고 ARP 응답을받는 경우에도 응답에서 정보를 신뢰하고 ARP 캐시를 업데이트 한다.
이것을 ARP 캐시 poisoning(중독) 이라고 한다.

이러한 약점을 이용해 ARP 프로토콜을 쉽게 이용할 수 있다.
악의적인 해커는 IP가 해커가 선택한 MAC 주소에 매핑되는 유효한 ARP 응답을 만들어 이 메시지를 완전한 네트워크로 보낼 수 있다.
네트워크의 모든 장치는이 메시지를 수락하고 ARP 테이블을 새로운 정보로 업데이트하며 해커는 네트워크의 모든 호스트와의 통신을 제어 할 수 있게된다.

1) 서비스 거부
해커는 네트워크에서 IP 주소가 잘못되었거나 존재하지 않는 MAC 주소로 매핑 된 ARP 응답을 보낼 수 있다.
예를 들어, 네트워크의 라우터 IP를 존재하지 않는 MAC과 매핑하는 가짜 ARP 응답은 라우터의 IP로 전송 된 모든 패킷이,
MAC 주소를 가진 시스템으로 전송 될 때 외부 네트워크와의 전체 네트워크 연결을 중단시킨다. 존재하지 않음...

2) 중간에있는 남자
이름에서 알 수 있듯이 해커는 시스템과 네트워크의 다른 시스템 간 통신 사이에 자신의 컴퓨터를 바로 배치 할 수 있다.
이 방법으로 해커는 두 시스템에서주고받는 모든 트래픽을 스니핑 할 수 있다.

이를 달성하기 위해 시스템이 호스트 'A'이고 네트워크 라우터가 호스트 'B'라고 가정한다.
'A'에는 IP-A와 MAC-A가 있고 'B'에는 IP-B와 MAC-B가 각각 IP 주소와 MAC 주소로 맵핑되어있다.
이제 해커는 자신의 컴퓨터의 MAC 주소로 IP (IP-A)를 매핑하는 라우터에 ARP 응답을 보내고,
컴퓨터의 MAC 주소를 사용하여 컴퓨터 매핑 라우터 IP에 대한 다른 ARP 응답을 보낸다.
이제 컴퓨터에서 라우터로 또는 라우터에서 컴퓨터로 보낸 메시지는 해커의 컴퓨터에 도달한다.
해커는 이제 자신의 컴퓨터에서 'IP 전달'기능을 켜서 해커의 컴퓨터가 모든 트래픽을 컴퓨터와 라우터로 전달할 수 있다.
이런 방식으로 해커의 컴퓨터가 중간에 위치하여 트래픽을 스니핑하거나 차단할 수 있다.

3) MAC 홍수
네트워크 스위치의 경우 MAC 플러딩은 사용되는 ARP 캐시 포징 기술이다.
과부하가 발생하면 많은 네트워크 스위치가 허브처럼 작동하여 모든 네트워크 트래픽을 네트워크에 연결된 모든 호스트에 브로드 캐스트하기 시작할 수 있다.
따라서 해커는 가짜 ARP 응답으로 스위치를 과도하게 사용하여 스위치가 허브처럼 작동하도록 할 수 있다.
이 역할에서 스위치는 모든 네트워크 트래픽을 브로드 캐스트하고이를 이용하여 '포트 보안'기능을 활성화하지 않으므로 해커가 네트워크를 패킷 스니핑 할 수 있다.

ARP 캐시 중독 완화 기법
ARP 캐시를 원격으로 중독시키는 것은 네트워크에 물리적으로 액세스하거나 네트워크에있는 머신 중 하나를 제어해야하기 때문에 약간 어렵다.
항상 쉬운 것은 아니기 때문에 ARP 공격은 자주 당하지는 않는다.

네트워크 관리자는 이러한 유형의 공격이 발생하지 않도록주의해야한다.

소규모 네트워크의 경우 정적 ARP 항목을 유지할 수 있다.
정적은 변경되지 않음을 의미하므로 이름에서 이러한 항목을 변경할 수 없으므로 해커가 매핑을 변경하려는 시도는 실패하게 한다.
네트워크에 추가 된 모든 새 장치에 대한 매핑을 수동으로 수행해야하므로 소규모 네트워크에는 적합하지만 대규모 네트워크에는 적합하지 않음.

대규모 네트워크의 경우 네트워크 스위치의 포트 보안 기능을 탐색 할 수 있다.
일부 기능을 켜면 스위치가 스위치의 각 물리적 포트에 대해 하나의 MAC 주소 만 허용한다.
이 기능을 통해 머신은 MAC 주소를 변경할 수없고 하나 이상의 MAC을 머신에 매핑 할 수 없으므로 'man in middle'과 같은 공격을 방지 할 수 있다.

일반적으로 네트워크에서 악의적 인 ARP 활동이 발생할 때 경고를 받도록 ARPwatch와 같은 일부 모니터링 도구를 배포 할 수 있다.

댓글 없음:

댓글 쓰기