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)

Портируйте уже pledge / unveil в этот ваш лялех. Только не через BPF.

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

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

Системный вызов unveil() в OpenBSD позволяет лимитировать область видимости файловой системы до /dev/audio и ~/.local/share/mario-fucking-club, причем делается в две строчки. А pledge() позволяет запретить выполнение exec(). Тоже в две строчки. Очень сильно упрощает разрабам жизнь.

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

Не в сраку, а в слаку, т.к. мы катимся во флатпак, а к нему эту назойливую спрашивалку вот-вот прикрутят. На Патрика вся надежда, долгих лет жизни ему.

ср*ку

Жопа есть, а слова нет?

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

Не да, в офф.репе снапа именно на ЛОРе нашли майнер.

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

Речь о том, что у ядра просто гигантский attack surface.

А есть хоть одна пригодная для домашнего юзера ОС, где это не так (микроядро)? И если на то пошло - есть тот же seccomp.

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

И если на то пошло - есть тот же seccomp.

Ты его хоть раз использовал? Большинство разрабов видя его срут в штаны и убегают в панике.

kirk_johnson ★☆
()

Потому что я знаю чем занимается моя система, в отличии от виды, которая живет сама по себе.

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

Жопа есть, а слова нет?

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

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

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

Разве это не стереотип?

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

Чем тебе телеметрия мешает? Если ты пользуешься софтом от МС в принципе (пользоваться или нет — другой вопрос), то опасаться телеметрии — как минимум тупо.

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

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

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

Если образно KDE падает от лёгкого шороха, то это не имеет смысла тратить ресурсы в сферическую безопасность.

Если KDE заизолировать, чтобы падение нельзя было эксплуатировать и оно ни на что особо не влияло, то и плевать 100500 раз.

Ну и по поводу, что линукс не движется в сторону ограничения ресурсов. Самый простой пример. Изоляция ввода приложений: Windows этак с Vista, Linux только около сейчас с внедрением Wayland. Всё таки движется.

Я где-то видел про Яндекс выражение «Царь Мидас с региональными особенностями». В смысле, вместо золота всё превращает в другую материю. Вот с линуксом часто похожая штука. Wayland уже больше 10 лет пилят, ещё со времён Windows Vista, но он всё так же почти готов. Плюс, у Wayland куча других проблем.

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

А есть хоть одна пригодная для домашнего юзера ОС, где это не так (микроядро)?

Не поверишь, но macos и windows движутся в эту сторону. В той же iOS сетевой стек вынесли в юзерспейс, в будущем то же и в macos будет. В Windows многие драйвера живут в юзерспейсе ещё со времён висты.

Алсо Гугл пилит фуксию в том числе с расчётом на десктоп, судя по всему.

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

Это всё очень круто, но одного сисколла мало. Нужна нормальная инфраструктура вокруг всего этого. И вот тут линукс-сообщество не может.

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

Для начала нужен сискол. Пока сискола (или похожей обвязки на bpf) нет, инфрастуктуру негде строить.

Хорошая новость в том, что беспокоит все это только параноиков. На серверах все ок, а десктоп такой мелкий процент имеет, что никому не нужен.

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

Поставить Steam под отдельного пользователя, в sudoers разрешить твоему основному пользователю запускать именно Steam без ввода пароля, в ярлык для Стима добавляется sudo -u пользователь путь/к/скрипту/запуска

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

Далее, твой троллейбус из буханки не спасёт от local privilege escalation, коими ядро и systemd полнятся. Добавь к этому иксы, безопасность которых тоже вызывает кучу вопросов. Плюс, чрут никак не ограничивает доступ к девайсам через /dev (если его не монтировать, ничего работать не будет). Так что так себе способ.

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

На серверах все ок

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

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

запуск программ из чрута.

Я говорил про sudo

Далее, твой троллейбус из буханки не спасёт от local privilege escalation, коими ядро и systemd полнятся.

Ну на systemd Devuan есть, а ядро вроде как хорошо исправляют.

Плюс, чрут никак не ограничивает доступ к девайсам через /dev

Я не предлагаю запускать стим под рутом.

Судя по твоим коментариям ты не в теме.

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

Если бы на роутеры ставили нормальные дистрибутивы, а не прибивали товоизацией своё оригинальное поделие.

Но ломают не Linux как таковой, а не имеющие надлежащей разработки и поддержки вебдвижки.

Одним словом всё сводится к людям по ту и другую сторону вебсервиса.

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

Если KDE заизолировать, чтобы падение нельзя было эксплуатировать и оно ни на что особо не влияло, то и плевать 100500 раз.

И без этого всем плевать 🙂

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

Сорри, когда отвечал, думал о другом комментарии выше. В любое случае, всети проблемы применимы и к твоему подходу.

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

