FreeBSD 13 vĂ€ljaande koodibaasist eemaldati skandaali saatel kodeering VPN protokollist WireGuard, mis oli vĂ€lja töötatud Netgate'i tellimusel, ilma originaal WireGuardi arendajate nĂ”usolekuta, ja mis oli juba sisaldunud pfSense'i stabiilsetes vĂ€ljaannetes. PĂ€rast Jason A. Donenfeldi, originaal WireGuardi autori, koodi kontrollimist selgus, et FreeBSD jaoks pakutud WireGuardi teostus oli madala kvaliteediga kood, mis sisaldas ĂŒlekoormusi ja rikkus GPL litsentsi.
Teostuses leiti katastroofilisi vigu krĂŒptograafia koodis, WireGuardi protokolli osa oli vahele jĂ€etud, seal olid vead, mis pĂ”hjustasid tuuma kokkuvarisemise ja kaitsemeetodite ĂŒletamise, sissetulevate andmete jaoks kasutati fikseeritud suurusega bufreid. Koodi kvaliteedi kohta rÀÀgib palju, et seal olid kohatĂ€idised kontrollide asemel, mis alati tagasid vÀÀrtuse âtrueâ, samuti unustatud silumiskĂ€sklused printf, mis vĂ€ljastasid krĂŒpteerimiseks kasutatavad parameetrid, ja sleep-funktsiooni rakendamine, et vĂ€ltida vĂ”istluse seisundeid.
MĂ”ned koodiosad, nagu funktsioon crypto_xor, on GPL litsentsi rikkudes vĂ”imaldatud WireGuard'i teostusest, mis on vĂ€lja töötatud Linuxi jaoks. Selle tulemuseks olid Jason Donenfield koos Kyle Evansiga ja Matt Dunwoodiega (WireGuard'i OpenBSD porti autor), kes vĂ”tsid ette probleemse teostuse ĂŒmberkirjutamise ning asendasid nĂ€dala jooksul kogu Netgate'i palkatud arendaja koodi. Ămber kirjutatud versioon on vĂ€lja antud eraldi plaastrite kogumina, mis on paigutatud WireGuard'i projekti hoidlasse ja ei ole veel FreeBSD-sse lisatud.
Huvitav on see, et algselt ei ennustanud miski halba; ettevĂ”te Netgate, kes soovis saada vĂ”imalust kasutada WireGuard'i pfSense'i distributsioonis, palkas Matthew Macy, kes tunneb hĂ€sti FreeBSD tuuma ja vĂ”rgu kohandusi, on osalenud tĂ”rgete parandamises ning omab kogemusi vĂ”rgu draiverite arendamisel selle operatsioonisĂŒsteemi jaoks. Macy'le anti vaba ajakava, ilma tĂ€htaegade ja vahekontrollideta. FreeBSD-ga koos töötanud arendajad iseloomustasid teda kui talenti ja professionaalset programmeerijat, kes teeb sama vĂ€he vigu kui teised ja reageerib kriitikale adekvaatselt. WireGuard'i rakendamise haledat kvaliteeti FreeBSD jaoks pidasid nad ĂŒllatuseks.
Eelmise aasta detsembris, pĂ€rast 9 kuu töötamist, lisas Meisi oma teostuse HEAD haru, mis kasutati FreeBSD 13 vĂ€ljaande koostamiseks, ilma kĂ”rvaliste osaliste ĂŒlevaate ja testimiseta. Arendus toimus koostöös ega olnud seotud originaalsete WireGuard ja OpenBSD ning NetBSD portide arendajatega. Veebruaris integreeris Netgate WireGuard stabiilsesse pfSense 2.5.0 vĂ€ljaandesse ja alustas nende pĂ”hjal varude tarnimist. Probleemide tuvastamise jĂ€rel eemaldati WireGuardi kood pfSense'ist.
Lisatud koodis leiti kriitilisi haavatavusi, mida kasutati 0-pĂ€eva eksploitides, kuid Netgate ei tunnustanud alguses haavatavuste olemasolu ja pĂŒĂŒdis sĂŒĂŒdistada originaalse WireGuard arendajat rĂŒnnakutes ja eelarvamuses, mis mĂ”jutas tema mainet negatiivselt. Porta arendaja lĂŒkkas esmalt tagasi koodikvaliteedi vĂ€ited ja pidas neid liialdatuks, kuid pĂ€rast vigade demonstreerimist pööras ta tĂ€helepanu sellele, et tĂ”eliselt tĂ”siseks probleemiks on korraliku koodikvaliteedi ĂŒlevaatamise puudumine FreeBSD-s, kuna probleemid olid mitmeid kuude tĂ€helepanuta jÀÀnud (Netgate esindajad mĂ€rkisid, et avalik ĂŒlevaatus kĂ€ivitus juba 2020. aasta augustis, kuid eraldi FreeBSD arendajad mĂ€rkisid, et Phabricatoris lĂ”petas ĂŒlevaatamise Macey, tĂ€itmata vajadust ja ignoreerides kommentaare). FreeBSD Core Team reageeris intsidendile lubadusega uuendada koodi kontrolle.
Matthew Macy, probleemse FreeBSD sadama arendaja, kommenteeris olukorda, et tegi suure vea, asudes tööle valmisolekuta antud projekti ellu viimiseks. Macy tulemusi seletab emotsionaalne vĂ€simus ja postkovidi sĂŒndroomist tulenevad probleemid. Sellegipoolest ei leidnud Macy julgust loobuda juba vĂ”etud kohustustest ja pĂŒĂŒdis projekti lĂ”puni viia.
Macy seisundit vĂ”is mĂ”jutada ka hiljutine vanglakaristus, mille ta sai ebaseaduslike tegude eest, kui ta ĂŒritas vĂ€ljuda ostetud majast, kus elanikud ei soovinud vabatahtlikult lahkuda. Koos abikaasaga nad lĂ”ikasid lae tugipalku ja lĂ”hkusid pĂ”randatesse auke, et muuta maja elamiskĂ”lbmatuks, samuti ĂŒritasid nad elanikke hirmutada, sisenesid renditud korteritesse ja viisid Ă€ra seal olnud asjad (tegu kvalifitseeriti vargusena koos sissemurdmisega). Et vĂ€ltida vastutusele vĂ”tmist toime pandud tegude eest, pĂ”genes Macy koos oma naisega Itaaliasse, kuid ta anti USA-le vĂ€lja ja kandis vanglas ĂŒle nelja aasta.
Allikas: opennet.ru
