Bảo mật mạng không dây ở mức gói dữ liệu

Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số kỹ thuật hữu dụng cho việc khắc phục sự cố các vấn đề bảo mật mạng không dây ở mức gói dữ liệu.

Vấn đề rắc rối về mạng không dây là bạn không thể thấy những gì mình đang xử lý. Trong một mạng không dây, việc thiết lập kết nối không đơn giản như trong mạng chạy dây (chỉ cần cắm cáp), việc bảo mật vật lý không đơn giản chỉ là việc làm cản trở hay ngăn chặn hoàn toàn việc truy cập mạng của các cá nhân không được cấp phép, và việc khắc phục sự cố thậm chí là những vấn đề đơn giản đôi khi cũng có những khó khăn riêng đi kèm với các điểm truy cập. Điều đó nói nên rằng, việc bảo mật các mạng không dây sẽ tiếp tục là một thách thức cho tương lai thấy trước.

Trong bài này, chúng tôi sẽ giới thiệu cho các bạn một số kỹ thuật hữu dụng trong việc khắc phục sự cố các vấn đề không dây ở mức gói dữ liệu. Bài viết sẽ được bắt đầu bằng cách giới thiệu các phương pháp thu thập đúng các gói dữ liệu trong mạng không dây. Sau khi thu thập, chúng ta sẽ cùng thảo luận về các kỹ thuật phân tích, gồm có phân tích quá trình nhận thực WEP/WPA, lọc lưu lượng mã hóa và việc tìm kiếm các điểm truy cập giả mạo.

Việc capture các gói dữ liệu không dây

Mức gói dữ liệu trong các mạng không dây và mạng chạy dây có một số điểm tương đồng. Các mạng không dây vẫn sử dụng TCP/IP cho việc truyền thông dữ liệu và tuân thủ tất cả các luật lệ kết nối của các host chạy dây. Sự khác nhau giữa hai nền tảng kết nối này được tìm thấy ở các mức thấp hơn trong mô hình tham chiếu OSI. Các mạng không dây thực hiện truyền thông bằng cách gửi dữ liệu qua không trung, khác hoàn toàn với việc gửi dữ liệu theo dây dẫn tín hiệu. Không gian mà dữ liệu không dây được truyền thông trên đó là một môi trường chia sẻ, chính vì lý do đó cần phải có sự xem xét đặc biệt ở các lớp liên kết dữ liệu và lớp vật lý để bảo đảm rằng không có dữ liệu nào bị xung đột và dữ liệu được phân phối một cách tin cậy.

Điều này tương đương với việc khắc phục sự cố cho một mạng không dây vì chúng ta vẫn cần phải có một số cố gắng nhất định để có thể capture lớp hai trong các gói dữ liệu 802.11 cần thiết cho việc khắc phục sự cố một cách thỏa đáng. Để thực hiện điều này, bạn phải có khả năng đặt card giao diện mạng không dây (WNIC) của mình vào chế độ đặc biệt có tên gọi Monitor Mode. Monitor mode là một thiết lập driver đặc biệt, thiết lập hạn chế khả năng của các WNIC trong việc gửi dữ liệu và chỉ cho phép lắng nghe một cách thụ động trên kênh được chọn.

Trong các hệ điều hành dựa Linux, bạn có thể khá dễ dàng thay đổi WNIC sang chế độ monitor mode, tuy nhiên hầu hết các driver Windows lại không cho phép chức năng này. Kết quả là chúng ta phải cần dùng đến một mẩu phần cứng đặc biệt để giúp nó làm việc. Mẩu phần cứng này mang tên AirPcap và được sản xuất bởi CACE Technologies. Thiết bị AirPcap về cơ bản là một WNIC được thiết kế để sử dụng trong chế độ kiểm tra với Windows và tiện ích capture gói dữ liệu Wireshark. Sử dụng thiết bị này, bạn có thể capture lớp hai trong gói dữ liệu 802.11 từ kênh không dây đang lắng nghe.


Hình 1: Màn hình cấu hình AirPcap cho phép bạn cấu hình kênh đang lắng nghe

Cấu trúc gói dữ liệu 802.11

