Комментарии 56
круто, круто. Достойный ответ LNK от майкрософта.
PS А почему SELinux не спасёт?
PS А почему SELinux не спасёт?
Так мы ничего подозрительного не делаем, совершенно стандартный паттерн — выделить кусок разделяемой памяти под растровую картинку и отдать его X-серверу.
Вот я тоже не понял.
Если X'ы «завернуть» AppArmor'ом или SELinux'ом, то злоумышленник сможет только уронить X'ы или не только?
Писать им почти никуда не надо, запускать особо тоже ничего не надо, можно ограничить по полной программе.
Т.е. после получения контроля над процессом X-сервера не будет возможности что-то сломать кроме самих X'ов, т.е. просто грохнуть сессию пользователя.
Или все таки можно больше?
Если X'ы «завернуть» AppArmor'ом или SELinux'ом, то злоумышленник сможет только уронить X'ы или не только?
Писать им почти никуда не надо, запускать особо тоже ничего не надо, можно ограничить по полной программе.
Т.е. после получения контроля над процессом X-сервера не будет возможности что-то сломать кроме самих X'ов, т.е. просто грохнуть сессию пользователя.
Или все таки можно больше?
Ну, если теоретизировать, то можно посылать всякие мерзкие комбинации кнопок в окна и сниффить ввод (правда, отсылать не особо получится, но по характеру взлома — вполне можно через userspace). В принципе, для десктопа этого достаточно, чтобы сказать «ой, плохо-плохо».
Ну AppArmor/SELinux, я так понимаю, поднимает свои X'ы, которые общаются с системными. Если получить контроль над завернутыми X'ами, то можно атаковать реальные.
Быр-быр-быр…
Какие X'ы?
Ни один из них ничего не поднимает и ничего подобного не делает. Прочитайте про то что это.
Какие X'ы?
Ни один из них ничего не поднимает и ничего подобного не делает. Прочитайте про то что это.
>>Если X'ы «завернуть» AppArmor'ом или SELinux'ом, то злоумышленник сможет только уронить X'ы или не только?
Ну что собственно «заворачивается»? X-сервер. Нет?
Этому «завернутому» X-серверу все запрещено.
Но «на экран» он выводит через «системный» X-сервер.
И может его атаковать. Нет?
Ну что собственно «заворачивается»? X-сервер. Нет?
Этому «завернутому» X-серверу все запрещено.
Но «на экран» он выводит через «системный» X-сервер.
И может его атаковать. Нет?
Мне кажется они ошибаются, говоря что она не спасает. От эксплойта самого по себе — наверняка нет, но последствий просто никаких не будет. По крайней мере я не вижу как в рамках этого эксплойта можно было бы обойти защиту.
Один способ:
Слушать пароли самое легкое в данной ситуации. Далее черная магия: найти окно браузера и послать туда ссылку с вашим паролем, может даже незаметно.
Слушать пароли самое легкое в данной ситуации. Далее черная магия: найти окно браузера и послать туда ссылку с вашим паролем, может даже незаметно.
Дефолтный ASLR на самом деле не спасает, нужен какой нибудь PaX, которого практически нигде нету кроме hardened gentoo.
вот например: lwn.net/Articles/330866/
вот например: lwn.net/Articles/330866/
В 64 битах надо немного извратиться, чтобы забить все адресное пространство. В статье предлагают насоздавать на сервере пиксмапов максимального размера 32K*32K, а поскольку реально в x86-64 используется только 49 адресных бит, таких пиксмапов надо совсем немного — всего несколько десятков тысяч.
Да, круто. С другой стороны везде есть дыры. Не зря же иксы перетаскивают под пользователя, а все уважающие себя серверы работают через chroot окружение от рута)))
хабр такой хабр. в статье об эскалации прав юзера до рута из иксов, человек важно замечает, что не зря иксы перетаскивают под пользователя. и главное скобочек побольше ставьте, здесь это любят.
Я так понимаю с этим фиксом теперь вместо уязвимости будет падение иксов?
Изначально на стек отводится (на x86-32) участок памяти в верхней части адресного пространства, по умолчанию 128 Mбайт
# ulimit -a | grep stack
stack size (kbytes, -s) 10240
> Линус Торвальдс (лично!) добавил патч
Почему-то сразу вспоминается Путин, лично тушащий пожар с самолёта-амбиции :)
Почему-то сразу вспоминается Путин, лично тушащий пожар с самолёта-амбиции :)
ООО спасибо, очень интересно и доступно. Спасибо за хорошую статью.
Спасибо. Надо будет обновить ядро. Хороший повод попиарить Qubes OS от автора эксплойта и Рутковской.
Радует поиск гуишных уязвимостей под linux.
P.S. Есть индекс будерброда и бикмака, почему бы не завести индекс эксплоитов? )))
P.S. Есть индекс будерброда и бикмака, почему бы не завести индекс эксплоитов? )))
нда а сколько было криков, что вынос GUI в userspace это великое преимущество linux над windows :)
так оно и есть
Х-сервер в юзерспейсе вроде как и не работал. Были какие-то патчи, но они толком неюзабельны были. Выносить гуй в юзерспейс, имхо, довольно накладно — там же огромное количество переключений контекста будет. Так что преимуществом довольно сложно это назвать, да.
Исходя из того что перед рекурсивным обходом надо исчерпать память Xserver'a, то атаку достаточно легко заметить по общему торможению системы вызванным массовой отправкой процессов в своп.
Вообще-то исчерпывается не физическая память и своп, а адресное пространство. Но, конечно, подозреваю, что во время атаки Xserver вполне может немного сойти с ума от невозможности выделения памяти, и мы увидим какие-нибудь артефакты.
Адресное пространство должно быть к чему-то физическому привязано. Когда процесс пытается получить какой-то объем виртуальной памяти это приводит к явным операциям со страницами физической памяти. Иначе говоря у ядра требуют память и ее выдают за счет отправки в своп страниц других процессов. Рафаль упоминает 800 метров разделяемой памяти для х86_64, в этом случае дисковая активность будет уже заметной, хотя всегда возможны варианты.
Говоря о решения напишите про RLIMIT_AS.
А почему это у вас иксы работают от рута? )
Потому же, почему и у Вас. SUID бит потому что.
А разве от SUID не отказались в пользу PAMa?
ссылочку [2] поправьте, а то opera:illegal-url
А сплоит дадите проверить?
Вот именно поэтому я предпочитаю использовать на серверах варианты установки без GUI… Кроме лишней нагрузки дает и такие возможности… К сожалению, мою точку зрения воспринимают не все :(
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Эскалация привилегий в десктопном линуксе: Получение рутового доступа из GUI-приложений