da.phhsnews.com


da.phhsnews.com / Hvad er SHAttered? SHA-1 Kollisionsangreb, forklaret

Hvad er SHAttered? SHA-1 Kollisionsangreb, forklaret


Mozilla afsluttede den første dag i 2016 støtte til en svækkende sikkerhedsteknologi kaldet SHA-1 i Firefox-browseren. Næsten øjeblikkeligt vendte de deres beslutning, da det ville reducere adgangen til nogle ældre hjemmesider. Men i februar 2017 blev deres frygt endelig tilfældet: forskere brød SHA-1 ved at skabe det første virkelige verdens kollisionsangreb. Her er hvad alt det betyder.

Hvad er SHA-1?

SHA'en i SHA-1 står for Secure Hash Algorithm , og du kan simpelthen tænke på det som en slags matematikproblem eller metode, som scrambles de data, der er sat i det . Udviklet af USA's NSA, er det en vigtig del af mange teknologier, der bruges til at kryptere vigtige transmissioner på internettet. Fælles krypteringsmetoder SSL og TLS, som du måske har hørt om, kan bruge en hashfunktion som SHA-1 til at oprette de underskrevne certifikater, du ser på din browserboks.

Vi går ikke dybt ind i matematik og datalogi af nogen af ​​SHA-funktionerne, men her er den grundlæggende ide. En "hash" er en unik kode baseret på input af data. Selv små bogstaver af bogstaver, der indtastes i en hashfunktion som SHA-1, returnerer et langt sæt antal tegn, hvilket gør det muligt (potentielt) umuligt at vende tilbage til tegnstrengen tilbage til de oprindelige data. Sådan fungerer adgangskodeopbevaring normalt. Når du opretter en adgangskode, er dit password indtastet hashed og gemt af serveren. Når du vender tilbage, når du har indtastet dit kodeord, er det igen. Hvis den matcher den originale hash, kan indgangen antages at være den samme, og du får adgang til dine data.

Hash-funktioner er nyttige, primært fordi de gør det let at fortælle, om input f.eks. en fil eller et kodeord er ændret. Når indtastningsdataene er hemmelige, som et kodeord, er hasen næsten umuligt at vende og genoprette de oprindelige data (også kendt som "nøglen"). Dette er en smule forskellig fra "kryptering", hvis formål er at kryptere data med det formål at descrambling det senere ved hjælp af cifre og hemmelige nøgler. Hashes er simpelthen beregnet til at sikre dataintegritet - for at sikre, at alt er det samme. Git, versionskontrollen og distributionssoftwaren til open source-kode, bruger SHA-1-hash af denne grund.

Det er meget teknisk information, men for at sige det simpelthen: en hash er ikke den samme som kryptering siden Det bruges til at identificere, om en fil er ændret .

Hvordan påvirker denne teknologi mig?

Lad os sige, at du skal besøge et websted privat. Din bank, din email, selv din Facebook-konto, bruger alle kryptering til at holde de data, du sender dem privat. En professionel hjemmeside vil give kryptering ved at få et certifikat fra en betroet myndighed - en tredjepart, der har tillid til at sikre, at krypteringen er på niveauet, privat mellem hjemmesiden og brugeren, og ikke bliver spioneret af nogen anden part. Dette forhold til tredjepart, kaldet Certifikatmyndigheder eller CA , er afgørende, da enhver bruger kan oprette et "selvsigneret" certifikat - du kan endda gøre det selv på en Maskine kører Linux med Open SSL. Symantec og Digicert er f.eks. To kendte CA-virksomheder.

Lad os gennemgå et teoretisk scenario: How-To Geek ønsker at holde indlogget brugeresessioner privat med kryptering, så det kræver en CA som Symantec med en Certificate Signing Request eller CSR . De opretter en offentlig nøgle og privat nøgle til kryptering og dekryptering af data sendt over internettet. CSR-anmodningen sender den offentlige nøgle til Symantec sammen med oplysninger om hjemmesiden. Symantec kontrollerer nøglen mod dens rekord for at verificere, at dataene er uændrede af alle parter, fordi enhver lille ændring i dataene gør isen radikalt anderledes.

Disse offentlige nøgler og digitale certifikater er underskrevet af hash-funktioner, fordi outputen af disse funktioner er nemme at se. En offentlig nøgle og et certifikat med en verificeret hash fra Symantec (i vores eksempel), en myndighed, sikrer en bruger af How-To Geek, at nøglen er uændret og ikke sendes fra nogen skadelig.

Fordi hash er let at overvåge og umuligt (nogle vil sige "vanskeligt") at vende om, betyder den korrekte bekræftede hash signatur at certifikatet og forbindelsen kan stole på, og data kan aftales for at blive sendt krypteret fra ende til ende . Men hvad nu hvis hasen ikke var helt unik? Hvad er et kollisionsangreb, og er det muligt i den virkelige verden? Du har måske hørt om "Fødselsdagsproblemet" i matematik , selv om du måske ikke har vidst, hvad det blev kaldt. Den grundlæggende ide er, at hvis du samler en stor nok gruppe mennesker, er chancerne ret høje, at to eller flere mennesker vil have samme fødselsdag. Højere end du ville forvente, faktisk - nok at det virker som en underlig tilfældighed. I en gruppe så lille som 23 personer er der en 50% chance for at to deler en fødselsdag.

Dette er den iboende svaghed i alle hash, herunder SHA-1. Teoretisk skal SHA-funktionen skabe en unik hash for alle data, der er sat ind i den, men som antallet af hash vokser, bliver det mere sandsynligt, at forskellige par af data kan skabe den samme hash. Så man kunne skabe et usikkert certifikat med en identisk hash til et betroet certifikat. Hvis de fik dig til at installere det usikrede certifikat, kunne det maskerer som betroet og distribuere ondsindede data.

Find matchende hash inden for to filer hedder et

kollisionsangreb

. Mindst et storskala kollisionsangreb er kendt for at være sket for MD5 hashes. Men den 27. februar 2017 annoncerede Google SHAttered, den første nogensinde udformede kollision for SHA-1. Google kunne oprette en PDF-fil, der havde den samme SHA-1 hash som en anden PDF-fil, på trods af at det havde anderledes indhold. SHAttered blev udført på en PDF-fil. PDF-filer er et relativt løst filformat; mange små ændringer på bitniveau kan laves uden at forhindre læsere i at åbne det eller forårsage synlige forskelle. PDF-filer bruges også ofte til at levere malware. Mens SHAttered kunne arbejde på andre typer filer, som ISO'er, er certifikater stift specificeret, hvilket gør et sådant angreb usandsynligt. Så hvor nemt er dette angreb at udføre? SHAttered var baseret på en metode, der blev opdaget af Marc Stevens i 2012, hvilket krævede over 2 ^ 60,3 (9.223 quintillion) SHA-1 operationer - et svimlende antal. Denne metode er dog stadig 100.000 gange færre operationer end det ville være nødvendigt for at opnå det samme resultat med brute force. Google fandt, at med 110 high-end grafikkort, der arbejder parallelt, ville det tage cirka et år at producere en kollision. Leje denne beregningstid fra Amazon AWS ville koste omkring $ 110.000. Husk, at når priserne falder for computerdele, og du kan få mere strøm til mindre, bliver angreb som SHAttered lettere at trække.

$ 110.000 kan virke som en masse, men det er inden for rammerne af overkommelighed for nogle organisationer, hvilket betyder, at virkelige cybervillians kunne forfalske digitale dokumentsignaturer, forstyrre backup- og versionsstyringssystemer som Git og SVN, eller få en skadelig Linux ISO til at være legitim.

Heldigvis er der formildende faktorer, der forhindrer sådanne angreb. SHA-1 bruges sjældent til digitale signaturer længere. Certifikatautoriteter giver ikke længere certifikater, der er underskrevet med SHA-1, og både Chrome og Firefox har mistet støtten til dem. Linux-distributioner frigives typisk oftere end en gang om året, hvilket gør det umuligt for en hacker at oprette en ondsindet version og derefter generere en polstret til at have samme SHA-1 hash.

På den anden side er nogle angreb baseret på SHAttered der allerede sker i den virkelige verden. SVN-versionsstyringssystemet bruger SHA-1 til at differentiere filer. Uploading af de to PDF-filer med identiske SHA-1-hash til et SVN-depot vil medføre, at det ødelægger.

Hvordan kan jeg beskytte mig mod SHA-1-angreb?

Der er ikke meget for den typiske bruger at gøre. Hvis du bruger checksums til at sammenligne filer, skal du bruge SHA-2 (SHA-256) eller SHA-3 i stedet for SHA-1 eller MD5. Ligeledes, hvis du er en udvikler, skal du sørge for at bruge mere moderne hashing-algoritmer som SHA-2, SHA-3 eller bcrypt. Hvis du er bekymret for, at SHAttered har været brugt til at give to forskellige filer samme hash, har Google udgivet et værktøj på SHAttered-webstedet, som kan tjekke for dig.

Billedkreditter: Lego Firefox, Masser af Hash, vær så venlig at du ikke skade webforfatteren ukendt, Google.


Sådan ruller du tilbage eller afinstallerer en problematisk Windows Update

Sådan ruller du tilbage eller afinstallerer en problematisk Windows Update

Næppe en måned var gået, efter at vi fortalte dig at lade Windows Update automatisk holde din pc opdateret, før Microsoft besluttede at få os til at se dårligt ved at udløse et par forfærdelige opdateringer, der brød menneskers computere. Her skal du rulle tingene tilbage, hvis en opdatering bryder alt.

(how-top)

Sådan roteres en video på Android

Sådan roteres en video på Android

Der er en krig der foregår derude. Du kan ikke se det på nyhederne, du vil ikke læse om det i papiret - men det sker. Det er en hårdkæmpet krig, som mange af os aldrig tænker på: krigen mod ukorrekt orienteret video. Har du en video, der viser sig sidelæns? Sådan drejer du den pågældende video 90 grader på Android.

(how-top)