본문 바로가기
정보보호

MAC 플루딩: 스위치 네트워크 공격 기

by 공돌이티티 2024. 3. 12.
반응형

스위치가 MAC 정보를 기억하는 것은 하드웨어의 한계로 인해 저장 가능한 MAC 주소의 수에 제한이 있음에도 불구하고, 공유 이더넷 환경에서 발생할 수 있는 문제를 해결하고 높은 성능을 제공하는 혁신적인 기능 중 하나입니다. 하지만, 이와 같은 특성을 악용하는 MAC 플러딩(Flooding) 공격이 존재합니다. 이 공격은 스위치의 물리적 저장 공간 한계를 이용하여 스니핑을 가능하게 합니다. 이제 정상적인 MAC 테이블 작동 원리를 알아보겠습니다.



MAC 플루딩


위 도표에 따르면, 현재 스위치가 포트 1과 3에 각각 MAC A와 C를 인식하고 있는 상태입니다. MAC A가 B와의 통신을 위해 데이터를 보내면, 스위치는 MAC B의 정보를 보유하지 않기 때문에 플루딩 과정을 수행합니다. 플루딩은 스위치가 MAC B에 대한 정보가 없을 때, 허브처럼 모든 포트에 연결된 호스트들에게 데이터를 전송하는 과정을 의미합니다.

이 과정을 통해, 스위치에 연결된 모든 호스트가 MAC A로부터 온 데이터를 받게 되고, 자신의 MAC 주소와 일치하지 않는 호스트는 그 데이터를 폐기합니다. 하지만 MAC B 호스트는 데이터를 받아 MAC A에게 답신을 보냅니다. MAC B로부터의 응답을 받은 스위치는 MAC B가 2번 포트에 연결되어 있다는 것을 인지하고, 이 정보를 MAC 정보와 포트 정보에 기록합니다. 이후 MAC A가 다시 MAC B와 통신할 때, 스위치는 기록된 MAC 정보를 활용하여 더 이상 플루딩을 진행하지 않고, 직접 2번 포트를 통해 MAC B에게 데이터를 전송합니다. 따라서 MAC C는 이후의 데이터 전송에서 제외됩니다.

MAC 플루딩 공격은 공격자가 하나의 포트를 통해 가짜 MAC 주소 수천 개를 생성하여 스위치가 마치 많은 호스트들이 연결된 것처럼 착각하게 만드는 전략입니다. 여기서 활용되는 'macof'라는 도구는 단 130여 줄의 C 언어 코드로 작성된 프로그램으로, 분당 약 155,000개의 MAC 주소를 생성할 수 있는 능력을 가지고 있습니다. 이러한 방법으로 짧은 시간에 대량의 가짜 MAC 주소를 생성하고 특정 포트에서 이를 발생시키면, 스위치는 이들 MAC 주소를 내부 메모리에 저장하게 됩니다. 그러나 스위치의 저장 공간이 한정되어 있기 때문에, 곧 그 공간은 위조된 MAC 주소로 가득 차게 됩니다. 이 상태에서 정상적인 호스트가 스위치를 통해 통신하려 할 때, 스위치의 MAC 주소 테이블은 이미 공격자의 가짜 주소들로만 채워져 있게 됩니다. 결과적으로 플루딩이 발동되며, 이로 인해 데이터가 모든 호스트에게 전달되면서, 공격자는 스니퍼 도구를 사용하여 네트워크 내의 통신을 감청할 수 있는 기회를 얻게 됩니다. 이 과정에서 공격자는 스위치의 정상적인 기능을 악용하여 네트워크 보안을 위협합니다.

MAC 플루딩 보안위협

보안 위협에서는 스위치를 사용하는 이더넷 네트워크 환경에서 일반적으로 불가능한 스니핑을 MAC 플루딩 공격을 통해 가능하게 만들어 주요 정보의 유출 위험을 크게 증가시킵니다. 이는 허브를 사용하는 환경에서의 패킷 스니핑과 동일한 수준의 보안 위협을 초래합니다.

 

MAC 플루딩 보안대책

보안 대책으로는, 특정 호스트에 의해 대량의 변조된 MAC 주소가 생성되는 것을 막는 방법이 있습니다. 구체적으로는 각 포트별로 스위치에 허용된 MAC 주소를 설정하거나, 포트별로 수용할 수 있는 MAC 주소의 최대 개수를 제한하는 것입니다. 또한, 스위치가 인식할 수 없는 MAC 주소를 탐지하면, 해당 MAC 주소를 차단하거나 포트를 비활성화하는 기능을 활용할 수 있습니다. 이러한 보안 기능은 네트워크 장비 제조사와 장비 모델에 따라 제공 여부가 다르므로, 네트워크 관리자는 사용 중인 장비가 해당 기능을 지원하는지 확인해야 합니다. 이와 같은 조치를 통해 네트워크 보안을 강화하고 MAC 플루딩 공격으로 인한 위협을 줄일 수 있습니다.

반응형

바로가기