Đã có TUF 1.0, một khuôn khổ để tổ chức phân phối các bản cập nhật một cách an toàn

Bản phát hành TUF 1.0 (Khung cập nhật) đã được xuất bản, cung cấp các công cụ để kiểm tra và tải xuống các bản cập nhật một cách an toàn. Mục tiêu chính của dự án là bảo vệ khách hàng khỏi các cuộc tấn công điển hình vào kho lưu trữ và cơ sở hạ tầng, bao gồm chống lại việc kẻ tấn công quảng cáo các bản cập nhật hư cấu được tạo sau khi có được quyền truy cập vào khóa để tạo chữ ký số hoặc xâm phạm kho lưu trữ. Dự án được phát triển dưới sự bảo trợ của Linux Foundation và được sử dụng để cải thiện tính bảo mật của việc phân phối bản cập nhật trong các dự án như Docker, Fuchsia, Automotive Grade Linux, Bottlerocket và PyPI (dự kiến ​​sẽ bao gồm xác minh tải xuống và siêu dữ liệu trong PyPI trong tương lai gần). Mã triển khai tham chiếu TUF được viết bằng Python và được phân phối theo giấy phép Apache 2.0.

Dự án đang phát triển một loạt thư viện, định dạng tệp và tiện ích có thể dễ dàng tích hợp vào các hệ thống cập nhật ứng dụng hiện có, cung cấp khả năng bảo vệ trong trường hợp có sự xâm phạm chính từ phía các nhà phát triển phần mềm. Để sử dụng TUF, việc thêm siêu dữ liệu cần thiết vào kho lưu trữ và tích hợp các quy trình được cung cấp trong TUF để tải xuống và xác minh tệp vào mã máy khách là đủ.

Khung TUF đảm nhận các nhiệm vụ kiểm tra bản cập nhật, tải xuống bản cập nhật và xác minh tính toàn vẹn của nó. Hệ thống cài đặt bản cập nhật không can thiệp trực tiếp vào siêu dữ liệu bổ sung, việc xác minh và tải siêu dữ liệu này do TUF thực hiện. Để tích hợp với các ứng dụng và cập nhật hệ thống cài đặt, API cấp thấp để truy cập siêu dữ liệu và triển khai ngclient API cấp cao, sẵn sàng tích hợp với các ứng dụng, được cung cấp.

Trong số các cuộc tấn công mà TUF có thể chống lại là việc thay thế các bản phát hành cũ dưới vỏ bọc các bản cập nhật nhằm chặn việc sửa các lỗ hổng phần mềm hoặc việc người dùng quay lại phiên bản cũ dễ bị tấn công, cũng như quảng bá các bản cập nhật độc hại được ký chính xác bằng cách sử dụng một bản bị xâm nhập. key, các cuộc tấn công DoS vào máy khách, chẳng hạn như lấp đầy đĩa với các bản cập nhật vô tận.

Việc bảo vệ chống lại sự xâm phạm cơ sở hạ tầng của nhà cung cấp phần mềm đạt được bằng cách duy trì các bản ghi riêng biệt, có thể kiểm chứng được về trạng thái của kho lưu trữ hoặc ứng dụng. Siêu dữ liệu được TUF xác minh bao gồm thông tin về các khóa có thể tin cậy, hàm băm mật mã để đánh giá tính toàn vẹn của tệp, chữ ký số bổ sung để xác minh siêu dữ liệu, thông tin về số phiên bản và thông tin về vòng đời của bản ghi. Các khóa được sử dụng để xác minh có thời gian tồn tại giới hạn và yêu cầu cập nhật liên tục để bảo vệ khỏi việc hình thành chữ ký bằng các khóa cũ.

Việc giảm nguy cơ xâm phạm toàn bộ hệ thống đạt được thông qua việc sử dụng mô hình tin cậy chung, trong đó mỗi bên chỉ bị giới hạn trong lĩnh vực mà mình chịu trách nhiệm trực tiếp. Hệ thống sử dụng một hệ thống phân cấp các vai trò với các khóa riêng của chúng, ví dụ: vai trò gốc ký các khóa cho các vai trò chịu trách nhiệm về siêu dữ liệu trong kho lưu trữ, dữ liệu về thời điểm tạo các bản cập nhật và tập hợp đích, đến lượt vai trò chịu trách nhiệm về các dấu hiệu tập hợp các vai trò liên quan đến việc chứng nhận các tệp được phân phối.

Đã có TUF 1.0, một khuôn khổ để tổ chức phân phối các bản cập nhật một cách an toàn

Để bảo vệ chống lại sự xâm phạm khóa, cơ chế thu hồi và thay thế khóa nhanh chóng được sử dụng. Mỗi khóa riêng lẻ chỉ chứa các quyền hạn cần thiết tối thiểu và các hoạt động xác thực yêu cầu sử dụng một số khóa (việc rò rỉ một khóa không cho phép tấn công ngay lập tức vào máy khách và để xâm phạm toàn bộ hệ thống, khóa của tất cả những người tham gia phải được bị bắt). Máy khách chỉ có thể chấp nhận các tệp mới hơn các tệp đã nhận trước đó và dữ liệu chỉ được tải xuống theo kích thước được chỉ định trong siêu dữ liệu được chứng nhận.

Bản phát hành TUF 1.0.0 đã xuất bản cung cấp bản triển khai tham chiếu ổn định và được viết lại hoàn toàn của đặc tả TUF mà bạn có thể sử dụng làm ví dụ sẵn có khi tạo các bản triển khai của riêng mình hoặc để tích hợp vào các dự án của mình. Việc triển khai mới chứa ít mã hơn đáng kể (1400 dòng thay vì 4700), dễ bảo trì hơn và có thể dễ dàng mở rộng, chẳng hạn như nếu cần thêm hỗ trợ cho các ngăn xếp mạng, hệ thống lưu trữ hoặc thuật toán mã hóa cụ thể.

Nguồn: opennet.ru

Thêm một lời nhận xét