А насколько типично выставлять GRPC порт наружу? Кажется, что в этом смысла нет и скорей всего туда попасть просто так не выйдет. То бишь особо не проэксплуатируешь эту уязвимость. Или ошибаюсь?
Делаешь геораспределенный кластер без VPN (который имеет свои минусы) и вот gRPC порт торчит наружу. И если там есть авторизация и шифрование, подвоха не ожидаешь.
Да сколько эту тему можно мусолить? Закладки и безапасная работа с памятью это ортогональные вещи. От дурака защиты нет, а memory safety можно доказать математически.
Больше похоже на обычную безалаберность. Скорей всего чтобы не геморроится при разработке просто кто-то влепил дефолтный токен и не подчистив, поторопился сделать PR. У самого такое случалось.
Хороший бэкдор тоже будет похож на обычную безалаберность. В конце концов у каждой строки кода есть фамилия и имя, которые хотят plausible deniability.
когда под предлогом безопасной работы с памятью спешно заменяют обкатанные программы мутными новыми :)
И пейсателей программ заодним ?
Не знаю. Я вообще склонен видеть в людях только лучшее, и вижу в этой кампании только желание изобразить бурную деятельность и освоить средства на обновление :) Кто-то может считать первопричиной возможность внедрения бэкдоров, кто-то — возможность замены привычных команд нужными людьми. Да, это будет, но сколько этого будет — не знаю.
А надо ожидать. Авторизация и шифрование, от которых можно относительно не ожидать подвоха (и то, на 100% расслабляться не стоит) это программы, у которых авторизация и шифрование - основная функция, и написанные внушающими доверие людьми. Я такую, из публичных, знаю только одну - openssh. Всё остальное, если нужна надёжность, туннелируется через него, вне зависимости от того что они там декларируют в плане безопасности.
Уточню про всякие ssl: у них это тоже первичная функция, но второе условие (написано внушающими доверие людьми) категорически не выполняется.
Не очень понятно что делает код по ссылке. Судя по всему, он тупо сравнивает какую-то строку с «rustfs rpc» и возвращает успех если совпадает. Если так, то где там место нехардкодному токену вообще? Ну то есть клиент должен что-то типа безопасное слать и оно должно давать ему авторизацию. Но судя по этому коду, вариантов авторизоваться через настоящий токен тут вообще нет. Такое, по-моему, сложно не заметить, из чего вывод что этой штукой никто ни разу не пользовался.
Это пароль на админские права удалённого доступа для RPC файловой системы. Которая позиционируется как решение для S3, т.е. где всё делается через удалённый доступ и голой опой наружу.
Это понятно. Непонятно где там код, который настоящий пароль примет как верный. Походу его нет, т.е. кто хоть раз попытается залогиниться с нехардкодным токеном заметит что оно не работает.
Так они же раст и продвигали. Теперь будут в растовых багах копаться. Не могут же они отпедалить назад и сказать мол, не надо на раст переходить, продолжайте кушать C и C++.
Закладки и безапасная работа с памятью это ортогональные вещи.
Нет. Это вещи связанные совершенно непосредственно. Если «программист» настолько туп, что покупается на раст ради «БиЗАпаСТной!!!111 работы с памятью», то он гарантированно будет делать массу других ошибок.
Это вообще я молчу про конкретно раст и вопрос о том, кто за ним стоит и кто платит за его дебильный маркетинг.
memory safety можно доказать математически.
Нет, не можно. Доказать отсутствие чего-либо, в том числе ошибок принципиально невозможно. Можно доказать что программа будет работать правильно при определённых входных данных и состоянии системы. В этом и заключается смысл доказательства кода. А вот отсутствие ошибок в ней доказать нельзя. В том числе ошибок работы с памятью.
Я что-то не припомню чтобы в сишных проектах валидность FDQN проверяли по наличию точки в строке, или полагали что арифметические операции совершаются в том порядке в котором они написаны. Или чтобы там система сборки по-умолчанию тащила без спросу тонны кода с неизвестно кем контролируемого сайта.
В сишных проектах обычно чтобы интегрировать библиотеку в проект - изучают её, хоть поверхностно. В rust это всего лишь строчка в Cargocult.toml и погроммист даже README библиотеки зачастую не видит, не говоря уже о сорцах.
Да, потому что ему стало это делать «не по пути» Он добпвит строчку, она там где-то скачается под капотом во временный каталог и всё. А чтобы посмотреть сорцы - надо ещё ссылку найти, скачать их или открыть в браузере... В случае с сишной зависимостью обычно это делаеися до того, как библиотека попадает в проект
Platinum (крупнейшие спонсоры):
Amazon Web Services (AWS) — один из основателей и ключевых участников.
Google — активно участвует и финансирует через свои инвестиции и специалистов.
Microsoft — долгосрочный спонсор Rust и ключевой вкладчик.
Huawei — один из участников фонда.
Face**** — участвует в поддержке Rust экосистемы.
совсем без чтения документации на API ясен пень никто библиотеку использовать не может. но вот такого чтоб прям руками проверяли - не видел ни разу. «джентельменам верят на слово»
Ты не поверишь, но подобного говнища можно и в Makefile насовать без проблем. Но только идиот может считать это нормальным вообще и нормальным делать это по-дефолту в частности.
совсем без чтения документации на API ясен пень никто библиотеку использовать не может
ЧСХ, документация у растовских проектов обычно очень приличная, а ещё прямо из доков можно перейти с определения функции/структуры/трейта прямо на реализацию, что на порядок юзабельнее каши из хедеров и отдельных исходников, хорошо ещё если совпадающих именем с хедером.
Шутки шутками, а я так вместо lz4 и zstd выбрал xpack из-за сильно лучшей читаемости кода (несмотря на то что xpack - research project not for production use) А zstd конечно хорош, но кода в нём в десятки раз больше, чем в моём проекте. А lz4 ещё скорее всего добавлю, но чисто как опцию А вот ffmpeg пришлось заюзать как есть, не читая исходников, но этот проект и так уже всем известен и всё равно не используется в основном таргете, в нём вместо него паршивый андройдовый mediandk. Но вот mediandk очень даже досконально изучать пришлось т.к google как всегда накосячили везде где только можно