Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách xác minh tính xác thực của phần mềm Linux bằng chữ ký kỹ thuật số

Cách xác minh tính xác thực của phần mềm Linux bằng chữ ký kỹ thuật số

Khi tải phần mềm xuống từ Internet, bạn phải tin tưởng (các) nhà phát triển rằng chương trình của họ không độc hại. Tuy nhiên, bạn cũng phải lo lắng về các hacker. Kẻ tấn công có thể thu được rất nhiều lợi ích từ việc hack một trang web và thay thế phần mềm bằng một phiên bản đã được kiểm duyệt lại.

Hãy nghĩ về một trang web lưu trữ tiện ích ví Bitcoin. Nếu kẻ tấn công cố gắng thay thế phiên bản hợp pháp bằng một phiên bản độc hại, thì kẻ đó có thể ăn cắp tiền từ hàng chục nghìn người dùng. Một mục tiêu có giá trị khác đối với cửa sau là một hệ điều hành. Điều này đã xảy ra với Linux Mint trong quá khứ.

Vì vậy, bạn có thể làm gì với nó?

Hàm băm và chữ ký

Các nhà phát triển có ý thức về bảo mật thường sẽ nhóm các tệp thiết lập hoặc kho lưu trữ của họ với tổng kiểm tra mà bạn có thể xác minh. Bạn có thể đọc cách xác minh chúng trên Windows hoặc Linux. Tuy nhiên, vấn đề với những hàm băm này là nếu một hacker thay thế các tệp trên một trang web, anh ta cũng có thể dễ dàng thay thế các hàm băm. Điều này làm cho hàm băm của riêng chúng gần như vô dụng, đặc biệt nếu chúng được lưu trữ trên cùng một máy chủ nơi các chương trình cư trú.

Để làm cho các tổng kiểm tra này trở nên hữu ích, các nhà phát triển cũng có thể ký kỹ thuật số chúng, với sự trợ giúp của cặp khóa công khai và riêng tư. Chỉ người sở hữu khóa cá nhân này mới có thể tạo chữ ký. Chúng chỉ có thể được xác minh bằng khóa công khai tương ứng, được công bố trên Internet. Nếu quá trình xác minh vượt qua, bạn có thể (hầu như luôn luôn) chắc chắn rằng chủ sở hữu khóa cá nhân đã ký vào phần mềm của mình.

Để một hacker vượt qua cơ chế bảo mật này, bằng cách nào đó anh ta phải đánh cắp khóa cá nhân, điều này khó thực hiện hơn nhiều nếu chủ sở hữu thực hiện các biện pháp thích hợp để giữ bí mật. Và ngay cả khi chìa khóa bị đánh cắp, chủ sở hữu có thể làm mất hiệu lực của nó bằng cách thu hồi và thông báo. Nếu điều này xảy ra, khi bạn tải xuống khóa công khai của anh ấy / cô ấy và cố gắng sử dụng nó để xác minh chữ ký, bạn sẽ được thông báo rằng khóa này đã bị thu hồi.

Cách xác minh chữ ký bằng GnuPG (GPG)

Tiện ích gpg thường được cài đặt theo mặc định trên tất cả các bản phân phối. Nếu vì lý do nào đó, nó bị thiếu, bạn có thể cài đặt nó bằng các lệnh bên dưới. Trên một số bản phân phối, nếu bạn gặp lỗi như “ gpg:không khởi động được dirmngr‘ / usr / bin / dirmngr ’:Không có tệp hoặc thư mục như vậy, ”Bạn phải cài đặt dirmngr nữa.

Trên Debian, Ubuntu hoặc các bản phân phối dựa trên Debian, hãy chạy:

sudo apt install gnupg dirmngr

Đối với RedHat / CentOS:

sudo yum install gnupg dirmngr

và trên Fedora:

sudo dnf install gnupg dirmngr

Bạn có thể làm theo ví dụ dưới đây để kiểm tra xem bạn sẽ xác minh ISO trình cài đặt Debian 9.8.0 như thế nào.

Tải xuống “SHA256SUMS”, “SHA256SUMS.sign,” và “debian-9.8.0-amd64-netinst.iso.” Bạn có thể phải nhấp chuột phải vào hai tệp đầu tiên và chọn “Lưu liên kết dưới dạng” hoặc tương đương, trong trình duyệt web của bạn. Nếu không, nhấp vào chúng có thể chỉ hiển thị nội dung của chúng thay vì tự động tải xuống.

Mở trình mô phỏng thiết bị đầu cuối và thay đổi thư mục chứa các bản tải xuống của bạn.

cd Downloads/

Kiểm tra xác minh

Chờ cho quá trình tải xuống ISO hoàn tất. Tiếp theo, xác minh tổng kiểm tra SHA256.

sha256sum -c SHA256SUMS

Cách xác minh tính xác thực của phần mềm Linux bằng chữ ký kỹ thuật số

Bạn sẽ thấy tên của tệp, theo sau là thông báo “OK” khi tổng kiểm tra tốt. Để xác minh các loại tổng kiểm tra khác, bạn có các lệnh sau:sha1sum , sha512sum , md5sum . Tuy nhiên, bạn nên sử dụng ít nhất số tiền SHA256 trở lên, nếu có sẵn.

Một số trang web không cung cấp các tệp như SHA256SUMS, trong đó tên tệp và tổng kiểm tra được nhóm lại với nhau để dễ dàng xác minh. Nếu họ chỉ hiển thị tổng trên trang web của họ, thì hãy xác minh hàm băm của tệp bằng lệnh như:

sha256sum debian-9.8.0-amd64-netinst.iso

Sử dụng GPG để xác minh séc đã ký

Trong ví dụ này, nhóm Debian đã ký vào tệp “SHA256SUMS” bằng khóa riêng của họ và lưu nó trong tệp “SHA256SUMS.sign”. Xác minh chữ ký bằng:

gpg --verify SHA256SUMS.sign SHA256SUMS

Bạn sẽ nhận được thông báo này:

gpg: Signature made Sun 17 Feb 2019 05:10:29 PM EET
gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B
gpg: Can't check signature: No public key

Điều này có nghĩa là bạn không có khóa công khai trên máy tính của mình, điều này là bình thường. Bạn phải nhập nó từ một máy chủ khóa.

gpg --keyserver keyring.debian.org --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B

Nếu máy chủ bàn phím bị hỏng, bạn có thể sử dụng máy chủ thay thế. Ví dụ:bạn có thể thay thế keyring.debian.org với keyserver.ubuntu.com .

Nhưng làm thế nào để bạn biết khóa này là hợp pháp? Thật không may, để hoàn toàn chắc chắn, bạn sẽ cần phải xây dựng một thứ gọi là web tin cậy. Rõ ràng, bạn không có nó vào thời điểm này. Nhưng có một số điều bạn có thể làm.

Google lấy dấu vân tay của khóa (DF9B9C49EAA9298432589D76DA87E80D6294BE9B). Nếu bạn không tìm thấy bất cứ điều gì, hãy thử chỉ Google tám ký tự cuối cùng (6294BE9B). Một khóa hợp pháp sẽ được đề cập trên nhiều trang web liên quan đến phần mềm tương tự. Hơn nữa, các bài đăng thường sẽ kéo dài trong nhiều năm vì khóa được bảo vệ an toàn sẽ được sử dụng trong một thời gian dài.

Nếu bạn thực sự hoang tưởng, hãy tải xuống hình ảnh BitTorrent, sau đó xác minh tổng kiểm tra và chữ ký. Cách hoạt động của torrent, không thể thay thế các tệp được tải lên bởi hàng trăm người dùng khác nhau. Hơn nữa, BitTorrent cũng có các cơ chế riêng để xác minh tính toàn vẹn của mọi phần dữ liệu mà nó tải xuống.

Bây giờ bạn đã có khóa công khai, cuối cùng bạn có thể xác minh chữ ký:

gpg --verify SHA256SUMS.sign SHA256SUMS

Cách xác minh tính xác thực của phần mềm Linux bằng chữ ký kỹ thuật số

Nếu bạn thấy "Chữ ký tốt", điều đó có nghĩa là mọi thứ đã được kiểm tra. Đừng lo lắng về cảnh báo – điều đó là bình thường vì như đã đề cập, bạn không có trang web tin cậy được thiết lập đối với khóa công khai.

Kết luận

Như bạn có thể đã biết, không có gì là chắc chắn trên Internet. Nhưng chắc chắn sẽ an toàn hơn nếu thực hiện các biện pháp phòng ngừa và xác minh chữ ký số của các tệp bạn tải xuống có thể giúp bạn tránh phần mềm độc hại. Nhiều khi người dùng đã tải xuống hệ điều hành đã được kiểm duyệt lại hoặc phần mềm ví Bitcoin, họ có thể tránh được rắc rối nếu họ kiểm tra chữ ký, vì những chữ ký đó chưa bị giả mạo.