Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Dec 07, 2021 2:47 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 62 posts ]  Go to page Previous 1 2 3 4 5 Next

Удалить 58 сис. функцию из ядра?
Да. 56%  56%  [ 29 ]
Нет. 10%  10%  [ 5 ]
Мне пофиг. 35%  35%  [ 18 ]
Total votes: 52
Author Message
PostPosted: Thu Oct 07, 2010 5:00 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Ладно. Пускай будет в другой ветке. Убедили.

_________________
ушёл...


Top
   
PostPosted: Thu Oct 07, 2010 5:38 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Nasarus wrote:
Может просто добавить функцию включения/выключения возможности прямого доступа к диску?


Ну вообще-то такая функция есть 21.11 - разрешить/запретить низкоуровневый доступ к HD.
И функция 59, как видишь, проверяет разрешён ли низкоуровневый доступ к HD.

Mario wrote:
Зачем функцию? Можно сделать компиляцию по умолчанию без этой функции, а при необходимости компилировать с функцией.

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


Top
   
PostPosted: Thu Oct 07, 2010 6:07 pm 
Asper wrote:
Mario wrote:
Зачем функцию? Можно сделать компиляцию по умолчанию без этой функции, а при необходимости компилировать с функцией.

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

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


Top
   
PostPosted: Thu Oct 07, 2010 6:20 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Mario wrote:
Ну, если драйвер, то его просто можно не ложить в основной дистрибутив. По крайней мер максимум он понадобиться во время установки. А дальше при нормальном раскладе в нем нет необходимости, а уж если пользователь сам себе злобный чебурашка и положил драйвер в рабочую программу - ну тут закон не писан, некоторым. :wink:

Не понял.

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


Top
   
PostPosted: Thu Oct 07, 2010 8:50 pm 
Asper wrote:
Ну и понятное дело, что программы, которые будут работать с драйвером, не должны выполнять вредоносных действий с его помощью.

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


Top
   
PostPosted: Fri Oct 08, 2010 2:11 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Да ещё насчет 59 функции. Можно оставить чтение, а запись сделать опциональной, через перекомпиляцию ядра.


Top
   
PostPosted: Fri Oct 08, 2010 4:16 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1600
IMHO подобная функция в ядре должна быть постоянно (независимо от опций компиляции), должна проверять флаг разрешения, флаг разрешения по умолчанию должен быть выключен, для флага разрешения должна быть отдельная системная функция, причём программы, использующие прямой доступ, не должны самостоятельно этот флаг трогать. В этом случае просто запуск программы, использующей прямой доступ, не в состоянии что-нибудь порушить. Более того, глюк программиста, опечатавшегося в номере функции в обычной программе, тоже ничего фатального не нанесёт. Но тем не менее программы работать могут, если пользователь им это явным образом разрешит в чём-нибудь типа setup.
Как вариант, чтение можно разрешать всегда или завести отдельный флаг разрешения чтения, по умолчанию включённый - порушить с помощью чтения тоже нельзя, а возможность может быть полезной для глубокого копания.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Fri Oct 08, 2010 4:41 pm 
А кто мешает программе самой установить флаг? Разделения прав в системе нет.
Возьмут и напишут деструктивный код, а нам потом доказывать что не верблюды.


Top
   
PostPosted: Fri Oct 08, 2010 4:44 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1600
Ну дык никто же не будет включать деструктивный код в дистрибутив. А за программы, скачанные на левых сайтах, ответственности не несёт никто и никогда.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Fri Oct 08, 2010 4:49 pm 
А по мне так пока нет разделения прав такой код непосредственно в образ официального дистрибутива включать не следует. В архив например положить можно, но а сам образ не нужно. Кому надо сам добавит драйвер или скомпилирует. Это уже будут его проблемы. А иначе к недостаткам Колибри добавятся заявления пострадавших. Это не прибавит нам ни пользователей, ни программистов. Надо максимально избегать таких прецедентов.


Top
   
PostPosted: Fri Oct 08, 2010 4:55 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1600
Пользователь хочет отформатировать диск под FAT32 из-под Колибри. Например, устанавливает систему на виртуальной машине - довольно типичная ситуация. Его действия? Добавлять драйвер или перекомпилировать ядро каждый раз, когда это нужно?

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Fri Oct 08, 2010 5:34 pm 
Offline
User avatar

Joined: Tue May 08, 2007 12:44 am
Posts: 360
Я согласен с Маратом. Людям рта не заткнёшь.


Top
   
PostPosted: Fri Oct 08, 2010 6:04 pm 
diamond wrote:
Пользователь хочет отформатировать диск под FAT32 из-под Колибри. Например, устанавливает систему на виртуальной машине - довольно типичная ситуация. Его действия? Добавлять драйвер или перекомпилировать ядро каждый раз, когда это нужно?

Лучше пере бдить, чем недо бдить. Кусать локти очень сложная задача.

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

А в остальном нужна реализация механизма блокировки - права это будут или еще что не важно. Важно что механизм должен быть надежным. Я давно мог добавить эту функцию (запись LBA) в 58 функцию - очень давно, но специально не стал этого делать. Благодаря этому мы имеем систему, которая теоретически может испортить раздел FAT раздел на который записывает (сбои в самой ФС или некачественное питание дискового устройства), но в MBR и другие разделы она не записывает. До сих пор мы не имели тотальных проблем с повреждениями данных на жестких дисках пользователей. Все отлажено и все работает, но внедрение такой функции, даже с текщим ключом защиты это серьезная уязвимость.

Помнится, когда я только начинал разбираться с ALT Linux, у меня произошла проблема с зависимостями пактов при переходе со старой версии ОС на новую. Система для установки одного нужного пакета предлагала снести около 200 других. Причем при продолжении меня честно предупредили, что это может быть фатальным и на третьем этапе предложили ввести один в один фразу типа "ДА Я ПОНИМАЮ, ЧТО Я ДЕЛАЮ". Я ввел и убил систему. Пришлось переустанавливать ОС с диска. Разработчики сделали все от них зависящее (пароль root, подтверждение команды по Y, подтверждение команды набором уникальной комбинации), что бы защитить систему от идиота-пользователя, но он все равно тупо настоял на своем.

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


Top
   
PostPosted: Fri Oct 08, 2010 6:14 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1600
Значит, будем и дальше жить без возможности форматирования дисков, с кучей огромных дыр в безопасности и гордым сознанием, что зато не даём пользователю выстрелить себе в ногу одной конкретной пулей. Идиотизм, ну ладно, не буду вам мешать.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Fri Oct 08, 2010 6:39 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
diamond wrote:
IMHO подобная функция в ядре должна быть постоянно (независимо от опций компиляции), должна проверять флаг разрешения, флаг разрешения по умолчанию должен быть выключен, для флага разрешения должна быть отдельная системная функция, причём программы, использующие прямой доступ, не должны самостоятельно этот флаг трогать.


21.11 ?

Скриншот:


Attachments:
File comment: MBR_Reader
MBR_Reader.PNG
MBR_Reader.PNG [ 8.17 KiB | Viewed 8516 times ]
Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 62 posts ]  Go to page Previous 1 2 3 4 5 Next

All times are UTC+03:00


Who is online

Users browsing this forum: Yandex [Bot] and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited