Hệ thống con io_uring của nhân Linux , được thiết kế để cung cấp các hoạt động I/O bất đồng bộ hiệu suất cao, tiếp tục phải đối mặt với những nhận thức tiêu cực về bảo mật bất chấp những cải tiến kỹ thuật đáng kể trong vài năm qua. Cuộc khủng hoảng danh tiếng này chủ yếu bắt nguồn từ thông báo của Google năm 2023 rằng 60% các lỗ hổng trong chương trình bug bounty của họ nhắm vào các lỗ hổng io_uring , dẫn đến việc vô hiệu hóa nó trên Android , ChromeOS và các máy chủ Google .
Các Mốc Bảo Mật Quan Trọng:
- Kernel 5.10+: Thiết kế lại hoàn toàn mô hình luồng giảm tải bất đồng bộ
- Tháng 6/2023: Google báo cáo 60% các khai thác bug bounty nhắm vào io_uring
- Tình Trạng Hiện Tại: Bị vô hiệu hóa trong Android , ChromeOS , máy chủ Google , và hồ sơ mặc định Docker
- Sử Dụng Trong Sản Xuất: Meta triển khai cho khối lượng công việc lưu trữ, mạng đang trong giai đoạn thử nghiệm
Nguồn Gốc Của Các Mối Quan Ngại Bảo Mật
Các vấn đề bảo mật có thể truy nguyên về những vấn đề thiết kế ban đầu trong việc triển khai async offload của io_uring , đặc biệt ảnh hưởng đến các nhân Android cũ. Nhóm bảo mật của Google thấy những lỗ hổng này đặc biệt có vấn đề vì các thiết bị Android thường chạy các phiên bản nhân lỗi thời, khiến chúng dễ bị tấn công hơn bởi các vấn đề đã biết mà đã được khắc phục trong các bản phát hành mới hơn. Điều này tạo ra một cơn bão hoàn hảo khi mã cũ, dễ bị tấn công vẫn được phơi bày trong các thiết bị được triển khai rộng rãi.
Bài viết Wikipedia về io_uring nổi bật các phát hiện bảo mật của Google , khiến các nhà phát triển dễ dàng trích dẫn những mối quan ngại này mà không cần kiến thức kỹ thuật sâu hơn. Docker cũng đã phản ứng bằng cách loại bỏ io_uring khỏi các hồ sơ bảo mật mặc định của họ, càng củng cố thêm nhận thức về sự không an toàn.
Thực Tế Kỹ Thuật So Với Nhận Thức Công Chúng
Các nhà phát triển nhân Linux lập luận rằng các vấn đề bảo mật cơ bản đã được giải quyết trong phiên bản nhân 5.10 và sau đó thông qua việc thiết kế lại hoàn toàn mô hình luồng. Thiết kế async offload có vấn đề ban đầu đã được thay thế hoàn toàn, loại bỏ các lỗ hổng kiến trúc cốt lõi. Meta hiện đang chạy io_uring trong sản xuất cho các khối lượng công việc lưu trữ, với các ứng dụng mạng đang được thử nghiệm tích cực để triển khai.
Tuy nhiên, dữ liệu CVE kể một câu chuyện phức tạp hơn. Số lượng lỗ hổng io_uring được báo cáo thực sự đã tăng theo thời gian, từ chỉ một CVE vào năm 2019 lên 21 vào năm 2024 và đã có 10 vào đầu năm 2025. Mặc dù nhiều CVE gần đây đại diện cho các vấn đề ít nghiêm trọng hơn như kernel panic thay vì các lỗ hổng bảo mật nghiêm trọng, dòng vấn đề được báo cáo liên tục vẫn tiếp tục thúc đẩy các mối quan ngại bảo mật.
Dòng thời gian CVE của io_uring:
- 2019: 1 CVE
- 2020: 1 CVE
- 2021: 10 CVE
- 2022: 15 CVE
- 2023: 19 CVE
- 2024: 21 CVE
- 2025: 10 CVE (tính đến đầu năm 2025)
Thách Thức Áp Dụng Doanh Nghiệp
Nhận thức bảo mật tạo ra những thách thức triển khai thực tế, đặc biệt trong môi trường doanh nghiệp. Các nền tảng điều phối container như Kubernetes không thể dễ dàng lọc các hoạt động io_uring thông qua các cơ chế bảo mật hiện có như bộ lọc seccomp-bpf , hoạt động tốt cho các system call truyền thống. Hạn chế này buộc các quản trị viên phải vô hiệu hóa io_uring hoàn toàn hoặc chấp nhận giảm cách ly bảo mật.
Bạn không thể sử dụng nó trong cluster kubernetes thông thường của mình mà không làm suy yếu bảo mật cho các pod này.
Các bản phân phối Linux doanh nghiệp đang thấy sự quan tâm ngày càng tăng của khách hàng trong việc áp dụng io_uring , nhưng các nhóm bảo mật vẫn thận trọng. Công nghệ này cho thấy tiềm năng đặc biệt cho điện toán hiệu suất cao và các ứng dụng tài chính nơi lợi ích hiệu suất biện minh cho các cân nhắc bảo mật cẩn thận.
Con Đường Phía Trước
Thay đổi các nhận thức bảo mật đã được thiết lập trong ngành công nghệ chứng minh là thách thức, như đã thấy với các công nghệ khác như PHP , vẫn đang chiến đấu với các vấn đề danh tiếng lỗi thời từ các phiên bản trước đó. Cộng đồng io_uring đối mặt với nhiệm vụ khó khăn là chứng minh rằng các triển khai hiện tại về cơ bản khác với các phiên bản đầu có vấn đề.
Các nhà cung cấp đám mây lớn có ảnh hưởng đáng kể đến các quyết định áp dụng. Nếu các công ty như Amazon Web Services bắt đầu hỗ trợ io_uring trong các dịch vụ được quản lý của họ, điều đó có thể báo hiệu sự tin tưởng rộng rãi hơn của ngành về tư thế bảo mật của nó. Cho đến lúc đó, io_uring vẫn bị mắc kẹt giữa khả năng hiệu suất ấn tượng và các mối quan ngại bảo mật dai dẳng bắt nguồn từ lịch sử đầy rắc rối của nó.
Cuộc tranh luận làm nổi bật một thách thức rộng lớn hơn trong lập trình hệ thống: cân bằng các tính năng hiệu suất tiên tiến với các yêu cầu bảo mật bảo thủ của môi trường sản xuất. Khi io_uring tiếp tục trưởng thành, việc áp dụng nó có thể sẽ phụ thuộc vào việc chứng minh các cải tiến bảo mật bền vững thay vì chỉ hứa hẹn chúng.
Tham khảo: How to handle people dismissing io_uring as insecure? #1047