1.1, Аноним (1), 11:27, 11/10/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
>файл будет обработан .... MIME-тип распознаётся по содержимому, а не полагаясь на расширение
Привычка запускать всякий мусор из левых источников, типа почты - это неизлечимо. И не играет роли, что это: "Котики.jpg.cmd" в случае винды, или "Слоники.png" со скриптами в *nix.
Вот если эта муть уже во время формирования превьюх пролазит - тогда печаль, и надо бить по рукам ImageMagick и GraphicsMagick, т.к. не Ghostscript'ом единым можно нашпиговать файл с расширением jpg.
| |
|
2.7, Аноним (-), 08:07, 12/10/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если почитать новость, можно узнать что запускать - не обязательно! И при чем тут ImageMagic? Он что, должен превьюхи PDF рендерить? Не говоря о том что в *magic своих CVE по жизни хватает. А вы там что, думали что программа такого размера, поддерживающая десятки навороченных форматов - да вдруг еще и без багов будет, чтоли? Как бы не так!
| |
|
|
2.4, Аноним (1), 11:46, 11/10/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
От тупого шифровальщика, например, - не поможет. Что-то более продвинутое, что требует загрузки payload'а из сети, ИМХО будет проблематичнее заякорить.
| |
|
3.8, Аноним (-), 08:11, 12/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
Очень проблематично - положить в более системную диру, предварительно повысив права через какой-нибудь соседний CVE. Благо их есть, особенно у тех кто систему не обновляет.
| |
|
4.13, iPony (?), 08:39, 12/10/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Очень проблематично - положить в более системную диру
$TEMP
| |
|
5.18, Аноним (-), 10:27, 12/10/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> $TEMP
На него тоже можно noexec, но это до чудиков реально не допирает как работают компьютеры. А приколитесь, изначально процессор вообще ничего не знает про файлы. Для него есть память, код и данные. При том в нейманах отделение одного от другого достаточно условное.
| |
|
6.21, iPony (?), 10:53, 12/10/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Естественно можно, но на об этом речи не было. А для noexec на temp обязательно приведёт к определённым приключением, даже apt не будет работать (сражу вижу возражения — да, обходки есть).
> приколитесь
Вот это товарищу выше и пиши. А так да, мэлварь чисто хранимая в ОЗУ для всяких там ембедед линукс устройств, когда проблема с доступом на запись в постоянное хранилище — давно не новость.
| |
|
7.28, Аноним (-), 04:46, 13/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
> на temp обязательно приведёт к определённым приключением, даже apt не будет
> работать (сражу вижу возражения — да, обходки есть).
Если хочется закрутить гайки - сюрпризы возможны. Это удивительно? Собственно, половина системной защиты - в том чтобы хакерье обломалось с стандартной шаблонной атакой и наследило по максимуму. Этакое предварительное минирование территории.
> в ОЗУ для всяких там ембедед линукс устройств, когда проблема с
> доступом на запись в постоянное хранилище — давно не новость.
Это можно и на обычном компьютере практиковать, если хочется. А повысив права через CVE, которых в любой актуальной операционке хоть отбавляй (даже в Minix из ME находили) - потом можно что угодно в общем то делать. Другое дело что хакеры нынче в массе своей ленивы и хотят денежек по быстрому срубить. А для этого можно и без системных наворотов обойтись - спам, прокси и ддосы всего этого не требуют.
| |
|
|
|
|
3.14, iPony (?), 08:42, 12/10/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Что-то более продвинутое, что требует загрузки payload'а из сети, ИМХО будет проблематичнее заякорить
Ну в .bashrc запиши 📝 и радуйся
| |
|
|
1.3, Аноним (3), 11:44, 11/10/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> такой файл будет обработан в Ghostscript, так как MIME-тип
> распознаётся по содержимому, а не полагаясь на расширение
ди6илы, 6л...
Казалось бы, ну каким альтернативноодаренным надо быть, чтобы всунуть неотключаемое автомагическое разспознавание "по содержимому" в специфический инструмент, совершенно не предназначенный для альтернативно-одаренных?
но, разумеется, альтернативно-одаренные и сейчас эту нужнейшую и полезнейшую функциональность не уберут из кода.
на этом фоне мелкие ошибки из-за неаккуратной обработки исключений в почти-полных языках являются ерундой, можно не тратить время на патчинг.
| |
|
2.5, Аноним (5), 13:16, 11/10/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Казалось бы, ну каким альтернативноодаренным надо быть, чтобы всунуть неотключаемое автомагическое разспознавание "по содержимому" в специфический инструмент, совершенно не предназначенный для альтернативно-одаренных?
юниксвей забыт и предан забвению.
| |
2.6, kai3341 (ok), 03:59, 12/10/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Казалось бы, ну каким альтернативноодаренным надо быть, чтобы всунуть неотключаемое автомагическое разспознавание "по содержимому" в специфический инструмент, совершенно не предназначенный для альтернативно-одаренных?
Я хочу сыграть с тобой в одну игру. У меня к тебе 2 вопроса:
1) Какое именно приложение и при каких условиях инициирует атаку?
2) Как это приложение настроить, чтобы не инициировать атаку?
Не ответишь на них правильно -- альтернативно-одаренным назначим тебя. Время пошло
Другое дело, что встраивание в сам ghostscript возможности выполнить любую команду -- это очень странно. Для pdflatex такое поведение включается специальным флагом и по умолчанию выключено
Я понимаю желание сделать универсальный продукт. И понимаю, что по неопытности можно не понять, как 'фича' превращается в дырищу (например, SQL injection -- классика). Но как этот код прошёл review?
Также я понимаю желание разработчиков DE и imagemagic объединить как можно больше инструментов. Это правильно. И с их стороны косяка нет -- с их стороны всё работает штатно
| |
|
3.9, Аноним (-), 08:16, 12/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
> 2 вопроса:
Давай я за него отвечу?
> 1) Какое именно приложение и при каких условиях инициирует атаку?
Например генератор превьюшек документов, внезапно. Который пользовался ghostscript'ом.
> 2) Как это приложение настроить, чтобы не инициировать атаку?
Снести к чертовой бабушке, например. Но это компромисс: превьюхи документов и картинок в файлобраузилке видно уже не будет, соответственно. А если кто не знал, удобство и безопасность, увы, часто живут по разную сторону баррикад.
> Но как этот код прошёл review?
Да вообще, как в софте баги появляются... люди же давно уже боги и никогда не ошибаются. А тут вдруг на тебе.
> Также я понимаю желание разработчиков DE и imagemagic
Да при чем тут imagemagic вообще, если проблема в GS? В нем конечно своих проблем хватает, но не в этот раз.
| |
|
4.17, пох (?), 10:20, 12/10/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Да при чем тут imagemagic вообще, если проблема в GS? В нем
при том что если бы он не занимался ненужным угадавом - gs бы даже не вызвался бы, и его проблемы никому бы ущерба не причинили.
Наивных людей, разбирающих pdf'ы не на отдельной особо огороженной помойке, наверное, уже давно не осталось.
> конечно своих проблем хватает, но не в этот раз.
в этот, в этот.
с gs все понятно - этот софт невозможно написать надежно в принципе, и уж тем более - починить тот, который написан в дивные древние дни, когда пароль писали прямо в баннер, его можно только с большей или меньшей долей риска изолировать.
| |
|
5.19, Аноним (-), 10:44, 12/10/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> при том что если бы он не занимался ненужным угадавом - gs
> бы даже не вызвался бы, и его проблемы никому бы ущерба не причинили.
Ты хочешь чтобы монстры-переростки занимающиеся кучей дел не были бы монстрами-переростками? :)
> Наивных людей, разбирающих pdf'ы не на отдельной особо огороженной помойке, наверное, уже
> давно не осталось.
Так давно есть контейнеры и виртуалки. При том все это доступно в типовых дистрах по умолчанию. Там еще и всякие apparmor или selinux бывают, так что несчастная смотрелка pdf'ок типа evince лишний раз даже файло открыть не может порой. Ну или вот tor в убунте не может pluggable transport запустить. Потому что нефиг видите ли сетевой программе новые процессы запускать. Это по своему логично, но...
> с gs все понятно - этот софт невозможно написать надежно в принципе,
Собственно, проблема человечества в том что оно вдарилось в оверинжерению и порасплодило дофига всяких навороченных форматов и протоколов. За что и страдает. Если кто парсит пару дюжин сверхнавороченных форматов - удачи ему нигде не накосячить. А всякие околотекстовые форматы вообще лучший друг Bobby Tables'а.
| |
|
6.22, пох (?), 11:03, 12/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Ты хочешь чтобы монстры-переростки занимающиеся кучей дел
да дело-то у imagic вполне ограниченное - портить изображение, ну и иногда зачем-то преобразовывать формат - альтернативный вариант, когда преобразовывалка работает только с каким-нибудь xbm, сопровождаясь букетом xbm2всякаяхрень и обратно - тебе вряд ли понравится, этим жутко неудобно пользоваться, особенно, когда оригинал потом нафиг и не уперся (мы это проходили двадцать лет назад с видео, и ffmpeg был счастьем на фоне тех инструментов, требовавших только yuv, который кроме них еще и не понимал ровно никто)
> Так давно есть контейнеры
это где S stands for security?
С виртуалками в свете модных новых интеловских проблем - не сильно легче. Физическая изоляция - дорого и тяжело фэйловерить если что.
> Там еще и всякие apparmor или selinux бывают
пробовал писать модули к тому и к другому (не audit2allow, отключающий уже до тебя сделанные проверки, а полноценный)? Я вот пробовал, нифига не понравилось.
А тут придется, авторы дистрибутива не в курсе, что у тебя в /srv/web/uploads/ можно читать, но не все, в ../preview можно только писать, и т д и т п.
> Собственно, проблема человечества в том что оно вдарилось в оверинжерению и порасплодило дофига
> всяких навороченных форматов и протоколов.
ну вот в данном случае - проблема сопровождалась вполне приемлемым решением - описывать формат в части имени файла, а не угадывать, хотя бы пока не просят. Но почему-то авторы пошли другим путем, их даже аналогичный эксплойт в file (в file, Карл!) ничему не научил.
| |
|
7.29, Аноним (29), 09:38, 13/10/2018 [^] [^^] [^^^] [ответить] | +/– | Ну так понапридумывали форматов и вообще, GS много кем используется Я вижу с... большой текст свёрнут, показать | |
|
6.24, пох (?), 11:07, 12/10/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
ps: но контекстом для gs надо бы, пожалуй, озаботиться
чисто на всякий случай
| |
|
|
4.26, kai3341 (ok), 00:53, 13/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> Но как этот код прошёл review?
> Да вообще, как в софте баги появляются... люди же давно уже боги
> и никогда не ошибаются. А тут вдруг на тебе.
Так это не случайная ошибка же. Случайно дать возможность исполнять произвольный код by design нереально)
>> Также я понимаю желание разработчиков DE и imagemagic
> Да при чем тут imagemagic вообще, если проблема в GS? В нем
> конечно своих проблем хватает, но не в этот раз.
imagemagic всего лишь звено в этой цепочке. Генератор превьюх ведь не запускает GS сам -- он передаёт управление imagemagic. Со своей стороны imagemagic прав -- magic-типы заслуживают больше доверия, чем расширения. Инструмент (GS) задействуется при его наличии.
| |
|
5.30, Аноним (29), 09:47, 13/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Случайно дать возможность исполнять произвольный код by design нереально)
Просто многие вещи, особенно старые, не создавались с security in mind. Ну вон в WMF вообще можно было принести машинный код. Фича это такая была. И те кто честно следовал спекам на формат (в основном сам MS) очень сильно радовались, когда хакерье накопало давно всеми забытую фичу и начало раздавать правильные файлы везде и всюду, например, в вебе. Где браузер чего доброго это попытается показать (и выполнит обработчик) вообще не спрашивая юзера про всякие глупости.
Это же и unix way частично касается. Вызывать кучу программ из скриптов и перекидываться между ними данными - это круто и гибко. Но вот устойчивость этого процесса к враждебно настроенному источнику данных - весьма паршивая, например. Там довольно много чего может пойти не так.
> imagemagic всего лишь звено в этой цепочке. Генератор превьюх ведь не запускает
> GS сам -- он передаёт управление imagemagic.
Вот это - совершенно не обязательно. И так огульно за все генераторы превьюх расписываться как они кого вызывают - форменное донкихотство. И вообще см. выше, тех кто GS пользуется я 4 страницы насчитал. Я бы не рискнул утверждать что они все imagemagic зовут. А вот GS они точно зовут, раз он в зависимостях есть.
| |
|
|
3.10, Аноним (10), 08:29, 12/10/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Но как этот код прошёл review?
Я бы задался вопросом, как изменить то, почему этого ревью _нет_?
| |
|
4.15, пох (?), 09:59, 12/10/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
купить машину времени
(кстати, заодно сравнишь - много ли пользы принесли бестолковые code review и бесконечные тесты в сравнении с затраченным на это временем)
| |
|
3.16, пох (?), 10:14, 12/10/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Какое именно приложение и при каких условиях инициирует атаку?
загрузчик юзерских фотографий, например.
(необязательно художественных - это могут быть повреждения автомобиля при ДТП внутри сайта страховой - кстати, его многие хотят поломать)
> Как это приложение настроить, чтобы не инициировать атаку?
выпилить из используемого им imagemagic gs, раз его авторы неспособны на тривиальные умозаключения, что не всякая автоматизация нужна и должна быть применена, особенно - без спросу, даже после целого ряда однообразных эксплойтов.
И обрабатывать файлы строго по именам. Если внутри png оказался pdf - значит юзеру не повезло, он его не увидит, и не должен. Софт не должен заниматься подобным автоугадавом, для того и предусмотрены у имен файлов - расширения. Если какой-то кривой сканер такое производит - значит он бракованный и юзера нужно заставить от него отказаться, а не выносить за ним горшок.
> Другое дело, что встраивание в сам ghostscript возможности выполнить любую команду -- это очень
> странно.
это постскрипт, детка, может и не тьюринг-полный язык, но близкий к таковому.
К тому же черезмерно сложный и запутанный, поэтому надежный интерпретатор написан будет примерно никогда.
P.S. теоретически, наверное, можно собрать у себя десяток imagemagic'ов под все распространенные форматы, обслуживающие строго ограниченный их набор. Наверное, жить с этим зоопарком проще, чем вручную удалять код, распознающий что не попадя.
| |
|
4.20, Аноним (-), 10:53, 12/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
> загрузчик юзерских фотографий, например.
До него дело даже не дойдет - тебя поимеют еще тогда когда ты превьюху этого добра генерил, шарясь по дире с фотами. Если у тебя 500 фот в дире, ты наверное даты с точностью до секунд наизусть не заучивал, а 500 фот наугад клацать - сам понимаешь. Значит навороченный парсер попробует прожевать пару дюжин сложных форматов. И то что при этом никто нигде не накосячит - ну вот вообще совсем не факт. Вспомним WMF файлы, классика! И ведь сколько лет жило себе?
> это постскрипт, детка, может и не тьюринг-полный язык, но близкий к таковому.
Через добрецо типа ps вообще можно послать в принтеры чудную "распечатку" с фирмвар апдейтом...
| |
|
5.23, пох (?), 11:06, 12/10/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> загрузчик юзерских фотографий, например.
> До него дело даже не дойдет - тебя поимеют еще тогда когда
> ты превьюху этого добра генерил, шарясь по дире с фотами. Если
ну, собственно, превьюху при загрузке он и создает, что ж еще.
> у тебя 500 фот в дире, ты наверное даты с точностью
у меня они автокаталогизируются, но, сам понимаешь, в конце-концов наступает таки неприятный момент, когда файл приходится открывать - причем на сервере, ладно б у юзера в браузере, там все уже привыкли к untrusted input.
| |
|
6.31, Аноним (-), 10:17, 13/10/2018 [^] [^^] [^^^] [ответить] | +/– | Я не понимаю кто такой загрузчик юзерских фотографий Сценарий с авто-поимение... большой текст свёрнут, показать | |
|
|
|
3.25, Ordu (ok), 18:14, 12/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Я хочу сыграть с тобой в одну игру.
О, давай!
> 1) Какое именно приложение и при каких условиях инициирует атаку?
Если данную атаку инициирует приложение, но всяко не на стороне клиента. Да и скорее всего это не приложение: если человек скачивает специально подготовленный файлик с http-сервера, то глупо ведь говорить, что атака инициирована http-сервером?
> 2) Как это приложение настроить, чтобы не инициировать атаку?
В силу предыдущего ответа -- никак. Нет приложения инциирующего атаку.
> Не ответишь на них правильно -- альтернативно-одаренным назначим тебя.
Единственный альтернативно-одарённый тут -- это ты. Атака инициируется атакующим. Всё остальное, в том числе и дырявые приложения на стороне клиента -- не инициаторы, а объекты атаки. И если ты уж лезешь в поле it-безопасности со своими экспертными суждениями, ты хотя бы за языком-то следи, чтобы не пороть совсем уж чуши.
| |
|
|
|