Sawetara pangembang ngrusak piranti lunak sumber terbuka

gettyimages-1159346361-malicious-code-skull-crossbones.jpg

Getty Images

Salah sawijining perkara sing paling nggumunake babagan sumber terbuka yaiku ora ngasilake piranti lunak sing apik. Dadi, akeh pangembang sing nyingkirake ego kanggo nggawe program sing apik kanthi bantuan wong liya. Nanging, saiki, sawetara programer ngutamakake keprihatinan dhewe tinimbang kabecikan saka piranti lunak open-source sing akeh lan bisa ngrusak kabeh wong.

Contone, manager manager paket JavaScript RIAEvangelist, Brandon Nozaki Miller, nulis lan nerbitake paket kode sumber npm open-code sing diarani peacenotwar. Iku ora sethitik nanging print pesen kanggo tentrem kanggo desktop. Nganti saiki, ora mbebayani. 

Miller banjur nglebokake kode ala menyang paket kanggo nimpa sistem file pangguna yen komputer duwe alamat IP Rusia utawa Belarus. Dheweke banjur nambahake minangka ketergantungan marang populer simpul-ipc program lan lam cepet! Akeh server lan PC sing mudhun amarga nganyari kode paling anyar lan banjur sistem drive dibusak. 

pertahanan Miller, "Iki kabeh umum, didokumentasikan, dilisensi lan sumber terbuka,” ora tahan. 

Liran Tal, ing Snyk Peneliti sing nemokake masalah kasebut ujar, "Sanajan tumindak sing disengaja lan mbebayani [dianggap dening sawetara minangka tumindak protes sing sah, carane ora sing nggambarake ing ajining diri maintainer kang lan saham ing komunitas pangembang? Apa maintainer iki bisa dipercaya maneh kanggo ora ngetutake tumindak ing mangsa ngarep ing tumindak kasebut utawa malah luwih agresif kanggo proyek apa wae sing ditindakake? 

Miller dudu crank acak. Dheweke ngasilake akeh kode sing apik, kayata node-ipc, lan Node HTTP Server. Nanging, apa sampeyan bisa ngandelake salah sawijining kode supaya ora mbebayani? Nalika dheweke nggambarake minangka "ora malware, [nanging] protestware kang kebak nyathet,” liyane venomously ora setuju. 

Minangka salah sawijining programmer GitHub nulis, "Apa sing bakal kelakon yaiku tim keamanan ing perusahaan Barat sing ora ana hubungane karo Rusia utawa politik bakal diwiwiti. lunak free lan mbukak-sumber minangka dalan kanggo serangan chain sumber (sing kabeh iki) lan mung miwiti nglarang piranti lunak gratis lan sumber terbuka - kabeh piranti lunak gratis lan sumber terbuka - ing perusahaane. 

Minangka pangembang GitHub liyane kanthi gagang nm17 nulis, "The faktor kepercayaan saka open source, sing adhedhasar kekarepan para pangembang saiki wis ora ana, lan saiki, luwih akeh wong sing ngerti yen sawijining dina, perpustakaan / aplikasi bisa dimanfaatake kanggo nindakake / ngomong apa wae sing dipikirake dening dev acak ing internet ' iku tumindak sing bener.'”

Loro-lorone nggawe poin sing bener. Yen sampeyan ora bisa nggunakake kode sumber kajaba sampeyan setuju karo sikap politik sing nggawe, kepiye sampeyan bisa nggunakake kanthi yakin? 

Atine Miller bisa uga ana ing papan sing bener — Slava Ukraini! — nanging apa piranti lunak open-source kena infeksi muatan jahat minangka cara sing bener kanggo nglindhungi invasi Rusia ing Ukraina? Ora, ora. 

Cara mbukak-sumber mung bisa digunakake amarga kita saling percaya. Yen kapercayan kasebut rusak, apa wae sababe, kerangka dhasar sumber terbuka bakal rusak. Minangka Greg Kroah-Hartman, maintainer kernel Linux kanggo cabang stabil, ngandika nalika mahasiswa saka Universitas Minnesota sengaja nyoba nglebokake kode ala ing kernel Linux kanggo eksprimen ing 2021 ngandika, "Apa sing lagi dilakoni iku tumindak ala sing disengaja lan ora bisa ditampa lan ora etis.

Wong wis suwe mbantah manawa sumber terbuka uga kudu kalebu pranata etika. Contone, 2009 Lisensi Umum Umum Pengecualian (eGPL), revisi saka GPLv2, nyoba nglarang "pengecualian," kayata pangguna lan pemasok militer, nggunakake kode kasebut. Gagal. Lisensi liyane kayata Lisensi JSON karo sweetly naif sawijining "lunak bakal digunakake kanggo apik, ora ala" klausa isih ana, nanging ora ana sing ngleksanakake.  

Paling anyar, aktivis lan pangembang piranti lunak Coraline Ada Ehmke ngenalake lisensi sumber terbuka sing mbutuhake pangguna tumindak kanthi moral. Khusus, dheweke Lisensi Hippocratic ditambahake menyang Lisensi sumber terbuka MIT klausa kang ngandharake: 

