Re[29]: Оберон круче всех!
От: WolfHound  
Дата: 17.07.12 21:22
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Отдельная тема... Скажем так, специалист в том, как всё утсроено и работает, начиная от физических процессов в p-n переходах, через устройство процов, контролеров, шин, плат, драйверов и т.д. Работа такая была по большей части. Вирусами не балуюсь уже давно, но пару раз антивирусы писать приходилось, когда цепляли гадость на все компы в лаборатории, а обновленный Лозинский или чуть позже DrWeb с нужной сигнатурой еще не вышел. Ну и защиты ломал по молодости, ес-но. А лет 5 назад не по молодости, но захотелось посмотреть в оплный рост работу конкурирующего продукта, и за пару дней нагнул их сверх-навороченную лицензионную защиту. В общем, имею некоторое представление об организации защит и способах их ломания... А твои "знания", которыми ты пальцуешься, похоже, сугубо из технического репорта подчерпнуты.. Ты даже не понимаешь что я имею ввиду, напирая на "модель распространения ПО". На самом деле тут борьба противоположностей: нефик делать вообще запретить обновление/установку дополнительного ПО (банально не оставить в системе ср-в для этого), тогда никакие вирусы не страшны. Или наоборот, когда такие ср-ва есть, то обязательно есть способы ими воспользоваться. Посмотри, кстате, рефлектором на этот детсад в дотнете с правами доступа к различным аспектам ф-сти базовой библиотеки. Сделано для дурачков. Обходится дублирующей реализацией на раз.

Ох. Пальцы веером. Сопли пузырями.
Давай великий гуру.
Расскажи мне как прикладному ПО.
Не драйверу винта сломать верификатор?
Ты даже драйвером сетевухи или видюхи это сделать не сможешь.
Память мы испортить не можем.
Глобальных переменных нет. Те вызвать системные функции, откуда попало, мы тоже не можем.
Процессу передается очень урезанный сервис имен. Через который он может обращаться к разрешённой части системы.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[30]: Оберон круче всех!
От: vdimas Россия  
Дата: 17.07.12 23:20
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


Никто не в состоянии понять. Ты уже как домашний питомец — всё понимаешь, но сказать не можешь.


V>> В обсуждаемом предмете нет никаких противоположностей, есть разная терминология. Тут это назвали процессы, там — активные объекты. А происходит абсолютно одно и то же.

WH>Если не считать того что в одном случае мы имеем изолированные объектные пространства и обмен сообщениями, а в другом общую совершенно не защищенную от гонок кучу и мониторы для синхронизации.
WH>Ну, совсем нет отличий.

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

V>>Это в C# так. А в чистой программе на CLR я могу иметь глобальные на процесс, видимые из каждого домена. Подсказать, как это работает, или ты уже понял, пока читал?

WH>Да плевать. CLR меня вообще не волнует.
WH>Важно то, что в бутылке есть только глобальные на всю ОС.
WH>Причем по большому счету глобальные переменные вообще ошибка.
WH>И в правильной системе их вообще не должно быть. Даже глобальных для процесса.

Ты точно уверен, что твое воображение развилось, а не ровно наоборот?
Например, в системе должен быть один на всех список сетевых интерфейсов. Жду твоих предложений насчет того, чтобы этот список хранить не в глобальной переменной (прямо или через любой уровень косвенности).

WH>>>В бутылке статические переменные модуля глобальны для всей ОС.

V>>Разница в терминологии.
V>>Ничего, если я домен буду считать эдаким объектом? Можно?
WH>Специально для тебя: В бутылке всего один домен на всю ОС.

И? Порассуждай чуть дальше. Одну подсказку я уже дал. Вот вторая: в UML глобальный контекст представляют в виде объекта-синглтона. Вот третья: а что если объект-контекст не будет синглтоном?

WH>Да и сингулярити от обычного CLR немало отличается.


Пофиг, при наличии непробиваемой инкапсуляции (а инкапсуляция там непробиваемая, в отличие от дотнетного reflection), разработчики модуля сами могут решать, нужны ли им глобальные переменные и для чего.


WH>При этом логическое пространство в бутелке одно на всех.

WH>А в сингулярити одно на процесс.

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


