Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб июл 22, 2017 9:30 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 24 сообщения ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 2:01 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1596
Нет. Займёшься?

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 3:02 pm 
Не в сети

Зарегистрирован: Вт фев 26, 2013 1:00 pm
Сообщения: 19
CleverMouse писал(а):
Нет. Займёшься?

Я и не прочь. Первую уязвимость я уже исправлял после того, как её обнаружил (года полтора назад). Решение было простым: каждый раз при записи файла на ram-диск ядро проверяло не установлен ли флаг защиты файла ядра, которая по умолчанию была включена и отключить её можно было в синем загрузочном меню системы. Если флаг был сброшен ядро продолжало запись обычным образом, в противном же случае ядро проверяло имя файла в который программа хотела записать и если оно соответствовало kernel.mnt, то ядро ничего не писало и возвращало ошибку фс ОТКАЗ В ДОСТУПЕ (код не помню). Таким образом защита работала почти безупречно и её можно было всегда отключить, если пользователю нужно было, например, перезаписать файл ядра. Эти изменения я не стал вносить в транк, так как посчитал свою реализацию костылем.


Вернуться к началу
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 3:17 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1596
Что, если программа пишет не в файл kernel.mnt, а в файл demos/../kernel.mnt?
Что, если программа создаёт два потока, в одном потоке вызывает функцию записи, передавая имя lernel.mnt, в другом потоке параллельно модифицирует первую букву на k? Если проделать такое в цикле достаточно много раз, то на какой-то итерации проверка увидит старое имя lernel.mnt и пропустит дальше, а процесс записи увидит уже новое имя kernel.mnt и запишет туда.
Что, если программа не гордая и вполне удовольствуется записью в какой-то из драйверов, подгружаемых при загрузке системы?
Такие вопросы решаются системой разделения прав. Для Колибри пока никто такой не написал.

Логин/пароль на svn напомнить?

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 4:42 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Многие проблемы решились бы разделением прав. Для этого нужно решить бюрократические вопросы: как хранить информацию о пользователях, и какие именно права возможны и необходимы. Верно?


Вернуться к началу
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 5:28 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Все почему-то скромно умалчивают про самый главный вопрос - где найти достаточно упоротого программиста готового взяться за этот адский рефакторинг?

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 5:32 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Прежде чем фейсконтроль вводить надо дыры в заборе заделать.


Вернуться к началу
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 5:40 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1596
Прежде чем дыры в заборе заделывать, нужно этот забор построить.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 5:41 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4092
Обожаю, когда пишут афоризмами :D

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Уязвимости ядра
СообщениеДобавлено: Ср фев 27, 2013 8:24 pm 
Не в сети

Зарегистрирован: Вт фев 26, 2013 1:00 pm
Сообщения: 19
CleverMouse писал(а):
Что, если программа пишет не в файл kernel.mnt, а в файл demos/../kernel.mnt?
Что, если программа создаёт два потока, в одном потоке вызывает функцию записи, передавая имя lernel.mnt, в другом потоке параллельно модифицирует первую букву на k? Если проделать такое в цикле достаточно много раз, то на какой-то итерации проверка увидит старое имя lernel.mnt и пропустит дальше, а процесс записи увидит уже новое имя kernel.mnt и запишет туда.
Что, если программа не гордая и вполне удовольствуется записью в какой-то из драйверов, подгружаемых при загрузке системы?
Такие вопросы решаются системой разделения прав. Для Колибри пока никто такой не написал.

Логин/пароль на svn напомнить?

К сожалению исходники этой фигни умерли (как и все мои проекты/исходники и файлы), в тот момент когда меня долгое время не было дома. Так что если делать, то нужно будет писать всё с нуля. Вторая проблема: у меня сейчас нет под рукой ПК, но как только эта проблема исчезнет, то я буду готов начать работу.
Ни логина, ни пароля старых мне не нужно, спасибо, ибо Nasarus больше не существует, а вот от нового аккаунта на свн я бы не стал отказываться, но опять же я сейчас им воспользоваться не смогу.


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

Часовой пояс: UTC+03:00


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

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


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB