io_uring đã trở thành vấn đề đau đầu của Google và họ quyết định vô hiệu hóa nó khỏi sản phẩm của mình

io_uring

io_uring là giao diện gọi hệ thống nhân Linux cho các hoạt động I/O không đồng bộ của thiết bị lưu trữ

Google gần đây đã tiết lộ thông qua một bài đăng trên blog rằng nó có đã quyết định tắt theo mặc định trên ChromeOS, Android và máy chủ của sự sản xuất, giao diện không đồng bộ io_uring, điều này là do tình trạng bảo mật tồi tệ trong io_uring.

Và đó là trong quá trình phân tích kết quả của “Chương trình tiền thưởng dễ bị tổn thương” của kCTF, được thực hiện từ năm 2020, đã chỉ ra rằng 60% đơn đăng ký nhận được trong chương trình khai thác các lỗ hổng mới nổi và tình hình không thay đổi theo thời gian, điều này khá đáng lo ngại vì nó đã trở thành một điểm dễ bị tổn thương.

Tổng cộng, khoảng 1 triệu đô la tiền thưởng đã được thanh toán. bằng cách khai thác liên quan đến io_uring, trong khi tổng số tiền thưởng được trả cho các lỗ hổng trong nhân Linux trong thời gian tồn tại của sáng kiến ​​là 1,8 triệu đô la cho 42 lần khai thác được cung cấp cho các lỗ hổng chưa được khắc phục (mức tiền thưởng tối đa – 133 nghìn đô la).

Vì nhân Linux là một thành phần quan trọng không chỉ đối với Google mà còn đối với Internet, nên chúng tôi bắt đầu đầu tư mạnh vào lĩnh vực này. Chúng tôi đã mở rộng phạm vi tiếp cận VRP và phần thưởng tối đa vào năm 2021 (lên 50 đô la), sau đó một lần nữa vào tháng 000 năm 2022 (lên 91 đô la) và cuối cùng vào tháng 000 năm 2022 (lên 133 đô la). Vào năm 000, chúng tôi cũng đã tóm tắt những kiến ​​thức đã học cho đến nay trong sách dạy nấu ăn của mình và giới thiệu các biện pháp giảm thiểu thử nghiệm cho các kỹ thuật khai thác phổ biến nhất.

Năm ngoái, để cải thiện bảo mật hạt nhân của Linux được sử dụng trong môi trường tham chiếu trong đó khai thác tuyên bố phần thưởng đã được tạo ra, Google đã áp dụng các chỉnh sửa và bản vá bổ sung để chặn các phương pháp khai thác thông thường. Ví dụ: tính năng chống tham nhũng đã được thêm vào cấu trúc Freelist, việc ghi ngoài giới hạn vào slab bị cấm và việc chặn các cuộc tấn công liên quan đến chia sẻ bộ đệm đã được triển khai. Nhưng những thay đổi này không ảnh hưởng đến khả năng khai thác lỗ hổng trong io_uring dẫn đến việc Google ngừng hỗ trợ io_uring trong các sản phẩm của họ.

Mặc dù io_uring cung cấp các lợi ích về hiệu suất và phản ứng nhanh với các sự cố bảo mật bằng các bản sửa lỗi bảo mật toàn diện (chẳng hạn như chuyển 5.15 sang cây ổn định 5.10), nhưng đây là một phần khá mới của nhân. Như vậy, io_uring tiếp tục được phát triển tích cực, nhưng vẫn bị ảnh hưởng bởi các lỗ hổng nghiêm trọng và cũng cung cấp các bản nguyên khai thác mạnh. Vì những lý do này, chúng tôi hiện chỉ coi nó là an toàn đối với các thành phần đáng tin cậy.

Trên ChromeOS, hỗ trợ io_uring bị tắt khi biên dịch kernel (CONIFG_IO_URING trong kernelconfig). Android tạm thời sử dụng bộ lọc dựa trên seccomp-bpf để chặn quyền truy cập vào io_uring và có kế hoạch sử dụng SELinux để hạn chế có chọn lọc quyền truy cập vào io_uring đối với các thành phần hệ thống đáng tin cậy trong bản phát hành trong tương lai.

Do đó, Google không có cái nhìn mờ nhạt về Giao diện io_uring, được cung cấp bởi nhân Linux kể từ phiên bản 5.1, vì nó đề cập rằng trong số những điểm tích cực của nó, nổi bật vì hỗ trợ bỏ phiếu I/O và khả năng làm việc có hoặc không có bộ đệm, nhưng như vậy nó vẫn đủ mạnh để tiếp tục chấp nhận rủi ro và trên hết là tiếp tục đầu tư vào việc sửa các lỗi và lỗ hổng liên tục phát sinh.

Với API io_uring, các nhà phát triển kernel đã cố gắng giải quyết những thiếu sót của giao diện aio cũ.

Về hiệu suất, io_uring rất gần với SPDK và vượt trội đáng kể so với libaio khi bỏ phiếu được kích hoạt. Ví dụ: việc sử dụng io_uring trong thư viện libuv giúp hiệu suất tăng gấp 8 lần và việc bao gồm tính năng đệm ghi không đồng bộ dựa trên io_uring trong hệ thống tệp XFS đã dẫn đến độ trễ giảm 80 lần và tốc độ truyền dữ liệu tăng 2,7 lần.

Ngoài ra, điều đáng nói là Google đang xem xét khả năng tắt io_uring theo mặc định trong GKE AutoPilot (Google Kubernetes Engine).

Cuối cùng, nếu bạn quan tâm có thể biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.