12
1. TẤN CÔNG TRÀN BẢNG CAM 1.1.1. Giới thiệu 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 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ể

TẤN CÔNG TRÀN BẢNG CAM

Embed Size (px)

Citation preview

Page 1: TẤN CÔNG TRÀN BẢNG CAM

1.    TẤN CÔNG TRÀN BẢNG CAM

1.1.1.     Giới thiệu

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.

1.1.2.     Phòng chống tấn công tràn bảng CAM

Để 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.

Page 2: TẤN CÔNG TRÀN BẢNG CAM

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.

Page 3: TẤN CÔNG TRÀN BẢNG CAM

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.

1.1.3.     Cấu hình port-security

Dưới đây là các bước cơ bản cấu hình tính năng port-security trên switch Cisco:

 

Page 4: TẤN CÔNG TRÀN BẢNG CAM

 

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/configuration/guide/port_sec.pdf

http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.2SX/configuration/guide/port_sec.pdf

1.2.    VLAN HOPPING

VLAN Hopping là dạng tấn công mà kẻ tấn công gửi các gói tin đến các VLAN mà người dùng bình thường không được phép truy cập đến các VLAN này.

1.2.1.     VLAN Hopping bằng đánh lừa Switch (Switch Spoofing )

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 đó.

Cách ngăn chặn Switch Spoofing :

Page 5: TẤN CÔNG TRÀN BẢNG CAM

Cách tốt nhất để chống Switch spoofing là tắt tính năng trunking trên tất cả các port ngoại trừ port dùng để nối đến các switch khác ( sử dụng lệnh switchport mode access trên các port không phải là trunk port). Trên port trunk thì cũng tắt tính năng dynamic trunnking (DTP), chỉ cấu hình trunk tĩnh.

1.2.2.     VLAN Hopping bằng Double Tagging

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)

Page 6: TẤN CÔNG TRÀN BẢNG CAM

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.

 

Cách ngăn chặn thay đổi cấu hình STP :Sử dụng tính năng root guard và bpdu guard  để không cho các switch khác giành quyền làm root bridge. Khi switch nhận gói tin BPDUs trên port đã bật tính năng guard root thì port này sẽ chuyển sang trạng thái inconsistent STP ( tương tự trạng thái listening ) và không cho phép traffic forward qua port này.Chuyển các port sử dụng cho end-user sang trạng thái PortFast          và bật tính năng STP BPDU guard ở global configuration mode. Tính năng này không cho phép các PortFast nhận các gói tin BPDUs

1.4.    MAC Spoofing : man in the middle

Page 7: TẤN CÔNG TRÀN BẢNG CAM

Bằng việc sử dụng địa chỉ MAC của máy khác để thay đổi bảng CAM làm cho switch chuyển các dữ liệu có đích là máy bị tấn công về máy của kẻ tấn công.

Cách ngăn chặn MAC Spoofing :

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.

1.5.    pvlan proxy attack

Mặc dù pvlan là kỹ thuật thường dùng để giới hạn giao tiếp giữa các máy trong cùng một subnet nhưng PVlan vẫn không đảm bảo an toàn tuyệt đối .Pvlan họat động bằng cách giới hạn các port trong cùng vlan giao tiếp với các port khác trong cùng vlan đó. Pvlan qui định có 3 Loại port và tính chất của chúng như sau :

-       Isolated port: chỉ có thể giao tiếp với promiscuous port.

-       Community port: chỉ có thể giao tiếp với các community port khác và promiscuous port.

-       Promiscuous port: có thể giao tiếp với bất kỳ port nào.

Hình bên dưới mô tả kiểu tấn công PVLAN Proxy

Page 8: TẤN CÔNG TRÀN BẢNG CAM

Attacker gửi gói tin đã được sửa đổi đến promiscuous port ( port này thường dùng để kết nối với vùng mạng bên ngoài PVLAN vì port này có thể giao tiếp với tất cả các port khác trong PVLAN, trong ví dụ này là port nối đến Router). Gói tin này có địa chỉ IP và MAC nguồn là của máy attacker (A) và IP đích là của máy cần tấn công (C) nhưng MAC đích là của Router (B). Switch sẽ chuyển gói tin này đến Router, Router sẽ thực hiện routing, thay đổi địa chỉ MAC đích của gói tin thành MAC của máy C dựa vào ARP table. Gói tin giờ đã hợp lệ và được chuyển đến máy C. Tuy nhiên kiểu tấn công này chỉ thực hiện được 1 chiều, dữ liệu không thể đi theo chiều ngược lại từ máy C về máy A do PVLAn chặn dữ liệu từ Isolated port sang Community port. Chỉ khi nào máy C cũng bị sửa đổi địa chỉ MAC đích về Router như máy A thì dữ liệu mới có thể đi ngược về máy A.

Cách ngăn chặn kiểu tấn công PVLAN Proxy :Cấu hình ACL ngăn subnet của PVLAN không thể gửi dữ liệu lẫn nhau và gán trên interface của Router.

1.6. TẤN CÔNG VÀO DỊCH VỤ ARP

Mục đích của kiểu tấn công này là thay đổi ARP table của các thiết bị mạng và từ đó Attacker có thể điều chỉnh lại dòng dữ liệu trong lớp 2 và thường là bước mở đầu cho kiểu tấn công Man-in-the-middle. Attacker sử dụng một PC có cài phần mềm độc, máy PC này gửi các ARP reply đến các thiết bị mạng cần tấn công mặc dù nó không hề nhận được ARP request. Kết quả là nó làm thay đổi ARP table của các thiết bị khác.

Page 9: TẤN CÔNG TRÀN BẢNG CAM

Trong ví dụ bên trên, host C gửi ARP reply đến host A và Router B làm thay đổi ARP table ( tất cả đều trỏ về MAC của máy C ) và vì máy C biết rõ MAC thật của các thiết bị mà nó tấn công nên sau khi bắt được data từ các thiết bị khác gửi đến nó forward data này đến các thiết bị thật sự cần gửi đến. Như vậy host C trở thành Man-in-the-middle giám sát tòan bộ traffic mạng mà không gây ảnh hưởng đến họat động của mạng ( rất khó phát hiện ).

Cách ngăn chặn ARP Spoofing :Kết hợp giữa DHCP Snooping và DAI để ngăn chặn kiểu tấn công trên.DAI ( Dynamic ARP Inspection ) hoạt động tương tự như DHCP Snooping tức là qui định ra trusted và untrusted port để xác định ARP packets nào cần được giám sát.Nếu ARP packets đến từ trusted port thì DAI sẽ không kiểm tra.Nếu ARP packets đến từ untrusted port thì DAI sẽ kiểm tra việc map giữa MAC và IP trong gói tin ARP bằng cách so sánh với bảng map trong DHCP Server ( DHCP Snooping đã được triển khai )

Cách cấu hình DAI như sau :

 

1.7.    TẤN CÔNG VÀO DHCP SERVER

Attacker đưa một DHCP Server vào hệ thống. DHCP Server này sẽ reply các request của Client và cung cấp cấu hình IP theo chủ ý của Attacker ( sửa default gateway, DNS để chuyển tất cả dữ liệu của Client về 1 host nào đó, cung cấp cấu hình IP sai lệch làm thay đổi cấu trúc về routing, IP policies, … gây phá vỡ cấu trúc mạng).

Để 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 snoopingBậ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

Page 10: TẤN CÔNG TRÀN BẢNG CAM

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

 

Một kiểu tấn công khác vào DHCP server là Attactker dựng một Client PC và liên tục gửi request cấp cấu hình IP đến DHCP Server với mỗi MAC khác nhau cho 1 request. Việc này dẫn đến vùng IP range trong segment đó sẽ bị Attacker chiếm dụng hết và DHCP Server không thể cấp cấu hình IP cho các Client thật sự. Để chống lại kiểu tấn công này ta sử dụng tính năng port security trên switch.