Ang ilang mga developer ay nag-foul up ng open-source na software

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

Getty Images

Isa sa mga pinakakahanga-hangang bagay tungkol sa open-source ay hindi ang paggawa nito ng mahusay na software. Isinasantabi ng napakaraming developer ang kanilang mga ego upang lumikha ng mahuhusay na programa sa tulong ng iba. Ngayon, gayunpaman, ang ilang mga programmer ay inuuna ang kanilang sariling mga alalahanin kaysa sa kabutihan ng marami at potensyal na sumira ng open-source na software para sa lahat.

Halimbawa, ang tagapamahala ng package manager ng JavaScript na RIAEvangelist, Brandon Nozaki Miller, nagsulat at naglathala ng open-code npm source-code package na tinatawag na peacenotwar. Wala itong nagawa ngunit nag-print ng mensahe para sa kapayapaan sa mga desktop. So far, sobrang harmless. 

Pagkatapos ay ipinasok ni Miller ang malisyosong code sa package upang i-overwrite ang mga filesystem ng mga user kung ang kanilang computer ay mayroong Russia o Belarus IP address. Pagkatapos ay idinagdag niya ito bilang isang dependency sa kanyang sikat node-ipc programa at agarang kaguluhan! Maraming server at PC ang bumaba habang nag-update sila sa pinakabagong code at pagkatapos ay nabura ang mga drive ng kanilang system. 

Depensa ni Miller, “Lahat ito ay pampubliko, dokumentado, lisensyado at open source,” hindi humawak. 

Liran Tal, ang Snyk Sinabi ng mananaliksik na nakatuklas sa problema, “Kahit na ang sinadya at mapanganib na kilos [ay] itinuturing ng ilan bilang isang lehitimong pagkilos ng protesta, paano ito sumasalamin sa reputasyon sa hinaharap ng tagapagpanatili at stake sa komunidad ng developer? Mapagkakatiwalaan pa ba itong maintainer na ito na hindi mag-follow up sa mga susunod na aksyon sa mga ganoon o mas agresibong aksyon para sa anumang proyektong nilalahukan nila?" 

Si Miller ay hindi isang random na pihitan. Gumawa siya ng maraming magandang code, tulad ng node-ipc, at Node HTTP Server. Ngunit, mapagkakatiwalaan mo ba ang alinman sa kanyang code na hindi maging malisyoso? Habang inilalarawan niya ito bilang "hindi malware, [ngunit] protestware na ganap na dokumentado,” ang iba ay makamandag na hindi sumasang-ayon. 

Tulad ng isinulat ng isang programmer ng GitHub, "Ano ang mangyayari dito ay ang mga pangkat ng seguridad sa mga korporasyong Kanluranin na talagang walang kinalaman sa Russia o pulitika ay magsisimulang makita libre at open-source na software bilang isang paraan para sa mga pag-atake sa supply chain (kung saan ito ay ganap) at simulan lamang ang pagbabawal sa libre at open-source na software — lahat ay libre at open-source na software — sa loob ng kanilang mga kumpanya. 

Tulad ng isinulat ng isa pang developer ng GitHub na may handle nm17, "Ang trust factor ng open source, na kung saan ay batay sa mabuting kalooban ng mga developer ay halos wala na ngayon, at ngayon, parami nang parami ang napagtatanto na balang araw, ang kanilang library/application ay posibleng mapagsamantalahan upang gawin/sabihin ang anumang iniisip ng ilang random na dev sa internet ' ay ang tamang bagay na kanilang gawin.'”

Parehong gumagawa ng mga wastong puntos. Kapag hindi mo magagamit ang source code maliban kung sumasang-ayon ka sa pampulitikang paninindigan ng gumawa nito, paano mo ito magagamit nang may kumpiyansa? 

Maaaring nasa tamang lugar ang puso ni Miller — Slava Ukraini! — ngunit ang open-source software ba ay nahawaan ng malisyosong payload ang tamang paraan upang maprotektahan ang pagsalakay ng Russia sa Ukraine? Hindi. 

Gumagana lang ang open-source na paraan dahil nagtitiwala kami sa isa't isa. Kapag nasira ang tiwala na iyon, anuman ang dahilan, masisira ang pangunahing balangkas ng open-source. Gaya ng sinabi ni Greg Kroah-Hartman, ang Linux kernel maintainer para sa stable branch, nang ang mga mag-aaral mula sa University of Minnesota ay sadyang sinubukang magpasok ng masamang code sa Linux kernel para sa isang eksperimento noong 2021, "Ang ginagawa nila ay sinasadyang malisyosong pag-uugali at ay hindi katanggap-tanggap at ganap na hindi etikal.”

Matagal nang pinagtatalunan ng mga tao na ang open-source ay dapat magsama rin ng mga etikal na probisyon. Halimbawa, noong 2009 Exception General Public License (eGPL), isang rebisyon ng GPLv2, sinubukang ipagbawal ang "mga eksepsiyon," gaya ng mga gumagamit at supplier ng militar, na gamitin ang code nito. Nabigo ito. Iba pang mga lisensya tulad ng Lisensya ng JSON na may matamis na walang muwang na sugnay na "ang software ay dapat gamitin para sa kabutihan, hindi kasamaan" na nasa paligid, ngunit walang sinuman ang nagpapatupad nito.  

Kamakailan lamang, ang aktibista at developer ng software na si Coraline Ada Ehmke ay nagpakilala ng isang open-source na lisensya na nangangailangan ng mga user nito na kumilos nang may moralidad. Sa partikular, siya Hippocratic na lisensya idinagdag sa Lisensya ng open-source ng MIT isang sugnay na nagsasabi: 

“Ang software ay hindi maaaring gamitin ng mga indibidwal, korporasyon, pamahalaan, o iba pang grupo para sa mga sistema o aktibidad na aktibo at sadyang naglalagay sa panganib, nakakapinsala, o kung hindi man ay nagbabanta sa pisikal, mental, ekonomiya, o pangkalahatang kagalingan ng mga kapus-palad na indibidwal o grupo sa paglabag sa United Nations Universal Declaration of Human Rights.”

Mukhang maganda, ngunit hindi ito open source. Kita mo, ang open-source ay nasa at sa sarili nitong isang etikal na posisyon. Ang etika nito ay nakapaloob sa Libreng Software Foundation (FSF)'s Apat na Mahahalagang Kalayaan. Ito ang pundasyon para sa lahat ng open-source na lisensya at ang kanilang pangunahing pilosopiya. Bilang open-source legal expert at Columbia law professor Eben Moglen, sinabi noong panahong ang mga etikal na lisensya ay hindi maaaring maging libreng software o open-source na mga lisensya: 

"Freedom zero, ang karapatang patakbuhin ang programa para sa anumang layunin, ay nauuna sa apat na kalayaan dahil kung ang mga gumagamit ay walang karapatan na may kinalaman sa mga program sa computer na kanilang pinapatakbo, sa huli ay wala silang anumang mga karapatan sa mga program na iyon. Ang mga pagsisikap na magbigay ng pahintulot para lamang sa mabubuting gamit, o upang ipagbawal ang masasama sa paningin ng tagapaglisensya, ay lumalabag sa kahilingan na protektahan ang zero sa kalayaan.” 

Sa madaling salita, kung hindi mo maibabahagi ang iyong code para sa anumang kadahilanan, ang iyong code ay hindi tunay na open-source. 

Ang isa pang mas pragmatikong argumento tungkol sa pagbabawal sa isang grupo mula sa paggamit ng open-source na software ay ang pagharang sa isang bagay tulad ng isang IP address ay isang napakalawak na brush. Bilang Florian Roth, kumpanya ng seguridad Mga Sistema ng Nextron' Pinuno ng Pananaliksik, na itinuturing na "hindi pagpapagana ng aking mga libreng tool sa mga system na may ilang mga setting ng wika at time zone,” sa wakas ay nagpasya na huwag. Bakit? Dahil sa paggawa nito, "idi-disable din namin ang mga tool sa mga sistema ng mga kritiko at freethinkers na kinondena ang mga aksyon ng kanilang mga pamahalaan.” 

Sa kasamaang-palad, hindi lang mga tao ang sumusubok na gumamit ng open-source para sa nakikita nila bilang mas mataas na etikal na layunin ang nagdudulot ng problema para sa open-source na software. 

Sa unang bahagi ng taong ito, sadyang sinasabotahe ng developer ng JavaScript na si Marak Squires ang kanyang hindi malinaw, ngunit napakahalagang open-source na mga library ng Javascript na 'colors.js' at 'faker.js." Ang resulta? Sampu-sampung libong mga programa ng JavaScript ang sumabog.

Bakit? Hindi pa rin ito lubos na malinaw, ngunit sa isang natanggal na post sa GitHub, isinulat ni Squires, "Magalang, Hindi na ako susuporta sa Fortune 500s ( at iba pang maliliit na kumpanya ) kasama ang aking libreng trabaho. Wala nang ibang masabi. Kunin ito bilang isang pagkakataon na padalhan ako ng anim na numero na taunang kontrata o i-fork ang proyekto at magkaroon ng ibang tao na gumawa nito." Tulad ng maaari mong isipin, ang pagtatangkang ito na i-blackmail ang kanyang paraan sa isang suweldo ay hindi naging maganda para sa kanya. 

At, pagkatapos ay mayroong mga tao na sadyang naglalagay ng malware sa kanilang open-source code para sa kasiyahan at kita. Halimbawa, ang kumpanya ng seguridad ng DevOps JFrog nakatuklas ng 17 bagong malisyosong pakete ng JavaScript sa repositoryo ng NPM na sadyang umaatake at nagnanakaw ng mga token ng Discord ng user. Ang mga ito ay maaaring gamitin sa Discord communications at digital distribution platform.

Bukod sa paggawa ng mga bagong nakakahamak na open-source na program na mukhang inosente at kapaki-pakinabang, ang ibang mga umaatake ay kumukuha ng luma, inabandunang software at muling isinusulat ang mga ito upang isama ang crypto coin stealing backdoors. Ang isang naturang programa ay ang stream ng kaganapan. Mayroon itong malisyosong code na ipinasok dito upang magnakaw ng mga wallet ng bitcoin at ilipat ang kanilang mga balanse sa isang server ng Kuala Lumpur. Mayroong ilang mga katulad na yugto sa paglipas ng mga taon.

Sa bawat ganoong pagkilos, ang pananampalataya sa open-source na software ay nawawala. Dahil ang open-source ay ganap na mahalaga sa modernong mundo, ito ay isang masamang trend. 

Ano ang maaari nating gawin tungkol dito? Well, sa isang bagay, dapat nating isaalang-alang nang mabuti kung kailan, kung sakaling, dapat nating harangan ang paggamit ng open-source code. 

Mas praktikal, dapat nating simulan ang paggamit ng Linux Foundation's Software Package Data Exchange (SPDX) at Software Bill of Materials (SBOM). Sabay-sabay na sasabihin sa amin ng mga ito kung anong code ang ginagamit namin sa aming mga programa at kung saan ito nanggaling. Pagkatapos, mas makakagawa tayo ng matalinong mga desisyon.

Ngayon, ang lahat-ng-madalas na mga tao ay gumagamit ng open-source code nang hindi alam kung ano mismo ang kanilang pinapatakbo o sinusuri ito para sa mga problema. Ipinapalagay nila na maayos ang lahat. Iyan ay hindi kailanman naging isang matalinong palagay. Ngayon, ito ay talagang hangal. 

Kahit na sa lahat ng mga kamakailang pagbabagong ito, ang open-source ay mas mahusay at mas ligtas pa rin kaysa sa black-box proprietary software na mga alternatibo. Ngunit, dapat nating suriin at i-verify ang code sa halip na bulag na pagtitiwala dito. Ito ang tanging matalinong bagay na dapat gawin sa pasulong.

Mga Kaugnay na Kwento:



pinagmulan