Các phương pháp bẻ khóa mật khẩu Wifi

17:31 | 18/01/2023
Nguyễn Hoàng Thông , Phan Trọng Duy (Phòng Thí nghiệm trọng điểm An toàn thông tin) , Bộ tư lệnh 86)

Ngày nay, mạng không dây đang trở nên phổ biến trong các tổ chức, doanh nghiệp và cá nhân. Sự ra đời, phát triển và cải tiến không ngừng của mạng Wifi đã giải quyết được những hạn chế trước đó của mạng có dây truyền thống. Tuy nhiên, công nghệ mạng Wifi vẫn còn tồn tại những điểm yếu liên quan đến tính bảo mật và an toàn thông tin (ATTT). Do tính chất môi trường truyền dẫn vô tuyến nên mạng Wifi rất dễ bị rò rỉ thông tin do tác động của môi trường bên ngoài, đặc biệt là sự tấn công từ các tin tặc.

TỔNG QUAN VỀ WIFI

Công nghệ Wifi được phát triển dựa trên chuẩn IEEE 802.11, được tạo ra và duy trì bởi Ban Tiêu chuẩn LAN/MAN IEEE 802 (LMSC) của Viện Kỹ sư Điện và Điện tử (IEEE). LMSC đã được chỉ định bộ định danh 802 nên mỗi chuẩn được quyết định bởi tổ chức này sẽ bắt đầu với bộ định danh 802. IEEE 802.11 là tập hợp các tiêu chuẩn của tổ chức IEEE bao gồm các đặc tả kỹ thuật liên quan đến hệ thống mạng không dây, hay nói cách khác là có liên quan đến sự điều biến trong không gian.

CÁC HÌNH THỨC TẤN CÔNG MẠNG WIFI

Tấn công bị động

Tấn công bị động giống như một cuộc nghe trộm mà không phát hiện được sự có mặt của tin tặc trên hoặc gần mạng, khi tin tặc không cần sự kết nối tới điểm truy cập để lắng nghe các gói tin truyền qua phân đoạn mạng không dây. Những thiết bị phân tích mạng hoặc những ứng dụng khác được sử dụng để thu thập thông tin của mạng không dây từ một khoảng cách nhất định.

Có những ứng dụng có khả năng thu thập mật khẩu từ các giao thức truyền tải siêu văn bản (HTTP), thư điện tử, các dịch vụ nhắn tin, trao đổi trực tuyến, các giao thức truyền tải tập tin (FTP), các phiên đăng nhập từ xa (telnet) mà được gửi dưới dạng văn bản không được mã hóa. Đồng thời, cũng có những ứng dụng khác có thể thu thập mật khẩu trên những phân đoạn mạng không dây giữa client và server cho mục đích truy cập mạng.

Tấn công chủ động

Tấn công chủ động là phương thức được tin tặc thực hiện để tìm cách truy cập tới một máy chủ nhằm đánh cắp những dữ liệu quan trọng, sử dụng sự truy cập tới mạng Internet của các tổ chức cho những mục đích xấu, thậm chí thay đổi cấu hình cơ sở hạ tầng mạng. Bằng cách kết nối tới một mạng WLAN thông qua một điểm truy cập, tin tặc có thể thâm nhập sâu hơn vào trong mạng, thậm chí làm thay đổi chính mạng không dây đó.

Tấn công chèn ép (Jamming Attack)

Tấn công theo kiểu chèn ép là một kỹ thuật mà tin tặc dùng mọi cách, mọi thiết bị để phá hoại mạng của người sử dụng. Tương tự như việc tin tặc tấn công từ chối dịch vụ nhằm vào máy chủ của Web, vì vậy một mạng không dây có thể ngừng làm việc bởi một tín hiệu phổ tần số vô tuyến (RF). Tín hiệu tần số vô tuyến đó có thể vô tình hoặc cố ý, và tín hiệu có thể di chuyển hoặc cố định. Tin tặc dùng một máy phát tín hiệu phổ RF công suất cao hoặc máy tạo sóng quét làm nghẽn tín hiệu của điểm truy cập.

