Итак, тора гие мои. Мы тут с @gelraen затеиваем срачики уже который месяц и все никак не можем прийти к правильному решению. Поэтому нам нужен кто-то умный.
Суть проблемы установки портов/ебилдов такова. Клиент заказывает поставить программу через eбанус/порты/otherwise similar
Вариант раз. make fetch тащит файлик с исходниками с сайта sex.com. Потом сверяет его с суммой sha512, которую положил автор поста.
Вариант два. make fetch тащит с удаленного репозитория sex.com checkout. Потом ни с чем его не сверяет (?).
Каким образом можно наебать make во втором случае, чтобы он притащил хозяину файл triper.hs, но нельзя наебать в первом? Рассматриваются самые бредовые идеи вплоть до наебалова системы с make fetch, наебалова репозитория и перца-посередине.
rapture
22.08.2011 13:26 unknown
Recommended by:
@gelraen
Do you really want to delete ?
В первом случае можно наебать:
1) подменой источника самих портов
2) коллизией хеша на tar.gz порта
Во втором случае:
1) подменой репозитория
Подмена репозитория или источника портов может проводиться разными методами, начиная с захвата контроля над исходным сервером и заканчивая говном типа DNS cache poisoning и изменения трафика жертвы на ходу(если не используется подписывание вместе с шифрованием).
> наебалова репозитория
Ты сам ответил!
Блеать, вот поистине, не поминай имя дедфуда в суе.
Хуй ты.
У меня хоть женщина была.
Я вот нихуя не понял откуда берётся хешик.
ментрейнер ложит
Ну тогда только хешик подменить или наебать систему после проверки хеша.
Искать коллизии в sha512 — не ок.
наебать после проверки не получится, потому что сама система портов сливается вместе с дереовм портов и после проверки оно сразу распаковывается и собирается.
олсо, раньше там два хеша было: md5 и sha256. сейчас md5 выбросили.
Ок.
А как вы думаете, зачем разработчики придумали *версии* и иные релизы?..
версии и релизы в тарболах с сорсами уже нормально собираются. Вопрос в том, чтобы улучшить положение в случае когда хочется собирать из репозитория, а не ждать релиза. Можно делать снапшоты, как делали (и до сих пор делают, наверное) с mplayer'ом, но их надо где-то хостить для этих целей. А хостить лень.
тогда прекращайте свой бесполезный СПГС с доверием и безопасностью.
Если юзер согласен на софт из транка репозитория — он доверяет разработчикам, и обеспечивать безопасность уже их забота.
хуета может случится не только на строне репозитория, но и на стороне пользователя. Олсо, даже в релизные тарболы иногда всякое говно подкладывают.
ок, ну и как вы собрались от этого спасаться?..
Oh wait. Да это же /0.
вот-вот. я пока не придумал ничего лучше проверки fingerprint'а сертификата при сливании по https
Да хуй знает, меня перманентный HEAD устраивает.
СПГС, блядь.
Укрепите политики принятия софта в порты, стимулируйте тщательный peer review. Ну я не знаю. Дебиан ведь справляется как-то.
Алсода, каждая deb-ка в дебиане подписана GPG ключом мейнтейнера.
это просто потому что ты хуй и не осилил релизинг.
Анус себе укрепи, пес.
Хуита в этом дебиане.
Осилил, просто впадлу.
где НЕ хуита? в арче, лол?
при чём здесь, блеать, политики принятия софта. Тут вопрос что если при скачивании уже принятого скачается какая-то хуйня. Олсо, у нас здесь не дебиан, и софт собирается из тех тарболов, которые выкладывают сами разработчики. А подписи бинарных пакетов в pkgng уже вроде как будут, да.
define какая-то хуйня
в лучшем случае — просто какое-то говно, которое не соберётся. В худшем — внешне те же самые сорсы, но с добавленым бекдором.
я не себе прошу: вы сами сначала определитесь, какую проблему решаете. Поставьте задачу.
задача: найти метод проверки того, что сорсы которые порт выкачал из vcs точно совпадают с теми, для которых писал порт мейнтейнер.
сорсы точно не совпадут, если только ты не будешь выкачивать ту же ревизию репы, для которой писался порт.
Это исключает крупную часть планируемых юз-кейсов, если я правильно понимаю.
И в убунточке :3
дя :3 :3
Дедфуд
планируемый юзкейс: позволить без особых проблем собирать софт из репозитория, не дожидаясь релиза. Если ревизию не фиксировать, то порт вполне себе может и не собраться даже. Потому ревизию в любом случае надо фиксировать, чтобы не возникало лишних криков "а у меня тут ваш порт не собрирается". А кому сильно надо будет — смогут и сами подровнять номер ревизии в Makefile порта.
ну вот, чудненько, с одним пунктом разобрались.
Дальше что, хеш этой конкретной ревизии нужен?
да, нужна проверка того, что выкачаны именно те сорсы, которые надо. find . | sort | xargs cat | sha256 мне кажется плохим, негодным решением.
tar | sha512 и костыли не нужны.
tar же таймстампы запоминает. Так что если vcs их не восстанавливает то получится говно.
Там есть галка для этого: --mtime
во-во, тоже её нашёл.
Хотя у них же наверняка свой tar, без нужных галок.
WinRAR!
да, такой галки вроде нету. Но это, на самом деле, ничем не лучше того костыля что я предложил
а чего ты ещё хотел? универсального секурного магического хеша, который хуйпойми зачем рассчитывает каждая VCS для каждой ревизии?
Этого никто делать не будет. Даже в git SHA-идентификаторы коммит-объектов не предназначены для применения в целях security.
да хуй поймёт чего именно я хочу. Это мне не очень нравится, но пока ничего лучше я не придумал
В генте, лоло.
Никак ты этого не сделаешь.
why?
Ты б ещё слаку вспомнил.
Ты порты-то хоть видел?
А как ты отличишь malicious код, добавленный в VCS, от не-malicious? ИИ на лиспе?
Да, я как-то ставил себе фрю, не понял, зачем оно мне, снес фрю.
Понятно. Очередной ниасилятор ИТТ.
эта задача возлагается на мейнтейнера/комиттеров/etc. Задача порта — проверить что собирается точно то же, для чего мейнтейнер делал порт.
Нет, ну правда, а зачем оно мне?
Можно каждый коммит делать а-ля signed-off-by, что, впрочем, не убережет от пиздинга ключа.
я поставил фрю и у меня появилась тян
Потому, что удобно, например.
Я поставил генту, у меня появилась тян. Потом я снес генту, поставил дебиан, тян пропала. Потом появилась тян, потом опять снес дебиан и вернул генту, тян пропала.
Нихуя не понимаю зависимости.
Да у тебя сломанные зависимости!
Мне и в генте вполне удобно.
Анус себе сломай, пес!
Потому что эта зависимость существует только в горячих головах фанатиков.
На самом же деле фряха говно и годится на два с половиной применения, включая пиздинг кода на условиях BSD, лол.
Было бы что пиздить, код ведь говно.
Генту себе сломай, пёс!
Пёс себе пёс, пёс!
R.
от нехуй делать?
Не надо нахуй фиксировать
То есть всем похуй?
У тебя есть тян? М, поподробнее, мы заинтригованы
иначе не получится, только с фиксированной ревизией.
даже в мейке всегда можно выполнить чекаут. Ломаться будет да, но на то он и свн
Была, и не одна.
Левая не считается, так что не пизди мне тут!
ну как тебе сказать... тот же netgraph спиздили и продают для линукса за деньги.