Я тебе напомню основную причину взломов: монга с 12345 и скрытый юзер до которого в этот-то раз точно никто не доберется.

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

Кстати, есть статистика на эту тему? Я про эти причины тоже слышал (и сам видел), но общую картину было бы интересно увидеть.

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

Мб на каких инфосековских конфах выкладывали? Должна же от этих клоунов польза быть.

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

Сравнивать безопасность можно только сравнимых систем. А если в одной зонд, а в другой его нет (про аппаратную часть отдельный разговор), то это просто некорректно.

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

Ну, давай сравним Windows 10, в которой есть телеметрия, и Ubuntu, в которой ВНЕЗАПНО ТОЖЕ есть телеметрия.

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

в которой ВНЕЗАПНО ТОЖЕ есть телеметрия.

Которая штатным образом полностью отключается. В отличие от win10, которая только делает вид, что отключает и то не все, а то, что dws отключает норовит включиться после обновления или даже без них и вообще без гарантии. Кроме того, кроме Ubuntu есть и другие системы.

praseodim ★★★★★
()

Как так получилось, ЛОР?

Потому что Windows она, условно, одна. И ее всё время пилят, пилят, пилят... А *nix систем, условно, бесконечное количество. И кто во что горазд... Распыление сил, так сказать.

mexx
()

Какой вопрос, такой и ответ: а кому нужна защищщённая система? Это кто даст нердам такую хрень? Представь, что пару спецов взяли в рабство и всё, «неуловимый Джо».


Правильно он пишет. На ЛОРе именно так и писали, а толку?

n1rdeks
()

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

Myau ★★★★
()

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

Потому что это не было заложено в дизайн. И вся безопасность по сей день строится на неуловимости джо. Плюс пара негибких, но дубовых, способов защиты от атак извне, которых хватает на все случаи - пользователи и группы, iptables, ssh.

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

flatkill.org

такое себе. Пиар от создателей flatpak для привлечения внимания и разжигания флеймов, ящитаю.

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

пользователи и группы, iptables, ssh

Вы пропустили антивирус Касперского :)

CryNet ★★★★★
()

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

Как-же толсто, батенька, вы вбрасываете.

Всё в линуксе с сэндбоксингом отлично! Неймспейсы и LXC контейнеры существуют уже хрен знает сколько лет. То что Flatpak - говно, совершенно не означает, что больше ничего нет. LXC, libvirt-lxc, firejail, и хрен знает чего ещё.

Я вот вообще свой велосипед для изоляции приложений написал на базе bubblewrap (на котором строится тот-же flatpak).

Зато в венде такого нет и не предвидится. Есть какие-то сторонние проприетарные поделки вроде VMware ThinApp и Sandboxie, которые вроде как каждый свои костыли используют.

А сам M$ предпочитает решать вопросы сэндбоксинга с помощью VM. И походу, нормальных неймспейсов в венде никогда не появится (особенно, сетевой неймспейс лично мне был-бы полезен)

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

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

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

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

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

Сторонними костылями, что я привёл выше. А без них приложения от юзера могут писать\читать во всё что принадлежит юзеру.

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

Ну, давай сравним Windows 10, в которой есть телеметрия, и Ubuntu, в которой ВНЕЗАПНО ТОЖЕ есть телеметрия.

А можно ещё сравнить Windows и *BSD системы. Если в плане паранойи.

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

Я вот вообще свой велосипед для изоляции приложений написал

В этом-то и проблема, что примитивы все где-то есть, но каждый делает свой троллейбус из буханки хлеба. Типа, зачем делать нормально, если можно через жопу? Зато весело и все при деле.

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

А можно ещё сравнить Windows и *BSD системы. Если в плане паранойи.

Можно. Результат тот же, что и с линуксом, потому что в этом плане они вообще ничем не отличаются. Даже юзерспейсный софт почти весь тот же.

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

Это каким? Кроме OS.

Откуда мне знать, каким софтом от MS ты пользуешься?

У меня от них помимо Windows стоит Skype. Очень многие их офисом пользуются. Куча программистов на VSCode сидят, потому что он довольно таки неплох.

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

Покажи где у FreeBSD или OpenBSD есть телеметрия?

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

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

каждый делает свой троллейбус из буханки хлеба.

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

Типа, зачем делать нормально, если можно через жопу? Зато весело и все при деле.

Дык, что именно вы предлагаете что-бы как-то изменить данную ситуацию, я так и не понял из треда ? Или вы просто поныть, в духе - «как всё плохо» ? Ведь в других ОСях всё ещё хуже - там даже этих примитивов нет.

Да и как вообще по-вашему должно быть «нормально» ? Вы точно уверены, что ваша концепция будет лучше flat-pak'а или snap'а ? И что в итоге не получится как в том комиксе про 15 стандартов ?

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.