Tấn công xen giữa (Man in the middle)

Đây là hình thức tấn công mà tin tặc nằm giữa trên đường kết nối với vai trò là máy trung gian trong việc trao đổi giữa hai máy tính, hai thiết bị hay giữa một máy tính và máy chủ, nhằm mục đích nghe lén dữ liệu nhạy cảm, đánh cắp thông tin hoặc thay đổi luồng dữ liệu trao đổi giữa các nạn nhân.

Trong kiểu tấn công này, một cá nhân sẽ sử dụng một điểm truy cập để chiếm đoạt sự điều khiển của một nút di động bằng cách gửi những tín hiệu mạnh hơn, những tín hiệu hợp pháp mà điểm truy cập đang gửi tới những nút đó. Sau đó nút di dộng kết hợp với điểm truy cập trái phép để gửi các dữ liệu của người xâm nhập, có thể là các thông tin nhạy cảm.

GIAO THỨC BẢO MẬT CỦA MẠNG WIFI VÀ PHƯƠNG PHÁP TẤN CÔNG

Giao thức WEP

WEP (Wired Equivalent Privacy) là thuật toán mã hóa sử dụng quá trình chứng thực qua khóa chia sẻ cho việc chứng thực người dùng và để mã hóa phần dữ liệu truyền trên những phân đoạn mạng LAN không dây được thiết kế để đảm bảo tính bảo mật cho mạng không dây đạt mức độ như mạng cáp truyền thống. WEP sử dụng bộ phát một chuỗi mã ngẫu nhiên PRNG (Pseudo Random Number Generator) và thuật toán mã hóa dòng RC4 với một véc-tơ khởi tạo IV (Initialization Vector) có thể thay đổi được và một khóa K không thay đổi, được gán trước trong các client và các điểm truy cập.

Đối với phương pháp tấn công WEP, cần thu thập những thông tin về điểm truy cập mục tiêu, thông tin về client kết nối với điểm truy cập và bắt được một số gói tin từ điểm truy cập.

WEP là loại mã hóa cũ nhất và có thể bẻ khóa dễ dàng nhất. WEP sử dụng thuật toán mã hóa RC4 cho mỗi gói tin, mã hóa tại điểm truy cập và giải mã tại client. WEP đảm bảo rằng mỗi gói tin sẽ có một khóa duy nhất được tạo và 24-bit IV (được sử dụng để tránh lặp lại trong quá trình mã hóa dữ liệu, không cho tin tặc tấn công sử dụng từ điển để giải mã thông điệp mã hóa, một IV ngẫu nhiên được sử dụng kết hợp với một khóa bí mật để mã hóa dữ liệu). Ý tưởng là bắt được một số lượng gói tin đủ lớn để chắc chắn rằng có 2 gói tin có cùng IV, từ 2 gói tin này có thể sử dụng để tấn công và lấy khóa.

Trong trường hợp điểm truy cập không có client kết nối, hoặc có kết nối nhưng không sử dụng dữ liệu thì sẽ không bắt được các gói tin, từ đó không thể bẻ khóa. Cần đưa các gói tin vào trong traffic mạng để tạo ra các IV mới và lặp lại quá trình bắt các gói tin cũng như tìm các IV trùng lặp, vì thế cần sử dụng xác thực giả (fake authentication) với điểm truy cập mục tiêu.

Giao thức WPA/WPA2

WPA (Wifi Protected Access) là một tiêu chuẩn để thay thế cho WEP, WPA sử dụng mã hóa 256-bit giúp tăng tính bảo mật lên rất nhiều so với 64-bit và 128-bit của WEP. Trong khi đó, WPA2 là một chuẩn ra đời sau WPA, WPA2 cũng có cấp độ bảo mật rất cao tương tự như chuẩn WPA, nhưng trên thực tế giao thức này cung cấp hệ thống mã hóa mạnh hơn WPA, WPA2 sử dụng rất nhiều thuật toán để mã hóa dữ liệu như TKIP, RC4, AES và một vài thuật toán khác.

