MAC 플러딩

컴퓨터 네트워킹에서 미디어 액세스 제어 공격(media access control attack) 또는 MAC 플러딩(MAC flooding)은 네트워크 스위치의 보안을 손상시키는 데 사용되는 기술이다. 이 공격은 정상적인 MAC 테이블 내용을 스위치에서 강제로 빼내고 유니캐스트 플러딩 동작을 통해 잠재적으로 민감한 정보를 일반적으로 의도하지 않은 네트워크로 강제 전송하도록 한다.

공격 방법 
스위치는 네트워크의 개별 MAC 주소를 스위치의 물리적 포트에 매핑하는 MAC 테이블을 유지한다. 이를 통해 스위치는 이더넷 허브가 수행하는 것처럼 모든 포트에서 데이터를 무차별적으로 브로드 캐스트하는 대신 수신자가 위치한 물리적 포트에서 데이터를 보낼 수 있다. 이 방법의 장점은 데이터가 특정 데이터를 대상으로 하는 컴퓨터가 포함된 네트워크 세그먼트에만 데이터가 연결된다는 것이다.

일반적인 MAC 플러딩 공격에서 스위치는 공격자로부터 각각 다른 소스 MAC 주소를 포함하는 많은 이더넷 프레임을 수신한다. 결과적으로 스위치는 MAC 주소 테이블을 저장하기 위해 스위치에 따로 설정된 제한된 메모리를 소진해 버린다.

이 공격의 효과는 구현에 따라 다를 수 있지만 공격자가 원하는 효과는 정상적인 MAC 주소를 MAC 주소 테이블에서 강제로 빼내어 들어오는 프레임의 양이 모든 포트에서 넘쳐나게 하는 것이다. 이 플러딩 동작에서 MAC 플러딩 공격이라는 이름이 생겨났다.

성공적인 MAC 플러딩 공격을 시작한 후 악의적인 사용자는 패킷 분석기를 사용하여 다른 컴퓨터간에 전송되는 민감한 데이터를 캡처할 수 있지만 스위치가 정상적으로 작동하는 경우 액세스할 수 없다. 공격자는 스위치가 초기 MAC 플러딩 공격에서 복구된 후에도 권한있는 데이터에 대한 액세스를 유지할 수 있는 ARP 스푸핑 공격을 후속조치로 할 수도 있다.

MAC 플러딩은 기초적인 VLAN 호핑 공격으로도 사용될 수 있다.

대응 조치 
MAC 플러딩 공격을 방지하기 위해 네트워크 운영자는 일반적으로 네트워크 장비에 존재하는 하나 이상의 기능에 의존한다.

 공급 업체에서 종종 "포트 보안"이라고 하는 기능을 사용하여 엔드 스테이션에 연결된 포트에서 학습할 수 있는 MAC 주소의 수를 제한하도록 많은 고급 스위치를 구성할 수 있다.  이렇게 하면 더 작은 보안 MAC 주소 테이블이 기존 MAC 주소 테이블에 추가로 (그리고 그 하위 집합으로) 유지된다.
 많은 공급 업체에서 발견된 MAC 주소를 인증, 권한 부여 및 계정 (AAA) 서버에 대해 인증 한 후 필터링하도록 허용한다.
 IEEE 802.1X 제품군을 구현하면 MAC 주소를 포함하여 클라이언트에 대해 동적으로 학습된 정보를 기반으로 AAA 서버에서 패킷 필터링 규칙을 명시적으로 설치할 수 있다.
 ARP 스푸핑 또는 IP 주소 스푸핑을 방지하는 보안 기능은 경우에 따라 유니캐스트 패킷에 대해 추가 MAC 주소 필터링을 수행할 수도 있지만 이는 구현에 따른 부작용이 있다.
 알 수 없는 MAC 주소에 대한 정상적인 유니캐스트 플러딩을 방지하기 위해 위와 함께 추가 보안 조치가 때때로 적용된다. 이 기능은 일반적으로 "포트 보안"기능에 의존하여 최소한 레이어 3 장치의 ARP 테이블에 남아있는 한 모든 보안 MAC 주소를 유지한다. 따라서 학습된 보안 MAC 주소의 에이징 시간은 개별적으로 조정 가능하다. 이 기능은 정상적인 운영 환경에서 패킷이 플러딩되는 것을 방지하고 MAC 플러드 공격의 영향을 완화한다.

참고 문헌 

네트워크 보안
이더넷