LINUX.ORG.RU
ФорумTalks

Если Rust, значит безопасно

 , ,


1

5

«Если написано на Rust, значит безопасно».

Комедия в трёх актах:

  1. Сотрудники компании Cryspen реализовали на языке Rust криптографические библиотеки libcrux и hpke-rs, которые являются, цитата «The formally verified crypto library for Rust». Если написали на Rust, значит безопасно.

  2. Независимые исследователи нашли 13 уязвимостей, которые нарушают формальную верификацию, пруф: https://eprint.iacr.org/2026/192. И открывают pull request-ы на эти уязвимости.

  3. Все PR-ы удаляют, авторов банят, позднее добавляют похожие фиксы (кое-где копируя код из удалённых PR-ов) и меняют формулировку с «libcrux - the formally verified crypto library» на «libcrux - a high-assurance cryptographic library in Rust» (https://github.com/cryspen/libcrux/commit/261d13e7a8b7e808982d666b63204996355a36e7) (не везде).

Они ещё добавили, что будут закрывать любые issuer и PR, которые раскрывают уязвимости.

★★★
Ответ на: комментарий от firkax

Шумят больше хейтеры на ЛОРе. Эта тема тому доказательство.

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

Частично можно оправдать

Нет, нельзя. Чем быстрее раскрыта уязвимость - тем меньше шансов что нормальные люди которые могут самостоятельно пуш-реквесты применить и пересобрать софт, пострадают. А на дебилов, безруких и тупых, которые взялись использовать нечто, в чём они не разбираются - вообще насрать.

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

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

так же ответ gag

обычно делается файл SECURITY.md или же эта информация добавляется в файл CONTRIBUTING.md

Там Nadim прямо объяснил что ни файла секьюрити, ни в файле контрибьютинг описания как нужно себя вести не было. Куда собственно писать то в этом случае, в спортлото? Поэтому они просто открыли баги на гитхабе, что, собственно, выглядит вполне логичным, тем более что баги были с фиксами.

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

обычно делается файл SECURITY.md

Такой файлик у них с середины 2023-го: https://github.com/cryspen/libcrux/commit/500d98b55eafde13877301f4fb3f1682413fe5de.

А вот в https://github.com/cryspen/hpke-rs его не было, но это одна фирма, так что можно было легко догадаться.

Даже если нигде не написано, но известен e-mail адрес авторов проекта (по коммитам), то обращаются по нему.

Маркировать патчи как «исправляет опасную ошибку безопасности» - спорное решение. По-моему, выбор Линуса лучше: все исправления важные. В итоге, исправление безопасности выкатываются и быстро, и не привлекая внимания к какому-то конкретному коммиту, ведь каждый patch релиз сопровождается традиционным «all users of … must upgrade».

тем более что баги были с фиксами.

Да, в данном случае, это же было так, и не понятно, почему фирма дописала «before a patch is ready», хотя строго говоря, предложенный патч - это не обязательно окончательный вариант, который войдёт в код. «… it does not appear to be a good-faith …», хм, ну не знаю… Они приложили патчи, так что не сказал бы, что они умышленно хотели навредить.

gag ★★★★★
()
Последнее исправление: gag (всего исправлений: 1)

Классическая клоунская тема неразобравшегося растохейтера.

seiken ★★★★★
()

Тема имеет слабое отношение к расту и больше про стремление авторов либы развести своих пользователей.

Что довольно примечательно, обычно формальные методы используют более добросовестные люди.

quantum-troll ★★★★★
()
Ответ на: комментарий от goingUp

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

Врали, хайпили, подвели лохов, которые им доверились. Чего тут обсирать-то?

Manhunt ★★★★★
()

ЛОЛ. Решето!

Впрочем, ничего нового.

keeper_b ★★★★★
()

Это только чать картины.

Тут недавно cve-rs починили, ну то есть метабэкдору в конпеляторе растишки скоро 11 лет.

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

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

Ты бы хоть почитал, что там за код на сишочке, лалка.

А на сишочке там выхлоп кодогенератора из растишочки.

А исходники самой либы - как раз на растишочке и в них дырочки, ЛОЛ.

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

Бэкдоры тоже должны быть безопасными по памяти!

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

Там да, именно в либкракс есть такой файлик. Если ты поглядишь по моему оригинальную статью (the verification theater..), то там говорится о том что в либкракс был такой файлик. Но я ставлю себя на место нашедших проблемы ребят: я нашёл проблему, я иду в проект в котором нашёл проблему и ищу файл security или contributing. Ни того ни другого нет, ну я тогда делаю ишью. Вроде претензий быть не должно. Да, конечно, можно пойти поискать емейл в коммитах и файлик в другом проекте. Но это как то странно: тогда и в другом репозитории можно, тогда и в интернете поискать емейл можно... Что ж я буду лазить ещё по проекту выискивать емейлы. Ответил ли разработчик? Он ли отвественный или кто то другой? Кажется что это всё как то не так должно работать - если вам важно неразглашение - ну напишите просто куда вам писать как принято. Иначе логично просто завести баг да и всё. Что и было сделано. Баги были с фиксами.

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

После этого вышла статья Verification Theater. После статьи главный разработчик libcrux накатал пост на 1500 знаков где не удосужился ответить на каждый из найденных багов (по моему ответил на 2 из 7 что ли). Причём самые опасные просто проигнорировал, заявив между делом «а вот если найдёте в верифицированной части - будет ну очень интересно». Ну ребята не обломались и пошли и нашли.

В общем если ты один раз фигню сделал (даже такую как забанил на гитхабе) - это ошибка. Если второй раз (вместо того чтобы сказать спасибо и покаяться - выкатил пост «давайте ищите ещё») - это уже выбор. Ребята просто не хотели нести отвественность за свои действия. Из за чего и пошёл сыр бор в общем-то.

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

В постели и багфиксах политкорректности не место.

Еще и втихую применил чужие исправления. Классический программист-анальник (с) по Веронике Степановой.

Obezyan
()
Ответ на: комментарий от shkolnick-kun

Так, стоп, беру свои слова обратно. Есть там куски HACL на Си в крейтах…

Ну и куча сгенерированного сишечного кода конечно:

https://github.com/cryspen/libcrux/tree/main/libcrux-ml-kem

Стоп, но HACL это же это формально верифицированная библиотека современных криптографических алгоритмов, написанная на подмножестве F* под названием Low* и скомпилированная на C с помощью компилятора KaRaMeL.

То есть, большая часть кода на Си сгенерирована из растишки и F*???

Ну нахер!

Оставляю свои слова как есть!

shkolnick-kun ★★★★★
()
Последнее исправление: shkolnick-kun (всего исправлений: 3)
Ответ на: комментарий от shkolnick-kun

Т.е. по факту там растишка как промежуточное представление и жопа по сути в источнике на F#.

WatchCat ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)