"Perangkat lunak kasebut ora bisa digunakake dening individu, perusahaan, pemerintah, utawa klompok liyane kanggo sistem utawa kegiatan sing kanthi aktif lan sengaja mbebayani, cilaka, utawa ngancam kesejahteraan fisik, mental, ekonomi, utawa umume individu utawa kelompok sing ora duwe hak. nglanggar Deklarasi Universal Hak Asasi Manusia PBB."

Swara apik, nanging ora mbukak sumber. Sampeyan ndeleng, open-source ing lan dhewe posisi etis. Etika kasebut ana ing Free Software Foundation (FSF)'s Papat Kebebasan Penting. Iki minangka dhasar kanggo kabeh lisensi sumber terbuka lan filosofi inti. Minangka ahli hukum open-source lan profesor hukum Columbia, Eben Moglen, ujar manawa lisensi etika ora bisa dadi piranti lunak gratis utawa lisensi sumber terbuka: 

"Kebebasan nul, hak kanggo mbukak program kanggo maksud apa waé, rawuh pisanan ing papat kabebasan amarga yen pangguna ora duwe hak bab program komputer sing mbukak, padha pungkasanipun ora duwe hak ing program kasebut ing kabeh. Upaya kanggo menehi ijin mung kanggo panggunaan sing apik, utawa nglarang sing ala ing mripate pemberi lisensi, nglanggar syarat kanggo nglindhungi kebebasan nol. 

Ing tembung liyane, yen sampeyan ora bisa nuduhake kode sampeyan kanthi alasan apa wae, kode sampeyan dudu sumber terbuka. 

Argumentasi liyane sing luwih pragmatis babagan nglarang siji klompok nggunakake piranti lunak open-source yaiku mblokir barang kayata alamat IP minangka sikat sing amba banget. Minangka Florian Roth, perusahaan keamanan Sistem Nextron' Kepala Riset, sing dianggep "mateni alat gratis ing sistem kanthi setelan basa lan zona wektu tartamtu," pungkasane mutusake ora. Kenging punapa? Amarga kanthi nglakoni, "kita uga bakal mateni alat ing sistem kritikus lan freethinkers sing ngukum tumindake pamrentahane.” 

Sayange, ora mung wong sing nyoba nggunakake sumber terbuka kanggo tujuan etika sing luwih dhuwur sing nyebabake masalah kanggo piranti lunak sumber terbuka. 

Awal taun iki, pangembang JavaScript Marak Squires sengaja nyabotase perpustakaan Javascript 'colors.js' lan 'faker.js' sing ora jelas, nanging penting banget. Hasile? Puluhan ewu program JavaScript nyebul.

Kenging punapa? Isih durung jelas, nanging ing kiriman GitHub sing wis dibusak, Squires nulis, "Murmat, Aku ora bakal ndhukung Fortune 500s maneh ( lan perusahaan ukuran cilik liyane ) kanthi karya gratisku. Ora akeh liyane sing kudu diomongake. Njupuk iki minangka kesempatan kanggo ngirim kula kontrak tahunan enem angka utawa garpu proyek lan duwe wong liya nggarap. Kaya sing sampeyan bayangake, upaya kanggo meres dalan menyang gaji ora bisa ditindakake kanthi becik. 

Lan, banjur ana wong sing sengaja nglebokake malware menyang kode sumber terbuka kanggo seneng-seneng lan entuk bathi. Contone, perusahaan keamanan DevOps JFrog nemokake 17 paket jahat JavaScript anyar ing gudang NPM sing sengaja nyerang lan nyolong token Discord pangguna. Iki banjur bisa digunakake ing Komunikasi Discord lan platform distribusi digital.

Kejabi nggawe program open-source angkoro anyar sing katon resik lan mbiyantu, panyerang liyane njupuk piranti lunak lawas sing ditinggalake lan nulis maneh kanggo nyakup koin crypto sing nyolong lawang mburi. Salah sawijining program kasebut yaiku aliran acara. Wis kode angkoro dilebokake kanggo nyolong dompet bitcoin lan nransfer saldo menyang server Kuala Lumpur. Ana sawetara episode sing padha sajrone pirang-pirang taun.

Kanthi saben pamindhahan kasebut, iman ing piranti lunak sumber terbuka wis rusak. Wiwit open-source pancen penting banget kanggo jagad modern, iki minangka tren sing ala. 

Apa sing bisa ditindakake? Inggih, siji bab, kita kudu nimbang banget tenan nalika, yen tau, kita kudu mblokir nggunakake kode mbukak-sumber. 

Luwih praktis, kita kudu miwiti nggunakake Yayasan Linux Pertukaran Data Paket Perangkat Lunak (SPDX) lan Software Bill of Materials (SBOM). Bareng iki bakal menehi katrangan babagan kode apa sing digunakake ing program lan saka ngendi asale. Banjur, kita bakal luwih bisa nggawe keputusan sing tepat.

Saiki, kabeh-kanggo-asring wong nggunakake kode mbukak-sumber tanpa ngerti persis apa sing lagi mlaku utawa mriksa kanggo masalah. Dheweke nganggep kabeh apik. Iku ora tau dadi asumsi sing cerdas. Dina iki, iku pancen bodho. 

Sanajan kabeh owah-owahan anyar iki, open-source isih luwih apik lan luwih aman tinimbang alternatif piranti lunak proprietary kothak ireng. Nanging, kita kudu mriksa lan verifikasi kode tinimbang percaya kanthi wuta. Iku mung bab pinter kanggo maju.

Related Stories:



sumber