V>>В общем, нет никакого приплызда, если код дает гарантии не хуже, чем гарантии защищенной памяти. Т.е. абсолютно никакой разницы нет.

WH>Разница огромна.

Разница в терминологии.

V>>Я это и не мог заметить, т.к. если уровень гарантий идентичен, то неважно на каком уровне эти гарантии реализованы.

WH>Да правда что ли?
WH>И что же мне помешает устроить гонки в бутылке?
WH>А ничего. Достаточно где-то забыть синхронизацию.

А если мне нужны эти гонки by design? Если читаем и пишем машинное слово? Нахрена мне его синхронизировать?
И вообще, если синхронизация декларативная, то забыть ее трудно — пометил класс и всё. Ведь не надо, как в дотнете, обкладывать мониторами блоки кода вручную.

WH>При этом единственный способ сделать гонки в сингулярити это ждать на двух и более каналах одновременно.

WH>Причем даже в этом случае гонки не приведут к неопределенному поведению.
WH>Эти виды гонок настолько разные, что по-хорошему их нужно называть по-разному.

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


V>>Чтобы я "это заметил" я должен считать железячников умнее программистов. Хотя это так и есть, ес-но,

WH>Это ты так весь форум обосрал?

А какие проблемы, если лучшие компиляторы на сегодня для самых опасных языков?
Вот и приходится звать на помощь аппаратную защиту памяти.
Характерно, что подразумеваемый язык у меня в любимых, но вовсе не из-за опасных его конструкций. Я бы предпочел, чтобы такие конструкции ушли из языка.


WH>В бутылке это сделать невозможно. Там объектное пространство одно на всех.

WH>Те если кто-то сожрал всю память, придётся перезагружать всю систему.
WH>Это что так сложно понять?

Можно остановить и удалить активный объект точно так же.



V>>>>Ты еще упоминал вирусы, забыл напомнить. Гы, очередная поверхностность, от которой уже просто плющит. Современные вирусы — это не ошибки в ПО, это брешь в системе распространения ПО.

WH>>>Да ладно. Открываешь не правильный сайт и привет зверьки.
V>>Не открывай под админом.
WH>Так и без админа пролазят.

Под Виндами? Если ты описываешь ситуацию достоверно и ты не нажимал OK в диалоге эскалации привилегий, это баг в виндах, можешь рапортовать — где-то ошибка в распространении привилегий. Под Линухами не пролезут не из под рута. Поэтому графические оболочки ругаются, когда их из под рута запускаешь, что можно простым щелчком мыши выйти куда не следует.


V>>В Сингулярити тоже нет. Если ты про верификацию байткода — то это исключительно ради поддержки многих языков программирования.

WH>Лолчто?
WH>Верификация нужна для того чтобы программа не творила что попало.

Еще раз медленно. Верификация именно байт-кода, а не исходного кода — это просто смещение на другой, промежуточный уровень, чтобы позволить более одного ЯВУ. Представь, что в Сингулярити будет всего один ЯВУ. Нахрена ему промежуточный байт-код? И что помешает сделать верификацию на этапе компиляции?


V>>В Обероне точно такая же верификация вынесена на уровень языка.

WH>А бинарник скаченный с инета может делать что угодно.

А кто ему даст запуститься-то, бинарнику?
Пусть приходит в виде объектного файла и собирается/линкуется по месту.


V>>А если же ты имеешь ввиду проверку подписи ПО — это сугубо модель распространения, о которой я говорю.

WH>Зачем подпись калькулятору?
WH>Или игрушке?

Хороший вопрос. Однако, всё к этому идет, начиная с WinRT. Я тоже считаю, что это бред, т.е. это всего лишь подняли планку нарушений, но не устранили такую возможность насовсем. Хотя, может поднятие планки тоже имеет смысл?


V>>Правильно, потому что основную проблему в ПО не решает даже аппаратная защита памяти. Только модель распространения ПО решает. Можно сделать так, чтобы никакой левый калькулятор не смог попасть в систему. А если же откроешь дверь для всех, то какие бы преграды не городил, они будут отличаться только сложностью преодоления.

WH>Разница между сингулярити и бутылкой в том, что в случае сингулярити нужно сертифицировать очень узкий набор драйверов.

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

WH>Например, драйвера сетевухи и видюхи сертифицировать не нужно.

