Page 2 of 2
Re: FAT FORMAT.kex
Posted: Thu Apr 01, 2010 8:34 pm
by diamond
Re: FAT FORMAT.kex
Posted: Fri Apr 02, 2010 12:30 am
by Nasarus
Спасибо, почитаем

Re: FAT FORMAT.kex
Posted: Fri Apr 02, 2010 8:20 am
by Nasarus
А как вам такой вариант?:
1. Функция чтения/записи посекторно на НЖМД. В ядре.
2. Функция в ядре, разрешающая/запрещающая низкоуровневый доступ к диску. Если отключена, никто кроме Kernel'a не может писать на диск, только через ФС.
3. Программа для ручного включения/выключения защиты от low level. Можно будет вывести в трей ее значок.
4. Пункт 2 также при вызове проверяет хеш-код файла из которого был создан вызывающий поток . Если хэш не соответствует хэшу пункта 3, то низкоуровневый доступ к диску запрещается. Так как пункт 3 часто обновлять не придется, то его хэш будет в ядре. Т. е. никакая другая программа, кроме как п. 3 защиту не отключит без ведома пользователя. Минус один - код-зловред может переписать хэш в ядре под свой. Но этот минус потом можно будет убрать.
5. Ну ,собственно, конечная программа, желающая напрямую работать с диском, тот же форматёр, например. Ей придется попросить пользователя включить low-level доступ.
Как-то так, но это только набросок, первое, что пришло в голову...
Re: FAT FORMAT.kex
Posted: Fri Apr 02, 2010 9:43 am
by mike.dld
У нас не многопользовательская среда. Какой смысл в заморочках с разрешением/запрещением, если в конце концов любая программа может получить доступ, не спрашивая об этом пользователя?
Re: FAT FORMAT.kex
Posted: Fri Apr 02, 2010 10:34 am
by Nasarus
mike.dld wrote:У нас не многопользовательская среда. Какой смысл в заморочках с разрешением/запрещением, если в конце концов любая программа может получить доступ, не спрашивая об этом пользователя?
Читайте, пожалуйста, внимательно. Разрешить доступ к диску сможет только ОДНА специально предназначенная для этого программа, КОНТРОЛИРУЕМАЯ ПОЛЬЗОВАТЕЛЕМ, входящая в дистрибутив как системная, если какая-нибудь другая программа захочет доступа, она не сможет, так как хэш ее будет другим.
Re: FAT FORMAT.kex
Posted: Fri Apr 02, 2010 12:27 pm
by SII
А что помешает другой программе вызвать функцию, разрешающую чтение-запись на секторном уровне? Пока у ОС нет средств контроля прав доступа, она никак не сможет запретить программам вызывать любые функции.
Re: FAT FORMAT.kex
Posted: Fri Apr 02, 2010 1:23 pm
by Nasarus
Обновленный вариант:
1. Функция чтения/записи посекторно на НЖМД. В ядре. При вызове проверяет наличие доступа к секторам диска.
2. Функция в ядре, разрешающая/запрещающая низкоуровневый доступ к диску. Если отключена, никто кроме Kernel'a не может писать на диск, только через ФС.
3. Программа для ручного включения/выключения защиты от low level. Можно будет вывести в трей ее значок.
4. Пункт 2 также при вызове проверяет хеш-код файла из которого был создан вызывающий поток . Если хэш не соответствует хэшу пункта 3, то низкоуровневый доступ к диску запрещается. Так как пункт 3 часто обновлять не придется, то его хэш будет в ядре. Т. е. никакая другая программа, кроме как п. 3 защиту не отключит без ведома пользователя. Минус один - код-зловред может переписать хэш в ядре под свой. Но этот минус потом можно будет убрать.
5. Ну ,собственно, конечная программа, желающая напрямую работать с диском, тот же форматёр, например. Ей придется попросить пользователя включить low-level доступ.
Re: FAT FORMAT.kex
Posted: Fri Apr 02, 2010 2:02 pm
by SII
Куча наворотов, прилично усложняющих ядро. Какой смысл их делать? Тогда уж лучше ввести нормальную систему контроля прав доступа. Работает программа от имени администратора -- пожалуйста, твори, что хочешь. Нет прав администратора -- иди куда подальше от потенциально опасных функций.
Re: FAT FORMAT.kex
Posted: Fri Apr 02, 2010 2:20 pm
by Nasarus
SII wrote:Куча наворотов, прилично усложняющих ядро. Какой смысл их делать?
Ну все это можно сделать в виде *.inc. 2 функции усложнят?
SII wrote:
Тогда уж лучше ввести нормальную систему контроля прав доступа. Работает программа от имени администратора -- пожалуйста, твори, что хочешь. Нет прав администратора -- иди куда подальше от потенциально опасных функций.
А вот до этого КолибриОС очень далеко...
Re: FAT FORMAT.kex
Posted: Wed Apr 07, 2010 7:48 am
by staper
Как вариант, можно обойтись без хеша: при первой попытке низкоуровневой записи на диск через функцию 70.Х ядро выдаёт запрос на подверждение (пример: "программа X (путь /*d/*/*) пытается осуществить запись на диск /*d/*; Разрешить/ Запретить / Разрешить для всех /Запретить для всех. " И бо'льшая ответственность перекладывается на плечи мозговитого пользователя, а не программиста.
Re: FAT FORMAT.kex
Posted: Wed Apr 07, 2010 8:25 am
by Nasarus
staper wrote:Как вариант, можно обойтись без хеша: при первой попытке низкоуровневой записи на диск через функцию 70.Х ядро выдаёт запрос на подверждение (пример: "программа X (путь /*d/*/*) пытается осуществить запись на диск /*d/*; Разрешить/ Запретить / Разрешить для всех /Запретить для всех. " И бо'льшая ответственность перекладывается на плечи мозговитого пользователя, а не программиста.
Спасибо,
staper, я то же пришел к такому решению, просто думал, что тема исдохла, поэтому не стал писать
