Phát hiện lỗ hổng nghiêm trọng trong mạng Wi-Fi
Mới đây, chuyên gia bảo mật quốc tế Mathy Vanhoef đã phát hiện và công bố một lỗ hổng trong giao thức bảo mật mạng Wi-Fi WPA/WPA2. Qua đây, các chuyên gia an ninh mạng SecurityBox cũng đã phân tích và tổng hợp thông tin về lỗ hổng nghiêm trọng này. Lỗ hổng có thể bị khai thác bằng cách sử dụng ...
Mới đây, chuyên gia bảo mật quốc tế Mathy Vanhoef đã phát hiện và công bố một lỗ hổng trong giao thức bảo mật mạng Wi-Fi WPA/WPA2. Qua đây, các chuyên gia an ninh mạng SecurityBox cũng đã phân tích và tổng hợp thông tin về lỗ hổng nghiêm trọng này. Lỗ hổng có thể bị khai thác bằng cách sử dụng kĩ thuật tấn công KRACK (Key Reinstallation Attacks).
Khai thác lỗ hổng này, hacker có thể dễ dàng nghe lén, đọc trộm các thông tin cá nhân của người dùng mạng Wifi mà thậm chí không cần biết mật khẩu truy cập mạng Wifi đó. Lỗ hổng này đặc biệt nguy hiểm bởi nó tồn tại trong bản thân giao thức WPA/WPA2 chứ không phải trong mã nguồn triển khai giao thức. Chính vì vậy, hầu hết tất cả các thiết bị có hỗ trợ Wifi: bao gồm các thiết bị từ máy tính cá nhân, điện thoại di động, tới các thiết bị IoT, modem Internet, router Wifi… đều tồn tại lỗ hổng và đều có nguy cơ trở thành nạn nhân của phương thức tấn công mới này.
WPA/WPA2 và 4-way Handshake là gì?
Giao thức WPA/WPA2 (Wifi Protected Access/Wifi Protected Access II) là một giao thức bảo mật không dây được phát triển bởi tổ chức Wi-Fi Allience và được sử dụng trong hầu hết các thiết bị hỗ trợ Wifi ngày nay: bao gồm từ các router phát wifi tới các thiết bị thu nhận như Laptop, Smartphone… Giao thức này được phát triển để thay thế giao thức bảo mật WEP trước đó đã bị các hacker vượt qua, và đã trở nên không còn an toàn. WPA/WPA2 được đánh giá là một giao thức có độ an toàn, tính bảo mật cao, hầu như có rất ít kĩ thuật có thể tấn công được người sử dụng trong một mạng Wifi có sử dụng WPA/WPA2 từ bên ngoài mạng. Bởi vì khi sử dụng WPA/WPA2, mỗi phiên kết nối tới mạng Wifi của người dùng đều được mã hoá với một khoá mã khác nhau. Vì vậy hacker dù có bắt được gói tin được phát đi trong môi trường không dây cũng không thể nào giải mã hoặc tấn công replay được vì mỗi lần, dữ liệu được mã hoá bởi một khoá mã khác nhau, một nội dung mã hoá khác nhau.
Trong giao thức WPA/WPA2, một kết nối giữa người dùng (Client/Supplicant) với thiết bị phát Wifi (AP/Authenticator) được khởi tạo bởi một quá trình bắt tay 4 bước (4-way Handshake)
Quá trình này có thể hiểu đơn giản như sau:
- Ban đầu thiết bị phát wifi (AP) và thiết bị cần gia nhập (Client) đều đã được cài đặt sẵn mật khẩu bảo vệ mạng Wifi, Pre-Shared Key 256 bit (PSK), hay còn gọi là Pre-Shared Master Key (PMK). PMK được lưu trữ trên AP và Client, hoàn toàn không bị truyền đi trong quá trình xác thực truy cập mạng, khởi tạo kết nối. Quá trình 4-way Handshake được bắt đầu sau khi Client gửi yêu cầu gia nhập mạng tới AP.
- Bước 1: thiết bị AP sinh ra một chuỗi số ngẫu nhiên gọi là ANonce và gửi tới cho Client.
- Bước 2: Client cũng tự sinh ra một chuỗi số ngẫu nhiên, gọi là SNonce. Lúc này, phía Client sẽ sinh ra một Pairwise Temporal Key (PTK) dựa trên PMK, ANonce, SNonce, địa chỉ MAC của Client (AA), địa chỉ MAC của AP (SA).
PTK = function(PMK, ANonce, SNonce, AA, SA)
Lúc này, Client gửi cho AP bản tin chứa giá trị SNonce dưới dạng plain text. Đồng thời, Client sẽ sử dụng PTK vừa sinh ra để tính ra một mã băm từ SNonce gọi là Message Integrity Code (MIC) và gửi kèm trong bản tin gửi cho AP
- Bước 3: AP nhận được SNonce của Client. AP sử dụng thuật toán giống như phía Client để tính ra giá trị PTK. Nếu phía Client và AP có cùng PMK thì giá trị PTK tính ra sẽ giống nhau. Lúc này, AP sẽ sử dụng PTK vừa tính được để tính ra giá trị MIC từ SNonce, so sánh giá trị này với MIC nhận được từ Client. Nếu MIC khớp nhau, chứng tỏ cả Client và AP đều có cùng PMK, tức là Client này được phép truy cập vào mạng Wifi. Lúc này AP gửi cho Client bản tin cài đặt để Client sử dụng PTK làm khoá mã cho phiên truyền
- Bước 4: Client cài đặt khoá mã và gửi bản tin xác nhận lại cho AP. Quá trình 4-way Handshake kết thúc. Từ đây mọi bản tin mà Client và AP trao đổi với nhau sẽ được mã hoá với khoá mã vừa được cài đặt, khoá mã này chỉ có giá trị trong phiên truyền và được tính toán để hầu như không bao giờ bị sử dụng lại
Quá trình xác thực trong giao thức khá chặt chẽ, thông tin PMK hoàn toàn được giữ bí mật, không truyền đi trong quá trình xác thực. Vì vậy hacker rất khó có thể giải mã được PMK chỉ dựa vào những thông tin truyền đi. Và hầu hết các kĩ thuật tấn công Wifi hiện nay đều chỉ tập trung vào việc bắt lấy gói tin trong quá trình 4-way Handshake để biết được các tham số SNonce, ANonce, AA, SA, sau đó thực hiện dò giá trị PMK để cho ra kết quả phù hợp. Việc dò tìm này chỉ có thể hiệu quả nếu mật khẩu Wifi đơn giản, với những trường hợp mật khẩu Wifi phức tạp thì việc dò tìm là gần như không thể.
XEM THÊM: Lỗ hổng bảo mật thường gặp trong doanh nghiệp
Kĩ thuật tấn công KRACK thì hoàn toàn khác. Kĩ thuật này tấn công vào bước thứ 3 của quá trình 4-way Handshake. Và mục đích của kĩ thuật này là làm cho phía Client cài đặt lại một khoá mã đang được sử dụng. Khi Client sử dụng lại một khoá mã, thì các tham số sử dụng cho việc mã hoá như bộ đếm gói tin gửi, nhận sẽ bị reset lại giá trị khởi tạo ban đầu. Các giá trị này có ý nghĩa rất quan trọng trong việc bảo vệ dữ liệu người dùng, bởi bình thường chúng sẽ được thay đổi trong mỗi phiên kết nối Wifi, ngăn ngừa việc hacker thu thập và giải mã các gói tin, cũng như thực hiện tấn công replay. Vì vậy, việc các tham số này bị reset, tức là sử dụng cùng giá trị cho các phiên truyền khác nhau, dẫn tới tính an toàn của phiên truyền bị xâm hại nghiêm trọng.
Hacker có thể buộc người dùng cài đặt lại một khoá mã đang được sử dụng là do lợi dụng một điểm yếu trong thiết kế giao thức WPA/WPA2. Cụ thể, trong thiết kế giao thức, WPA/WPA2 tính tới trường hợp khi bản tin số 3 – bản tin cài đặt khoá mã gửi cho phía Client, có thể bị lỗi, bị mất, lúc này giao thức cho phép phía AP gửi lại bản tin số 3. Khi Client nhận được bản tin này thì sẽ thực hiện cài đặt như nhận được lần đầu. Lợi dụng điều này, hacker có thể xử lí bằng nhiều cách để tấn công KRACK đối với Client, ví dụ đánh chặn bản tin xác nhận đã cài đặt khoá mã từ phía Client gửi cho AP, để AP gửi lại bản tin cài đặt; hoặc chặn bản tin cài đặt và gửi lại tới Client…
Từ đó, hacker có thể thu thập được số lượng lớn các bản tin mã hoá có nội dung lặp lại/biết trước để tiến hành giải mã nội dung bản tin, đánh cắp các dữ liệu cá nhân của người dùng. Hoặc đơn giản hơn có thể thu thập bản tin và thực hiện tấn công replay. Ngoài ra, hacker còn có thể thực hiện tấn công hijack kết nối TCP, tiêm các dữ liệu độc hại vào các kết nối HTTP không được mã hoá của người dùng.
Tính đến hết ngày 18/10/2017 đã có rất nhiều các thiết bị bị ảnh hưởng bởi lỗ hổng bảo mật này. Xem danh sách các thiết bị chịu ảnh hưởng và đã được SecurityBox tổng hợp lại tại đây.
Tác động và cách khắc phục
Như đã đề cập, lỗ hổng này trong giao thức WPA/WPA2 có thể tồn tại ở hầu hết các thiết bị có hỗ trợ Wifi nếu thiết bị đó tuân theo đúng những gì giao thức WPA/WPA2 mô tả. Vì vậy, số lượng thiết bị bị ảnh hưởng bởi lỗ hổng này là rất lớn, trải rộng trên nhiều phiên bản hệ điều hành và các nhà cung cấp thiết bị khác nhau Linux, Android, iOS, MacOS, Windows, OpenBSD,…
Trong đó, bị ảnh hưởng đặc biệt nghiêm trọng là đối vợi các hệ thống Linux và các phiên bản Android từ 6.0 trở lên. Bởi vì các hệ thống này sử dụng wpa_supplicant, một thư viện Wifi client được sử dụng rất phổ biến trên Linux. Khi bị tấn công KRACK, thư viện này thay vì cài đặt lại khoá mã với các tham số bị reset, thì lại xoá sạch khoá mã, kết quả là phiên truyền sẽ sử dụng khoá mã với nội dung toàn bộ là 0, tức là không hề mã hoá. Điều này đặc biệt nguy hiểm, bởi lúc này hacker hoàn toàn có thể đánh chặn và can thiệp vào dữ liệu của người sử dụng mà hoàn toàn không cần tham gia vào mạng wifi.
Hiện các nhà cung cấp đã được thông báo về lỗ hổng này và sẽ sớm đưa ra các bản vá trong thời gian tới. Người dùng cần lưu ý và cài đặt bản vá càng sớm càng tốt để tránh các hậu quả đáng tiếc có thể xảy ra.
Các CVE liên quan
Lỗ hổng này được xác định với các CVE liên quan sau:
- CVE-2017-13077: Reinstallation of the pairwise encryption key (PTK-TK) in the 4-way handshake.
- CVE-2017-13078: Reinstallation of the group key (GTK) in the 4-way handshake.
- CVE-2017-13079: Reinstallation of the integrity group key (IGTK) in the 4-way handshake.
- CVE-2017-13080: Reinstallation of the group key (GTK) in the group key handshake.
- CVE-2017-13081: Reinstallation of the integrity group key (IGTK) in the group key handshake.
- CVE-2017-13082: Accepting a retransmitted Fast BSS Transition (FT) Reassociation Request and reinstalling the pairwise encryption key (PTK-TK) while processing it.
- CVE-2017-13084: Reinstallation of the STK key in the PeerKey handshake.
- CVE-2017-13086: reinstallation of the Tunneled Direct-Link Setup (TDLS) PeerKey (TPK) key in the TDLS handshake.
- CVE-2017-13087: reinstallation of the group key (GTK) when processing a Wireless Network Management (WNM) Sleep Mode Response frame.
- CVE-2017-13088: reinstallation of the integrity group key (IGTK) when processing a Wireless Network Management (WNM) Sleep Mode Response frame.
Video tấn công KRACK
Trong video này, Mathy Vanhoef đã thực hiện tấn công KRACK với đối tượng là thiết bị Android, hoặc Linux, bởi mức độ nghiêm trọng khi bị khai thác của lỗ hổng này trên các thiết bị Android và Linux là cao nhất.
Trong video, sau khi thực hiện tấn công KRACK thành công, Mathy Vanhoef có thể dễ dàng thực hiện tấn công Man-in-the-Middle, bắt toàn bộ lưu lượng truy cập của nạn nhân, sau đó thậm chí còn kết hợp với tấn công sslstrip để đánh cắp tài khoản của nạn nhân khi đăng nhập vào một trang web được bảo vệ bởi giao thức HTTPS.
Hiện tại, chưa có bất cứ thông tin thiệt hại nào do hacker sử dụng phương thức tấn công này gây ra. Cũng chưa công bố mã nguồn khai thác lỗ hổng này để cho các nhà cung cấp có thêm thời gian tung ra các bản vá lỗi. Tuy nhiên, Chuyên gia An ninh mạng SecurityBox cũng cảnh báo người dùng cần phải hết sức cẩn trọng khi sử dụng mạng Wifi để truy cập các nội dung nhạy cảm như tài khoản email, ngân hàng,… đặc biệt là khi sử dụng các mạng Wifi công cộng để tránh trở thành nạn nhân của kiểu tấn công mới này. Đồng thời, người dùng cần nâng cao nhận thức về vấn đề an ninh mạng, thường xuyên cập nhật tin tức về tình hình an ninh mạng, cũng như cập nhật các bản vá, cập nhật bảo mật cho các thiết bị sử dụng hàng ngày của mình. Thông tin về lỗ hổng này đã được SecurityBox cập nhật trên hệ thống để cảnh báo và bảo vệ tất cả các khách hàng đã và đang sử dụng sản phẩm và dịch vụ của SecurityBox.
XEM NHIỀU NHẤT: 4 Lỗ hổng bảo mật điển hình trong thương mại điện tử và giải pháp
Qua đây, SecurityBox cũng thông báo tới các đơn vị, tổ chức, doanh nghiệp cần kiểm tra, đánh giá lại hệ thống Wifi của đơn vị mình để kịp thời vá lỗ hổng trong thời gian sớm nhất nhằm hạn chế tối đa các nguy cơ Hacker khai thác lỗ hổng tấn công trực tiếp vào hệ thống.
Hoặc liên hệ ngay với các Chuyên gia An ninh mạng tại SecurityBox để hỗ trợ và khắc phục ngay lập tức.
Thông tin liên hệ:
Công ty cổ phần An toàn thông tin MVS – SecurityBox
Địa chỉ: Tầng 9, Tòa nhà Bạch Dương, Số 459 Đội Cấn, Ba Đình, Hà Nội
Hotline:(+84)982 593 866 (Mr.Cường)
Email: info@securitybox.vn
(Tham khảo https://www.krackattacks.com/)