Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Nov 14, 2019 7:20 pm

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 сис. функцию из ядра?
Да. 55%  55%  [ 27 ]
Нет. 8%  8%  [ 4 ]
Мне пофиг. 37%  37%  [ 18 ]
Total votes: 49
Author Message
PostPosted: Fri Oct 08, 2010 6:47 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
У меня Убунта, обновляя Груб, регулярно переписывает MBR после чего отваливается WinXP. Причём Груб стоит на другом физическом диске и не понятно почему он лезет в чужой MBR. Это в системе, которую разрабатывает и тестирует куча народу при поддержке небедных корпораций. Пока нет "защиты от дурака" лучше не торопиться.


Top
   
PostPosted: Fri Oct 08, 2010 7:28 pm 
diamond wrote:
Значит, будем и дальше жить без возможности форматирования дисков, с кучей огромных дыр в безопасности и гордым сознанием, что зато не даём пользователю выстрелить себе в ногу одной конкретной пулей. Идиотизм, ну ладно, не буду вам мешать.

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

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

Ты же, как и любой другой разработчик, запросто собираешь систему сам, так чего такой протест вдруг?
Я понимаю для того чтобы осознать, что может натворить такая "брешь" надо как минимум потерять данные. Однако лучше если такого не произойдет совсем - это большая неприятность потеря данных. Я их пока возился с кодом ФС Колибри в ядре терял 2-3 раза. Да, я выкручивался потом и восстанавливал почти все данные, но я то знал что надо делать - я же ставил эксперименты. А пользователь это обычный человек - он не разбирается в тонкостях.


Top
   
PostPosted: Sat Oct 09, 2010 10:22 am 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Кстати, на реальной машине программа (тот же Format-ировщик, например) может заменить обычное ядро, тем, которое имеет прямой доступ к диску, прописать себя первой в autorun.dat перезагрузить его [ядро] с помощью api ядра и делать то, что захочет.

_________________
ушёл...


Top
   
PostPosted: Sat Oct 09, 2010 11:55 am 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Товарищи, это пиздец! Какая к чёрту безопасность... Опишу по порядку.
Есть такая сисфункция 18.9. Она позволяет перезагружать ядро без перезагрузки самого компьютера. До недавнего времени, я считал это большой фичой и не знал, какую большую опасность она представляет... Я запустил КоОС на реальном компьютере, удалил файл /sys/kernel.mnt, открыл hex-редактор, ввёл "CD19". "CD" - это опкод прерывания (int), 0x19 - номер прерывания. int 19h - это прерывание которое вызывает биос, после проведения POST (самотестирования при включении компа). После этого я сохранил "CD19" в файл "/sys/kernel.mnt". И запустил END из основного меню, выбрав при этом "Перезагрузить ядро". И неудивительно, что после этого экран погас и запустилась Кубунту (компьютер не перезагружался). Что это значит? Это значит, что любая программа может заменить kernel.mnt на бинарный файл, исходный код которого будет выглядеть так:
Code:
use16
org 0x7c00
;тут код, который может делать абсолютно всё (форматировать жесткие диски, устанавливать защищенный режим, и т.д.)

А дальше Любая Программа запускает сисфункцию 18.9 (eax=18, ebx=9, ecx=4) и всё! Вместо горячо любимого BlueScreen'а мы можем увидеть какую-нибудь херню или прощаться с гигабайтами нужной информации на наших жестаках.

_________________
ушёл...


Top
   
PostPosted: Sat Oct 09, 2010 11:58 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Для изебжания подобного и придумано разделение прав...


Top
   
PostPosted: Sat Oct 09, 2010 3:19 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Может стоит пока запретить перезапуск ядра? Организация прав доступа так быстро не делается.

_________________
ушёл...


Top
   
PostPosted: Sat Oct 09, 2010 3:26 pm 
Вообще-то проблема только быстрым перезапуском не ограничивается. Деструктивный код может перезаписать ядро и сохранить образ рамдиска, единственная вещь которая частично компенсирует это - ядро не знает откуда оно запущено. Это знает только пользователь.


Top
   
PostPosted: Sat Oct 09, 2010 3:39 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Ну просто это не так опасно, как в случае быстрого перезапуска, хотя тоже рискованно.

_________________
ушёл...


Top
   
PostPosted: Sat Oct 09, 2010 3:46 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Тогда есть предложение: всё-таки запретить перезапись или удаление kernel.mnt

_________________
ушёл...


Top
   
PostPosted: Sat Oct 09, 2010 4:03 pm 
Это тоже половинчатое решение, к тому же костыль страшный. Права надо делать.


Top
   
PostPosted: Sat Oct 09, 2010 4:13 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Ога, а пока будем делать права, какой-нибудь далпаёп напишет вирус...

_________________
ушёл...


Top
   
PostPosted: Sat Oct 09, 2010 4:19 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Пока что чтобы поймать в Колибри вирус, его нужно своими руками запихать в дистрибутив. Разумеется, установивший себе вирус - сам себе злобный буратино.


Top
   
PostPosted: Sat Oct 09, 2010 4:30 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Ну зачем пихать в дистрибутив? Функция 70.7 (запуск программы) распростаняется на все диски, а не только на/rd/1/.

_________________
ушёл...


Top
   
PostPosted: Sat Oct 09, 2010 6:39 pm 
Пока что вирус должен быть запущен самим пользователем изначально - других путей проникновения нет. Впрочем согласно опыту Виндовс именно этот путь является самым эффективным, ибо пользователи делают все бездумно.


Top
   
PostPosted: Sat Oct 09, 2010 9:36 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Mario wrote:
Вообще-то проблема только быстрым перезапуском не ограничивается. Деструктивный код может перезаписать ядро и сохранить образ рамдиска, единственная вещь которая частично компенсирует это - ядро не знает откуда оно запущено. Это знает только пользователь.

Гы-гы-гы. Перезагрузку системы пользователь наверняка заметит. А основные проблемы далеко не с этим - сейчас программа может без особых проблем поиметь систему в сколь угодно извращённой форме даже без перезагрузки системы и даже без загрузки драйвера.
Вот, например, в аттаче программа, которая без всяких перезагрузок и без всяких драйверов забивает первый сектор диска /hd0 CC'шками (внимание! проверять только на жёстких дисках, которых не жалко! например, в эмуляторах, предварительно отсоединив рабочий диск и создав временный! и не говорите потом, что я не предупреждал!). Поскольку таймауты выверять лень и слишком сильно издеваться над системой тоже лень, при физическом отсутствии ATA-диска на Primary Master может подвесить систему наглухо на несколько секунд (но это устранимая особенность реализации); при наличии устройства отрабатывает мгновенно и тут же завершается, пользователь не имеет шансов понять, что произошло.

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

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


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: No registered users and 4 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:  
Powered by phpBB® Forum Software © phpBB Limited