Bảng CAM (Content Addressable Memory) lưu trữ các địa chỉ MAC của các port, và các tham số VLAN trong switch. Không gian nhớ trong bảng CAM là hạn chế nên có nguy cơ tràn bảng CAM. Kiểu tấn công làm tràn MAC sẽ cố gắng làm tràn bảng CAM của các switch, khi đó switch sẽ cư xử như các hub.
Một cuộc tấn công kiểu này trông giống như lưu lượng từ hàng ngàn máy tính được chuyển đến một port, nhưng thực tế là nó chỉ đến từ một máy giả mạo địa chỉ MAC của hàng ngàn host giả mạo. VD: Macof là một công cụ thông dụng để thực hiện các cuộc tấn công kiểu này, có thể tạo ra hàng chục ngàn MAC entry gửi đến port mỗi phút. Khi đó, switch nhìn thấy lưu lượng và nghĩ rằng các địa chỉ MAC từ các gói mà kẻ tấn công gửi đi là các cổng hợp lệ và nó sẽ thêm entry vào bảng CAM.
Khi tràn bảng CAM, switch sẽ broadcast lưu lượng trên VLAN mà ko cần thông qua bảng CAM nữa. Tấn công làm ngập lụt bảng MAC là 1 trong những kĩ thuật tấn công phổ biến nhất ở Layer 2. Trong kiểu tấn công này thì Switch đã bị lụt với các gói tin của các địa chỉ MAC khác nhau, do đó làm tiêu hao bộ nhớ trong Switch, lúc này Switch sẽ trở thành Hub. Do đó người dùng bất hợp pháp có thể sử dụng 1 công cụ Packet Sniffer để thâu tóm các dữ liệu nhạy cảm.
Nguyên tắc phòng chống:
Nguyên lí chung của các phương pháp phòng chống là không để các gói tin có địa chỉ MAC lạ đi qua switch. Phương pháp phòng chống hiệu quả nhất là cấu hình port security trên switch. Đây là một đặc trưng cấu hình cho phép điều khiển việc truy cập vào cổng switch thông qua địa chỉ MAC của thiết bị gắn vào.
Khi switch nhận được một gói tin chuyển đến, nó sẽ kiểm tra địa chỉ MAC nguồn của gói tin với danh sách các địa chỉ đã được cấu hình trước đó. Nếu hai địa chỉ này khác nhau thì tuỳ theo sự cấu hình của người quản trị mà switch sẽ xử lí gói tin đến với các mức độ khác nhau.
Cấu hình Port Security Các lệnh cấu hình port security:
• Switch(config-if)# switchport mode access
• Switch(config-if)# switchport port-security: cho phép cổng được hoạt động trong chế độ port-security.
• Switch(config-if)# switchport port-security maximum value (tuỳ chọn): câu lệnh cho phép cấu hình số địa chỉ MAC tối đa mà cổng có thể học tự động và cho phép các thiết bị này truyền dữ liệu qua. Mặc định thì cổng chỉ cho phép một địa chỉ MAC (một thiết bị) được gán vào và số địa chỉ có thể nằm trong khoảng từ 1 đến 1024.
• Switch(config-if)# switchport port-security mac-address mac_address (tuỳ chọn) : bên cạnh cách cấu hình cho phép switch học tự động địa chỉ MAC; có thể gán tĩnh một số địa chỉ MAC có thể truy cập vào một port. Nếu số lượng địa chỉ gán tĩnh mà nhỏ hơn số địa chỉ MAC switch có thể học tự động thì số địa chỉ MAC còn lại sẽ được học tự động.
• Switch(config-if)# switchport port-security violation {protect | restrict | shutdown} (tuỳ chọn) : Đây là các biện pháp mà người quản trị có thể tiến hành khi một gói tin đến không phù hợp với yêu cầu của port-security (khi có nhiều hơn số địa chỉ MAC tối đa được học hoặc khi gói tin đến có địa chỉ MAC khác so với các địa chỉ MAC đã được cấu hình tĩnh).
Các biện pháp xử lí có thể là:
1. shutdown: cổng sẽ bị ngừng hoạt động; không nhận và chuyển gói tin.
2. restrict: cổng chỉ cho phép các gói tin có địa chỉ MAC hợp lệ đi qua; các gói tin vi phạm sẽ bị huỷ. Đồng thời số lượng các bản tin vi phạm sẽ được thống kê và báo cho người quản trị biết.
3. protect: cũng giống như trong trường hợp restrict, tuy nhiên việc vi phạm sẽ không được ghi lại. Phương pháp này tuy có yêu cầu công việc của người quản trị tăng lên đôi chút tuy nhiên nó là phương pháp rất hiệu quả để khoá các gói tin không rõ nguồn gốc có ý định tấn công vào switch.
Đào Lê Hoàng - VnPro