WH>Они ничего не могут.

Могут. )))
Оба могут органиозвать утечку информации в содействии с другим ПО.

WH>При этом чтобы даже драйвер винта смог что-то осмысленное накуролесить, нужна такая гора кода, что не заметить ее будет очень трудно. Ибо она будет на пару порядков больше самого драйвера.


Для слива образа винта при запросе специального имени файла — я тебе это в пару десяток строк распишу. Никто и не заметит в куче остальной функциональности.

В общем, ЧТД. Идет спекуляция на уровне "легко-сложно", а не на уровне "возможно-невозможно". Потому что возможно.


WH>В случае с бутылкой нужно сертифицировать абсолютно все.


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

И да, мне таки любопытна работа твоего воображения на этот счет:

2. Пример на засыпку: по HDMI идут потоки аудио и видео, причем, оба драйвера ОБЯЗАНЫ работать совместно, чтобы правильно выставлять режимы работы одной и той же микросхемы. Т.е. или Сингулярити позволит так делать, или она не сможет подержать HDMI или любой другой комбинированный интерфейс, т.е. Сингулярити будет ненужна.

Re[30]: Оберон круче всех!
От: vdimas Россия  
Дата: 17.07.12 23:27
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Глобальных переменных нет. Те вызвать системные функции, откуда попало, мы тоже не можем.


Мде? А как же драйвер сетевухи будет работать-то? Ему именно системные ф-ии будут нужны в большом кол-ве. И порты и ДМА и таймеры и т.д. т.п.

WH>Процессу передается очень урезанный сервис имен. Через который он может обращаться к разрешённой части системы.


Да пофиг. При наличии "закладок" достаточно будет сделть невинное обращение к разрешенной ф-сти с "магическим" аргументом. Именно так работают современные ботнеты.
Re[28]: Оберон круче всех!
От: Mamut Швеция http://dmitriid.com
Дата: 18.07.12 06:23
Оценка:
V>Здесь вообще идет сплошной полет мысли. Небезынтересный, но лишь полет. Языки навроде Оберона берут исключительно из-за однозначности и детерминированности порождаемого бинарного кода. Т.е. всё намного-намного проще — Оберон берут из-за требований надежности.

Угу. Берется кастрированный примитивный язык, который один-в-один переводится в ассемблер. Вау. Это СИЛА!!!!

M>>Я сугубо о языке и говорю. Покажи мне, где я тут хоть слово говорю про Оберон-ОСь.


V>Это разве не ты принес цитирование меня в эту подветку?

V>

V>GC, функциональные типы, динамическая загрузка и выгрузка модулей, акторы и прочая "новомодная" асинхронность изкаробки.


V>Кроме функциональных типов все остальное перечисленное относится к среде исполнения. Или мне надо объяснять, при чем тут среда исполнения?


Ага. То есть к Оберону, как языку, оно не имеет никакого отношения вообще. Что и


M>>Итак, дано. Ты утверждаешь, что между тем же Паскалем и Обероном разница лишь косметическая. Думаю, пора от тебя требовать определение «косметической разницф»


V>Я думаю, что тебе пора бы уже вырасти и самому открыть спецификации, например, Компонентного Паскаля и Оберона-2. Второй раз на такую хрень я не поведусь. Уже и так все ссылки были даны.


Ну да ну да. Ты же у нас единственный, кто



M>>Ну и напомню то, с чего ты начинал:

M>>

M>>Идеи Оберона просты, мощны, но на первый взгляд их мощь неочевидна. Это развитие ООП ровно в ту сторону, которая стала неожиданно популярной буквально недавно: GC, функциональные типы, динамическая загрузка и выгрузка модулей, акторы и прочая "новомодная" асинхронность (AWAIT в Active Oberon) изкаробки.


M>>Так о чем ты тут говорил? Об Обероне? Об ОСях, написанных на Обероне? О каких-то конкретных версиях Оберона? Или обо всем сразу?


V>В процитированном отрывке об ОС ес-но.


Почему естественно, известно только тебе.

V>Но такая ОС возможна лишь на заведомо безопасном языке, которым является, например, Оберон.


Среда, которая позволяет GC, асинхронные вызовы, динамическую загрузку кода, возможна только на Обероне? Бгггг. Erlang ржет-не-может.

