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.
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 .
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.
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.
Sådan organiseres alle ledninger under skrivebordet
Hvis du kiggede under skrivebordet og endelig har fået ked af kablerne nedenunder, så er det sådan, hvordan du organiserer det rod og får dine kabler under kontrol. RELATERET: Har du virkelig brug for at købe dyre kabler? For det meste er du ikke ligeglad med hvordan alle dine kabler ser ud i første omgang.
Fejlfinding af din Mac med disse skjulte opstartsmuligheder
Fejlfinding af en Mac er anderledes end fejlfinding af en pc, men ikke som anderledes. Sådan kan du bruge din Macs indbyggede opstartsindstillinger til at teste din hardware, starte i sikker tilstand, geninstallere macOS og udføre andre systemopgaver. For at få adgang til et af disse værktøjer skal du først lukke eller genstarte din Mac Du skal derefter trykke og holde den relevante nøgle eller tastekombination, inden gråskærmbilledet vises.