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 есть?
     
     
  • 2.5, Аноним (5), 10:18, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +34 +/
    Именно чтобы не писать на раст. И это правильно.  
     
     
  • 3.51, Товарисч (?), 12:34, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Звучит инфантильно.
     
  • 3.81, YM2608 (?), 14:18, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а почему тебе Rust не нравится ɁɁɁ
     
     
  • 4.159, Аноним (-), 20:06, 01/03/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 4.173, Аноним (173), 21:14, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а почему раст должен кому-то нравиться?
     
  • 4.235, Аноним (235), 13:37, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А почему лично мне он обязательно должен нравиться?
     
     
  • 5.247, YM2608 (?), 15:46, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    так я не спрошивал, почему он должен тебе нравиться, а спросил почему он не нравится
     
  • 3.158, Аноним (-), 20:03, 01/03/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.8, pda (ok), 10:22, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +9 +/
    А читаем мы по диагонали...

    "Проблема может быть решена использованием языков программирования, гарантирующих безопасную работу с памятью, или обвязок с дополнительными проверками"

    "уже существующие проекты на С/C++ переработать достаточно проблематично, особенно если они предназначены для выполнения в окружениях с ограниченными ресурсами, таких как встраиваемые системы и устройства интернет-вещей"

     
     
  • 3.282, Odalist (?), 22:30, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    У меня потерялся Фрактал... Никто его не видел?
     
  • 3.317, Глашатый (?), 11:00, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И много таких решений Вам известно? Java, да?
     
  • 2.9, Проффесор (?), 10:24, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну зачем аппаратный огород городить когда уже Rust есть?

    Где скачать Rust под Cortex-M0 ?

     
     
  • 3.13, Аноним (-), 10:30, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чтоб устроить праздник унсафе ? По каким дням праздновать будем ?
     
  • 3.25, НяшМяш (ok), 11:01, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Опять в гугле забанили, уже 5 лет как есть.

    https://github.com/rust-embedded/cortex-m-quickstart
    https://docs.rust-embedded.org/book/intro/install.html

     
     
  • 4.174, Аноним (173), 21:17, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А ты точно внимательно прочитал то, на что попытался ответить?

    > Где скачать Rust под Cortex-M0 ?

     
  • 4.220, Аноним (220), 10:39, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    тут есть всего лишь две проблемы 1 rust для ARM ничего не сможет собрать без G... большой текст свёрнут, показать
     
  • 3.28, Советский инженер (?), 11:04, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    если тебе такой раст, чтобы код кросскомпилять - то на https://www.rust-lang.org/
    а если такой, что б прям запускать коспилятор на кортексе - то там же где и С-компилятор, т.е. нигде.
     
     
  • 4.335, Аноним (335), 10:16, 08/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да вообще какой-нибудь tcc на жирном кортексе так то реально подалуй.
     
  • 3.131, Аноним (131), 17:57, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Где скачать rust под avr
     
     
  • 4.157, topin89 (ok), 19:58, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    детали тут:
    https://book.avr-rust.com/001-introduction.html

    Как я понял, идёт в комплекте к обычному расту

     
     
  • 5.217, Аноним (220), 09:57, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я тебя огорчу:

    ...
    Based on components for the Arduino Uno
    Needs AVR-GCC on the system for linking
    Needs AVR-Libc on the system for support libraries
    ...

    растаманы недалеко ушли от go-пошников - тупо шмаляют обертки вокруг C и бьют себя пяткой в грудь.

    много вам г#вна придется сьесть, чтобы написать компилятор для другой архитектуры

     
     
  • 6.243, topin89 (ok), 14:42, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А тебе шашечки или ехать?
    Писать на расте можно? Можно. А линковка на любых платформах, кроме может redox, берётся системная, а не самописная
     
  • 6.265, Аноним (265), 20:32, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > тупо шмаляют обертки вокруг C и бьют себя пяткой в грудь.

    И что тут преступного? Придумать концепцию, подходящий синтаксис, внедрить хуки. Предварительно обработать свой код и передать сишному компилятору. Коллекция GCC так и строится.
    В инструкции по установки rustc прямо написано что нужен компилятор плюсов вроде (или библиотека плюсов).

     
  • 2.16, Аноним (16), 10:39, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Проблемы и приватности и тивоизации.

    Как на устройстве запускать и свои сервисы работы с деньгами и одновременно неизвестный любой другой код и чтобы не поломали.

     
     
  • 3.44, YetAnotherOnanym (ok), 12:14, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Очень просто - пользоваться специализированным устройством для работы с деньгами, которое стоит в супермаркете за углом. Называется "банкомат".
     
     
  • 4.101, Аноним (101), 16:09, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Предлагаешь бумагу что ли таскать с собой по карманам?
     
     
  • 5.183, YetAnotherOnanym (ok), 21:46, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Невелика тяжесть :Ь

     
  • 5.236, Аноним (235), 13:40, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Был бы предмет таскания, а карманы уж найдутся.
     
  • 4.180, A (?), 21:42, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вам-то - да. Но они-то мыслят: через банкомат ты много не продашь книг, кино, музла, фуфлоты и др. цифро-услуг.
     
     
  • 5.184, YetAnotherOnanym (ok), 21:49, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да просто экономят. Банкомат требует техобслуживания, инкассаторская служба тоже недешёвое удовольствие, с владельцем помещения надо договариваться, питание, связь, вот это всё. Ну, и впаривать фуфло, да.
     
  • 5.345, 2student (?), 16:32, 13/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    когда были онлайновые магазины с CD программ, кино и музыки было ответственней, потому-что приходилось за этим ходить пешком, и сто раз думал что купить и на что потратить деньги.
     
  • 4.260, Аноним (265), 19:45, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тут антимаркетинговые факторы начинают работать. Дождь, вечер, лень, очередь, не всегда за углом и тд. Да и банкам накладно ставить банкоматы на каждом шагу.
     
  • 3.162, kusb (?), 20:12, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Полный сброс контекста, чтобы даже ОС не была задействована в это время. Всё состояние ОС сохраняется, запускается программа для работы с деньгами из шифрованного места, расшифровывает себя и дальше...
    Главное не давать основной ОС трогать в том числе незашифрованную часть программы для работы с деньгами.
     
     
  • 4.181, A (?), 21:43, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот и изобретают - как именно не давать.
     
  • 4.238, Аноним (235), 13:52, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Главное не давать основной ОС трогать в том числе незашифрованную часть программы
    >расшифровывает себя и дальше...

    Дальше известно как. Ищет бинарники и модифицирует их добавлением своей копии.

     
  • 3.266, Аноним (265), 20:39, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Контейнеры, виртуальные машины, контрольные группы, разделение пространства имен, песочницы, работа в другом профиле, использование аппаратных токенов и многое другое. Если не изменяет память, то вкладки современных браузеров разделеня как песочницы. Главное не пускать грязь на системный уровень и многофакторная авторизация.
     
     
  • 4.285, Neon (??), 22:42, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И для обработки 1 Мб уже не хватает десятков Гб))).
     
  • 2.24, _kp (ok), 10:52, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там же сказали, для использования существующей кодовой базы без переписывания, ибо объёмы весьма внушительны.
    Rust тут ни причём, ибо даже никак не относится к решению задачи - использования, того что уже есть.
     
     
  • 3.255, ЗанудаВФорточке (?), 19:33, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Адепты раста не упускают возможности попиариться. )) Своего кода крохи. Натолкнулся что раст в работе используют менее 10%. остальные для развлечения. Go, например, рядом на сайте используют на работе 70 процентов.    
     
  • 2.31, Аноним (31), 11:32, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы раст прорекламировать. Мелкософт главный (наравне с гуглом) зачинщиков раси оманми
     
     
  • 3.259, Аноним (265), 19:41, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Штат понабрали "с улицы" и торопят, поэтому надо предохранятся.
     
  • 2.46, Аноним (46), 12:23, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Похоже, даже Мелкомягких Хруст не устраивает.
     
     
  • 3.177, Аноним (177), 21:29, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хруст их очень устраивает. Их не устраивает переписывать миллиарды строк кода _старого барахла_. Плюс это они делают не только для своего старого барахла, но и для твоего, наСИльник, ибо лицензия BSD. Ты то  раст ни в жисть не выберешь, а ошибки как делал так и продолжишь штамповать. Даже если тебе пригрозят отрезать выступающие части тела, ибо клиника.
     
     
  • 4.195, Аноним (-), 02:12, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты в своем праве отправиться курить бамбук и не пользоваться сишным софтом. Можешь начать с операционки и кернела, редокс ждет тебя.
     
  • 4.224, Аноним (224), 11:48, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конечно, по своей воле я Rust не выберу, ибо есть более красивые альтернативы.
     
  • 2.64, warlock66613 (ok), 13:24, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так этот аппаратный огород отлично работает в паре с Rust (фича strict_provenance и связанные).
     
  • 2.93, anonymous (??), 15:38, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > нацеленным на блокирование проблем с безопасностью в существующем коде на языках C и С++.
     
  • 2.120, Аноним (120), 16:44, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мне, с моим отсутствующим мозгом, кажется что проверка каждого обращения к памяти настолько сильно уронит производительность, что пользоваться ей будет почти невозможно
     
     
  • 3.269, _kp (ok), 21:16, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне, с моим отсутствующим мозгом, кажется что проверка каждого обращения к памяти
    > настолько сильно уронит производительность, что пользоваться ей будет почти невозможно

    Есть же тестовые и отладочные сборки.
    Эту среду можно рассматривать и как средство обнаружения проблем, что бы подправить исходник, и он точно стабильно работал в нативном виде.

     
  • 2.123, ptr (??), 16:59, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как Вы представляете себе Rust, например, для CH32V003?
     
     
  • 3.161, topin89 (ok), 20:10, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там вроде RISC-V. Как я понял, поддержка на ранней стадии, но в планах точно есть.
    https://github.com/rust-embedded/riscv-rt
     
     
  • 4.321, ptr (??), 14:18, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Поддержку то можно наваять. Но когда у тебя только 2К оперативки, даже если поддержка будет кушать 500 байт, желания ее использовать - никакого
     
  • 3.194, Аноним (-), 02:11, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Как Вы представляете себе Rust, например, для CH32V003?

    А это что за зверь? Клон GD32 с RISCV ядром и прочим обвесом "как у STM32"?

     
     
  • 4.226, Аноним (224), 12:09, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.wch-ic.com/products/categories/47.html?pid=5
     
     
  • 5.336, Аноним (335), 10:19, 08/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > http://www.wch-ic.com/products/categories/47.html?pid=5

    Похоже на RISCV с обвесом "как у STM32". Но, кажется, все ж не классическим F103 в 103-й версии, это фэйл. И у катайцев есть какие-то устаканившиеся клоны которые 1 в 1 совпадают? F103 на ARM например штук пять фирм минимум гонит и они более-менее совместимы и по ядру и по регистрам, вплоть до вливки 1 и того же бинаря во все и даже работать будет, правда не факт что идеально точно, но лучше чем нифига.

     
  • 3.219, Аноним Ваноним (?), 10:26, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну я так понимпю, тут и на си не сахар: или мимикрия апи под stm32(с надеждой, что китайцы все нормально сделали) или самому по даташиту и riscv асмом сидеть разбираться. Да господи, офф доки по avr  и stm бывают нерабочими. Так что не понимаю, что уже там на раст бухтеть, все мы сидим и пользуемся откровенным говном.
     
  • 2.197, Аноним (-), 02:17, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну зачем аппаратный огород городить когда уже Rust есть?

    Он так то тоже далеко не все в рантайме проверять может - некоторые проверки не халявные по скорости, увы. Скажем integer overflow.

    Одно дело если железка в рантайм эксепшн кидает что переполнение математики, это не требует кода на проверки. Совсем другое если надо нормальную математику проверками carry-флагов разбавить, скорость всякого крипто и мультимедии резко упадет в разы если так сделать. А оно такое надо? Это даже из си можно сделать подцепив ubsan и особенно asan но это будет мало чем лучше Java какой-нибудь.

     
  • 2.257, Аноним (265), 19:39, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Топик для Аудита (тестирования) кода на Си и плюсах. Причем тут раст? Если удастся внедрить контроль владения данными в компилятор Си то раст станет не нужен. Причем речь идет о владение динамически выделенными данными в куче.
     

     ....большая нить свёрнута, показать (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 [^] [^^] [^^^] [ответить]  
  • +/
    > С был спроектирован так, чтобы эффективно отображаться на две существующие на тот
    > момент времени архитектуры -- гарвардскую и фоннеймановскую, снабженные стеком. Поскольку
    > других архитектур не появилось и не появится в обозримом времени, этот
    > язык переживет всех.

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

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

     

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

  • 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) биты тэга? Ведь не все команды могут работать с ними? Простым изменением указателя стэка не обойдешься.
     

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

  • 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 для защиты памяти имеются?
     
     
  • 2.139, Аноним (-), 18:35, 01/03/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.185, maximnik0 (?), 21:50, 01/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А в этом RISC-V >классические инструкции NX,

    Я по быстрому просматривал документацию,этого там нет.(Pae вообще то это расширенная адресация памяти,к безопасности отношение не имеет).Но не все так однозначно -в памяти исполнение программы запрещено,все вычесление только через регистры.А для вычесленных результатов есть память с допуском на запись через процедуру сохранение регистров. Но если нужна защита есть хитрый атрибуты для  атомарной операции. И ещё можно запретить чужой программе записывать в память.

     
     
  • 3.256, Аноним (256), 19:37, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> А в этом RISC-V классические инструкции NX,
    > Я по быстрому просматривал документацию,этого там нет.

    Значит RISC-V - _г_о_в_н_о_ проц.

    > Но если нужна защита есть хитрый атрибуты для  атомарной операции.

    И как ты без NX будешь защиту памяти писать в OS? Надо реализовать: https://www.opennet.ru/openforum/vsluhforumID3/129886.html#253

    Писали когда-то защиту и для 286 без NX, но с какими-то другими инструкциями, регистрами - тормоза, ад и израиль!

    Переписывать ядра OS никто не будет. Защита памяти уже реализована постранично или посегментно. Если проц не умеет ни постранично ни посегментно, то такое _г_о_в_н_и_щ_е_ никому ненужно!

     
     
  • 4.258, Аноним (258), 19:40, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И для виртуализации инструкции тоже необходимы.

    Но NX нужнее.

     
     
  • 5.305, Аноним (302), 19:03, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С виртуализацией у RISC-V прогрессивнее всех нас егодня. Она там многоуровневая.
     
  • 4.275, Аноним (265), 21:49, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проц поддерживает тэгирование памяти (3 бита), а это покруче чем просто защита от исполнения (1 бит). Адреса хранятся в дескрипторе (128 бит), а не в указателе (64 бит). Дескриптор содержит указатель, размер и смещение. Работа с дескриптором защищена.

    Постранично, посегментно это манагер памяти. Вы уверены что этого нет? Или просто хотелось?

     
     
  • 5.308, Аноним (308), 09:56, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так говорите что память можно метить не только на исполнение, а есть еще бит для... большой текст свёрнут, показать
     
  • 4.281, maximnik0 (?), 22:19, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И как ты без NX будешь защиту памяти писать в OS? Надо
    > реализовать: https://www.opennet.ru/openforum/vsluhforumID3/129886.html#253

    Там есть 3 атрибута на память -Чтение,модификация и запись.Атомарные атрибуты-можно поставить барьеры - запретить другим процессам вмешиваться в работу памяти (или после завершение атомарной операции разрешить модификацию или чтение).А также можно выставить бит на запрет модификации -барьерных,атрибутных и других флагов.И проглядел более углубленно 128 битные регистры - у них зареверзировано поле расширенные атрибуты безопасности.И как бы это не то что мы читали новость.


     
     
  • 5.312, Аноним (312), 12:10, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Там есть 3 атрибута на память -Чтение,модификация и запись.

    А надо - исполнение (запрет исполнения).

    Еще раз, решили, что для обеспечения корректной работы ядра OS с памятью необходимо и достаточно:

      1. запрет изменения на исполняемую области памяти которая исполняемой не создавалась (W^X),
      2. запрет изменения на запись памяти которая выделена как исполняемая (W^X),
      3. запрет создания исполняемой памяти из анонимной памяти (W^X),
      4. запрет изменения на запись памяти выделеной только для чтения (RELRO).

    У читывая что память выделяет ядро OS которое работает на процессоре, процесор должен иметь такие инструкции, чтобы максимально упростить написание ядра OS без потери производительности. И при этом процессор не должен быть переусложнённым.

     
     
  • 6.315, maximnik0 (?), 22:06, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >И при этом процессор не должен быть переусложнённым.

    Что то из перечисленного как мне кажется лишнее.Не забывайте что у RISC-V нет извращений для работы с памятью. Т.е  вычисления и другие операции минуя регистры запрещены.По крайне мере так я понял документацию.(Не забывайте что базовый набор команд совсем небольшой.) А насчет неисполняемого бита - еще для х86 было такое замечательное решение PaX .А насчет W^X с OpenBSD.В статье Криса Касперского "переполнение буфера на системах с неисполняемым стеком" говориться что эта защита обходиться множественным вызовом функции mmprotect.

     
     
  • 7.323, Аноним (323), 15:37, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет В этом вся суть ИТ индустрии Николая Вирт писал об этом в средине 1980-тых... большой текст свёрнут, показать
     
     
  • 8.354, Аноним (354), 18:52, 13/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какое необразованное, наглое вранье Чем лапшу вешать людям на уши или коль сам ... текст свёрнут, показать
     
     
  • 9.355, Аноним (355), 08:58, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тесты RISC-V покажи https www opennet ru openforum vsluhforumID3 129886 html ... текст свёрнут, показать
     
  • 4.356, Аноним (356), 17:01, 17/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Не было там никаких тормозов, NX можно реализовать через... большой текст свёрнут, показать
     
  • 2.213, Алексей Торгаш (?), 09:19, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    RISC-V кстати открыт для твоих расширений. Но писать их надо будет исключительно на быстром и безопасном языке Паскаль.
     
  • 2.227, Аноним (224), 12:19, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    NX, PAE - это из мира x86. Причём, PAE - это для 32-битных CPU с целью расширения адресного пространства, а не для защиты от выходов за границы.
     
     
  • 3.250, Аноним (250), 18:22, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В OS Linux, BSD используют 3 варианта 1 Инструкция NX в процессорных архитек... большой текст свёрнут, показать
     
     
  • 4.276, Аноним (265), 21:54, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вам просто подчеркнутое слово нравится. Повод употребить его так себе...
     
  • 4.278, Аноним (265), 22:10, 02/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Из топика: "каждая операция чтения и записи в память авторизуется"

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

     
     
  • 5.324, Аноним (324), 13:25, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Запрет исполнения есть не только в сегментной, но и в постраничной.

    Вот надо организовать W^X.
    Выделили пару страниц памяти для изменения, пометили W. Необходимо сразу пометить их запретом исполнения. В правильных процах для этого есть NX. А в вашем RISC-V есть три варианта для метки памяти: чтение, изменение (а зачем? ЭТО ТРОЯН!), запись. Метки запрета исполнения для страниц памяти в RISC-V нет!

     
     
  • 6.329, Аноним (-), 22:34, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ващет бывает и легитимный самомодифицируюшийся код. Скажем man "data 2 code transformation". Это довольно быстрый класс алгоритмов, когда под ситуацию на основе входных данных генерится наиболее оптимальный для вот именно этого входа код и дальше его выполнение ведет к наиболее быстрой генерации выходного результата из всех возможных.

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

     
     
  • 7.330, Аноним (330), 07:42, 08/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    JIT зло JIT несовместим с принципами безопасности Критерии корректности работы... большой текст свёрнут, показать
     
     
  • 8.340, Аноним (-), 16:55, 08/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вон то не JIT Просто класс алгоритмов такой Скоростными дата компрессорами доп... большой текст свёрнут, показать
     
     
  • 9.342, Аноним (342), 20:36, 09/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Критерии работы ПО с памятью определил https www opennet ru openforum vsluhfo... большой текст свёрнут, показать
     
     
  • 10.348, Аноним (-), 04:19, 14/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    JIT не будет работать с W X Почему-то Data2code transform тоже не будет Эту т... большой текст свёрнут, показать
     
     
  • 11.350, Аноним (350), 20:09, 03/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На все отвечать не буду, но прочёл всё W X это фундаментальный и принципиальный... большой текст свёрнут, показать
     
  • 11.351, Аноним (351), 18:34, 04/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Классический алгоритм постраничной защиты памяти с использованием инструкции NX ... большой текст свёрнут, показать
     
     
  • 12.353, Аноним (353), 15:27, 11/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Инструкция PAE в процах Intel позволяет делать ASLR без потерь производительнос... текст свёрнут, показать
     
  • 4.301, Аноним (302), 14:50, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А какие работоспособные ядра есть недыряво-сишные? Redox, мягко говоря, неработоспособно.
     
     
  • 5.309, Аноним (309), 11:10, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очередная тестовая сборка Hardened Gentoo GNU Linux -systemd -elogind -dbus -pol... большой текст свёрнут, показать
     
     
  • 6.311, Аноним (311), 11:44, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Fix:
    Потому, что тот тест собирается без SSP. А вот на архитектурах MIPS, PPC даный тест должен пройти и без SSP, у них это делается аппаратно.
     
  • 6.313, Аноним (313), 12:56, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Права на процесы наверно лучше проверять так code ls -dl proc 1 dr-x------... большой текст свёрнут, показать
     
  • 5.310, Аноним (310), 11:39, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там не в одном ядре дело Корректность работы достигается за счет связки 5-ти ва... большой текст свёрнут, показать
     
     
  • 6.320, Аноним (117), 11:03, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    FreeBSD Hardened патчи https hardenedbsd org content easy-feature-comparison h... большой текст свёрнут, показать
     
     
  • 7.322, Аноним (323), 15:02, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Критерии корректности работы с памятью написал: https://www.opennet.ru/openforum/vsluhforumID3/129886.html#312

    Linux+PAX, NetBSD - этим критериям отвечают.

    FreeBSD, OpenBSD - этим критериям не отвечают. Тео повелся на JIT. Если архитектура (процессор с ядром OS) допускают использование JIT кода, то она небезопасна.

    DragonFlyBSD, HardenedBSD -- надо смотреть, дай вывод paxtest с этих BSD-ей.

    Выше привел пример базового аудита корректности OS. Сделай и выложи результаты аудита корректности работы с *BSD.

     

     ....большая нить свёрнута, показать (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-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру