Kỹ thuật tấn công mạng Wifi KRACK đã phá vỡ cơ chế bảo mật WPA2

01/11/2017

Krack là kỹ thuật tấn công đầu tiên trong vòng 15 năm qua bẻ gãy được cơ chế bảo mật WPA/WPA2, được cho là rất vững chãi. Và đây không phải chỉ là 1 kỹ thuật tấn công Wi-Fi đơn lẻ, mà là 1 bộ các lỗi bảo mật được phối hợp để hạ gục cơ chế bảo mật WPA.

Với kỹ thuật tấn công KRACK này, Hacker có thể giải mã kết nối Wi-Fi, xem được bạn đang truy cập trang web nào, đang chat với ai, vừa mới gõ mật khẩu đăng nhập vào trang nào, và dĩ nhiên là không thể bỏ qua mật khẩu quan trọng như ngân hàng, tài khoản tín dụng,...
Lỗi bảo mật này ảnh hưởng tới tất cả các thiết bị Wi-Fi hiện nay, kể từ khi chuẩn bảo mật WEP bị phá vỡ 10 năm trước thì đây là lần đầu tiên sau cả thập kỉ, người dùng Wi-Fi bị đe dọa an toàn 1 lần nữa.

1.jpg
Windows, Linux, Android, iOS, MacOS đều bị ảnh hưởng, tất cả các thiết bị thu phát sóng Wi-Fi đều bị ảnh hưởng, từ Router, Access Point, Modem Wifi tới tất cả các điện thoại di động, laptop, smartwatch. Wi-Fi của nhà bạn và công ty bạn cũng không còn an toàn để bạn thoải mái lướt net nữa. Mọi dữ liệu truyền qua Wi-Fi đều có thể bị giải mã và lấy cắp.
Hacker còn có thể "chèn" vào kết nối mạng Wi-Fi của bạn virus, trang đăng nhập giả ... Bạn sẽ bị điều khiển máy tính, điện thoại, bị nghe lén cuộc gọi, bị quay lén webcam, bị mất dữ liệu nhạy cảm và mọi thứ khác.


Quy trình xâm nhập và tấn công lổ hổng Wifi KRACK
Bước 1 thiết bị muốn truy cập WiFi (ví dụ như điện thoại, có thể gọi là Client) khi muốn truy cập tới router WiFi (có thể gọi là AP - Access Point) sẽ dò mạng và thấy sóng của router. Trong sóng phát thăm dò của router có mã ngẫu nhiên gọi là ANONCE, và điện thoại sẽ nhận lấy mã ANONCE.
Bước 2 Điện thoại lấy mã ANONCE rồi tính toán ra một mã ngẫu nhiên khác gọi là SNONCE và gửi cho router kèm một số thông tin được mã hóa kèm SNONCE về danh tính và cả mật khẩu Wi-Fi.
Bước 3 Router nhận được SNONCE thì sẽ biết được điện thoại gửi mật khẩu Wi-Fi đúng, từ đó router "hăm hở" gửi lại cho điện thoại mã khóa chung gọi là GTK (Group Temporal Key) để điện thoại dùng mã khóa này khi gửi thông tin cho router. Khi nhận được router sẽ biết mà giải mã.
Bước 4 Điện thoại nhận được GTK sẽ lưu lại (Installation) rồi mã hóa một tín hiệu ACK gửi lại cho router để báo hiệu đã nhận được khóa. Rồi từ đó 2 phía nói với nhau bằng cái mã khóa GTK đó.
Bình thường cơ chế này an toàn vì điện thoại nếu không nhận được mã khóa chung GTK ở bước 3 thì không có dữ liệu quan trọng gì được chuyển đi tiếp nữa cả, kết nối bị mất. Nhưng rồi lỗi xảy ra ở bước 3 khi có đối tượng hacker chen vào giữa bước 3 và 4, lúc đó router gửi mã GTK quan trọng cho điện thoại nhưng hacker đã có thể "chôm" mã GTK và giấu đi.
Và bình thường nếu giấu đi và điện thoại không nhận được GTK thì sẽ không có khóa để mã hóa dữ liệu ACK gửi đi nên coi như GTK không còn tác dụng gì. Nhưng điểm yếu bị phát hiện là khi router không thấy điện thoại nhận được GTK, sau một khoảng thời gian không thấy điện thoại phản hồi, thì lại gửi lại một cái GTK y-chang-như-cũ.
Vì thế đáng lẽ khóa mã hóa chỉ được dùng bởi chỉ một mình chiếc điện thoại nhưng bây giờ có tới 2 đầu mối có thể cùng dùng khóa trong cùng lúc, đó là chiếc điện thoại của chúng ta và hacker. Nhờ vậy hacker có thể giải mã mọi dữ liệu gửi qua lại.
Ngay cả khi đã giải mã được dữ liệu WiFi, kẻ tấn công cũng chưa nghiễm nhiên lấy được mật khẩu email Gmail, Facebook hay Yahoo!, hay nội dung chat Zalo, WhatsApp, Viber, vì những thông tin này đều đã được mã hóa bằng một chuẩn khác.

Linux và Android vì tuân theo 100% quy tắc thiết kế Wi-Fi nên dễ dàng bị hacker tận dụng và khai thác, trong khi đó Microsoft đã có chút biến tấu (không chấp nhận khóa chung thứ 2 khi Router gửi đến) nên đang an toàn.