Белый дом призвал разработчиков переходить на ЯП, обеспечивающие безопасную работу с памятью
Офис национального директора по кибербезопасности (ONCD) при Белом доме призвал ИТ-компании отдавать предпочтение языкам вроде Rust с высокой безопасностью памяти, чтобы снизить количество связанных с этим уязвимостей и улучшить надёжность ПО.
Такие уязвимости связаны с ошибками управления памятью, например доступа к ней, заполнения, распределения и освобождения. Они возникают, когда ПО обращается к памяти непредусмотренными или небезопасными способами, создавая угрозу безопасности. Злоумышленники могут, например, получить несанкционированный доступ к данным пользователя или запустить на устройстве вредоносный код.
«Данный класс уязвимостей преследует цифровую экосистему уже более 35 лет. Задача устранения целых классов программных уязвимостей является срочной и сложной. В перспективе следует применять новые подходы для снижения этого риска», — говорится в докладе ONCD.
«Самый действенный способ уменьшить количество уязвимостей безопасности памяти — это гарантировать надёжность одного из составных элементов кибербезопасности: языка программирования. Использование языков программирования, обеспечивающих безопасность памяти, может исключить большинство ошибок безопасности памяти», — резюмируют авторы доклада. В качестве примера подходящих языков приводится Rust.
Ранее отказаться от С/С++ в пользу Rust и ряда других языков призывало АНБ США.
8 актуальных и интересных курсов по Rust (июнь 2023) + бонус от GitHub
Рассмотрели преимущества и особенности языка Rust, а также сделали подборку курсов по нему, которые будут интересны как новичкам, так и опытным программистам.
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.
Хотите сообщить важную новость? Пишите в Telegram-бот
Главные события и полезные ссылки в нашем Telegram-канале
Обсуждение
Комментируйте без ограничений
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
deeaitch
27 февраля 2024, 21:57
5
Боян. Эту х***ь уже 100 раз разнесли в пух и прах и в том числе как валится вхлам сам раст.
Читайте станданрты, в тех же плюсах уже 100 лет в обед нет проблем с памятью. А на контроллерах её в принципе не бывает даже на чистом C
Anonymous
27 февраля 2024, 22:23
2
список найденных в Rust уязвимостей опубликован на cvedetails.com
deeaitch
27 февраля 2024, 22:25
4
у них это другое
Some Name
28 февраля 2024, 11:19
2
Как то начал писать на Rust, когда увидил насколько ужасно написаны либы языка понял что это мертво рожденное. Спаггети код из трэйтов(99% где не нужно) и максимальные ограничения наложеные правилами владения.
Даже самые простые либы где в Си/С++ была бы пара функций, в раст это отдельный мир на изучения которого можно потратить несколько дней. Такое извращение простите не для адекватных людей.
Что меня ещё удивило это количестно трансов в комьюнити, подозреваю что белый дом по этому их и хвалит, они же отмечают день трансгендеров, вот ещё и ЯП трансгендеров разрабатывают.))
Anonymous
28 февраля 2024, 14:28
-1
В конечном итоге софт настолько распух и прогнил, что и это неважно.
Смотрел недавно видео Джонатана Блоу (пишет игры). Он пробовал Go, Rust и не стал их использовать вместо этого создав язык программирования Jai (Jai Programming Language)
цитата из статьи "Моё разочарование в софте" (Software disenchantment)
"Джонатан Блоу для своей игры разработал язык программирования, который компилирует 500 000 строк в секунду на ноутбуке. Это холодная компиляция, никакого промежуточного кэширования, никаких инкрементальных билдов.
Не нужно быть гением, чтобы писать быстрые программы. Здесь нет какой-то магии. Единственное, что требуется, — это не строить софт на базе огромной кучи дерьма, которую поставляют современные инструменты."
2014 - We must adopt #microservices to solve all problems with monoliths
2016 - We must adopt #docker to solve all problems with microservices
2018 - We must adopt #kubernetes to solve all problems with docker
... ¯_(ツ)_/¯
Пользователь отредактировал комментарий 28 февраля 2024, 14:28
Some Name
28 февраля 2024, 15:58
3
Я бы сказал что основная проблема это идеология. Сутью которой является написание огромной кучи дерьма в прикладном коде.
У людей нет своего мнения и понимая что нужно делать. Они копируют практики из статей, якобы лучших программистов и возводят их в абсолют. Ещё ничего полезного для конечного потребителя не сделано, но уже создано огромное числе классов/типов/паттернов, обернуто в контейнер, разбито на микросервисы, настроен кластер из машин.
Итого ЧСВ на пределе, потому что строиться простое умозаключение - запутанная/переусложненая система есть сложная система, а сложную систему может построить только гений. Поскольку реально ума не много, то найти ошибку в этой логической связи не получается.
Итого работа на проекте преващается в постоянное решение проблем возникающих из-за её необоснованного усложнения.
navalnizza
29 февраля 2024, 11:16
1
Если сделать все слишком просто, то можно ведь и без работы остаться.
cray
29 февраля 2024, 04:43
2
вместо этого создав язык программирования Jai
Ещё один...
компилирует 500 000 строк в секунду на ноутбуке
Да вообще пофигу! В промышленном компиляторе в первую очередь интересует качество генерируемого кода а не скорость компиляции, которая давно уже достаточная.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
Боян. Эту х***ь уже 100 раз разнесли в пух и прах и в том числе как валится вхлам сам раст.
Читайте станданрты, в тех же плюсах уже 100 лет в обед нет проблем с памятью. А на контроллерах её в принципе не бывает даже на чистом C
список найденных в Rust уязвимостей опубликован на cvedetails.com
у них это другое
Как то начал писать на Rust, когда увидил насколько ужасно написаны либы языка понял что это мертво рожденное. Спаггети код из трэйтов(99% где не нужно) и максимальные ограничения наложеные правилами владения.
Даже самые простые либы где в Си/С++ была бы пара функций, в раст это отдельный мир на изучения которого можно потратить несколько дней. Такое извращение простите не для адекватных людей.
Что меня ещё удивило это количестно трансов в комьюнити, подозреваю что белый дом по этому их и хвалит, они же отмечают день трансгендеров, вот ещё и ЯП трансгендеров разрабатывают.))
В конечном итоге софт настолько распух и прогнил, что и это неважно.
Смотрел недавно видео Джонатана Блоу (пишет игры). Он пробовал Go, Rust и не стал их использовать вместо этого создав язык программирования Jai (Jai Programming Language)
цитата из статьи "Моё разочарование в софте" (Software disenchantment)
"Джонатан Блоу для своей игры разработал язык программирования, который компилирует 500 000 строк в секунду на ноутбуке. Это холодная компиляция, никакого промежуточного кэширования, никаких инкрементальных билдов.
Не нужно быть гением, чтобы писать быстрые программы. Здесь нет какой-то магии. Единственное, что требуется, — это не строить софт на базе огромной кучи дерьма, которую поставляют современные инструменты."
2014 - We must adopt #microservices to solve all problems with monoliths
2016 - We must adopt #docker to solve all problems with microservices
2018 - We must adopt #kubernetes to solve all problems with docker
... ¯_(ツ)_/¯
Пользователь отредактировал комментарий 28 февраля 2024, 14:28
Я бы сказал что основная проблема это идеология. Сутью которой является написание огромной кучи дерьма в прикладном коде.
У людей нет своего мнения и понимая что нужно делать. Они копируют практики из статей, якобы лучших программистов и возводят их в абсолют. Ещё ничего полезного для конечного потребителя не сделано, но уже создано огромное числе классов/типов/паттернов, обернуто в контейнер, разбито на микросервисы, настроен кластер из машин.
Итого ЧСВ на пределе, потому что строиться простое умозаключение - запутанная/переусложненая система есть сложная система, а сложную систему может построить только гений. Поскольку реально ума не много, то найти ошибку в этой логической связи не получается.
Итого работа на проекте преващается в постоянное решение проблем возникающих из-за её необоснованного усложнения.
Если сделать все слишком просто, то можно ведь и без работы остаться.
Ещё один...
Да вообще пофигу! В промышленном компиляторе в первую очередь интересует качество генерируемого кода а не скорость компиляции, которая давно уже достаточная.