The OpenNET Project / Index page

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



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

Оглавление

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

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


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.dev/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.dev/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ообщить модератору

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

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




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

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