Удаление 58 сис. функции из ядра.

Internal structure and you change requests/suggestions

Удалить 58 сис. функцию из ядра?

Да.
29
14%
Да.
29
14%
Да.
29
14%
Да.
29
14%
Нет.
5
2%
Нет.
5
2%
Нет.
5
2%
Нет.
5
2%
Мне пофиг.
19
9%
Мне пофиг.
19
9%
Мне пофиг.
19
9%
Мне пофиг.
19
9%
 
Total votes: 212

Serge
Kernel Developer
Posts: 3952
Joined: Wed Mar 08, 2006 6:25 pm

Re: Удаление 58 сис. функции из ядра.

Post by Serge »

У меня Убунта, обновляя Груб, регулярно переписывает MBR после чего отваливается WinXP. Причём Груб стоит на другом физическом диске и не понятно почему он лезет в чужой MBR. Это в системе, которую разрабатывает и тестирует куча народу при поддержке небедных корпораций. Пока нет "защиты от дурака" лучше не торопиться.
Mario

Re: Удаление 58 сис. функции из ядра.

Post by Mario »

diamond wrote:Значит, будем и дальше жить без возможности форматирования дисков, с кучей огромных дыр в безопасности и гордым сознанием, что зато не даём пользователю выстрелить себе в ногу одной конкретной пулей. Идиотизм, ну ладно, не буду вам мешать.
Куча огромных дыр безопасности не касается уничтожения данных пользователя. Они не настолько фатальны, как эта.

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

Ты же, как и любой другой разработчик, запросто собираешь систему сам, так чего такой протест вдруг?
Я понимаю для того чтобы осознать, что может натворить такая "брешь" надо как минимум потерять данные. Однако лучше если такого не произойдет совсем - это большая неприятность потеря данных. Я их пока возился с кодом ФС Колибри в ядре терял 2-3 раза. Да, я выкручивался потом и восстанавливал почти все данные, но я то знал что надо делать - я же ставил эксперименты. А пользователь это обычный человек - он не разбирается в тонкостях.
User avatar
Nasarus
Posts: 269
Joined: Wed Jan 27, 2010 10:59 am

Re: Удаление 58 сис. функции из ядра.

Post by Nasarus »

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

Re: Удаление 58 сис. функции из ядра.

Post by Nasarus »

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

Code: Select all

use16
org 0x7c00
;тут код, который может делать абсолютно всё (форматировать жесткие диски, устанавливать защищенный режим, и т.д.)
А дальше Любая Программа запускает сисфункцию 18.9 (eax=18, ebx=9, ecx=4) и всё! Вместо горячо любимого BlueScreen'а мы можем увидеть какую-нибудь херню или прощаться с гигабайтами нужной информации на наших жестаках.
ушёл...
SoUrcerer
Posts: 2810
Joined: Mon Sep 24, 2007 11:11 am

Re: Удаление 58 сис. функции из ядра.

Post by SoUrcerer »

Для изебжания подобного и придумано разделение прав...
User avatar
Nasarus
Posts: 269
Joined: Wed Jan 27, 2010 10:59 am

Re: Удаление 58 сис. функции из ядра.

Post by Nasarus »

Может стоит пока запретить перезапуск ядра? Организация прав доступа так быстро не делается.
ушёл...
Mario

Re: Удаление 58 сис. функции из ядра.

Post by Mario »

Вообще-то проблема только быстрым перезапуском не ограничивается. Деструктивный код может перезаписать ядро и сохранить образ рамдиска, единственная вещь которая частично компенсирует это - ядро не знает откуда оно запущено. Это знает только пользователь.
User avatar
Nasarus
Posts: 269
Joined: Wed Jan 27, 2010 10:59 am

Re: Удаление 58 сис. функции из ядра.

Post by Nasarus »

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

Re: Удаление 58 сис. функции из ядра.

Post by Nasarus »

Тогда есть предложение: всё-таки запретить перезапись или удаление kernel.mnt
ушёл...
Mario

Re: Удаление 58 сис. функции из ядра.

Post by Mario »

Это тоже половинчатое решение, к тому же костыль страшный. Права надо делать.
User avatar
Nasarus
Posts: 269
Joined: Wed Jan 27, 2010 10:59 am

Re: Удаление 58 сис. функции из ядра.

Post by Nasarus »

Ога, а пока будем делать права, какой-нибудь далпаёп напишет вирус...
ушёл...
SoUrcerer
Posts: 2810
Joined: Mon Sep 24, 2007 11:11 am

Re: Удаление 58 сис. функции из ядра.

Post by SoUrcerer »

Пока что чтобы поймать в Колибри вирус, его нужно своими руками запихать в дистрибутив. Разумеется, установивший себе вирус - сам себе злобный буратино.
User avatar
Nasarus
Posts: 269
Joined: Wed Jan 27, 2010 10:59 am

Re: Удаление 58 сис. функции из ядра.

Post by Nasarus »

Ну зачем пихать в дистрибутив? Функция 70.7 (запуск программы) распростаняется на все диски, а не только на/rd/1/.
ушёл...
Mario

Re: Удаление 58 сис. функции из ядра.

Post by Mario »

Пока что вирус должен быть запущен самим пользователем изначально - других путей проникновения нет. Впрочем согласно опыту Виндовс именно этот путь является самым эффективным, ибо пользователи делают все бездумно.
User avatar
diamond
Kernel Developer
Posts: 1600
Joined: Mon Nov 28, 2005 8:00 pm

Re: Удаление 58 сис. функции из ядра.

Post by diamond »

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

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

Who is online

Users browsing this forum: No registered users and 0 guests