Раскрыты сведения о неисправленной (0-day) уязвимости (CVE-2023-2156) в ядре Linux, позволяющей остановить работу системы через отправку специально оформленных пакетов IPv6 (packet-of-death). Проблема проявляется только при включении поддержки протокола RPL (Routing Protocol for Low-Power and Lossy Networks), который в дистрибутивах по умолчанию отключён и применяется, главным образом, на встраиваемых устройствах, работающих в беспроводных сетях с большой потерей пакетов...Подробнее: https://www.opennet.me/opennews/art.shtml?num=59146
дерьмо случается, такова жизнь
но меня смущает что уж больно много гавнокода в этом донном ядре
У FreeBSD проверенное, надёжное ядро. Но очень мало кто пользуется этой ОС.
Как только FreeBSD дорастёт до популярности Linux думаю вопросов будет не меньше.
Популяризация раздувает всё что видит. "У вас несчастные случаи на стройке были? Не, пока еще ни одного не было. Будут".
Да, до пика популярности linux уязвимостей в нем находили сильно меньше
А пик популярности - это когда?
Наверное когда убунту стала "официальной игровой платформой", когда большая часть оборудования на linux стала работать нормально (видеокарты, вебкамеры, принтеры, сканеры, др), когда linux на десктопах перестал быть редкостью и стал чем-то +- обычным у ITшников и околоITшников, и когда почти весь трендовый (особенно закрытый) софт стал иметь линукс версии, причем не порезанные.
Примерное начало этого в 2011-2013, рассвет в 2015-2017.
До 2010 linux можно было встретить гораздо реже, и довольно большая часть оборудования на нем полноценно не работала (например, из видеокарт только интел тогда мог что-то дельное показать, но в то время они были слабыми).
Сейчас linux проник везде (даже в винду), о нем знают все, ковыряют соответственно тоже все.
Очередной раз у оголтелых линуксоидов пу.к.аны рвет? Очередной раз смотрят в книгу видят фигу?
Сколько раз рассказывалось про PlayStation 3+, Nintendo Switch, да и с подгорающих хватит. Но нет - постоянная амнезия.
Мозгов то хватит посмотреть сколько таких устройств продано, и работают с FreeBSD ядром?
Причем и PlayStation и Switch весьма неслабо ковыряли насчет взлома. Но ничего существенного нет, кроме броузера (PS), через который и ломают.
BSD на перечисленных вами устройствах по единственной причине - лицензия BSD.
По поводу устройств на bsd - их существенно меньше, чем устройств на linux (и кстати это не показатель).
По поводу взломов - интересующиеся темой в курсе, что взломы сложные/небыстрые не из-за BSD, а из-за создателей этих устройств, которые реализовали множество аппаратных и программных защит.
> BSD на перечисленных вами устройствах по единственной причине - лицензия BSD.
> По поводу устройств на bsd - их существенно меньше, чем устройств на
> linux (и кстати это не показатель).
> По поводу взломов - интересующиеся темой в курсе, что взломы сложные/небыстрые не
> из-за BSD, а из-за создателей этих устройств, которые реализовали множество аппаратных
> и программных защит.Ну когда в голове пусто тогда и всплывает "единственно лицензия". А на самом деле
1. Значительно более низкая латентность IP стека.
2. Грамотно и полноценно работающий JAIL
3. Стабильное и чистое API/ABI, более полное соответствие Posix, а не помойка на линукс хранящая в себе фигову тучу интерфейсов нужных и ненужный интерфейсов.
4. Ну конечно Security опирающееся на качество кода. Так сказать - "покажи мне документацию по проекту и я скажу какое качество кода в проекте". FreeBSD имеет значительно лучшую документацию по сравнению со всеми открытыми проектами.Ну а бред про защиту аппаратных/программных защит - даже комментировать не буду. Никто не сомневался что оголтелые потратят всю свою желчь в поисках бредовых идей оправдания использования.
>Ну когда в голове пусто тогда и всплывает "единственно лицензия"Это выводы многих, кто связан с индустрией. Погугли статьи на тему выбора BSD для этих устройств.
По пунктам:
> 1. Значительно более низкая латентность IP стекаЯ и сам люблю/уважаю BSD как минимум за то, что в пиковые нагрузки сервера не захлебываются по I/O (как это иногда делает linux), но по сети - часто противоположные результаты, или равные (например https://matteocroce.medium.com/linux-and-freebsd-networking-... ).
Но на практике часто и до этого не доходит - какие-нибудь (даже не совсем новые) 40G/56G/100G сетевые в BSD частенько показывают более печальные результаты из-за драйверов в BSD, а если тестировать на InfiniBand - будет вдвойне печально.
(кстати, сетевой стек из unix в windows вошел практически полностью, но MS его немного задушила, поэтому, не показатель).> 2. Грамотно и полноценно работающий JAIL
Про "полноценно" - иногда вызывает вопросы. Долгое время jail в freebsd был огрызком, сейчас прогресс действительно огромный, но инструменты linux не уступают.
> 3. Стабильное и чистое API/ABI, более полное соответствие Posix
Это да.
> 4. Ну конечно Security опирающееся на качество кода. Так сказать - "покажи мне документацию по проекту и я скажу какое качество кода в проекте". FreeBSD имеет значительно лучшую документацию по сравнению со всеми открытыми проектами.
Документация там и правда неплохая, но сомневаюсь, что она значительно лучше всего. Например, документации OpenBSD.
>Ну а бред про защиту аппаратных/программных защит - даже комментировать не буду.Лучше бы прокомментировал, ибо твой опыт более похож на серверный, а не консольный. Я увлекался в свое время устройством/взломами консолей, и в них шифруется все до чего руки разрабов дотягиваются: внутренние шины, куча подписей на все подряд, онлайн проверки подлинностей, (или вспомнить там "волнистые" дорожки на дисках из прошлого), и подобное.
Куча вариантов, и в сети куча видео про это. Наличие BSD практически никак не меняет погоды для взломщиков, ибо ломают не через уязвимости ядра.Судя по твоей логике Xbox очень легко выскрываем, ибо он вообще на "винде". Но нет, MS учла горький опыт взлома первых версий, и теперь XBox хакерам дается сильно сложнее PS.
Ядро тут играет явно не первую роль
> кстати, сетевой стек из unix в windows вошел практически полностью,Исходники винды в мир утекали, поэтому тебе же не составит труда показать, где именно ты про это узнал, правда же?
> но MS его немного задушила, поэтому, не показатель
Специально, чтобы своим пользователям сделать хуже? Поиздеваться над ними, получить, так сказать, удовольствие, да? Это всё злой Билли, не иначе.
>Исходники винды в мир утекали, поэтому тебе же не составит труда показать, где именно ты про это узнал, правда же?Пользуйся поиском, это общеизвестный факт (гуглить лучше на английском). Даже сами разработчики MS говорили это на *BSD мероприятиях. Но с Windows Vista стек вроде как существенно модернизировали.
>Специально, чтобы своим пользователям сделать хуже? Поиздеваться над ними, получить, так сказать, удовольствие, да? Это всё злой Билли, не иначе.
Не специально. Окружение винды и ее "сверхбыстрый фаерволл" немножко постарались.
Можно сравнить с ситуацией, когда офисный комп с 4ГБ ОЗУ и HDD обновили с windows 7 до windows 10. Железо прежнее, ПО прежнее, задачи прежние - но скорость работы сильно упала (очевидно, что не специально).
> BSD на перечисленных вами устройствах по единственной причине - лицензия BSD.
> По поводу устройств на bsd - их существенно меньше, чем устройств на
> linux (и кстати это не показатель).
> По поводу взломов - интересующиеся темой в курсе, что взломы сложные/небыстрые не
> из-за BSD, а из-за создателей этих устройств, которые реализовали множество аппаратных
> и программных защит.А да, Task Sсheduler забыл ULE vs CFS в Linux. Пытались там че-то переписывать, на-воз и ныне там.
https://www.usenix.org/system/files/conference/atc18/atc18-b...
Тю, нетфликса где потерял?
>Как только FreeBSD дорастёт до популярности Linux думаю вопросов будет не меньше.Ну собственно это ровно тот же спор что у сторонников венды и линуха. раньше линухойды любили кричать что в винде слишком много уязвимостей, не обращая внимания на популярность систем. Теперь убмеранг вернулся.
Проверенное кем?
Надёжное? А вот здесь интересно, особенно когда из-за постоянных глюков и падений без постоянного шаманизма не обойтись. И чем дальше, тем хуже.
Я иногда таки пользуюсь этой ОС, чисто ради при кола.
> особенно когда из-за постоянных глюков и падений без постоянного шаманизма не обойтись.А может все таки - ручки не из того места растут?
Да блин, ручки не из того места растут. Иначе сам бы написал новый вайфай стек, сделал бы правильную инициализацию устройств при загрузке(это я о том, что иногда reboot до паники доводит. Надо выкл/вкл делать), подправил бы иксы, починил бы видеоускорение(хотя бы для своей i915)...
Да хотя бы написал нормальный инит, или openlaunchd прикрутил бы.Ты пожалуйста думай перед тем как аникейские отмазки 20-летней давности кидать.
> Иначе сам бы написал новый вайфай стек, сделал бы правильную инициализацию устройств при загрузке(это я о том, что иногда reboot до паники доводит. Надо выкл/вкл делать),Тебе не кажется, что это странно, что у других оно не так как у тебя?
> подправил бы иксы, починил бы видеоускорение(хотя бы для своей i915)...Теперь понятно... Старая мудрость: use the right tool for a job
БСД - это в основном о серверах, несмотря что было много потуг сделать из неё компетитора для линя, оно очень не дотягивает до мэин стрима
> Да хотя бы написал нормальный инит, или openlaunchd прикрутил бы.И чем инит то не угодил? Простой как 3 копейки...
openlaunchd - ЗАЧЕМ??? Все ёкнулись на систем-ди, это правда что все только и деляют что перезагружают компютеры вместо того чтоб работтаь на них, так прям критично усложнать, распаралеливать загрузку чтоб поиметь комп пару секунд быстрее? Правда потом прийдется прокладки из сокетов нагородить, чтоб сервисы стояли и ждали на них пока остальные подоспеют и получить как результат постоянно работающий оверхэд (для MITM то оно то что надо )
> Ты пожалуйста думай перед тем как аникейские отмазки 20-летней давности кидать.
Да то не отмазка, а похоже диагноз
> чисто ради при колаЗначение знаешь?
ненаход
Sony, Nintendo, миллионами устройств, проданных на FreeBSD ядре. Причем весьма интенсивно изучались, взламывалось. Но нет в отличие от дуршлата под названием Linux, ничего серьезного найденного не было.
> Sony, Nintendo, миллионами устройств, проданных на FreeBSD ядре.У Вас уже есть эти ядра в исходниках? Они будут информировать Вас насчет патчей?
1. Да достаточно даже того что PS 3+ интенсивно ковырялись толпой профессиональных хакеров-"Following his announcement of a Kernel Exploit for FreeBSD 10.2, today PlayStation 4 developer CTurt revealed news of a new FreeBSD kernel exploit which he says will be published for PS4 developers to examine once the security team patches it. "
2. В современных версиях FreeBSD этих уязвимостей уже нет. Так что с большой вероятностью что код из ядра PS3+ попадает в открытое FreeBSD ядро. Хотя я понимаю - у оголтелых очередной раз подгорает что принуждающая GPL лицензия никаких бонусов перед абсолютно открытой BSD лицензий практически не имеет. Зато агрессивности GPL не занимать.
> Так что с большой вероятностью что код из ядра PS3+ попадает в открытое FreeBSD ядро.лицензия BSD это "остается уповать на добрую волю корпораций"
>> Так что с большой вероятностью что код из ядра PS3+ попадает в открытое FreeBSD ядро.
> лицензия BSD это "остается уповать на добрую волю корпораций"Вот именно это и называется свобода без оговорок для всех.
Это лохотрон. BSD лицензия работает с прицелом на то что корпорация наймет студентов на работу с этим кодом. Ни одна фирма добровольно не поделится улучшениями с конкурентами. на которые потрачены её деньги.
А свобода это последнее прибежище лоховодов.
> Вот именно это и называется свобода без оговорок для всех.А по факту получается свобода сони и нинтенды пичкать всех DRM. ИМХО можете себе такую свободу оставить, не сильно ценно.
>> Вот именно это и называется свобода без оговорок для всех.
> А по факту получается свобода сони и нинтенды пичкать всех DRM. ИМХО
> можете себе такую свободу оставить, не сильно ценно.DRM будет присутствовать в любом лицензионном/защищаемом контенте, в противном случае будете лапу с GPL сосать.. И не только лапу...
Как показал пример линукса - это самое делать будут другие.
> Как показал пример линукса - это самое делать будут другие.Что он показал? Что с базой меньше 2х процентов - пользователи десктопов на Linux нах. никому не сдались??? Это да, показательное выступление.
> Что он показал? Что с базой меньше 2х процентов - пользователи десктопов
> на Linux нах. никому не сдались??? Это да, показательное выступление.Никому - это более 1000 игр в Steam, куча разработчиков Valve, AMD, Intel и проч делающих видеодрайверы? Valve комитит в линуксный драйвер AMDGPU, кстати. А сони много вам накомитила, используя такие же по смыслу AMD GPU?
А еще есть сервера, эмбедовка и около, сотни миллионов роутеров и точек доступа не дадут соврать. И еще смартфоны на андроиде. Как бы не вещали вон те, а их Binder - уже в майнлайне. Гугл комитнул то что сделал для себя в апстрим. Как-то так и получается что не будучи транснациональной корпорацией проекты на Linux делать сильно проще.
Ну и вообще, "they told me that slow VirtIO drivers for FreeBSD are a known issue" - https://matteocroce.medium.com/linux-and-freebsd-networking-... оттуда взято. Нормальные такие known issues в операционке. Зато какие-то геймеры какой-то сони счастливы. Но я не геймер и фирму сони не жалую, смысл передо мной этим хвастаться? На винфаке этим пробавляйтесь, там вас поймут.
>[оверквотинг удален]
> не вещали вон те, а их Binder - уже в майнлайне.
> Гугл комитнул то что сделал для себя в апстрим. Как-то так
> и получается что не будучи транснациональной корпорацией проекты на Linux делать
> сильно проще.
> Ну и вообще, "they told me that slow VirtIO drivers for FreeBSD
> are a known issue" - https://matteocroce.medium.com/linux-and-freebsd-networking-...
> оттуда взято. Нормальные такие known issues в операционке. Зато какие-то геймеры
> какой-то сони счастливы. Но я не геймер и фирму сони не
> жалую, смысл передо мной этим хвастаться? На винфаке этим пробавляйтесь, там
> вас поймут.1000 игр это тоже примерно 2 процента от всего наследия игр. Так что тоже не фонтан.
Хватит слов, покажите _свой_ код под GPL.
> У FreeBSD проверенное, надёжное ядроЭто мог бы быть тонкий троллинг и удачный наброс, но нет. У бсдей тоже находили косяки в ядре. При всей моей любви в фряхе не вижу смысла притворяться, что это невозможно.
Поэтому и неулов...неуязвимое.
> У FreeBSD проверенное, надёжное ядро.Достаточно почитать историю с попыткой комита туда вайргада, чтобы усомниться в этом.
> Но очень мало кто пользуется этой ОС.
Извините но линуксы просто удобнее и практичнее. А свои баги мы починим. Даже в экзотичных протоколах для IOT (а в фре это вообще есть?).
> У FreeBSD проверенное, надёжное ядро.Вам уже корпорации предоставили своё патченое BSD? А про Ваше они помалкивают даже если узнали.
Вам уже корпорации предоставили своё патченое Линукс, которое гоняется на серваках и прочих SaaS? Или как обычно - "вынипонимаитиэтодругое!"
> Вам уже корпорации предоставили своё патченое Линукс, которое гоняется на серваках и
> прочих SaaS? Или как обычно - "вынипонимаитиэтодругое!"Вопрос в соотношениях. Если 90% берет код и не возвращает а 10% контрибутит это одно, а если 90% контрибутит а 10% не возвращает - таки, другое. Хотя если чисто номинально фактами жонглировать то как бы одно и то же явление природы. С практической же точки зрени вон там будет дохлый апстрим а вон там процветающее сообщество.
И кстати с практической точки зрения САБЖ вообще хрен найдешь где эксплуатировать:
На всех машинах где я ткнулся было
> net.ipv6.conf.all.rpl_seg_enabled = 0...и чего там эксплойтом огревать? Тролей на опеннете? Они айпишник не скажут да и зассут включить :(
>> Вам уже корпорации предоставили своё патченое Линукс, которое гоняется на серваках и
>> прочих SaaS? Или как обычно - "вынипонимаитиэтодругое!"
> Вопрос в соотношениях. Если 90% берет код и не возвращает а 10% контрибутит это одно, а если 90% контрибутит а 10% не возвращает - таки, другое. Хотя если чисто номинально фактами жонглировать то как бы одно и то же явление природы.То ли дело чисто и неноминально жонглировать циферками, высосаными из пальца, попутно спрыгивая с темы ...
Вон там https://matteocroce.medium.com/linux-and-freebsd-networking-... кто-то циферками пожонглировал. Оказывается Virtio в фре тормозное. И это known issue. Я только 1 не понимаю: а какой смысл делать тормозной virtio вообще? У него весь пойнт в том что он легкий и быстрый.
>> Вам уже корпорации предоставили своё патченое Линукс, которое гоняется на серваках и прочих SaaS? Или как обычно - "вынипонимаитиэтодругое!"
> Если 90% берет код и не возвращает а 10% контрибутит это одно<пруфца на циферки?>
> Вон там https://matteocroce.medium.com/linux-and-freebsd-networking-...
> кто-то циферками пожонглировал. ОказываетсяОказывается, очередная стремительная смена темы и ссылка на бложик 5 летней давности подвтерждает все смелые тезисы очередного^W Выдающегося Балаб^W Эксперда.
От оно че!
А почему смущает-то?? Кто вообще сказал, что Линукс - это серьёзно? Linux JUST FOR FUN! :))) Для удовольствия! Что непонятного-то? И все эти технологии существуют в линуnсе с одной целью - чтобы разрабы, дилетанты, хоббииисты радостно пилил свои говнокодики. :) Всё логично.
Нука, серьёзный ты наш. Критикуя - предлагай замену.
ReactOS?
> А почему смущает-то?? Кто вообще сказал, что Линукс - это серьёзно? Linux
> JUST FOR FUN! :))) Для удовольствия! Что непонятного-то?Так они и не врут. Для этого достаточно зайти к господам разработчикм Linux и повзаимодествовать с ними. Они реально пашут себе в кайф. Поэтому получается круто, компетентно, все такое. И они реально хотят получить кайфовую операционку. А то что на таких масштабах баги случаются - да, и чего? А напрячь syzbot'а какого мучать какой-то экзотичный диалект протокола, отключенный везде по дефолту, если и доперли то далеко не сразу. Спорим 90% посетителей узнали о том диалекте протокола из вот этой новости? :)
Знал я, что этим (ipv6) нельзя пользоваться.
Точно. Сразу его вырубаю, или под корень в sysctl.conf, или хотя бы тотальный DROP в iptables (просто некоторым прогам под корень не нравится). Это уже стандартная практика.
на локалхосте всё всегда элементарно делается
Это же хорошо,а админусы пусть страдают им за это деньги платят.
А как же - "IP адреса все закончатся и мы все умрём ... вот щас щас ..." ?
Ну если принтеры с белыми адресами кое-где кое у кого умного ... Кстати, уже неоднократно.
А в чём, кстати, проблема выдавать принтерам адреса из публичных диапазонов? Ну кроме того, что адепты святого Ната при виде такого иногда начинают бледнеть и заикаться. Адрес — это всего лишь циферки. Вы же не из тех, кто верит в магию чисел?
Что будет маршрутизировать публичный IP к Вашему принтеру?
Ничего не будет. Айпи из публичного диапазона не означает публичный доступ. Ну не роутится никуда за пределы офиса какой-нибудь небольшой /22 за пределы офиса, ну и бог с ним, никто не расстроится.
Тут есть коварная шляпа, о которой адепты нероутинга в паблик забывают. А назад роутится? Иногда достаточно просто прилетевших 100000500000 udp-пакетов, и neighbour table вашего роутера станет широкой и жирной
> Что будет маршрутизировать публичный IP к Вашему принтеру?Роутер, например. Правда, при этом неплохо бы озаботиться файрволом. И с камерами такая же ерунда. Иначе можно воооооон в те выдачи гугли попасть. Круто же когда можно в чьем-то гараже камеру покрутить. Даже без IPv6, кстати.
IP-адреса, конечно, не закончатся, но в перспективе все будут сидеть за натом (собственно, уже). А что, чтобы заходить на три веб-сайта, ip-адрес не нужен.Сейчас, конечно, много всякого говна форсится, но вот ipv6 - это однозначно добро. Пусть он во многом технически некрасив, но главную проблему - недостаток адресного пространства - решает. И если это сейчас не взлетит, то, считай, все. Ничего другого уже не появится.
А опасения, что может не взлететь, вызывает то, что по-настоящему он корпорациями и не форсится, а используется, наоборот, как громоотвод для негатива. Пример: в android нельзя прописать альтернативные днс-сервера, кроме гугловских. Гугл на это официально отвечает: вот есть ipv6, протокол будущего, и там все работает как надо, а для ipv4 мы ничего менять не будем. Юзеры делают вывод, что ipv6 плохой, мешает им жить.
А если б тот же гугл действительно его форсил, как он умеет (пример: HTTPS), то везде бы уже было.
А все потому, что корпорациям в первую очередь не нужно, чтобы юзер полноценно использовал интернет, чтобы у него нормально работали p2p-протоколы обмена данными, децентрализованные мессенджеры/телефония и прочее (сейчас 90% проблем именно из-за ната). Им нужно, чтобы он был придатком к их сервисам. А для этого ip-адрес не нужен.
Провайдерам это также не нужно, чтоб юзер генерил за те же деньги больше траффика (да еще и инвестировать в это). Им лучше продавать какой-нибудь воздух вместо этого.
Поэтому, если ipv6 и взлетит, то, скорее, не благодаря, а вопреки, благодаря критической массе продвинутых юзеров, которые будут пользоваться.
>сейчас 90% проблем именно из-за натада что ж ты будешь делать, и тут тоже!
Коммунизм?
IPv6 это гебешная поделка и головная боль. Кроме 64 бит собственно адреса + 64 бит EUI (по стандарту) или рандом (когда спохватились, что зонд с орбиты видно), преимуществ для себя не нашёл. С 2017 дуалстек.
Хотя нет, есть ещё одно неявное - китайцы не сканят порты ввиду отсутствия у них оного или задалбываются весь диапазон перебирать.
Некоторые "продвинутые" провайдеры успели начать переход на IPv6, например AS3209, AS3320 (у которого и так 33 млн. IPv4). DS-Lite, значит IPv4 трафик приходит NAT-ом, а IPv6 напрямую.
Теперь бы как бизнес не противился, не вижу как эту архитектуру им провернуть обратно (никак), хотя логика в вашей идее есть.Тем не менее, поддержка на конечных устройствах и middleboxes оставляет желать лучшего. Вот у меня, например, IPv6 на Андроидах через день-два отваливаются. Проблема не единичная, но непонятно кто виноват.
Со стороны хостинга популярны становятся IPv6-only VPS, потому что дорого.
А вот всякие Бразилии и т.п. до сих пор блещут своими IPv4-only в p2p. Сравните себя с ними называется...
> Теперь бы как бизнес не противился, не вижу как эту архитектуру им провернуть обратно (никак)Вот этот момент не очень понял. Вроде, если уже внедрили, так зачем проворачивать назад и почему бизнес противится?
Это я лишь продолжил идею этого абзаца:> Провайдерам это также не нужно, чтоб юзер генерил за те же деньги больше траффика (да еще и инвестировать в это). Им лучше продавать какой-нибудь воздух вместо этого.
С другой же стороны, после введения 5G (точная геолокация) провайдеры сами будут пытаться монетизировать данные. Вот тут-то статические IPv6 на абонента/устройство пригодятся. Как, впрочем, и сайтам рекламы и аналитики. (Временные адреса оставим за рамками.)
Дело хозяйское, а вот у нас уже все проекты IPv6 only. Отключили v4 в прошлом году, потому что с NAT наш voip софт всё равно бесполезен, а в v4 мире полноценных белых IP у клиента уже не встретишь. Потеряли 2% клиентской базы, в принципе она не окупала v4 адресов и разработки костылей связанных с NAT'ами.
имхо ты лукавишь
> Потеряли 2% клиентской базы, в принципе она не окупала v4 адресов и разработки костылей связанных с NAT'ами.Оптимистично у вас. В РФ не найти нормального провайдера с IPv6. Только Ростелеком, который может порезать полностью входящие и отмораживается, мол мы не предоставляем IPv6, т.е. это ничем не лучше NAT, но хотя бы /56. И Дом.ру, который, говорят, выдаёт только /64, но, зато, официально и со статическим префиксом. Ещё несколько провайдеров в городе миллионнике тупо вообще не поддерживают IPv6, в том числе МТС и Билайн.
> В РФ не найти нормального провайдера с IPv6Сейчас да, если какой-то провайдер и предоставляет ipv6, то "неофициально". В любой момент может сломаться и ничего от них не добьешься. В Питере есть один провайдер, который выдает /56, но тоже неофициально и, если что, пойдешь на их форум, где они будут долго рассказывать, как им везде бизнес-процессы мешают, как тому танцору известное место, а через полгода нафиг пошлют.
Туннели спасут отца русской демократии. Берешь любую VPS-ку, с ней обычно идет /64. Эту /64 бриджуешь во все свои точки присутствия и сидишь в одном по сути L2-сегменте. Либо сегментируешь, но отказываешься от SLAAC. Как показывает практика, первый вариант (с бриджеванием) вполне пригоден: многие конечные устройства более-менее готовы сидеть "голой жопой" в интернет. Бывает, что на них самих есть фаервол, плюс рандомный адрес у них по дефолту меняется каждые 5 минут.
Такой себе, конечно, бомж-вариант, на самый крайний случай. Когда есть /56, лучше.
Я бы порезал и на /120 для своих подсеток, DHCPv6 никто не отменял. SLAAC: EUI-64 лютое зло, нефиг в инет светить MAC-ом устройств, которые могут быть уязвимы на уровне прошивки.
1. use_tempaddr=2
2. ФаерволлИ не рассказывай, что у тебя устройства, уязвимые «на уровне прошивки» подключены напрямую к провайдеру, не поверю.
Сетевушка от Штеуда может быть уязвима? Легко. И, главное же, производители (и ещё, кто надо) прекрасно знают диапазоны MAC-ов продукции, какие и с какими закладками были выпущены. Файервол здесь вам совершенно не помошник. Пакет (как говорится, специальным образом подготовленный) попадёт в сетевуху раньше, чем его обработает файервол. А у сетевухи может оказаться забекдоренная фирмварь.
И как тебе поможет или помешает наличие или отсутствие IPv6 в случае гипотетически уязвимой сетевой карты? Или ты думаешь, что НАТ тебя каким-то волшебным образом спасёт от «специальным образом подготовленного» пакета? В лучшем случае, слегка усложнит задачу атакующего. Вместо пяти — семь минут разогреваться надо будет.
Я тоже SLAAC не люблю, но, увы, приходится с ним мириться из-за андроида, который больше никак не умеет. Кстати, кроме него все остальное прекрасно умеет в DHCPv6: macos, ios, винда, линукс.А мак-адресами давно никто не светит, там просто рандом, и он к тому же все время меняется. Генерация по мак-адресам используется только для link-local адресов.
бриджуешь это мостяришь?
Именно. Объединяешь интерфейсы от всех туннелей в один мост.
> полноценных белых IP у клиентаА в чем заключается неполноценность клиентских белый ойпи? в худшем случае блокировкой SMB и прочих виндовых портов? не велика печаль, да и время бластеров и сассеров уже давно ушло.
Вот сижу я дома, что ни провайдер - то ipv4 онли. Ну ладно, может модномолодежный еще не пришел. А як по этим вашим ипв6 будут подключать обычных, неойти людей? Шоб телефон, шоб ноутбук, шоб телек с приставками. Само все настроится с шайтан-коробкой от "${companyname}телекома"?
Ну вот пришел я работу работать, а там тоже кругом этот ваш старый ipв4 жизти и прогрессу мешает.Всякие wifi роутеры ipv4 раздают. Не воспользоваться мне вашим сервисом :(. Грусть-печаль.
> Само все настроится с шайтан-коробкой от "${companyname}телекома"?Именно так. При этом коробка проще в устройстве, стейтлесс, и не страдает всеми болячками натов.
> Не воспользоваться мне вашим сервисом
Он же там явно написал: их бизнесу лузеры без ipv6 не нужны, так как доходы с них не покрывают расходы на ipv4 адреса.
не велика печальМопеда?
Где ещё дешёвый или даже бесплатный белый адрес возможен, как не в IPv6?
Или если захочешь в Yggdrasil, что делать будешь?
150р/мес - это дорого ?
ovh - пока раздаёт задаром.
Не то, чтобы дорого, но не массово. У тебя, например, есть, а у второй стороны нет. А если бы по дефолту у всех был и к каждому были бы возможны входящие коннекты без нат, наступил бы коммунизм.
>у всех был и к каждому были бы возможны входящие коннекты без ната можно не надо?
не хочу шоб китайская девайсина, которую никто и никогда не будет обновлять, светила своими уязвимостями на весь тырнет.
Зафаерволь девайсину/не включай на ней в6, в чем проблема?
Проблема в том, что локалхостные админы считают нат механизмом обеспечения безопасности. А публичные адреса автоматически считают доступными всегда и ото всюду.
НЕ. Вто, что вам рассказывали с надрывом о лучшем в мире образовании, и вы поверили. )
> А если бы по дефолту у всех был и к каждому были бы возможны входящие коннекты без натЛукавый.
> 150р/мес - это дорого ?На десяток устройств - уже кусается. А, ну да, на вебморду ходить как белому человеку нельзя, надо е....я с какими-то костылями типа натов и портфорварда, да? Которые сами источник проблем - если хорошенько флудануть это конекциями, там RAM под это может закончиться.
> ovh - пока раздаёт задаром.
Хостеры пока еще разжают. Однако качать торенты с ната например это инвалидность полная.
Да! Переходите на мой IPnh!
>за прошедшие 15 месяцев три раза попытались устранить >проблему, выпустив патчи в сентябре 2022 , октябре 2022 и >апреле 2023 года, но каждый раз исправлений оказывалось >недостаточно и уязвимость удавалось воспроизвести. В конечном >счёте проект ZDI, координировавший работу по устранению >уязвимости, принял решение раскрыть детальную информациюВидимо "диды" понимавшие в Ц и в ИП стэк начали заканчиваться, наступает эра трехтомника документированных, но не исправленных ошибок.
те самые диды, которые подкинули нам cleartext DNS, чтоб провайдеру было легче стучать органам, даже при использовании HTTPS? да, спасибо за это дидам
DNS тоже поверх SSL бывает
согласно дидам, DNS - это всегда клиртекст на порту 53. DOH, DNSCrypt - это то, что придумал молодняк в ответ на свиньи, заботливо подложенные дидами.
Может ещё вместо текстового HTML надо было использовать бинарный стандарт? Это же было бы так экономно.
Давно пора.
так и есть при использовании gzip и прочих сжимальщиков настроенных на серваках
Ага ещё один любить нагревать атмосферу своими сжиманиями разжиманиями. Ты вообще понимаешь что такое бинарный формат?
Надо было. Внезапно, получилось бы не хуже, и, глядишь, любимый опеннет бы грузился ещё на пару миллисекунд быстрее
оставьте уже дидов ...
На кол тех, кто выдумал XML И JSOn !!! Необходим пожатый бинарный поток !
Я тебя немного удивлю есть полно стандартизованных бинарных форматов никто ими особо не пользуется по итогу.
Ы ! Например IP протокол, раз ты такой умный - прекрасно им все пользуются
> никто ими особо не пользуется по итогу.Да, блин? Даже TLS в HTTPS так то ни разу не текстовый. И вот прям на опеннетике и используется. HTTP2 и 3 так то тоже бинарные.
А HTTP1.x мало того что неэффективные и страдают дурными проблемами - так еще во многих конфигурациях подвержены стебному классу атак "request smuggling", это когда атакующий креативным оформлением запроса может по факту проабузить парсинг и вклинить свое добро в чужой запрос вообще. Поизвращавшись над вот именно особенностями парсинга этого добра как текста. И стопроцентно это зарубить - тот еще квест, между прочим.
Ну или вон телеграм - использует кастомный компактный бинарный протокол и в ус не дует. Зато меньше трафика и батарейки жрется, да и блочить его такой не особо удобно.
Не гони на нас, мы и DNSCurve придумали!
Ну был бы бинарным, и что, его нельзя было бы распарсить? Да там наоборот, все было бы еще проще в плане затрат.
DNS и так принадлежит провайдеру, если ты пользуешься DNS в доверенное место отдельно от канала - ты сам себе злобный буратино.
То есть использование криптоднс в браузере хуже если исползовать простой резолвер?
Конечно, хуже для майора.
А вам есть что скрывать?? Проверьте совесть и покайтесь...
"Диды понимавшие в Ц" насажали уже тысячи таких packet-of-death.
> "Диды понимавшие в Ц" насажали уже тысячи таких packet-of-death.В линухе по моему и десятка за все время не наберется. Ну а остальные придерживались тактики "не ошибается тот кто ничего не делает" в основном.
> но каждый раз исправлений оказывалось недостаточно и уязвимость удавалось воспроизвестиРасскажите уже кто-нибудь этим разработчикам ядра про unit-тестирование.
тут и просто тестирования хватило бы
деды не знают этих хипсторских вещей, но мы знаем какой язык корректно бы обработал это поведение
Воображаемый святой язык на котором говорит ChatGPT.
поведение бы обработал теоретически, т.к. если ходить вокруг да около -- сложные проекты не будут доведены до конца или закончатся на этапе инициативы
Ага, также корректно бы завершил процесс... ядра.
Деды всё знают https://www.kernel.org/doc/html/latest/dev-tools/kunit/index... Это хипстеры не в курсе.
> за прошедшие 15 месяцев три раза попытались устранить проблему,
> выпустив патчи, но каждый раз исправлений оказывалось недостаточно
> и уязвимость удавалось воспроизвестиэто значит что это не баг и не ошибка - это именно целенаправленно созданная дыра, о чём разработчики знали и делали вид активной работы по исправлению, чтобы обнаружившие дыру успокоились и пошли дальше
> sysctl -a | grep -i rpl_seg_enabledнет, это какая-то ненужная фигня, которая выключена и на десктопах и на серверах и в опенврт-подобном.
как понимаю, разрабы фикс делали, а тестить фикс было лень.
и некому потому что никто не пользуется фичей..
Почему при обработке _внешних данных_ ядро уходит в панику? Внешние данные априори ненадёжны и их некорректность — нормальная ситуация, которая не должна вызывать сбоев.Это прям как: позвонили в дверь, посмотрел в глазок, не узнал, застрелился.
> Почему при обработке _внешних данных_ ядро уходит в панику?потому что skb_push никогда не возвращает ошибку
https://elixir.bootlin.com/linux/v6.3.2/source/net/core/skbu...
соответственно весь код никогда не проверяет возвращаемое значение. Для скорости наверно.
Вы говорите о реализации, я же — об архитектуре.Линус постоянно топит о том, что "нехватка памяти, некорректные данные — это нормально, всё должно быть обработано штатно, это ядро, оно не должно останавливаться".
> Вы говорите о реализации, я же — об архитектуре.в этом случае посчитали что лучше ядро остановить в вырожденных случаях чем снижать скорость в бутылочном горлышке.
Так проверка там делается, надо бы её вообще убрать, если уж так важна скорость. Упадёт когда-нибудь в другом месте.)
> Так проверка там делается, надо бы её вообще убрать, если уж так важна скорость.нет, учи логику, и конечно скорость важна - сетевой стек работает в контексте softirq
>> Так проверка там делается, надо бы её вообще убрать, если уж так важна скорость.
> нетif (unlikely(skb->data < skb->head))
skb_under_panic(skb, len, __builtin_return_address(0));> учи логику, и конечно скорость важна - сетевой стек работает в
> контексте softirqЛогику? Ты гуглпереводчик используешь? Или не дочитал моё сообщение?
> Логику?ты разницу между обнаружением ошибки и её обработкой понимаешь ?
Понимаю. Как и понимаю "чем снижать скорость в бутылочном горлышке".
То есть, у нас есть ядро, которое может крутиться на сервере с сотнями ядер, террабайтами оперативки и тысячами виртуальных машин.И что же нам выбрать: упасть на редком сетевом пакете с полной потерей всех данных рилтайма или задействовать одну (!) элементарную инструкцию процессора в бутылочном горлышке?
Ответ очевиден: надо падать!
Отличный выбор!
>>Для скорости"поспешишь - людей насмешишь"(c)
С таким подходом можно тогда всю графику в ядро запихать, а потом ловить баги, когда при определённом сочетании пикселей в картинке ядро в панику уходит.
Всю это что? Фреймбуффер, drm и так в ядре - этого уже достаточно чтобы видосики крутить например в полный экран через ffmpeg, или приложеньку для киоска запустить.
В Windows графический интерфейс в ядре. Пользователи довольны скоростью. В серверных платформах он не нужен. Мало того есть Core. Что не так, кроме того, что здесь это вечный оффтопик.
Потому что для этого нужно микроядро и обработка TCP-стэка с меньшими привилегиями, чем системные, чтобы у него не было возможности модифицировать никакие другие структуры ядра, и с возможностью его перезапустить (ну хотя бы выгрузить/ загрузить и стартануть с нуля. Правда будут все равно текущие соединения вылетать, что печально. Или дробить обработку на вообще независимые части).Что не то чтобы невозможно, но потери эффективности на большую загрузку процессора / большие задержки / меньшую пропускную способность из-за дополнительных переключений контекста (а как еще разделять привилегированные и непривилегированные части?) для всех и всегда обойдутся дороже, чем раз в год разбирать вот такие факапы.
> Внешние данные априори ненадёжны и их некорректность — нормальная ситуация, которая не должна вызывать сбоев.
Да-да, а в коде не должно быть ошибок априори. Вот когда идеальный робот GPT-next будет за нас все без ошибок писать, тогда может быть... А пока приходится кодить человекам, увы. Допуская ошибки иногда.
Вынеся все что "не нужно" за пределы повышенных привилегий, мы сделаем это более уязвимым.
> Потому что для этого нужно микроядро и обработка TCP-стэка с меньшими привилегиями,
> чем системные, чтобы у него не было возможности модифицировать никакие другие
> структуры ядра, и с возможностью его перезапуститьА потом, попытавшись это все запустить на каком-нибудь всего-то 100 Гбит интерфейсе (уже и больше есть), подивимся перфомансу чудному, показывающему почему именно микроядра не взлетели. Ну а вы там на своем локалхосте хоть редокс можете гонять, там и микроядра и безопасТный яп, все такое. Да и если этот локалхост вообще сдохнет - кто-то разницу заметит?
>> Что не то чтобы невозможно, но потери эффективности на большую загрузку процессора / большие задержки / меньшую пропускную способность из-за дополнительных переключений контекста
> А потом, попытавшись это все запустить на каком-нибудь всего-то 100 Гбит интерфейсе
> (уже и больше есть), подивимся перфомансу чудному [...] Ну а вы там на своем локалхосте хоть редокс можете гонять, там и микроядра и безопасТный яп, все такое.Угадай по пафосному бреду и фантазиям Балаболку-Нечитателя-294 ...
Действительно, почему сделано плохо, а не сделано сразу хорошо?
Ошибку сегментации никто не отменял. Это целостность данных или кода. Либо система отслеживает это, либо это не система. Выход за пределы С не отслеживает, а rust отслеживает. Rust предоставляет это возможность. Воспользуется ли ей программист?
Если он не воспользовался статическим анализатором кода и проигнорировал банальные варнинги, то можно ожидать что он напортачит и в любом другом языке.
Да чорд с ней с сегментацией (это важно, конечно, но не в контексте данной проблемы), просто меня поражает, что выбор между вариантами "надёжно, но медленно, потом сделаем быстрее" и "может в любой момент упасть, зато быстро, должно проканать", выбрали второй.
"""
В 2022 году нашёлся повод потратить пару часов и составить вот такую картинку.https://s3r.ru/wp-content/uploads/2023/03/statya-yaos-2023-3...
несколько уязвимостей повышения полномочий в Linux и их просачивание в Astra Linux SEИз неё следует, что на протяжении почти 15 лет (с 2008 по 2022) можно было поднять полномочия обычного пользователя до администратора (root) в широком спектре линукс-дистрибутивов, если знать, как это сделать.
...
С данной картинкой автор пытался выступить на российской конференции «OS DAY 2022», которая была как раз посвящена «технологическим основам безопасных операционных систем». Оргкомитет (в котором присутствовали представители аж трёх российских дистрибутивов Линукса), почему-то счёл доклад не соответствующим тематике конференции.
"""
ахах спасибо поржал над этим решеетом в который раз
В Windows технологических отверстий не меньше.
> А у вас там негров линчуюют!!1111Каком нам дело до отверстий в винде? Ты бы еще про максоь вспомнил!
> ахах спасибо поржал над этим решеетом в который разНаписано же Special Edition. Специальный дистр, специально для участников Специальной олимпиады.
Ггг, не линуксы гнобил :)
Надо было на примере редхата показывать ;)
По ссылке написано про ядро в целом. Автор приводит доводы, почему это очень похоже на троянского коня.
> https://s3r.ru/stavka-tolko-na-linuks-eto-oshibka/для астры всё же что-то делали для проверки безопасности
https://www.ispras.ru/projects/astraver_toolset/
он там пишет что раз есть картинки то лучше не Linux использовать а Windows написать чтобы не портировать непортируемые виндо-поделки. Мягко говоря спорное утверждение - безопасность Linux-систем можно кардинально улучшить без переписвания
Он там пишет, что делать должны доверенные люди, а не вероятный противник. В Астре именно потому вместо SELinux писали своё.
> Он там пишет, что делать должны доверенные люди, а не вероятный противник.а ты читал на что ссылки даёшь ?
> Спрашивается, проводил ли кто-нибудь подсчёты этой стоимости? А также, сравнивалась ли стоимость переписывания программ со стоимостью создания Windows-совместимой ОС, в которой эти программы просто будут работать? Давайте я это сделаю: мы только что прикинули, что 1,5 миллиона человеко-лет потребуется на перенос приложений.
>> Он там пишет, что делать должны доверенные люди, а не вероятный противник.
> а ты читал на что ссылки даёшь ?Естественно, читал. Если бы ты сам дочитал, то увидел бы мой комментарий.
>> Спрашивается, проводил ли кто-нибудь подсчёты этой стоимости? А также, сравнивалась ли стоимость переписывания программ со стоимостью создания Windows-совместимой ОС, в которой эти программы просто будут работать? Давайте я это сделаю: мы только что прикинули, что 1,5 миллиона человеко-лет потребуется на перенос приложений.
"""
Спрашивается, проводились ли подобные подсчёты перед тем, как принимать решение? Мы знаем, что у энтузиастов Линукса есть религиозная догма, мем, о том, что только совместными усилиями всего мира можно создать качественное ПО. Этот мем настолько расхож, что мне понадобились годы, чтобы обнаружить, что я тоже им заражён, и найти в себе силы провести реальную оценку трудоёмкости Линукса и других крупных ИТ-задач. Вероятно, что вместо обоснований с цифрами, решение о переходе на Линукс было обосновано на уровне мемов. Энтузиасты Линукса пошли к начальству и их лица источали такую убеждённость, что им поверили, перенесли убеждённость выше по вертикали власти.И так, постепенно, убеждения отдельных технарей стали официальной религией нашей страны
"""
Что это за бред и при чём тут линукс? В данной цитате приведён какой-то высер какой-то невменяшки, религиозные догмы у неё какие-то.
Бред - это медицинский термин. Вы ошиблись адресом, конференция медиков вон там.Здесь ожидается, что появится специалист с опытом, покажет расчёты трудозатрат... ;)
> Естественно, читал.но ведь там прямо написано что надо клон винды писать с нуля а не использовать Linux. Даже не знаю что творится у него в голове - почему-то переписать Компас "за наши с вами деньги" с винапи на линуксапи это плохо, а написать винду вместо использования wine хорошо. Обоснования просто сказочное - нас же до.уя.
"Клон Винды" в тексте отсутствует, это лишь Ваша интерпретация, как вы поняли статью. Смысл там в том, что в сумме (с учётом переписывания имеющегося ПО) может оказаться дешевле обеспечить совместимость на уровне WinAPI. Например, FreeBSD + WinE. Или старое ядро Linux + WinE.
Не может. Это заведомо позиция отстающего. Встать и идти за кем-то, повторяя его маневры. Переход на Линукс нужен в том числе для того, чтобы была возможность рвануть вперёд не оглядываясь на одну корпорацию.
Покажете свой гитхап, или очередной мастер писать прорывные словесы?
> Покажете свой гитхап, или очередной мастер писать прорывные словесы?Такие линии поведения ведут к неудобным вопросам. Ну вот например: что с лично вашего гитхаба (я его смотрел, если что) будет так уж сильно полезно гражданам вашей страны, по вашему мнению? И не подскажете почему именно оно полезно? Какие задачи решает, почему это хорошо, и чем именно это улучшает жизнь граждан?
Это вполне удобный для меня вопрос, поскольку задан анонимно,
что бы ни к чему задававшего не обязывать.
Тем более, что страна названа "вашей".
Я могу его просто игнорировать. ;)Но могу и намекнуть - полезным может оказаться упоминание Moscow Center for SPARC Technology в лицензии.
>оценку трудоёмкости Линуксавсегда было интересно, чому свет клином не сошелся и нужен именно переусложненный линукс?
чому не гораздо более простая FreeBSD. Что там принципиально настолько необходимо в этих ваших линуксах?Под какие _практические_ задачи она не подойдет? запускать мульон доскеров на одном старом ксеоне с алишечки?
FreeBSD доминировала в начале нулевых, пока они не начали чудить с лицензиями в предвкушении ещё большей славы или блабла. Тогда все быстро сбежали на линуксы и обратно уже не вернутся. Реванша не будет.
И в чем же заключалось "чудить с лицензиями"?
> Под какие _практические_ задачи она не подойдет?под любые практические задачи проще использовать Linux, а для разработки электроники Linux безальтернативен
Да и для всякой околоэмбедовки. Чтобы там бсд завести надо быть корпом размером с сони. Спасибо свободной лицензии за то что корпы все позажимали так что извольте все кодить сами.
Вот кстати, да. Основная проблема FreeBSD преподносится как "нет драйверов". Но у нас же импортозамещение, два процессора Эльбрус и Байкал, плюс три совместимых устройства. Для них драйвера пишет производитель.
Осталось разобраться кто будет писать, и как гарантировать, что не выйдет худе, чем в Линуксе. А то неровен час окажется, что талантливых русскоязычных программистов-патриотов раз, два и обчёлся, да и те предпочитают за доллары на редхат работать за границей, как это водится у патриотов.
Людей найти можно. Вопрос в том, что придётся конкурировать с разжиревшими продавцами халявных исходников.
А, делов-то. Пустяки. К понедельнику управишься, фантазёр?
Аноним, ну зачем ты так с собой? Из твоей попытки троллинга я понял, что никто никогда не вёл с тобой дел серьёзнее, чем послать за пиццей.
Честно говоря, график немного странный. Насколько я понимаю, нанесено не время существования уязвимостей в паблике, а в принципе время их существования в кодовой базе. В таком случае в Windows (или в принципе в проекте с огромной кодовой базой) тоже можно найти уязвимости, которые покрывали весь или почти весь срок жизни нескольких версий ОС.
Т.е. по сути своей, этот график горит только о том, что в ПО существуют ошибки и что некоторые из них не обнаруживаются годами, а то и десятилетиями.
А кому интересен "паблик"? Ценность представляет "зиродей".
Главный посыл статьи - лучше создать Windows-совместимую ОС. А что же не оботечествили и не обсуверенили ReactOS? А, не на русском Обероне потому что.
"Идейный глобализм во многом свойственен программистам вообще, поэтому патриотично мыслящие программисты нуждаются в охране, как снежный барс или ландыши. Русский язык вызывает у глобалистов стойкую аллергию, поэтому он является фильтром (не идеальным, но и не плохим) для того, чтобы глобалисты не захватили проект и не сменили его цели. Глобалисты просто изначально не пойдут в такой проект и это даст патриотам численный перевес хотя бы внутри коллектива разработчиков." Это не тот прогер, что пишет РусскуюОС?
Например у меня не вышло с клоном ReactOS, потому что было мало людей и снежный ком на голову упал. А Вы просто потролить хотели, да?
В дополнение к ОС на языке Эль-76 https://www.cnews.ru/news/top/2023-05-02_v_rossii_poyavitsya...
В непринятых новостях читайте ответ Максима.
Я прочитал эту с статью и с удивлением не обнаружил в ней главной проблемы с безопасностью в Linux, проблему устройств и их драйверов."Коммунисты", верящие в свой культ, пропагандируют, что есть только одна расово верная лицензия, которой можно пользоваться вендорам устройств при написании драйверов и прошивок. Тех самых устройств, к производству и реализации которых, на минуточку, эти коммунисты не имеют абсолютно никакого отношения. При этом, вводится EXPORT_SYMBOL_GPL, закрывающий за лицензионными ограничениями внутренности монолитного ядра. И никто не предоставляет никакого открытого стабильного API для написания этих драйверов. Затем разработчики искренне удивляются, когда нет достаточной поддержки устройств, особенно специфической периферии (ой, а что случилось, саботаж, диверсия не иначе).
И вот в сложной такой ситуации они переизобретают велосипед красного цвета с жёлтыми звездами (GPL-версии драйверов в ядре), чтобы "догнать и перегнать". Но не только лишь квадратность колёс этих велосипедов мешает человеку ехать, но и тот факт, что оно еще и разваливается. Идея о том, что нужно создать отдельные комитеты по организации безопасности кодовой базы драйверов перешли от теории к практике когда? В 2016-м году, я не помню, но меньше 10 лет назад это точно, сами поищите интервью Торвальдса про это. Вопрос в том, как они это сделали... В любой непонятной ситуации - делай форк (в этом случае непубличный) и фрагментируй, фрагментируй, фрагментируй.
Давайте же посчитаем, что примерно получается:
1. Есть дистрибутив Linux и его команда безопасности (меинтейнеры разной степени образованности в программировании и математики)
2. Которая "обезопашивает" форк ванильного ядра Linux, куда портируются или удаляются не только исправления безопасности, но и куски драйверов и функции из более свежих веток ванильного ядра.
3. Которое разрабатывается комитетом любителей переписать на правильные языки и лицензии разного рода драйверы.
4. Безопасность которых исправляется на отдельных ветках в закрытом списке рассылки, в которых участвуют лишь некоторые производители оборудования
5. Многие из которых имеют отдельные проприетарные версии драйверов с закрытым методом разработки и внутренним аудитом безопасности
6. В доме, который построил Джек.
При этом, как я и писал выше, обновления безопасности с исправлением уязвимости в драйвере или обновление драйвера в связи с тем, что ядро с обновлением сломало ABI зачастую не происходит, потому что вендору ну просто некогда играть в игры с комитетами "решал", которые физически ничего не производят и не готовы брать на себя никакую ответственность ("Это опенсорц, никто вам ничего не должен").
Ответственность за свой продукт несут несколько компаний вроде Red Hat, SUSE, и может еще несколько, но многие перепакечивают Debian и RHEL, находясь в еще большей цепочке перепортирования. При этом разработчики ядра и Linux Foundation ни за что никому не отвечает и как НКО не удосужилась даже взять на себя труд открыть собственный центр сертификации и договориться с производителями материнских плат о внесении ключика, потому что публичный ЦС это не только подписывание кода, но и финансовая и репутационная ответственность за утечку ключей.Большая часть дистрибутивов Linux, которые что-то кому-то гарантируют, распространяется по платной подписке за саппорт. Даже те, кто вводят цены за процессорные ядра в конечном итоге не наказывают за использование их софта, ведь GPL же. Значит основной приток дохода идет от саппорта. Я не буду сейчас говорить, что такой внешний саппорт требует построения международной франчайзинговой сети, которая предполагает стандартизацию решения проблем, заявок на обслуживания и прочий ITIL... Я хочу сказать, что это порождает ультимативный конфликт интересов. Если ты зарабатываешь на починке своего продукта, то тебе никогда не выгодно чтобы он просто работал из коробки сам от начала и до конца. Тебе не выгодно иметь простую и понятную открытую техническую документацию, стабильное API для разработчиков в юзерспейсе и дальше по тексту. Безопасность, кстати, туда же.
Возможно, автор не углядел таких вещей, потому что видит в коммунизме какие-то плюсы, а не причину убогости и отсталости всего этого. "Сообщество, разрабатывающее открытые драйверы и героически решающие проблемы с безопасностью" - это примерно как верить в то что, пролетариат управлял советским союзом, волшебников в голубых вертолётах, богов, дедов морозов, и магическую силу давно умерших предков, ублажение которых приносит дары в форме карго.
Хочу также напомнить, что огромное количество уязвимостей в устройствах находятся в прошивках, которые могут быть зашиты в ПЗУ на устройстве, не поддерживающем автоматическое обновление. Исправление такой уязвимости вынуждает вендора выпустить новую ревизию устройства, а имеющиеся ранее проданные экземпляры можно перешить только через какой-нибудь программатор. И вот для старых моделей это все закрывается средствами драйвера, куда вносится обходное исправление. В условиях задваивания драйверов, когда одни от вендора, а вторые в ядре, со стороны Linux была произведена попытка создания очередного комитета по безопасности драйверов для Linux, чтобы хоть как-то получать информацию о таких проблемах. Думаю, не стоит говорить, что всех вендоров в это никогда не вовлечь. Но да, нужно дать больше комитетов богу комитетов.
На самом деле, каждый должен заниматься своим делом. Ответственность за безопасность ОС должна быть всецело на разработчиках ОС. Ответственность за безопасность устройств должна лежать на вендорах устройств. И должна быть стабильная и открытая Driver Model, группа API для написания драйверов с длительным сроком поддержки, в том числе предоставляющих средства бинарного маршалинга, чтобы не было никаких заморочек с лицензированием линковки. В этом случае вендоры сами способны себе все написать, особенно если фреимворк им дать, потому что им Linux не нужен, они железки делают и продают. Это избавляет от ненужных прослоек. А если уж так хочется контролировать вендоров и их драйверописателей, вон Windows дрючит их через цифровые подписи WHQL. Всяко лучше, чем махать перед носом факами, и судами вокруг GPL, попутно истеря о том, что страшные корпорации (на чьих устройствах работает их ОС), задумали запретить Linux изобретая цифровые подписи в Secure Boot и прочий стыд.
> Если ты зарабатываешь на починке своего продукта, то тебе никогда не выгодно чтобы он просто работал из коробки сам от начала и до конца.Ты случайно не про 1С пишешь :)
Линукс разрабатывают не "коммунисты", а "анархисты". Причем половина - левые лебеди, половина - правые щукины дети. Потому иногда получается немного раком.> каждый должен ..
> Ответственность .. должна быть ..
> Ответственность .. должна лежать ..
> должна быть ..Кто должна? Кому должна? Кого назначаем? Кто отвечает?
А вот был бы у нас не культ "Невидимой руки" и хозяйчики, которые гуляют сами по себе, а настоящие коммунисты у власти, как тот революционый авангард и избранные представители союза рабочих и крестьян, которые, научный факт, руководили Советами, они бы и ликбез, и электрификацию, и коллективизацию, и индустриализацию, и через тернии к звездам.. Но имеем, что имеем. Сидим, ждем, надеемся, ругаем советскую власть, три раза, ноём в комментариях на Опеннет. Всё, что заслужили. За что боролись..
> и прочий стыд.
> - правые щукины дети. Потому иногда получается немного раком.Но поскольку остальные не смогли и так... попался тут как-то анализ. Лебедь тянет вверх, и уж точно не мешает процессу, снижая трение и все такое. А суммарный вектор тяги рака и щуки скорее всего не нулевой. Ну вот оно и ездит себе, ко всеобщему облому. Такая вот разница между тем что там вообразили себе носители баек и тем что происходит на самом деле.
> Если ты зарабатываешь на починке своего продукта, то тебе
> никогда не выгодно чтобы он просто работал из коробки сам от
> начала и до конца. Тебе не выгодно иметь простую и понятную
> открытую техническую документацию, стабильное API для разработчиков в юзерспейсе и дальше
> по тексту. Безопасность, кстати, туда же.Понимают ли это местные франчайзи?
Если понимают, получается, они перепродают заведомо недоделанное?
Это сильное обвинение и не понятно, как его доказать.
Может быть поэтому автор всё свёл к секте, верующей в невозможность написания ОС.
Расчёты трудозатрат -- это конкретные цифры, и этих расчётов нет.В любом случае, Ваш комментарий стоило бы разместить и под оригиналом статьи. Если Вы не захотите это сделать сами, разрешите мне? Мой долго ждал премодерации, но прошёл.
Размещайте, если хотите, я сам попытался, но только там "Ошибка 500" на сайте и комментарии не оставляются...
Не понял причем тут Астра? Существовала давняя уязвимость. В один момент она была обнаружена и был выпущен патч. У Вас есть сведения, что он был проигнорировал службой дистрибутива Астра?
> У Вас есть сведения, что
> он был проигнорировал службой дистрибутива Астра?Поставив вопрос таким образом, Вы дали мне право попросить Вас дать голову на отсечение, что до публикации уязвимости она не эксплуатировалась.
- return (n * IPV6_PFXTAIL_LEN(cmpri)) + IPV6_PFXTAIL_LEN(cmpre);
+ return sizeof(struct ipv6_rpl_sr_hdr) + (n * IPV6_PFXTAIL_LEN(cmpri)) +
+ IPV6_PFXTAIL_LEN(cmpre);За три попытки не смогли правильно посчитать размер буфера...
Забавно))
Мир изменился, теперь размеры буферов должны считать Rust, Mojo и GPT
Только беда в том, что они делают это не бесплатно, а производительности и так недостаточно. Поэтому "любители" Rust, Mojo и GPT будут и дальше сидеть в луже.
Да, не бесплатно, компиляция заметно дольше, чем С, но зато надёжнее в проде.
И будут они у вас либо выделять постоянно больше, чем на самом деле надо (что тоже может привести к проблемам), либо постоянно вызывать realloc. Спасибо, нафиг надо
Даже если предположить (предположить!) что будет так - это все равно лучше чем kill package
> И будут они у вас либо выделять постоянно больше, чем на самом деле надо...и при том метана.
> (что тоже может привести к проблемам)
Еще каким, это мощнейший парниковый газ, в десятки раз хуже CO2!
Откуда компилятор знает что туда Впритык запихает программист? rustc может выдать исключение или ошибку, что буфер маловат во время "вталкивания", когда уже места нет.
Просто не определились, что пихать будут )
> принял решение раскрыть детальную информацию об уязвимости, не дожидаясь появления работающего исправления в ядреНепрофессионально поступили
> Непрофессионально поступилиАполитично, не побоюсь этого слова.
Ну значит цели были иные.
> Непрофессионально поступилиКак раз профессионально - сообщили о проблеме втихую, дождались исправления (даже трёх), опубликовали информацию. Вроде всё по канонам. Нет?
>> Непрофессионально поступили
> Как раз профессионально - сообщили о проблеме втихую, дождались исправления (даже трёх),
> опубликовали информацию. Вроде всё по канонам. Нет?Нет, уязвимость не была закрыта.
>>> Непрофессионально поступили
>> Как раз профессионально - сообщили о проблеме втихую, дождались исправления (даже трёх),
>> опубликовали информацию. Вроде всё по канонам. Нет?
> Нет, уязвимость не была закрыта.Если трёх исправлений для закрытия недостаточно, значит впору ставить под сомнение профпригодность и проинформировать пользователей.
>>>> Непрофессионально поступили
>>> Как раз профессионально - сообщили о проблеме втихую, дождались исправления (даже трёх),
>>> опубликовали информацию. Вроде всё по канонам. Нет?
>> Нет, уязвимость не была закрыта.
> Если трёх исправлений для закрытия недостаточно, значит впору ставить под сомнение профпригодность
> и проинформировать пользователей.Это внутренняя кухня, а пользователи в этом не виноваты. В результате они получили уязвимость. Проинформировать можно было и после закрытия уязвимости.
>>>>> Непрофессионально поступили
>>>> Как раз профессионально - сообщили о проблеме втихую, дождались исправления (даже трёх),
>>>> опубликовали информацию. Вроде всё по канонам. Нет?
>>> Нет, уязвимость не была закрыта.
>> Если трёх исправлений для закрытия недостаточно, значит впору ставить под сомнение профпригодность
>> и проинформировать пользователей.
> Это внутренняя кухня, а пользователи в этом не виноваты. В результате они
> получили уязвимость. Проинформировать можно было и после закрытия уязвимости.Уязвимость возникла в момент написания (точнее, принятия в основную ветку) кода, то есть существовала до того, как исследователи её нашли и тем более открыли. Если не понимаете этот момент, лучше воздержитесь от оценки действий специалистов.
>[оверквотинг удален]
>>>>> опубликовали информацию. Вроде всё по канонам. Нет?
>>>> Нет, уязвимость не была закрыта.
>>> Если трёх исправлений для закрытия недостаточно, значит впору ставить под сомнение профпригодность
>>> и проинформировать пользователей.
>> Это внутренняя кухня, а пользователи в этом не виноваты. В результате они
>> получили уязвимость. Проинформировать можно было и после закрытия уязвимости.
> Уязвимость возникла в момент написания (точнее, принятия в основную ветку) кода, то
> есть существовала до того, как исследователи её нашли и тем более
> открыли. Если не понимаете этот момент, лучше воздержитесь от оценки действий
> специалистов.Эмм... Вообще-то все уязвимости существуют до того как их находят.
>[оверквотинг удален]
>>>>> Нет, уязвимость не была закрыта.
>>>> Если трёх исправлений для закрытия недостаточно, значит впору ставить под сомнение профпригодность
>>>> и проинформировать пользователей.
>>> Это внутренняя кухня, а пользователи в этом не виноваты. В результате они
>>> получили уязвимость. Проинформировать можно было и после закрытия уязвимости.
>> Уязвимость возникла в момент написания (точнее, принятия в основную ветку) кода, то
>> есть существовала до того, как исследователи её нашли и тем более
>> открыли. Если не понимаете этот момент, лучше воздержитесь от оценки действий
>> специалистов.
> Эмм... Вообще-то все уязвимости существуют до того как их находят.Нет, не все. Некоторые внедряются.
А вот нефиг пихать в уровень IP обработку потери датаграмм.
Потому что это не микроядро.
На уровне IP пакеты ходят. Потери пакетов отслеживает TCP.
попробовал этот эксплойт не работает на моем пека..
В моем ядре 4.19 вообще нет параметра отвечающего за это.
> попробовал этот эксплойт не работает на моем пека..Да у тебя поди и этот экзотичный протоколец не включен.
Обычный линуксный эксплойт, сперва зарядите пистолет, наведите на пятку, нажмите на спуск, и вот тогда уже можно выть "ааа, мерзавцы, самострелов понаставили!"
100500 всяких разных устройств на которых нет вообще возможности обновления будут подвержены её вечно!
> 100500 всяких разных устройств на которых нет вообще возможности обновления будут подвержены её вечно!на таких устройствах IPv6 и RPL не включен, но ты уже можешь бежать за растом - он лечит от всего ога, только его самого не принимали в ядро из-за паник на каждый чих.
> на таких устройствах IPv6 и RPL не включенСильное заявление!
Проверять мы его, конечно же, НЕ будем!> бежать за растом
Причём тут вообще раст?
> Проверять мы его, конечно же, НЕ будем!давай ты сначала пруф приведёшь про устройства которые не обновляются с RPL. Хотя бы одно.
> Причём тут вообще раст?
по аватаре видно что ты из этих :)
> Проверять мы его, конечно же, НЕ будем!вот на всякий случай
https://elixir.bootlin.com/linux/latest/source/net/ipv6/addr...
https://elixir.bootlin.com/linux/latest/source/net/ipv6/addr...
если ты его специально не включишь в рантайме, по дефолту он отключен.
> если ты его специально не включишь в рантайме, по дефолту он отключен.Пришел аноним и обломал паникерам весь кайф. Спасибо за аналитику анон, такие как ты делают посещение ресурса имеющим смысл.
> Причём тут вообще раст?Кому-то удобно валить в одно место.
В rust такая ситуация: если есть желания обрабатывать исключения и "панику", то возможность есть.
Но можно и игнорировать обработку. Поэтому вопрос к писателям, а не к rust.
Какое удобное перекладывание ответственности, все как обычно.
>три раза попытались устранить проблемуДеды не смогли. А что Титов^W академики из FreeBSD?
>срабатывает проверка на несоразмерность размера данных и буфера, генерирующая состояние panic, чтобы предотвратить запись за границу буфераНет бы, чтобы просто послать такой принятый пакет в игнор.
Это ж обработчик надо писать - а так в паник и все дела
WinNuke for Linux?
Нашли таки эту закладку. "А ты говоришь, зачем багор")
Таков путь.
закладка крашит сильно ограниченный набор устройств?
очень важная да, обнулили мОссад, опять.
Ой, а что это все орут то...
Вот ведь, С-программисты таки сделали как в ржваом, запись за пределы буфера уже не производится. И уже давно, года полтора как минимум...
А тогда где тут перехват паники, если хотите как в ржавом?
Единое адресное пространство IPV6 без провайдеров существует?
Конечно! FC00::/7. Бери любые, сколько душе угодно.
> Конечно! FC00::/7. Бери любые, сколько душе угодно.Уникальный локальный адрес (ULA) [1] — это адрес Интернет-протокола версии 6 (IPv6) в диапазоне адресов fc00::/7.[2] Эти адреса доступны не глобально[3] (маршрутизируются только в рамках частных сетей, но не в глобальном Интернете IPv6). По этой причине ULA несколько аналогичны адресации частной сети IPv4, но со значительными отличиями. Уникальные локальные адреса могут использоваться свободно, без централизованной регистрации, внутри одного сайта или организации или охватывать ограниченное количество сайтов или организаций.
Это аналогично 169.254.0.0/16 для IPV4? Как к нему относятся роутеры провайдера?
я проверил, у меня ядро не падает.[root@arch user]# python3.11 /tmp/a.py ::1 && echo "Жив!"
Жив!
[root@arch user]# uname -r
6.3.1-arch1-1[root@arch user]# sysctl -a|grep rpl_seg_enable
net.ipv6.conf.all.rpl_seg_enabled = 1
net.ipv6.conf.default.rpl_seg_enabled = 0
net.ipv6.conf.ens3.rpl_seg_enabled = 0
net.ipv6.conf.lo.rpl_seg_enabled = 1
Язык ADA,сделаный специально для написания высоконадежных программ, на момент создания ядра Линукса уже существовал. Но вот он был слишком сложен для большинства программистов из 90х - мало кто его знал на хорошем уровне. Хотя это мой любимый язык как раз с тех времен,но и я не скажу что знаю его идеально.
Так что Си был выбран скорее всего как наиболее общеизвестный на то время и достаточно простой. Теперь имеем такое вот легаси с которым приходится жить. Не только нам,а всему миру. По всей видимости до тех пор пока не появятся методы разработки программного обеспечения на основе искусственного интеллекта. Потому как нынешние объемы кода уже превышают возможности человеческих мозгов ими управлять. Я еще застал времена когда вполне серьезную программу мог написать и сопровождать один человек. Потом это стало под силу только командам. Потом - крупным коллективам,потом коллективы разрослись до "мирового сообщества". Но дальше расти некуда так как в слишком крупных сообществах сильно растет "оверхед" на внутреннее взаимодействие.
Единственная надежда остается на AI.Что касается конкретно этой уязвимости - то тут вообще не язык виноват,а программист, это писавший. Вот если бы было не диагностируемое переполнение буфера - тогда да, встроенные в Аду средства контроля могли бы это предотвратить. Но здесь переполнение обнаруживается,только обрабатывается мягко говоря странно.
И еще я не согласен с оценками трудоемкости переписывания программ,приведенными выше. Потому что большинство из написанного за упомянутые 30 лет давно уже не актуально. Отечественных(да и вообще) программ-долгожителей весьма немного. Да и они обычно не один раз переписываются почти с нуля. Сомневаюсь что в Win10 сохранилось сколько-нибудь заметное количество кода от Win1.0. А Эппл менял и софт и железо на котором он работал.
В трудоемкости написания "идеально-безошибочной" операционной системы пожалуй что основную часть займет переписывание и главное отладка огромной кучи драйверов для всего огромного зоопарка самых разных устройств. На многие из которых нет даже внятной технической документации. Такой проект могло бы потянуть разве что государство с горизонтом планирования лет в 20 и государственными масштабами финансирования. По масштабам это будет сравнимо с атомным и космическим проектами.Если государству это вообще надо. Если от атомного проекта мы получили одну из лучших в мире атомную энергетику,то например выхлоп от космоса не факт что пропорционален затратам сил и средств. Нам,айтишникам, безусловно кажется что идеальная операционная система очень важна,но нас в России всего лишь миллион,а остальные больше чем 99% скорее всего имеют иное мнение. Мне например кажется что это так, глядя на абсолютно наплевательское отношение людей к вопросам личной компьютерной безопасности. Посмотрите на пароли - действительно криптостойкие встречаются не чаще чем например сейфовые двери на квартирах. Остальных и так всё устраивает.
а расскажите, что есть написанного на ада, что реально работает?
АДА нужно примерно так же как эта портянка.
> АДА нужно примерно так же как эта портянка.Если вам в вашей работе Ада не нужна - так ведь никто и не заставляет. Я же не говорю что например Лисп не нужен только потому что его не использую и не понимаю чем он хорош. Когда в конце 90х у меня на работе был выбор на чем сервер делать - кое-кто из коллег тоже не понимал чего это я агитирую за использование любой из доступных юникс-подобных ОС,называя их "устаревшими".Восхвалял модное новейшее WinNT.
А теперь вот серверы на юниксообразных ОС у большинства стоят.
Новое - это далеко не всегда лучшее. Особенно сейчас.
Наиболее известное из отечественного - бортовое программное обеспечение самолёта Бе-200. Самолёт успешно летает. В отличие от Боинг 737 MAX.
Применительно к теме данного обсуждения надежности операционных систем - ОС Muen. 64-bit only,увы. Если тут есть любители экспериментов,имеющие свободный 64-разрядный комп - интересно было бы узнать о результатах попытки запуска. Я-то нынче в деревне живу,возраст знаете ли, поэтому провести этот эксперимент мне технически затруднительно.Из написанного на Аде мной лично за деньги - самое большое это как ни странно был складской учет для типичной в 90х торгово-посреднической конторы. Тогда было время полной свободы так сказать индивидуального творчества для программистов. Я еще и СУБД использовал довольно экзотическую,не табличную,а иерархическую, и очень быструю,пиратскую копию MDBS. Исходников набралось на полмегабайта,работало вполне нормально. Компилятор бы Meridian ADA for DOS, тоже конечно пиратская копия как и всё в то время.
Ада несколько опередила свое время - тридцать лет назад язык, у которого описание стандарта занимало полтысячи страниц, казался многим слишком сложным для освоения в сравнении с распространенными тогда языками. В то же время уровень сложности большинства проектов еще не требовал использования таких серьезных инструментов. Сейчас документация такого размера на язык программирования - даже и не самая большая из существующих. Переведенные на русский язык книги описывают только базовую часть стандарта Ады. Хотя и достаточную для многих,если не большинства, случаев также как в большинстве случаев достаточно С89. По дополнениям стандарта ADA95 и ADA2012 документация только англоязычная. Хотя надо сказать что написана она достаточно удобно для восприятия даже при не самом хорошем знании иностранного языка.
Отличный компилятор GNAT - есть в репозиториях многих линуксов. Он не единственный но самый доступный и свободно распространяемый. Даже сейчас,в условиях новой холодной войны. Это к вопросу связанности Ады с военными. Она ничуть не больше чем например у протокола TCP/IP который тоже первоначально разрабатывался для военных применений но ничего "мирного" ему на замену так всё еще и не доделали до готового к массовому внедрению вида. GNAT есть и под архитектуру ARM. Работает. Можно софт для всяких "малинок" и "апельсинок" писать. Причем вопреки мифу о тяжеловесности Ады - даже прямо на этих "фруктах" можно. Это тяжеловесна Ада была для IBM PC AT 286. Хотя с некоторыми ухищрениями работала и там (личный опыт - см.выше про складской учет). А так я несколько лет назад извратился,поставив полноценный Дебиан на "морально устаревший" смартфон HTC HD2 - c Иксами, всё по-взрослому,клава,мышь и сеть - через usb-host. Получился маленький но вполне настоящий ARM-комп. И смотрел что на этом способно работать. Ада и ее компилятор были полностью работоспособны.
Основная сложность для программистов,переходящих с Си на Аду - отличие в методологии создания программ. Если использовать Аду "по-сишному" то это будет и неудобно для программиста и неэффективно с точки зрения использования возможностей самого языка. После сишной привычки к вольному обращению с типами - компилятор Ады будет жестко бить по рукам и этим изрядно бесить. Придется себя переучивать на более строгий стиль,что безусловно полезно. Получится не сразу,потребуется время чтобы разобраться как надо писать код чтобы контроль типов помогал,а не мешал. Возможность создания хитрых производных типов и последующей удобной работы с ними - это сильная сторона Ады. В современном Си это тоже можно,но из-за того что Си допускает всякие вольности с привидением типов - обычно не заморачиваются и поэтому методологию типизации данных знают слабо.
Если же начать с изучения методологии,положенной в основу этого языка - то всё там выглядит разумно,логично и удобно. И существенно проще для понимания чем какой-нибудь Хаскель или упаси Боже Лисп.
Согласен,что что-то небольшое будет быстрее сляпать на Си,а малый размер исходника позволит отловить ошибки. На Аде мелочь писать тоже можно,но это отчасти стрельба из пушки по воробьям. Впрочем - если есть такая хорошая пушка и умеешь из нее стрелять - то почему бы и нет. А вот когда в проекте становится столько кода,что начинаешь в нем тонуть и путаться - тут от Ады очень даже польза будет так как она не дает делать простых ошибок. Которые тем не менее потом надо долго вылавливать. Впрочем, возвращаясь к теме вышеописанной уязвимости в ядре линукса - в подобных случаях Ада не поможет. Потому что тут виноват не язык,а программист,написавший на нем весьма странную обработку ошибочной ситуации. Ни в Си ни в Аде детектирование ошибочной ситуации не отменяет необходимости корректно её потом разруливать не роняя ядро в panic.
Основное же на мой взгляд неудобство "адского" программирования - это отсутствие библиотек на все случаи жизни,к чему мы все привыкли за последние годы. Библиотеки есть,но их существенно меньше и не все сделаны удобно.
Я еще застал времена когда интернета небыло и скачать готовое было негде. Поэтому приходилось напрягать мозги и писать самому руками то,что сейчас не думая дёргают из готовых библиотек. Потом правда пользователи нередко получают dll hell, но это уже становится головной болью этих пользователей,а не программистов.Сишные библиотеки подключать можно,но это обычно требует написания "переходников" для правильного и удобного приведения внутреннего представления типов данных,ну и понятно что надежность снижается так как "сишные" ошибки в библиотеках остаются. Разве что адский контроль типов (в прямом и переносном смысле:) поможет не передать в библиотечные функции чего-нибудь такое от чего им станет плохо.
Сложнее всего ситуация с преобразованием представления строковых данных. Хотя поддержку "сишных" строк(с нулём в конце) в Аде написать можно,я именно так когда-то для себя и сделал именно потому что приходилось стыковать свой адский код с чужим сишным. А сейчас для Ады существует даже готовая поддержка юникодных строк с многобайтовыми символами если кому-то потребуется.
Готовые переходники к сишным библиотекам тоже есть,но по моему наблюдению нередко сделаны слишком примитивно,а то и вообще каким-нибудь скриптом-автогенератором. От этого пользоваться ими из Ады оказывается неудобно. Такое ощущение что некоторые из них сделаны лишь для демонстрации самой возможности,а не для реального применения.На мой взгляд если у Ады какая проблема и есть - то только отсутствие популяризации. Молодежь часто или вообще не знает об этом языке ничего кроме названия или слышала только какие-нибудь мифы типа того что этот язык используются только военными и мирных применений иметь не может.
Хуже всего что о возможностях и достоинствах Ады не знают те кто принимает решения в области руководства программными проектами. Вспоминается известная в интернетах фраза "А что,так можно?".
Даже один заинтересованный и более-менее квалифицированный (на уровне советского ВУЗа хотябы) программист вполне способен сконфигурировать удобное рабочее окружение для написания кода на Аде,найдя и настроив готовые компоненты и дописав недостающее под свою область. Но да,такого чтобы запустить один инсталлятор, проставить галочки и всё сразу поставилось и настроилось - такого нет. Да и невозможно оно без введения существенных ограничений на применимость инструментов.
Ого! Спасибо за подробный комментарий! Моё почтение!
> самолёта Бе-200. Самолёт успешно летает. В отличие от Боинг 737 MAXПоказатель аварийности 737 MAX: 0.2 на миллион полётов
Показатель аварийности Бе-200: хз, но если предположить, что все самолёты за 20 лет эксплуатации летаю по 10 раз в день (что точно не так, но всё же), то показатель аварийности будет 13. А ближе к реальности: 130, то есть на три-четыре порядка хуже чем у боинга."успешно летает", да.
> Хотя это мой любимый язык как раз с тех времен,но и я не скажу что знаю его идеально.В АНБ работал ?
Насколько я помню, по ADA было всего несколько книг (даже одну перевели на русский язык). Компилятора, вживую, я не видАл. И потом, как ADA взяли на вооружение спецслужбы США, о ней вообще не было публикаций ... А вот поди ж ты - прошло 30лет и вспомнили старушку.
Потому что ...
... сейфовая дверь не защитит ни от пивной бутылки по башке, ни от людей в погонах.
> ... сейфовая дверь не защитит ни от пивной бутылки по
> башке, ни от людей в погонах.А хорошо настроенная защита своих устройств вполне защитит от каких-нибудь малолетних хакеров с комплексом Герострата в голове.
>Проблема проявляется только прикак обычно. расходимся.
ничего не мешает запустить rpl например в контейнерах
# uname -a
Linux exe 5.10.0-19-686 #1 SMP Debian 5.10.149-2 (2022-10-21) i686 GNU/Linux
# sysctl -a | grep -i rpl_seg_enabled
net.ipv6.conf.all.rpl_seg_enabled = 0
net.ipv6.conf.default.rpl_seg_enabled = 0
net.ipv6.conf.eth0.rpl_seg_enabled = 0
net.ipv6.conf.lo.rpl_seg_enabled = 0
Опять мой 4 пень в безопасности сидит на диване ...
напомните, зачем нужен IPv6?
Ну типа на заре интернета 90% всех ip-адресов поделили между микрософтом, саном и гуглом. А с распространением интернета остальные тоже захотели себе ip-адрес. И адресов стало не хватать (не отбирать же у перечисленных бояр). Потом корпорации решили, что хорошо бы и холодильникам/утюгам/выдвижным ящикам с носками тоже давать белые ip-адреса. Придумали сделать столько адресов, чтоб каждая травинка на планете могла иметь свой. Заодно попытались решить некоторые из проблем, обнаруженных в процессе эксплуатации ipv4. Ну и вот теперь (лет 15 уже, наверное) пытаются взлететь со всем этим.
> напомните, зачем нужен IPv6?Например я его использую для доступа снаружи на свой комп,находящийся за NATом сотового оператора.
Даже домашний сайт сделал "для своих". В смысле - физически находящийся дома. Доступ - по IPv6 через teredo и динамический днс. Вполне работоспособно в рамках поставленной задачи. А также с другого компа где тоже запущено teredo можно зайти к себе домой по ssh. Мелочь,а приятно.
>> напомните, зачем нужен IPv6?
> Например я его использую для доступа снаружи на свой комп,находящийся за NATом
> сотового оператора.
> Даже домашний сайт сделал "для своих". В смысле - физически находящийся дома.
> Доступ - по IPv6 через teredo и динамический днс. Вполне работоспособно
> в рамках поставленной задачи. А также с другого компа где тоже
> запущено teredo можно зайти к себе домой по ssh. Мелочь,а приятно.то есть оператор выдаёт серые IPv4, но белые IPv6?
> то есть оператор выдаёт серые IPv4, но белые IPv6?Оператор(мегафон) вообще IPv6 не выдает.
teredo - это туннель,позволяющий бесплатно получить IPv6 адрес.
>> то есть оператор выдаёт серые IPv4, но белые IPv6?
> Оператор(мегафон) вообще IPv6 не выдает.
> teredo - это туннель,позволяющий бесплатно получить IPv6 адрес.всё равно не понимаю. ты используешь какой-то промежуточный сервер для подключения к своему компу за натом? чем это отличается от использования промежуточного сервера с IPv4?
> ты используешь какой-то промежуточный сервер для подключения к
> своему компу за натом?Если подключение по IPv6 через teredo то свой промежуточный сервер не нужен.
Достаточно чтобы на обоих компах было запущено teredo. Причем оба могут быть за NATом. Как в моем случае обычно и бывает потому что в сельской местности весь интернет по воздуху от мобильных операторов,другого просто нет. Teredo дает белые IPv6 адреса. Хотя и с некоторыми особенностями - например с них последние года три не пингуется Гугл(раньше пинговался). Большинство других IPv6 сайтов доступно,как и проверку на доступность снаружи эти адреса проходят.
Вобщем, проще будет самому набрать ровно одну команду sudo apt-get install miredo (это для дебианоподобных линуксов) и попробовать, чем долго объяснять.
Средства диагностики IPv6 подключений легко находятся поиском,не буду тут их рекламировать.
А еще есть веб-гейт,позволяющий зайти на IPv6-only сайт из обычного интернета. Тоже легко находится. То есть я могу(и даю) людям ссылку на свой сайт через этот гейт,он позволяет всё вписать в одну строку,хотя она и получается длиннее чем например тут на форуме в своем профиле можно указывать. А также существует динамический dns,поддерживающий AAAA-записи. И линуксовый клиент inadyn-mt к нему. Так что еще и имя своему сайту можно дать,хотя и не совсем чтобы произвольное - там предустановленный список доменов верхнего уровня. Так как мне имя не надо размещать в рекламе то меня устраивает.
Здесь свой адрес не пишу так как комп не круглосуточно работает,а тогда,когда есть лишняя неиспользуемая солнечная энергия от собственной солнечной электростанции (у меня полностью автономный дом). Этого могут не понять и начнутся наезды в комментариях из-за такого непривычного алгоритма работы.> чем это отличается от использования промежуточного сервера с IPv4?
Тем, что за промежуточный сервер не надо платить,что сейчас весьма не просто как финансово так и организационно.
>[оверквотинг удален]
> можно дать,хотя и не совсем чтобы произвольное - там предустановленный список
> доменов верхнего уровня. Так как мне имя не надо размещать в
> рекламе то меня устраивает.
> Здесь свой адрес не пишу так как комп не круглосуточно работает,а тогда,когда
> есть лишняя неиспользуемая солнечная энергия от собственной солнечной электростанции
> (у меня полностью автономный дом). Этого могут не понять и начнутся
> наезды в комментариях из-за такого непривычного алгоритма работы.
>> чем это отличается от использования промежуточного сервера с IPv4?
> Тем, что за промежуточный сервер не надо платить,что сейчас весьма не просто
> как финансово так и организационно.погуглил: teredo - это обычный промежуточный сервер, как я и предполагал.
то есть никакого магического NAT-hole-punching в IPv6 нету, а используется прокси-сервер с белым IP адресом, точно так же, как и с IPv4 и клиентами за NAT.
бесплатные промежуточные сервера есть и для IPv4, единственный плюс этого teredo - в возможности прикрутить dyndns
> teredo - это обычный промежуточный серверНе совсем так. В случае связи между двумя устройствами за NAT,трафик ходит именно между ними,а сервер помогает только на этапе установки соединения для преодоления NATа.
> бесплатные промежуточные сервера есть и для IPv4
Не видел бесплатных,раздающих доступные снаружи адреса.
А в случае teredo полученные IPv6 адреса именно что доступны снаружи,что и подтверждают всякие средства проверки доступности. Да, иногда бывает что откуда-нибудь доступа и нет,но именно что иногда,весьма редко.Впрочем, известные мне бесплатные IPv4 серверы,раздающие бесплатные VPN с серыми адресами - не обеспечивают и возможности связи между двумя клиентами,подключенными к одному и тому же серверу.
То есть задача "зайти домой хотябы по ssh" через них не решается.А еще поверх teredo работает Tor для доступа к всем известной большой пиратской библиотеке.
Даже там где тор заблокирован(у сотовых операторов).