LINUX.ORG.RU
ФорумTalks

Безопасность в Linux

 , ,


0

2

Привет, ЛОР!

В среде линуксоидов принято считать, что Линукс гораздо безопаснее других операционных систем, в частности Windows, потому что... А почему, собственно?

На эту мысль меня натолкнул тред[1] с участием Daniel Micay — бывшего разработчика CopperheadOS, ныне пилящего GrapheneOS.

В частности, упоминаются такие проблемы, как гигантский attack surface по причине монолитного ядра и, особенно, systemd; отсутствие какого-либо сэндбоксинга приложений, причём попытки это исправить с треском проваливаются (см. Flatpak [2]); повальный культ Настоящих Языков Программирования Без GC, что часто ведёт к куче дыр; отсутствие exploit mitigation. В итоге выходит, что весь современный линуксовый стек — один гигантский ночной кошмар в плане безопасности. Единственный сравнительно адекватный дистрибутив — это QubesOS[3], но с ним куча проблем из-за использования Xen.

Как так получилось, ЛОР? Почему нельзя было за последние 20 лет сделать Линукс нормальной безопасной ОС?

P.S. всё выше написанное относится во многом к BSD. Фанаты Тео могут быть спокойны.

[1]: https://www.reddit.com/r/GrapheneOS/comments/bddq5u/os_security_ios_vs_graphe...

[2]: http://flatkill.org/

[3]: https://www.qubes-os.org/

★★★★★

Последнее исправление: hateyoufeel (всего исправлений: 1)

Ответ на: комментарий от DawnCaster

Вам я его не предлагаю, да и кроме NIH синдрома у меня цели несколько отличались от остальных контейнеров. А именно - получить на рабочей машине на которой у меня нет рут-доступа (зато есть bubblewrap) - подобие полноценной ОС, где я могу сам без гемора установить себе что захочу и развернуть себе нужную мне среду для разработки.

Ты не поверишь, но для таких случаев есть nix.

Или вы просто поныть, в духе - «как всё плохо» ?

Ты очень догадливый :)

Ведь в других ОСях всё ещё хуже - там даже этих примитивов нет.

Есть. И даже не такие.

Да и как вообще по-вашему должно быть «нормально» ?

Отличный пример, как можно сделать нормально, это современные мобильные ОС. В том же Android каждое приложение изолировано и не имеет доступа за пределы своей маленькой песочницы без соответствующего разрешения от юзера.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от Riniko

Толсто как-то.

Без смазки не входит, да?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от Riniko

Они же жрут ресурсы как не в себя.

Какие ресурсы? Мой телефон на Android живёт от батарейки дольше, чем когда-то Nokia n900, на которой был любимый местными экспертами Настоящий Линукс.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Тут стоило бы уточнить о версии OS, мощности аккумулятора, выполняемых задачах. Потом проводить тесты. А это вряд ли будет кто-то делать. А без этого просто пустая и не интересная полемика.

Riniko ★★
()
Ответ на: комментарий от hateyoufeel

Ты не поверишь, но для таких случаев есть nix.

Ещё раз - у меня нет возможности (ну то есть пока я там работал - не было) выбрать что мне ставить. И на машине из всех доступных для меня средств для контейнеризации был только bubblewrap. И мне нужно было было пару песочниц для тестов: на 8 и 9 дебиане, старой убунте, цент-оси, сузе, и много чего ещё.

Не уверен что, во-первых, nix такое умеет, а во вторых - доступа к нему у меня не было. РУТА не было тоже. Я в свои песочницы разворачиваю пакеты прямо из под обычного пользователя, используя fakeroot. Debian и Ubuntu - переносят такое практически без допиливаний (в настройки apt надо пару строчек внести).

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

Ну дык - это nix 2.0. февраль 2018 года. тогда его ещё не было. К тому-же его всё-равно надо сначало поставить в систему. Чего админы делать не стали-бы. Я их еле еле упросил поставить голый bubblewrap.

