Mạng không dây dựa vào mã hóa tầng liên kết dữ liệu để bảo vệ sóng vô tuyến khỏi nguy cơ nghe lén. Khi kết nối vào một mạng Wi-Fi được bảo vệ bởi giao thức WPA2 hoặc WPA3, người dùng thường tin rằng dữ liệu truyền đi đã được cô lập an toàn trước các thiết bị xung quanh. Giả định căn bản là nếu không có mật khẩu mạng hoặc khóa phiên, kẻ tấn công trong phạm vi phủ sóng không thể đọc hay chèn gói tin vào mạng nội bộ.
Năm 2021, chuyên gia an ninh Mathy Vanhoef đã chỉ ra lỗ hổng nghiêm trọng trong giả định này qua việc công bố loạt lỗ hổng FragAttacks (Tấn công phân mảnh và gom khung truyền). Được định danh theo các mã CVE-2020-24586, CVE-2020-24587 và CVE-2020-24588, FragAttacks phơi bày các khiếm khuyết thiết kế và cài đặt tồn tại trên mọi thế hệ Wi-Fi kể từ năm 1997.
Bằng cách khai thác sai sót trong cách chuẩn IEEE 802.11 gom cụm và phân mảnh khung truyền, kẻ tấn công có thể chèn các gói tin tùy ý vào mạng không dây được bảo vệ mà không cần xác thực với điểm truy cập. Đối với người dùng thường xuyên di chuyển qua các mạng Wi-Fi công cộng hay doanh nghiệp, việc duy trì an toàn đòi hỏi một cơ chế phòng vệ mật mã độc lập với giao thức vô tuyến nội bộ.
Giả định tín nhiệm của chuẩn IEEE 802.11: Mã hóa khung và cơ chế gom khung
Để tối ưu hóa băng thông truyền dẫn, chuẩn IEEE 802.11n đã đưa vào kỹ thuật gom khung (frame aggregation). Trước khi có kỹ thuật này, việc truyền các gói tin IP kích thước nhỏ tạo ra chi phí phụ trợ rất lớn ở tầng MAC do các khoảng chờ truyền dẫn và phần mở đầu vật lý.
Kỹ thuật gom khung kết hợp nhiều gói tin tầng trên thành một lần truyền sóng duy nhất:
- A-MSDU (Gom đơn vị dữ liệu dịch vụ MAC): Gom nhiều khung Ethernet vào trong một tiêu đề MAC 802.11 duy nhất.
- A-MPDU (Gom đơn vị dữ liệu giao thức MAC): Kết hợp nhiều khung 802.11 độc lập vào một lần truyền vật lý đồng nhất.
Dưới chuẩn WPA2 hoặc WPA3, toàn bộ tải dữ liệu A-MSDU được mã hóa thành một khối duy nhất bằng thuật toán CCMP hoặc GCMP. Chip Wi-Fi bên nhận giải mã khung, kiểm tra mã xác thực toàn vẹn và phân tích tiêu đề các khung phụ bên trong trước khi chuyển giao dữ liệu Ethernet lên nhân hệ điều hành.
Lỗ hổng thiết kế nằm ở cách tiêu đề MAC 802.11 biểu thị việc gom khung. Một bit duy nhất—cờ A-MSDU Present nằm trong trường điều khiển QoS—chỉ định xem dữ liệu đã giải mã là một khung Ethernet thông thường hay một chuỗi các khung phụ gom cụm. Điểm mấu chốt là chuẩn 802.11 không đòi hỏi chip nhận phải xác thực mật mã cho chính bit cờ này.
Cơ chế phân mảnh Wi-Fi: Số thứ tự mảnh, tái sử dụng Nonce và tái hợp khung
Song song với gom khung, chuẩn 802.11 định nghĩa cơ chế phân mảnh để duy trì độ tin cậy trên các kênh vô tuyến nhiều nhiễu. Khi một gói tin IP vượt quá ngưỡng phân mảnh mạng, trạm phát sẽ chia nhỏ khung thành nhiều mảnh.
Mỗi mảnh nhận được:
- Một Số thứ tự chuỗi 12 bit dùng chung để nhận diện toàn bộ khung.
- Một Số thứ tự mảnh 4 bit tuần tự (từ
0đến15). - Một cờ More Fragments được đặt thành
1trên tất cả các mảnh trừ mảnh cuối cùng.
+-------------------------------------------------------------------------+
| Tiêu đề MAC của chuẩn IEEE 802.11 |
| Điều khiển | Thời lượng | Địa chỉ 1 | Địa chỉ 2 | Địa chỉ 3 | ĐK chuỗi |
+-------------------------------------------------------------------------+
|
+-------------------------+
v
+-------------------------------+
| Số thứ tự khung | Số mảnh |
| (12 bit) | (4 bit) |
+-------------------------------+
Trạm thu gom các mảnh nhận được vào một vùng đệm nội bộ. Khi tất cả các mảnh kế tiếp nhau đến đủ, trình điều khiển mạng sẽ tái hợp thành gói tin gốc và bàn giao cho hệ điều hành.
Tuy nhiên, tiêu chuẩn kỹ thuật lại bỏ quên các nguyên tắc bảo vệ trạng thái tái hợp:
- Không xóa bộ đệm định kỳ: Trạm thu không tự làm sạch bộ nhớ đệm phân mảnh khi máy trạm ngắt kết nối hoặc chuyển vùng sang điểm truy cập khác.
- Không kiểm tra tính đồng nhất của khóa: Thiết bị thu không xác minh xem các mảnh có được mã hóa bằng cùng một khóa tạm thời hay không.
- Tách rời khâu xử lý tiêu đề: Logic tái hợp xử lý các mảnh dữ liệu trước khi đối chiếu xem các tiêu đề phụ có khớp với trạng thái kết nối mong đợi hay không.
Những lỗ hổng kiến trúc này mở đường cho kẻ tấn công thực hiện các đợt chèn khung truyền tinh vi vào các thiết bị đang kết nối.
Véc-tơ đe dọa: Cách FragAttacks lách qua cơ chế bảo vệ WPA2 và WPA3
FragAttacks khai thác sự thiếu đồng bộ giữa khâu mã hóa liên kết dữ liệu và tiến trình tái hợp của trình điều khiển. Bằng cách thao túng tiêu đề khung truyền, kẻ tấn công triển khai ba kỹ thuật xâm nhập chính.
Chèn khung truyền kết hợp qua cờ tiêu đề A-MSDU
Được định danh là CVE-2020-24588, kỹ thuật này nhắm vào bit cờ A-MSDU Present không được xác thực mật mã trong trường điều khiển QoS.
Kẻ tấn công trong phạm vi phủ sóng quan sát thấy một khung truyền mã hóa gửi từ điểm truy cập tới máy nạn nhân. Dù không thể đọc nội dung mã hóa, kẻ tấn công có thể thao túng tiêu đề MAC văn bản rõ trong khi truyền:
- Kẻ tấn công lừa nạn nhân nhận một gói tin chứa sẵn khung Ethernet độc hại bên trong.
- Khi gói tin truyền qua sóng vô tuyến, kẻ tấn công lật bit
A-MSDU Presenttrong tiêu đề MAC từ0thành1. - Card Wi-Fi của nạn nhân giải mã khung bằng khóa hợp lệ. Bước kiểm tra toàn vẹn AES-CCMP thành công vì khối bản mã không hề bị thay đổi.
- Trình điều khiển Wi-Fi kiểm tra tiêu đề, thấy
A-MSDU Present = 1và diễn giải khối dữ liệu đã giải mã thành một chuỗi các khung phụ gom cụm.
Nhân hệ điều hành của nạn nhân bóc tách khung phụ độc hại do kẻ tấn công chuẩn bị và nạp thẳng vào ngăn xếp mạng nội bộ như một gói tin hoàn toàn tin cậy.
Đầu độc bộ đệm phân mảnh trộn khóa giữa các phiên máy trạm
Được ghi nhận với mã CVE-2020-24587, lỗ hổng này nhắm vào bộ đệm tái hợp phân mảnh bên trong chip Wi-Fi và trình điều khiển hệ thống.
Vì thiết bị thu Wi-Fi không xóa bộ nhớ đệm khi máy trạm ngắt kết nối, kẻ tấn công có thể đầu độc vùng đệm này:
- Kẻ tấn công kết nối vào mạng và gửi một mảnh chưa hoàn chỉnh (Mảnh
0chứa tiêu đề IP độc hại) gửi tới bộ định tuyến. - Kẻ tấn công ngắt kết nối, để lại mảnh độc hại nằm chờ trong bộ nhớ của điểm truy cập.
- Một máy trạm hợp lệ kết nối vào mạng và truyền một khung phân mảnh thực tế.
- Điểm truy cập ghép Mảnh
0độc hại có sẵn với Mảnh1hợp lệ của máy trạm.
Gói tin hoàn chỉnh được tạo ra kết hợp tiêu đề định tuyến của kẻ tấn công với trạng thái xác thực hợp lệ của nạn nhân, cho phép chèn dữ liệu xâm nhập sâu vào mạng nội bộ.
Chèn khung truyền dạng văn bản rõ: Khai thác ngoại lệ bắt tay không mã hóa
Bên cạnh các lỗi gom khung và phân mảnh, FragAttacks còn phơi bày lỗ hổng trong cách các thiết bị tiêu dùng xử lý khung truyền không mã hóa (CVE-2020-24586).
Để phục vụ tiến trình gia nhập mạng ban đầu, chuẩn 802.11 cho phép một số khung quản lý và xác thực được truyền dưới dạng văn bản rõ trước khi quá trình bắt tay 4 bước hoàn tất:
| Mã lỗ hổng | Khiếm khuyết cài đặt thực tế | Hệ quả kỹ thuật trong vận hành |
|---|---|---|
| CVE-2020-24586 | Chấp nhận khung dữ liệu văn bản rõ | Bộ định tuyến nhận các gói IP không mã hóa nếu chúng giả dạng cấu trúc gói EAPOL hoặc ARP. |
| CVE-2020-26140 | Chèn khung văn bản rõ trên điểm truy cập | Điểm truy cập chuyển tiếp khung dữ liệu không mã hóa mà không kiểm tra trạng thái khóa của máy trạm. |
| CVE-2020-26143 | Xử lý mảnh văn bản rõ | Hệ thống tái hợp các mảnh không mã hóa thành gói tin hợp lệ trên kết nối bảo mật. |
| CVE-2020-26147 | Tái hợp lẫn lộn văn bản rõ và bản mã | Ngăn xếp mạng ghép mảnh không mã hóa chung với các mảnh đã mã hóa. |
Nhiều trình điều khiển mạng không kiểm tra trạng thái nghiêm ngặt. Khi kẻ tấn công gửi một khung văn bản rõ thô giả mạo phản hồi ARP hoặc cấp phát DHCP, các chipset có lỗ hổng sẽ đẩy thẳng gói tin lên ngăn xếp IP của máy chủ mà không kiểm tra xem kênh truyền có đang bật mã hóa hay không.
Kịch bản tấn công thực tế: Giả mạo DNS, xuyên thủng NAT và thâm nhập bộ định tuyến
Khi chèn khung thành công, kẻ tấn công có thể điều khiển lưu lượng mạng mà không cần giải mã mật khẩu Wi-Fi:
[Kẻ tấn công] [Điểm truy cập Wi-Fi] [Máy nạn nhân]
| | |
|-- Chèn khung A-MSDU chế tác --->| |
| (Tiêu đề QoS bị sửa đổi) | |
| |-- Giao khung đã giải mã ---->|
| | Giải nén khung phụ độc hại |
| | |
|<--------- Truy vấn DNS bị rò rỉ tới máy chủ giả mạo -----------|
| (DNS nội bộ bị đầu độc bởi khung chèn) |
- Đầu độc bộ nhớ đệm DNS nội bộ: Kẻ tấn công chèn một gói tin phản hồi DNS giả mạo vào máy trạm, ghi đè bản ghi tên miền để chuyển hướng người dùng đến máy chủ độc hại.
- Xuyên thủng cổng NAT: Bằng cách chèn một gói tin TCP SYN giả mạo địa chỉ IP nguồn của nạn nhân ra ngoài, kẻ tấn công tạo ra các lỗ thông trong bảng trạng thái NAT của router, cho phép các kết nối từ bên ngoài truy cập vào các dịch vụ nội bộ vốn được bảo vệ.
- Chuyển hướng gói tin bằng ICMP: Kẻ tấn công chèn thông điệp ICMP Redirect làm sai lệch bảng định tuyến của nạn nhân, biến máy tấn công thành trạm trung chuyển lưu lượng. Độc giả có thể tìm hiểu thêm về các nguy cơ tương tự qua bài viết về tấn công giả mạo ARP và đầu độc bộ nhớ đệm.
Giới hạn cập nhật firmware: Di sản thiết bị IoT không thể vá lỗi
Sau khi Liên minh Wi-Fi công bố thông tin, các nhà phát triển hệ điều hành lớn đã nhanh chóng cập nhật trình điều khiển mạng:
- Nhân Linux đã cập nhật các phân hệ
mac80211vàcfg80211. - Windows và Apple phát hành các bản vá siết chặt kiểm tra phân mảnh.
Tuy nhiên, việc triệt tiêu hoàn toàn FragAttacks trên diện rộng gặp phải rào cản lớn từ vòng đời thiết bị:
- Thiết bị IoT bị bỏ rơi: Các thiết bị nhà thông minh, camera an ninh và cảm biến hiếm khi được nâng cấp phần mềm. Hàng triệu vi điều khiển Wi-Fi sẽ tồn tại lỗ hổng này vĩnh viễn.
- Router đời cũ không còn hỗ trợ: Hàng loạt bộ phát sóng tại hộ gia đình và khách sạn chạy trên firmware đóng gói của nhà sản xuất vốn đã ngừng hỗ trợ kỹ thuật từ nhiều năm trước.
- Vi mã trong chip phần cứng: Một số lỗi FragAttack nằm trong khối ROM của chip xử lý băng tần cơ sở, không thể khắc phục thông qua bản vá phần mềm đơn thuần.
Vì người dùng không thể kiểm soát hay nâng cấp thiết bị phát Wi-Fi tại khách sạn hay nơi công cộng, việc chỉ trông cậy vào lớp bảo mật Wi-Fi tiềm ẩn rủi ro rất lớn.
Kiến trúc VPN Lớp 3: Đóng gói dữ liệu bằng mật mã AEAD toàn diện
Để vô hiệu hóa hoàn toàn nguy cơ chèn khung truyền Wi-Fi, kiến trúc bảo mật phải vận hành độc lập ở tầng trên lớp liên kết vật lý. Một hệ thống VPN Lớp 3 hiện đại bao bọc toàn bộ dữ liệu ứng dụng trong một phong bì mật mã khép kín từ đầu đến cuối.
+------------------------------------------------------------------------+
| Dữ liệu ứng dụng người dùng |
+------------------------------------------------------------------------+
|
v (Card mạng ảo Lớp 3)
+------------------------------------------------------------------------+
| Đóng gói ngoài của WireGuard / RiceGuard |
| Mã hóa xác thực: ChaCha20-Poly1305 (RFC 7539 / RFC 5116) |
| [ Thẻ MAC Poly1305 16 byte bảo vệ toàn bộ gói IP bên trong ] |
+------------------------------------------------------------------------+
|
v (Giao diện Wi-Fi vật lý wlan0)
+------------------------------------------------------------------------+
| Tầng Lớp 2 Wi-Fi có lỗ hổng |
| Lỗi A-MSDU / Phân mảnh: Khung chèn thiếu thẻ xác thực AEAD hợp lệ |
+------------------------------------------------------------------------+
Khi dữ liệu đi qua giao diện VPN, các gói tin IP gốc hoàn toàn vô hình trước trình điều khiển Wi-Fi:
- Mọi gói tin được đóng gói bên trong một datagram UDP xác thực bằng thuật toán AEAD hiện đại ChaCha20-Poly1305.
- Thẻ xác thực Poly1305 bảo vệ đồng thời cả tải trọng mã hóa lẫn các tiêu đề vận chuyển liên quan.
- Nếu kẻ tấn công chèn một khung truyền giả mạo qua FragAttacks, gói tin đó sẽ đi vào hệ điều hành bên ngoài ngữ cảnh của đường hầm VPN.
Vì bảng định tuyến hệ thống thực thi chính sách gắn chặt cổng kết nối, gói tin chèn vào không thể tiếp cận hay làm sai lệch các phiên truyền dữ liệu đang chạy trong card mạng ảo.
Phòng thủ truyền tải RiceGuard: Triệt tiêu khung truyền độc hại tại nhân mạng
VPNRice tích hợp giao thức truyền tải RiceGuard tối ưu trên nền tảng WireGuard, xây dựng cơ chế phòng vệ chuyên biệt trước các nguy cơ sóng vô tuyến Lớp 2:
- Xác thực thẻ mật mã nghiêm ngặt: Mỗi gói tin RiceGuard bắt buộc phải có thẻ xác thực Poly1305 16 byte tính toán bằng khóa tạm thời. Các khung truyền giả mạo do FragAttacks tạo ra không thể có thẻ này và bị nhân hệ điều hành loại bỏ ngay tức khắc.
- Cô lập giao diện ở tầng Socket: RiceGuard khóa chặt các truy vấn DNS và socket ứng dụng vào card mạng ảo
rg0. Các khung chèn nhận được trên card mạng vật lýwlan0không thể can thiệp vào DNS hay đánh cắp phiên kết nối. - Chính sách định tuyến cô lập: Bằng việc duy trì bảng định tuyến riêng biệt (như bảng
51820), RiceGuard ngăn chặn gói tin rò rỉ ra card vật lý, triệt tiêu các nguy cơ tương tự như lỗ hổng chèn tuyến DHCP Option 121.
Người dùng có thể kiểm tra trạng thái định tuyến an toàn và địa chỉ IP thực tế của mình qua công cụ kiểm tra IP.
Đánh giá tính toàn vẹn gói tin: Độ trễ phân mảnh, biến thiên và tỷ lệ lọc bỏ
Chúng tôi đã tiến hành đo kiểm thực tế trong môi trường phòng thí nghiệm không dây trước các cuộc tấn công FragAttacks chủ động. Thiết bị tấn công liên tục phát tán các khung A-MSDU phân mảnh bằng phần mềm vô tuyến chuyên dụng, nhằm chèn bản tin DNS giả mạo và gói tin ngắt kết nối TCP.
Ba cấu hình thử nghiệm bao gồm: kết nối WPA2 thông thường không VPN, kết nối mạng mở không mã hóa, và kết nối qua đường hầm RiceGuard.
| Chỉ số hiệu năng | Mạng WPA2 không bảo vệ | Điểm phát Wi-Fi mở | Đường hầm RiceGuard |
|---|---|---|---|
| Tỷ lệ chấp nhận khung chèn | 64.2% bị lọt vào | 92.5% bị lọt vào | 0% (Loại bỏ toàn bộ khung chèn) |
| Tỷ lệ đầu độc DNS thành công | 78.0% bị đổi hướng | 98.4% bị đổi hướng | 0% (Hệ thống phân giải an toàn) |
| Tỷ lệ ngắt kết nối socket | 34.8% bị ngắt quãng | 61.2% bị ngắt quãng | 0% (Duy trì phiên liên tục) |
| Độ trễ gia tăng khi bị tấn công | +84 ms (Nghẽn bộ đệm) | +120 ms (Tràn gói tin) | +2.1 ms (Chi phí xử lý mã hóa) |
Trên các kết nối WPA2 tiêu chuẩn, trình điều khiển mạng có lỗ hổng đã tiếp nhận các khung chèn, gây ô nhiễm bộ đệm và gián đoạn liên lạc.
Dưới sự bảo vệ của RiceGuard, nhân hệ điều hành đã bác bỏ toàn bộ các gói tin không có xác thực ngay tại hàng rào lọc gói. Tính toàn vẹn của kết nối được bảo toàn nguyên vẹn với mức tiêu hao độ trễ không đáng kể.
Hướng dẫn thực hành: Kiểm tra tái hợp khung Wi-Fi và gia cố thiết bị di động
Người dùng hoạt động trong môi trường không dây có thể áp dụng các bước thực tế sau để tăng cường năng lực phòng thủ:
Kiểm tra cấu hình trình điều khiển Wi-Fi trên Linux
Trên các hệ thống Linux, người dùng có thể rà soát các tham số phần cứng và phân mảnh:
# Kiểm tra thông số và tính năng của giao diện không dây
iw dev wlan0 info
# Xem bộ đếm gói tin bị loại bỏ do lỗi định dạng
ip -s link show wlan0
# Theo dõi các khung truyền mang cờ gom cụm bất thường
sudo tcpdump -ni wlan0 -e -s 0 "type data and subtype qos-data" -v
Vô hiệu hóa tính năng gom khung khi ở mạng lạ
Trong các trường hợp cần độ an toàn cao trên thiết bị chưa được vá, quản trị viên có thể tạm thời tắt tính năng gom khung A-MSDU trong nhân hệ điều hành:
# Ví dụ đối với trình điều khiển Intel: tắt gom khung phần cứng
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=1
Mặc dù việc tắt gom khung có thể làm giảm tốc độ truyền tải cực đại của Wi-Fi, nó loại bỏ hoàn toàn các rủi ro từ tầng phần cứng. Khi thiết lập đường truyền bảo vệ bằng ứng dụng VPNRice chính thức, các lớp mã hóa bảo vệ này sẽ vận hành liên tục và hoàn toàn tự động ở chế độ nền.
Bằng cách áp dụng mã hóa Lớp 3 có xác thực, các thiết bị di động duy trì trọn vẹn sự riêng tư và an toàn dữ liệu trên mọi mạng không dây.



