{"id":121189,"date":"2024-12-31T15:46:00","date_gmt":"2024-12-31T13:46:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux"},"modified":"2024-12-31T15:46:00","modified_gmt":"2024-12-31T13:46:00","slug":"kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux","title":{"rendered":"Botsingen in de verkorte identificaties van commits in de Linux-kernel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kees Cook, voormalig hoofd systeembeheerder van kernel.org en leider van het Ubuntu Security Team, demonstreerde de mogelijkheid om een commit te cre\u00ebren waarvan de verkorte identifier overeenkomt met een eerder aan de Linux-kernel toegevoegde commit. Dit experiment werd uitgevoerd als bewijs voor de haalbaarheid van de overstap naar 16-tekens lange verkorte commit-identifiers in de Linux-kernel, waar eerder over gediscussieerd was op de mailinglijst van kernontwikkelaars, maar wat niet werd goedgekeurd door Linus Torvalds.    <\/p>\n<p>Verkorte commit-identifiers worden gevormd door de eerste 12 tekens van de SHA-1 hash (48 bits van de 160 bits) te behouden. Aangezien het aantal objecten binnen de kernel dat via de SHA-1 hash wordt ge\u00efdentificeerd meer dan 13 miljoen heeft overschreden, was het een kwestie van tijd voordat er conflicten zouden optreden bij het gebruik van een prefix van 12 tekens. Als voorbeeld zijn al in de kernel toegevoegde objecten getoond die overlappen in hun 11-teken identifiers. Bovendien werd vermeld dat er al in oktober 12-teken overlappen waren waargenomen, maar tot het indienen van de patch werd een probleem ontdekt met de checkpatch-tool.      <\/p>\n<p>Afgekorte identificaties worden gebruikt bij het publiceren van korte linken naar commits en worden ook vermeld bij het indienen van wijzigingen in de tag &#171;Fixes&#187;, als een verwijzing naar de commit waarin het probleem is opgelost in de ingediende patch (bijvoorbeeld &#171;Fixes: e21d2170f366&#187;). Het ontstaan van conflicten, waarbij verschillende wijzigingen aan een enkele afgekorte identificatie zijn gekoppeld, kan leiden tot een verstoring van de werking van tools voor het analyseren en controleren van wijzigingen, die rekening houden met de inhoud van de &#171;Fixes&#187; tags. Deze tags worden bijvoorbeeld meegenomen in de check_fixes handler, toegepast in de linux-next tak, en in scripts voor het analyseren van kwetsbaarheden en het volgen van de levenscyclus van patches.      <\/p>\n<p>Linus Torvalds heeft sceptisch gereageerd op het voorstel om de minimale grootte van verkorte identificatoren te vergroten, omdat het aantal commits in de repository feitelijk aanzienlijk lager is dan het aantal objecten (ongeveer 1\/8). Waarschijnlijk zullen als er toevallige overlappen ontstaan, deze zijn tussen een commit en een object van een ander type (bijvoorbeeld een blob of een tak). Volgens hem zijn verkorte identificatoren bedoeld om overzichtelijk, leesbaar en gemakkelijk te citeren te zijn, en er zijn op dit moment geen objectieve redenen om hun grootte te vergroten.     <\/p>\n<p>Een van de ontwikkelaars stelde voor om de grootte te verkleinen door het aantal significante bits te vergroten, met behulp van een nieuw formaat gebaseerd op Base36-codering (symbolen 0-9a-z) in plaats van hexadecimale cijfers. Volgens Linus zal dergelijke wijziging meer problemen oproepen dan oplossen. Bijvoorbeeld, het zal nodig zijn om ondersteuning voor het nieuwe formaat toe te voegen in bestaande hulpmiddelen en om een format-ID in te voeren om het oude en nieuwe formaat te onderscheiden.       <\/p>\n<p>Om te demonstreren dat het probleem met verkorte identificatoren niet hypothetisch is en dat de oplossing ervan niet kan worden uitgesteld, heeft Kees Cook een wijziging in de documentatie van de kernel opgesteld, wiens verkorte identificator (1da177e4c3f4) overeenkwam met de identificator van de commit die de kernel 2.6.12-rc2-tak cre\u00eberde. De botsing kon binnen 6 uur rekenwerk op een systeem met een NVIDIA GeForce RTX 3080 worden opgezocht.     <\/p>\n<p>De selectie werd uitgevoerd met behulp van de lucky-commit toolkit &#8212; er werden willekeurige spaties aan de tekst van de doelpatch toegevoegd totdat de 12-cijferige SHA-1 prefix overeenkwam met de reeds aanwezige prefixen van commits in de kernel. Volgens Case vormen niet zozeer de willekeurige overlappingen een probleem, maar eerder de mogelijkheid om afgekorte identificaties te manipuleren voor kwaadwillige doeleinden, bijvoorbeeld om bepaalde controles te omzeilen.<br \/>\n<br \/>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62495\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0435\u0439\u0441 \u041a\u0443\u043a (Kees Cook), \u0431\u044b\u0432\u0448\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 kernel.org \u0438 \u043b\u0438\u0434\u0435\u0440 Ubuntu Security Team, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c, \u0440\u0430\u043d\u0435\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0432 \u044f\u0434\u0440\u043e Linux. \u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u043d \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 16-\u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435 Linux, \u0440\u0430\u043d\u0435\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430, \u043d\u043e \u043d\u0435 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u041b\u0438\u043d\u0443\u0441\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121189","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0435\u0439\u0441 \u041a\u0443\u043a (Kees Cook), \u0431\u044b\u0432\u0448\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 kernel.org \u0438 \u043b\u0438\u0434\u0435\u0440 Ubuntu Security Team, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c, \u0440\u0430\u043d\u0435\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/nl\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u0438 \u0432 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0435\u0439\u0441 \u041a\u0443\u043a (Kees Cook), \u0431\u044b\u0432\u0448\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 kernel.org \u0438 \u043b\u0438\u0434\u0435\u0440 Ubuntu Security Team, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c, \u0440\u0430\u043d\u0435\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-12-31T13:46:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-12-31T13:46:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Botsingen in verkorte identificatoren van commits in de Linux-kernel | ProHoster","description":"Kees Cook, de voormalige hoofd systeembeheerder van kernel.org en leider van het Ubuntu Security Team, demonstreerde de mogelijkheid om een commit te cre\u00ebren wiens verkorte identificator overeenkwam met een eerdere commit.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u0438 \u0432 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435 Linux | ProHoster","og:description":"\u041a\u0435\u0439\u0441 \u041a\u0443\u043a (Kees Cook), \u0431\u044b\u0432\u0448\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 kernel.org \u0438 \u043b\u0438\u0434\u0435\u0440 Ubuntu Security Team, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c, \u0440\u0430\u043d\u0435\u0435.","og:url":"https:\/\/prohoster.info\/nl\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-12-31T13:46:00+00:00","article:modified_time":"2024-12-31T13:46:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121189","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 09:18:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 09:18:23","updated":"2026-01-23 09:18:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/121189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=121189"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/121189\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=121189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=121189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=121189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}