The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.75 и unikernel Hermit 0.6.7, opennews (??), 29-Дек-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


27. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +2 +/
Сообщение от Аноним (16), 29-Дек-23, 21:23 
В стандарте С17 будут подвижки с безопасностью, а пока для критичных проектов есть MISRA, например. В последние годы подняли такой шум с ней, что можно подумать остальные языки программирования будут сидеть ничего не делая. В С++ сейчас безопасность памяти это одна из основных задач над которой трудятся.
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

28. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (12), 29-Дек-23, 21:31 
> В стандарте С17 будут подвижки с безопасностью

Напомните, какой сейчас год?)
Сколько лет уходит, чтобы стандарт попал в ядро?
В каком году в ядре начали использовать С11 вместо уже окаменевшего C99?

> критичных проектов

Есть Ада Спарк.
Мисра тоже неплоха, но запрет на динамические аллокации сильно сужает применимость.

Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (16), 29-Дек-23, 21:41 
В ядре начали использовать С11 в 2012 году, полную поддержку обеспечили конечно позже, учитывая размеры проекта не вижу тут ничего ненормального. SPARK конечно хорошо для своих задач, повзволяет формально верифицировать ПО. Удивлен что приложения для блокчейна пишут не на нем, а на разгильдяйском Solidity.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (12), 29-Дек-23, 21:49 
Ядро перешло на с11 в 2022 году. Попробуем оценить в каком перейдут на c17, если сейчас практически 2024. Я думаю где-то 2029-2030.

> Удивлен что приложения для блокчейна пишут не на нем,

Думаю потому что слишком дорого.
А блокчейн много на чем пишут, в том числе и на расте.

Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +2 +/
Сообщение от Аноним (39), 29-Дек-23, 22:19 
Так это окончательно объявили. А если проблемы с управлением памятью настолько реальны, как нас убеждают, то внедрение механизмов безопасности могут форсировать и скорее всего форсируют. Даже самые отъявленые фанаты Раста признают, что переписать ядро на Расте просто нереально, ни к 2030, ни к 2050. А блокчейн много где и на С++ пишут, немало видел на Java, бывало и на Котлине, там зоопарк огого.
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (12), 29-Дек-23, 22:29 
Так все ядро никто даже и не собирается переписывать. Как раз самые отъявленные фанаты это понимают)
Но переписать самые проблемные части, начать писать новый функционал, начать писать драйвера, чтобы одна паршивая овца не роняла всю систему - это вполне реальное развитие событий.
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (39), 29-Дек-23, 22:41 
Ну так эту проблему (в целом довольно надуманную) и решает введение нового стандарта и новых инструментов обнаружения утечек, и не нужно это странное двуязычие, или даже скорее мультиязычие, потому что за Растом в ядро наверняка последуют и другие языки.
Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (12), 29-Дек-23, 22:51 
Проблема не надуманная. Как ни откроешь новость про CVE в ядре - то там почти всегда проблемы с памятью. И намного реже с логикой.

> и решает введение нового стандарта

почему тогда его до сих пор нет?)

> и новых инструментов обнаружения утечек

и их тоже нет?

Ответить | Правка | Наверх | Cообщить модератору

65. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (39), 29-Дек-23, 23:12 
Как нет, только что же обсуждали :) Какая избирательная память.
>инструментов обнаружения утечек

Ой сколько я могу их накидать :)

Ответить | Правка | Наверх | Cообщить модератору

78. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (12), 29-Дек-23, 23:39 
Накидать ты то можешь, не сомневаюсь. А вот какие из них реально что-то гарантируют?

Вот целая куча дыреней в OpenSSL/LibreSSL https://www.opennet.ru/opennews/art.shtml?num=58622
- чтение из области вне границ буфера
- Use-after-free
- двойное освобождение памяти
- некорректное разыменование указателя
- разыменование указателя NULL (x2)
ну и еще одна логическая проблема, которая решается нормальными типами

При этом ворнинги включены, оба проекта обмазаны санитайзерами по самое немогу - и memory, и thread, и еще куча других
https://github.com/openssl/openssl/actions/runs/4124496105
Там даже фаззинг какой-то есть.

И что? Помогли тебе анализаторы? Как тогда они смогли собрать практически полное булщит-бинго?

Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (100), 29-Дек-23, 23:49 
Лол, да ты только потому знаешь об этих багах что их как раз выявили и пофиксили с помощью тех самых анализаторов. Л - логика.
Ответить | Правка | Наверх | Cообщить модератору

89. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (12), 29-Дек-23, 23:54 
1. Пруфы в студию. Ну, что именно эти баги были найдены именно санитайзерами.
2. Как этот код попал в кодовую базу, если бы санитайзер просто не пропустил бы PR? (вопрос риторический)

ну и вопрос со звездочкой
3. Сколько лет эти дырени спокойненько жили в либах?

Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Анонин (?), 29-Дек-23, 23:59 
Вот хороший пример https://www.opennet.ru/opennews/art.shtml?num=59906
"Уязвимости в библиотеках X.Org, две из которых присутствуют с 1988 года"
- выход за границы буфера
- исчерпание стека при обработке специально оформленных данных
- целочисленное переполнение приводящее к переполнению кучи
- чтение из областей вне границ выделенной памяти

Эти дыры старше половины посетителей опеннета))
Ой, как же их не замечали столько-то лет? Есть же так много прекрасно работающих инструментов для этого))

Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (100), 30-Дек-23, 00:10 
Вот также будут и в 2050 находить ошибки в немногочисленных легаси проектах на Rust.
Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

110. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Анонин (?), 30-Дек-23, 00:16 
Будут находить именно use-after-free, buffer-overrun и тд?))
Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

114. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (100), 30-Дек-23, 00:40 
А что, баги в программах перечисленными категориями исчерпываются? ;)
Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

125. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Анонин (?), 30-Дек-23, 01:27 
Нет конечно. Но тут кто-то считал, что для CVE - 70% проблемы с памятью. И в это охотно верится.
И исключение - огромный плюс к безопасности. А баги в логике будут любых языках.
Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

130. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (129), 30-Дек-23, 01:43 
Проблемы с управлением памятью есть, это подтверждает наличие языков со сборкой мусора, которые появились очень давно. Не было бы проблемы с управлением памятью,  никто бы не создавал такие языки и они бы не были популярными.
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

188. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (188), 30-Дек-23, 14:36 
>В каком году в ядре начали использовать С11 вместо уже окаменевшего C99?

Такого события не было - C11 начали использовать вместо окаменевшего C89.

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

216. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (10), 30-Дек-23, 18:09 
>вместо окаменевшего C89

for (int i=0; .... вроде бы, уже очень давно можно было писать.

Ответить | Правка | Наверх | Cообщить модератору

37. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (25), 29-Дек-23, 21:59 
> есть MISRA, например

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

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

42. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (39), 29-Дек-23, 22:23 
Платный стандарт, а он и для С внезапно платный (чистовик), и ГОСТы на практике и много еще чего.
PVS-Studio вроде предлагал бесплатную лицензию на один год для проектов с открытым исходным кодом. Наверняка есть и другие пути для некоммерческого проекта, а коммерческие пусть платят.
Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (25), 29-Дек-23, 22:48 
> Платный стандарт, а он и для С внезапно платный (чистовик)

поддержка различных стандартов С и С++ в gcc есть а мисры я там не наблюдаю

> PVS-Studio вроде предлагал бесплатную лицензию

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

Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (39), 29-Дек-23, 23:31 
Ну так внешнего анализатора и достаточно чтобы получить грубо говоря 90% преимуществ Раста и еще выловить баги которые и Раст никак не помогает предотвратить. И главное для этого не нужно менять свой основной язык, что для многих означает потерю работы.

Уже есть коммерческие решения для MISRA, свободные как обычно будут с задержкой, в GCC процесс идет. Пока что можно пользоватся бесплатной версией PVS-Studio и аддоном MISRA для CppCheck. Глупо считать что Раст предлагает в этом что-то уникальное или новое.

Ответить | Правка | Наверх | Cообщить модератору

96. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от фнон (?), 30-Дек-23, 00:00 
> Ну так внешнего анализатора и достаточно чтобы получить грубо говоря 90% преимуществ Раста

Интересная цифра! А можно, хотя бы примерно, методику ее расчета? Пока похоже на "пальцем в небо".

> и еще выловить баги которые и Раст никак не помогает предотвратить.

А можно примеры?
Если ты о фаззинге - то для раст тоже есть внешние инструменты.

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

Вот скажу честно, мне плевать сколько бракоделов-неосиляторов пойдут работать дворниками.
Они за 30 лет не научились память чистить не больше одного раза и за буфер не выходить, так что совершенно не жалко.
Гугл за 2 месяца переучивает людей с Python, Java и Go, на Раст - без потери производительности.
Если эти "профи" не могут выучить новый язык, то они просто плохие программисты.
(То что они ʼне хотятʼ - в это я охотно поверю)

> Пока что можно пользоватся бесплатной версией PVS-Studio и аддоном MISRA для CppCheck. Глупо считать что Раст предлагает в этом что-то уникальное или новое.

Выше покащали пример, что куча санитайзеров работала... и не сработала.
И на минуточку это криптография!
opennet.ru/openforum/vsluhforumID3/132453.html#78

Ответить | Правка | Наверх | Cообщить модератору

111. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (100), 30-Дек-23, 00:17 
Ты сначала посмотри на количество вакансий для разработчиков на Rust, а потом рассуждай тут про дворников. А то может оказатся что для любителя Раста совмещать работу дворника с домашним проектом на любимом языке может оказатся еще не самым плохим вариантом )))
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Анонимусс (?), 30-Дек-23, 01:25 
Количество вакансий просто убийственный аргумент)))
А ведь JSников и пыхеров еще больше чем сишников...
Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  –1 +/
Сообщение от Аноним (25), 30-Дек-23, 00:14 
> Уже есть коммерческие решения для MISRA

соблюдение правил мисры не даёт никаких гарантий а гигантское ядро по ним написать шансов ноль

> Глупо считать что Раст предлагает в этом что-то уникальное или новое

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

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

112. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +1 +/
Сообщение от Аноним (100), 30-Дек-23, 00:23 
Раст дает гарантии только по ограниченному классу ошибок, остальные лови ручками как и в любом другом языке.
Ответить | Правка | Наверх | Cообщить модератору

190. "Выпуск языка программирования Rust 1.75 и unikernel Hermit 0..."  +/
Сообщение от Аноним (184), 30-Дек-23, 15:47 
только этот ограниченный класс составляет 70% ошибок, причем многие из них - критические, позволяющие хакнуть программу/систему. Можно сформулировать и так - подавляющее большинство ошибок, которые являются критическими и позволяют взломать систему и получить над ней контроль - как раз из этого самого "ограниченного класса ошибок".
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру