Seperti 99% pengguna, saya menginstal Ubuntu dari binari yang sudah jadi.
Bagaimana saya bisa memverifikasi diri saya bahwa binari itu sebenarnya dari kode sumber asli dari Ubuntu?
Akan lebih baik untuk memverifikasi bahwa NSA / seseorang belum berkolaborasi dengan Ubuntu atau Linode (penyedia VPS saya) untuk mengacaukan binari. Jika kita dapat memverifikasi binari, mereka juga tidak akan mencoba ini sejak awal karena akan mudah untuk memanggilnya.
apt-get source
, atau menggunakannya untuk mengkompilasi kode Anda sendiri. Lihat pertanyaan ini: askubuntu.com/questions/28372/…Jawaban:
Anda dapat mengunduh kode sumber dan mengompilasinya sendiri. Tapi tunggu - pertama Anda harus memeriksa kode sumber itu, karena jika Canonical berkolaborasi dengan NSA, mereka mungkin telah memasukkan beberapa kode di suatu tempat untuk memungkinkan keylogger atau sesuatu yang dapat diaktifkan dari jarak jauh.
Begitu...
Tapi tunggu - bisakah Anda mempercayai kompiler ?
sumber
Jika Anda tidak mau menerima "karena Ubuntu mengatakan demikian", maka Anda tidak bisa.
sumber
Ubuntu menawarkan cara yang nyaman untuk mengkompilasi paket di komputer Anda sendiri. Namun, tidak ada cara untuk memeriksa bahwa executable dalam paket biner yang Anda unduh telah diperoleh dari kode sumber itu. Proses penandatanganan yang digunakan oleh Ubuntu mengurangi risiko gangguan pihak ketiga dengan paket secara substansial, tetapi Anda masih harus percaya bahwa tidak ada kode berbahaya yang ditambahkan sebelum kompilasi yang tidak tercermin dalam kode sumber yang dapat diunduh.
Alasannya adalah bahwa sangat sulit untuk mendapatkan binari yang sama persis seperti yang ada dalam paket yang dikompilasi, karena ini tergantung pada versi kompiler yang tepat, opsinya, dan mungkin ada juga beberapa path atau variabel lingkungan yang dikompilasi ke dalam biner. Jadi, Anda tidak akan dapat memperoleh biner yang sama persis saat mengkompilasi sendiri, yang akan "memverifikasi" biner yang diunduh.
Sebenarnya ada komunitas riset kecil di sekitar masalah ini - bagaimana membuat kompilasi dapat diulang.
Karena itu, perbandingan manual dari biner yang diunduh dan yang dikompilasi sendiri dapat mendeteksi kode yang ditambahkan / dimodifikasi, sehingga akan berisiko bagi seseorang yang menawarkan binari dan kode sumber untuk menyembunyikan sesuatu dalam binari, karena hal ini dapat dideteksi.
Tapi kemudian ada juga masalah mempercayai kompiler, seperti yang telah disebutkan ...
sumber
Ini adalah masalah yang sulit untuk membuat binari yang sama persis pada dua mesin yang berbeda. Proyek TOR melakukan ini sebagai bagian rutin dari pembangunan mereka. Ada deskripsi bagaimana mereka melakukannya. Debian dan Fedora tampaknya memiliki proyek yang memungkinkan distribusi ini, tetapi mereka masih dalam tahap awal. Sepertinya tidak ada pekerjaan yang dilakukan di Ubuntu .
Untuk mereproduksi Paket biner Ubuntu Anda perlu mereproduksi lingkungan yang dibuat sedekat mungkin. Untuk mulai dengan itu, Anda harus terlebih dahulu mencari tahu di mana dan bagaimana paket ini dikompilasi. Sepertinya informasi itu tidak mudah ditemukan.
sumber
Memeriksa dengan MD5 Ubuntu. Jika MD5 yang Anda dapatkan dari file Anda cocok dengan yang diterbitkan oleh Ubuntu maka tidak ada yang merusak peralihan binari.
sumber
Itu adalah pekerjaan yang sulit, saya pikir kepercayaan di sini lebih baik daripada pekerjaan yang rumit ini. Tapi pertanyaannya Bisakah Anda percaya?
Karena perangkat lunak open source memberikan banyak kebebasan bagi pengguna untuk mengubah kode, Anda tidak dapat mempercayai siapa pun.
Mari kita membuat skenario untuk tujuan ini, saya ingin memeriksa itu
Ubuntu == source code
, tunggu. Mengapa Anda tidak mencoba membandingkan paket dengan sumbernya?Tetapi bagi saya membandingkan dengan baik memberi Anda hasil yang sedikit berbeda karena stempel waktu yang berbeda, lingkungan, tetapi apakah itu membuktikan bahwa itu bukan dari kode sumber!
sumber