Chia sẻ đam mê công nghệ
Giải thích

Router cập nhật firmware xong vẫn chạy nhân Linux cũ: nút thắt nằm ở đâu?

Bấm cập nhật firmware không đảm bảo nhân Linux và thư viện mạng trong router đã mới. Nguyên nhân nằm ở driver đóng của hãng chipset và cách hãng máy xử lý vòng đời phần mềm.

Tóm tắt nhanh

  • Bấm “Update” trên router thường thay giao diện và vá một số lỗi, nhưng không đảm bảo nhân Linux và các thư viện mạng bên dưới đã mới.
  • Nghiên cứu của Forescout và Finite State trên 5 firmware OT/IoT ghi nhận thành phần mã nguồn mở phổ biến trung bình đã 5 năm 6 tháng tuổi.
  • Nguyên nhân nằm ở chuỗi cung ứng: driver Wi-Fi và gói hỗ trợ bo mạch đóng đến từ hãng chipset, nên hãng máy khó nâng kernel.
  • Với router đã hết bản vá, thay máy thường hợp lý hơn cài firmware cộng đồng không đúng model.

Nhiều người dùng xem trang quản trị router như một thứ đã được làm mới mỗi khi có thông báo firmware. Vấn đề là số phiên bản firmware đo tuổi của cả gói, không đo tuổi từng thư viện bên trong. Một router có thể nhận bản cập nhật tháng này mà nhân Linux vẫn là nhánh cũ từ nhiều năm trước.

Firmware mới không đồng nghĩa kernel mới

Router TP-Link đặt trên kệ
Router gia đình nhận firmware mới nhưng nhân Linux và thư viện bên dưới vẫn là bản cũ.

Giao diện web có thể được làm lại, lỗi ứng dụng được vá, tính năng mới được thêm vào, trong khi nhân Linux và các tiện ích nền như dnsmasq, BusyBox hay iptables vẫn giữ phiên bản cũ. XDA Developers ghi nhận nhiều router Wi-Fi 6 đang bán vẫn chạy trên nhân đã ngừng nhận hỗ trợ chính thống từ nhiều năm trước.

Con số rõ ràng nhất đến từ nghiên cứu “Rough Around the Edges” của Forescout Vedere Labs và Finite State. Nhóm nghiên cứu phân tích 5 firmware của thiết bị OT/IoT, gồm router công nghiệp và router cellular cho doanh nghiệp nhỏ, chứ không phải router Wi-Fi gia đình. Vì vậy không nên lấy nguyên các con số dưới đây cho mọi máy trong nhà.

Chỉ số trong nghiên cứuGiá trị trung bình
Tuổi của thành phần mã nguồn mở phổ biến5 năm 6 tháng
Chậm hơn bản phát hành mới nhất4 năm 4 tháng
Lỗ hổng đã biết trong các thành phần phổ biến161 (trong đó 24 mức nghiêm trọng)
Lỗ hổng n-day khai thác được ảnh hưởng đến nhân Linux20

Số liệu: Help Net Security, tóm tắt báo cáo của Forescout Vedere Labs (2024)

Hai chi tiết trong báo cáo đáng chú ý hơn các con số. Bốn trong năm firmware chạy hệ điều hành bắt nguồn từ OpenWrt, nhưng đã bị chỉnh sửa nhiều, nên tên nền tảng không cho biết bản vá đến đâu. Ngoài ra, có hãng tự vá lỗi mà không tăng số phiên bản, khiến người dùng khó biết máy mình còn bị ảnh hưởng hay không. Firmware dựa trên OpenWrt không vì thế mà tự động nhận cập nhật từ dự án gốc.

Driver đóng khóa router vào kernel cũ

Nguyên nhân nằm ở chuỗi cung ứng. Các hãng router như TP-Link, Netgear hay D-Link thường không tự viết driver Wi-Fi. Họ nhận binary blob và gói hỗ trợ bo mạch (BSP) từ hãng chip như Broadcom, Qualcomm hoặc MediaTek. Driver đóng đó được xây cho một nhánh kernel cụ thể. Chuyển nó sang kernel mới đòi hỏi kỹ sư phải port lại, và phần việc này thường nằm ngoài ưu tiên của hãng máy.

Với sản phẩm giá thấp và vòng đời ngắn, khoản công đó khó được duyệt. Bản firmware mới vì thế có thể sửa giao diện hoặc một lỗ hổng cụ thể mà không thay được nền móng bên dưới. Khi lỗ hổng ở một thư viện DNS hay thư viện mật mã lộ ra, người dùng có thể chờ nhiều tháng, và có những model không bao giờ nhận bản vá. Nói cách khác, vòng đời phần mềm của router thường được quyết định bởi chi phí port driver, không phải bởi thời gian bạn còn cần máy.

Firmware cộng đồng không phải lựa chọn cho mọi máy

OpenWrt và Asuswrt-Merlin cho bạn một nền tảng được duy trì tích cực, có quản lý gói và bản vá kernel mới. Nhưng các dự án này chỉ hỗ trợ một số model nhất định. Nếu máy không có bản tương thích, cài nhầm là rủi ro thật, vì sai tệp có thể khiến router không khởi động. Đây là việc của người đã quen tự quản lý mạng, không phải thao tác mặc định cho gia đình.

Router nhà mạng cần được kiểm tra theo model cụ thể

Router Wi-Fi D-Link DIR-882
Model D-Link DIR-882: đối chiếu đúng số model và revision trước khi tìm firmware thay thế.

Bài nghiên cứu không có dữ liệu về modem-router do nhà mạng cấp tại Việt Nam, nên không thể kết luận máy nào đang có lỗ hổng. Nhưng cơ chế ở trên vẫn áp dụng: thiết bị do nhà mạng cấp thường là model đóng, ít khi công bố phiên bản kernel, và người dùng hiếm khi mở trang quản trị sau lần lắp đặt đầu tiên.

Cách kiểm tra thực tế khá đơn giản. Ghi lại mã model và phiên bản phần cứng trên tem máy, rồi vào trang hỗ trợ của nhà sản xuất hoặc nhà mạng để xem ngày phát hành firmware và ghi chú cập nhật. Tuổi kernel hay danh sách mã nguồn mở thường không được công bố. Vì thế, đừng coi ngày phát hành firmware là bằng chứng máy đã an toàn.

Chuyển modem nhà mạng sang chế độ bridge rồi dùng router riêng là cách tách chức năng truy cập internet khỏi Wi-Fi. Nhưng chỉ nên làm khi nhà mạng hỗ trợ và bạn hiểu cấu hình. Với router đã hết bản vá, thay máy thường thực tế hơn là cố cài firmware không tương thích. Khi mua mới, thời gian hỗ trợ bảo mật nên được xếp ngang với tốc độ Wi-Fi trong danh sách tiêu chí, vì tốc độ không bù được một nền tảng phần mềm bị bỏ quên.

Bấm Update không sai. Nhưng nó không trả lời câu hỏi quan trọng nhất: thứ nằm dưới giao diện đang chạy bản nào, và hãng còn vá nó hay không.

Nguồn tham khảo: XDA Developers; Help Net Security – nghiên cứu Forescout/Finite State

Bài viết mới nhất