Tóm tắt nhanh
- AF_ALG, giao diện nhân cho mã hóa không gian người dùng, đang bị loại bỏ dần trong nhân Linux 7.2.
- Các nhà phát triển nhân cho rằng giao diện mã hóa AF_ALG tạo ra một bề mặt tấn công bảo mật lớn trong khi mang lại ít lợi ích thực tế.
- Việc loại bỏ dần không thực sự vì AF_ALG bị hỏng, mà vì tỷ lệ chi phí-lợi ích đã thay đổi. Các thư viện không gian người dùng như OpenSSL đã làm tốt hơn, vì vậy không còn lý do để giữ một giao diện nhân đặc quyền chỉ cho một vài chương trình vẫn sử dụng nó.
Nhân Linux 7.2 loại bỏ dần AF_ALG
Các nhà phát triển nhân Linux đang tiến tới loại bỏ dần giao diện mã hóa AF_ALG như một phần của nỗ lực liên tục nhằm giảm bề mặt tấn công của nhân và cải thiện bảo mật hệ thống tổng thể.
AF_ALG cho phép các ứng dụng không gian người dùng truy cập các thuật toán mã hóa được triển khai bởi nhân Linux. Mặc dù giao diện này ban đầu được thiết kế để cung cấp quyền truy cập thuận tiện vào các dịch vụ mã hóa nhân và các tính năng tăng tốc phần cứng, các nhà phát triển hiện tin rằng nó mang lại ít lợi ích thực tế so với rủi ro bảo mật và gánh nặng bảo trì mà nó gây ra.
Mặc dù AF_ALG vẫn khả dụng trong các bản phát hành nhân hiện tại, quá trình loại bỏ dần đã bắt đầu. Các bản vá gần đây ghi nhận việc loại bỏ dần nó và loại bỏ các tính năng chính như hỗ trợ zero-copy và offload bộ tăng tốc phần cứng. Những thay đổi này dự kiến sẽ xuất hiện trong nhân Linux 7.2.
Trong bài viết này, chúng ta sẽ xem xét lý do tại sao các nhà phát triển Linux muốn loại bỏ dần các tính năng AF_ALG và các mối quan ngại về bảo mật thúc đẩy quyết định.
Ghi chú của biên tập viên: Tính đến tháng 6 năm 2026, Linux 7.1 đang trong giai đoạn ứng cử viên phát hành (RC6). Linux 7.2 chưa được phát hành và cửa sổ hợp nhất của nó chưa mở. Việc loại bỏ dần AF_ALG được mô tả trong bài viết này đã được phê duyệt và xếp hàng trong cây nhánh cryptodev của nhân, nhắm mục tiêu vào cửa sổ hợp nhất Linux 7.2 dự kiến mở vào giữa tháng 6 năm 2026, với bản phát hành ổn định Linux 7.2 dự kiến vào khoảng cuối tháng 8 năm 2026.
Tại sao các nhà phát triển nhân Linux muốn loại bỏ dần AF_ALG
Các nhà phát triển Linux ngày càng đối mặt với một thách thức khó khăn: các lỗ hổng đang được phát hiện nhanh hơn bao giờ hết. Các công cụ phân tích hiện đại, bao gồm nghiên cứu bảo mật hỗ trợ AI và các mô hình ngôn ngữ lớn (LLM), có thể giúp xác định lỗi và các đường tấn công tiềm năng nhanh hơn nhiều so với trước đây.
Trong cuộc thảo luận về loại bỏ dần AF_ALG, nhà phát triển nhân Linux Eric Biggers đã chỉ ra bối cảnh lỗ hổng đang thay đổi và trích dẫn các ví dụ gần đây như lỗ hổng Copy Fail (CVE-2026-31431). Đối với những người chưa biết, Copy Fail là một lỗ hổng logic cho phép một tập lệnh Python 732 byte giành quyền truy cập root trên hầu hết các bản phân phối Linux chính chạy nhân được xây dựng từ 2017.
Eric lập luận rằng các kỹ thuật tìm lỗi hiện đại đang làm cho các bề mặt tấn công nhân lớn ngày càng khó biện minh khi chúng mang lại ít giá trị thực tế.
Kết quả là, các nhà phát triển Linux đang đặt trọng tâm lớn hơn vào việc giảm bề mặt tấn công bất cứ khi nào có thể. AF_ALG được trích dẫn như một ví dụ về một hệ thống con mà chi phí bảo mật dài hạn có thể vượt quá lợi ích của nó.
Vấn đề với hỗ trợ Zero-Copy
Một trong những tính năng AF_ALG đầu tiên được nhắm mục tiêu loại bỏ là khả năng zero-copy của nó.
Thiết kế zero-copy có thể cải thiện hiệu suất bằng cách cho phép nhân hoạt động trực tiếp trên bộ nhớ do các ứng dụng không gian người dùng cung cấp thay vì tạo các bản sao trung gian. Tuy nhiên, cách tiếp cận này cũng tạo ra các thách thức bảo mật.
Đối với những người thắc mắc, triển khai zero-copy của AF_ALG cho phép không gian người dùng yêu cầu các hoạt động mã hóa trực tiếp trên các trang bộ nhớ đệm trang và có thể cho phép bộ nhớ bị sửa đổi trong khi các hoạt động mã hóa vẫn đang diễn ra. Điều này tạo ra các điều kiện có thể dẫn đến các lỗ hổng time-of-check-to-time-of-use (TOCTOU).
Mối quan ngại đặc biệt nghiêm trọng vì AF_ALG có thể hoạt động trên các ánh xạ bộ nhớ dựa trên tệp. Trong một số kịch bản, điều này có thể cho phép kẻ tấn công nhắm mục tiêu vào các tệp nhạy cảm như tệp nhị phân su trong khi các hoạt động mã hóa đang diễn ra.
Để giảm rủi ro này, các nhà phát triển đang loại bỏ hỗ trợ zero-copy của AF_ALG và thay thế nó bằng các bản sao nhân nội bộ an toàn hơn của dữ liệu được cung cấp.
Offload phần cứng không mang lại lợi ích như mong đợi
Một thay đổi được đề xuất khác liên quan đến tăng tốc mã hóa phần cứng.
AF_ALG ban đầu được thiết kế để cung cấp quyền truy cập vào phần cứng tăng tốc mã hóa chuyên dụng thông qua hệ thống con mã hóa nhân. Tuy nhiên, trong thực tế, các nhà phát triển phát hiện ra rằng các trình điều khiển tăng tốc này làm tăng độ phức tạp, tăng chi phí bảo trì và giới thiệu các rủi ro bảo mật bổ sung.
Họ cũng lưu ý rằng AF_ALG không phải là một giao diện đặc biệt hiệu quả cho các bộ tăng tốc phần cứng và việc sử dụng như vậy hóa ra tương đối hiếm trong các triển khai thực tế.
Kết quả là, hỗ trợ AF_ALG cho offload bộ tăng tốc mã hóa đang bị loại bỏ như một phần của nỗ lực loại bỏ dần rộng hơn.
Tại sao các nhà phát triển được khuyến khích sử dụng thư viện mã hóa không gian người dùng
Đối với hầu hết các ứng dụng, các thư viện mã hóa không gian người dùng như OpenSSL và các dự án tương tự đã cung cấp các triển khai trưởng thành, được bảo trì tốt của các thuật toán mã hóa phổ biến.
Sử dụng thư viện không gian người dùng tránh phơi bày thêm bề mặt tấn công nhân trong khi đơn giản hóa phát triển và bảo trì. Điều này phù hợp với một nguyên tắc thiết kế Linux lâu đời: chức năng không cần chạy trong nhân nên được giữ trong không gian người dùng bất cứ khi nào có thể.
Các nhà phát triển lưu ý rằng tương đối ít ứng dụng vẫn phụ thuộc vào AF_ALG. Một ví dụ được đề cập trong cuộc thảo luận là iwd, daemon không dây Intel. Các nhà phát triển được khuyến khích di chuyển những người dùng AF_ALG còn lại sang các thư viện mã hóa không gian người dùng khi thực tế.
Người dùng Linux nên làm gì
Đối với hầu hết người dùng Linux, việc loại bỏ dần AF_ALG không yêu cầu hành động ngay lập tức. Giao diện vẫn khả dụng trong các bản phát hành hiện tại và việc loại bỏ hoàn toàn sẽ diễn ra trong các phiên bản nhân tương lai.
Tuy nhiên, các lỗ hổng bộ nhớ đệm trang như Copy Fail yêu cầu sự chú ý khẩn cấp. Tất cả người dùng nên áp dụng bản cập nhật nhân của bản phân phối của họ càng sớm càng tốt để bảo vệ khỏi các lỗ hổng này.
Ngoài việc áp dụng các bản vá nhân mới nhất, các nhà phát triển và quản trị viên hệ thống nên bắt đầu đánh giá xem phần mềm của họ có phụ thuộc vào AF_ALG hay không và xem xét di chuyển sang các thư viện mã hóa không gian người dùng trước khi loại bỏ cuối cùng.
Các bước cụ thể cần thực hiện:
- Vá ngay lập tức cho Copy Fail và các lỗi tương tự: Cài đặt bản cập nhật nhân mới nhất từ bản phân phối Linux của bạn. Bản sửa lỗi thượng nguồn đã được hợp nhất vào tháng 4 năm 2026 và hiện có sẵn từ tất cả các bản phân phối chính.
- Giảm thiểu tạm thời cho Copy Fail: Nếu không thể cập nhật nhân ngay lập tức, hãy vô hiệu hóa mô-đun dễ bị tấn công cụ thể bằng cách đặt
CONFIG_CRYPTO_USER_API_AEAD=ntrong cấu hình nhân của bạn hoặc đưa mô-đunalgif_aeadvào danh sách đen. Điều này chặn giao diện AEAD bị khai thác mà không vô hiệu hóa toàn bộ AF_ALG. - Vô hiệu hóa AF_ALG hoàn toàn (tùy chọn): Nếu không có ứng dụng nào của bạn sử dụng AF_ALG, việc vô hiệu hóa tùy chọn
CONFIG_CRYPTO_USER_APIrộng hơn sẽ loại bỏ toàn bộ giao diện. Đây là tùy chọn thời gian xây dựng cho những người duy trì nhân tùy chỉnh. - Xem xét các phụ thuộc AF_ALG: Xác định bất kỳ ứng dụng nào dựa vào AF_ALG và đánh giá các tùy chọn di chuyển trước khi việc loại bỏ cuối cùng xuất hiện trong một bản phát hành nhân tương lai.
Kết luận
Việc loại bỏ dần AF_ALG được đề xuất phản ánh một xu hướng rộng hơn trong phát triển nhân Linux: giảm độ phức tạp và loại bỏ các tính năng tạo ra rủi ro bảo mật mà không mang lại đủ lợi ích thực tế.
Bằng cách loại bỏ hỗ trợ zero-copy, loại bỏ chức năng offload phần cứng và khuyến khích di chuyển sang các thư viện mã hóa không gian người dùng, các nhà phát triển nhân Linux nhằm thu nhỏ bề mặt tấn công của nhân và giảm rủi ro bảo mật trong tương lai.
AF_ALG chưa biến mất, nhưng những người bảo trì nhân đang lên kế hoạch loại bỏ dần nó. Các nhà phát triển tin rằng chi phí dài hạn của nó vượt quá lợi ích, và quá trình loại bỏ dần hiện đang được tiến hành.
Tài liệu tham khảo:



