FreeBSD 13 hade nÀstan en slarvig implementering WireGuard med licensövertrÀdelser och sÄrbarheter

Koden som implementerar VPN-protokollet togs kontroversiellt bort frÄn kodbasen som lÄg till grund för FreeBSD 13-utgÄvan. WireGuard, utvecklad pÄ uppdrag av företaget Netgate utan samrÄd med utvecklarna av originalet WireGuard, och ingÄr redan i stabila utgÄvor av pfSense-distributionen. Efter kodgranskning av Jason A. Donenfeld, den ursprungliga författaren WireGuardvisade det sig att den föreslagna implementeringen för FreeBSD WireGuard var en del slarvig kod full av buffertöverflöden och bröt mot GPL-licensen.

Implementeringen visade sig ha katastrofala brister i kryptografikoden, och en del av protokollet saknades. WireGuard, det fanns fel som ledde till kÀrnkrascher och kringgÄende sÀkerhetsmetoder, och buffertar med fast storlek anvÀndes för indata. Förekomsten av stubbar istÀllet för kontroller som alltid returnerade "sant" sÀger mycket om kodkvaliteten, liksom glömda debug printf-satser som visar krypteringsparametrar och anvÀndningen av sleep-funktionen för att förhindra race conditions.

Vissa delar av koden, sÄsom crypto_xor-funktionen, flyttades frÄn implementeringen i strid med GPL-licensen. WireGuard, utformad för LinuxSom ett resultat av detta, Jason Donenfield, tillsammans med Kyle Evans och Matt Dunwoodie (författaren till porten) WireGuard (för OpenBSD) tog de sig an uppgiften att omarbeta den problematiska implementeringen och ersatte, inom en vecka, hela koden frÄn utvecklaren som anlitats av Netgate. Den omarbetade versionen slÀpptes som en separat patchuppsÀttning och finns publicerad i projektets arkiv. WireGuard och har Ànnu inte inkluderats i FreeBSD.

Det Àr intressant att inget inledningsvis förebÄdade problem, företaget Netgate, som ville fÄ möjlighet att anvÀnda WireGuard pfSense-distributionen anstÀllde Matthew Macy, en utvecklare med djupgÄende förstÄelse för FreeBSD-kÀrnan och nÀtverksstacken, som bidrog med buggfixar och hade erfarenhet av att utveckla nÀtverksdrivrutiner för operativsystemet. Macy fick ett flexibelt schema utan deadlines eller halvtidsgranskningar. Utvecklare som arbetade med Macy pÄ FreeBSD beskrev honom som en begÄvad och professionell programmerare som inte gjorde fler misstag Àn andra och reagerade lÀmpligt pÄ kritik. Den dÄliga kvaliteten pÄ kodimplementeringen WireGuard för FreeBSD kom som en överraskning för dem.

Efter nio mÄnaders arbete, i december förra Äret, lade Macy, utan att ha slutfört nÄgon granskning eller tester av externa bidragsgivare, till sin implementation till HEAD-grenen som anvÀndes för att skapa FreeBSD 13-utgÄvan. Utvecklingen gjordes utan kommunikation med de ursprungliga utvecklarna. WireGuard och portar för OpenBSD och NetBSD. I februari integrerade Netgate WireGuard till den stabila versionen av pfSense 2.5.0 och började leverera brandvÀggar baserade pÄ den. Efter att ha identifierat problem, koden WireGuard togs bort frÄn pfSense.

Den tillagda koden visade sig innehÄlla kritiska sÄrbarheter som anvÀndes i 0-dagarsattacker, men Netgate erkÀnde initialt inte existensen av sÄrbarheterna och försökte skylla pÄ den ursprungliga utvecklaren. WireGuard Portningen utsattes för attacker och partiskhet, vilket negativt pÄverkade dess rykte. Portningens ansvarige avfÀrdade inledningsvis klagomÄlen om kodkvalitet som överdrivna, men efter att ha demonstrerat buggarna pÄpekade han att det verkligt betydande problemet var bristen pÄ ordentlig granskning av kodkvaliteten i FreeBSD, eftersom problemen hade gÄtt oupptÀckta i mÄnga mÄnader. (Netgate-representanter angav att den offentliga granskningen hade lanserats i augusti 2020, men vissa FreeBSD-utvecklare noterade att Macy hade stÀngt granskningen i Phabricator utan implementering och med kommentarer ignorerade.) FreeBSD Core Team svarade pÄ incidenten med ett löfte om att modernisera sina kodgranskningsprocesser.

Matthew Macy, utvecklaren av den problematiska FreeBSD-porten, kommenterade situationen genom att sÀga att han gjorde ett stort misstag genom att ta pÄ sig jobbet utan att vara redo att implementera projektet. Macy förklarar resultatet med kÀnslomÀssig utbrÀndhet och resultatet av problem som uppstod pÄ grund av post-Covid-syndromet. Samtidigt fann Macy inte beslutsamheten att överge de skyldigheter han redan Ätagit sig och försökte fÄ projektet att slutföras.

Macys tillstÄnd kan ocksÄ ha pÄverkats av ett nyligen fÀngelsestraff han fick för olagligt försök att vrÀka hyresgÀster frÄn ett hem han köpt som var ovilliga att flytta ut frivilligt. IstÀllet sÄgade han och hans fru ner golvbjÀlkarna och slog hÄl i golven för att göra huset obeboeligt och försökte Àven skrÀmma de boende, bröt sig in i ockuperade lÀgenheter och tog ut deras tillhörigheter (handlingen rubricerades som inbrott). För att slippa ansvaret för sina handlingar flydde Macy och hans fru till Italien, men utlÀmnades till USA och avtjÀnade mer Àn fyra Är i fÀngelse.

KĂ€lla: opennet.ru

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster