Мэттью Гаррет продемонстрировал (http://mjg59.dreamwidth.org/42320.html) наличие в Ubuntu Snap (https://www.opennet.me/opennews/art.shtml?num=44237) проблем, сводящих на нет основные достоинства технологии, связанные с изоляцией приложений от остальной системы. Мэттью удалось создать snap-пакет (https://github.com/mjg59/xevilteddy), который при установке в полностью обновлённом окружении Ubuntu 16.04 LTS позволяет перехватить ввод других X11-программ, запущенных в основной системе или других snap-окружениях.Кроме того, вредоносное snap-приложение имеет возможность осуществить подстановку своего ввода и выполнить действия вне изолированного окружения, например, выдав горячую клавишу открытия терминала и передав в него любые команды, такие как вызов утилиты curl для отправки ssh-ключей пользователя на внешний сервер.
Следует отметить, что проблема не специфична для системы Snap и проявляется в любых других изолированных окружениях, обращающихся к внешнему X-серверу. Именно поэтому в системах изоляции не открывается доступ к X11, а используется отдельная прослойка Xnest. Например, по этой причине система изоляции настольных приложений xdg-app обязательно требует использования Wayland для своей работы. В Qubes OS для обхода проблемы в каждой виртуальной машине используется отдельный X-сервер, не пересекающихся с X-серверами других виртуальных машин.
Из-за особенностей протокола X11 любое приложение может получить доступ ко всем событиям ввода и осуществить подстановку фиктивных нажатий клавиш, что позволяет без выхода из изолированного окружения передать любые клавиатурные комбинации в активные окна других приложений. При работе snap-пакетов в окружениях Wayland и Mir проблема отсутствует.
URL: http://mjg59.dreamwidth.org/42320.html
Новость: http://www.opennet.me/opennews/art.shtml?num=44293
Ждем комментариев от хейтеров вайланда, мира и др. о достоинствах и преимуществах иксов на много веков вперед.
Иксы пригодны к использованию с момента появления и по сей день. Вэйлэнды и прочие миры до сих пор не вылезли из стадии альфы. Не исключено, что и правда "на много веков вперёд".
Что до уязвимости - так иксов можно и несколько поднять. А что разрабы snap'а документацию читать не любят - кто им доктор-то?
Безопасность у иксов - на уровне MSDOS. Ну не будешь же ты запускать иксы для каждой программы.
>Ну не будешь же ты запускать иксы для каждой программы.Для каждой — лишнее. А запускать менее доверенный, но нужный софт под отдельным пользователем и иксами — почему нет?
>Безопасность у иксов - на уровне MSDOS.
А у кого она выше-то? Посчитаем количество кейлогеров для той же винды, к примеру? Там-то никаких иксов, разве что с каким-нибудь цигвином поставить.
Да, у венды с этим лучше. Начиная с висты там сделали гуй изолейшен.
Про количество кейлогеров некорректное сравнение.
Ибо популярность и зачастую пользователи сами ставят всякую ерунду, давая ей админские права - принцип 'скачать бесплатно троян' работает хорошо на всех популярных не ограниченных платформах.
Ты не шаришь в вопросе! В винде (7 и 8 тоже) апи функция GetKeyState по таймеру каждые 10мс и весь ввод, включая админский твой. Для запуска проги НЕ нужны права админа.
И хук не надо вешать. Загрузка проца 0%.Инфа 146%.
Пфф в винде любой яваскрипт даблкликнутый пользователем может реестр править без всяких запросов.. И это фича..
Ага только перед этим смачными такими красными буквищами выведет предупреждение что это не доверенный скрипт и это опасно, ну а если пользователь продолжит то он ̶и̶д̶и̶о̶т сам виноват.
> А у кого она выше-то?У остальных частей Linux. А равняться на винду - такое ламерство что даже разработчики графики этим заниматься в принципе не собираются. Спустят иксы плавненько, на этом все и закончится. Ну ты конечно сам можешь их майнтайнить, если тебя не порвет от взгляда на старинный код который уже десятилетие пытаются хоть немного привести в чувство.
> А запускать менее доверенный, но нужный софт под отдельным пользователем и иксами — почему нет?а вот представьте: у вас три икс-сервера, в одном ff, во втором skype, в третьем либре-офис. удобно работать? а клипборд через /tmp делать будете? а как в иксах с ff понять, что в скайп пришло новое сообщение?
>Иксы пригодны к использованию с момента появления и по сей деньСбегай в вики и узнай почему они называются X*11*, а также про расширения, котрые не вписываются в идеологию иксов, например dri.
> почему они называются X*11*ЕМНП, там за несколько лет наклепали версию 11. Года за 2-3 кажется... Вы не забывайте, что это протокол. "Давайте добавим параметр X в запрос Y". И все, у вас новая версия протокла N+1, несовместимая с N предыдущими версиями... пусть даже эти предыдущие и не попали в пролакшн.
У Wayland отсутствие нормального подхода к проектированию растянет проект еще лет на 5-10, да еще и несовместимостей между DE/тулкитами наплодит.
Этот ваш snap еще аукнется. Поэтому вайланд и мир в этом контексте ни разу не выстрелил.
На самом деле всем просто было похер на это, потому что если вы пускаете код под одним и тем же uid, существует еще вагон способов перехватить клавиатуру и в Вейленде тоже.
Если вы что-то запускаете вне изоляции - значит вы этому коду доверяете (или вы жутко наивны).Да, это снимает один из векторов атаки, но кроме этого для "полной" защиты надо еще все приложения друг от друга анально огородить пользователями/контейнером/selinux/вашвариант и при этом обычный пользователь получает здоровенную такую кучу геморроя. Собственно все это присутствует в Qubes OS, причем прекрасно работает и с X11.
В то же время вейленду с такой "защитой" тоже как-то нужно скриншоты снимать, текст из окон читать для слепых и прочие радости - и вот они уже городят механизм, который позволит избранным приложениям грабить корованы^Wэкраны... и по сути получается примерно тоже самое.
Оно либо затрахает моск пользователем как UAC в винде, либо все просто отключат эту херь.
>>вы этому коду доверяете или вы жутко наивны.Синонимы.
Когда уже во всех распространённых системах возьмут за правило "доверяй, но изолируй"?
Примерно тогда же, когда во всех автомобилях между всеми пассажирами и водителем появятся бронированные перегородки. Не, ну а что... вдруг к вам какой урод с ножом или пистолетом сядет в машину?
Хм, а сколько было криков о том что Х11 хорош сам по себе и не надо его переписывать.
Переписывать - не надо. Надо развивать и адаптировать под современные реалии.Много вас таких пиoнеров с шашкой, переписыватели грёбaные. Прошивку кардиостимулятора себе переписывай.
Уважаемый. Вам надо срочно в строители.
Будете в Этой Стране пятиэтажные хрущовки переделывать в десятиэтажки - под современные реалии.
И без него дураков хватает.
Хрущёвка это не программа
Строительство хрущевок было программой, да еще какой . Туда, после войны, переселялись люди из бараков и землянок. Другое дело, что через некоторое время людей надо было переселять уже из хрущевок в более комфортное жилье. А вот эта программа уже не была выполнена.
И к чему это?
К тому что X.org сейчас эта та же Хрущеба, в которой, десктопный линукс родился, в ней же и помрет. Главное трещины на стенах замазывать и нормально.
> Хрущёвка это не программаЕсть кое-что общее: и то и другое проектировалось во времена Хрущева, под тогдашние запросы и реалии. Так что никакого ютуба и совмещенный санузел.
В Турции примерно так и делают. Все, не особо старые дома(по мерка руссии), сносят и на их месте строят новенькие, продуманные. А рожденные ползать - летать не могут.
> Уважаемый. Вам надо срочно в строители.
> Будете в Этой Стране пятиэтажные хрущовки переделывать в десятиэтажки - под современные
> реалии.Десятиэтажка - переделанная пятиэтажка...
Конечно, ряд элементов совершенствуется... И материалов. Во всяком случае должен.
И однако они в конечном счёте так сказать высоко совместимы и похожи >:-)
> Переписывать - не надо. Надо развивать и адаптировать под современные реалии.Установите на моего ишака автоматическую коробку передач и парктроник.
Под современные реалии.
>> Переписывать - не надо. Надо развивать и адаптировать под современные реалии.
> Установите на моего ишака автоматическую коробку передач и парктроник.
> Под современные реалии.Твой ишак это не программа.
Тогда перепрограммируйте его на следование правилам дорожного движения. Теслу же можно перепрограммировать, чем мой полудохлый ишак хуже? И Gentoo на него поставьте.
> Тогда перепрограммируйте его на следование правилам дорожного движения. Теслу же можно
> перепрограммировать, чем мой полудохлый ишак хуже? И Gentoo на него поставьте.На самом деле, это более реально чем над хрущевкой надстроить еще 5 этажей.
Какой-то кулибин даже сделал и приперся на выставку...
И правильно. Не надо переписывать. Как иначе будет работать xneur или программы для автоматизации и управления окнами? Надо запереть программу - используй вложенные иксы, xnest уже черт знает сколько времени в составе иксов поставляется.
> И правильно. Не надо переписывать. Как иначе будет работать xneur или программы
> для автоматизации и управления окнами? Надо запереть программу - используй вложенные
> иксы, xnest уже черт знает сколько времени в составе иксов поставляется.Два чаю. Если уж виртуалки всюду поднимают, то почему бы не запустить отдельный xnest?
А разве это не проблемы самой архитектуры X Window System? Этой фундаментальный дыре уже сто лет в обед.
Именно так.
> А разве это не проблемы самой архитектуры X Window System? Этой фундаментальный
> дыре уже сто лет в обед.Не преувеличивайте! Всего лишь чуть больше 20 )
https://web.archive.org/web/20010612075533/http://www.acm.vt...
> I wrote this program in 1995 to show that allowing any foreign connection to an X Windows server is insecure.http://www.deter.com/unix/software/xwin_sec.txt
> Date: 31 Aug 1995 01:52:14 -0400
> clients can still use XQueryKeymap() to determine the state of the keyboard.
> A program can poll the keyboard and find out what is being typed
> even in 'secure' mode or xterm or the xdm login window.
> XChangeKeyboardMapping() can be used to trick the X system and
> clients into having anything as keyboard input
>> even in 'secure' modeДаже есть заготовки по исправлению этой проблемы.
Каждый раз при виде софта наподобие иксов, мне вспоминаются слова Раскина о том, что каждое изменение, каждый костыль в программе - это рубец и каждые 10-20 лет программы нужно полностью переписывать, иначе под грудой рубцовой ткани они уже не могут нормально работать.
Не только и не столько.
Известная особенность, скорее. Возможно, что проблемная.
Но что касается snap — просто его взялись ваять люди, которые знали о системе, для которой пишут, слишком мало для столь масштабных проектов. И, подозреваю, знать не хотели. Пиар и маркетинг впереди программирования и тестирования. Закономерно сели этом в лужу.
Snap это не про безопасность, а про зависимости и ничего более.
Безопасность там в смысле взаимовлияния приложений друг на друга
при установке - вам не влепят несовместимую версию библиотеки x,
что сломает другие.
Если вы поставите в snap программу, которая делает rm -rf, то
ничето не помешает её грохнуть все ваши данные.
Рассказывайте, ага.>https://insights.ubuntu.com/2016/04/13/snaps-for-classic-ubuntu/
>Adding snaps for secure, transactional packages in Ubuntu 16.04 LTS
>secure
>https://plus.google.com/u/0/+MarkShuttleworthCanonical/posts...
>Very much looking forward to faster and more secure app packaging with snaps on 16.04!
>more secureВангую: через пару дней выяснится, что и с зависимостями там проблемы.
Именно про контейнеры, безопасность и разграничение прав. Ибо никто не мешает сейчас сделать деб/рпм пакет со всеми нужными либами, устанавливающий софт в opt без всякого снэп.
> Ибо никто не мешает сейчас сделать деб/рпм пакет со всеми нужными либами, устанавливающий софт в opt без всякого снэп.Дебиан принципиально не принимает такие пакеты в репозитарии. На эту тему с ними даже Линус ругался.
>> Ибо никто не мешает сейчас сделать деб/рпм пакет со всеми нужными либами, устанавливающий софт в opt без всякого снэп.
> Дебиан принципиально не принимает такие пакеты в репозитарии. На эту тему с
> ними даже Линус ругался.Сделать деб-пакет и поместить его в перы дебиана - разные вещи
А идиотам, которые ставят невесть что невесть откуда надо отъедать голову.
> А идиотам, которые ставят невесть что невесть откуда надо отъедать голову.Запахло администрированием локалхоста/типовых решений.
Быть может, но это религиозные факторы. Тот же автор deadbeef распространяет плеер в таком виде, кажется.
> Быть может, но это религиозные факторы. Тот же автор deadbeef распространяет плеер
> в таком виде, кажется.Которого регулярно хают на опеннете за то, что отверг Великую Честь и не захотел подстраиваться под дебианщиков?
Нет блин, дистрибутив с тыщщщами пакетов должен подстраиваться под одного неадеквата.
а вы можете без оскорблений жить? или это стиль GPL-ков - хаять все что не понимают ?
Это не оскорбление, а констатация факта.
> Которого регулярно хают на опеннете за то, что отверг Великую Честь и
> не захотел подстраиваться под дебианщиков?Автор дедбифа - нечто среднее между хиппи, панком и толкиенистом из анекдота: пишет софт по большой укурке, игнорируя все мыслимые практики, клав клаву на стабилизацию и повторное использование кода. Поэтому лучше держаться подальше. Зашибет. Не потому что автор злой, а потому что он машет круто, но в процессе махача видит только себя. Остальное - это то что мочить надо. Так что упаси тебя оказаться на его дороге.
> Snap это не про безопасность, а про зависимости и ничего более.
> Безопасность там в смысле взаимовлияния приложений друг на друга
> при установке - вам не влепят несовместимую версию библиотеки x,
> что сломает другие.
> Если вы поставите в snap программу, которая делает rm -rf, то
> ничето не помешает её грохнуть все ваши данные.Они там в маркетинговом угаре написали "Secure" и ещё с виртуализацией сравнивали, так что лажанулись по полной...
Так новость не о том, не о Snap, а о кривом дизайне X11
lol, как отмечали, _этой_ новости уже сто лет в обед.
ну да, это не новость, согласен
Этот дизайн надизайнен на века с учетом сетевой прозрачности настоящими учеными не то что сейчас !!11
> Этот дизайн надизайнен на века с учетом сетевой прозрачности настоящими учеными не
> то что сейчас !!11ну, во время, когда он дизайнился - может так и думали...
(PS '!!11' вижу, режим сарказм принимаю)
C учетом того сколько в X.org-е было уязвимостей, удаленное управление работает хорошо.
> Этот дизайн надизайнен на века с учетом сетевой прозрачности настоящими учеными не
> то что сейчас !!11Справедливости ради стоит заметить, что в _ДИЗАЙНЕ_ X есть защита от этого: secure mode, это проблемы реализации.
> Справедливости ради стоит заметить, что в _ДИЗАЙНЕ_ X есть защита от этого:
> secure mode, это проблемы реализации.В дизайне там много чего есть. Но этим или никто не пользуется, потому что не соответствует пожеланиям, или опциональное и fallback все-равно писать надо. А раз так - можно сэкономить на использовании опциональных фич, вызывая fallback вообще всегда. Вот все тулкиты и делают все сами, отдавая иксам готовый рендер. А вот вывод больших битмапов у иксов хромает. Получается очень сложно, да еще работает плохо при этом.
> В дизайне там много чего есть. Но этим или никто не пользуетсяЭтим не пользуетесь вы, прекращайте проецировать на весь мир.
> Этим не пользуетесь вы, прекращайте проецировать на весь мир.А также графические тулкиты, на которых написано 99.9% всех программ. Доходит до того что откровенно апликушные вещи начинают лезть в специфические области, типа OpenGL. Не потому что оно им надо, а потому что так можно не через иксы draw calls протолкать и все работает в 5 раз шустрее. Это еще вулкан обороты не набрал, лет через 5 будет вообще огого.
> Это еще вулкан обороты не набрал,Малыш, ты слово "пукан" с ошибкой написал.
А почему Мэттью Гаррет решил, что Snap была призвана избавить от проблемы иксов, которая так получилось, что by design?
ЕМНИП Snap должна была решить проблему зависимостей и она её решает, а уж некоторый эффект "безопасности" из-за изоляции получился подспудно. Это же всё-таки не виртуалка и не контейнер.
Лишний раз донести до ширнармасс что snap не дает никакой безопасности (и вообще он не для этого) не помешает.
> Лишний раз донести до ширнармасс что snap не дает никакой безопасности (и
> вообще он не для этого) не помешает.А нафиг он нужен тогда? Да еще с такой то рекламной компанией, таким то пиаром?
Или как в анегдоте:
- Покупайте наши сигареты МЕГА-ЛАЙТ: без табака, бумаги и упаковки.
А он, собственно, и не нужен никому кроме проприетарщиков
Потому что разработчики бубунты в своих блогах уверяют, что снап приносит на десктоп серьёзный уровень безопасности. А на деле безопасность есть только в ubuntu touch, потому что там mir. А на десктопе.. ну какая может быть безопасность в X11? Тут даже костылями дыры не заткнёшь.
> Тут даже костылями дыры не заткнёшь.Xephyr?
> А на десктопе.. ну какая
> может быть безопасность в X11? Тут даже костылями дыры не заткнёшь.Есть один интересный костылёк... xpra
пользую скайп строго через него
> может быть безопасность в X11? Тут даже костылями дыры не заткнёшь.Сори, но к примеру вяленый сразу релизится (если он когда-нибудь зарелизится конечно) с костылями, так что хрен редьки не слаже
>А почему Мэттью Гаррет решил, что Snap была призвана избавить от проблемы иксовПотому что attention whore
Мэтью Гаррет, как я понимаю, решил в очередной раз написать какие X-ы говно, в свете выхода Mir-а :)
Написано же в соседней статье, что snap олее ориентирован на сервера, мобильные устройства и IoT - не случайно. Гаррет - кэп!
Для мобильных это в 10 раз хуже. Вы знаете о количестве малвари в мобильных маркетах?
А при чём какие-то там "маркеты" к GNU/Linux?
> Для мобильных это в 10 раз хуже. Вы знаете о количестве малвари
> в мобильных маркетах?Пользуюсь вот этим маркетом,
https://f-droid.org/
малвари пока не видел. Что я делаю не так?
> Пользуюсь вот этим маркетом,
> https://f-droid.org/
> малвари пока не видел. Что я делаю не так?Что с rild сделал? И прочими стремными проприетарными кишками ведроида.
Странно, что с опеннетом? В новостях же принято писать полный титул Его Феминистичества: "Мэттью Гаррет, известный разработчик ядра Linux, получивший от Фонда СПО премию".
>Мэттью Гаррет, известный разработчик ядра Linux, получивший от Фонда СПО премию++
Тоже удивился, когда в новости этого не обнаружил
Пишут - не нравится, не пишут - не нравится
На всех не угодишь. Я за то, чтобы писать. Это же здорово, что у опеннета есть свои традиции. Именно они превращают опеннет из очередного скучного информационного фаст-фуда в уютную кафешку, где ты знаешь всех вокруг уже будто бы целую вечность. Сюда хочется возвращаться. Хочется приходить, вешать пальто и слушать, слушать с таким же неподдельным интересом, словно это все происходит впервые, повествующего о сионских мудрецах бармена Мишу, пока он наливает бокал Wine-а с исправленным множеством ошибок.
Для wine тоже не пишут про множество ошибок...
Ждём комментариев от авторов Qubes OS. У них же используется X11.
И что тебе даст такой заголовок?
> Ждём комментариев от авторов Qubes OS. У них же используется X11.Это не проблема X11, это проблемы конкретной их реализации. Про X11 и Qubes OS можешь почитать тут: https://www.qubes-os.org/
Иксы там такие же ущербные. А для обеспечения безопасности используется запуск приложений в виртуальных машинах на базе Xen. Получается дикий оверхед по ресурсам, и при этом это не решает проблему с обеспечением безопасности. Помню, у Xen находили уязвимость, позволявшую выполнять код, запущенный на виртуалке, на хост-системе. Была подобная уязвимость и у KVM, и у Qemu. В общем, вся неуязвимость вашего Qubes OS - это пиар.
1) Неуязвимых систем не бывает. 2) Рутковска явно поадекватнее и более в теме, чем убунтоиды.
То что Иксы не так безопастны и так ясно эту проблему уже реашеют(Вейланд), Мэттью опять решил бурлить воду где можно было промолчать.
Есть конкретный дистрибутив конкретной версии, о котором за месяц спамят в бложиках, что он одуреть какой безопасный и удобный. Практически в день релиза выясняется, что это не так. Да, Wayland наше всё, но в Ubuntu он не включен по умолчанию => всё легитимно. Дистрибутив-ведро, дистрибутив-велосипед.
Ты с головой дружишь? В XWayland же тоже самое.
Один XWayland может прочитать данные другого XWayland'а? Каким образом, просвети недоумков.
Да, кажись промазал...
Насколько понимаю, в XWayland для каждого приложения запускаются свои иксы (крутой такой оуверхед)
Тогда не прокатит.
> Насколько понимаю, в XWayland для каждого приложения запускаются свои иксы (крутой такой
> оуверхед)Тупее идиоита - только маленькая лошадка.
То ли Гаретый в очередной раз выставил себя на посмешище, то ли снап оказался пустышкой, насаждающей дыры подобно жабкиным jar-кам — из текста новости как-то непонятно.
то ли ты с не разбору сел мимо стула. разберись в сути топика, а?
Непонятно же! Опять же, иксы спроектированы сексистами 30 лет назад, они ни о феминистах-медиазвёздах не слыхали, ни с микрософтом в патентном экстазе совокупляться не собирались.
Вывод: устанавливая пакеты не через snap, а из официального репозитория, можно жить даже с дырявыми иксами.
B конечно же среди прилжений из репозитория не может оказаться перехватывающего ввод и отправляющего на свои сервера. А с ppa вероятность возрастает.
Устанавливая пакеты из официального репозитория, гораздо меньше шансов получить у себя в системе малварь. Ваш К.О.
Вечно эти иксы косячные, одни беды от них!!!
Поставил nmap через snap пакет. Радует что home теперь не доступен для программ, запущенных от моего имениnmap -iL /home/vasilisc/report.txt
Failed to open input file /home/vasilisc/report.txt for reading
QUITTING!
http://vasilisc.com/snap-install-devmode