TuxTape, một đề xuất mới cho LivePatch trên Linux

Băng dính Tux

Khái niệm của "Livepatch không có gì mới và nó thậm chí còn chưa được triển khai trên Linux trong vài năm trở lại đây, vì Red Hat, Oracle, Canonical và SUSE là một số công ty đã triển khai công nghệ này cho các bản phân phối của họ.

Và mặc dù họ đã khẳng định mình là một giải pháp tuyệt vời, điều này Nó thường phụ thuộc vào các quy trình đóng trong việc tạo ra các bản vá, hạn chế tính minh bạch và khả năng thích ứng. Các dự án nguồn mở trước đây, chẳng hạn như elivepatch của Gentoo và linux-livepatching của Debian, đã bị đánh dấu bằng thời gian dài không hoạt động hoặc trì trệ trong giai đoạn nguyên mẫu.

Đối mặt với loạt vấn đề này những người vẫn đang phải đối mặt với quá trình tạo, biên dịch, triển khai và cài đặt các bản vá lỗi hạt nhân Linux đang hoạt động, TuxTape tự giới thiệu mình là một giải pháp độc lập, được thiết kế để có thể thích ứng với bất kỳ phiên bản nào của hạt nhân Linux, mà không bị giới hạn ở các gói cụ thể cho từng bản phân phối.

TuxTape, giải pháp vá lỗi trực tiếp trên Linux

TuxTape là một giải pháp mớicho phép quản trị viên của hệ thống triển khai cơ sở hạ tầng của riêng bạn để tạo, lắp ráp và triển khai các bản vá trực tiếp cho hạt nhân Linux.

Mục tiêu chính TuxTape sẽ cung cấp một hệ thống toàn diện tự động hóa việc tạo và cung cấp các bản vá trực tiếp. Kiến trúc của nó cho phép tạo ra các bản vá tương thích với các công cụ hiện có như kpatch của Red Hat, kGraft của SUSE, Ksplice của Oracle và các giải pháp chung khác.

Các bản vá lỗi Chúng được triển khai như các mô-đun hạt nhân thay thế các chức năng hiện có bằng cách sử dụng hệ thống con ftrace, hệ thống này sẽ chuyển hướng thực thi sang các chức năng mới có trong mô-đun. Ngoài ra, TuxTape còn có khả năng theo dõi các bản cập nhật lỗ hổng được đăng trên danh sách gửi thư linux-cve-announce và trong kho lưu trữ Git.

Bản vá trực tiếp TuxTape

Sử dụng thông tin này, hệ thống phân loại lỗ hổng theo mức độ nghiêm trọng, đánh giá khả năng áp dụng của từng bản vá thông qua phân tích chi tiết về cấu hình xây dựng hạt nhân và loại bỏ những bản sửa lỗi không ảnh hưởng đến môi trường mục tiêu. Cách tiếp cận có chọn lọc này đảm bảo chỉ những thay đổi có liên quan mới được thực hiện, giảm thiểu rủi ro và tối ưu hóa hiệu suất.

Thành phần và kiến ​​trúc dự án

Bộ dụng cụ TuxTape Nó bao gồm nhiều công cụ tích hợp từ phát hiện đến vá lỗi trực tiếp:

  • Hệ thống theo dõi lỗ hổng: Chức năng này có nhiệm vụ phát hiện và ghi lại các mối đe dọa mới theo thời gian thực.
  • Trình tạo cơ sở dữ liệu: Có trách nhiệm cung cấp thông tin về các bản vá và lỗ hổng trong cơ sở dữ liệu có cấu trúc.
  • Máy chủ siêu dữ liệu với gRPC: Quản lý việc liên lạc và phối hợp các dịch vụ liên quan đến việc tạo bản vá.
  • Hệ thống phân phối và xây dựng hạt nhân: Tạo điều kiện thuận lợi cho việc biên dịch kernel trên các cấu hình cụ thể bằng cách tạo ra hồ sơ biên dịch chi tiết.
  • Lưu trữ bản vá và trình tạo: Chuyển đổi các bản vá lỗi thông thường thành các mô-đun hạt nhân có thể tải động.
  • Máy khách dành cho máy chủ cuối: Cho phép tiếp nhận và áp dụng các bản vá trên hệ thống sản xuất.
  • Giao diện tương tác (Bảng điều khiển): Cung cấp bảng điều khiển quản trị cho người dùng, nơi họ có thể xem xét, quản lý và tạo các bản vá lỗi trực tiếp dựa trên các nguồn đã nhận.

Điều đáng nói là dự án và quá trình phát triển TuxTape hiện đang trong giai đoạn thử nghiệm nguyên mẫu, vì vậy hiện tại nó chỉ được khuyến nghị cho mục đích thử nghiệm ban đầu với các thành phần khác nhau.

Đối với những người quan tâm đến việc thử nghiệm dự án, hiện tại chỉ nên thử nghiệm trên các công cụ cụ thể như:

  • trình phân tích cú pháp tuxtape-cve: Phân tích thông tin về lỗ hổng và xây dựng cơ sở dữ liệu bản vá.
  • máy chủ tuxtape: Triển khai giao diện gRPC để tạo và phân phối bản vá.
  • tuxtape-kernel-builder: Nó có trách nhiệm xây dựng hạt nhân với cấu hình nhất định và tạo ra hồ sơ biên dịch tương ứng.
  • tuxtape-bảng điều khiển: Cung cấp giao diện bảng điều khiển để xem xét và tạo các bản vá trực tiếp dựa trên các bản vá nguồn đã nhận.

Cuối cùng, điều quan trọng cần đề cập là dự án đang được phát triển bằng Rust và được phân phối theo giấy phép Apache 2.0. Bạn có thể tham khảo thêm thông tin hoặc mã nguồn của nó, từ liên kết sau.