в линукс, или это миф? что-то часто стали находить дыры в линуксе.
дыры везде. и в openbsd. открытие?
+1
Кол-во "дыр" в N, это в т.ч. функция от количества поисков дыр в N. Имхо, все споры о том, "что бОльшее решето" - в основном схоластика.
Да, правда. И потому, что у нас кода тупо меньше, и потому, что мы лучше умеем в дизайн, и не в последнюю очередь оттого, что говноядро пишет куча разномастных программистов на зарплате под гнетом корпораций, с дедлайнами, различными отношением к своей работе и представлением о прекрасном, вот и получают пять уязвимостей в год только лишь в одной подсистеме AF_PACKET. 🤦♀️
это звучит убедительно. но вот другие говорят что в bsd просто меньше ишут и потому меньше находят.
На работе мы вынуждены поддерживать несколько версий ядра из разных веток (3.0.x, 3.6.y, 4.1.z), и мне часто приходится вручную бэкпортить фиксы. И ты вот смотришь, например, на дифф (это фикс CVE-2017-14497) и видишь, что как был до фикса говнокод, таким после фикса и остался. Когда же я смотрю на патчи к нашим CVE'шкам, там практически всегда сразу понятно, в чем был косяк, почему ешл допустили, и что новый код действительно лучше.
никому не верь, все что можно сделать - собрать статистику сколько CVE было в Linux/FreeBSD за период времени, это максимально правдивый ответ будет. Даже если в каждой программе FreeBSD дыра, а то и 10 - пока их не найдутт и не будут зафиксированы, гадать можно как о погоде - какая она будет через год.
Про дизайн - голословное утверждение. Так-то никаким дизайном у нас не пахло, разрабочиков нет, ревью нет, кто-то один пилит как может одну подсистему, никто не проверяет что он там накодит, и это вливается как есть в ядро. Ещё повезёт если до релиза заметят что оно не работает, куда там до уязвимостей. Случай с wireguard показательный, например. Величайшее благо, если втянут нормальный код из linux типа drm или нормально развивающихся ядерных проектов типа openzfs.
Если у нас так хорошо в дизайн, почему мы сосём в сети?..
при этом зоопарка подсистем, во фре нет. Линукс - это ос, где каждая подсистема пытается пожрать остальную часть ос (systemd например), это ос, где проблемы в ФС решаются не совершенствованием имеющегося, а созданием новой ФС (самсунговская фс для флэшек). Там процесы аудита поставлены настолько хорошо, что затаскивают код подстстем ошмётками (вспоминается OpenVZ, из которого с такой-то матерью удалось затащить несколько отдельных элементов, прямо перед взрывом контейнерной темы). При этом вспоминается разборка солнцеликого с майнтейнером подсистемы терминала, когда поправленный функционал взорвал кучу заботливо поставленных костылей, и крайним оказался именно чинивший, ибо нехер фиксить то, на чём в юзерспейсе уже построен небоскрёб костылей и подпорок (с) солнцеликий. У фри огромная проблема в людях - не хватает внимания всем уголкам системы, особенно портам, в ресурсах - патчи безопасности в базовой системе появляются оперативно, зато наблюдать дней 2-5 проблему в пакете, которая в дебиане пофиксилась вместе с публикацией csv, да и в портах уже исправлена, но кластер сборки ОЧЕНЬ небыстр… Проблемы с практическим применением, поскольку с потерей громадных установок ос в яндексе, рамблере и куче иных контор, на проблемы начали натыкаться меньше. Во фре много проблем, но их реально решить, и решения понятны. Проблемы с отсуствием ревью решаются парой отзывов права коммита у особо провинившихся после разбора и суда кортима. Инструментарий есть. В линуксе проблема масштабней, и решить её простыми и понятными методами не выйдет, они сильно завязаны на модель разработки. И то что народа там дофигища, и рулить этой толпой эфективно уже не выходит, и лоскутный характер разработок, когда слчинители подсистем стараются занести к себе максимум всего, чтобы не зависеть от бурного фестиваля новаторских идей у соседей. И куча крупняка, которая пытается затянуть в ядро полурождённое, чтобы не парится с обратным портированием при обновлении этого зооцирка кода, в результате среда линукса сильно страдает от наличия огромного количества полудописанного и полузаконченного. Там море передовых вещей, но как же противно влазить в это всё. Во фрю подсистемы заезжают уже сформированными или готовыми. По крайней мере в основном и по крайней мере так кажется со стороны. Затем их бережно и методично доводят. Нет зоопарка (кроме ситуации с фаеоволами) и под всё (или почти всё) есть примерно одна подсистема или инструмент. Это делает работу с системой более приятной. Да я помню ту же подсистему аудита, которая уже 5 лет не может строить нормальные xml отчёты, они там битые выходят, и вообще этот страшный ужос требует БОЛЬШЕ внимания, докементации и здравого смысла, но пока всё скорей ближе к хорошо, с учётом места системы в мире…
Wireguard во фрю заехал со своими велосипедами в криптографии (и потом выехал из фри)
Обсуждают сегодня