FreeBSD 13 қариб як татбиқи нодуруст дошт WireGuard бо вайронкунии иҷозатнома ва осебпазириҳо

Коде, ки протоколи VPN-ро татбиқ мекард, ба таври баҳсбарангез аз пойгоҳи рамзҳое, ки асоси нашри FreeBSD 13-ро ташкил медод, хориҷ карда шуд. WireGuard, разработанной по заказу компании Netgate без консультаций с разработчиками оригинального WireGuard, и уже включённой в стабильные выпуски дистрибутива pfSense. После проверки кода Джейсоном Доненфилдом (Jason A. Donenfeld), автором оригинального WireGuard, выяснилось, что предложенная для FreeBSD реализация WireGuard представляла собой образец низкосортного кода, изобилующего переполнениями буфера и нарушающего лицензию GPL.

В реализации были найдены катастрофические огрехи в коде криптографии, была пропущена часть протокола WireGuard, присутствовали ошибки, приводившие к краху ядра и обходу методов защиты, для входных данных использовались буферы фиксированного размера. О качестве кода много говорит наличие заглушек вместо проверок, всегда возвращающих значение «true», а также забытые отладочные printf с выводом параметров, используемых для шифрования, и применение функции sleep для предотвращения состояний гонки.

Некоторые части кода, такие как функция crypto_xor, в нарушение лицензии GPL, были перенесены из реализации WireGuard, разработанной для Linux. В итоге Джейсон Доненфилд вместе с Кайлом Эвансом (Kyle Evans) и Мэттом Данвуди (Matt Dunwoodie, автор порта WireGuard для OpenBSD), взялись за переделку проблемной реализации и за неделю полностью заменили весь код разработчика, нанятого Netgate. Переделанный вариант выпущен отдельным набором патчей, размещён в репозитории проекта WireGuard и пока не вошёл в состав FreeBSD.

Интересно, что изначально ничто не предвещало беды, компания Netgate, которая желала получить возможность использования WireGuard в дистрибутиве pfSense, наняла Мэттью Мэйси (Matthew Macy), хорошо разбирающегося в ядре и сетевом стеке FreeBSD, участвующего в исправлении ошибок и имеющего опыт разработки сетевых драйверов для данной операционной системы. Мэйси был предоставлен свободный график без дедлайнов и промежуточных проверок. Разработчики, пересекавшиеся с Мэйси при работе над FreeBSD, характеризовали его как талантливого и профессионального программиста, допускающего не больше ошибок чем другие и адекватно реагирующего на критику. Плачевное качество кода реализации WireGuard для FreeBSD стало для них неожиданностью.

После 9 месяцев работы в декабре прошлого года Мэйси без завершения рецензирования и тестирования сторонними участниками добавил свою реализацию в ветку HEAD, которая использовалась для формирования релиза FreeBSD 13. Разработка была выполнена без связи с разработчиками оригинального WireGuard и портов для OpenBSD и NetBSD. В феврале компания Netgate интегрировала WireGuard в стабильный выпуск pfSense 2.5.0 и начала поставку в межсетевых экранах на его основе. После выявления проблем код WireGuard был удалён из pfSense.

В добавленном коде были выявлены критические уязвимости, которые были использованы в 0-day эксплоитах, но Netgate первое время не признавала наличие уязвимостей и пыталась обвинить разработчика оригинального WireGuard в нападках и предвзятости, что негативно отразилось на её репутации. Разработчик порта вначале отвергал претензии к качеству кода и считал их преувеличенными, но после демонстрации ошибок, обратил внимание на то, что действительно важной проблемой является отсутствие должного рецензирования качества кода во FreeBSD, ведь проблемы оставались не замеченными многие месяцы (представители Netgate указали, что публичное рецензирование было запущено ещё в августе 2020 года, но отдельные разработчики FreeBSD отметили, что в Phabricator рецензирование было закрыто Мэйси без выполнения и с игнорированием комментариев). Команда FreeBSD Core Team отреагировала на инцидент обещанием модернизировать процессы проверки кода.

Метю Мэйси, таҳиягари бандари мушкили FreeBSD, дар бораи вазъ шарҳ дод, ки вай бидуни омодагӣ ба татбиқи лоиҳа ба кор қабул карда, хатои бузург кардааст. Мэйси натиҷаро бо сӯхтани эмотсионалӣ ва натиҷаи мушкилоте, ки дар натиҷаи синдроми пас аз Ковид ба вуҷуд омадаанд, шарҳ медиҳад. Дар баробари ин, Мэйси аз ухдаи даст кашидан аз ухдадорихои ба зимма гирифтааш худаш катъият наёфта, кушиш кард, ки лоихаро ба охир расонад.

Вазъияти Мэйси инчунин метавонад ҳукми зиндони ба наздикӣ гирифтааш барои кӯшиши ғайриқонунӣ барои берун кардани иҷорагирон аз хонаи харидааш, ки намехоҳанд ихтиёран аз хона берун шаванд, таъсир расонида бошад. Ба ҷои ин, ӯ ҳамроҳи ҳамсараш чӯбҳои фаршро арра карда, фаршҳоро сӯрох карда, хонаро ғайриқонунӣ мегардонанд, инчунин сокинонро тарсонданӣ шуда, ба манзилҳои ишғолшуда даромада, ашёи онҳоро берун овардаанд (ин амал ҳамчун дуздӣ маҳсуб мешавад). Бо мақсади фирор аз масъулият барои ин кирдораш, Мэйси ва ҳамсараш ба Итолиё фирор карданд, вале ба Иёлоти Муттаҳида истирдод шуданд ва беш аз чаҳор сол дар зиндон сипарӣ шуданд.

Манбаъ: opennet.ru

Хостинги боэътимодро барои сайтҳо бо муҳофизати DDoS, серверҳои VPS VDS харед 🔥 Харидани хостинги боэътимоди вебсайт бо муҳофизати DDoS, серверҳои VPS VDS | ProHoster