Está en la página 1de 10

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

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:
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

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 :


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)
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


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


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

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.