The OpenNET Project / Index page

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

Microsoft открыл CHERIoT, аппаратное решение для повышения безопасности кода на языке Си

01.03.2023 09:40

Компания Microsoft открыла наработки, связанные с проектом CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), нацеленным на блокирование проблем с безопасностью в существующем коде на языках C и С++. CHERIoT предлагает решение, позволяющее защитить существующие кодовые базы на С/C++ без необходимости их переработки. Защита реализуется через применение модифицированного компилятора, использующего специальный расширенный набор процессорных инструкций (ISA), предоставляемых процессором и на аппаратном уровне отслеживающих доступ к памяти, проверяющих корректность работы с указателями и обеспечивающих изоляцию блоков кода.

Проект создан с оглядкой на то, что низкоуровневый характер языка C становится источником ошибок при работе с памятью, приводящих к таким проблемам, как переполнение буфера, обращение к уже освобождённой памяти, разыменование указателей или двойное освобождение памяти. Практика показывает, что даже крупные корпорации, такие как Google и Microsoft, имеющие жёсткую политику рецензирования изменений и применяющие современные методы разработки и инструменты статического анализа, не могут гарантировать отсутствие ошибок при работе с памятью (например, около 70% уязвимостей в программных продуктах Microsoft и Google вызваны небезопасной работой с памятью).

Проблема может быть решена использованием языков программирования, гарантирующих безопасную работу с памятью, или обвязок с дополнительными проверками, например, через применение вместо обычных указателей типа MiraclePtr (raw_ptr), выполняющего дополнительные проверки обращения к освобождённым областям памяти. Но подобные методы больше подходят для нового кода, а уже существующие проекты на С/C++ переработать достаточно проблематично, особенно если они предназначены для выполнения в окружениях с ограниченными ресурсами, таких как встраиваемые системы и устройства интернет-вещей.

Аппаратные компоненты CHERIoT оформлены в виде микроконтроллера на базе архитектуры RISC-V, реализующего защищённую процессорную архитектуру CHERI (Capability Hardware Extension to RISC-V), предоставляющую модель управляемого доступа к памяти на основе "capability" (каждая операция чтения и записи в память авторизуется). На базе предоставляемой в CHERIoT архитектуры набора команд (ISA) построена программная модель, гарантирующая безопасность работы с памятью на уровне отдельных объектов, предоставляющая защиту от обращения к уже освобождённой памяти и реализующая легковесную систему изоляции доступа к памяти. Указанная программная модель защиты напрямую отражается в языковую модель C/C++, что позволяет применять её для защиты существующих приложений (требуется лишь перекомпиляция и запуск на оборудовании, поддерживающем ISA CHERIoT).

Предложенное решение позволяет блокировать ошибки, вызывающие выход за границы объекта в памяти, не допускает подмену указателей (все указатели должны порождаться от уже существующих указателей), отслеживает обращение к памяти после освобождения (любой доступ к памяти по некорректному указателю или указателю, ссылающемуся на освобождённый объект приводит к генерации исключения). Например, применение CHERIoT позволяет без внесения изменений в код реализовать автоматическую проверку границ, отслеживание времени жизни областей памяти и обеспечение целостности указателей в компонентах, обрабатывающих не заслуживающие доверия данные.

Проект включает в себя спецификацию расширенной архитектуры набора команд CHERIoT, эталонную реализацию 32-разрядного CPU RISC-V c поддержкой ISA CHERIoT и модифицированный инструментарий LLVM. Cхемы прототипа CPU и описания аппаратных блоков на языке Verilog распространяются под лицензией Apache 2.0. В качестве основы для CPU использовано ядро Ibex от проекта lowRISC. Модель кода CHERIoT ISA определена на языке Sail и распространяется под лицензией BSD.

Дополнительно предложен прототип операционной системы реального времени CHERIoT RTOS, предоставляющей возможность изоляции компартментов (compartment) даже на встраиваемых системах с 256 МБ ОЗУ. Код CHERIoT RTOS написан на языке С++ и распространяется под лицензией MIT. В форме компартментов оформлены базовые компоненты ОС, такие как загрузчик, планировщик и система распределения памяти.

Компартмент в CHERIoT RTOS представляет собой изолированную комбинацию кода и глобальных переменных, которая напоминает разделяемую библиотеку, но в отличие от последней может менять своё состояние (mutable) и запускаться в отдельном контексте безопасности. Никакой код извне не может передать управление коду в компартменте и получить доступ к объектам, за исключением обращения к специально определённым точкам входа и использования указателей на объекты, явно переданные при вызове другого компартмента. Для кода и глобальных объектов в компартменте гарантируется целостность и конфиденциальность.

 
  1. Главная ссылка к новости (https://msrc.microsoft.com/blo...)
  2. OpenNews: Google представил открытый проект OpenTitan для создания заслуживающих доверия чипов
  3. OpenNews: Google открыл код защищённой операционной системы KataOS
  4. OpenNews: В кодовой базе Chromium разрешено использование языка Rust
  5. OpenNews: Google анонсировал Asylo, универсальный фреймворк для защищённых анклавов
  6. OpenNews: Первая открытая реализация анклава для аппаратно изолированных окружений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58726-cheriot
Ключевые слова: cheriot, cheri, microsoft, memory, security, gcc, llvm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (306) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:12, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –17 +/
    Ну зачем аппаратный огород городить когда уже Rust есть?
     

     ....большая нить свёрнута, показать (58)

  • 1.2, Кровосток (ok), 10:13, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +16 +/
    Решение прямо как из песенки: "Ключик золотой... В ж... себе вставь! Покрути немного, для работы тебе надо!"
     
  • 1.3, Аноним (3), 10:14, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +47 +/
    Настоящий сишник меняет аппаратуру под себя. Диктует свои правила.
     
     
  • 2.30, Советский инженер (?), 11:16, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    такой же настоящий, как и автолюбитель, который меняет машину когда пепельница переполнилась?
     
     
  • 3.42, YetAnotherOnanym (ok), 12:03, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Нет, как автолюбитель, который ставит "карбоновое" антикрыло на багажник и дырявое ведро вместо глушителя.
     
  • 2.169, Аноним (-), 20:59, 01/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +1 +/
    > Настоящий сишник меняет аппаратуру под себя. Диктует свои правила.

    Если посмотреть на то как изменилось современное железо... эээ... вообще-то да, все именно так :).

    Процы стали делать удобными для именно сишки, самые видные это Cortex'ы армовские. Железо чего-то стало mem-mapped, без всяких in/out в левых адресных пространствах. И так далее. И чего это они? :)

     
     
  • 3.229, Nope (?), 13:11, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    Главный прогиб под C - это RISC-V, где нет флагов.
    Соответственно весь тот геморой, который нужен для сложения числе размера в два раза больше слова реализуется один в один как C код, сложение, сравнение и т.д., без всяких add adc
     
     
  • 4.230, Аноним (235), 13:21, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Уже объясняли о вреде этих флагов на переупорядочивание выполнения команд.
     
     
  • 5.244, непох2 (?), 14:43, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    Стоит уточнить, что мешают не флаги, а только когда эти флаги общие и или помеще... большой текст свёрнут, показать
     
     
  • 6.246, Вечно недовольный аноним (?), 15:31, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    > просто дополнением каждого регистра своими carry/overflow флагами.

    Это ваши фантазии или это где-то так сделано?

     
     
  • 7.251, x3who (?), 19:03, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Если это нигде не сделано - это не значит, что не нужно. Реализация этих флагов проста, а выподвыверты чтобы их обойти будут стоить дополнительных тактов ЦПУ.
     
  • 7.297, аффтар (?), 12:53, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Штеуд сделал это 10 лет назад в таком виде https://en.wikipedia.org/wiki/Intel_ADX

    Как-то иначе в рамках x86 примерно не возможно.

     
     
  • 8.307, Аноним (307), 09:13, 04/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Ты сам-то эту страницу читал Где там написано про бред анона с кэри оверфлоу фл... текст свёрнут, показать
     
     
  • 9.331, Аноним (-), 08:43, 08/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Кэри и оверфлоу флаги явно проверять - это лишние команды Т е нафиг надо, скор... текст свёрнут, показать
     
  • 6.272, _kp (ok), 21:29, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Ну и много ли хотя бы  в 32х битном коде на ассемблере работы с флагами вне операций сравнения? Если без них можно обойтись, то и проблемы нет.

    Для многих процессоров, возьмем для примера cortex m3 stm33, можно написать весь код на Си, включая таблицы векторов прерываний. Единственное останется несколько ассемблерных макросов для барьеров, прерываний, и подобных мелочей.

    Сейчас на ассемблере не пишут, и вполне можно оптимизировать процессор под код из под компилятора.

     
     
  • 7.296, аффтар (?), 12:49, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Как уже многократно было сказано RISC-V ISA исходно проектировалась для low-end... большой текст свёрнут, показать
     
     
  • 8.332, Аноним (-), 08:47, 08/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Для high-end cpu мы никогда не видим их систему команд и нам так то похрен И дл... большой текст свёрнут, показать
     
     
  • 9.341, аффтар (?), 23:43, 08/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Не стоит повторять пересказывать чужие пояснения, не понимая их сути и или конте... большой текст свёрнут, показать
     
     
  • 10.346, Аноним (-), 17:10, 13/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Не стоит считать себя умнее других, особенно не зная кто с другой стороны экрана... большой текст свёрнут, показать
     
  • 4.337, Аноним (-), 10:26, 08/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Да вот кстати Cortex M для сишника так то поудобней RISCV Я так понимаю что RIS... большой текст свёрнут, показать
     
  • 2.221, Аноним (221), 11:11, 02/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    > Настоящий сишник меняет аппаратуру под себя. Диктует свои правила.

    правила диктует прогресс а он сдерживается рынком. Появился запрос на использование общих сетей передачи данных и всплыл вопрос о безопасном их использовании - на начальном этапе начали использовать псевдобезопасные языки но в конечном итоге всё равно перейдут на безопасные процессоры потому что без доверенной аппаратной платформы на которой  исполняется код никакой безопасности нет в принципе.

     
     
  • 3.228, Вечно недовольный аноним (?), 12:34, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +4 +/
    Как рынок сдерживает прогресс?
     
     
  • 4.234, Аноним (221), 13:32, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Как рынок сдерживает прогресс?

    инновационные продукты из-за высокой цены могут себе позволить единицы -> производство не окупается а все R&D сидят на дотациях -> тем кто дотирует требуется время чтобы окупить  вложения -> сдерживают конкуренцию огораживанием разработок патентами.

    Если ты не заметил - рынок десятилетиями был огорожен дырявыми процессорами интеля.

     
  • 2.263, Аноним (265), 20:05, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Unix захватил мир процессоров вместе с С. Мелкомягкие писали свой первый код на С. Всё это предопределило архитектуру процессора. Дальше легаси вступило в действие.
     
     
  • 3.314, adolfus (ok), 21:49, 04/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    С был спроектирован так, чтобы эффективно отображаться на две существующие на тот момент времени архитектуры -- гарвардскую и фоннеймановскую, снабженные стеком. Поскольку других архитектур не появилось и не появится в обозримом времени, этот язык переживет всех.
     
     
  • 4.338, Аноним (-), 10:31, 08/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > С был спроектирован так, чтобы эффективно отображаться на две существующие на тот
    > момент времени архитектуры -- гарвардскую и фоннеймановскую, снабженные стеком. Поскольку
    > других архитектур не появилось и не появится в обозримом времени, этот
    > язык переживет всех.

    Да вообще-то в сишке адресное пространство так то одно на всех и вот на именно гарвардца который гарвардец не только в железе но и в логике - оно с теми еще гландами и автогеном получается.

    Если кто хочет посмотреть как си на гарварде - вон авр есть. Весь мозг сломаешь с тамошними указателями. То-есть они как бы и так указатели и сяк, но вот тут такие а вот тут не такие, и не сойти с ума при этом - не очень просто.

     

  • 1.4, Аноним (5), 10:18, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    Неужели раст не помог и пришлось всё делать правильно? Кто бы мог подумать.  
     
     
  • 2.18, пох. (?), 10:44, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    так он бы смог, конечно, смог бы - но пока на эту архитектуру кроме readme.md ничего толком портировать не удалось.
    (отдельно станет интересненько когда выяснится что милиард взаимозависящих крейтов неведомых авторов на ней компилируютца...только не совсем работают)

    P.S. не то чтобы я верил в то что любой сишный код и в мсовской-то конструкции будет работать а не падать, но у них-то всегда остается ход конем - взять да и скомпилировать небезопастным образом.

     
     
  • 3.49, Аноним (46), 12:31, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    >кроме readme.md ничего толком портировать не удалось

    Как так? А CoC.md?

     
  • 2.83, Аноним (-), 14:52, 01/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    > пришлось всё делать правильно

    В рантайме проверять лайфтаймы и выходы за границы, это уже "правильно"?

     
     
  • 3.89, Аноним (-), 15:04, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Хотя, если так подумать, в рантайме лайфтаймы и выходы за границы отслеживать проще. В том же расте, если перенести лайфтаймы в рантайм при помощи RefCall и Arc, то компилятор перестаёт ругаться. Паники иногда в рантайме случаются, правда. Но зато думать не надо, прям как в C.
     
     
  • 4.97, непох (?), 15:58, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > зато думать не надо

    Если вы не думаете, то вы трупп.

    Поэтому стремление к "поменьше думать" несколько удручает.

     
  • 4.170, Аноним (-), 21:01, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Хотя, если так подумать, в рантайме лайфтаймы и выходы за границы отслеживать проще.

    Какой-нибудь диапазон значений int - и его переполнение - в компил тайме не больно то отследишь в общем случае. А в рантайме без поддержки железом не халявно получается, так что даже хруст это только в дебаг билде делает. Ну вы же понимаете что дебагбилд у дева час покрутится а релиз годами у легиона юзерей? С понятной разницей в уровне оттестированости и факапов.

     
     
  • 5.241, Аноним (-), 14:18, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > в рантайме без поддержки железом не халявно получается

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

    Проверки небесплатны вне зависимости, поддержаны они железом или нет. Если они поддержаны железом, значит тебе дополнительных компараторов придётся засовывать в конвеер и длину спекуляций увеличивать. Либо отдельный специализированный конвеер выделять под эти проверки, что наверное глупость: иногда его производительности будет не хватать и он будет ограничивать скорость выполнения кода, а иногда его производительность будет избыточна, и он будет простаивать тогда, когда мог бы ускорять выполнение кода.

     
  • 5.264, Аноним (265), 20:11, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    переполнение int в рантайме - это логическая ошибка. Поэтому компилятор и не поможет.
     
     
  • 6.283, Аноним (-), 22:40, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Для процессора переполнение int'а это не ошибка вовсе. Для задумки программиста это может быть ошибкой. А компилятор вполне может помочь, если задумка программиста будет закодирована в коде. Когда ты используешь + для любого сложения, то происходит потеря информации о задумке, при передачи из головы компилятору, потому что разные идеи кодируются одинаково. Если же их кодировать по-разному, то компилятор может помочь.

    Таким образом, логика твоя порушена. Из "логичности" ошибки никак не вытекает того, что компилятор не поможет. Он не поможет потому что программист не попросил компилятор помочь с данным типом логических ошибок.

     
     
  • 7.290, Аноним (265), 00:41, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    #include <stdio.h>
    #include <inttypes.h>

    int main(){
    uint8_t a=255,b=255;
    uint8_t c;
    c=a+b;
    printf("%d\n",c);

    И здесь я Явно указал значения операндов. Компилятор GCC даже не предупредил.

     
     
  • 8.325, Совершенно другой аноним (?), 17:03, 07/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    include stdio h int main int argc, char argv unsigned char a 255, b... текст свёрнут, показать
     
     
  • 9.326, Аноним (-), 22:08, 07/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Эй лолки, man 3 printf для начала С вашим d вы такие забавные А builtin это п... большой текст свёрнут, показать
     
     
  • 10.334, Совершенно другой аноним (?), 10:03, 08/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    В данном случае рояля не играет, т к unsigned char расширится до unsigned int с... большой текст свёрнут, показать
     
     
  • 11.339, Аноним (-), 10:44, 08/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Зато если это с u32 попробовать можно нехилый сюрприз поймать И между ... большой текст свёрнут, показать
     
  • 2.186, Аноним (177), 22:05, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –3 +/
    Компания Microsoft открыла наработки, связанные с проектом CHERIoT , нацелен... большой текст свёрнут, показать
     
     
  • 3.214, Аноним (214), 09:25, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    До тебя медленно но очень трудно доходит что раст ненужен. А сама идея на него что-то переписывать не имеет смысла.  Продолжай свой путь к просветлению.
     
     
  • 4.292, Аноним (177), 03:54, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > До тебя медленно но очень трудно доходит что раст ненужен.

    только "икспертам опеннета"

    > А сама идея на него что-то переписывать не имеет смысла.

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

    >  Продолжай свой путь к просветлению.

    А тебя уже ничто не спасет, можешь остановиться, никакого просветления тебе не светит.

     
     
  • 5.344, Аноним (344), 18:13, 10/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А потом такие существа спрашивают, почему раст хейтят.
     
  • 3.232, Аноним (235), 13:25, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    >s/человеки/растаманы сами же должны сейчас напрячься и просто переписать тысячи и тысячи старых проектов на раст. __Им ведь всё равно нечего делать__.

    Точно подмечено!

     
     
  • 4.293, Аноним (177), 03:59, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А, слово подменил, смысл поменял, смешно получилось. Детский сад, штаны на лямках.

    Тонко пошутил!

    Пысы: Радует, что реагируешь - значит, у тебя подгорает.

     

  • 1.6, Аноним (6), 10:20, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +2 +/
    у Эльбрусов вроде есть защищённый режим где доступ к памяти и исполнение проверяются аппаратно
     
     
  • 2.23, пох. (?), 10:49, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –3 +/
    если ты про тегированную память, то он наверное был только в ель-брус-1, том у которого отдельный интерфейс с водопроводной сетью. И не работал как следует.
     
     
  • 3.54, непох (?), 12:38, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +3 +/
    Защищенный режим есть во всех Эльбрусах и работает, без "наверное".

    Если бы "чубайсы" не мешали Эльбрусам, а дали развиваться, то за прошедшие 20 лет могли бы иметь превосходную архитектуру, а не студенческо-дипломный PoC как сейчас.

    Эх, жалко полимеры...

     
     
  • 4.145, пох. (?), 19:12, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Прости, а вот при советской власти на которую тут все неистово др-ат им кто мешал - Брежнев, Андропов или Черненко?
    А то они так там доразвивались, что на 1045 стояли очереди на год вперед, бэсм уже никто не любил но кому давали - пользовались, см1420 работали неделями, а эта херня только ремонтировалась (наверное, водопроводный интерфейс протек)
     
     
  • 5.222, U202204161753 (?), 11:37, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    "Эта х-ня" - про Эльбрус-1 или про Эльбрус-2?

    Если про первый, то там была неудачная элементная база. Её и заменили в Elbrus-2, получив таки необходимую скорость работы.

    ( пересказываю, то что читал)

     
  • 4.171, Аноним (-), 21:04, 01/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • –3 +/
    > Если бы "чубайсы" не мешали Эльбрусам,

    О, оказывается в головотяпском управлении зажраной фирмочки чубайс виноват. А он там вообще в этой фирме был?!

    > а дали развиваться,

    А как он им мешал то? По-моему им свое руководство совкового разлива, не относящееся к чубайсу мешало сильнее.

    > то за прошедшие 20 лет могли бы иметь превосходную архитектуру, а не студенческо-
    > дипломный PoC как сейчас.

    А им и так хорошо было на госзаказиках походу. Даже позволяли себе контракты с госами продалбывать. Представьте себе китайский или американский стартап который рискнет продолбать заказ от госов, если уж обломилось такое?!

     
     
  • 5.193, Rock (?), 00:07, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    У человека, просто, русский на очень высоком уровне Обратите, пожалуйста, внима... большой текст свёрнут, показать
     
     
  • 6.198, Аноним (-), 02:27, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Он уже давно стал нарицательным прозвищем, не отнять Но у тех по-моему даже так... большой текст свёрнут, показать
     
     
  • 7.254, ЗанудаВФорточке (?), 19:19, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > За то же время в других странах развились десятки микропроцессорных стартапов, тиражи RISCV стали исчисляться миллионами. И на их фоне вон то не выглядит круто и офигенно хоть тресни.

    В том и роль чубайсов - обеспечивать рынок сбыта в России для чужих стартапов. Еще ода роль - морочить голову прожектами (ну это когда импортозамещение стало наслуху). Как вот они безответственно свалили?...

     
  • 6.284, Neon (??), 22:41, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Ну так чубайсы не из космоса прилетели. Они все бывшие пламенные комсовольцы и верные ленинцы коммунисты. Других чубайсов не было.
     
  • 4.216, maximnik0 (?), 09:54, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >Защищенный режим есть во всех Эльбрусах и работает, без "наверное".

    Нет, вы ошиблись.Не вовсех.Есть ещё серия Эльбрусов которые де факто Спарк.(серия микро 90 если не подводит память)Да там есть NX бит,защита по некоторым ошибкам но это не то.

     
     
  • 5.245, непох2 (?), 15:04, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да, конечно.

    Всегда эта путаница, что называть Эльбрусами - либо только те что на самом деле Эльбрусы, либо еще и те что Спарки...

    Лучше-бы МЦСТ назвали свои спарки барсами или казбеками.

     
  • 3.58, maximnik0 (?), 12:48, 01/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    >он наверное был только в ель-брус-1,

    Нет, аппаратная защита есть и у Эльбруса ,который wlib.Называеться тегирование-каждое 4 байтное слово сопровождается 3 разрядным тегом.А ещё раньше аппаратные атрибуты были реализованы в Barroughs.Кое какая защита также есть у Ибм майфрэймах-с использованием микрокода.

     
     
  • 4.60, Аноним (46), 12:55, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Т.е., обычные стандартные планки DDR-3, DDR-4 для Эльбруса не годятся?
     
     
  • 5.63, непох (?), 13:09, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +6 +/
    Да, обычные не годятся, нужные "серверные"  DDR-модули с ECC.
    Теги хранятся в вместе с контрольно-корректирующими битами, технически решение очевидное до гениальности.
     
     
  • 6.172, Аноним (-), 21:05, 01/03/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 6.199, Аноним (-), 02:29, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Теги хранятся в вместе с контрольно-корректирующими битами, технически решение очевидное
    > до гениальности.

    А ECC при этом нормально работает?

     
     
  • 7.242, непох2 (?), 14:24, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > > Теги хранятся в вместе с контрольно-корректирующими битами, технически решение очевидное
    > > до гениальности.
    > А ECC при этом нормально работает?

    Да.

    На уровне DDR-модуля ECC это просто дополнительные биты (обычно +1 к восьми).
    Контроль и исправление ошибок реализуется "снаружи", а не в самих DDR модулях.

    Как много ошибок исправить и обнаружить зависит от размера блока и количества выделяемых в нем "проверочных" бит, погуглите коды Хемминга.

    Поэтому если не мельчить с размером читаемого из DDR блока, то пропорция 8+1 обеспечивает достаточно "лишних" бит для хранения тегов, без ущерба коррекции ошибок.

     
     
  • 8.349, Аноним (-), 17:39, 24/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Здесь похоже какая-то на ка с точки зрения теории информации Если бы можно бы... текст свёрнут, показать
     
  • 4.85, анонимуз (?), 14:56, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Здесь пишут, что в защищенном режиме вылезают приколы в coreutils типа использования неинициализированной памяти и т.д.:

    https://blog.handydev.com/

     
     
  • 5.88, непох (?), 15:04, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Не приколы, а баги.

    И подобное всплывает чуть менее чем повсеместно.

     
     
  • 6.90, анонимуз (?), 15:11, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В самОм Linux тоже?
    Кстати, может ли вообще Linux работать в защищенном режиме?
     
     
  • 7.96, непох (?), 15:53, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +3 +/
    > В самОм Linux тоже?

    Да, но...

    > Кстати, может ли вообще Linux работать в защищенном режиме?

    Да, если переписать.

    Защищенный (aka Безопасный) режим на Эльбрусах очень суров, примерно как Rust без unsafe.
    В частности, нельзя "просто так" кастить указатели к целым и наоборот, нельзя сделать union с указателем и т.п.

     
     
  • 8.119, Аноним (46), 16:43, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    И как процессор различает, что в регистре сейчас целое или указатель ... текст свёрнут, показать
     
     
  • 9.140, непох (?), 18:39, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Упрощенно у регистра есть скрытые недоступные погроммисту биты, благодаря кот... текст свёрнут, показать
     
     
  • 10.223, anonymous (??), 11:48, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Никак каждый указатель содержит смещение до начала массива объекта А в начале ... текст свёрнут, показать
     
     
  • 11.225, anonymous (??), 11:50, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так и есть, здесь весь этот секурный сетап описан http ftp altlinux org pub p... текст свёрнут, показать
     
  • 10.239, Аноним (235), 14:01, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Т е , без переписывания или, хотя бы, портирования никуда ... текст свёрнут, показать
     
  • 7.237, Аноним (235), 13:45, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >Кстати, может ли вообще Linux работать в защищенном режиме?

    Что имеется ввиду в данном контексте под защищённым режимом? Если Linux (ядро) может работать в Ring0 (x86), то да, он там и работает.

     
     
  • 8.295, anonymous (??), 11:57, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Аппаратный РБВ http ftp altlinux org pub people mike elbrus docs elbrus_prog ... текст свёрнут, показать
     
  • 3.167, RM (ok), 20:32, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Пра брусы и вообще очень занимательное чтиво - читать цикл статей задом наперед.

    https://topwar.ru/user/Sperry/

    Конкретно про Capability Based проэкты и чем закончился например Intel iAPX 432
    https://topwar.ru/191202-rozhdenie-sovetskoj-pro-jel-berrouz.html

    "Все придумано до нас"

     
     
  • 4.175, Tron is Whistling (?), 21:20, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    "Всё продолбано до нас"
    fixed
     
     
  • 5.179, RM (ok), 21:38, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ты еще скажи что Бэббидж тоже продолбал.

    В смысле просто лазерной резки для шестеренок^W^W^W^W транзисторного бюджета не было.
    Вот проверят на новом уровне идею.
    И да - Capabilty Based и VLIW - это все про брусы, но одно отрогонально второму.
    Хотя и тому и тому желателен язык высокого уровня сразу и компилятор с него нормальный.

     
  • 4.206, maximnik0 (?), 04:57, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Я вообще восхищён что такое сумело проскочить в непрофильном сайте.Там прямо указывается что и как распилиловась на не имеем аналогов системе ПРО.Как система съедала талантливых людей.При этом объектная защита не имеет смысла-в случае песеца посылается маленький слабенький заряд-подрываеться за 800 км до объекта.Следом 2 заряд уже подрывается за 550-250 км от объекта.Все система Про выведена из строя-из за ионизации атмосферы аппаратура минимум полчаса будет слепа.
    Но об этом не хотят распространяется,потому что бабло продолжают пилить.
     
  • 2.132, Аноним (131), 18:01, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Защищенный режим в котором работает ровно ничего. А тут решение которое работает постоянно
     
  • 2.249, qwe (??), 18:08, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Мало того, защищенный режим есть и у интелов, в том том числе флаг исполнения для выделяемых блоков памяти. То есть можно аппаратно запретить исполнять код в стеке и данных. Другое дело, использует ли эту фичу операционка.
     
  • 2.261, Аноним (265), 19:54, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Вопрос: Как освобождать тэгированную память? Надо вайпить (wipe) биты тэга? Ведь не все команды могут работать с ними? Простым изменением указателя стэка не обойдешься.
     

  • 1.7, Аноним (7), 10:21, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    так, погодите-ка. Если Java - это язык, компилящийся для "гипотетических процов, способных исполнять явовский байткод", то сишка - это то же самое, но для гипотетических процов, в которых можно делать use after free и прочие веселухи. Все правильно понял?
     
     
  • 2.12, Аноним (-), 10:28, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Доступа к памяти на яву нету, речь идет именно о нем.
     
     
  • 3.104, OpenEcho (?), 16:12, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так прям и нет?!
    А вот пацанчики пишущие малварь на яве знают про
    Unsafe.class.getDeclaredField("theUnsafe");
     
     
  • 4.116, Аноним (120), 16:37, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    "getDeclaredField

    Returns a Field object that reflects the specified declared field of the class or interface represented by this Class object. The name parameter is a String that specifies the simple name of the desired field.

    If this Class object represents an array type, then this method does not find the length field of the array type."

    Уточните, пожалуйста, где здесь про доступ к памяти? У меня нет мозгов и я не могу понять.
    Даже из названия следует что это доступ к полю класса, по имени

     
     
  • 5.121, OpenEcho (?), 16:46, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    > Уточните, пожалуйста, где здесь про доступ к памяти?

    Гуглите про sun.misc.Unsafe или проще, - direct memory access java

     
  • 2.14, Аноним (16), 10:31, 01/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • –1 +/
    Типа того. Админить руками или скриптами. В Си - руками всё. В Яве и прочих есть "скрипты" - сборщики мусора.


    Скрипты отладил один раз, тесты написал. Работает надёжно.
    А руки: опечатки, переключался на другое, авто-тестов нет и выходит плохо.

     
     
  • 3.41, Аноним (120), 11:57, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    почему не сделают скрипты сборщики мусора на си?
     
     
  • 4.52, Аноним (46), 12:36, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Как сборщик мусора защитит от разыменования указателя, указывающего на произвольный адрес?
     
     
  • 5.113, Аноним (120), 16:31, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А как он защитит? У меня нет мозгов и я не знаю.
     
  • 4.200, Аноним (-), 02:31, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > почему не сделают скрипты сборщики мусора на си?

    Для сей есть энное количесто сборщиков мусора, какие проблемы?! Можно начать с BOEHM пресловутого, если оно вам надо.

    А если вы хотели из си Java сделать -fsanitize=address,undefined и получите примерно этосамое :)

     
  • 2.62, _hide_ (ok), 13:06, 01/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +4 +/
    Процессору на ваши use after free и прочие шалости побоку, более того, состояние гонки можно получить просто из-за небрежной работы с памятью без явных ошибок, к примеру, при циклических ссылках и т.п.

    Именно поэтому Ява и работает с памятью "безопасно" -- потому что удаляет сама

     
     
  • 3.112, Аноним (120), 16:29, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Уточните, пожалуйста, какое отношение состояние гонки имеет к циклическим ссылкам? У меня просто слишком мало мозгов и не понимаю.


    "Состояние гонки (англ. race condition), также конкуренция[1] — ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода."

     
     
  • 4.218, _hide_ (ok), 10:02, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Последовательность действий Удаляем объекты в порядке, отличном от порядка созд... большой текст свёрнут, показать
     
     
  • 5.279, Аноним (120), 22:13, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А причем здесь циклические ссылки?
     
     
  • 6.286, _hide_ (ok), 22:52, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > А причем здесь циклические ссылки?

    Потому что такие вещи часто встречаются именно в реализации объектов, ссылающихся друг на друга.

     
  • 3.146, пох. (?), 19:16, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    и результат - я открыл для себя что у top есть отображение rss в терабайтах.
    Так вот оно "удаляет".

     
  • 2.149, Аноньимъ (ok), 19:36, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Да, правильно, Си процессоры довольно "специфичны" на самом деле.
    Было много альтернатив этому бреду, но почти всё закопали.
     
  • 2.165, www2 (??), 20:21, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    На Java бывают утечки памяти, если что. Можно тоже запретить.

    А кроме расширения набора команд процессора есть и другие решения - Cyclone, valgrind, MISRA, статические анализаторы кода.

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

    Чтобы написать хорошуую программу на Си, нужно уметь проектировать компоненты и архитектуру. У Java-программистов такая культура более распространена, и дело тут на самом деле далеко не только в сборщике мусора или его отсутствии...

     
  • 2.262, Аноним (265), 19:58, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Просто здесь исключения при работе с памятью перехватываются аппаратно и видны в явном виде в рантайме.
     

  • 1.11, Аноним (16), 10:27, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +4 +/
    > Практика показывает, что даже крупные корпорации, такие как Google и Microsoft, имеющие жёсткую политику рецензирования изменений и применяющие современные методы разработки и инструменты статического анализа, не могут гарантировать отсутствие ошибок при работе с памятью (например, около 70% уязвимостей в программных продуктах Microsoft и Google вызваны небезопасной работой с памятью).

    И не смогут крупные корпорации. Пока топят за скорость выдачи результата. Получается: быстро, дешевле, некачественно.

     
     
  • 2.15, Аноним (15), 10:35, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +4 +/
    То ли дело в опенсорсе — медленно, дорого, качественно — баги в Xorg по 20 лет без движения висят
     
     
  • 3.19, Аноним (19), 10:45, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    С опенсорсом в корпорациях проблема таже - корпроативно быстро, подешевле, некачественно.

    Опенсорс бывает в корпорациях тоже. Огромное количество.
    За пределами коропораций качество софта - лишь мера собственных талантов.

    Хочешь быстро - как Убунту. Хочешь - медленно.

     
     
  • 4.107, OpenEcho (?), 16:20, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > Опенсорс бывает в корпорациях тоже.

    Я бы даже сказал больше, - не было бы корпораций, то весь опенсорс так и застрял бы по большей части на ZX-spectrum, Микрошах и Специалистах. Все что более менее серьезное есть в опен соурсе бладодаря людям работающих за деньги полный рабочий день (или в обмен на блага, как у студентов)

    Единичых фанатиков работающих за корочку хлеба можно "по пальцам перещитать"

     
     
  • 5.164, kusb (?), 20:17, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Очень спорно, многие проекты начинаются за идею и не финансируются или раньше не финансировались ими, по моему.
     
     
  • 6.178, OpenEcho (?), 21:32, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Очень спорно, многие проекты начинаются за идею и не финансируются или раньше
    > не финансировались ими, по моему.

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

     
  • 5.166, www2 (??), 20:27, 01/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +1 +/
    BSD избавлялась от компонентов AT&T Unix на средства университетов. Студентам и учёным нужны проекты, на которых они могут пройти практику, защитить дипломный проект, докторскую диссертацию. Ну а результаты их работ должны становиться общественным достоянием, т.к. делаются на средства налогоплательщиков.

    Нужно просто финансировать НИИ и университеты, раздавать гранты на разработку тем. Финансировать может государство, отраслевые объединения и т.п. IEEE, например, по такому принципу отраслевые стандарты ращрабатывает.

     
     
  • 6.182, OpenEcho (?), 21:44, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Вот кто, кто, но только лучше не государства, там просто сбросят бабло родствени... большой текст свёрнут, показать
     
  • 5.188, A (?), 22:13, 01/03/2023 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    Но жаль от того бы не было А работают все В науке и мысли в том и достоинство,... большой текст свёрнут, показать
     
     
  • 6.190, A (?), 22:16, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Из приниципиально важного, а не из шелухи.
     
  • 5.287, Neon (??), 22:56, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    ZX-spectrum - был вполне коммерческий проект.))) Боюсь, что и его бы в опенсорсе не было бы
     
     
  • 6.298, OpenEcho (?), 14:16, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > ZX-spectrum - был вполне коммерческий проект.))) Боюсь, что и его бы в
    > опенсорсе не было бы

    Я про софт, не про железку, голодные до програмирования тогда человеки настрогали массу хелоу ворлдов и шарили с другими, так сказать первые зачатки опенсырца. А про микро и специалист вообще, там по ходу был в основном один опенсорс

     
  • 6.302, Аноним (302), 14:54, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Де-факто опенсорсные улучшенные версии ZX-Spectrum были в СССР ещё до становления опенсорса как такового.
     
  • 2.26, Аноним (26), 11:01, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Если не признавать что некачественно тогда прокатит. Как ты в проприетаре определишь что там качественно, а что нет. Работает и ладно.
     
  • 2.129, Аноним (129), 17:48, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > например, около 70% уязвимостей в программных продуктах Microsoft и Google вызваны небезопасной работой с памятью

    Это потомубчто уних 70% програмистов индусы без профильного образования.

     
     
  • 3.168, topin89 (ok), 20:34, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Это ведь процент уязвимостей, а не 70% кода из них состоят. Просто есть такая закономерность -- 70% на память, 30% -- на всё остальное. Если аппаратная платформа поможет быстро их выявлять, то уязвимостей будет в 2-3 раза меньше. Уже хорошо
     

  • 1.17, 3draven (ok), 10:44, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –3 +/
    Дидам придумали кресло-каталку. Сами они писать на сях не могут без граблей, нормальные языки не любят.
     
     
  • 2.21, Аноним (19), 10:47, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Скорее что наоборот: диды сделали вешь, которая не позволяет отжать пользу девайса юзверя под себя. И теперь все крутятся: как заклеить дыры в заборе в "яблоневый сад".
     
  • 2.135, Аноним (135), 18:15, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > Дидам придумали кресло-каталку.

    Не дидам, а их дегроднутым внучкам.

     
     
  • 3.203, Аноним (-), 02:43, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Диды иногда тоже жгут от души. Вон красавчики, дереференсят массив по входу функции. А там тип int. Ну вы поняли куда оно может там дереференснуть если caller сделает что-то странное. Проверок на это конечно же нет, так что вот вам вулн готовый, может половину памяти промотать вместо этого массива... и послать ее по коммуникационному протоколу, чтоб не скучать... :)

    И тут скажите еще спасибо если я каталку пожелаю. А мог бы и катафалк за такое то. А зачем индекс signed делать вообще?! Кто-нибудь объяснит мне это вообще?

     
     
  • 4.233, RM (ok), 13:31, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    >А зачем индекс signed делать вообще?! Кто-нибудь объяснит мне это вообще?

    Диды (K&R) говорили что просто int может быть по умолчанию или signed или unsigned. в зависимости от того, что эффективнее на конкретной платформе. И если нет разницы, то пиши int, будет быстрее, точно не медленнее.
    А в эпоху дидов caller был локальным и контролируемым, не то что сейчас - аноним с интернетов

     
     
  • 5.333, Аноним (-), 09:08, 08/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    За это мы теперь жестко отдуваемся, когда вон те красавцы отрицательный индекс м... большой текст свёрнут, показать
     
     
  • 6.352, RM (ok), 20:50, 04/04/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Я писал в контексте вопроса ">А зачем индекс signed делать вообще?! Кто-нибудь объяснит мне это вообще?"
    И написал в том числе "И если нет разницы, то пиши int, будет быстрее, точно не медленнее."
    Еще раз - "И если нет разницы" и про (K&R) C.
    Т.е. если это индекс массива в аргументе функции и надо hint - так вот и пиши unsigned int, кто ж за руки держит.
    И доку/маны тогда все же писали и читали, не то что сейчас "все самодокументировано", действительно замучаешься читать код либ.

    А по большому счету - так я с твоими доводами согласен, в смысле что в нынешних условиях можно и получше.
    Только когда K&R C придумывали, весь UNIX крутился на 64 KB и не жужжал.

     
  • 5.358, Аноним (358), 22:32, 04/01/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >Диды (K&R) говорили что просто int может быть по умолчанию или signed или unsigned.

    Мощное заявление, пруфов конечно же не будет.

     
     
  • 6.359, RM (ok), 23:25, 04/01/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да, память меня подвела, признаю, распространил я в своей голове поведение char ... большой текст свёрнут, показать
     

  • 1.20, IdeaFix (ok), 10:45, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Ждём новостей о том как врырываются из очередной песочницы....
     
     
  • 2.27, Аноним (26), 11:02, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Причем через npm.
     
     
  • 3.29, IdeaFix (ok), 11:11, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Причем через npm.

    Не, контент мейкером будет позитив софтваре, так что через паяльник :)

     
     
  • 4.50, Анонус (?), 12:33, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Позитив Текнолоджис
     

  • 1.32, Аноним (32), 11:33, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    > разыменование указателей

    это этого не надо защитать, указатели для этого и придуманы.

     
     
  • 2.33, Аноним (33), 11:45, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    просто оно сделано defective by design
     
     
  • 3.34, Аноним (32), 11:46, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Оно в процессоре так сделано
     
     
  • 4.55, Аноним (46), 12:41, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +3 +/
    Так в процессоре CHERIoT сделано уже иначе.
     
     
  • 5.267, Аноним (265), 20:55, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    RISC-V с дополнительным набором команд и на основе этих команд новый компилятор C/C++ способен реализовать безопасную работу с памятью.
     
  • 4.150, Аноньимъ (ok), 19:38, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Именно.
     

  • 1.37, Аноним (120), 11:54, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +7 +/
    Почему Microsoft и Google не уволит свои криворуких кодеров и м..ак и не наймет экспетов по Си с opennet?
     
     
  • 2.39, Амомин (?), 11:56, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Дык им никто не рассказал почему-то до сих пор
     
  • 2.40, Аноним (32), 11:56, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Месные эксперты с опеннет говорят там обязательно непустую учетку на гитхабе надо иметь к собеседованию. Хотя у меня всеего 1 раз спросили и сказали: "Ну нету дак нету, что теперь. Переходим к следующему этапу собеседования - hard skills".
     
     
  • 3.110, Аноним (120), 16:24, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Куда устраивался если не секрет? Взяли?
     
  • 3.133, Аноним (32), 18:01, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Контрактором в Интел. Взяли.
     
     
  • 4.201, Аноним (-), 02:34, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Контрактором в Интел. Взяли.

    Думается интелу учетка на гитхабе не так важна как фактические знания и скилы того кого они нанимают.

     
     
  • 5.248, Аноним (248), 16:22, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так никому не нужна учетка на гитхабе. Нужен код, написанный кандидатом, чтобы сэкономить время, если кандидат заявляет о 10 годах коммерческого опыта, а по факту неделю назад был выложен код уровня студенческой лабы.

    Гитлаб, битбакет или self hosted gogs тоже сойдёт, если доступен публично.

    Нету - ну так и нету, собеседование все равно всё покажет.

     
  • 2.111, OpenEcho (?), 16:26, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Они услышали вас и увольняют десятками тысяч сейчас... подготавливают место для "специалистов"
     
  • 2.215, Аноним (214), 09:25, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Почему ты просто не перепишешь всё на раст?
     

  • 1.38, Иваня (?), 11:56, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    Очень интересно, спасибо за инфу, пригодится мне для разработки.
     
  • 1.43, YetAnotherOnanym (ok), 12:08, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    > CHERI (Capability Hardware Extension to RISC-V)

    CHERI - это у старшеклассниц, а "Capability Hardware Extension to RISC-V" должно называться "Червь".

     
     
  • 2.57, Аноним (46), 12:44, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Во, я тоже подумал про CHERVI.
     

  • 1.45, Аноним (45), 12:20, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +6 +/
    Никуда от указателей не деться в низкоуровневом программировании. Взятие данных по адресу -- это базовая инструкция центрального процессора.
     
     
  • 2.304, Аноним (304), 18:00, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Это не значит, что указатель надо хранить в "голом" виде без обертки и позволять кому угодно делать с ним что угодно.
     

  • 1.47, nc (ok), 12:25, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –2 +/
    А что такого в том чтобы переписать существующий старый код? Ведь далеко не все ошибки связаны с переполнением буферов и неправильной работы с указателями. А переписывание кода заодно позволит его отрефакторить, да и просто посмотреть свежим взглядом.
     
     
  • 2.53, Аноним (53), 12:37, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Такого - ничего. Только трудозатраты и время. Большие.
     
  • 2.126, AKTEON (?), 17:34, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    Таких программистов, которые были в 2004 году, сейчас мы даже приблизительно не  имеем(с)
     

  • 1.48, Бегущий по граблям (?), 12:26, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    Вот это правильный подход, т.к. это решение можно считать устранением причины проблемы, а не латанием дыр и прикручивание костылей, чем в принципе является Руст и всякие новомодные уловки по работе с указателями в Плюсах.
     
     
  • 2.65, freecoder (ok), 13:39, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Rust делает проверки в compile-time, а здесь предлагается run-time решение, как я понял.
     
     
  • 3.202, Аноним (-), 02:39, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > Rust делает проверки в compile-time,

    Не все проверки можно в compile time сделать. Такая печалька. Скажем проверку переполнения математики в компилтайме как? А в рантайме это можно но на существующих процах надо команды делающие проверку флага добавлять - код сильно жирнее и медленнее получается, поэтому только в дебагбилды и годится.

    > а здесь предлагается run-time решение, как я понял.

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

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

     
     
  • 4.268, Аноним (265), 21:07, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > проверку переполнения математики

    К каждому числовому типу прикручены куча типажей которые определяют поведение данных при возникновение этих ситуаций. Другое дело что логической ошибки это не исправляет. Если Вы не заложились на максимальный результат и помещаете, например, результат умножения двух операндов в ячейку того же размера то это Ваша тупость, а не вина компилятора. Но верифицировать корректность значения Раст позволяет в этом случае. Результат не выйдет за пределы и будет признак переполнения, например.

     
     
  • 5.328, Аноним (-), 22:30, 07/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Проц ничего про это не знает Поэтому вы либо лепите кучу софтварных проверок и ... большой текст свёрнут, показать
     

  • 1.56, Alexey Torgashin (?), 12:42, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –2 +/
    Меня ребенок спросил - "А ты какие языки знаешь, знаешь СиПлюсПлюс? ОН СЛОЖНЫЙ!!!" Я говорю - "его не знаю, и он очень противный". Имея в виду что Паскаль не противный. На паскале можно писать гораздо БОЛЕЕ ЧИТАЕМЫЙ и безопасный код с проверками типов. Что и доказал мой проект CudaText.
     
     
  • 2.61, непох (?), 13:03, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +5 +/
    Это ваш бдсм-проект "очень противный", а не C++, которого вы не знаете.
    И не забывайте таблетки от чсв принимать, а то вот опять обострение.
     
  • 2.115, OpenEcho (?), 16:36, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    > Имея в виду что Паскаль не противный.

    Точно, в QuickBasic тоже про проблемы с памятью не знали.

    Кстати прикол, видел недавно правда работающую программу компильнутую на TurboBasic. На вопрос, "переписывать не собираетесь?", получил ответ - "Зачем? Все работает и нас все устраивает"

     
  • 2.147, Tita_M (ok), 19:18, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Привет, Алексей! А почему Оберон не выбрали для своего проекта вместо Lazarus? Вы ведь в Lazarus пишете?
     
     
  • 3.212, Алексей Торгаш (?), 09:19, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Видишь ли тут такое дело я не осилил Оберон. Да и не хотел его осиливать. Зачем если уже есть Паскаль? Паскаль — топ.
     
     
  • 4.240, Аноним (235), 14:05, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Модулу смогёшь? Modula-2 включен в состав GCC 13.
     
  • 2.151, Аноньимъ (ok), 19:40, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Спасибо вам за ваш труд!
    Паскаль действительно очень интересная тема.
     
  • 2.288, Neon (??), 23:02, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Только вот на Паскале никто почему то особо не пишет.))) Он не противный, он тривиально неудобный. Для мазозистов
     
  • 2.289, Аноним (32), 00:22, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Посмотрел я этот ваш кудатекс. И что-то там сплошной object Pascal, а не паскаль. Это ж вроде изобретение Борланда, а не то что Никлаус Вирт завещал.
     

  • 1.66, freecoder (ok), 13:41, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    А как этот процессор будет отличать ошибки работы с памятью от намеренных "оптимизаций" и бэкдоров?
     
     
  • 2.82, непох (?), 14:45, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Никак При наличии дырени для эксплойта нужно будет поприседать чуть больше, в т... большой текст свёрнут, показать
     
  • 2.106, Аноним (106), 16:15, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    А ничего, что компилятор ближе к железу, чем твой замечательный код?
     
     
  • 3.192, Аноним (32), 00:04, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    вроде оба работают с регистрами и инструкциями проца или компилятор работает как-то иначе... более ближе к железу?
     
  • 2.270, Аноним (265), 21:21, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Если компилятор и будет оптимизировать, то будет оптимизировать легально в поле инструкций. А если программист корректно внедрил бэкдор, то процессор ему не судья. ))
     

  • 1.68, freecoder (ok), 13:43, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Вообще, сишники теперь должны полюбить Rust. Потому что он им даст больше свободы: пиши unsafe и разыменовывай нулевой указатель наздоровье. А тут - сам процессор твой код отвергнет.
     
     
  • 2.86, Аноним (221), 15:02, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Вообще, сишники теперь должны полюбить Rust.

    наоборот, Rust не нужен вдвойне - достаточно пересобрать код специальным компилятором и использовать портированное ядро Linux/BSD и получить систему которая будет по настоящему безопасна во время работы, а не во время компиляции.

     
     
  • 3.91, непох (?), 15:21, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Портировать ядро Linux или BSD на эту chert-ову байду проще чем переписать на Rust, но не настолько проще чтобы выбор был однозначным.
     
     
  • 4.117, Аноним (117), 16:39, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Портировать ядро Linux или BSD на эту chert-ову байду проще

    Уже (причем, BSD задолго до пингвина).

     
  • 3.92, Аноним (221), 15:30, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > но не настолько проще чтобы выбор был однозначным

    по крайней мере arm morello разрабатывается с применением верификации всех компонентов системы, безопасность системы математически доказана. Нужен ли тебе такой уровень безопасности и сколько это будет стоить решает каждый сам исходя из средств и потребностей.

     
  • 3.271, Аноним (265), 21:29, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Скопилировать новым компилятором под (RISCV+расширенный набор команд). Обнаружить баги. Потом скопилировать старым под другой процессор? Это гарантирует отсутствие багов? Или это просто светлая дорога для нового RISCV в мир интернет-вещей?
     

  • 1.84, Аноним (221), 14:56, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    > Компания Microsoft открыла наработки, связанные с проектом CHERIoT

    хорошо, но уже есть Linux

    https://github.com/cheri-linux

    проект arm morello с портированной freebsd

    https://www.arm.com/architecture/cpu/morello

    https://www.cheribsd.org/

     
     
  • 2.99, Аноним (46), 16:06, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В GCC тоже CHERI добавляли. Но пока только для Morello.
     

  • 1.94, Заболотный (?), 15:40, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Они изобрели MPU?
     
  • 1.105, Аноним (101), 16:13, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    Судя по тому, что это делают 1) безопасники из майков 3) криворучки из подразделений Azure - эта херня не взлетит вообще никогда. Такую штуку могли теоретически запилить только в Майкрософт Ресерч, но им неинтересно под гнилую императивщину заплатки хлестать.
     
  • 1.109, Аноним (109), 16:22, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +3 +/
    > аппаратное решение

    Бьёт по рукам при распарсивании ввода goto ? =)

     
     
  • 2.118, OpenEcho (?), 16:42, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    > Бьёт по рукам при распарсивании ввода goto ? =)

    Ну тогда Леня Поцтеринг попал... по ходу и Торвалдс тоже

     
     
  • 3.273, Аноним (265), 21:32, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Запасайтесь попкорном. Только это всё имхо для отдельного сегмента.  
     
  • 2.204, Аноним (-), 02:46, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Бьёт по рукам при распарсивании ввода goto ? =)

    За него статический анализатор может по мозгам дать, если разрешить.

     

  • 1.134, Аноним (134), 18:01, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    А в этом RISC-V классические инструкции NX, PAE для защиты памяти имеются?
     

     ....большая нить свёрнута, показать (35)

  • 1.141, Аноним (141), 18:54, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +2 +/
    теперь RISC-V начнёт падать в синий экран...
     
     
  • 2.299, Аноним (302), 14:41, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В IoT не обязательно наличие экрана. Тогда во что?
     
     
  • 3.306, Аноним (306), 22:40, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    halt? reboot? Синий экран это виндузятник.
     
  • 3.316, Личинка_Шигорина (?), 04:05, 05/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Придётся купить.
     

  • 1.142, Аноним (142), 19:03, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    >даже на встраиваемых системах с 256 МБ ОЗУ
    >на встраиваемых системах
    >с 256 МБ ОЗУ
    >даже

    Эта корпорация полагает, что в каждой Ардуине 256 MiB RAM....
    Неудивительно, что их решения стали прожорливыми...

     
     
  • 2.148, пох. (?), 19:21, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    эта корпорация логично полагает что эпоха пердулин прошла и их удел - мигать светодиодиком.

    А эмбеднутые поделки на risc-v вполне могут и с полугигом сделать - песка полный пляж, бери совок и пеки чипы.

     

  • 1.143, Аноним (142), 19:05, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    >Никакой код извне не может передать управление коду в компартменте и получить доступ к объектам, за исключением обращения к специально определённым точкам входа и использования указателей на объекты, явно переданные при вызове другого компартмента. Для кода и глобальных объектов в компартменте гарантируется целостность и конфиденциальность.

    Лишь бы слово "анклав" не использовать, а то юристы Intel обидятся...

     
     
  • 2.144, Аноним (144), 19:10, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    А PAE инструкции для защиты памяти от Intel патентированы или свободны как NX ?
     
     
  • 3.187, maximnik0 (?), 22:08, 01/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >А PAE инструкции

    О Господи,в Интел для этого специальные инструкции придумали или вы что то напутали ? Рае вообще-то расширение памяти для 32 битного режима,реализовано до фига где в других архетектурах процессоров.NX -неисполняемый,всего лиш 1 бит ,означает атрибут неисполнение  участка памяти.Да,он использует Рае т.к в стандартной адресации этот бит был не использован и предусмотрен. Этот бит не панацея, его в некоторых случаях можно обойти без срабатывания исключения,хорошо хоть 16 бит код запретили,там из за особенности адресации элементарно этот бит обходился.

     
     
  • 4.253, Аноним (253), 19:18, 02/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Этот бит не панацея,  его в некоторых случаях можно обойти без срабатывания исключения

    Все зависит от реализации защиты памяти ядром OS.

    Допустим защита пямяти не такая как в M$, OpenBSD, ... которая разрешает JIT код запускать, а правельная как в Linux+PAX, NetBSD, ... :

    Строжайше запрещает:
      1. changing the executable status of memory pages that were not originally created as executable,
      2. making read-only executable pages writable again,
      3. creating executable pages from anonymous memory,
      4. making read-only-after-relocations (RELRO) data pages writable again.

    как будешь обходить?

     
  • 2.191, maximnik0 (?), 22:16, 01/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >Лишь бы слово "анклав" не использовать, а то юристы Intel обидятся...

    Юристам Интел в этом случае лучше помалкивать.Есть минимум 2 более ранних реализаций,просто срок действия патентов истек или истекает + использования кросслецензирование.Я имею в виду Барроуз и ИБМ (майфрэймы).

     

  • 1.176, Kuromi (ok), 21:22, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    DRM очередной? Или встроенный зонд?
     
     
  • 2.303, подрывник (?), 17:45, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Жил-был дядя Боб,
    Толоконный лоб.
    Пошел Боб по базару
    Посмотреть кой-какого товару.
    Навстречу ему программист Балда
    Идет, сам не зная куда.
    «Что, Боб, так рано поднялся?
    Чего ты взыскался?»
    Боб ему в ответ: «Нужен мне умелец:
    фронтендер, бекендер и за сервером сиделец.
    А где найти мне такого
    Работничка не слишком дорогого?»
    Балда говорит: «Буду служить тебе славно,
    Усердно и очень исправно,
    В год за три щелчка тебе по лбу,
    Есть же мне давай варёную полбу».
     

  • 1.189, Sw00p aka Jerom (?), 22:14, 01/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    >а уже существующие проекты на С/C++ переработать достаточно проблематично

    какие нафиг существующие IoT проекты, где они все? Их так много (в особенности легаси проекты)?  

     
  • 1.205, Аноним (205), 02:52, 02/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +2 +/
    К автору: в чем грех разименовать  указатель?
     
     
  • 2.207, Sw00p aka Jerom (?), 08:39, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    тем более в IoT :)
     
     
  • 3.347, Аноним (-), 17:30, 13/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > тем более в IoT :)

    Фирма ARM нулевые указатели не любит. Поэтому единственным достижением станет брякнувшийся в Hard Fault проц. Это довольно сложно не заметить, а эксплойтировать что-то в вот именно этом состоянии уже врядли получится, это чаще всего считается за unrecoverable и лечится ребутом.

     
  • 2.252, ЗанудаВФорточке (?), 19:09, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > приводящих к таким проблемам, как переполнение буфера, обращение к уже освобождённой памяти, разыменование указателей

    Дополнение-разьяснение короткого поста сверху: Проблема не в разыменовании указателей, а в разыменовании Неактуальных указателей.
    Пусть я зануда, но поправить статью можно. ))

     

  • 1.274, Аноним (274), 21:44, 02/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +2 +/
    Вместо того чтобы научиться программировать лепят такую горбуху.
     
     
  • 2.280, Аноним (265), 22:14, 02/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Идеальный программист это утопия.
     
     
  • 3.291, Аноним (274), 01:24, 03/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Дело не в идеальности, а в дисциплине.
     
  • 2.300, Аноним (302), 14:45, 03/03/2023 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Так это для унаследованного кода, который требует перепрограммирования на большие лета.
     
     
  • 3.343, Аноним (344), 18:10, 10/03/2023 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так перепрограммируй, кто тебе не дает?
     

  • 1.318, Глашатый (?), 11:02, 05/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Интересно, почему нейросети не приспособили до сих пор к анализу и переписыванию кода?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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