Beruflich Dokumente
Kultur Dokumente
Bảng CAM là vùng nhớ trong RAM của switch dùng để lưu các ánh xạ giữa địa chỉ MAC
nguồn của các PC, thiết bị mạng và port trên switch mà các thiết bị đó kết nối vào mạng. Kích
thước của CAM là có giới hạn tùy thuộc vào các dòng switch khác nhau. Dữ liệu trong bảng
CAM được switch xây dựng qua quá trình học địa chỉ, duy trì trong quá trình họat động và sẽ
bị xóa đi sau 1 khoảng thời gian timeout hoặc khi switch khởi động lại.
Hình bên trên mô tả kiểu tấn công làm tràn bảng CAM trên switch. Kẻ tấn công dùng một
phần mềm để gửi đến switch thật nhiều gói tin mà mỗi gói tin có một địa chỉ MAC nguồn
khác nhau. Theo nguyên tắc họat động của switch, khi nhận một gói tin mà địa chỉ MAC
nguồn của gói tin không có trong bảng CAM thì switch sẽ thêm địa chỉ MAC này vào bảng
CAM ứng với port nhận gói tin tới. Như vậy, nếu trong một thời gian ngắn mà switch nhận
được một số lượng lớn các gói tin như thế thì bộ nhớ CAM sẽ bị đầy và switch không thể học
thêm địa chỉ MAC từ bất cứ máy nào gửi gói tin đến. Khi bảng CAM bị tràn switch sẽ
broadcast các gói tin mà nó nhận được ra tất cả các port còn lại ( họat động tương tự như
Hub ). Lúc này kẻ tấn công có thể thấy gói tin của các máy gửi cho nhau trong mạng nhờ vào
các công cụ sniffer.
Để phòng chống kiểu tấn công này ta sử dụng tính năng port-security trên các dòng switch
catalyst của Cisco.
Nguyên lý họat động của port-security là :
Giới hạn số địa chỉ MAC mà switch có thể học tối đa trên mỗi port
Xác định các địa chỉ MAC hợp lệ được phép hoạt động trên mỗi port.
Khi switch nhận được một gói tin có MAC nguồn không có trong bảng CAM thì switch sẽ
kiểm tra thêm số MAC tối đa của port, danh sách MAC hợp lệ của port rồi mới quyết định có
thêm địa chỉ MAC mới vào bảng CAM hay không.
Nếu một port vi phạm các điều kiện trên thì switch có thể thực thi các hàng động được qui
định trong cấu hình như shutdown port, drop packets, …. Bảng bên dưới mô tả các chế độ
hoạt động của port sau khi phát hiện sự vi phạm các điều kiện đã cấu hình của port-security.
Ta có thể cấu hình tính năng port-security aging để switch tự động xóa các địa chỉ MAC đã
được học động và học lại các địa chỉ MAC mới sau một khỏang thời gian cố định hay sau một
khỏang thời gian switch không nhận được dữ liệu từ địa chỉ MAC nguồn trong bảng CAM.
Các loại địa chỉ MAC được định nghĩa trong port-security
Static secure MAC : là các địa chỉ MAC được nhập vào cấu hình của switch bằng lệnh
switchport port-security mac-address MAC, địa chỉ MAC này được lưu vào bảng CAM và
trong file cấu hình của switch
Dynamic secure MAC : là các địa chỉ MAC được học tự động, được lưu trong bảng CAM và
sẽ bị mất khi switch khởi động lại
Sticky secure MAC : là các địa chỉ MAC được học tự động, được lưu trong bảng CAM và
trong file cấu hình của switch. Ta có thể chuyển dynamic MAC sang Sticky MAC.
Lưu ý: đối với Static MAC và Sticky MAC, mặc dù chúng được lưu trong file cấu hình nhưng
chỉ là running-config, người quản trị phải lưu cấu hình vào startup-config để các địa chỉ MAC
này vẫn được sử dụng trong các lần switch khởi động lại.
Dưới đây là các bước cơ bản cấu hình tính năng portsecurity trên switch
Cisco:
Tham khảo thêm về cấu hình port-security:
http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/12.2/46sg/configuratio
n/guide/port_sec.pdf
http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.2SX/configurat
ion/guide/port_sec.pdf
Attackers sử dụng một máy tính có cài phần mềm giả lập biến máy tính này thành một Switch
và bật tính năng Trunking trên Switch giả này. Nếu port kết nối với máy tính này trên Switch
thật có bặt tính năng Auto trunking (default setting) thì Switch giả trên sẽ trở thành một thành
viên của tất cả các VLAN. Khi đó máy tính của Attacker có thể liên lạc được với mọi VLAN
trong hệ thống.
Hoặc Hacker có thể dùng 1 Switch gắn vào hệ thống Switch bằng port có các tính năng Auto
Trunking (DTP) hoặc cấu hình trunking theo 1 giao thức nào đó.
Attacker dùng phần mềm sửa đổi frames gán 02 VLAN Tag vào Ethernet frames trước khi gửi
đi. Outter Tag chứa VLAN ID của VLAN Attacker đang dùng và VLAN ID này trùng với
Native VLAN của đường trunk. Khi frames giả này được gửi đi, Switch đầu tiên nhận frame
này sẽ remove Outer tag và gửi nó đi đến các port thuộc Outer VLAN và kể cả đường Trunk
( nếu máy đích không có CAM table của switch này). Vì outer tag có VID trùng với native
VID của đường trunk nên Switch đầu tiên không add thêm Tag nào vào frame của attacker.
Khi frame này đến Switch thứ hai, Switch này xem phần Tag Inner và thấy rằng frame này
cần được chuyển đến VID ghi trong inner Tag và nó chuyển frame này đến port thuộc VLAN
cần tấn công hoặc floods nó nếu không có trong CAM tabe.
Cách ngăn chặn Double Tagging :
Kiểu tấn công này chỉ xảy ra khi native VLAN trên đường trunk trùng với
VLAN mà attacker sử dụng để tấn công. Vì thế ta nên set native trên các
đường trunk là 1 VLAN không có user nào sử dụng ( không có port vào gán
vào VLAN này – unused VLAN)
1.3. Phá hoẠi cẤu hình STP
Trong kiểu tấn công này Attacker dùng một thiết bị đóng giả một switch trong hệ thống có
chạy giao thức STP. Switch giả này sẽ buộc các switch khác trong hệ thống tính tóan lại STP
và nó sẽ gửi các BPDUs với switch priority là nhỏ nhất để được chọn là root bridge trong hệ
thống. Và từ đó mô hình loop-free bị thay đổi, một số đường link có thể bị block và toàn bộ
dữ liệu đổ về switch giả của Attacker.
Ta sử dụng tính năng port security trên switch để ngăn chặn các kiểu tấn công dựa trên MAC
Address.
Ta có sử dụng Port security để block traffic vào các port Ethernet, FastEthernet,
GigabitEthernet nếu source hoăc destination MAC Add của các thiết bị kết nối vào port không
đúng với các MAC Add đã được qui định cho port đó.
Ngòai ra ta cũng có thể giới hạn số MAC Add cho phép trên switch port.
- Community port: chỉ có thể giao tiếp với các community port khác và promiscuous port.
Để chống lại kiểu tấn công này ta sử dụng tính năng DHCP Snooping trên switch như sau :
Bật tính năng DHCP Snooping trên switch : (config)# ip dhcp snooping
Bật tính năng DHCP Snooping trên VLAN : (config)# ip dhcp snooping vlan [number]
Qui định trust ported và untrusted port : (config-if)# ip dhcp snooping trust
Qui định tần suất DHCP messages trên untrusted port để giới hạn số HDCP requests mà
Attackers có thể gửi đi trong 1 giây : (config-if)# ip dhcp snooping limit rate