Кейбір әзірлеушілер ашық бастапқы бағдарламалық жасақтаманы бүлдіреді

gettyimages-1159346361-зиянды-код-skull-crossbones.jpg

Getty Images

Ашық бастапқы кодтың ең таңғаларлық нәрселерінің бірі оның керемет бағдарламалық жасақтаманы шығаруында емес. Бұл көптеген әзірлеушілер басқалардың көмегімен керемет бағдарламалар жасау үшін өздерінің эголерін бір жаққа қояды. Дегенмен, қазір бірнеше бағдарламашылар өздерінің алаңдаушылығын барлығына арналған көптеген және ықтимал бұзуы мүмкін ашық бастапқы бағдарламалық қамтамасыз етудің игілігінен жоғары қояды.

Мысалы, JavaScript пакетінің менеджері RIAEvangelist, Брэндон Нозаки Миллер, ашық кодты npm бастапқы код пакетін жазып және жариялады. Ол жұмыс үстеліне тыныштық туралы хабарламаны басып шығарды. Әзірге зиянсыз. 

Содан кейін Миллер пайдаланушылардың компьютерінде Ресей немесе Беларусь IP мекенжайы болса, олардың файлдық жүйелерін қайта жазу үшін пакетке зиянды кодты енгізді. Содан кейін ол оны өзінің танымалдылығына тәуелділік ретінде қосты түйін-IPC бағдарлама және жедел хаос! Көптеген серверлер мен компьютерлер ең жаңа кодқа жаңартылған кезде істен шықты, содан кейін олардың жүйелерінің дискілері өшірілді. 

Миллердің қорғанысы «Мұның барлығы ашық, құжатталған, лицензияланған және ашық бастапқы дереккөз,” тұрмайды. 

Лиран Тал, Снык Мәселені ашқан зерттеуші: «Қасақана жасалған және қауіпті әрекет [кейбіреулер] заңды наразылық актісі ретінде қабылданса да, бұл күтушінің болашақ беделіне қалай әсер етеді? және әзірлеушілер қауымдастығындағы қатысу үлесі бар ма? Бұл қолдаушыға олар қатысатын кез келген жобалар үшін осындай немесе одан да агрессивті әрекеттерде болашақ әрекеттерді қадағаламайтынына тағы да сенуге болады ма?» 

Миллер кездейсоқ емес. Ол көптеген жақсы кодтарды шығарды, мысалы, node-ipc және Түйін HTTP сервері. Бірақ оның кез келген кодының зиянды емес екеніне сене аласыз ба? Ол оны «зиянды бағдарлама емес, [бірақ] толық құжатталған протест-бағдарлама», басқалары улы түрде келіспейді. 

Бір GitHub бағдарламашысы жазғандай: «Бұл не болады, Батыс корпорацияларындағы Ресейге немесе саясатқа мүлдем қатысы жоқ қауіпсіздік топтары көре бастайды. тегін және ашық бастапқы бағдарламалық қамтамасыз ету жеткізу тізбегі шабуылдарының жолы ретінде (бұл мүлдем солай) және жай ғана өз компанияларында тегін және ашық бастапқы бағдарламалық жасақтамаға - барлық тегін және ашық бастапқы бағдарламалық жасақтамаға тыйым салуды бастаңыз. 

Nm17 тұтқасы бар басқа GitHub әзірлеушісі жазғандай, «The ашық көздің сенім факторыӘзірлеушілердің ізгі ниетіне негізделген , қазір іс жүзінде жоғалып кетті, ал қазір көбірек адамдар бір күні олардың кітапханасын/қолданбасын интернеттегі кез-келген кездейсоқ әзірлеуші ​​​​ойлаған нәрсені істеу/айту үшін пайдалануға болатынын түсінеді. Олардың істегендері дұрыс болды”.

Екеуі де дұрыс нүктелер жасайды. Егер сіз оны жасаушының саяси ұстанымымен келіспесеңіз, бастапқы кодты пайдалана алмасаңыз, оны қалай сенімді пайдалана аласыз? 

Миллердің жүрегі дұрыс жерде болуы мүмкін - Слава Украина! — бірақ зиянды пайдалы жүкпен жұқтырылған ашық бастапқы бағдарламалық қамтамасыз ету Ресейдің Украинаға басып кіруінен қорғаудың дұрыс әдісі ме? Жоқ олай емес. 

Ашық бастапқы әдіс тек бір-бірімізге сенетіндіктен ғана жұмыс істейді. Бұл сенім бұзылған кезде, қандай себепке қарамастан, ашық көздің негізгі құрылымы бұзылады. Миннесота университетінің студенттері 2021 жылы эксперимент үшін Linux ядросына әдейі жаман код енгізуге әрекеттенген кезде, тұрақты филиалға арналған Linux ядросының қолдаушысы Грег Кроа-Хартман айтқандай: «Олардың істеп жатқаны - қасақана зиянды әрекет және қабылданбайды және мүлдем этикалық емес».

Адамдар көптен бері ашық көздер этикалық ережелерді қамтуы керек деп санайды. Мысалы, 2009 ж Ерекше жалпы қоғамдық лицензия (eGPL), қайта қарау GPLv2, әскери пайдаланушылар мен жеткізушілер сияқты «ерекшеліктерге» оның кодын пайдалануға тыйым салуға тырысты. Бұл сәтсіз болды. сияқты басқа лицензиялар JSON лицензиясы «Бағдарламалық жасақтама жамандық үшін емес, жақсылық үшін пайдаланылады» деген түсініксіз тармақ әлі де бар, бірақ оны ешкім орындамайды.  

Жақында белсенді және бағдарламалық жасақтаманы әзірлеуші ​​Коралин Ада Эхмке пайдаланушылардан моральдық әрекет етуді талап ететін ашық бастапқы лицензияны ұсынды. Атап айтқанда, оны Гиппократтық лицензия қосылды MIT ашық бастапқы лицензиясы мынаны көрсететін тармақ: 

«Бағдарламалық құралды жеке тұлғалар, корпорациялар, үкіметтер немесе басқа топтар аз қамтылған тұлғалардың немесе топтардың физикалық, психикалық, экономикалық немесе жалпы әл-ауқатына белсенді және саналы түрде қауіп төндіретін, зиян келтіретін немесе басқа жолмен қауіп төндіретін жүйелер немесе әрекеттер үшін пайдалана алмайды. Біріккен Ұлттар Ұйымының Адам құқықтарының жалпыға бірдей декларациясын бұзу».

Жақсы естіледі, бірақ бұл ашық бастапқы код емес. Көрдіңіз бе, ашық көздің өзі этикалық ұстаным. Оның этикасы мынада қамтылған Free Software Foundation (FSF)'s Төрт негізгі бостандық. Бұл барлық ашық бастапқы лицензиялар мен олардың негізгі философиясының негізі болып табылады. Ашық коды бар заңгер сарапшы және Колумбияның заң профессоры Эбен Моглен сол кезде этикалық лицензиялар тегін бағдарламалық жасақтама немесе ашық бастапқы лицензия бола алмайтынын айтты: 

«Бостандық нөл, бағдарламаны кез келген мақсатта іске қосу құқығы төрт еркіндікте бірінші орынға шығады, өйткені егер пайдаланушылар іске қосылатын компьютерлік бағдарламаларға қатысты мұндай құқыққа ие болмаса, сайып келгенде, оларда бұл бағдарламаларда ешқандай құқықтар болмайды. Лицензиардың көз алдында тек жақсы мақсатта пайдалануға рұқсат беру немесе жаман нәрселерге тыйым салу әрекеттері нөлдік бостандықты қорғау талабын бұзады». 

Басқаша айтқанда, қандай да бір себептермен кодты бөлісе алмасаңыз, сіздің кодыңыз шын мәнінде ашық бастапқы код емес. 

Бір топқа ашық бастапқы бағдарламалық жасақтаманы пайдалануға тыйым салу туралы тағы бір прагматикалық дәлел IP мекенжайы сияқты нәрсені блоктау өте кең қылшақ болып табылады. Флориан Рот ретінде, қауіпсіздік компаниясы Nextron жүйелері' қарастырған ғылыми-зерттеу бөлімінің басшысы.жүйелердегі тегін құралдарымды өшіру белгілі бір тіл мен уақыт белдеуі параметрлері бар» деп шешті. Неліктен? Өйткені бұлай ету арқылы «сыншылар мен еркін ойшылдар жүйелеріндегі құралдарды да өшірер едік олардың үкіметтерінің әрекеттерін айыптайды ». 

