Quản trị mạng - WPA2, được biết đến với tư cách giao thức bảo mật Wi-Fi vững chắc nhất, được sử dụng rộng rãi bởi các doanh nghiệp để việc bảo mật các mạng Wi-Fi của họ. Tuy nhiên gần đây các nhà nghiên cứu tại AirTight đã tuyên bố rằng có một lỗ hổng bảo mật mang tên “lỗ hổng 196” trong giao thức bảo mật WPA2 có thể phơi bày các mạng Wi-Fi được bảo mật theo chuẩn WPA2 trước những kẻ xâm nhập ác ý bên trong.
Lỗ hổng 196 là gì?
“Lỗ hổng 196” là một lỗ hổng trong giao thức bảo mật WPA2, lỗ hổng này làm phơi bày các mạng Wi-Fi được bảo mật WPA2 trước những kẻ tấn công bên trong.
Vấn đề cơ bản đối với lỗ hổng này là group temporal key (GTK), tạm được dịch là khóa dùng chung tạm thời, được chia sẻ giữa tất cả các máy khách được cấp quyền trong một mạng WPA2. AP sẽ phát lưu lượng dữ liệu định địa chỉ nhóm được mã hóa bằng GTK còn các máy khách sẽ sử dụng GTK để giải mã lưu lượng đó. Mặc dù vậy không gì có thể ngăn chặn một máy khách được cấp quyền trong việc tiêm nhiễm các gói được mã hóa GTK giả mạo! Bằng cách khai thác lỗ hổng này, kẻ tấn công bên trong (người dùng được cấp quyền) có thể đánh hơi và giải mã dữ liệu của các người dùng khác cũng như có thể quét lỗ hổng trên các thiết bị Wi-Fi của họ, cài đặt malware hay thỏa hiệp các thiết bị đó.
Nói một cách ngắn gọn, lỗ hổng này làm mất đi sự riêng tư đối với dữ liệu liên người dùng giữa những người dùng được cấp quyền trong mạng không dây sử dụng bảo mật WPA2.
Dưới đây là một số câu hỏi và trả lời giúp các bạn có thể hiểu sâu hơn về lỗ hổng bảo mật này:
Lỗ hổng này chỉ có thể bị khai thác bởi người dùng bên trong hay người dùng bên ngoài cũng có thể hack một mạng WPA2 bằng cách lợi dụng lỗ hổng 196?
Để khai thác lỗ hổng 196, người dùng ác ý cần biết khóa chia sẻ chung GTK được chia sẻ bởi các người dùng được cấp quyền trong mạng không dây đó. Vì vậy chỉ có người dùng bên trong của mạng WPA2 với quyền truy cập GTK này mới có thể khai thác lỗ hổng.
Nếu lỗ hổng 196 chỉ có thể bị khai thác bởi người dùng bên trong, vậy chúng ta có phải lo lắng về điều nó?
Các báo cáo đã thể hiện thống nhất rằng các tấn công bên trong là mối đe dọa điển hình nhất và tai hại nhất đối với dữ liệu doanh nghiệp và bảo mật mạng.
Nếu tổ chức của bạn nhạy cảm với các mối đe dọa đến từ bên trong và bạn đang thực hiện một số biện pháp để hạn chế các tấn công này trong mạng chạy dây thì lỗ hổng 196 là một lỗ hổng nguy hiểm đối vì nó có thể làm rò rỉ các dữ liệu nhạy cảm (chẳng hạn như tài sản trí tuệ, các bí mật thương mại, thông tin tài chính), hoạt động gián điệp, truy cập không được cấp quyền đối với tài nguyên CNTT, trộm nhận dạng,…
Lỗ hổng 196 cho phép hay có liên lụy đến việc crack khóa mã hóa WPA2?
Không! Việc khai thác lỗ hổng 196 không liên quan đến việc crack khóa mã hóa. Nó không phải một tấn công mã hóa AES hay nhận thực 802.1x (hoặc PSK).
Người dùng ác ý có tăng truy cập vào các khóa riêng, tức khóa PTK của người dùng được cấp quyền khác trong mạng WPA2 hay không?
Câu trả lời là không. Người dùng ác ý bên trong không thể tăng truy cập vào các khóa riêng PTK của những người dùng Wi-Fi được cấp quyền khác trong mạng WPA2.
Vậy theo cách nào đó người bên trong có thể khai thác lỗ hổng 196 này?
Việc tìm kiếm cho thấy rằng một kẻ ác tâm bên trong có thể khai thác lỗ hổng 196 này theo ba cách:
- Cho tấn công ARP poisoning và man-in-the-middle;
- Tiêm mã độc vào các thiết bị Wi-Fi được cấp quyền khác;
- Khởi chạy tấn công DoS mà không cần sử dụng các frame hủy kết nối.
Trong một mạng WPA2, kẻ ác tâm có thể quảng bá các gói dữ liệu giả mạo được mã hóa bằng khóa chia sẻ chung GTK trực tiếp đến các máy khách Wi-Fi được cấp quyền khá trong mạng. Một ví dụ để chứng tỏ khai thác này có thể được khởi chạy bằng cách sử dụng GTK là tấn công ARP poisoning (man-in-the-middle).
Trong khai thác ARP poisoning, kẻ tấn công bên trong có thể tích hợp một thông báo ARP Request vào bên trong gói mã hóa GTK. ARP Request có địa chỉ IP của gateway thực, nhưng thực sự là địa chỉ MAC của máy tính của kẻ tấn công. Tất cả máy khách nhận được thông báo này sẽ cập nhật bảng ARP của chúng – bản đồ hóa địa chỉ MAC của kẻ tấn công với địa chỉ IP của gateway.
Tất cả các máy khách Wi-Fi bị đầu độc sẽ gửi tất cả lưu lượng của chúng, lưu lượng được mã hóa bằng khóa riêng tương ứng (PTK) của chúng, nhưng với địa chỉ MAC của kẻ tấn công là đích đến. AP sẽ giải mã lưu lượng và chuyển tiếp nó đến kẻ tấn công, lúc này kẻ tấn công có thể giải mã nó bằng cách sử dụng PTK của mình. Do tất cả lưu lượng sẽ tập trung đến kẻ tấn công (từ AP) được mã hóa với PTK của kẻ tấn công, nên kẻ tấn công có thể giải mã lưu lượng này (gồm có các thông tin đăng nhập, email và dữ liệu nhạy cảm khác).
Kẻ tấn công sau đó có thể chuyển tiếp lưu lượng đến một gateway thực của mạng để các máy khách Wi-Fi nạn nhân không phát hiện thấy hành vi bất thường nào và tiếp tục quá trình truyền thông của chúng.
ARP spoofing (và man-in-the middle) trước đây đã có trong mạng Ethernet hoặc thậm chí trong một mạng WPA2 thông qua AP. Vậy điểm mới ở đây là gì?
ARP Spoofing (và man-in-the-middle) là kiểu tấn công trong cả hai mạng Wi-Fi và mạng chạy dây. Mặc dù vậy, trong cách khởi chạy tấn công cũ này, AP chuyển tiếp các thông báo ARP bị giả mạo trên mạng không dây cũng như mạng chạy dây. Các thông báo trên mạng chạy dây ở trạng thái sáng sủa (không bị mã hóa). Bảo mật mạng chạy dây đã tiến hóa qua nhiều năm về điểm này bằng các IDS/IPS và thậm chí một số switch mạng có thể bắt và khóa tấn công này trên mạng chạy dây.
Một điểm nhỏ (mà nhiều người có thể chưa biết) về việc khai thác GTK trong WPA2 để khởi chạy tấn công ARP Spoofing là dấu vết của tấn công chỉ trong không khí và tải trọng được mã hóa. Vì vậy giải pháp bảo mật cho mạng chạy dây sẽ không thể áp dụng cho mạng WPA2, không tồn tại các AP có thể thấy hành vi bất thường nào.
Lưu ý rằng việc giả mạo ARP chỉ là một ví dụ về khai thác lỗ hổng này. Có thể sẽ còn có nhiều tấn công phức tạp khác.
Lỗ hổng này có thể bị khai thác trong thực tiễn?
Không giống như lỗ hổng WPA-TKIP phần lớn chỉ mang tính lý thuyết, lỗ hổng 196 này có thể bị khai thác trong thực tế bằng cách sử dụng phần mềm mã nguồn mở chẳng hạn như madwifi driver và wpa supplicant, và bổ sung thêm 10 dòng mã. Tấn công man-in-the-middle bằng cách sử dụng ARP spoofing. Các tấn công khác chẳng hạn như quét cổng, khai thác các lỗ hổng trong các ứng dụng và hệ điều hành, tiêm mã độc, thay đổi DNS, từ chối dịch vụ,… đều có thể thực hiện bằng cách lạm dụng GTK.
Tất cả thực thi bổ sung WPA và WPA2 đều bị hổng đối với tấn công này?
Quả thực như vậy! Lỗ hổng 196 là một lỗ hổng mang tính nền tảng trong thiết kế giao thức. Tất cả các mạng không dây sử dụng WPA hoặc WPA2, không cần quan tâm đến sự nhận thực và mã hóa mà chúng sử dụng đều có lỗ hổng.
Kiến trúc WLAN đang sử dụng các AP độc lập và sử dụng các bộ điều khiển WLAN có chịu tác động của lỗ hổng này?
Lỗ hổng này là cơ bản đối với thiết kế giao thức WPA/WPA2. Vì vậy miễn là kiến trúc WLAN (AP độc lập hoặc dựa trên bộ điều khiển) tuân theo chuẩn đều chịu lỗ hổng 196 này.
Liệu sẽ có một bản vá trong chuẩn giao thức 802.11 để chúng ta có thể thực thi qua nâng cấp phần mềm để bảo vệ bản thân trước lỗ hổng này?
Không giống như trường hợp các lỗ hổng trước đây trong các giao thức nhận thực và mã hóa Wi-Fi, không có bản vá nào trong chuẩn 802.11 để có thể được sử dụng để vá lỗ hổng này.
Chúng ta có thể sử dụng tính năng cách ly máy khách (hoặc PSPF) trên cơ sở hạ tầng WLAN để bảo vệ mình trước lỗ hổng 196?
Sự cách ly máy khách không nằm trong chuẩn 802.11, tuy nhiên tính năng này có sẵn trên một số AP và bộ điều khiển WLAN. Việc thực thi tính năng này phụ thuộc vào các hãng khác nhau.
Sử dụng năng cách ly máy khách (hay PSPF) trên AP hoặc WLAN controller có thể ngăn chặn hai máy khách Wi-Fi được liên kết với một AP truyền thông với nhau thông qua AP. Điều này có nghĩa rằng kẻ tấn công bên trong có thể liên tục gửi gói dữ liệu mã hóa GTK giả mạo trực tiếp đến các máy khách khác trong mạng, nhưng lưu lượng dữ liệu từ các máy khách nạn nhân sẽ không được chuyển tiếp bởi AP đến thiết bị không dây của kẻ tấn công.
Mặc dù vậy kẻ tấn công vẫn có thể vòng tránh tính năng cách ly máy khách này bằng cách thiết lập một gateway giả mạo trên mạng chạy dậy, giả mạo ARP cache trên các thiết bị không dây được cấp phép bằng GTK và chuyển hướng tất cả dữ liệu đến gateway giả mạo thay vì hướng chúng đến thiết bị không dây của người ấy. Thêm vào đó, các tấn công khác chẳng hạn như tiêm nhiễm mã độc, quét cổng, từ chối dịch vụ,… vẫn có thể xảy ra bằng cách sử dụng bước đầu tiên (gửi các gói dữ liệu mã hóa GTK).
Có gì chúng ta có thể cài đặt trên laptop để bảo vệ chống lại lỗ hổng này?
Phần mềm (chẳng hạn như Snort hoặc DecaffeintID) có thể được cài đặt trên một số laptop Windows và Linux để phát hiện sự giả mạo ARP, tuy nhiên vấn đề này tỏ ra không thực tế đối với việc cài đặt một cách thủ công trên số lượng lớn máy tính. Thêm vào đó, phần mềm không được hỗ trợ trên hầu hết các thiết bị như (iPhone, iPad, Blackberry, Windows Mobile, Windows 7,...) nên sẽ vẫn bị rủi ro với lỗ hổng 196. Các phần mềm này cũng không thể ngăn chặn kẻ ác tâm khởi chạy các tấn công dựa vào lỗ hổng 196 này như tiêm nhiễm malware, quét cổng, từ chối dịch vụ,…
Giải pháp giống như bộ phát hiện IDS/IPS hoặc ARP Poisoning trong LAN switch có thể phát hiện ra tấn công này?
Dấu vết của các tấn công dựa trên lỗ hổng 196 này bị hạn chế trong không khí, điều đó làm chúng trở thành các tấn công khó phát hiện nhất được biết đến. Kết quả là không giải pháp bảo mật chạy dây nào (IDS/IPS, firewall, hoặc bộ phát hiện ARP Poisoning) có thể phát hiện các tấn công này.
Hệ thống phát hiện xâm nhập không dây (WIPS) có thể phát hiện tấn công này?
Hệ thống ngăn chặn xâm nhập không dây (WIPS) có thể phát hiện các tấn công khai thác lỗ hổng 196 này và cung cấp thêm lớp bảo mật để bảo vệ các mạng doanh nghiệp trong việc chống lại các mối đe dọa không dây như các AP giả mạo, các ứng xử xấu của các máy khách không dây, lỗi cấu hình của kiến trúc WLAN, các lỗ hổng trong các giao thức bảo mật Wi-Fi.
Các hãng WLAN AP có thể tạo bản vá để vá lỗ hổng trong khi vẫn duy trì được khả năng phối hợp?
Các hãng WLAN AP có thể chống lỗ hổng 196 bằng cách ngăn chặn sử dụng khóa chia sẻ chung (GTK). Trong hầu hết các kiến trúc WLAN có bộ điều khiển ngày nay, chúng ta đều có thể tắt lưu lượng quảng bá từ các AP trên không khí và thay vào đó là sử dụng bộ điều khiển WLAN controller làm ARP proxy. Nói theo cách khác, trong cấu hình này, GTK không được sử dụng.
Tuy nhiên theo chuẩn giao thức WPA2 hiện hành, một GTK cần phải được gán bởi AP cho mỗi máy khách trong suốt quá trình bắt tay. Hãng AP có thể thực thi bản vá cho phần mềm AP của họ để gán một GTK được tạo ngẫu nhiên, duy nhất cho mỗi máy khách thay vì chia sẻ cùng một GTK giữa tất cả các máy khách với nhau. Sử dụng các GTK duy nhất sẽ trung tính được lỗ hổng 196 và cho phép khả năng cộng tác (tương thích ngược) với tất cả các thiết bị khách không dây chuẩn.
Trong khi ARP proxy vắng mặt, một AP có thể gửi lưu lượng quảng bá unicast qua không khí đến các máy khách cá nhân, quá trình này sẽ giáng chức thông lượng dữ liệu WLAN phụ thuộc vào số lượng lưu lượng quảng bá.
Phương pháp phản đối sử dụng một GTK chia sẻ chung này có thể được chấp thuận trong chuẩn IEEE 802.11 và chỉ PTK có thể được sử dụng.