Đường hầm hoạt động, giao diện hiện ra và phiên kết nối ổn định suốt một tuần. Không điều nào trong số đó cho bạn biết ai đã tạo bộ cài. Một ứng dụng VPN chạy với đủ quyền để viết lại tuyến đường và đọc thông tin đăng nhập, vì vậy nhà phát hành là một phần của mô hình mối đe dọa, không phải chú thích.

Thực hiện các bước kiểm tra theo thứ tự và dừng ở bước đầu tiên thất bại. Chúng rẻ, và mỗi bước bịt một lỗ hổng khác nhau.

Bước một: Tải xuống từ kênh mà dự án nêu tên

Mỗi dự án ghi lại nơi các bản phát hành của mình tồn tại, và trang đó là điểm tham chiếu. Các bản dựng cộng đồng, danh sách cửa hàng và cổng nhà cung cấp đều là kênh hợp lệ. Mỗi kênh chỉ hợp lệ khi chính dự án trỏ tới nó. Đó là phép thử, và nó không giống với việc trông có vẻ chính thức.

Một tệp mang tên dự án không chứng minh được gì. Đổi tên bộ cài là thao tác một giây, và cái tên là thứ mà kết quả tìm kiếm hiển thị đầu tiên.

Bước hai: Xác minh chữ ký với một danh tính đã biết

Việc xác minh chữ ký trả lời tốt một câu hỏi hẹp. Nó cho bạn biết rằng một danh tính cụ thể đã ký tệp nhị phân này và tệp không thay đổi kể từ đó. Nó trả lời một câu hỏi và từ chối câu hỏi khác. Nó không thể nói cho bạn biết danh tính đó có phải là danh tính bạn định tin tưởng hay không.

# macOS: who signed this app, and is the signature intact?
codesign -dv --verbose=4 /Applications/Tunnel.app
spctl -a -vvv -t install /Applications/Tunnel.app

# Windows: signature and publisher of the installer
Get-AuthenticodeSignature .\tunnel-setup.exe | Format-List Status, SignerCertificate

# Linux: detached signature from the project's release page
gpg --verify tunnel-1.4.2.tar.gz.asc tunnel-1.4.2.tar.gz

Hãy đọc danh tính, không phải từ trạng thái. Một nhà phát triển không liên quan với chứng chỉ hợp lệ vẫn tạo ra chữ ký hợp lệ. Một hệ điều hành báo cáo nhà phát hành được công nhận chỉ cho bạn biết rằng ai đó đã trả tiền cho một chứng chỉ.

Bước ba: So sánh hàm băm với một nguồn độc lập

Tổng kiểm tra chứng minh sự khớp với một giá trị tham chiếu. Nếu giá trị tham chiếu đến cùng với bản tải xuống, cả hai có thể cùng sai và phép so sánh vẫn đạt. Đó là kiểu thất bại trong hầu hết các hướng dẫn. Hàm băm nằm trên cùng trang với tệp mà nó mô tả.

# Linux and macOS
shasum -a 256 tunnel-1.4.2.dmg

# compare against the value published on the project's own release page
# not against a value copied from the same mirror

Khi một dự án công bố tổng kiểm tra đã ký hoặc bản kê phát hành đã ký, hãy xác minh chữ ký trên danh sách thay vì trên từng tệp riêng lẻ. Như vậy một tham chiếu đáng tin cậy bao phủ toàn bộ bản phát hành.

Sau khi cài đặt: Giữ đường cập nhật

Một kênh được hỗ trợ vẫn quan trọng sau khi quá trình cài đặt kết thúc. Các bản dựng đóng gói lại có thể mang theo trình cập nhật riêng, và trình cập nhật đó quyết định điều gì sẽ chạy vào tháng tới. Một bản dựng không bao giờ cập nhật không an toàn hơn. Nó chỉ đơn giản là cũ hơn.

Ghi lại cách ứng dụng khách phải được cập nhật và liệu một hệ thống quản lý có đảm nhận bước đó hay không. Nếu câu trả lời là tải thủ công từ một diễn đàn, câu hỏi về chuỗi cung ứng chưa bao giờ thực sự được khép lại.

Hai nguồn gốc, không phải một

Nhà phát triển ứng dụng khách và đơn vị phát hành hồ sơ là hai bên riêng biệt. Một ứng dụng khách chính thức nhập hồ sơ từ một nhà vận hành không liên quan là sắp xếp bình thường, và hồ sơ xứng đáng được kiểm tra riêng: ai đã phát hành, nó được chuyển đến thế nào và chứng chỉ máy chủ có khớp với tên bạn mong đợi hay không.

Giữ cả hai nguồn gốc có thể nhận diện trong ghi chú của bạn. Khoảnh khắc một ứng dụng khách bị thay thế hoặc một thiết bị được khôi phục từ bản sao lưu, chính hai dòng đó ngăn một bản dựng không rõ hoặc một hồ sơ không rõ quay lại cùng phần dữ liệu còn lại.

Bài viết liên quan