Linus Torvalds om fiks af SHA-1 i Git: Kæmpe patch som ikke løser problemet

Flere forsøger at rette op på det potentielle problem, der kan være med SHA-1-kollisioner i versionsstyringsprogrammet Git, men Linus Torvalds' bud på en patch blev for omfattende.

Udviklerne af versionsstyringsprogrammet Git er enige om, at det er en god idé at gøre programmet mindre afhængig af SHA-1 hashalgoritmen, men hvordan det skal gøres har vist sig ikke at være helt enkelt.

SHA-1 er kommet i søgelyset, fordi forskere fra blandt andet Google for nylig demonstrerede, at det i særlige tilfælde var muligt at skabe en ondsindet kollision mellem hashværdier. Det vil sige, at det var muligt at skabe et nyt dokument, som gav samme SHA-1-hashværdi, som et bestemt eksisterende dokument.

Læs også: Google efter 6.500 CPU-år: Nu er kollisioner med SHA-1 virkelighed

Git benytter SHA-1-hashværdier til at holde styr på de forskellige versioner af de filer, der ligger i et Git-repository. Hvis det viser sig muligt at udføre et tilsvarende angreb mod et Git-repository, så ville man potentielt kunne introducere kompromitteret kode i et open source-projekt.

Det er endnu kun en teoretisk mulighed, da Google-demonstrationen af SHA-1-sårbarheden gjaldt for særlige tilfælde og udnyttede, at en PDF-fil kan få tilføjet indhold, som ikke vises, men blot er med til at påvirke hashværdien.

Læs også: Linus Torvalds: Himlen falder ikke ned på Git trods angreb mod hashfunktionen SHA-1

Alligevel arbejder udviklerne bag Git altså på at fikse problemet, men det har vist sig ikke at være helt enkelt. SHA-1 er nemlig dybt integreret i Git, og der er flere steder, hvor der ligefrem er fast defineret bestemte størrelser på hashes.

Linus Torvalds, som er ophavsmanden bag den oprindelige version af Git, har forsøgt sig med at skrive en patch, som skulle fjerne afhængigheden af SHA-1 og gøre Git i stand til at bruge andre hashalgoritmer. Men det viste sig ifølge hans patch-noter at være en smertefuld proces.

Linus Torvalds endte med en patch, som ville lave 4174 tilføjelser og 4080 sletninger fordelt over 216 filer. Det betegner Linus Torvalds selv som 'pretty nasty', om end der ikke var alvorlige konflikter med at flette patchen ind med den nuværende Git-kode.

Til gengæld ville det ikke rigtigt løse alle problemerne, og mange af tilføjelserne var blot kommentarer i koden om steder, der skulle fikses.

En mere ideel tilgang ville være at fikse Git i mindre bidder. Det måtte Linus Torvalds opgive, men flere andre udviklere har ifølge Git-holdets rapport fra februar forsøgt at skrue kode sammen, som i det mindste kan gøre Git i stand til at opdage et forsøg på at fremprovokere en hash-kollision.

Samtidig er der en plan under udarbejdelse for at migrere Git til SHA3-256-algoritmen. En af udfordringerne ved at gøre dette er, at repositories, som bruger den nye algoritme, ikke vil kunne fungere med tidligere udgaver af Git. Der vil altså opstå en skarp overgang fra én udgave af Git til en anden, hvor repositories ikke længere vil være kompatible. Den nye version vil dog kunne være kompatibel med repositories og servere, som benytter SHA-1.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk

Følg forløbet

Kommentarer (1)

Kommentarer (1)
Thue Kristensen

Det er endnu kun en teoretisk mulighed, da Google-demonstrationen af SHA-1-sårbarheden gjaldt for særlige tilfælde og udnyttede, at en PDF-fil kan få tilføjet indhold, som ikke vises, men blot er med til at påvirke hashværdien.

Det er altså ikke teoretisk. PDF-filer kan også tilføjes til git. Så lav et nyt par PDF-filer tilpasset git, med det rigtige prefix inklusiv størrelsen. Så får du listet det ene PDF-fil ind i et git-repositorie, og kan lave et repositorie med samme SHA-1 hash, men med den onde PDF-fil.

Log ind eller opret en konto for at skrive kommentarer

Pressemeddelelser

Affecto Denmark reaches highest Microsoft Partner level

Affecto Denmark, a leading provider of data-driven solutions, has reached the highest level in the Microsoft partner ecosystem: Managed Partner.
22. jun 2017

Innovate your business with Affecto's IoT Explorer Kit

Are you unsure if Internet of Things fits your business strategy?
31. maj 2017

Big Data Lake Summit: Fast and Trusted Insights

If you want to outpace, outsmart and outperform your competition in a digital world, you need trusted data that can be turned into actionable business insights at speed.
24. apr 2017