Ну и ещё раз - Nix, как я понимаю, это ведь свой собственный манагер пакетов, со своими пакетами и либами, и опционально - целая ОС на его основе. Или я могу взять Nix - и развернуть через него какой-нибудь debian со своим софтом и пакетами ?

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 3)
Ответ на: комментарий от Riniko

Тут стоило бы уточнить о версии OS, мощности аккумулятора, выполняемых задачах. Потом проводить тесты. А это вряд ли будет кто-то делать. А без этого просто пустая и не интересная полемика.

Ну уточняй, что сидишь-то? Ты же сказал, что Android жрёт какие-то там ресурсы. Алсо, я не совсем понимаю, как связано потребление ресурсов и модель безопасности ОС. Объяснишь?

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Отличный пример, как можно сделать нормально, это современные мобильные ОС.

Лол.

legolegs ★★★★★
()
Ответ на: комментарий от hateyoufeel

Ну вот поставил я игрушку из стима. Как мне в неё поиграть и при этом быть уверенным, что она не сольёт налево пароли, которые в браузере сохранены?

Через firejail запускать. Или даже просто отдельного юзера завести в системе, которому закрыть доступ на чтение из основного home

praseodim ★★★★★
()
Ответ на: комментарий от intelfx

а как это сейчас решается в оффтопике и макоси? Там приложения, запущенные от юзера, не имеют права свободно читать/писать в документы юзера?

Там сейчас так. Есть список возможностей:

https://docs.microsoft.com/ru-ru/windows/uwp/packaging/app-capability-declara...

Когда создаёшь приложение, выбираешь в манифесте какие возможности тебе нужны.

При запуске приложения, оно спрашивает у пользователя разрешает ли он приложению пользоваться этими возможностями.

Если не запрашивать разрешения в манифесте, то при вызове Windows API функций, соотвествующих возможностей, приложение просто упадёт.

Вот как выглядит запрос для простого приложения, которое запрашивает GPS данные для показа погоды(через api сайта https://www.apixu.com/)

https://imgur.com/a/9ffeYAO

То есть да приложение не сможет ничего читать/писать без разрешения пользователя, так же как не сможет ничего удалённо отправить, если не давать приложению разрешения.

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 2)
Ответ на: комментарий от mrdeath

нет. васян заявляет, что поделия поцтеринга и всякие хипстерские песочницы - говно (что и так было очевидно). но они внезапно к Linux не имеют никакого отношения.

Iron_Bug ★★★★★
()
Ответ на: комментарий от hateyoufeel

у меня вот ничего не попахивает. наверное, не надо срать в конфигах ядра и тащить туда всякое ненужно.

Iron_Bug ★★★★★
()
Ответ на: комментарий от hateyoufeel

зачем? ядро прекрасно работает. меня всё устраивает. и да, программисты на C нормально всё пишут. в отличие от неосиляторов, которые тут на ЛОРе плачутся, что не могут распарсить пару строк. но таких вообще к системам подпускать нельзя на километр.

Iron_Bug ★★★★★
()

с участием Daniel Micay — бывшего разработчика CopperheadOS, ныне пилящего GrapheneOS

а какое у него образование, опыт, почему к его мнению надо прислушиваться

Harald ★★★★★
()
Ответ на: комментарий от Iron_Bug

предлагаемый васяном cэндбоксинг приложений через виртуализацию всего и вся — это подход еще более дебильный, чем самое дебильное решение в systemd. Вместо одной системы, которую как-то можно мониторить, ты получаешь 100500 систем, которые нужно мониторить отдельно. Замечательно да. Давайте облепимся интегрити мониторами в каждом чруте и заодно трипваре прикупим для десктопа.

mrdeath ★★★★★
()
Ответ на: комментарий от hateyoufeel

ddos локальный, privilege escalation мифический без poc'а да еще в «nested virtualization case» :) ради б-га.

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

cэндбоксинг приложений через виртуализацию всего и вся — это подход еще более дебильный

Это не Васян предлагает, это Qubes так работает. Пока все кипятком ссут. С другой стороны, в линуксе иначе никак не сделать.

Вместо одной системы, которую как-то можно мониторить, ты получаешь 100500 систем, которые нужно мониторить отдельно.

Доки совсем не читал, да?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

это Qubes так работает. Пока все кипятком ссут.

По кубернетс тоже все кипятком ссут, но это не делает его хорошим продуктом.

Доки совсем не читал, да?

чукча же писатель :)) В чем там их революционный подход?

С другой стороны, в линуксе иначе никак не сделать

хз, еще до моего прихода в линукс много софта умело чрут делать. Теперь этого людям мало «потому-что мы можем и вообще виртуализация это модно стильно и молодежно».

mrdeath ★★★★★
()
Ответ на: комментарий от mrdeath

По кубернетс тоже все кипятком ссут, но это не делает его хорошим продуктом.

Это не делает его плохим. Qubes рекомендуют ведущие параноики мира, например Шнайер и Бернштайн. Им я верю чуть больше, чем mrdeath с ЛОРа, который ещё в дедовские времена использовал chroot.

чукча же писатель :)) В чем там их революционный подход?

Революционного подхода нет. Просто чуваки задрочились и сделали сэндбоксинг через виртуализацию юзабельным.

Теперь этого людям мало «потому-что мы можем и вообще виртуализация это модно стильно и молодежно».

Этого мало, потому что чрут не спасает от дыр в ведре. А лялексовое ведро, как известно, дыряво. Systemd делает картину ещё хуже.

Алсо, расскажи мне, пожалуйста, как чрут запретит браузеру снимать видео с камеры или звук с микрофона?

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

вопрос в том, в каких модулях. я же говорю: не надо делать помойку из ядра и втаскивать туда что попало. а белки-истерички на ЛОРе - обычное дело. впрочем, не нравится - иди и пиши свою систему. чего ты тут-то плачешь?

Iron_Bug ★★★★★
()
Ответ на: комментарий от mrdeath

я и не спорю. этот подход порождён симбиозом криворуких говнокодеров и криворуких говноадминов. ну не может поколение хипстеров в код. в ДНК у них чего-то не хватает.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Алсо, расскажи мне, пожалуйста, как чрут запретит браузеру снимать видео с камеры или звук с микрофона?

selinux и apparmor жеж. Во-вторых, моей паранойе хватает и того, что браузер мне выводит запрос на захват аудио и видео сорсов. На сегодняший день меня больше беспокоит безопасность телефона, чем моего ноутбука. И навязчивое желание производителей всунуть мне в квартиру камеру и микрофон с 24х7 подключением.

Остальное комментировать не вижу смысла. Мнения параноиков, особенно мистера Бернштейна, меня вообще не полнует. Он всегда был больным на голову.

mrdeath ★★★★★
()
Ответ на: комментарий от Iron_Bug

я же говорю: не надо делать помойку из ядра и втаскивать туда что попало

Ты предлагаешь переделать линукс в микроядро или что?

не нравится - иди и пиши свою систему. чего ты тут-то плачешь?

Зачем, если есть Windows? Хотя я буду рад, если Fuchsia от гугла станет чем-то вменяемым.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

нет. просто не втаскивать туда ненужный мусор. в ядре много рудиментов, которые там остались с непонятных времён. и главное - не тащить в линь бинарные дрова и поддержку всяких там проприетарных виртуалок.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

просто не втаскивать туда ненужный мусор

Что из того, что сейчас есть в ядре, является ненужным мусором по-твоему?

маздай - говно, причём говно мамонта.

Ха-ха! Нет.

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

Интересная идея. Но тоже нет.

hateyoufeel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.