LINUX.ORG.RU
ФорумTalks

Можно ли сделать закладки в 8-битном процессоре?

 , , ,


1

1

И будет ли от них толк. До какого предела сложности можно условно считать процессор безопасным от закладок NSA и китайских товарищей? В ARM Cortex A есть TrustZone, в Cortex M часто бывает прошитый в ROM загрузчик, в который можно напихать много интересного.

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

★★★★★

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

эта память будет либо страничной либо сегментной

не способен столько адресовать даже со страничной памятью

Так всё таки будет, или нет? Ясно-понятно, что это совершенно избыточно, но технически это возможно.

no-such-file ★★★★★
()
Ответ на: комментарий от Iron_Bug

диванный теоретик.

Ты в курсе что есть так называемые твёрдотельные конденсаторы с очень низким внутренним сопротивлением?

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

У вас же Линукс с открытыми кодами, это же не Венда, которая непонятно, что мутит.

В процессоре есть так называемый ring0, в который установленная, а на самом деле гостевая ОС не имеет доступа, а вот этот ring0 имеет доступ ко всему, так что в смысле аппаратных закладок ни linux ни другая ОС не спасут.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от no-such-file

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

Я вроде понятно объяснил.

Stremitelnyj
()

Ранее я на ЛОР по моему писал, ну напишу ещё раз.

Делаешь на микроконтролёре однонаправленный последовательный порт и несколько управляющих сигналов.

Наверное сигнал синхронизации, команда принять данные, и два сигнала передача данных и данные переданы/готов к приёму.

Секюрность контролёра на котором ты этот порт сделаешь не важна, одно передаваемое слово кратно 8 битам естественно.

Между двумя контролёрами включаешь плату апааратного шифрования на основе рассыпухи советского производства, наример серии к155.

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

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

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

Естественно между двумя этими регистрами в передаваемом слове с помощью перемычек меняется последовательность байт и выполняется операция xor со словом набранным уже другими перемычками.

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

По идее пакеты для аппаратных бекдоров должны превращаться в лапшу и опасаться надо только програмных бекдоров в самой ОС.

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

Я вроде понятно объяснил

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

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

У тебя трудности с восприятием? Уже который раз объясняю что z80 напрямую не может адресовать более 64 Kб.

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

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

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

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

Какой еще к черту сишный компилятор? да на z80? Нет не он, точно. Большая разница, аргументы я привел. В любой подобной системе когда нет жесткого диска и других носителей информации при старте всегда происходит инициализация памяти - то есть сколько конкретно килобайт ОЗУ доступно (ибо есть еще и ПЗУ с прошивкой) это и дальнейшее распределение памяти (примитивное в zx spectrum) уровень системы, а не каких то компиляторов.

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

Закладки можно сделать везде. С ними есть одна проблема - как их активировать по команде, если МК ни к чему не подключен? И если цель закладок воровство данных, то как их пересылать.

В реальности никаких закладок в железе нигде нет. Есть значительно более простые и эффективные способы добиться того же результата.

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

TrustZone сам по себе не страшен и ничего не дает с этой точки зрения.

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

Какой еще к черту сишный компилятор? да на z80?

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

Egor_
()
Ответ на: комментарий от lenin386

Они и зашиты. И не в проц, а в биос. Wake on Lan, например.

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

Так я и так много написал в свое время программ на ассемблере (в т. ч. свою прошивку ПЗУ). Вот только было это в то время когда спектрум был популярен (середина-конец 90-ых). Да, я бы написал именно на ассемблере, пусть это займет больше времени.

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

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

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

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

Egor_
()
Ответ на: комментарий от Stremitelnyj

я не буду писать никакие компилляторы

Хорошо, не пиши компилятор
Напиши интерпретатор си для спектрума ;)

Кстати, а как мог бы выглядеть интерпретатор си?
Это не может быть построчный интерпретатор (из-за наличия директив компиляции в си)
Получается, это должен быть двухступенчатый интерпретатор: компиляция исходника си в промежуточный байт-код и затем выполнение байт-кода

Для чего это может быть полезно? Для бутстрапа, например (когда есть только ассемблер, но на ассемблере не хочется писать много кода)

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

Я пишу сейчас код на php

ну как же ты до такой жизни скатился? )))


вспомнилось:

Вопросы для IT-собеседования

— Вы ранее привлекались за хранение данных в глобальных переменных?
— В своём резюме вы указали знание php. вам не стыдно?
— Как часто вы говорите своему коду «ну пожалуйста»?
— У кого был самый длинный код в вашей прошлой команде?
— Вы моете руки перед правкой кода на продакшне?
— Ну признайтесь уже — джаваскрипт алертами дебажили?
— Скажите, вы когда-нибудь симулировали ООП?
— Каким вы видите свой код через пять лет?

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

Компилятор для z80 с поддержкой банкинга уже есть. Им компилируется Fuzix OS.

Puzan ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.