FreeBSD 13-s leidus peaaegu vigane WireGuard'i rakendus, millel oli litsentsi rikkumine ja haavatavused.

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

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster