맨위로가기

MAC 플러딩

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

MAC 플러딩은 스위치의 MAC 주소 테이블을 고갈시켜 네트워크 성능 저하 및 보안 문제를 일으키는 공격 기법이다. 공격자는 스위치에 가짜 MAC 주소를 대량으로 전송하여 MAC 주소 테이블을 채우고, 정상적인 MAC 주소를 테이블에서 밀어낸다. 그 결과 스위치는 모든 포트로 트래픽을 브로드캐스트하게 되어, 공격자는 패킷 분석기를 통해 민감한 데이터를 가로챌 수 있으며, ARP 스푸핑 공격으로 확산될 수 있다. 이러한 공격을 방지하기 위해 포트 보안, AAA 인증, IEEE 802.1X, 유니캐스트 플러드 방지 등 다양한 보안 조치가 사용된다.

더 읽어볼만한 페이지

  • 이더넷 - 기가비트 이더넷
    기가비트 이더넷은 1 Gbit/s의 전송 속도를 지원하는 이더넷 표준으로, 광섬유 및 UTP 케이블을 통해 다양한 기기에 적용되어 광대역 인터넷과 기업 네트워크의 주요 기술로 사용되었으나, 더 빠른 이더넷 기술의 발전으로 비중은 줄어들고 있지만 비용 효율성과 호환성으로 인해 중요한 역할을 지속할 것으로 예상된다.
  • 이더넷 - 네트워크 인터페이스 컨트롤러
    네트워크 인터페이스 컨트롤러(NIC)는 컴퓨터를 네트워크에 연결하는 하드웨어 구성 요소이며, 다양한 네트워크 표준을 지원하고, 최근에는 성능 향상 기술과 가상 네트워크 인터페이스를 지원하기도 한다.
  • 네트워크 보안 - 스파이웨어
    스파이웨어는 사용자의 동의 없이 설치되어 개인 정보를 수집하거나 시스템을 감시하며, 다양한 형태로 존재하여 광고 표시, 정보 탈취, 시스템 성능 저하 등의 피해를 유발하는 악성 프로그램이다.
  • 네트워크 보안 - 가상 사설 서버
    가상 사설 서버(VPS)는 공유 웹 호스팅과 전용 호스팅의 중간 단계 서비스로, 가상화 기술을 기반으로 슈퍼유저 수준의 접근 권한, 높은 운용 자유도와 향상된 보안성을 제공하지만, 환경 유지 관리 필요성, 상대적으로 높은 비용, 회선 공유 문제 등의 단점도 가진다.
MAC 플러딩

2. 공격 방법

MAC 플러딩 공격은 스위치MAC 주소를 학습하고 이를 기반으로 이더넷 프레임을 전달하는 정상적인 작동 원리를 악용하는 방식이다. 공격자는 스위치의 MAC 주소 테이블 용량이 제한되어 있다는 점을 이용하여, 각각 다른 출발지 MAC 주소를 가진 수많은 이더넷 프레임을 의도적으로 스위치에 전송한다.[6][1]

이렇게 비정상적으로 많은 MAC 주소 정보가 유입되면 스위치의 MAC 주소 테이블은 곧 가득 차게 되고, 새로운 주소를 학습할 수 없는 상태가 된다. 더 나아가 기존에 학습된 정상적인 기기들의 MAC 주소 정보까지 테이블에서 밀려나게 될 수 있다. 이 상태에서 스위치는 특정 목적지로 프레임을 전달하는 능력을 상실하고, 마치 이더넷 허브처럼 수신하는 모든 프레임을 연결된 모든 포트로 플러딩(브로드캐스팅)하게 된다. 공격의 이름인 'MAC 플러딩'은 이러한 동작에서 유래했다.

스위치가 플러딩 상태가 되면 네트워크 전체의 성능이 저하될 뿐만 아니라, 공격자는 패킷 분석기를 사용하여 네트워크를 통해 전송되는 민감한 데이터를 쉽게 엿볼 수 있게 된다. 또한, MAC 플러딩 공격은 단독으로 사용되기도 하지만, ARP 스푸핑 공격이나 기초적인 VLAN 호핑 공격의 발판으로 사용될 수도 있다.[2]

2. 1. MAC 주소 테이블

스위치는 네트워크 상의 개별 MAC 주소를 스위치의 특정 물리적 포트에 매핑하는 MAC 주소 테이블을 유지한다. 이를 통해 스위치는 이더넷 허브처럼 모든 포트로 데이터를 무차별적으로 브로드캐스팅하는 대신, 수신자가 실제로 연결된 물리적 포트로만 데이터를 선별적으로 전송할 수 있다. 이 방식의 장점은 데이터가 해당 통신에 필요한 컴퓨터가 포함된 네트워크 세그먼트로만 브리징되어 네트워크 효율성을 높인다는 점이다.

그러나 MAC 주소 테이블은 스위치 내부에 할당된 제한된 메모리 공간에 저장된다는 한계를 가진다.[6][1] 이 제한된 용량은 MAC 플러딩 공격의 주요 취약점이 된다. 공격자는 스위치에 각각 다른 소스 MAC 주소를 포함하는 수많은 이더넷 프레임을 보내 MAC 주소 테이블을 저장하는 메모리를 고갈시키려 시도한다. 테이블 공간이 가득 차면, 기존의 정상적인 MAC 주소 정보가 테이블에서 밀려나게 되고, 결국 스위치는 들어오는 이더넷 프레임을 모든 포트로 플러딩하게 되어 정상적인 통신 처리가 어려워진다.

2. 2. 공격 과정

MAC 플러딩 공격은 다음과 같은 과정으로 진행된다.

1. 가짜 프레임 전송: 공격자는 네트워크 스위치를 대상으로, 출발지 MAC 주소가 각각 다른 수많은 이더넷 프레임을 대량으로 생성하여 전송한다. 이는 스위치의 정상적인 MAC 주소 학습 기능을 악용하는 것이다.[1]

2. MAC 테이블 오버플로우: 스위치는 수신한 프레임의 출발지 MAC 주소를 학습하여 자신의 MAC 주소 테이블에 기록한다. 하지만 공격자가 보낸 대량의 위조된 MAC 주소 정보가 계속 유입되면서, MAC 주소 테이블을 저장하기 위해 할당된 스위치의 제한된 메모리가 소진된다.[1]

3. 정상 주소 유실: MAC 테이블이 가득 차면, 스위치는 더 이상 새로운 MAC 주소를 학습할 수 없게 된다. 결과적으로 기존에 학습된 정상적인 기기들의 MAC 주소 정보가 테이블에서 밀려나 삭제될 수 있다.

4. 더미 허브화 (플러딩): MAC 테이블에 존재하지 않는 목적지 주소를 가진 프레임이 들어오면, 스위치는 더 이상 해당 프레임을 특정 포트로 전달할 수 없게 된다. 결국 스위치는 이더넷 허브처럼 수신된 프레임을 모든 포트로 플러딩(브로드캐스팅)하게 된다. 공격의 이름인 'MAC 플러딩'은 바로 이러한 동작 방식에서 유래했다.

5. 데이터 도청: 스위치가 모든 포트로 트래픽을 플러딩하게 되면, 공격자는 패킷 분석기를 사용하여 정상적인 상황에서는 접근할 수 없는 다른 컴퓨터 간의 통신 데이터를 엿볼 수 있다. 이를 통해 민감한 정보가 유출될 위험이 있다.

6. 후속 공격: 또한 공격자는 MAC 플러딩 이후 ARP 스푸핑 공격을 연계하여, 스위치가 일시적으로 복구되더라도 지속적으로 민감한 데이터에 접근하려 할 수 있다. MAC 플러딩은 기초적인 VLAN 호핑 공격의 수단으로 사용될 수도 있다.[2]

2. 3. 공격의 영향

일반적으로 스위치는 각 장치의 MAC 주소와 연결된 스위치의 물리적 포트를 기록하는 MAC 주소 테이블을 가지고 있다. 이를 통해 스위치는 특정 목적지를 가진 데이터가 해당 목적지 장치가 연결된 포트로만 전송되도록 한다. 이는 모든 포트로 데이터를 무차별적으로 보내는 이더넷 허브와 달리 효율적인 통신을 가능하게 한다.[6]

MAC 플러딩 공격이 발생하면 공격자는 수많은 이더넷 프레임을 스위치로 보내는데, 이때 각 프레임의 발신지 MAC 주소를 모두 다르게 조작한다. 스위치는 이 위조된 MAC 주소들을 MAC 주소 테이블에 계속 저장하려 하지만, 테이블을 저장하는 스위치의 메모리 용량은 제한되어 있어 결국 가득 차게 된다.[1]

메모리가 가득 차면, 스위치는 더 이상 새로운 MAC 주소를 학습할 수 없게 되고, 기존에 저장되어 있던 정상적인 MAC 주소 정보까지 테이블에서 밀려나게 될 수 있다. 이런 상태가 되면 스위치는 어떤 MAC 주소가 어느 포트에 연결되어 있는지 알 수 없으므로, 들어오는 모든 데이터를 모든 포트로 브로드캐스트하게 된다. 마치 이더넷 허브처럼 동작하게 되는 것이다. 이러한 현상 때문에 이 공격을 'MAC 플러딩(MAC Flooding)'이라고 부른다.

MAC 플러딩 공격이 성공하면 네트워크 성능이 크게 저하될 뿐만 아니라 보안상 심각한 문제가 발생한다. 스위치가 모든 데이터를 모든 포트로 뿌리게 되므로, 공격자는 패킷 분석기를 이용하여 원래대로라면 접근할 수 없었던 다른 컴퓨터 간의 통신 내용, 즉 민감한 데이터를 엿볼 수 있게 된다.[1]

더 나아가 공격자는 MAC 플러딩 공격 이후 ARP 스푸핑과 같은 추가적인 공격을 감행할 수도 있다. 이를 통해 스위치가 일시적으로 MAC 플러딩 상태에서 복구되더라도 계속해서 네트워크 트래픽을 엿보거나 조작할 수 있는 권한을 유지하려 시도할 수 있다.

또한, MAC 플러딩은 기본적인 VLAN 호핑 공격의 수단으로 악용될 수도 있다.[2]

3. 대응 조치

MAC 플러딩 공격을 방지하기 위해 네트워크 운영자는 일반적으로 네트워크 장비에 내장된 하나 이상의 기능을 활용한다. 주요 대응 조치는 다음과 같다.


  • 포트 보안: 많은 고급 스위치는 특정 포트에서 학습할 수 있는 MAC 주소의 수를 제한하는 "포트 보안" 기능을 제공한다. 이를 통해 허가되지 않은 장치의 MAC 주소가 테이블을 채우는 것을 막는다.[3] 더 작은 ''보안'' MAC 주소 테이블이 기존 테이블과 별도로 유지 관리된다.
  • AAA 연동: 학습된 MAC 주소를 인증, 권한 부여 및 계정(AAA) 서버를 통해 인증하고, 인증 결과에 따라 트래픽을 필터링할 수 있다.[7][4]
  • IEEE 802.1X 구현: IEEE 802.1X 표준을 적용하여 클라이언트 인증 과정에서 동적으로 학습된 정보(MAC 주소 포함)를 기반으로 AAA 서버가 명시적으로 패킷 필터링 규칙을 설정하게 할 수 있다.
  • 기타 보안 기능 연계: 경우에 따라 ARP 스푸핑이나 IP 주소 스푸핑을 방지하기 위한 보안 기능이 유니캐스트 패킷에 대한 추가적인 MAC 주소 필터링을 수행하기도 하지만, 이는 구현 방식에 따라 달라지는 부작용일 수 있다. 또한, 알 수 없는 MAC 주소에 대한 불필요한 유니캐스트 플러드를 방지하기 위한 추가적인 보안 조치도 적용될 수 있다.[8][5] 이러한 조치는 정상적인 운영 환경에서 패킷 플러딩을 막고 MAC 플러딩 공격의 영향을 완화하는 데 도움이 된다.

3. 1. 포트 보안

많은 고급 스위치에는 포트 보안(Port Security)이라는 기능이 탑재되어 있다. 이 기능은 주로 네트워크 장비 제조사에서 제공하며, 스위치의 특정 포트에 연결된 사용자 장치로부터 학습할 수 있는 MAC 주소의 수를 제한하는 역할을 한다.[3]

포트 보안이 활성화되면, 스위치는 일반적인 MAC 주소 테이블 외에 별도로, 허용된 MAC 주소만 포함하는 더 작은 크기의 보안 MAC 주소 테이블을 관리한다. 이 테이블은 기존 MAC 주소 테이블의 하위 집합으로 유지된다.

또한, 포트 보안 기능은 알 수 없는 MAC 주소로 인한 불필요한 유니캐스트 플러드를 막는 데에도 사용될 수 있다.[5] 이를 위해 스위치는 레이어 3 장치의 ARP 테이블 등에 등록된 '보안' MAC 주소를 일정 시간 동안 기억하며, 이 유지 시간(에이징 타임)은 필요에 따라 개별적으로 조정 가능하다.

결과적으로 포트 보안은 평상시 네트워크 운영에서 불필요한 패킷 플러딩을 방지하고, MAC 플러딩 공격 시 그 피해를 줄이는 데 기여한다.

3. 2. AAA (인증, 권한 부여, 계정)

많은 네트워크 장비 공급 업체는 인증, 권한 부여 및 계정(AAA) 서버를 활용하여 MAC 플러딩 공격에 대응하는 기능을 제공한다.[7][4] 이 기능은 네트워크에서 학습된 MAC 주소를 AAA 서버로 보내 인증하고, 인증 결과에 따라 해당 MAC 주소의 트래픽을 필터링할 수 있게 한다.

또한, IEEE 802.1X 표준을 구현하면 AAA 서버와 연동하여 보안 정책을 강화할 수 있다. IEEE 802.1X는 네트워크 접속 클라이언트를 인증하는 표준으로, 인증 과정에서 동적으로 학습된 클라이언트 정보(MAC 주소 포함)를 기반으로 AAA 서버가 특정 패킷 필터링 규칙을 네트워크 장비에 명시적으로 설치하도록 할 수 있다. 이를 통해 인증되지 않거나 정책을 위반하는 MAC 주소의 통신을 제어하여 MAC 플러딩 공격의 영향을 줄일 수 있다.

3. 3. IEEE 802.1X

IEEE 802.1X 표준을 구현하면, 네트워크 장비가 클라이언트(사용자 기기)로부터 동적으로 학습한 정보, 특히 MAC 주소를 기반으로 AAA 서버가 패킷 필터링 규칙을 직접 설정할 수 있게 된다. 이를 통해 인증되지 않은 MAC 주소의 접근을 효과적으로 제어하여 MAC 플러딩 공격을 방지하는 데 기여할 수 있다.

3. 4. 추가 보안 조치

알 수 없는 MAC 주소에 대한 정상적인 유니캐스트 플러딩을 막기 위해 추가적인 보안 조치를 적용하기도 한다.[5][8] 이 기능은 대개 스위치의 "포트 보안" 기능과 연계되어 작동하며, 레이어 3 장치의 ARP 테이블에 MAC 주소 정보가 남아 있는 동안에는 해당 ''보안'' MAC 주소를 계속 유지한다. 이를 위해 학습된 ''보안'' MAC 주소의 유효 기간(에이징 시간)을 개별적으로 조절할 수 있는 기능을 제공한다. 이러한 조치는 평상시 네트워크 운영 중에 불필요하게 패킷이 모든 포트로 전송(플러딩)되는 것을 막아줄 뿐만 아니라, MAC 플러딩 공격이 발생했을 때 그 피해를 줄이는 데 도움이 된다.

참조

[1] 웹사이트 VLAN Security White Paper: Cisco Catalyst 6500 Series Switches http://www.cisco.com[...] 2015-01-31
[2] 간행물 Virtual LAN Security: weaknesses and countermeasures https://www.sans.org[...] SANS Institute 2017-11-17
[3] 서적 Business Series Smart Gigabit Ethernet Switch User Guide Linksys 2007
[4] 웹사이트 guide/Mac Auth http://wiki.freeradi[...] 2015-01-31
[5] 웹사이트 Blocking Unknown Unicast Flooding http://packetlife.ne[...] 2010-06-04
[6] 웹인용 VLAN Security White Paper: Cisco Catalyst 6500 Series Switches http://www.cisco.com[...] 2015-01-31
[7] 웹인용 guide/Mac Auth http://wiki.freeradi[...] 2015-01-31
[8] 웹인용 Blocking Unknown Unicast Flooding http://packetlife.ne[...] 2015-01-31



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com