M>>Я, кстати, именно об этом и говорил. Все защитники Оберона крутят этим названием, как хотят — когда надо, они приводят в пример ОСь, когда надо — язык.


V>1. Из всех участников спора путаешься только ты.

V>2. Ключевые св-ва ОС (повторюсь), требуют заведомо безопасного языка.

Нуну. Какие из «ключевых св-в» Оберон-ОСи требуют примитивного языка Оберон?


dmitriid.comGitHubLinkedIn
Re[31]: Оберон круче всех!
От: Mamut Швеция http://dmitriid.com
Дата: 18.07.12 06:26
Оценка:
V>Я утверждаю, что в случае гарантий корректности работы кода разницы нет совсем.

Оберон не гарантирует корректность работы кода.


dmitriid.comGitHubLinkedIn
Re[31]: Оберон круче всех!
От: WolfHound  
Дата: 18.07.12 07:57
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Мде? А как же драйвер сетевухи будет работать-то? Ему именно системные ф-ии будут нужны в большом кол-ве. И порты и ДМА и таймеры и т.д. т.п.

Читай про сингулярити. 100 раз.
Все что нужно от железа это IOMMU. И все. Остальное проверит верификатор.

V>Да пофиг. При наличии "закладок" достаточно будет сделть невинное обращение к разрешенной ф-сти с "магическим" аргументом. Именно так работают современные ботнеты.

Откуда бы им взяться?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[31]: Оберон круче всех!
От: WolfHound  
Дата: 18.07.12 08:10
Оценка:
Здравствуйте, vdimas, Вы писали:

Полнейший отрыв от реальности.
Ты не знаешь, ни как работает бутылка. Ни как работает сингулярити.

V>Никто не в состоянии понять. Ты уже как домашний питомец — всё понимаешь, но сказать не можешь.

Данная ветка показывает что это тебя все не понимают.
Может проблема в тебе?
Подумай об этом.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[32]: Оберон круче всех!
От: AlexRK  
Дата: 18.07.12 08:50
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Все что нужно от железа это IOMMU. И все. Остальное проверит верификатор.


Справедливости ради нужно отметить: невозможно сделать хорошо защищенную систему исключительно программными средствами, и сингулярити тут не панацея. Ну будет у нас монструозный пакет типа MS Office или Photoshop, который затребует при установке разрешение на доступ ко всему (прямо или косвенно). Все будут его ставить — альтернативы-то нет — вот и дыра в этих всех хваленых защитах. Кстати и не обязательно большой пакет — простой пользователь в общем случае вообще не представляет, какие права нужны той или иной программе. Ставит какой-нибудь CD-резак с вирусом, тот его просит — дай права на сервис чтения-записи диска, юзер дает. И все. В общем, потенциальная защищенность сингулярити сильно преувеличена.

Что тут делать — сложно сказать, наверное нужны комплексные меры.
Re[14]: Оберон круче всех!
От: Klapaucius  
Дата: 18.07.12 09:11
Оценка: 20 (1)
Здравствуйте, vdimas, Вы писали:

C>>>Про Модулу-2 вопросов как раз нет. Но у меня большие сомнения, что используется именно Оберон, так как он сильно заточен на динамическую память и GC.


V>Вот, подтверждение. Про модулу-2 вопросов у него нет, про компонентный паскаль тоже наверняка нет, а про точно такой же оберон — есть. ЧТД.


Думаю, что про компонентный паскаль (если имеется в виду очередной "Оберон", а не Дельфи) у него тоже будут вопросы. Модула-2 — язык полезный и используемый когда-то. Адекватный своему времени. Оберон, с другой стороны, нелепая попытка гальванизировать труп, Кобол++. Язык, совершенно своему времени неадекватный. Программист на модуле-2 озабочен тем, как переползти на С и избавиться от всего этого легаси, а тут ему предлагают то же самое, только без обратной совместимости, с нулевой распространенностью и без очевидных бенефитов. Идея о том, что Оберон способен заинтересовать значительное число из тех, кто не пишет сейчас на Модуле-2 — вообще смехотворна.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[13]: Оберон круче всех!
От: Klapaucius  
Дата: 18.07.12 09:11
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Как вывод: в Хаскель необходимо добавить либо мутабельный тип данных, либо продолжения. Насколько я вижу, то бишь не вижу ничего интересного на Concurrent Haskell, попытка пойти по пути наименьшего сопротивления (добавления мутабельного типа данных) не вызвала поддержки масс.


Что? Да в GHC-Хаскеле с допотопных времен несколько разновидностей мутабельных типов данных с разными средствами контроля, от ссылочно прозрачных изменений "на месте" и до транзакционной памяти.

V>Предлагаю эксперименты с мутабельностью в Хаскеле сразу в топку как противоречащие концепции языка и сделать таки нормальные продолжения. ))


Эксперименты с контролируемой мутабельностью — одна из основных целей языка.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[33]: Оберон круче всех!
От: WolfHound  
Дата: 18.07.12 09:45
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>Справедливости ради нужно отметить: невозможно сделать хорошо защищенную систему исключительно программными средствами, и сингулярити тут не панацея.

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

ARK>Ну будет у нас монструозный пакет типа MS Office или Photoshop, который затребует при установке разрешение на доступ ко всему (прямо или косвенно).

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

Ничего другого им не надо.

ARK>Все будут его ставить — альтернативы-то нет — вот и дыра в этих всех хваленых защитах.

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

ARK>Кстати и не обязательно большой пакет — простой пользователь в общем случае вообще не представляет, какие права нужны той или иной программе. Ставит какой-нибудь CD-резак с вирусом, тот его просит — дай права на сервис чтения-записи диска, юзер дает. И все. В общем, потенциальная защищенность сингулярити сильно преувеличена.

Если пользователя будут просить ввести админский пароль то он 10 раз подумает.
А если не подумает, то тут ничего не поможет. От социальной инженерии ничего не спасет.

ARK>Что тут делать — сложно сказать, наверное нужны комплексные меры.

Пользователей воспитывать.
Но и без программной защиты тоже не жизнь.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[32]: Оберон круче всех!
От: vdimas Россия  
Дата: 18.07.12 11:13
Оценка:
Здравствуйте, WolfHound, Вы писали:

V>>Мде? А как же драйвер сетевухи будет работать-то? Ему именно системные ф-ии будут нужны в большом кол-ве. И порты и ДМА и таймеры и т.д. т.п.

WH>Читай про сингулярити. 100 раз.
WH>Все что нужно от железа это IOMMU. И все. Остальное проверит верификатор.

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

Или мы говорим с тобой о разных Сингулярити?:

Система ввода/вывода Singularity состоит из трех слоев: HAL, менеджера ввода/вывода и драйверов. HAL – это маленькая доверенная абстракция аппаратного обеспечения РС: абстракции IoPorts, IoDma, IoIrq и IoMemory для доступа к устройствам; интерфейсы к таймерам, контроллер прерываний, часы реального времени и отладочная консоль; заглушка для отладки ядра; регистратор событий, векторы прерываний и исключений; обнаружение ресурсов BIOS и код связывания стека. HAL написан на C#, C++ и ассемблере. Доля ассемблера и C++ в HAL составляет примерно 5% от доверенного кода системы (35 из 561 файла).

Ядро Singularity использует манифест для создания и привязки драйверов устройств. При запуске ядро производит «plug and play»-конфигурирование системы. Ядро использует информацию, полученную загрузчиком из BIOS и от шин, например, PCI, для перечисления устройств, запуска подходящих драйверов и передачи этим драйверам объектов, инкапсулирующих доступ к аппаратному обеспечению.

... и далее по тексту.
Нагнуть всё это — как 2 пальца об асфальт. Происходящее ничем принципиально не отличается от традиционного MMIO, со всеми сопровождаемыми граблями. (Просто IOMMU — это ориентировка на конкретную архитектуру шины).

Еще раз — ключевые моменты безопасности кода находятся в системе распространения ПО и нигде больше. А эта система целиком выходит далеко за рамки ОС.


V>>Да пофиг. При наличии "закладок" достаточно будет сделть невинное обращение к разрешенной ф-сти с "магическим" аргументом. Именно так работают современные ботнеты.

WH>Откуда бы им взяться?

Уже раз 100 писал — из злонамеренного ПО. Даже сертифицированного.
Теперь смотри сюда:

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


Если драйвер может открывать файл, вот тебе каким образом сетевой драйвер попросит у драйвера винта очередную порцию бинарного образа диска — через магические имена файлов. Я был малость в недоумении, что ты сразу не догадался. Не изучал работу современных ботнетов? И да, под админом всё-таки не надо в и-нет шастать. Бот не может сразу встать в виде драйвера, но если у него хватит прав, он пропишет себя в реестре или еще где в юзерском автозапуске и сядет при последующей перезагрузке. Т.е. речь всего-то о доступных боту привилегиях. Не давай их ему.
Re[32]: Оберон круче всех!
От: vdimas Россия  
Дата: 18.07.12 11:22
Оценка:
Здравствуйте, Mamut, Вы писали:

V>>Я утверждаю, что в случае гарантий корректности работы кода разницы нет совсем.

M>Оберон не гарантирует корректность работы кода.

Если ты про "логическую" корректность, то никто не гарантирует. Никакой компилятор за тебя не догадается, если ты хотел написать a+b, но по ошибке написал a-b. Речь идет о типобезопасности и детерминированности. Даже зависимые типы покрывают весьма ограниченный круг логических проверок.
Re[32]: Оберон круче всех!
От: vdimas Россия  
Дата: 18.07.12 11:28
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

WH>Полнейший отрыв от реальности.

WH>Ты не знаешь, ни как работает бутылка. Ни как работает сингулярити.

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


V>>Никто не в состоянии понять. Ты уже как домашний питомец — всё понимаешь, но сказать не можешь.

WH>Данная ветка показывает что это тебя все не понимают.
WH>Может проблема в тебе?
WH>Подумай об этом.

Я бы предпочел конкретику, но ты её не умеешь. Поэтому, увы, питомец.
Re[33]: Оберон круче всех!
От: WolfHound  
Дата: 18.07.12 11:38
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Нагнуть всё это — как 2 пальца об асфальт. Происходящее ничем принципиально не отличается от традиционного MMIO, со всеми сопровождаемыми граблями. (Просто IOMMU — это ориентировка на конкретную архитектуру шины).

И как ты собрался это нагнуть?
Особенно меня интересует, как ты собрался нагнуть следующую версию сингулярити которая verve называется.
Там только верификатор доверенный.
Все остальное верифицируется.

V>Еще раз — ключевые моменты безопасности кода находятся в системе распространения ПО и нигде больше. А эта система целиком выходит далеко за рамки ОС.

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

V>Уже раз 100 писал — из злонамеренного ПО. Даже сертифицированного.

И откуда в сертифицированном ФСБ ПО закладки сделанные по заказу ЦРУ?

V>Если драйвер может открывать файл, вот тебе каким образом сетевой драйвер попросит у драйвера винта очередную порцию бинарного образа диска — через магические имена файлов.

Ох.
Драйвер сетевухи не может открывать файл.
Прав у него таких нет.

V>Я был малость в недоумении, что ты сразу не догадался. Не изучал работу современных ботнетов? И да, под админом всё-таки не надо в и-нет шастать. Бот не может сразу встать в виде драйвера, но если у него хватит прав, он пропишет себя в реестре или еще где в юзерском автозапуске и сядет при последующей перезагрузке. Т.е. речь всего-то о доступных боту привилегиях. Не давай их ему.

И как он это сделает?
Система просто не даст ему установится без того чтобы спросить пользователя.
А если он лезет куда-то, то еще и админский пароль спросит.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[33]: Оберон круче всех!
От: Mamut Швеция http://dmitriid.com
Дата: 18.07.12 11:42
Оценка:
V>>>Я утверждаю, что в случае гарантий корректности работы кода разницы нет совсем.
M>>Оберон не гарантирует корректность работы кода.

V>Если ты про "логическую" корректность, то никто не гарантирует. Никакой компилятор за тебя не догадается, если ты хотел написать a+b, но по ошибке написал a-b. Речь идет о типобезопасности


https://student.brighton.ac.uk/burks/language/oberon/o2report/o2report.htm
IMPORT System; 

x : AnotherType;
m : MyType;

m := VAL(MyType, x);
PUT(0, m);


в любом модуле.


dmitriid.comGitHubLinkedIn
Re[34]: Оберон круче всех!
От: vdimas Россия  
Дата: 18.07.12 11:46
Оценка:
Здравствуйте, WolfHound, Вы писали:

