LINUX.ORG.RU

Компания Open Source Security спонсирует разработку gccrs

 , gccrs, ,

Компания Open Source Security спонсирует разработку gccrs

2

5

12 января компания Open Source Security, известная разработкой grsecurity, объявила о спонсировании разработки фронтенда к компилятору GCC для поддержки языка программирования Rust — gccrs.

Изначально gccrs разрабатывался параллельно с оригинальным компилятором Rustc, но из-за отсутствия спецификаций к языку и частых ломающих совместимость изменений на раннем этапе разработка была временно заброшена и возобновилась только после выхода Rust 1.0.

Open Source Security мотивируют своё участие возможным появлениям кода на Rust в ядре Linux и тем, что ядро собирается чаще всего компилятором gcc. Дополнительно к этому, программы на нескольких языках сразу могут иметь уязвимости, вызванные именно этим фактом (см. Exploiting Mixed Binaries), которых бы не было в программах на чистом C или C++.

На данный момент Open Source Security спонсируют работу одного разработчика, который будет работать над gccrs в течение следующего года, с возможностью выделения средств на увеличение штата. Так же в процессе участвует британская компания Embercosm, специализирующаяся на разработке GCC и LLVM и предоставившая оформление официального трудоустройства разработчиков для данной инициативы.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

Почему нельзя иметь стабильную базовую систему, а пользовательские приложения могут использовать те версии библиотек, которые нравятся разработчикам?

Потому что разработчики не будут ничего обновлять (уязвимости, баги будут оставаться неисправленными годами) и включать новые фичи (типа поддержки wayland и сотни других мелочей).

Показательный пример: в 2018 в докерхабе было чуть более, чем дофига контейнеров, до сих пор содержащих shellshock или heartbleed.

Со стороны разработчиков, у них нет мотивации заниматься всем этим, поэтому они не должны этим заниматься.

derlafff ★★★★★
()
Последнее исправление: derlafff (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Да нет, это совсем разные вещи.

Мне очень нравится тенденция вокруг flatpak и ostree именно этим подходом.

так ты опровергни мой поинт, что подтягивание самых свежих модулей не мешает стабильности и следовательно не похоже на роллинг.

Кстати, я вот в упор не понимаю, почему линуксовые дистрибутивы обязательно должны контролировать ВООБЩЕ ВСЕ версии ВООБЩЕ ВСЕХ компонентов ВООБЩЕ ВСЕХ программ?

это old school. единый центр доверия. отсутствие конфликтов. есть разные парадигмы администрирования, создания приложений и т.д. если тебе нравится всевремя на аэроплане и вечно его чинить в полете... если ваш менеджер считает, что это продуктивнее и можно выкатывать плюшки клиентам раньше... ну фак вам в ... руки.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от derlafff

Потому что разработчики не будут ничего обновлять (уязвимости, баги будут оставаться неисправленными годами)

В смысле не будут? Погоди, тут @crypt вон жалуется что наоборот разработчики слишком часто обновляют зависимости. Что-то не сходится.

включать новые фичи (типа поддержки wayland и сотни других мелочей).

То есть, они их запилят и не будут включать? Или что именно? И почему под вендой и маком такой проблемы нет?

Показательный пример: в 2018 в докерхабе было чуть более, чем дофига контейнеров, до сих пор содержащих shellshock или heartbleed.

И чо? Как это связано с разработчиками прикладного софта?

Со стороны разработчиков, им насрать на все это, поэтому они не должны этим заниматься.

Прямо вот вообще всем?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Погоди, тут @crypt вон жалуется что наоборот разработчики слишком часто обновляют зависимости. Что-то не сходится.

crypt говорит о зависимостях node.js (интересны разработчикам), а derlaff о системных компонентах (не интересны).

crypt ★★★★★
()
Ответ на: комментарий от crypt

так ты опровергни мой поинт, что подтягивание самых свежих модулей не мешает стабильности и следовательно не похоже на роллинг.

Какой именно стабильности? В дебиановском смысле или в смысле софт не падает? Просто это очень разные вещи. Я не уверен, что мейнтейнеры дистров чинят баги в бажном софте, чтобы тот не падал.

это old school. единый центр доверия. отсутствие конфликтов.

Вот этот old school перестаёт работать, когда разным программам нужны разные версии библиотек. И что делать?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

И чо? Как это связано с разработчиками прикладного софта?

это все связанно. потому что как админы мы обеспечиваем безопасность всей инфраструктуры.

Прямо вот вообще всем?

у меня для тебя плохие новости...

crypt ★★★★★
()
Ответ на: комментарий от hateyoufeel

В дебиановском смысле или в смысле софт не падает?

в том смысле, как это понимает crypt: а именно _предсказуемость_ поведения.

Вот этот old school перестаёт работать, когда разным программам нужны разные версии библиотек. И что делать?

он перестает. это верно. вопрос, почему и какие выгоды.

crypt ★★★★★
()
Ответ на: комментарий от crypt

это все связанно. потому что как админы мы обеспечиваем безопасность всей инфраструктуры.

Какой всей? Как админ ты к моему локалхосту отношения не имеешь. Почему я не могу ставить свежий софт-то? Я правда не очень понимаю твой поинт. Да, на серверах классно иметь предсказуемое поведение и не ссаться из-за каждого апдейта, потому что на серверах вряд ли будет необходимость в самой свежей версии ICQ. Но на десктопах этот подход вообще неприменим. И не надо его туда распространять.

он перестает. это верно. вопрос, почему и какие выгоды.

Почему – это не вопрос, тут и так всё понятно. Сейчас все берут и изолируют софт в докер, потому что чтобы опакетить софт под линукс, нужно жопу порвать. Вот и всё.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

В смысле не будут? Погоди, тут @crypt вон жалуется что наоборот разработчики слишком часто обновляют зависимости. Что-то не сходится.

Кто-то будет обновлять. Кто-то не будет обновлять. Кто-то будет криво патчить. Кто-то будет криво собирать. И ровно никто не будет делать именно так, как лучше всего конкретному пользователю конкретного дистрибутива.

Показательный пример: cura. Они используют некроверсию qt и не планируют ничего с этим делать в ближайшем тысячелетии.

И чо? Как это связано с разработчиками прикладного софта?

Тем, что это то же самое дерьмо.

То есть, они их запилят и не будут включать?

Фичи появятся в апстриме, а в контейнер не попали. Такое уже сотни раз вызывало драму.

И почему под вендой и маком такой проблемы нет?

Проблемы третьего мира меня как-то не интересуют. Венда и мак до сих пор в догоняющем положении, венда до сих пор пытается скопировать пакетный менеджер.

Прямо вот вообще всем?

Подавляющему большинству. Типичный разраб не будет что-то порываться чинить из-за бага в дистрибутиве, а дистрибутив не должен ждать апстрим сотню лет чтобы сделать какой-то тривильный фикс.

derlafff ★★★★★
()
Ответ на: комментарий от derlafff

Кто-то будет обновлять. Кто-то не будет обновлять. Кто-то будет криво патчить. Кто-то будет криво собирать. И ровно никто не будет делать именно так, как лучше всего конкретному пользователю конкретного дистрибутива.

Ну так а зачем в основном дистре этот софт? Почему не сделать нормальный способ ставить софт сбоку, не насилуя мозг мейнтейнерам дистра? Ну вот как… flatpak!

Показательный пример: cura. Они используют некроверсию qt и не планируют ничего с этим делать в ближайшем тысячелетии.

Ну, отлично, пусть использует. Почему это должно быть проблемой?

Проблемы третьего мира меня как-то не интересуют. Венда и мак до сих пор в догоняющем положении, венда до сих пор пытается скопировать пакетный менеджер.

Чувак, третий мир – это лялекс, если говорить про десктопы.

Типичный разраб не будет что-то порываться чинить из-за бага в дистрибутиве

Что значит «баг в дистрибутиве»? Баг который проявляется только в дистрибутиве? Я не понимаю.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Какой всей? Как админ ты к моему локалхосту отношения не имеешь.

смотри. если мы говорим о реализации проекта, то на твоем локалхосте или на локалхосте, выделенном организацией, ты реализуешь этот проект. соответственно мои требования со стороны безопасности тебе придется учитывать.

Почему я не могу ставить свежий софт-то?

твой локалхост конкретно связан с продакшеном. код оттуда попадает в прод. встает вопрос релиз-цикла, тестирования и стабилизации.

Но на десктопах этот подход вообще неприменим. И не надо его туда распространять.

федора и не распространяет. node.js не распространяет. почему ты волнуешься? вот придешь на продакшен, тогда и посмотрим...

crypt ★★★★★
()
Ответ на: комментарий от hateyoufeel

Ну, отлично, пусть использует. Почему это должно быть проблемой?

Например потому что это вызывает кучу багов (падений, визуальных артефактов, сломанные виджеты) , которые можно починить только костылями.

Ну так а зачем в основном дистре этот софт?

Затем, чтобы этот софт работал нормально. Мне по кругу одно и то же объяснять?

Чувак, третий мир – это лялекс, если говорить про десктопы.

Лолнет, в плане пакетных менеджеров, репозиториев и прочего третий мир именно у вендузятников и пользователей терминалов для фейсбука.

Что значит «баг в дистрибутиве»? Баг который проявляется только в дистрибутиве? Я не понимаю.

Вариантов много, например:

  • Несовместимость с криво-собранной (или еще 100 вариантов, читай список выше) зависимой либой, которую положил в контейнер разработчик
  • Несовместимость еще с чем-то уникальным для дистрибутива
derlafff ★★★★★
()
Последнее исправление: derlafff (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Почему не сделать нормальный способ ставить софт сбоку, не насилуя мозг мейнтейнерам дистра? Ну вот как… flatpak!

а потом в продакшн его же?

crypt ★★★★★
()
Ответ на: комментарий от anonymous

В языке нет нормальных строк

а зачем они в ядре ОС ? Понимаете, вы никогда не писали низкоуровневый код поэтому повторяете страшилки услышанные от пацанов. Для ОС ООП нужно, портируемость на разные архитектуры, драйверы - это же сплошное ООП, есть оно у раста ? нет. Для ОС активно используют С++ чтобы закат солнца вручную на С не делать, раст там не нужен. От утечек памяти не спасает, ООП нет - зачем он нужен ?

anonymous
()
Ответ на: комментарий от derlafff

Затем, чтобы этот софт работал нормально. Мне по кругу одно и то же объяснять?

Ага. Потому что из того, что ты сейчас говоришь, выходит, что софт по сути пишут админы и мейнтейнеры дистров. Ей богу, херота какая-то.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Ну, отлично, пусть использует. Почему это должно быть проблемой?

В Windows:

VirtualBox идёт с Qt 5.6.2

а Blizzard Battle.NET с Qt 5.9.3

https://imgur.com/a/8WYidhN

не обновляют версии и всем пофиг, и линуксоидам пофиг, которые в wine устанавливают Battle.Net

fsb4000 ★★★★★
()
Ответ на: комментарий от crypt

а потом в продакшн его же?

Докер же в продакшен пихают. Флатпак куда менее ужасен здесь, потому что хотя бы предоставляет разделяемую базовую систему. И не выйдет так, что у тебя в контейнере openssl протух.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Почему – это не вопрос, тут и так всё понятно. Сейчас все берут и изолируют софт в докер, потому что чтобы опакетить софт под линукс, нужно жопу порвать. Вот и всё.

тебе же выше написали, что это может содержать проблемы безопасности. насчет «все» ты погорячился, потому что я не дал это сделать на моем прошлом проекте.

crypt ★★★★★
()
Ответ на: комментарий от hateyoufeel

Ага. Потому что из того, что ты сейчас говоришь, выходит, что софт по сути пишут админы и мейнтейнеры дистров. Ей богу, херота какая-то.

Чего блин?

derlafff ★★★★★
()
Ответ на: комментарий от hateyoufeel

Чувак, третий мир – это лялекс, если говорить про десктопы.

Линуксоиды! Нужны ли нам растаманы? Если они всё время хамят, поливают грязью POSIX, чистый Си.

anonymous
()
Ответ на: комментарий от derlafff

Чего блин?

Ну, ты говоришь, что баги в софте чинят и новые фичи включают не разработчики, которым насрать, а админы и мейнтейнеры. Починка багов – это одна из основных задач в разработке софта, разве нет? Выходит, что мейнтейнеры пишут софт. Или я тебя не так понял?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

флатпак

не выйдет так, что у тебя в контейнере openssl протух.

ну и будет оно зависить от базовой системы с протухшим openssl, что ты сделаешь с этим?

derlafff ★★★★★
()
Ответ на: комментарий от crypt

х** в *опу тоже пихают. еще вопросы?

Что, тебе не дают пихать х** в *опу и ты завидуешь?

anonymous
()
Ответ на: комментарий от crypt

х** в *опу тоже пихают. еще вопросы?

Ага. Что в этом плохого-то? Я вот подружке пихал. Ей понравилось, мне тоже. Если всё по согласию и все довольны, то почему бы и не пихнуть?

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от derlafff

ну и будет оно зависить от базовой системы с протухшим openssl, что ты сделаешь с этим?

Обновлю базовую систему. Для этого есть ansible/puppet/etc, которые этой системой управляют. У нас даже специальный чел есть, который следит за этим.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Ага. Что в этом плохого-то? Я вот подружке пихал. Ей понравилось, мне тоже. Если всё по согласию и все довольны, то почему бы и не пихнуть?

а ты почему сначала со мной не посоветовался? я бы сказал, как лучше. дело в том, что в организации это так не работает. ты там не со своей подружкой и кондом вам обеспечивает специально обученный человек, чтобы программеры по детской наивности не заразились.

crypt ★★★★★
()
Ответ на: комментарий от fsb4000

VirtualBox идёт с Qt 5.6.2

а Blizzard Battle.NET с Qt 5.9.3

А плохого-то в этом что? В венде что-то не работает из-за старого Qt или что именно не так?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от crypt

дело в том, что в организации это так не работает. ты там не со своей подружкой и кондом вам обеспечивает специально обученный человек, чтобы программеры по детской наивности не заразились.

Твоя организация занимается анальным изнасилованием админов что ли? Или ты в борделе работаешь?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Обновлю базовую систему.

ты понимаешь, что есть специфика разных проектов. у тебя сейчас он как-то работает. но могут быть другие требования. например, по хранению юзерских данных в этих флетпаках. тут много всего и ты, как единственный специалист, не можешь во всем это понимать хорошо. и чем больше проект, тем больше это играет роль.

crypt ★★★★★
()
Ответ на: комментарий от hateyoufeel

Твоя организация занимается анальным изнасилованием админов что ли?

твоя девушка админ?

crypt ★★★★★
()
Ответ на: комментарий от crypt

ты понимаешь, что есть специфика разных проектов. у тебя сейчас он как-то работает.

Не понимаю. Как это связано с базовой системой?

могут быть другие требования. например, по хранению юзерских данных в этих флетпаках.

Юзерские данные в пакетах Flatpak не хранятся, так же как они не хранятся в Deb, RPM или Setup.exe.

тут много всего и ты, как единственный специалист, не можешь во всем это понимать хорошо. и чем больше проект, тем больше это играет роль.

Наверное, это означает, что не надо быть единственным специалистом. Иными словами, это организационная проблема, не техническая.

твоя девушка админ?

Одна из бывших была админом. Кстати, у неё даже аккаунт на ЛОРе был :) А как это связано? Про анальный секс тут ты начал рассуждать, тебя никто за член не тянул.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от anonymous

а зачем они в ядре ОС ?

Ну открой сырцы configfs и sysfs да почитай. Заодно можешь вспомнить, что 90% сишного кода на планете не в ядре.

Понимаете, вы никогда не писали низкоуровневый код поэтому повторяете страшилки услышанные от пацанов.

Я настолько много низкоуровневого кода написал, что я эти страшилки и рассказываю.

Для ОС ООП нужно, портируемость на разные архитектуры, драйверы - это же сплошное ООП, есть оно у раста ?

Конечно есть. И куда лучше, чем в C. Почитай про трейты штоле.

От утечек памяти не спасает, ООП нет

От утечек спасает, ООП нет (вместо него нормальная система типов). Огонь, а не язык.

anonymous
()
Ответ на: комментарий от anonymous

Ну так-то он прав, лялексовое ядро по сути в ООП стиле через сишные костыли написано.

anonymous
()
Ответ на: комментарий от hateyoufeel

Наверное, это означает, что не надо быть единственным специалистом.

об этом я и говорю выше. ты не один решаешь, что и как на продакшене делать. поэтому, пожалуйста, не надо больше спрашивать на работе

Ага. Что в этом плохого-то? Я вот подружке пихал.

и про докер тоже.

Юзерские данные в пакетах Flatpak не хранятся

знаю. вопрос где они хранятся.

Не понимаю. Как это связано с базовой системой?

базовая система и юзерские данные могут храниться на разных носителях вообще.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от crypt

об этом я и говорю выше. ты не один решаешь, что и как на продакшене делать. поэтому, пожалуйста, не надо больше спрашивать на работе

Я всё ещё не понимаю, как это должно влиять на то, могу ли я поставить ICQ с последними зависимостями на свой домашний комп или нет.

базовая система и юзерские данные могут хранится на разных носителях вообще.

Отлично! Как Flatpak этому мешает?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

А плохого-то в этом что? В венде что-то не работает из-за старого Qt или что именно не так?

Нет, всё норм.

По-мне, лучше пусть приложения работают с устаревшими бибилиотеками, чем перестают работать вовсе.

А так могли бы хотя бы до последней версии LTS обновить.

Ведь были 5.6.3 и 5.9.9.

Хотя и 5.6 и 5.9 уже EOL.

А типа поддерживаемые и безопасные лишь 5.12 и 5.15.

fsb4000 ★★★★★
()
Ответ на: комментарий от hateyoufeel

соответственно, возвращаясь к твоему желанию использовать произвольный node.js код, это тоже может иметь значение, т.к. некоторые модули компилируют бинарный код и складывают его НЕ в систему, а в _юзерские_ данные. при этом этот код может компилироваться на твоем дев-локалхосте и не исполняться в продакшене.

теперь понимаешь, что все чуть-чуть сложнее? и old school с его единой точкой доверия не имеет этой проблемы.

на этом дай мне сделать перерыв.

p.s.

удачи с подружкой.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от crypt

речь идет о федоре для разработчика, которому неймется использовать в разработке самые свежии модули

Разработчики, «которым неймется использовать в разработки самые свежие модули», будут использовать пакетный менеджер ЯП, а не системный пакетный менеджер.

theNamelessOne ★★★★★
()
Ответ на: комментарий от anonymous

От утечек спасает

Переписан менеджер памяти rmm. Это устранило утечки памяти в ядре, которые стали серьёзной проблемой с предыдущим менеджером памяти

Redox OS 0.6.0

переписывание и на С спасает

Я настолько много низкоуровневого кода написал, что я эти страшилки и рассказываю.

покажи свой код на С

anonymous
()
Ответ на: комментарий от crypt

некоторые модули компилируют бинарный код и складывают его НЕ в систему, а в юзерские данные.

Всё ещё не понимаю. Какие пользовательские данные могут быть на стадии сборки и опакечивания софта? Особенно, если они хранятся отдельно в итоге.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от crypt

Видел. Как они относятся к пользовательским данным? Все нормальные парни их кладут в пакет с софтом. На крайняк, в отдельный кэш, который к пользовательским данным отношения не имеет.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

нормальные парни

Да, да. Расскажи теперь, после всего здесь увиденного, про «нормальных парней».

anonymous
()
Ответ на: комментарий от crypt

это jit-код как его кладут в пакет?

https://www.csestack.org/convert-py-pyc-python-compile/

Вот так. Или, по-твоему, как .pyc файлы в какой-нибудь убанте в /usr/lib появляются?

$ pwd
/usr/lib/python3
$ find . -type f -name '*.pyc'|wc -l
3078
hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

ничего, что python - это только пример, потому что ты насчет node.js никак не мог догнать? тебе еще раз повторить то, что выше? что он платформозависимый может быть?

crypt ★★★★★
()
Ответ на: комментарий от crypt

ничего, что python - это только пример

Ну так нахер ты его привёл, если он реальности не отражает? Как и с аналом, тебя никто за член не тянул.

тебе еще раз повторить то, что выше? что он платформозависимый может быть?

Ну, допустим, может быть. Хотя обычные бинарники с софтом тоже платформозависимые и это никому не мешает их паковать. Как именно здесь ситуация отличается между традиционными Deb/RPM и, например, Flatpak? И там и там у аккаунта, запускающего софт, нет возможности записи в файлы пакета с софтом, и промежуточные данные всё равно будут куда-то сохраняться. Чем твой old school здесь поможет?

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.