Apa itu open source?

Perangkat lunak open source adalah perangkat lunak yang kode sumbernya telah tersedia untuk umum oleh pemegang hak ciptanya. Di bawah lisensi open source sejati, perangkat lunak ini dikembangkan secara kolaboratif, dan pemrogram lain dapat melihat, memodifikasi, atau menggunakan kode tujuan mereka sendiri. Model open source "murni" ini sering disebut sebagai FOSS (perangkat lunak bebas dan sumber terbuka).


Varian open source adalah "sumber tersedia", yang berarti bahwa tidak ada izin yang diberikan untuk mengubah atau menggunakan kode, tetapi tersedia untuk inspeksi. Untuk tujuan keamanan ini sama baiknya dengan open source yang sebenarnya, jadi ketika saya merujuk ke "open source" dalam artikel ini, saya memasukkan kode yang "sumber tersedia".

Apa itu sumber tertutup?

Sebagian besar perangkat lunak ditulis dan dikembangkan oleh perusahaan komersial. Maklum, perusahaan-perusahaan ini tidak ingin orang lain mencuri kerja keras atau rahasia dagang mereka, sehingga mereka menyembunyikan kode mereka dari mata yang mengintip menggunakan enkripsi, dan segala upaya untuk menggunakan atau memodifikasi kode tanpa izin akan mengakibatkan tuntutan hukum atau lebih buruk lagi..

Jadi apa masalahnya?

Seperti yang saya katakan, ini semua cukup dimengerti, tetapi ketika menyangkut keamanan, ini menghadirkan masalah besar. Jika tidak ada yang bisa melihat detail dari apa yang dilakukan suatu program, bagaimana kita bisa tahu bahwa itu tidak melakukan sesuatu yang berbahaya? Pada dasarnya kita tidak bisa, jadi kita hanya harus mempercayai perusahaan yang terlibat, yang merupakan sesuatu yang kita enggan lakukan untuk jenis keamanan paranoid (dengan alasan yang bagus).

Mengapa open source solusi terbaik?

Jika kode adalah open source, maka kode tersebut dapat diperiksa dan diaudit secara independen oleh siapa pun yang memenuhi syarat untuk melakukannya, untuk memastikan bahwa tidak ada pintu belakang, kerentanan, atau masalah keamanan lainnya. Open source bukan solusi yang sempurna (lihat di bawah), tetapi ini adalah satu-satunya cara untuk memverifikasi bahwa perangkat lunak hanya melakukan persis apa yang seharusnya dilakukan.

Bahkan jika kode tersebut belum diaudit, fakta bahwa kode itu tersedia secara bebas untuk diaudit memberikan indikasi kuat bahwa ia dapat dipercaya, karena tidak mungkin pengembang akan memasukkan kode berbahaya dan kemudian membiarkannya terbuka untuk ditemukan oleh siapa saja yang peduli untuk melihatnya.

Bukan solusi yang sempurna ...

Sayangnya, ada sejumlah individu dengan keterampilan dan waktu untuk mengaudit perangkat lunak open source (biasanya gratis), yang berarti bahwa sebagian besar program sumber terbuka belum diaudit..

Masalah ini diperparah oleh kenyataan bahwa banyak program open source sangat kompleks, berisi ribuan baris kode, sehingga bahkan jika mereka telah diaudit, sangat mungkin bahwa auditor melewatkan masalah (terutama jika kode berbahaya telah sengaja disembunyikan).

Tapi…

Open source, oleh karena itu, tidak menjamin suatu program adalah "bersih", tetapi bagaimanapun juga merupakan jaminan terbaik bahwa kita memiliki (atau dapat memiliki) bahwa memang demikian. Alternatifnya adalah sumber tertutup, yang tidak memberikan jaminan apa pun.

Selalu verifikasi program sumber terbuka

Jadi open source sangat bagus untuk keamanan. Yay! Tetapi bagaimana Anda bisa tahu dengan pasti bahwa program open source yang baru saja Anda unduh belum dirusak?

Ini mungkin terdengar seperti pemikiran fantasi konspirasi paranoid whacko, tetapi pada bulan Februari 2016 situs web salah satu versi paling populer dari Sistem Operasi open source Linux, Linux Mint, diretas, dan versi OS yang dikompromikan tersedia untuk pengunduh,

"Peretas membuat Linux Mint ISO yang dimodifikasi, dengan pintu belakang di dalamnya, dan berhasil meretas situs web kami untuk menunjukkannya."

Gambar ISO Linux yang terinfeksi menginstal OS lengkap dengan Internet Relay Chat (IRC) backdoor Tsunami, yang memberi para penyerang akses ke sistem pengguna melalui server IRC. Jadi ancamannya sangat nyata.

Dalam hal ini, pengunduh yang repot untuk memeriksa hash MD5 file (lihat di sini untuk cara melakukan ini) akan melihat penipuan, tetapi pemeriksaan hash semacam itu bukan perlindungan yang dapat diandalkan karena jika sebuah situs web dapat diretas sejak awal, itu sepele untuk mengganti checksum yang diterbitkan dengan yang salah yang memverifikasi file yang terdiri.

Jauh lebih baik bagi pengembang untuk menandatangani perangkat lunak mereka secara digital sehingga pengguna dapat memverifikasi keaslian file (pengembang Mint sangat lemah dalam hal ini, karena perangkat lunak mereka tidak ditandatangani secara digital, dan bahkan fungsi hash MD5 yang digunakan diketahui. untuk dilanggar!)

Silakan lihat artikel saya tentang tanda tangan digital - mengapa dan bagaimana Anda harus menggunakannya untuk informasi lebih lanjut. Sayangnya, memverifikasi tanda tangan digital adalah sesuatu yang menyakitkan, tetapi perlu jika Anda peduli dengan keamanan.

Saya juga harus mencatat bahwa, idealnya, semua perangkat lunak harus ditandatangani dan diverifikasi secara digital, tetapi karena kode sumber terbuka dapat dimodifikasi secara bebas oleh siapa pun, lebih mudah untuk mengutak-atik daripada kode sumber tertutup. Karena itu sangat penting untuk memverifikasi program sumber terbuka.

Sumber Terbuka: Kesimpulan

Open source bukanlah solusi yang sempurna, tetapi ia memberikan jaminan terbaik (dan hanya!) Yang memungkinkan perangkat lunak dapat dipercaya. Alternatifnya adalah sumber tertutup, yang tidak memberikan jaminan apa pun (selain keyakinan buta terhadap perusahaan, yang tidak pantas diterima oleh perusahaan teknologi).

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me