Giao thức WPA/WPA2 Personal

Nếu sử dụng giao thức WPA/WPA2 Personal, trong trường hợp router không sử dụng WPS, thứ duy nhất chứa thông tin để có thể tìm được key đó là các gói tin trong quá trình bắt tay. Có tổng cộng 4 gói tin được gửi khi một thiết bị hoặc một client kết nối với điểm truy cập để xác thực thiết bị với điểm truy cập.

Bắt tay 4 bước được phân tích cú pháp để lấy địa chỉ SP và STA, các nonces AP và STA, EAPOL và MIC từ khung thứ 4. Mật khẩu được tạo ra để tính toán PMK (Pairwise master key). PTK được tính toán từ PMK, AP, địa chỉ STA và nonces. KCK được tính toán so sánh với MIC, nếu khớp thì đó là mật khẩu chính xác.

Riêng với tấn công WPA/WPA2 Personal, cần sử dụng wordlist để thử từng mật khẩu trong các bước bắt tay. Để có thể bắt được 4 bước bắt tay, phải có một thiết bị kết nối với điểm truy cập, tấn công ngắt kết nối thiết bị đó với điểm truy cập trong một thời gian rất ngắn, thiết bị sẽ tự động kết nối lại với điểm truy cập và người dùng không thể phát hiện.

Bên cạnh bắt các bước bắt tay, cần có một từ điển để xác định khóa của điểm truy cập, ghép cặp từng mật khẩu với tên AP của mục tiêu để tìm PMK, PMK được tạo ra sử dụng thuật toán PBKDF2.

Với WPA/WPA2 Enterprise

WPA Enterprise thường được sử dụng cho một mạng rộng lớn. Ý tưởng là mỗi người dùng muốn kết nối vào mạng cần có username và password của riêng họ, không có share key. Phương pháp này bảo mật hơn và có nhiều thuận lợi vì mỗi người dùng có một key duy nhất, vì thế traffic của họ sẽ được mã hóa sử dụng duy nhất key đó và nó tiện hơn vì nếu muốn từ chối một người dùng cụ thể đang kết nối thì không cần phải thay đổi password, chỉ cần xóa password trên server xác thực.

Cách thức tấn công đối với WPA/WPA2 Enterprise khác với WPA/WPA2 Personal, không thể sử dụng wordlist và bắt các bước bắt tay. Bởi vậy, để bẻ khóa được mật khẩu, cần giả mạo một AP mới để người dùng đăng nhập vào (một phương pháp của kiểu tấn công Man in the middle). Evil-twin là một phương pháp điển hình của kiểu tấn công này, nó sẽ tạo một AP mới sử dụng WPA Enterprise giống AP mục tiêu cũng sử dụng WPA Enterprise, khi người dùng kết nối, họ sẽ thấy login box và system login box, khi người dùng nhập thông tin đăng nhập, chắc chắn mật khẩu sẽ được capture lại bằng cách chạy Radius server (server trung tâm để xác thực).

Khi một client cố gắng kết nối với router sử dụng WPA Enterprise, điều này được quản lý thông qua Radius server. Client gửi một request muốn kết nối tới server, và server chấp nhận, gửi lại challenge cho client, client giải challenge bằng cách mã hóa challenge sử dụng password, vì thế password sẽ không được gửi tới server.

Sử dụng tấn công từ điển, lấy từng word để tạo response và so sánh với response, nếu đúng đó là mật khẩu, nếu không chuyển qua mật khẩu tiếp theo.

TẤN CÔNG DÒ MẬT KHẨU WIFI

Các thiết bị được nhóm tác giả sử dụng để thử nghiệm, bao gồm:

- Card mạng, router TP-Link.

Hình 1. Card mạng và Router TP-Link

- Công cụ tấn công được viết bằng ngôn ngữ Python, máy sử dụng công cụ chạy trên hệ điều hành Kali Linux, máy chủ Radius server trên Debian.