V>>Я был малость в недоумении, что ты сразу не догадался. Не изучал работу современных ботнетов? И да, под админом всё-таки не надо в и-нет шастать. Бот не может сразу встать в виде драйвера, но если у него хватит прав, он пропишет себя в реестре или еще где в юзерском автозапуске и сядет при последующей перезагрузке. Т.е. речь всего-то о доступных боту привилегиях. Не давай их ему.

WH> И как он это сделает?
WH>Система просто не даст ему установится без того чтобы спросить пользователя.
WH>А если он лезет куда-то, то еще и админский пароль спросит.

Это я про винды и твой случай, что лезут гадости с сайтов. Админский пароль вводить не надо, достаточно быть пользователем с админскими правами и нажать ОК в диалоге запроса эскалации привилегий.
Re[34]: Оберон круче всех!
От: vdimas Россия  
Дата: 18.07.12 11:59
Оценка:
Здравствуйте, WolfHound, Вы писали:


V>>Нагнуть всё это — как 2 пальца об асфальт. Происходящее ничем принципиально не отличается от традиционного MMIO, со всеми сопровождаемыми граблями. (Просто IOMMU — это ориентировка на конкретную архитектуру шины).

WH>И как ты собрался это нагнуть?

Будучи производителем какой-нить железки и драйвера под нее? Элементарно. Даже бери драйвер какого-нить проприетарного VPN с уникальным шифрованием безо всякой железки.


WH>Особенно меня интересует, как ты собрался нагнуть следующую версию сингулярити которая verve называется.


Вот как будет, тогда и посмотрим.


V>>Еще раз — ключевые моменты безопасности кода находятся в системе распространения ПО и нигде больше. А эта система целиком выходит далеко за рамки ОС.

WH>В системе распространения пары критичных драйверов.

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


WH>Все остальное ПО можно распространять как угодно.


Поэтому можно сделать комплекс из драйверов с закладками и юзерского ПО, "умеющего" с этими закладками работать. Впрочем, я уже об этом писал в этой подветке.

V>>Уже раз 100 писал — из злонамеренного ПО. Даже сертифицированного.

WH>И откуда в сертифицированном ФСБ ПО закладки сделанные по заказу ЦРУ?

Я вообще плохо себе представляю тотальную проверку десятков миллионов строк кода. Сколько не проходили верификацию ПО... я бы сказал, что этот процесс весьма поверхностный.


V>>Если драйвер может открывать файл, вот тебе каким образом сетевой драйвер попросит у драйвера винта очередную порцию бинарного образа диска — через магические имена файлов.

WH>Ох.
WH>Драйвер сетевухи не может открывать файл.
WH>Прав у него таких нет.

В переведенном техническом репорте прямо говорится, что доступ к файловой системе из драйвера возможен по каналам.

Ну и такой момент:

Единственный небезопасный аспект интерфейса драйвер-устройство – это DMA. Существующая архитектура DMA не содержит никакой защиты памяти, поэтому неправильно работающий драйвер может заставить работающее с DMA устройство переписать любую часть памяти. Разнообразие интерфейсов DMA помешало нам найти хорошую абстракцию для их инкапсуляции. Мы надеемся, что в будущем аппаратное обеспечение будет предоставлять защиту памяти для DMA.


Т.е. можно заставить устройство записать байты не в ту память. А почему это нельзя проверить? Потому что набор регистров команд и их семантика у контроллеров DMA специфичные. Т.е. операционка понятия не имеет, что там в эти регистры пишут и для чего, а лишь проверяет, чтобы запись была по регистрам из диапазона, указанного в манифесте.
Re[33]: Оберон круче всех!
От: WolfHound  
Дата: 18.07.12 12:01
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Поэтому, увы, питомец.

Я понять не могу. Ты что на бан нарываешься?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[34]: Оберон круче всех!
От: vdimas Россия  
Дата: 18.07.12 12:01
Оценка:
Здравствуйте, Mamut, Вы писали:

M>https://student.brighton.ac.uk/burks/language/oberon/o2report/o2report.htm


Уже отвечал на это. Зависимости от модулей явные. Никто не мешает запретить загрузку юзерских модулей с зависимостями от SYSTEM.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.