Nguy cơ bị tấn công trong mạng LAN IPv6 và cơ chế phòng chống
Trong bối cảnh IPv6 đang được triển khai ngày càng rộng rãi tại Việt Nam, đặc biệt trong các cơ quan nhà nước và các đơn vị trực thuộc Chính phủ, các hệ thống mạng nội bộ thường có quy mô lớn và mức độ kiểm soát thiết bị đầu cuối không đồng nhất. Điều này làm gia tăng bề mặt tấn công, đặc biệt đối với các mối đe dọa nội bộ (insider threats).
Bài báo phân tích các nguy cơ bảo mật liên quan đến cơ chế SLAAC trong mạng IPv6, đồng thời đánh giá hiệu quả của cơ chế RA Guard trong việc phát hiện và ngăn chặn các tấn công giả mạo bản tin RA [1, 2]. Kết quả nghiên cứu góp phần nâng cao nhận thức về an toàn thông tin và hỗ trợ quá trình triển khai IPv6 một cách an toàn, ổn định và bền vững [3, 4].

Nguy cơ tấn công trong mạng LAN IPv6 khi sử dụng SLAAC
IPv6 được thiết kế nhằm thay thế IPv4 và giải quyết vấn đề cạn kiệt địa chỉ, trong đó cơ chế tự động cấu hình địa chỉ IPv6 (Stateless Address Auto-configuration - SLAAC) cho phép các host tự động cấu hình địa chỉ mà không cần máy chủ DHCPv6 [5]. Mặc dù mang lại tính linh hoạt và khả năng triển khai nhanh (plug-and-play), SLAAC đồng thời cũng làm phát sinh các rủi ro bảo mật do phụ thuộc vào các bản tin điều khiển trong giao thức khám phá lân cận (Neighbor Discovery Protocol - NDP) [6], vốn không tích hợp cơ chế xác thực mặc định [4, 6]. Trong bối cảnh đó, các tấn công giả mạo (RA spoofing) bản tin thông báo bộ định tuyến (Router Advertisement - RA) có thể được thực hiện dễ dàng trong mạng LAN, dẫn đến các nguy cơ như tấn công xen giữa (Man-In-The-Middle - MITM), chiếm quyền định tuyến hoặc từ chối dịch vụ [7, 8].
Trong cơ chế SLAAC, quá trình cấu hình địa chỉ của host dựa trên việc tiếp nhận và xử lý các bản tin ICMPv6 Router Advertisement (RA - type 134) do bộ định tuyến phát tán định kỳ dưới dạng multicast (địa chỉ ff02::1 - all-nodes) hoặc được gửi để phản hồi các bản tin Router Solicitation (RS - type 133) từ host (địa chỉ ff02::2 - all-routers) [5, 6].
Cụ thể, khi nhận được RA, host sẽ thực hiện các bước [5]: Trích xuất tùy chọn thông tin tiền tố để tạo địa chỉ IPv6 kết hợp tiền tố với định danh giao diện (Interface Identifier - IID); cập nhật danh sách bộ định tuyến mặc định dựa trên trường thời gian hiệu lực của bộ định tuyến (Router Lifetime); áp dụng các tham số mạng khác như đơn vị truyền tải tối đa, thời gian có thể đạt được, thời gian truyền lại; Xác định phương thức cấu hình bổ sung thông qua các cờ như cờ quản lý và cờ cấu hình khác
Toàn bộ cơ chế này được xây dựng trên nền tảng của NDP [6]. Tuy nhiên, một điểm yếu cốt lõi của NDP là thiếu cơ chế xác thực nguồn và tính toàn vẹn đối với các bản tin điều khiển [4, 6]. Điều này khiến các thông điệp ICMPv6, đặc biệt là RA, dễ bị giả mạo trong môi trường mạng LAN [7].
Trong bối cảnh đó, một kẻ tấn công nằm trong cùng mạng LAN có thể thực hiện tấn công giả mạo bản tin RA (RA spoofing attack) bằng cách phát tán các bản tin RA giả mạo với các tham số được thao túng có chủ đích. Do các host mặc định tin tưởng bất kỳ RA hợp lệ về mặt cú pháp, chúng sẽ cập nhật lại cấu hình mạng mà không có cơ chế xác minh nguồn gửi [4, 6].
Cơ chế hoạt động của SLAAC trong IPv6
SLAAC là cơ chế cho phép các host tự động cấu hình địa chỉ IPv6 mà không cần sử dụng máy chủ quản lý địa chỉ tập trung [5]. Quá trình này diễn ra theo các bước như sau:
Bước 1: Tạo địa chỉ link-local
Trong các triển khai truyền thống, IID được tạo từ địa chỉ MAC của giao diện mạng theo cơ chế Modified EUI-64, sau đó kết hợp với tiền tố FE80::/64 để hình thành địa chỉ link-local của host [5]. Cụ thể, trong cơ chế Modified EUI-64, IID được tạo bằng cách chèn giá trị FFFE vào giữa địa chỉ MAC 48 bit và đảo bit Universal/Local (U/L) trong byte đầu tiên, từ đó tạo ra một định danh 64 bit (hình 1). Tuy nhiên, nhiều hệ điều hành hiện đại không còn sử dụng EUI-64 mặc định do các vấn đề về quyền riêng tư, mà thay vào đó sử dụng các cơ chế tạo IID ngẫu nhiên hoặc ổn định hơn [4].
![Hình 1. Ví dụ về việc tạo địa chỉ link-local từ địa chỉ MAC [5].](https://ictv.1cdn.vn/2026/05/11/hinh-1_ipv6.png)
Bước 2: Kiểm tra địa chỉ link-local vừa tạo có bị trùng hay không
Sau khi địa chỉ IPv6 link-local được tự động cấu hình, host sẽ thực hiện phát hiện địa chỉ trùng lặp (Duplicate Address Detection - DAD) nhằm xác minh địa chỉ này là duy nhất trong mạng [5]. Trong cơ chế này, mỗi địa chỉ IPv6 unicast được gán cho một giao diện mạng sẽ tương ứng với một địa chỉ Solicited-Node Multicast (một dạng địa chỉ multicast đặc biệt trong IPv6) có dạng ff02::1:ffxx:xxxx/104, trong đó xx:xxxx là 24 bit cuối của địa chỉ IPv6 (hình 2). Địa chỉ Solicited-Node Multicast được sử dụng để truy vấn một node cụ thể theo cách tối ưu, chỉ gửi tới một nhóm nhỏ các node liên quan thay vì toàn bộ mạng [6]. Host sẽ tự động tham gia vào nhóm multicast này để phục vụ cho các cơ chế của giao thức NDP, bao gồm cả quá trình DAD [5, 6].
Để kiểm tra trùng lặp, IPv6 sử dụng bản tin ICMPv6 Neighbor Solicitation (NS) để truy vấn thông tin của một nút lân cận dựa trên địa chỉ IPv6 cụ thể (ví dụ: kiểm tra xem địa chỉ đó đã được node khác sử dụng hay chưa) [6]. Trong quá trình này, bản tin NS được gửi với địa chỉ nguồn không xác định (đây là địa chỉ có 128 bit bằng 0 và ký hiệu là ::) và địa chỉ đích là địa chỉ solicited-node multicast tương ứng [5, 6]. Chỉ các host thuộc nhóm multicast này mới nhận được gói tin [6].
Khi nhận bản tin NS, mỗi host sẽ kiểm tra trường địa chỉ đích; nếu phát hiện địa chỉ này trùng với địa chỉ IPv6 của chính mình, nó sẽ gửi lại một bản tin thông báo/phản hồi láng giềng (Neighbor Advertisement - NA) để thông báo rằng địa chỉ đã được sử dụng [6]. Nếu host gửi không nhận được bất kỳ phản hồi nào sau một khoảng thời gian xác định, nó sẽ kết luận rằng địa chỉ IPv6 này là duy nhất và tiến hành gán địa chỉ đó cho giao diện mạng [5].

Bước 3: Gửi bản tin Router Solicitation để yêu cầu thông tin cấu hình từ router
Sau khi cấu hình thành công địa chỉ link-local, host sẽ gửi một bản tin RS để yêu cầu các thiết bị định tuyến (router) trên cùng liên kết cung cấp thông tin cấu hình mạng IPv6 [6]. Trong bản tin RS, host sử dụng địa chỉ link-local của mình làm địa chỉ nguồn và địa chỉ đích là địa chỉ multicast all-routers (ff02::2) [6].
Khi nhận được bản tin này, router sẽ phản hồi bằng RA, trong đó chứa các thông tin cần thiết để host tự động cấu hình địa chỉ IPv6 toàn cầu và các tham số mạng khác [5,6]. Mặc dù router cũng có thể gửi RA định kỳ, việc gửi RS giúp host nhận được thông tin cấu hình nhanh hơn ngay sau khi kết nối vào mạng [5].
Bước 4: Nhận RA và tự tạo địa chỉ IPv6 unicast toàn cầu
Khi host nhận được bản tin RA từ router, nếu cờ A (Autonomous flag) được đặt, host sẽ tự động cấu hình địa chỉ IPv6 [5]. Cụ thể, host sử dụng prefix IPv6 được cung cấp trong RA kết hợp với IID của giao diện mạng để tạo ra địa chỉ IPv6 unicast toàn cầu [5]. Đồng thời, host sử dụng địa chỉ nguồn của bản tin RA (thường là địa chỉ link-local của router) để thiết lập tuyến mặc định (default route) [6].
Bước 5: Kiểm tra địa chỉ global vừa tạo có bị trùng hay không
Sau khi tạo địa chỉ IPv6 toàn cầu, host thực hiện phát hiện trùng lặp địa chỉ (Duplicate Address Detection - DAD) tương tự như với địa chỉ link-local; nếu không nhận được phản hồi, địa chỉ sẽ được gán chính thức cho giao diện mạng [5].
Phân tích rủi ro bảo mật của SLAAC
Trong cơ chế SLAAC, các host IPv6 có thể tự động cấu hình địa chỉ mà không cần máy chủ DHCP, nhờ các bản tin RA do router gửi định kỳ hoặc phản hồi từ RS [5,6]. Tuy nhiên, giao thức NDP - chịu trách nhiệm cho các bản tin như RA, RS, NS và NA - không tích hợp cơ chế xác thực hoặc kiểm tra nguồn gốc [4, 6]. Do đó, bất kỳ thiết bị nào trong cùng mạng LAN cũng có thể giả mạo router và phát tán các bản tin RA độc hại [7, 8].
Hệ quả của tấn công này bao gồm:
Tấn công xen giữa (MITM): Kẻ tấn công quảng bá mình như một bộ tuyến mặc định hợp lệ, buộc host chuyển toàn bộ lưu lượng IPv6 qua thiết bị tấn công. Điều này cho phép thực hiện chặn và nghe lén lưu lượng (traffic interception), sửa đổi gói tin (packet manipulation/modification) hoặc chiếm quyền phiên (session hijacking) [7-9].
Chiếm quyền định tuyến (Default Gateway Hijacking): Thông qua việc phát RA với prefix hợp lệ nhưng gateway giả, kẻ tấn công kiểm soát đường đi của lưu lượng trong mạng nội bộ [7, 8].
Từ chối dịch vụ (Denial of Service - DoS): Bằng cách gửi RA với Router Lifetime = 0 hoặc quảng bá prefix không hợp lệ, kẻ tấn công có thể làm gián đoạn bảng định tuyến của host, khiến mất kết nối hoặc cấu hình địa chỉ sai [4, 7].
Tràn RA/Cạn kiệt tài nguyên (RA Flooding/Resource Exhaustion): Phát tán số lượng lớn RA nhằm làm quá tải CPU hoặc bảng bộ nhớ đệm láng giềng (neighbor cache) của host và thiết bị mạng [3, 7, 8].
RA Guard: Cơ chế phòng chống tấn công RA
Để giảm thiểu các rủi ro phát sinh từ cơ chế SLAAC - vốn phụ thuộc hoàn toàn vào các bản tin RA trong NDP - một trong những biện pháp kiểm soát phổ biến ở lớp truy nhập là cơ chế RA Guard [1, 2].
Về bản chất, RA Guard là một kỹ thuật lọc lưu lượng tại mặt phẳng dữ liệu lớp 2 (Layer 2 data-plane filtering), tức là quá trình kiểm tra, cho phép hoặc chặn các khung dữ liệu (frames) dựa trên địa chỉ MAC nguồn/đích hoặc các thông tin tại lớp liên kết dữ liệu ngay tại mặt phẳng dữ liệu (data plane) của thiết bị chuyển mạch (switch) [1, 3]. Cơ chế này cho phép kiểm soát và giới hạn các nguồn phát sinh bản tin RA trong mạng LAN IPv6 [1].
RA Guard hoạt động bằng cách thực hiện kiểm tra sâu (deep packet inspection – DPI) các khung Ethernet có trường EtherType là 0x86DD (IPv6), sau đó nhận diện và phân tích các gói tin ICMPv6 loại 134 (ICMPv6 type 134 - Router Advertisement) [1, 3].
Dựa trên cấu hình, switch sẽ thực hiện phân loại và thực thi chính sách theo từng cổng [1, 3]: Các cổng được đánh dấu là cổng tin cậy (trusted ports), thường kết nối trực tiếp tới router hợp lệ, được phép chuyển tiếp các bản tin Router Advertisement (RA); ngược lại, các cổng không tin cậy (untrusted ports), thường kết nối tới thiết bị đầu cuối hoặc thiết bị không xác định, sẽ bị loại bỏ (drop) toàn bộ các gói tin RA nhằm ngăn chặn việc phát tán RA giả mạo.
Ở mức chi tiết hơn, một số triển khai RA Guard nâng cao còn cho phép kiểm tra thêm các trường trong RA như: Tùy chọn thông tin tiền tố (Prefix Information Option - PIO), Thời gian hiệu lực của bộ định tuyến (Router Lifetime), các cờ (Flags - Managed/Other Configuration flags) và tùy chọn đơn vị truyền tải tối đa (Maximum Transmission Unit - MTU option) [2,3]. Từ đó, hệ thống có thể phát hiện các bất thường như: quảng bá tiền tố không hợp lệ (prefix spoofing), thay đổi MTU nhằm gây phân mảnh (fragmentation) bất thường, hoặc điều chỉnh thời gian hiệu lực (lifetime manipulation) để thực hiện tấn công vào tuyến mặc định (default route attack) [2,7].
Mô phỏng và đánh giá cơ chế RA Guard
Cơ chế trên được xây dựng nhằm mô phỏng và đánh giá hiệu quả của cơ chế IPv6 RA Guard trong việc phòng chống tấn công giả mạo bản tin RA trong mạng LAN IPv6 [1,2]. Môi trường thí nghiệm được triển khai trên nền tảng GNS3, sử dụng dải địa chỉ IPv6 2001:db8:10:1::/64. Hệ thống gồm 4 thành phần chính (hình 3):
Thứ nhất, Router Cisco IOSv đóng vai trò router hợp lệ, được cấu hình địa chỉ 2001:db8:10:1::1/64 trên giao diện Gi0/0 và gửi RA [6].
Thứ hai, Switch lớp 2 Cisco IOSvL2 thực hiện chức năng chuyển mạch và triển khai RA Guard [1,3].
Thứ ba, máy Ubuntu Desktop 22.04 đóng vai trò host nạn nhân, nhận cấu hình IPv6 thông qua SLAAC [5].
Thứ tư, máy Kali Linux 2025.4 đóng vai trò attacker, thực hiện phát tán các RA giả mạo với tiền tố là 2002:abab:20:1::/64 [7, 8].

Kịch bản thí nghiệm được thực hiện theo các bước tuần tự. Ban đầu, router được cấu hình để gửi RA hợp lệ trong mạng [5, 6] (hình 4).

Host Ubuntu sẽ nhận RA, tự động cấu hình địa chỉ IPv6 toàn cầu và thiết lập default router, đảm bảo kết nối mạng hoạt động bình thường [5, 6] (hình 5).

Tiếp theo, từ máy Kali Linux, kẻ tấn công sử dụng công cụ chuyên dụng để phát tán các RA giả (có tiền tố là 2002:abab:20:1::/64) nhằm chiếm quyền định tuyến [7,8] (hình 6).

Khi đó, host có thể nhận RA giả và thay đổi default router sang attacker, dẫn đến nguy cơ tấn công xen giữa hoặc mất kết nối [7, 9] (hình 7).

Sau khi xác nhận hệ thống bị ảnh hưởng bởi tấn công, cơ chế RA Guard được cấu hình trên switch Cisco IOSvL2 [1, 3]. Cụ thể, các cổng kết nối với host và kẻ tấn công được đặt ở trạng thái không cho phép gửi RA (untrusted), trong khi cổng kết nối với router hợp lệ được đánh dấu là cho phép (trusted) [1, 3] (hình 8).

Sau khi triển khai RA Guard, kẻ tấn công tiếp tục phát tán RA giả. Kết quả cho thấy switch đã chặn các RA không hợp lệ, đảm bảo host chỉ nhận thông tin cấu hình từ router hợp lệ [1,2]. Nhờ đó, host duy trì đúng địa chỉ IPv6 và default gateway, và hệ thống hoạt động ổn định, không còn bị ảnh hưởng bởi tấn công [3].
Kết luận
Bài viết đã chứng minh trong môi trường IPv6 sử dụng cơ chế SLAAC, các host có thể dễ dàng bị ảnh hưởng bởi các bản tin RA giả mạo, do thiếu cơ chế xác thực trong NDP [4-6]. Việc triển khai RA Guard trên switch lớp 2 cho phép kiểm soát nguồn phát RA, chặn các bản tin không hợp lệ từ các cổng không tin cậy, qua đó đảm bảo host chỉ nhận thông tin cấu hình từ các router hợp lệ [1, 3].
Kết quả thực nghiệm cho thấy RA Guard là một giải pháp hiệu quả trong việc ngăn chặn các tấn công giả mạo RA, góp phần duy trì tính ổn định và an toàn của quá trình cấu hình IPv6 trong mạng LAN [1, 3, 4]. Tuy nhiên, cơ chế RA Guard truyền thống vẫn tồn tại một số hạn chế và có thể bị vượt qua thông qua các kỹ thuật như phân mảnh gói tin IPv6 hoặc khai thác tiêu đề mở rộng (extension header) [2, 7]. Do đó, để nâng cao mức độ bảo mật, cần kết hợp RA Guard với các cơ chế bảo vệ bổ sung nhằm xây dựng mô hình phòng thủ nhiều lớp cho mạng IPv6 [4, 9]./.
Tài liệu tham khảo
[1] IETF (2011), RFC 6105-IPv6 Router Advertisement Guard.
[2] IETF (2014), RFC 7113-Implementation Advice for IPv6 Router Advertisement Guard.
[3] Cisco Systems (2012), IPv6 First-Hop Security Configuration
Guide, Cisco Documentation.[4] S.E. Frankel, R. Graveman, J. Pearce, et al. (2010), Guidelines
for the Secure Deployment of IPv6, National Institute of Standards and Technology (NIST), DOI: 10.1109/TIFS.2017.2695983.[5] IETF (2007), RFC 4862-IPv6 Stateless Address Autoconfiguration.
[6] IETF (2007), RFC 4861-Neighbor Discovery for IP version 6
(IPv6).[7] Enno Rey (2011), IPv6 Security Part 2, RA Guard - Let’s get
practical.[8] THC-IPv6 Attack Toolkit Documentation (2013), Tools for RA
spoofing and IPv6 attacks.[9] Scott Hogg, Eric Vyncke (2008), IPv6 Security, Cisco
Press.