Hình 2. Giao diện chính của công cụ

Tấn công WEP

Cài đặt bảo mật trên điểm truy cập là WEP với mật mã có thể là 64 bit, 128 bit hoặc 152 bit, dạng mã WEP là ASCII hoặc thập lục phân.

Hình 3. Cài đặt bảo mật WEP trên điểm truy cập

Trên máy tấn công sử dụng công cụ để dò quét các điểm truy cập bảo mật WEP, sau đó lấy thông tin về địa chỉ MAC, kênh,... Sau đó bắt các gói tin giữa client và điểm truy cập để chèn các gói tin ARP vào trong lưu lượng mạng. Cuối cùng là dò quét mật khẩu.

Hình 4. Dò quét điểm truy cập, chèn các gói tin ARP, và giải mã mật khẩu

Tấn công WPA/WPA2 Personal

Cài đặt bảo mật trên điểm truy cập TP-LINK là WPA hoặc WPA2 Personal với mật mã có thể dài từ 8 đến 63 ký tự, loại mã hóa TKIP hoặc AES.

Hình 5. Cài đặt bảo mật WPA/WPA2 Personal trên điểm truy cập

Sau khi dò quét các điểm truy cập, tiến hành bắt các bước bắt tay của client với điểm truy cập. Sau đó nhập vào địa chỉ MAC của điểm truy cập, kênh của điểm cập và đường dẫn tới tệp chứa các bước bắt tay.

Hình 6. Tiến hành rò quét điểm truy cập, bắt các bước bắt tay, sau đó giải mã mật khẩu

Tấn công WPA/WPA2 Enterprise

Hình 7. Cài đặt bảo mật WPA/WPA2 Enterprise trên điểm truy cập, Radius server

Khi người dùng kết nối với điểm truy cập, sử dụng công cụ để tạo điểm truy cập giả mạo giống với điểm truy cập thật. Hủy xác thực máy khách với điểm truy cập bằng cách gửi một số lượng lớn các gói tin giả tới điểm truy cập; sau khi hủy xác thực, các máy khách sẽ kết nối vào các điểm truy cập giả mạo và nhập thông tin; từ đó lấy được thông tin username và password sau khi giải mã challenge và response.

Hình 8. Tạo điểm truy cập giả mạo, bắt thông tin challenge và response khi người dùng kết nối và giải mã mật khẩu

KẾT LUẬN

Trong bài báo, nhóm tác giả đã giới thiệu tổng quan về Wifi, các phương pháp tấn công bẻ khóa mật khẩu Wifi và thực nghiệm bằng công cụ tự phát triển. Với những loại bảo mật hiện có, để giữ an toàn thông tin cho các thiết bị Wifi, mật khẩu là một yếu tố quan trọng. Với việc đặt mật khẩu càng khó, cùng với sự cảnh giác trước những điểm truy cập lạ, đáng ngờ, từ đó sẽ giúp người dùng tránh được những rủi ro không đáng có.

Hướng nghiên cứu tiếp theo, nhóm tác giả sẽ nghiên cứu về công nghệ bảo mật WPA3. Từ đó, xây dựng phương pháp khai thác, bẻ khóa mật khẩu Wifi sử dụng tiêu chuẩn WPA3 và cải thiện tốc độ dò mật khẩu của công cụ bằng các thiết bị mới, có thể dò được mật khẩu của nhiều loại thiết bị, nhiều loại mật khẩu phức tạp.

TÀI LIỆU THAM KHẢO

1. IEEE Std 802.11. 2016. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Spec.

2. IEEE Std 802.11r. 2008. Amendment 2: Fast Basic Service Set (BSS) Transition.

3. Kenneth G. Paterson, Bertram Poettering, and Jacob C. N. Schuldt. 2014. Plaintext Recovery Attacks Against WPA/ TKIP. In FSE.

4. CERT/CC. 2017. Vulnerability Note VU#228519: WPA2 protocol vulnerabilities (2017).

5. M. Vanhoef and F. Piessens. Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2. In CCS, 2017.