Sự khác biệt chính giữa các gói dữ liệu trong mạng không dây và chạy dây là phần header. Đây là một header hai lớp có chứa các thông tin mở rộng về gói và môi trường nó được truyền tải. Có ba kiểu gói ở đây: gói dữ liệu, gói quản lý, gói điều khiển.

  • Gói quản lý – Các gói này được sử dụng để thiết lập kết nối giữa các host tại lớp hai. Một số kiểu quan trọng trong các gói dữ liệu quản lý này là: nhận thực, liên kết và báo hiệu.
  • Gói điều khiển – Các gói điều khiển cho phép phân phối các gói quản lý và dữ liệu và có liên quan đến việc quản lý tắc nghẽn. Các kiểu của gói điều khiển gồm có: Request-to-Send và Clear-to-Send.
  • Gói dữ liệu – Các gói này gồm có dữ liệu thực và là kiểu gói được chuyển tiếp từ mạng không dây sang mạng chạy dây.

Trong bài này chúng tôi sẽ không giới thiệu về các kiểu con trong các gói dữ liệu 802.11 này mà chỉ tập trung vào một số lĩnh vực có liên quan đến vấn đề bảo mật.

Tìm các điểm truy cập giả mạo

Bảo mật vật lý cho các tài sản CNTT là miền bảo mật được xem xét thường xuyên nhất. Một trong những sơ xuất nói chung trong lĩnh vực này là sự bổ sung thêm các thiết bị không được cấp quyền trong mạng. Trong thế giới các mạng chạy dây, một router không được cấp quyền có thể gây ra từ chối dịch vụ. Mặc dù vậy một điểm truy cập không dây WAP giả mạo bao giờ cũng là mối quan tâm lớn hơn vì nó có thể cho phép ai đó từ bên ngoài có thể tăng truy cập vào mạng cứ như thể họ đã đột nhật vào và cắp laptop của họ với giắc mạng trên tường.

May mắn cho chúng ta ở đây là việc phát hiện một WAP có thể được thực hiện khá dễ dàng. Để thực hiện được điều này, bạn phải bắt đầu bằng cách capture lưu lượng không dây từ một số vùng bên trong phạm vi quảng bá của các mạng. Khi thực hiện xong điều này, sẽ có một vài bộ lọc khác nhau được sử dụng để phát hiện liệu có tồn tại các điểm truy cập giả mạo hay không và liệu các máy khách có dính líu đến chúng hay không.

Một trong những giải pháp đơn giản nhất để thực hiện điều đó là biết địa chỉ MAC của WAP hợp pháp. Bằng cách sử dụng thông tin này, bạn có thể thực hiện lọc !wlan.bssid == 00:11:88:6b:68:30, thay thế WAP MAC của bạn ở vị trí địa chỉ MAC mà chúng tôi cung cấp. Thao tác này sẽ hiển thị cho bạn tất cả lưu lượng không dây đang luân chuyển vào ra khỏi WAP. Nếu có nhiều WAP trong vùng, bạn có thể kết hợp các bộ lọc này bằng toán tử OR (||). Trong thường hợp đó, bạn có thể sử dụng !wlan.bssid == 00:11:88:6b:68:30 || !wlan.bssid == 00:11:ff:a1:a4:22 để lọc ra hai điểm truy cập hợp lệ đã biết.

Phương pháp đó có thể giúp bạn phát hiện các điểm truy cập nói chung, tuy nhiên điều gì sẽ xảy ra nếu bạn muốn đi xa hơn nữa và muốn tìm ra liệu các máy trạm di động của bạn có đang kết nối với WAP giả mạo hay không? Có một cách để thực hiện điều này là lọc các yêu cầu liên kết. Để thực hiện điều này, bạn có thể kết hợp một trong các bộ lọc trên với các bộ lọc wlac.fc.type_subtype eq 0 và wlac.fc.type_subtype eq 2. Bộ lọc đầu tiên sẽ hiển thị tất cả các yêu cầu kết nối còn bộ lọc thứ hai sẽ hiển thị các yêu cầu kết nối lại. Khi cần thiết, bạn có thể kết hợp một trong các bộ lọc này với các bộ lọc trên bằng cách sử dụng toán tử AND (&&).

Cuối cùng, bạn có thể tiến hành một bước xa hơn nữa bằng cách xác định xem liệu có dữ liệu thực nào đang được truyền tải giữa các máy khách di động và WAP giả mạo hay không. Có thể thực hiện bằng cách lọc tất cả gói dữ liệu đang được truyền thông với điểm truy cập không hợp pháp bằng cách sử dụng bộ lọc wlan.fc.type eq 2 kết hợp với các bộ lọc trước, ngoại trừ các WAP hợp lệ đã biết.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s