5. Giới thiệu
7.2.2 Kiểu tấn công VLAN đóng gói kép
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. Outer 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.
SVTH: TRẦN THỊ CA- 49THM Page 152
7.2.2.2 Cách phòng chống
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ó người dùng nào sử dụng (không có port vào gán vào VLAN này – unused VLAN)
7.3 Spoofing Attack (Tấn công giả mạo) 7.3.1 DHCP spoofing 7.3.1 DHCP spoofing
7.3.1.1 Phương thức tấn công
Một Server DHCP thông thường cung cấp những thông tin cơ bản cho một máy tính hoạt động trên mạng. Ví dụ: máy tính người dùng có thể nhận địa chỉ IP, địa chỉ gateway, địa chỉ DNS… Giả sử kẻ tấn công xây dựng một Server DHCP giả trong cùng mạng với máy tính người dùng, và khi máy tính người dùng thực hiện gởi broadcast DHCP Request, khi đó Server DHCP giả có thể sẽ gởi thông tin trả lời và máy tính người dùng sẽ dùng Server DHCP giả làm gateway. Lúc này tất cả luồng dữ liệu gởi ra mạng bên ngoài đều sẽ đi qua gateway giả và kẻ tấn công sẽ thực hiện phân tích và biết được nội dụng của dữ liệu sau đó gói được chuyển tiếp đi như bình thường. Đây là một dạng tấn công “man-in-the-middle”, kẻ tấn công thay đổi đường đi của gói dữ liệu mà người dùng không thể nhận biết.
SVTH: TRẦN THỊ CA- 49THM Page 153
7.3.1.2 Cách phòng chống
Với DHCP Snooping sẽ giúp ngăn chặn loại tấn công này loại này. Khi DHCP được kích hoạt, cổng trên Switch sẽ phân loại thành cổng tin cậy (trusted) và không tin cậy (untrusted).
Cổng tin cậy cho phép nhận DHCP Reply hay cổng được kết nối với Server DHCP, trong khi cổng không tin cậy chỉ cho phép nhận DHCP Request hay cổng kết nối với máy tính người dùng. Nếu Server DHCP giả gắn vào cổng không tin cậy và gởi DHCP Reply thì gói Reply sẽ bị loại bỏ. DHCP Snooping sẽ thực hiện phân tích gói DHCP Request và Reply, xây dựng bảng cơ sở dữ liệu về địa chỉ IP được cấp, địa chỉ MAC, thông tin cổng… mà máy tính đó thuộc.
Hình 7.5 Giải pháp chống DHCP spoofing
7.3.1.3 Các câu lệnh cấu hình
Câu lệnh Tác dụng
SW(config)#ip dhcp snooping Kích hoạt tính năng DHCP Snooping
SW(config)#ip dhcp snooping vlan
vlan_id
Xác định tính năng DHCP Snooping trên VLAN
SW(config)#interface port
SW(config-if)#ip dhcp snooping trust
SVTH: TRẦN THỊ CA- 49THM Page 154
7.3.2 Spanning tree compromise (Tấn công làm tổn thương Spanning tree) 7.3.2.1 Giả mạo root bridge. 7.3.2.1 Giả mạo root bridge.
Lợi dụng điểm yếu về chứng thực bản tin, một hacker có thể tiến hành tấn công theo kiểu gửi đi bản tin BPDU giả dạng để tuyên bố mình là root bridge. Thực hiện điều này không khó bởi chỉ cần gửi đi bản tin BPDU có priority cực thấp thì khả năng của host trở thành root bridge là rất cao.
Hậu quả của kiểu tấn công giả mạo:
Cấu trúc cây STP bị thay đổi không theo ý muốn của người quản trị. Ví dụ khi kẻ tấn công chiếm được quyền làm root bridge, khi nhận được bản tin TCN báo có sự thay đổi cấu hình từ một switch, root vẫn gửi đi bản tin BPDU với TC =0 báo trạng thái STP bình thường. Kết quả là mọi switch khác đều không biết về sự thay đổi này dẫn đến việc trao đổi thông tin có thể bị gián đoạn.
Dữ liệu truyền qua lại giữa các switch thuộc các nhánh khác nhau của cây STP sẽ được truyền qua host trước (tấn công Man-in-The- Middle).
Hình 7.6 Mô hình tấn công giả mạo root bridge
Mô tả các bước tấn công :
SVTH: TRẦN THỊ CA- 49THM Page 155
Kẻ tấn công trên PC 4 gửi đi bản tin giả mạo có Priority thấp nhất đến switch 3.
Quá trình hội tụ trong mạng diễn ra như sau: Khi switch 3 nhận được bản tin BPDU từ cổng 3 của nó, nó biết là có sự thay đổi topology của mạng. Lúc đó 3 cổng trên switch 3 sẽ chuyển từ trạng thái blocking sang trạng thái listening để switch tham gia vào quá trình bình bầu root bridge, root port và designated port.
Trong trạng thái này, switch 3 cũng gửi đi bản tin BPDU có priority 0 đến hai switch 1 và 2. Quá trình bình bầu diễn ra có kết quả như sau:
Các switch sẽ coi PC 4 là root bridge.
Trên switch 3: cổng 3 được chọn làm root port vì có chi phí đến root thấp nhất, cổng 1 và 2 được chọn làm designated port vì nó gửi đi bản tin quảng cáo có chi phí thấp hơn so với chi phí của các bản tin gửi từ switch 1 và 2.
Trên switch 1: cổng 1 được chọn làm root port, cổng 2 được chọn là designated port vì tuy cùng cost đến root nhưng switch 1 có priority thấp hơn switch 2.
Trên switch 2: cổng 1 được chọn làm root port, cổng 2 là non- designated port.
Sau khi đã chọn được root port, switch 3 sẽ gửi đi bản tin TCN qua cổng 3 cho root bridge mới thông báo là đã có sự thay đổi trong mạng. Kẻ tấn công gửi lại bản tin TCA cho switch 3 và gửi đi bản tin BPDU có TC=1 đến tất cả các switch khác. Các switch khác khi nhận được bản tin này sẽ đặt thời gian tồn tại các ánh xạ trong bảng cache xuống còn 15s để chuẩn bị học địa chỉ MAC mới.
SVTH: TRẦN THỊ CA- 49THM Page 156
Hình 7.7 Trạng thái Listening
Tất cả quá trình trên được diễn ra trong khoảng 15s (các cổng trên switch ở trạng thái listening). Các switch đợi thêm 15s nữa để học lại địa chỉ MAC. Sau 30s các cổng là root port hoặc designated port sẽ được đặt vào trạng thái forwarding còn các cổng là non-designated port sẽ được đặt vào trạng thái blocking. Trạng thái hội tụ mới:
Hình 7.8 Mô tả trạng thái thay đổi của STP
Ta có thể thấy rõ cấu trúc cây STP đã bị thay đổi hoàn toàn.
Tấn công Man-in-The-Middle
SVTH: TRẦN THỊ CA- 49THM Page 157 Trong sơ đồ tấn công trên, kẻ tấn công cần có hai card mạng gắn vào các cổng tương ứng trên các switch. Sau khi gửi đi bản tin giả mạo, cây STP mới sẽ là:
Hình 7.10 Mô hình cây STP mới
Ta có thể thấy: dữ liệu từ PC 1 sang PC 2 phải đi qua máy của kẻ tấn công thay vì đi trực tiếp qua đường nối giữa switch 1 và switch 2 như trong sơ đồ mạng trước khi bị tấn công.
7.3.2.2 Tấn công DoS
Kiểu tấn công DoS dựa vào điểm yếu thứ hai của STP: chỉ cần kẻ tấn công gửi đi bản tin BPDU giả mạo thông báo có sự thay đổi topology của mạng, sau đó thuật toán STP sẽ được các switch thực hiện và nếu bản tin này được gửi đi liên tục thì các switch chỉ làm được nhiệm vụ chạy STP mà không thực hiện được các chức năng khác. Hậu quả của kiểu tấn công này là các dịch vụ của mạng sẽ bị tê liệt.
Ví dụ: Kẻ tấn công có thể thực hiện kiểu tấn công DoS như sau :
Bước1: Bắt một gói tin BPDU để lấy ra priority của root bridge hiện thời.
Bước2: Gửi đi bản tin quảng cáo với priority giảm dần.
Bước3: Khi priority giảm về 0, kẻ tấn công không gửi đi bản tin quảng cáo nữa. Sau khoảng thời gian Maxage, các switch sẽ bình
SVTH: TRẦN THỊ CA- 49THM Page 158 bầu lại và sau 50s, mạng lại hội tụ và kẻ tấn công lại tiếp tục các bước như trên.
Hậu quả là các cổng trên switch luôn ở trong trạng thái listening. Khi đó bất kì một gói tin nào đi đến switch cũng đều bị hủy. Kết quả là việc trao đổi thông tin trong mạng có thể sẽ không được thực hiện suôn sẻ như bình thường.
Phòng chống:
Cách phòng chống giả mạo STP nói chung là không cho host gửi đi bản tin BPDU giả mạo: cấu hình portfast, BPDU guard và root guard.
o Cấu hình portfast: việc cấu hình portfast sẽ chuyển trạng thái của cổng switch từ trạng thái blocking sang trạng thái Forwarding ngay lập tức, làm giảm thời gian hội tụ STP về 0. Tuy việc cấu hình portfast làm giảm thời gian hội tụ STP về 0 nhưng thuật toán STP vẫn chạy và vẫn phát hiện loop. Tuy nhiên loop chỉ có thể được phát hiện sau một khoảng thời gian nhất định: khoảng thời gian để chuyển cổng thành các trạng thái STP bình thường.
o Câu lệnh cấu hình:
Switch(config-if)# spanning-tree portfast
o Cấu hình BPDU guard: cấu hình này thường đi kèm với cấu hình portfast trên cùng một cổng. Nếu cổng nhận được bất kì một bản tin BPDU nào đó thì ngay lập tức, cổng sẽ được chuyển vào trạng thái errdisable, trạng thái cần phải bị shut-down do lỗi. Cổng chỉ có thể được hoạt động trở lại khi có sự can thiệp của người quản trị hoặc được khôi phục lỗi tự động sau khoảng thời gian timeout của trạng thái errdisable.
o Câu lệnh cấu hình:
SVTH: TRẦN THỊ CA- 49THM Page 159
o Cấu hình root guard: việc cấu hình root guard được tiến hành trên giao diện của một switch. Bình thường khi một switch nhận được bản tin BPDU của một switch có bridgeID tốt hơn root bridge của nó, ngay lập tức nó sẽ công nhận switch mới chính là root bridge và như vậy làm mất đi tính ổn định của mạng. Với việc cấu hình root guard, khi một cổng của switch nhận được bản tin BPDU quảng cáo tốt hơn, port sẽ được chuyển sang một trạng thái được gọi là root-inconsistent. Trong trạng thái này, dữ liệu và BPDU không được gửi nhận qua cổng nhưng switch vẫn lắng nghe các bản tin BPDU trên đó. Chừng nào không nhận được bản tin BPDU tốt hơn nữa, port sẽ trở lại trạng thái bình thường.
o Câu lệnh cấu hình:
Switch(config-if)# spanning-tree guard root
7.3.3 ARP spoofing
Lợi dụng điểm yếu của giao thức ARP là giao thức stateless: có nghĩa là một host khi nhận bản tin reply vẫn cập nhật thông tin trong đó vào ARP cache mặc dù nó hoàn toàn không gửi đi ARP request, kẻ tấn công lợi dụng điểm yếu này để gửi đi bản tin giả mạo địa chỉ MAC nguồn tới máy nạn nhân. Kết quả là mọi thông tin máy bị tấn công gửi đi tới một host có địa chỉ IP được chứng thực sẽ được chuyển qua máy của kẻ tấn công trước tiên. Một loạt các hình thức là hệ quả của kiểu tấn công giả mạo này có thể là: DoS, man-in-the-middle (MITM), chiếm đường truyền hoặc phiên truyền …
7.3.3.1 Giả mạo ARP
Có hai hình thức dựa trên kiểu giả mạo ARP này:
Hình thức thứ nhất: kẻ tấn công gửi đi bản tin ARP reply với địa chỉ MAC là địa chỉ broadcast ở lớp 2 FF:FF:FF:FF:FF:FF. Kết quả là thông tin máy nạn nhân khi gửi unicast đến một host nào đó cũng bị coi là gửi đến tất cả các host trong mạng.
SVTH: TRẦN THỊ CA- 49THM Page 160
Hình thức thứ hai: kẻ tấn công gửi ra toàn mạng bản tin ARP reply giả mạo địa chỉ MAC của một server nào đó trong mạng bằng một địa chỉ MAC không tồn tại. Kết quả là khi các host yêu cầu một dịch vụ nào đó trên server thì sẽ không được đáp ứng. Gói tin yêu cầu có gửi đi nhưng sẽ bị huỷ vì không có host nào nhận cả. Đây chính là kiểu tấn công DoS.
7.3.3.2 Kiểu tấn công Man-in-the-middle (MITM)
Theo cách tấn công này, kẻ tấn công sẽ dùng bản tin ARP reply giả mạo gửi đến cả hai máy nạn nhân. Ví dụ:
Hình 7.11Sơ đồ tấn công Man-in-the-middle
Giả sử có hai máy A và B cần trao đổi thông tin với nhau. Máy X gửi bản tin ARP reply cho máy A với địa chỉ IP nguồn là địa chỉ của B còn địa chỉ MAC nguồn là địa chỉ của X. Ngược lại, X cũng gửi tới B bản tin giả mạo với địa chỉ IP nguồn là địa chỉ IP của A và địa chỉ MAC nguồn là địa chỉ MAC của X.
Kết quả là khi A và B trao đổi thông tin với nhau, toàn bộ thông tin này sẽ được trung chuyển qua X mà hai host này không hề hay biết. Kẻ tấn công có thể thay đổi hoặc đánh cắp thông tin tuỳ theo ý định tấn công. Tuy nhiên, để thực hiện thành công kiểu tấn công này, trên máy của kẻ tấn công phải sử dụng phần mềm chuyển gói tin thời gian thực: gói tin đến từ A hoặc B phải được gửi đi ngay tức khắc và mọi gói tin đều phải giữ nguyên thông số TTL (time to live).
SVTH: TRẦN THỊ CA- 49THM Page 161
Cách phòng chống
DAI (Dynamic ARP Inspection) là một tính năng được sử dụng để phòng chống ARP spoofing. DAI đặt từng cổng của switch ở trạng thái là không tin cậy (mặc định) hay tin cậy, thực hiện các thông điệp DAI chỉ trên những port không tin cậy. DAI kiểm tra từng thông điệp ARP request hay reply trên những port không tin cậy để quyết định xem thông điệp có phù hợp hay không.Nếu không phù hợp, switch sẽ lọc các thông điệp ARP này. DAI sẽ xác định một thông điệp ARP có hợp lệ hay không bằng cách dùng thuật toán sau:
Nếu một thông điệp ARP Reply liệt kê một địa chỉ nguồn IP mà không phải do DHCP cấp đến một thiết bị trên cổng đó, DAI sẽ lọc gói tin ARP Reply.
DAI dùng thêm các thuật toán tương tự bước 1 nhưng dùng một danh sách của các địa chỉ IP/MAC được cấu hình tĩnh.
Đối với một thông điệp ARP Reply, DAI so sánh địa chỉ nguồn MAC trong Ethernet header với địa chỉ nguồn MAC trong thông điệp ARP. Các giá trị MAC này phải giống nhau trong thông điệp ARP bình thường. Nếu các giá trị này không giống nhau, DAI sẽ lọc gói tin.
Giống như bước 3, nhưng DAI sẽ so sánh địa chỉ MAC đích và địa chỉ MAC liệt kê trong thông thông điệp ARP.
DAI kiểm tra các địa chỉ IP không mong đợi được liệt kê trong thông điệp ARP chẳng hạn như 0.0.0.0, 255.255.255.255, multicasts …
SVTH: TRẦN THỊ CA- 49THM Page 162
Câu lệnh cấu hình DAI:
Câu lệnh Tác dụng
SW(config)#ip arp inspection vlan
vlan_id[,vlan_id]
Kích hoạt tính năng DAI trên một hay nhiều vlan
SW(config-if)#ip arp inspection trust Kích hoạt tính năng DAI trên một cổng giao tiếp và thiết đặt cổng đó là một cổng đáng tin cậy (trusted interface)
SW(config-if)#ip arp inspection validate {[src-mac] [dst-mac] [ip]}
Cấu hình DAI sẽ loại bỏ gói tin khi mà địa chỉ IP không tồn tại
SVTH: TRẦN THỊ CA- 49THM Page 163
KẾT LUẬN
Sau một thời gian nghiên cứu, đồ án của em đã giải quyết được một số vấn đề sau:
- Tìm hiểu chung về mạng campus: chỉ ra mạng campus cũ và mạng campus mới, mô hình và các kỹ thuật chuyển mạch trong mạng campus. - Tìm hiểu cách triển khai VLAN (virtual local area network) và STP (
spanning-tree Protocol) trong mạng campus: cách tạo, cấu hình và lợi ích của các giao thức sử dụng trong mạng.
- Tìm hiểu Inter-VLAN và multilayer swicth: sử dụng và cấu hình định tuyến của giao thức trong mạng.
- Tìm hiểu thêm những tính năng nâng cao: HSRP, VRRP, GLBP, mục đích và cách cấu hình sử dụng giao thức trong mạng.