CAM Table Overflow là một vấn đề phổ biến trong mạng máy tính, đặc biệt là trong các mạng sử dụng switch. Để hiểu được CAM Table Overflow hay các cuộc tấn công làm tràn bảng CAM, trước hết, hãy xem xét về Content Addressable Memory (CAM) và cách nó liên quan đến hoạt động của switch.
Các định nghĩa cần biết
1. Bộ nhớ CAM
Content Addressable Memory (CAM) là một thành phần quan trọng trong cấu trúc của các thiết bị mạng như switch. CAM được sử dụng để lưu trữ địa chỉ MAC của các thiết bị kết nối trong mạng. Điều đặc biệt về CAM là cách hoạt động của nó, nơi mà việc truy xuất dữ liệu được thực hiện dựa trên nội dung của dữ liệu đó, chính là địa chỉ MAC trong trường hợp này.
Mỗi khi switch nhận được một khung dữ liệu, nó sẽ sử dụng CAM để kiểm tra địa chỉ MAC đích của khung đó. CAM sẽ tìm kiếm trong bộ nhớ của mình để xác định cổng ra mà khung dữ liệu sẽ được chuyển tiếp đến. Điều này cho phép switch hoạt động nhanh chóng và hiệu quả, vì việc xác định cổng ra dựa trên địa chỉ MAC được thực hiện một cách nhanh chóng và tức thì.
Mặc dù CAM có nhiều ưu điểm, nhưng cũng có hạn chế về dung lượng. Mỗi switch chỉ có một lượng bộ nhớ CAM hạn chế, do đó việc quản lý cẩn thận và tránh hiện tượng CAM Table Overflow là rất quan trọng.
Trong CAM, mỗi mục ghi chứa một cặp địa chỉ MAC và cổng kết nối tương ứng. Điều này giúp switch dễ dàng xác định cổng kết nối phù hợp cho mỗi khung dữ liệu mà nó nhận được.
2. Địa chỉ MAC
Địa chỉ MAC (Media Access Control address) là một định danh duy nhất được gắn với mỗi card mạng trên các thiết bị trong mạng như máy tính, máy in, hoặc thiết bị mạng. Địa chỉ này được biểu diễn dưới dạng sáu cặp số thập lục phân và chủ yếu được sử dụng để xác định và giao tiếp giữa các thiết bị trong mạng Ethernet.
Xem thêm: Địa chỉ MAC là gì?
3. Học địa chỉ MAC
MAC address learning là quá trình mà switch học các địa chỉ MAC của các thiết bị kết nối vào mạng bằng cách ghi thông tin này vào bộ nhớ CAM của mình. Khi switch nhận được một khung dữ liệu, nó kiểm tra địa chỉ MAC nguồn của khung đó và ghi nó vào bộ nhớ CAM nếu nó chưa tồn tại. Điều này giúp switch xác định cổng kết nối cho từng địa chỉ MAC và chuyển tiếp dữ liệu một cách hiệu quả trong mạng.
Xem thêm: Switch học địa chỉ MAC thế nào?
4. Bảng CAM (CAM Table)
CAM Table là một bảng trong bộ nhớ CAM của switch, nơi lưu trữ các cặp địa chỉ MAC và cổng giao tiếp tương ứng. Trong CAM Table, mỗi dòng ghi chứa một địa chỉ MAC và cổng kết nối mà địa chỉ đó được gắn với. Khi switch nhận được một khung dữ liệu, nó sẽ tra cứu trong CAM Table để xác định cổng đích cho khung dữ liệu dựa trên địa chỉ MAC của nó. Điều này giúp switch chuyển tiếp dữ liệu một cách hiệu quả trong mạng.
CAM Table Overflow (Tràn bảng CAM)
CAM Table Overflow là một vấn đề phổ biến trong mạng máy tính, xuất hiện khi bộ nhớ CAM của switch không đủ lớn để lưu trữ tất cả các địa chỉ MAC của các thiết bị kết nối vào mạng. Nguyên nhân chính của hiện tượng này là do dung lượng hạn chế của bộ nhớ CAM, được thiết kế để chứa một số lượng hạn chế các cặp địa chỉ MAC và cổng tương ứng.
Hậu quả của CAM Table Overflow là switch không thể học thêm địa chỉ MAC mới từ các thiết bị mới kết nối vào mạng, làm gián đoạn kết nối và ngăn chặn thiết bị mới từ việc tham gia vào mạng. Đồng thời, switch có thể gửi khung dữ liệu ra tất cả các cổng khi không biết cổng đích của chúng, dẫn đến lãng phí băng thông và giảm hiệu suất mạng.
Các cuộc tấn công nhằm vào CAM Table Overflow thường bao gồm ARP Spoofing và MAC Flooding. ARP Spoofing là kỹ thuật mà kẻ tấn công gửi các gói tin ARP giả mạo để làm cho switch cập nhật CAM Table với thông tin MAC giả mạo, trong khi MAC Flooding là kỹ thuật gửi lượng lớn khung dữ liệu với các địa chỉ MAC giả mạo để làm cho CAM Table tràn.
Cách thực hiện tấn công tràn bảng CAM
Để thực hiện tấn công tràn bảng CAM, kẻ tấn công thường bắt đầu bằng việc chọn một giao diện mạng trên máy tính của họ và gửi một lượng lớn các khung dữ liệu với địa chỉ MAC nguồn giả mạo đến switch. Số lượng khung dữ liệu được gửi có thể đủ lớn để làm cho bảng CAM trên switch tràn, không còn khả năng chứa thêm thông tin mới.
Khi bảng CAM tràn, switch không thể biết cổng đích cho các khung dữ liệu và gửi chúng ra tất cả các cổng, tạo điều kiện cho việc giả mạo địa chỉ MAC và tấn công theo ARP Spoofing.
Cách phòng chống tấn công bảng CAM
Để ngăn chặn tấn công tràn bảng CAM, ta có thể triển khai các biện pháp bảo mật sau:
- Port Security: Cấu hình Port Security trên switch để giới hạn số lượng địa chỉ MAC được học trên mỗi cổng. Điều này ngăn chặn việc switch học được quá nhiều địa chỉ MAC từ một cổng, giảm nguy cơ tràn bảng CAM.
- Static MAC Address Configuration: Cấu hình địa chỉ MAC tĩnh (static MAC address) trên switch thay vì cho phép switch tự động học địa chỉ MAC từ các gói tin. Điều này giúp hạn chế việc switch học các địa chỉ MAC không mong muốn và giảm nguy cơ tràn bảng CAM.
- Giám sát và Cảnh báo: Thực hiện giám sát liên tục hoạt động của bảng CAM trên switch và thiết lập cơ chế cảnh báo khi bảng CAM sắp đầy hoặc đã tràn. Điều này giúp người quản trị mạng phát hiện sớm và xử lý vấn đề trước khi gây ra sự cố.
- Sử dụng các thiết bị mạng có khả năng chống tấn công: Một số switch và thiết bị mạng cung cấp các tính năng bảo mật cao cấp như kiểm soát lưu lượng, giám sát và phát hiện xâm nhập để ngăn chặn các cuộc tấn công tràn bảng CAM.
- Cấu hình DHCP Snooping: DHCP Snooping giám sát và kiểm soát các gói tin DHCP trên mạng, ngăn chặn các cuộc tấn công DHCP Spoofing và giả mạo địa chỉ IP, từ đó giảm nguy cơ tràn bảng CAM.
Tóm lại, việc kết hợp nhiều biện pháp bảo mật là cách hiệu quả nhất để ngăn chặn tấn công tràn bảng CAM và bảo vệ mạng khỏi các nguy cơ an ninh mạng.
Thông Tin Về Tác Giả
Nguyễn Thành Hợp là một chuyên gia về lĩnh vực thiết bị mạng, viễn thông gần 10 năm kinh nghiệm với nhiều chứng chỉ chất lượng như CCNA 200-301, CCNP, CCDA, CCDP,... do Cisco cung cấp. Sở thích cá nhân là khám phá những kiến thức mới mẻ về công nghệ nói chung và đặc biệt là liên quan đến lĩnh vực mạng!