LINUX.ORG.RU

CRUX, .md5sum. достало

 


0

0

Почему при ports -u у многих пакетов не обновляет файл .md5sum? при обновлении каждого второго пакета получаю ошибку о несоответствии контрольной суммы — в файле остаётся сумма от предыдущеё версии. Доколе? Если не проверять контрольные суммы — это дыра в безопасности, особенно если для скачивания исходников используется незащищённый протокол.

★★★★★

Ответ на: комментарий от Harald

по идее да. но уж лучше так, чем никак. я лет 8 назад сталкивался с несоответствием скаченного фаерфоксом тарбола.

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

MD5 [skip] небезопасный

А почему? Имеется в виду его использование для проверки контрольных сумм, а не для хеширования паролей или чего-то ещё.

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

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

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

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

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

Можно коллизию относительно легко найти, и запилить вредоносный файл, который будет иметь точно такой же хэш

В теории коллизию можно найти для любой контрольной суммы. И не так важно, является ли сумма 128 битной или 512 битной, когда сами хешируемые файлы имеют размеры сотни килобайт или мегабайты. Однако для того, чтобы считать, что конкретный алгоритм расчёта контрольной суммы действительно заметно менее надёжен, чем другие, нужны практические примеры таких коллизий. Вот для хеширования паролей md5 действительно менее надёжна, т. к. относительно легко по современным меркам рассчитывается. Хотя и это может стать уязвимостью только в сочетании с другими ошибками, как то простые или короткие пароли и отсутствие либо малая длина соли. Но т. к. пароль задаёт пользователь, админ должен исходить из его ненадёжности и пытаться хотя бы частично компенсировать эту ненадёжность сложной хэш-функцией. Но для защиты файлов это не работает.

В AUR sha512 используют

@AdonisSexyBoy, конечно sha512 надёжнее, но, как я написал выше, в данном случае не сильно надёжнее, пока не доказано обратное (я сейчас говорю только о контрольных суммах для файлов, а не о других применениях). При создании нового репозитория и системы пакетов разумнее, разумеется, на всякий случай выбирать самые надёжные из известных алгоритмов. Но я не вижу нужды менять эти алгоритмы каждый раз, когда появляется что-то новое, более длинное.

@xaizek, под коллизией подразумевался модифицированный файл, контрольная сумма которого в точности совпадает с контрольной суммой исходного файла. Теоретически такое возможно, хотя практически невероятно, если помимо контрольной суммы проверяется ещё и размер, а новый файл должен не просто отличаться, но и компилироваться и запускаться, выполняя при этом вредоносный код.

aureliano15 ★★
()

Не знаю, что ты у себя там наконфигурировал, «умник»! Но выход есть.


#!/bin/bash
# надо выбрать только файлы с именем ".md5sum":

find . | grep -e '/*md5sum'

# Нужные файлы  мы выбрали, осталось их удалить.

rm -Rf `find . | grep -e '/*md5sum'`

А потом уже ports -u

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

можно ещё использовать для проверки разные алгоритмы (чем больше — тем лучше). вероятность коллизий будет меньше.

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

ха! теперь даже после ports -u нету ни одного .md5sum файла! но другие файлы ports -u обновляет

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

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

Я думаю, что вероятность случайной коллизии при использовании любой применяемой на практике контрольной суммы, включая старую добрую cksum, практически нулевая.

Для защиты же от атаки ни одна контрольная сумма сама себе не поможет, т. к. если атакующий сумел подменить пакеты/портежи, то что мешает ему подменить и их контрольные суммы? Тут может спасти только электронная подпись майнтейнера в каждом пакете. Хотя и она не панацея — её можно украсть, взломав самого майнтейнера или центр сертификации. Не говоря уже о вероятности существования злонамеренного майнтейнера, тогда и взламывать ничего не надо. Ну и не забывать про тьюринговую лекцию Томпсона 1983 года, который ещё тогда говорил:

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

Полное доказательство этого вывода можно прочитать в моём давнем каменте ARM уязвимы? (комментарий) . К сожалению, эти лекции (по крайней мере в русском переводе) выложены только в графическом виде, поэтому даю ссылку на часть текста, честно перепечатанного собственными руками. Лекция очень поучительная, рекомендую.

Однако при всех оговорках электронные подписи — хоть что-то, а чек-суммы защищают только от ошибок при загрузке, но не от злого умысла.

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

удалил содержимое /usr/ports/*/.
перезапустил ports -u
- ни в одном порте нет файла .md5sum. что за фигня?
может быть дело в том, что я устанавливал CRUX-3.4, потом обновлял его до 3.5 (из-за того что в последнем glibc собран без оддержки нужного мне старого ядра)? может, какие-то файлы не обновились до 3.5? вот например, какому порту принадлежат файлы /etc/ports/drivers/*? prt-get говорит, что никакому пакету не принадлежат. вопрос: как их обновить? без них ports -u ругается.
cast Spoofing

teod0r ★★★★★
() автор топика

cast Spoofing.
собрал новый чистый core. в новом девственно чистом core выполняю ports -u — и нифига не скачивает ни одного .md5sum файла. проверьте у себя. писать багрепорт?

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

обновил до 3.6 — та же фигня — не качает .md5sum файлы

teod0r ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.