Өкінішке орай, ашық бастапқы кодты жоғары этикалық мақсат ретінде пайдалануға тырысатын адамдар ғана емес, олар ашық бастапқы бағдарламалық жасақтамаға қиындық туғызады. 

Осы жылдың басында JavaScript әзірлеушісі Marak Squires өзінің түсініксіз, бірақ өмірлік маңызы бар ашық бастапқы Javascript кітапханалары «colors.js» және «faker.js» әдейі саботаж жасады. Нәтиже? Он мыңдаған JavaScript бағдарламалары жарылды.

Неліктен? Бұл әлі толық анық емес, бірақ жойылғаннан кейін GitHub жазбасында Сквайрс былай деп жазды: «Құрметпен, Мен енді Fortune 500-ді қолдамаймын (және басқа да кішігірім компаниялар) менің бос жұмысыммен. Басқа айтатын көп нәрсе жоқ. Мұны маған жыл сайынғы алты таңбалы келісімшартты жіберу немесе жобаны аяқтау және онымен басқа біреуді жұмыс істеу мүмкіндігі ретінде қабылдаңыз ». Өзіңіз ойлағандай, оның жалақысына деген бопсалау әрекеті оған жақсы нәтиже бермеді. 

Сонымен қатар, көңіл көтеру және пайда табу үшін зиянды бағдарламаларды өздерінің ашық бастапқы кодтарына әдейі енгізетін адамдар бар. Мысалы, DevOps қауіпсіздік фирмасы JFrog NPM репозиторийінде пайдаланушының Discord таңбалауыштарына қасақана шабуыл жасайтын және ұрлайтын 17 жаңа JavaScript зиянды пакеттерін тапты. Оларды содан кейін пайдалануға болады Discord коммуникациялары және цифрлық тарату платформасы.

Бейкүнә және пайдалы болып көрінетін жаңа зиянды ашық бастапқы бағдарламаларды жасаумен қатар, басқа шабуылдаушылар ескі, тасталған бағдарламалық құралды алып, оларды крипто монеталарын ұрлайтын бэкдорларды қосу үшін қайта жазады. Сондай бағдарламалардың бірі оқиға-стрим болды. Оған биткоин әмияндарын ұрлау және олардың теңгерімдерін Куала-Лумпур серверіне жіберу үшін зиянды код енгізілген. Осы жылдар ішінде бірнеше ұқсас эпизодтар болды.

Әрбір осындай қадаммен ашық бастапқы бағдарламалық жасақтамаға деген сенім азаяды. Ашық код қазіргі әлем үшін өте маңызды болғандықтан, бұл жағымсыз үрдіс. 

Бұл туралы не істей аламыз? Біріншіден, біз ашық бастапқы кодты пайдалануды қашан блоктау керектігін мұқият қарастыруымыз керек. 

Іс жүзінде біз пайдалануды қабылдауды бастауымыз керек Linux негізі Бағдарламалық қамтамасыз ету пакетінің деректер алмасуы (SPDX) және Бағдарламалық қамтамасыз ету материалдарының тізімі (SBOM). Бұлар бірге біздің бағдарламаларда қандай кодты қолданып жатқанымызды және оның қайдан келгенін айтып береді. Сонда біз саналы шешім қабылдауға қабілетті боламыз.

Бүгінде адамдар не істеп жатқанын білмей немесе ақаулық бар-жоғын тексермей ашық бастапқы кодты жиі пайдаланады. Олар мұнымен бәрі жақсы болады деп есептейді. Бұл ешқашан ақылды болжам болған емес. Бүгін бұл ақымақтық. 

Осы барлық соңғы өзгерістердің өзінде, ашық бастапқы код әлі де қара жәшіктің меншікті бағдарламалық жасақтамасының баламаларына қарағанда жақсырақ және қауіпсіз. Бірақ, біз соқыр сенудің орнына кодты тексеріп, тексеруіміз керек. Бұл алға қарай жасайтын жалғыз ақылды нәрсе.

Байланысты әңгімелер:



қайнар көз