FreeBSD 13 pothuajse kishte një implementim të dobët. WireGuard me shkelje të licencës dhe dobësi

Kodi që zbatonte protokollin VPN u hoq në mënyrë të diskutueshme nga baza e kodit që formoi bazën për lëshimin e FreeBSD 13. WireGuard, zhvilluar me porosi të kompanisë Netgate pa konsultim me zhvilluesit e origjinalit WireGuard, dhe është përfshirë tashmë në versionet e qëndrueshme të shpërndarjes pfSense. Pas shqyrtimit të kodit nga Jason A. Donenfeld, autori origjinal WireGuard, doli që implementimi i propozuar për FreeBSD WireGuard ishte një copë kodi të dobët plot me mbingarkesa buffer dhe që shkelte licencën GPL.

Implementimi u zbulua se kishte të meta katastrofike në kodin kriptografik dhe një pjesë e protokollit mungonte. WireGuard, pati gabime që çuan në rrëzime të bërthamës dhe anashkaluan metodat e sigurisë, dhe për të dhënat hyrëse u përdorën buffer-a me madhësi fikse. Prania e stubeve në vend të kontrolleve që gjithmonë kthenin "e vërtetë" flet shumë për cilësinë e kodit, ashtu si deklaratat e harruara të debug-ut printf që shfaqin parametrat e enkriptimit dhe përdorimi i funksionit të gjumit për të parandaluar kushtet e garës.

Disa pjesë të kodit, siç është funksioni crypto_xor, u hoqën nga implementimi në shkelje të licencës GPL. WireGuard, i projektuar për LinuxSi rezultat, Jason Donenfield, së bashku me Kyle Evans dhe Matt Dunwoodie (autori i portit) WireGuard (për OpenBSD), ata morën përsipër detyrën e ripërpunimit të implementimit problematik dhe, brenda një jave, zëvendësuan plotësisht të gjithë kodin e zhvilluesit të punësuar nga Netgate. Versioni i ripërpunuar u publikua si një set i veçantë patch-esh dhe është postuar në depon e projektit. WireGuard dhe nuk është përfshirë ende në FreeBSD.

ËshtĂ« interesante qĂ« fillimisht asgjĂ« nuk parashikonte probleme, kompania Netgate, e cila donte tĂ« merrte mundĂ«sinĂ« pĂ«r tĂ« pĂ«rdorur WireGuard ShpĂ«rndarja pfSense punĂ«soi Matthew Macy, njĂ« zhvillues me njĂ« kuptim tĂ« thellĂ« tĂ« kernelit dhe rrjetit tĂ« FreeBSD, i cili kontribuoi nĂ« rregullimin e gabimeve dhe kishte pĂ«rvojĂ« nĂ« zhvillimin e drajverĂ«ve tĂ« rrjetit pĂ«r sistemin operativ. Macy-t iu dha njĂ« orar fleksibĂ«l pa afate ose rishikime afatmesme. Zhvilluesit qĂ« punuan me Macy-n nĂ« FreeBSD e pĂ«rshkruan atĂ« si njĂ« programues tĂ« talentuar dhe profesional qĂ« nuk bĂ«nte mĂ« shumĂ« gabime se tĂ« tjerĂ«t dhe reagonte nĂ« mĂ«nyrĂ« tĂ« pĂ«rshtatshme ndaj kritikave. CilĂ«sia e dobĂ«t e zbatimit tĂ« kodit WireGuard pĂ«r FreeBSD erdhi si njĂ« surprizĂ« pĂ«r ta.

Pas nëntë muajsh pune, në dhjetor të vitit të kaluar, Macy, pa përfunduar asnjë rishikim nga kolegët ose testim nga kontribues të jashtëm, shtoi implementimin e tij në degën HEAD që u përdor për të formuar versionin FreeBSD 13. Zhvillimi u bë pa komunikim me zhvilluesit origjinalë. WireGuard dhe porta për OpenBSD dhe NetBSD. Në shkurt, Netgate integroi WireGuard në versionin stabil të pfSense 2.5.0 dhe filloi të shpërndahej në firewall-e bazuar në të. Pas identifikimit të problemeve, kodi WireGuard u hoq nga pfSense.

Kodi i shtuar u gjet se përmbante dobësi kritike që u përdorën në shfrytëzimet 0-ditore, por Netgate fillimisht nuk e pranoi ekzistencën e dobësive dhe u përpoq të fajësonte zhvilluesin origjinal. WireGuard Porti iu nënshtrua sulmeve dhe paragjykimeve, të cilat ndikuan negativisht në reputacionin e tij. Mirëmbajtësi i portit fillimisht i hodhi poshtë ankesat për cilësinë e kodit si të ekzagjeruara, por pasi demonstroi gabimet, ai theksoi se problemi vërtet i rëndësishëm ishte mungesa e një shqyrtimi të duhur të cilësisë së kodit në FreeBSD, pasi problemet kishin mbetur të pazbuluara për shumë muaj. (Përfaqësuesit e Netgate treguan se shqyrtimi publik ishte nisur në gusht 2020, por disa zhvillues të FreeBSD vunë re se Macy e kishte mbyllur shqyrtimin në Phabricator pa zbatim dhe me komentet e injoruara.) Ekipi Bazë i FreeBSD iu përgjigj incidentit me një premtim për të modernizuar proceset e shqyrtimit të kodit.

Matthew Macy, zhvilluesi i portës problematike të FreeBSD, komentoi situatën duke thënë se bëri një gabim të madh duke e marrë përsipër projektin i papërgatitur për zbatimin e tij. Macy ia atribuon dështimin që rezultoi lodhjes emocionale dhe problemeve të shkaktuara nga sindroma post-COVID. Megjithatë, Macy nuk kishte vendosmërinë të braktiste angazhimet e tij ekzistuese dhe u përpoq ta çonte projektin deri në përfundim.

Gjendja e Macy-t mund të jetë ndikuar edhe nga dënimi i tij i fundit me burg, të cilin e mori për përpjekje të paligjshme për të dëbuar qiramarrës nga një shtëpi që kishte blerë, të cilët nuk donin të largoheshin vullnetarisht. Ai dhe gruaja e tij prenë trarët dhe hapën vrima në dysheme për ta bërë shtëpinë të pabanueshme, u përpoqën të frikësonin qiramarrësit, hynë me forcë në apartamente të zëna dhe morën sendet e tyre (akti u klasifikua si vjedhje me thyerje). Për të shmangur përgjegjësinë për veprimet e tyre, Macy dhe gruaja e tij ikën në Itali, por u ekstraduan në Shtetet e Bashkuara dhe vuajtën më shumë se katër vjet burg.

Burimi: opennet.ru

Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster