OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 27 Апрель, 2024 01:59

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Blackbox on OpenSolaris or Linux?
СообщениеДобавлено: Четверг, 05 Ноябрь, 2009 11:45 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Если остановиться на приватных для подсистемы модулях, то их можно выделять особыми именами (суффикс, префикс...)

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

Вроде просто... Но не стандартный StdLoader, не применить к модулям ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Blackbox on OpenSolaris or Linux?
СообщениеДобавлено: Четверг, 05 Ноябрь, 2009 17:04 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Илья Ермаков писал(а):
Когда будет ясно, чего нужно, можно конкретный разъём-хук и сделать.
Это приведёт к усложнению, но при этом не приблизит нас к решению. Потому что этим же разъёмом-хуком смогут тогда воспользоваться и другие модули, а не только наш модуль реализации.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 06 Ноябрь, 2009 15:59 

Зарегистрирован: Среда, 30 Сентябрь, 2009 14:45
Сообщения: 147
Понятия первичны, реализации вторичны.

Как указал igor ИМХО, все модули равны, и нет среди них таких, которые равнее.

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

Например,
делим пользователей на 3 класса:
1) системные программисты;
2) прикладные программисты;
3) конечные пользователи.

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

Тогда ограниченный импорт есть разница в доступе между первыми двумя видами.
Ну а регулирование доступа...
1. Вставки в язык - плохо - таким путем уже пошли дельфи/жабы/сишарпы. Появилось много лишних буков.
2. Хитрая пряталка, как сказывал Димыч, - плохо - в Дельфи закрыли ВСЕ поля и наплодили свойств, чем и хвастались, что есть лишние сущности.
3. В стиле ББ - разнести по каталогам и задать в инструментах два режима по штуке каждой категории.

4. Способ недокументированных возможностей, для чего:
а. Снабдить некоторые экспорты прагмами "только для белых".
б. Дефиниции в сборке для прикладников умалчивают про данные поля.
в. Документация для прикладников тоже сокращенная.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 06 Ноябрь, 2009 16:41 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
В общем, поддерживаю.

А про "умолчания" - так в DEFINITION сейчас, например, не включаются типы и процедуры, в которых фигурируют расширения Kernel.Hook.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 06 Ноябрь, 2009 20:15 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Виктор О писал(а):
Значит, надо, прежде всего, делить пользователей на классы, ...
То есть логиниться при входе в систему?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 06 Ноябрь, 2009 20:31 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Перечитал всю тему еще раз и задался вопросом, а оно вообще надо?

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

Похоже, что такие загадки проектированием решать надо, а не имплементацией.
Но это, впрочем, сложнее, чем просто импорт ограничить.

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

Только вот не знаю, дойдут ли руки?

Ну вот как-то так…
P.S. ABI мне в помощь 8)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 09 Ноябрь, 2009 18:23 

Зарегистрирован: Среда, 30 Сентябрь, 2009 14:45
Сообщения: 147
igor писал(а):
Виктор О писал(а):
Значит, надо, прежде всего, делить пользователей на классы, ...
То есть логиниться при входе в систему?

Нет. Речь идет о том, что себе вы оставляете систему с полным доступом, а поставляете для пользователей систему с меньшими возможностями "сломать".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 09 Ноябрь, 2009 19:49 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
У меня сложилось мнение, что решать проблему защиты от преднамеренного разрушения в рамках языковых средств не стоит. Хорошо это сделать не удастся, а если успорствовать, то можно потерять многие простые и эффективные схемы работы. (Вот если мы начнём думать - а что будет, если кто-то перепишет какой-нибудь dir.. И т.п.)

Под безопасностью надо понимать раннее выявление случайных ошибок разного рода; чёткую локализацию последствий невыловленных ошибок (неразрушение внутренних структур памяти; defensive style и т.п.); + бонусно, возможность, сделать какую-то безопасную схему загрузки отдельно взятого типа потенциально "вражьих" модулей, с конкретно продуманным интерфейсом.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 09 Ноябрь, 2009 21:01 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Со всем можно согласиться, если "безопасность" и производные заменить соответственно на "надёжность". А пароли и удаление интерфейсов это одновременно внеязыковое средство и размышления на тему именно безпасности. : )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 10 Ноябрь, 2009 14:50 

Зарегистрирован: Среда, 30 Сентябрь, 2009 14:45
Сообщения: 147
Оказалось, что тема ограниченного импорта уже обсуждалась 2 года назад. Для полноты даю ссылку
http://forum.oberoncore.ru/viewtopic.php?f=2&t=489


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB