„FreeBSD 13“ beveik baigėsi „WireGuard“ įdiegimu su licencijų pažeidimais ir pažeidžiamumu

Iš kodų bazės, ant kurios buvo suformuotas „FreeBSD 13“ leidimas, skandalingai susilaukė „WireGuard“ VPN protokolą įgyvendinantis kodas, sukurtas „Netgate“ užsakymu nepasitarus su originalaus „WireGuard“ kūrėjais ir jau įtrauktas į stabilias „pfSense“ platinimo versijas. pašalintas. Po kodo peržiūros Jasono A. Donenfeldo, originalaus WireGuard autoriaus, paaiškėjo, kad FreeBSD siūlomas WireGuard diegimas buvo menkas kodas, kuris buvo perpildytas buferio perpildymo ir pažeidė GPL.

Diegiant buvo katastrofiškų kriptografijos kodo trūkumų, buvo praleista dalis WireGuard protokolo, buvo klaidų, dėl kurių sugedo branduolys ir buvo apeinami saugos metodai, o įvesties duomenims buvo naudojami fiksuoto dydžio buferiai. Stublų buvimas vietoj patikrų, kurios visada grąžina „true“, taip pat pamiršti derinimo printfs su šifravimui naudojamų parametrų išvestimi ir miego funkcijos naudojimas siekiant užkirsti kelią lenktynių sąlygoms daug ką pasako apie kodo kokybę.

Kai kurios kodo dalys, pvz., funkcija crypto_xor, buvo perkeltos iš WireGuard diegimo, sukurto Linux, pažeidžiant GPL licenciją. Dėl to Jasonas Donenfieldas kartu su Kyle'u Evansu ir Mattu Dunwoodie (OpenBSD WireGuard prievado autoriumi) ėmėsi užduoties pertvarkyti probleminį diegimą ir per savaitę visiškai pakeitė visą Netgate pasamdyto kūrėjo kodą. . Modifikuota versija buvo išleista kaip atskiras pataisų rinkinys, patalpintas į WireGuard projekto saugyklą ir dar nebuvo įtrauktas į FreeBSD.

Įdomu tai, kad iš pradžių nebuvo jokių problemų dėl Netgate, kuris norėjo turėti galimybę naudoti WireGuard pfSense distribucijai, pasamdė Matthew Macy, kuris gerai išmano FreeBSD branduolį ir tinklo krūvą, užsiima klaidų taisymu ir turi patirties kuriant; šios operacinės sistemos tinklo tvarkyklės. Macy buvo suteiktas lankstus grafikas be terminų ar tarpinių patikrinimų. Kūrėjai, kurie susipažino su Macy dirbdami su FreeBSD, apibūdino jį kaip talentingą ir profesionalų programuotoją, kuris nedarė daugiau klaidų nei kiti ir adekvačiai reagavo į kritiką. Prasta „WireGuard“ diegimo kodo kokybė, skirta FreeBSD, jiems buvo netikėta.

Po 9 mėnesių darbo Macy pridėjo savo diegimą į HEAD šaką, kuri buvo naudojama suformuluoti FreeBSD 13 leidimą, praėjusį gruodį nebaigęs tarpusavio peržiūros ir testavimo OpenBSD ir NetBSD prievadai. Vasario mėnesį „Netgate“ integravo „WireGuard“ į stabilų „pfSense 2.5.0“ leidimą ir pradėjo ja pagrįstų ugniasienių pristatymą. Nustačius problemas, WireGuard kodas buvo pašalintas iš pfSense.

Pridėtas kodas atskleidė kritines spragas, kurios buvo naudojamos 0 dienų eksploatacijose, tačiau iš pradžių Netgate nepripažino pažeidžiamumų egzistavimo ir bandė apkaltinti originalaus WireGuard kūrėją atakomis ir šališkumu, o tai neigiamai paveikė jo reputaciją. Prievado kūrėjas iš pradžių atmetė pretenzijas dėl kodo kokybės ir laikė jas perdėtomis, tačiau pademonstravęs klaidas atkreipė dėmesį į tai, kad tikrai svarbi problema yra tinkamo kodo kokybės peržiūros stoka FreeBSD, nes problemos liko nepastebėtos daugelį mėnesių. („Netgate“ atstovai nurodė, kad vieša peržiūra buvo paskelbta 2020 m. rugpjūčio mėn., tačiau atskiri „FreeBSD“ kūrėjai pažymėjo, kad „Phabricator“ peržiūrą Macy uždarė nebaigusi ir nepaisydama komentarų). „FreeBSD Core Team“ reagavo į incidentą pažadėdama modernizuoti savo kodo peržiūros procesus.

Probleminio „FreeBSD“ prievado kūrėjas Matthew Macy komentavo situaciją sakydamas, kad padarė didelę klaidą, kai ėmėsi darbo nepasiruošęs įgyvendinti projekto. Macy gautą rezultatą aiškina emociniu perdegimu ir problemų, kilusių dėl post-Covid sindromo, pasekmė. Tuo pat metu Macy nerado ryžto atsisakyti jau prisiimtų įsipareigojimų ir bandė įgyvendinti projektą iki galo.

Macy būklei taip pat galėjo turėti įtakos neseniai paskirta kalėjimo bausmė, kurią jis gavo už neteisėtą bandymą iškeldinti iš įsigyto būsto nuomininkus, kurie nenorėjo savo noru išsikraustyti. Vietoje to jis su žmona išpjovė perdangos sijas ir išdaužė skyles grindyse, kad namas taptų netinkamas gyventi, taip pat bandė įbauginti gyventojus, įsiveržė į gyvenamus butus ir išsinešė jų daiktus (veiksmas kvalifikuotas kaip įsilaužimas). Kad išvengtų atsakomybės už savo veiksmus, Macy ir jo žmona pabėgo į Italiją, tačiau buvo išduoti JAV ir kalėjo daugiau nei ketverius metus.

Šaltinis: opennet.ru

Добавить комментарий