Trong môi trường mạng Layer 2, switch được xem là thiết bị “thông minh” vì nó chỉ gửi frame đến đúng cổng chứa MAC đích. Nhưng điều gì xảy ra nếu bảng CAM của switch bị làm đầy?
Câu trả lời: switch sẽ hành xử giống… hub.
Đó chính là bản chất của CAM Overflow (MAC Flooding) Attack.
1️⃣ CAM Table là gì?
CAM (Content Addressable Memory) table lưu:
Khi switch nhận frame:
👉 CAM table có kích thước giới hạn.
2️⃣ Lịch sử CAM Overflow
3️⃣ Cơ chế tấn công hoạt động thế nào?
Ý tưởng
Kẻ tấn công gửi hàng trăm nghìn frame với:
Switch sẽ:
4️⃣ Kiến trúc CAM trên Catalyst

Trên dòng Cisco Catalyst 6500:
Nếu 8 slot của một bucket đầy → frame bị flood.
5️⃣ Demo macof
Ví dụ chạy:
./macof
Tool có thể tạo:
Thực tế:
Khi đầy:
CAM Table Full!
Switch bắt đầu:
Flood the frame
6️⃣ Điều gì xảy ra khi CAM table đầy?
Sau khi đầy:
⚠️ Quan trọng:
Tức là attacker có thể “nhìn thấy” ICMP, ARP, Telnet, HTTP nội bộ…
Switch lúc này gần như trở thành hub.
7️⃣ Mitigation – Port Security
Giải pháp phổ biến: Port Security
Cấu hình ví dụ trên Cisco IOS:
interface fa0/7 switchport port-security switchport port-security maximum 2 switchport port-security violation shutdown
Khi vượt quá số MAC cho phép:
%PORT_SECURITY-2-SECURITYREJECT Interface FastEthernet0/7, changed state to administratively down
👉 Port bị shutdown ngay lập tức.
8️⃣ Cách phòng chống nâng cao
Ngoài Port Security:
9️⃣ Tại sao CAM Overflow vẫn còn nguy hiểm?
Dù kỹ thuật này cũ (1999), nhưng:
🔥 Kết luận
CAM Overflow không phá switch.
Nó ép switch tự phá cơ chế bảo mật của chính mình.
Chỉ trong ~70 giây,
một switch enterprise có thể biến thành hub phát sóng toàn VLAN.
Nếu bạn làm network mà chưa bật port-security,
thì về cơ bản bạn đang cho phép người lạ “nghe lén” mạng nội bộ.
Câu trả lời: switch sẽ hành xử giống… hub.
Đó chính là bản chất của CAM Overflow (MAC Flooding) Attack.
1️⃣ CAM Table là gì?
CAM (Content Addressable Memory) table lưu:
- MAC Address
- VLAN
- Port tương ứng
Khi switch nhận frame:
- Nếu MAC đích tồn tại → forward đúng port
- Nếu không tồn tại → flood trong VLAN
👉 CAM table có kích thước giới hạn.
2️⃣ Lịch sử CAM Overflow
- Trước tháng 5/1999: chỉ là tấn công lý thuyết
- Sau đó tool macof (thuộc bộ Dsniff) xuất hiện
- Tool chỉ ~100 dòng Perl nhưng có thể phá vỡ cơ chế học MAC của switch
3️⃣ Cơ chế tấn công hoạt động thế nào?
Ý tưởng
Kẻ tấn công gửi hàng trăm nghìn frame với:
- Source MAC giả mạo
- IP random
- Port random
Switch sẽ:
- Học từng MAC mới
- Ghi vào CAM table
- Cho đến khi bảng đầy
4️⃣ Kiến trúc CAM trên Catalyst
Trên dòng Cisco Catalyst 6500:
- 63 bits (MAC + VLAN + misc)
- Hash thành 17-bit value
- 8 slot cho mỗi bucket
- Tổng lý thuyết: 16,000 x 8 ≈ 128,000 entries
- Thực tế tối đa: ~131,052 entries
Nếu 8 slot của một bucket đầy → frame bị flood.
5️⃣ Demo macof
Ví dụ chạy:
./macof
Tool có thể tạo:
- ~8,000 MAC/s
- ~480,000 MAC/phút
Thực tế:
- Mất khoảng 70 giây để làm đầy CAM table
Khi đầy:
CAM Table Full!
Switch bắt đầu:
Flood the frame
6️⃣ Điều gì xảy ra khi CAM table đầy?
Sau khi đầy:
- Các MAC mới → không thể học
- Unknown unicast → flood toàn VLAN
- Attacker có thể sniff traffic không phải của mình
⚠️ Quan trọng:
- Traffic đã có entry vẫn hoạt động bình thường
- Chỉ traffic chưa có entry mới bị flood
Tức là attacker có thể “nhìn thấy” ICMP, ARP, Telnet, HTTP nội bộ…
Switch lúc này gần như trở thành hub.
7️⃣ Mitigation – Port Security
Giải pháp phổ biến: Port Security
Cấu hình ví dụ trên Cisco IOS:
interface fa0/7 switchport port-security switchport port-security maximum 2 switchport port-security violation shutdown
Khi vượt quá số MAC cho phép:
%PORT_SECURITY-2-SECURITYREJECT Interface FastEthernet0/7, changed state to administratively down
👉 Port bị shutdown ngay lập tức.
8️⃣ Cách phòng chống nâng cao
Ngoài Port Security:
- 802.1X
- DHCP Snooping
- Dynamic ARP Inspection
- Storm Control
- Private VLAN
- Tắt unused port
- Giới hạn MAC per port
9️⃣ Tại sao CAM Overflow vẫn còn nguy hiểm?
Dù kỹ thuật này cũ (1999), nhưng:
- Nhiều mạng nội bộ vẫn không bật port-security
- Mạng lab / trường học dễ bị khai thác
- Là bước chuẩn bị cho MITM attack
- Là tiền đề cho VLAN hopping, ARP poisoning
🔥 Kết luận
CAM Overflow không phá switch.
Nó ép switch tự phá cơ chế bảo mật của chính mình.
Chỉ trong ~70 giây,
một switch enterprise có thể biến thành hub phát sóng toàn VLAN.
Nếu bạn làm network mà chưa bật port-security,
thì về cơ bản bạn đang cho phép người lạ “nghe lén” mạng nội bộ.