FreeBSD 13 endaði næstum með hakkaðri útfærslu á WireGuard með leyfisbrotum og veikleikum

Frá kóðagrunninum sem FreeBSD 13 útgáfan var mynduð á, var kóðinn sem útfærði WireGuard VPN samskiptareglur, þróaður að pöntun frá Netgate án samráðs við hönnuði upprunalegu WireGuard, og þegar innifalinn í stöðugum útgáfum pfSense dreifingarinnar, hneyksli. fjarlægð. Eftir að hafa skoðað kóðann af Jason A. Donenfeld, höfundi upprunalegu WireGuard, kom í ljós að fyrirhuguð útfærsla FreeBSD á WireGuard var sléttur kóða, fullur af biðminni og brýtur gegn GPL.

Útfærslan innihélt skelfilega galla í dulritunarkóðanum, hluta af WireGuard samskiptareglunum var sleppt, það voru villur sem leiddu til hruns kjarnans og framhjá öryggisaðferðum og biðminni í fastri stærð voru notuð fyrir inntaksgögn. Tilvist stubba í stað ávísana sem alltaf skila „sönnum“, sem og gleymd villuleit printfs með framleiðsla breytu sem notuð eru til dulkóðunar, og notkun svefnaðgerðarinnar til að koma í veg fyrir keppnisaðstæður segja mikið um gæði kóðans.

Sumir hlutar kóðans, eins og crypto_xor aðgerðin, voru fluttir úr WireGuard útfærslunni sem þróuð var fyrir Linux, í bága við GPL leyfið. Fyrir vikið tók Jason Donenfield, ásamt Kyle Evans og Matt Dunwoodie (höfundur WireGuard portsins fyrir OpenBSD), að sér það verkefni að endurvinna erfiðu útfærsluna og skiptu innan viku algjörlega út öllum kóða þróunaraðilans sem Netgate réð. . Hin breytta útgáfa var gefin út sem sérstakt sett af plástra, sett í WireGuard verkefnageymsluna og hefur ekki enn verið innifalið í FreeBSD.

Athyglisvert var að upphaflega voru engin merki um vandræði; Netgate, sem vildi geta notað WireGuard í pfSense dreifingunni, réð Matthew Macy, sem er vel að sér í FreeBSD kjarnanum og netstaflanum, tekur þátt í villuleiðréttingum og hefur reynslu af þróun netrekla fyrir þetta stýrikerfi. Macy var gefin sveigjanleg áætlun án fresti eða miðannar athuganir. Hönnuðir sem kynntust Macy meðan þeir unnu að FreeBSD lýstu honum sem hæfileikaríkum og faglegum forritara sem gerði ekki fleiri mistök en aðrir og svaraði gagnrýni á fullnægjandi hátt. Slæm gæði WireGuard útfærslukóðans fyrir FreeBSD komu þeim á óvart.

Eftir 9 mánaða vinnu bætti Macy útfærslu sinni við HEAD útibúið, sem var notað til að móta FreeBSD 13 útgáfuna, í desember síðastliðnum án þess að jafningjaskoðun og prófun væri lokið. Þróunin var gerð án samskipta við þróunaraðila upprunalegu WireGuard og OpenBSD og NetBSD tengi. Í febrúar samþætti Netgate WireGuard í stöðugu útgáfuna af pfSense 2.5.0 og byrjaði að senda eldveggi byggða á því. Eftir að vandamál voru auðkennd var WireGuard kóðann fjarlægður úr pfSense.

Kóðinn sem bætt var við leiddi í ljós mikilvæga veikleika sem voru notaðir í 0-daga hetjudáð, en í fyrstu viðurkenndi Netgate ekki tilvist veikleika og reyndi að saka verktaki upprunalega WireGuard um árásir og hlutdrægni, sem hafði neikvæð áhrif á orðstír þess. Hafnarframleiðandinn hafnaði upphaflega fullyrðingum um gæði kóðans og taldi þær ýktar, en eftir að hafa sýnt fram á villur vakti hann athygli á því að mjög mikilvæga vandamálið er skortur á réttri endurskoðun kóðagæða í FreeBSD, vegna þess að vandamálin voru óuppgötvuð í marga mánuði (Fulltrúar Netgate gáfu til kynna að opinberri endurskoðun hafi verið hleypt af stokkunum aftur í ágúst 2020, en einstakir FreeBSD forritarar tóku fram að í Phabricator var endurskoðuninni lokað af Macy án þess að henni væri lokið og athugasemdir hunsaðar). FreeBSD Core Team brást við atvikinu með því að lofa að nútímavæða kóða endurskoðunarferla sína.

Matthew Macy, verktaki hinnar erfiðu FreeBSD ports, tjáði sig um ástandið með því að segja að hann hafi gert stór mistök með því að taka að sér starfið án þess að vera tilbúinn til að hrinda verkefninu í framkvæmd. Macy útskýrir afleiðinguna af tilfinningalegri kulnun og afleiðingum vandamála sem komu upp vegna post-Covid heilkennis. Á sama tíma fann Macy ekki ásetninginn um að hverfa frá þeim skuldbindingum sem hann hafði þegar tekið á sig og reyndi að koma verkefninu til lykta.

Líðan Macy gæti einnig hafa verið fyrir áhrifum af nýlegum fangelsisdómi sem hann hlaut fyrir að hafa ólöglega reynt að reka leigjendur frá heimili sem hann keypti sem voru ekki tilbúnir til að flytja út af sjálfsdáðum. Þess í stað saguðu hann og eiginkona hans niður gólfbitana og brutu göt á gólfin til að gera húsið óíbúðarhæft og reyndu einnig að hræða íbúana, brutust inn í íbúðir og tóku út eigur þeirra (aðgerðin var flokkuð sem innbrot). Til að forðast ábyrgð á gjörðum sínum flúðu Macy og eiginkona hans til Ítalíu en voru framseld til Bandaríkjanna og sættu meira en fjögurra ára fangelsi.

Heimild: opennet.ru

Bæta við athugasemd