![]() |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Коллизии в сокращённых идентификаторах коммитов в ядре Linux" | +/– | ![]() |
Сообщение от opennews (??), 31-Дек-24, 12:08 | ||
Кейс Кук (Kees Cook), бывший главный системный администратор kernel.org и лидер Ubuntu Security Team, продемонстрировал возможность создания коммита, сокращённый идентификатор которого совпадает с коммитом, ранее добавленным в ядро Linux. Эксперимент проведён в качестве подтверждения целесообразности перехода на 16-символьные сокращённые идентификаторы коммитов в ядре Linux, ранее обсуждавшегося в списке рассылки разработчиков ядра, но не одобренного Линусом Торвальдсом... | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по ответам | RSS] |
1. Сообщение от Аноним (1), 31-Дек-24, 12:08 | –6 +/– | ![]() |
А как этим можно злоупотребить? Я пример понял но вот реальный обход нет. Да и Торвальдс и так все сам читает. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #47 |
10. Сообщение от Аноним (10), 31-Дек-24, 13:17 | +/– | ![]() |
> но до отправки патча было выявлено утилитой checkpatch. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
11. Сообщение от Аноним (11), 31-Дек-24, 13:19 Скрыто ботом-модератором | –5 +/– | ![]() |
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #13, #16 |
12. Сообщение от Илья (??), 31-Дек-24, 13:19 | –3 +/– | ![]() |
Есть люди, которые никогда не поймут отличие гуида от хеша, и которые на серьёзных щах будут утверждать что нужно просто использовать хорошую хеш функцию | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #52 |
13. Сообщение от Илья (??), 31-Дек-24, 13:20 | –5 +/– | ![]() |
> и оно никак не является уникальным, и даже не должно быть уникальным | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #11 |
15. Сообщение от lizard (??), 31-Дек-24, 13:35 | +6 +/– | ![]() |
Пользуйтесь SVN: 1,2,... 100000 цифирьки увеличиваются и никогда никаких коллизий. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #17, #48, #78 |
16. Сообщение от Аноним (16), 31-Дек-24, 13:38 | –2 +/– | ![]() |
Так ведь экономическое и управленческое образование не полностью показывает, чем кончается попытка обмануть математику с физикой. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #11 |
17. Сообщение от Аноним (16), 31-Дек-24, 13:40 | +1 +/– | ![]() |
Проблема в подмене смысла этих цифр с буквами. Глупость - она такая: хоть алфавит смени, но не помогает. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #15 |
25. Сообщение от ijuij (?), 31-Дек-24, 14:06 | –2 +/– | ![]() |
Я уважаю Кейса Кука больше, чем Линуса, НО в этой ситуации я согласен с Линусом. 🤷♂️💬 | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #49 |
28. Сообщение от Аноним (28), 31-Дек-24, 14:54 | +1 +/– | ![]() |
К полному хешу можно еще unix-timestamp добавить для надежности. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #35 |
32. Сообщение от Аноним (32), 31-Дек-24, 15:07 | –3 +/– | ![]() |
Не понимаю местных комментаторов, которым коллизии непочем. Коллизии - это страшно, нужно предотвращать, удлинять. ShA-1 в целом тоже уже устаревшая хэш-функция, но понимаю, что на sha2 менять мб затруднительно | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #38 |
34. Сообщение от bonifatium (?), 31-Дек-24, 16:08 | +4 +/– | ![]() |
правда в том, что наглядность и удобность 12- и 16-ти символьных short hash'ей одинаковая. Они одинаково длинные для запоминания и необходимости копирования, а для билд/чек скриптов это все без разницы. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #79, #81 |
35. Сообщение от bonifatium (?), 31-Дек-24, 16:11 | –2 +/– | ![]() |
что бы что? проблема в коллизии первых 12 символов, а не в полном хэше | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #28 Ответы: #67 |
36. Сообщение от Аноним (36), 31-Дек-24, 16:22 | +/– | ![]() |
Сокращение строковых значений и их последующее восстановление и сравнение - это глупость. Адреса криптокошельков, номера расчетных счетов - тоже строковые значения. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #39 |
37. Сообщение от Аноним (37), 31-Дек-24, 16:32 | –1 +/– | ![]() |
т.е. они просто берут первые 12 символов от хеша? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #40, #42, #68 |
38. Сообщение от Аноним (11), 31-Дек-24, 16:36 | +3 +/– | ![]() |
Проснитесь уже, для индентификации коммита используется 160 битный хэш, и количество коллизий там минимальное, в случае возникновения коллизии легко можно скипнуть коммит, и сделать его снова, это событие довольно редко. Речь в статье идет не про сам хэш, а про транкейт hex строки из 160 битного хэша, до короткого хэша вида f293418d и этот хэш нигде не хранится в метаданных, это не более чем строка поиска. Поэтому попытки комментаторов сделать из мухи слона выглядят довольно безграмотно. Короткий хэш используется обычно в связки git log --oneline, а дальше например git show короткий_хэш. Короткий хэш лишь облегчается поиск хэша, занимает меньше места, служит для удобства, и не является какой-либо реальной ссылкой. Тот же гитхаб к примеру показывает текст ссылки на комминт как короткий хэш, а сама ссылка уже ведет на полноценный - длинный 160 битный хэш. Если кто-то использует не корректно короткий хэш и привязывает к нему какие-то данные, это его проблемы, и не корректное использование короткого хэша. Кроме как для сокращения выводы на экране и поиска он нигде не должен быть использован. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #32 Ответы: #50, #59 |
39. Сообщение от Аноним (-), 31-Дек-24, 16:37 | +/– | ![]() |
Коллизии настролько редки, что решили оставить всё как есть а не усложнять. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #36 |
40. Сообщение от Аноним (-), 31-Дек-24, 16:38 | +/– | ![]() |
А что туту такого. На то и короткие. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 |
42. Сообщение от Аноним (11), 31-Дек-24, 16:40 | +1 +/– | ![]() |
Да, потому что это не реальная ссылка, а лишь удобный метод сокращения вывода на экране! Он даже не является реальной ссылкой на какой-то коммит, а лишь являет более удобной подстрокой, для текстового поиска, отсюда мы можем иметь сколько угодно много таких одинаковых подстрок. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 Ответы: #58, #75 |
43. Сообщение от Чуть более чем полностью анонимный аноним (?), 31-Дек-24, 17:26 | +/– | ![]() |
"640 КБ на самом деле хватит всем" | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #61, #69 |
46. Сообщение от Аноним (-), 31-Дек-24, 18:28 | +/– | ![]() |
> Сокращённые идентификаторы коммитов формируются через оставление | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #53 |
47. Сообщение от Аноним (-), 31-Дек-24, 18:30 | +2 +/– | ![]() |
> А как этим можно злоупотребить? Я пример понял но вот реальный обход нет. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 Ответы: #57 |
48. Сообщение от Аноним (-), 31-Дек-24, 18:32 | +/– | ![]() |
> Пользуйтесь SVN: 1,2,... 100000 цифирьки увеличиваются и никогда никаких коллизий. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #15 |
49. Сообщение от Аноним (-), 31-Дек-24, 18:34 | +/– | ![]() |
> Я уважаю Кейса Кука больше, чем Линуса, НО в этой ситуации я согласен с Линусом. 🤷♂️💬 | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #25 |
50. Сообщение от Аноним (-), 31-Дек-24, 18:38 | +1 +/– | ![]() |
> Проснитесь уже, для индентификации коммита используется 160 битный хэш, | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #38 |
51. Сообщение от Аноним (52), 31-Дек-24, 19:01 | –1 +/– | ![]() |
Если бы Линус не разгонял этих горе новаторов не было бы сейчас никакого ядра. Сначала они пропихнут длинную коммитов, а потом зонд. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #54 |
52. Сообщение от Аноним (52), 31-Дек-24, 19:03 | +/– | ![]() |
Ненужно ударяться в преждевременную оптимизацию. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #12 Ответы: #72 |
53. Сообщение от Аноним (53), 31-Дек-24, 19:07 | +/– | ![]() |
Это хэш коммитов ЯДРА. Нафига ты коммитишь каждые 2 символа? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #46 Ответы: #63 |
54. Сообщение от Аноним (53), 31-Дек-24, 19:13 | +/– | ![]() |
Самое странное, зачем делать уязвимости в ядре, когда полно приложух работающих с привилегиями ядра, и за которыми особо не смотрят. Наверняка специально отвлекают внимание на ядро, чтобы и дальше никто не смотрел. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #51 Ответы: #64 |
56. Сообщение от Аноним (56), 31-Дек-24, 19:36 | +/– | ![]() |
git уже давно умеет не только sha1, а вообще давно нужно перейти на sha3-512 | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #60 |
57. Сообщение от bonifatium (?), 31-Дек-24, 19:54 | +/– | ![]() |
короткий хэш - это просто обрезанный до n символов полный хэш (для человеков и ui). сами хэши остаются как были | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #47 Ответы: #62 |
58. Сообщение от Аноним (37), 31-Дек-24, 20:10 Скрыто ботом-модератором | +/– | ![]() |
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #42 |
59. Сообщение от Аноним (59), 31-Дек-24, 20:18 | +/– | ![]() |
> можно скипнуть коммит, и сделать его снова | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #38 Ответы: #65 |
60. Сообщение от Аноним (60), 31-Дек-24, 20:46 | +/– | ![]() |
Он на GitHub слать не умеет так. Да и GitHub принимать не умеет так. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #56 Ответы: #66 |
61. Сообщение от Аноним (-), 31-Дек-24, 22:10 | +/– | ![]() |
Эта та самая, знаменитая цитата Билла Гейтса? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #43 |
62. Сообщение от Аноним (62), 31-Дек-24, 23:33 | +3 +/– | ![]() |
> короткий хэш - это просто обрезанный до n символов полный хэш | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #57 |
63. Сообщение от Аноним (-), 31-Дек-24, 23:48 | –1 +/– | ![]() |
> Это хэш коммитов ЯДРА. Нафига ты коммитишь каждые 2 символа? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #53 |
64. Сообщение от Аноним (-), 31-Дек-24, 23:49 | +/– | ![]() |
> Самое странное, зачем делать уязвимости в ядре, когда полно приложух работающих с | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #54 |
65. Сообщение от Аноним (11), 31-Дек-24, 23:50 | +1 +/– | ![]() |
Не благодарите: | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #59 Ответы: #73, #76 |
66. Сообщение от Аноним (-), 31-Дек-24, 23:50 | +/– | ![]() |
> Он на GitHub слать не умеет так. Да и GitHub принимать не умеет так. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #60 |
67. Сообщение от Neon (??), 01-Янв-25, 02:46 | +/– | ![]() |
А на фига использовать только первые 12 символов ?! Какой умник это придумал ? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #35 Ответы: #74 |
68. Сообщение от Neon (??), 01-Янв-25, 02:47 | –1 +/– | ![]() |
Да, талантливые ребята. Прямо как те, кто заложили год кодировал двумя символами. Заранее заложенная мина замедленного действия. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 |
69. Сообщение от Neon (??), 01-Янв-25, 02:48 | +/– | ![]() |
Два символа для хранения года в данных. Гениальная экономия))). Чтобы потом пострадать | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #43 |
72. Сообщение от Илья (??), 01-Янв-25, 09:09 | +4 +/– | ![]() |
> Ненужно ударяться в преждевременную оптимизацию. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #52 |
73. Сообщение от Аноним (-), 01-Янв-25, 09:21 | +/– | ![]() |
Короткие идентификаторы используются для быстрого поиска, а не для коммитов. Попробуй потоньше. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #65 Ответы: #77 |
74. Сообщение от Аноним (-), 01-Янв-25, 09:21 | +/– | ![]() |
Потому-что 12 символов это коротко. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #67 |
75. Сообщение от Rus_Trololo (ok), 01-Янв-25, 12:20 | +/– | ![]() |
>Возникновение коллизий, при которых несколько разных изменений оказываются связаны с одним сокращённым идентификатором, могут привести к нарушению работы инструментов для анализа и проверки изменений, учитывающих содержимое тегов "Fixes". | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #42 |
76. Сообщение от Аноним (59), 01-Янв-25, 20:34 | +/– | ![]() |
Всё же поблагодарю. Спасибо за информацию! | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #65 |
77. Сообщение от Аноним (59), 01-Янв-25, 20:36 | +/– | ![]() |
Ненене, мой вопрос к анониму выше касался именно (гипотетической) ситуации с полным идентификатором коммита. Спасибо ему за ответ. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #73 |
78. Сообщение от Dmitry (??), 01-Янв-25, 21:49 | +1 +/– | ![]() |
Svn централизованная система и поэтому это в принципе возможно | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #15 Ответы: #80 |
79. Сообщение от Аноним (79), 02-Янв-25, 07:38 | +/– | ![]() |
Во-во. Мы вот в нашей компании сыздавна использовали полные id коммитов где только можно (в почте, JIRA и тп). Какая разница что копировать по двойному клику-то? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #34 |
80. Сообщение от нах. (?), 03-Янв-25, 12:19 | +/– | ![]() |
к счастью авторы hg не были в курсе, что это в принципе невозможно, и у них в dvcs тоже можно использовать нормальные номера версий. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #78 Ответы: #82 |
81. Сообщение от нах. (?), 03-Янв-25, 12:22 | +/– | ![]() |
да, то и другое - г-но полное. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #34 Ответы: #84 |
82. Сообщение от Аноним (82), 03-Янв-25, 18:35 Скрыто ботом-модератором | +/– | ![]() |
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #80 |
83. Сообщение от Соль земли (?), 09-Янв-25, 10:10 | +/– | ![]() |
Можно же добавить проверку на уже существующие и использовать короткие, пока не кончатся. Думаю, этого Торвальдс и хочет. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
84. Сообщение от bonifatium (?), 07-Фев-25, 20:10 | +/– | ![]() |
> да, то и другое - г-но полное. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #81 Ответы: #85 |
85. Сообщение от нах. (?), 07-Фев-25, 21:20 | +/– | ![]() |
а версий у вас нет. Поэтому когда надо сказать "а вот в этом изменении было вот такое" - остаются только хэши. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #84 |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |