Pull to refresh

Comments 23

Жаль не сообщается нигде как именно его вычислили…
Арестовали в годовщину публичного обнаружения заражения сайта. Шутники однако… ;)
подписаны SHA-1 и подменить их невозможно.

Как раз вот относительно этого назревает маааленькая проблема =).

Так изменить код, чтобы он работал (с трояном) да еще контрольная хеш сумма SHA-1 (или даже MD5) сошлась — невозможно.

Если бы было возможно — то проблема бы не назревала, а уже бы вовсю давала последствия.


До того, как будет возможно, по некоторым прикидкам осталось всего несколько лет (где несколько — это 3 для крупных участников или 5 для какого-нибудь университета). Про md5 тоже когда-то так говорили.


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

За эти несколько лет как раз можно успешно перейти на SHA-256 и проблемы опять не будет в ближайшее время.

Ммм. Насколько я знаю, пока этим не занимаются (могу быть неправ). Да и это будет означать пересборку репозиториев (аналогично миграции с svn на git) и перезагрузку их у всех причастных (ну или локальную пересборку), плюс сломанные подписи коммитов. Плюс куча софта, работающего с git, будет вынуждена внести серьёзные изменения и обновиться, чтобы поддерживать новый хеш.

sha1 ('uno due tre quattro cinque sei sette otto nove dieci') = '8d83cae8032da7a1ab3e2f611e42613e8e711a16'
можно сгенерировать какой-нибудь трешь, что-то вроде 'aDSWLIYUDklqaigdrekRWERQW432 [и еще 100 кб данных]' который даст такой же хеш (коллизию), что и строка выше. Это может сработать при подборе пароля (без соли) или при выпуске сертификатов.
Но для вычисления контрольных сумм (для программного кода) ЭТО НЕ РАБОТАЕТ. Нельзя так модифицировать исходный код, чтобы он был одновременно: а) компилируемый, б) содержал закладку, в) дал тот же хеш на выходе,
(зануда мод) хотя теоретически это возможно, но боюсь, что вероятность меньше чем найти атом в нашей галактике
Написать закладку, а затем подогнать хеш, модифицируя комментарии? Это при условии, что мы умеем находить коллизии, разумеется.
Комментариями в общем случае не получится. Чтобы подобрать коллизию потребуется вставлять символы с кодами от 0 до 255 а это гарантированно порушит компилируемость исходника т.к. компилятор точно не переварит символ с кодом 0(я думаю проблемы может вызвать любой из символов в диапазоне 0...15) в исходнике. Подбирать же коллизию с ограниченным набором символов во много раз сложнее и не даст гарантии существования такой коллизии.
С двоичными файлами конечно же другое дело — всегда можно прицепить в конец свой двоичный блоб на который никто и слова не скажет.
… ограниченным набором символов… не даст гарантии существования такой коллизии.

Кажется, кто-то не понимает суть коллизий.

Код 9 — TAB — используется.
-/- 10 — LF — используется. В Windows как комбинация CR + LF (перевод строки)
-/- 13 — CR — используется.
-/- 12 — FF — устарел, но порой используют при печати для продолжения печати на новом листе.
-/- 7 — BEEP — устарел.
Вероятно только код 0 может вызвать проблемы, хотя текст в кодировке UTF-8 легко может в себе содержать и этот байт. Но не в этом суть.
Как то на лабораторной была задача вывести текст максимально коротким кодом. Один из вариантов был — кодировать бинарные данные прямо в константах. В исходнике были символы с кодами от 0 до 255. gcc хорошо переваривал этот код, а вот большинство редакторов начинали глючить, приходилось компилировать из консоли. Но это было под виндой.
Почему нельзя? Можно добавить закладку и закомментированный сгенерированный трэш.
UFO just landed and posted this here

Ну, для md5 пару создать заранее давно можно, дело не в случайном треше и не в паролях.
Смотрите: http://www.mscs.dal.ca/~selinger/md5collision/ — этому примеру десять лет, и это пример именно для работоспособной программы, где два бинарника дают один и тот же хеш и делают разные вещи. С исходниками такое тоже возможно сделать, поломав какое-нибудь условие, например.


Вот со sha1 когда-нибудь случится как минимум то же самое, и это когда-нибудь может оказаться уже весьма скоро.
Поэтому надо срочно что-то решать и менять адресацию блобов по sha1 пока не поздно.

Возможно. Только маловероятно…
> подписаны SHA-1
Строго говоря, эта фраза полнейший бред. Наверное имелось в виду, что это fingerprint сертификата, которым подписывали бинарники?

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

>Остину приказано не приближаться к компьютерам, не пользоваться интернетом, любыми видами социальных сетей и электронной почтой.
Интересно, а почему ему не запретили приближаться ещё и к своей девушке? У неё ведь интернеты наверняка тоже имеются!
Ещё интереснее то, насколько процент полностью соблюдающих подобные запреты отличен от нуля.
2011-2016. Как обычно объясняют в подобных случаях огромное количество пройденного времени?
Потрачено… А вообще, было бы интересно узнать как его вычислили, чтобы не повторять его ошибок расширить кругозор.
Sign up to leave a comment.

Articles