Ja, diskkryptering er noget hø

En ny artikel med titlen "Self-encrypting deception: weaknesses in the encryption of solid state drives (SSDs)" og den er god læsning.

CFCS har minsanten ligefrem tweetet om det:

Illustration: Poul-Henning Kamp

Diskkryptering er tilfældigvis noget jeg brugte en masse tid på at forske i under en DARPA kontrakt for snart mange år siden og CFCS's tweet får mig til at ryste på hovedet.

De fleste af de her dokumenterede angreb kræver ikke adgang til printkortet, læs selv artiklen. Forskerne brugte primært HW-adgang som en genvej.

Problemet er ikke begrænset til SSD'er, "gammeldags" harddiske har præcist samme problem.

Det er heller ikke nyt, vi har vidst siden 2015 at malware modificerede firmware på diske.

Og sidst men ikke mindst: Den kryptering der er bygget ind i diskdrev, SSD'er og de fleste operativsystemer mangler den vigtigste feature af dem alle.

Det fundamentale problem er at der altid er en "masterkey" der bruges, på en eller anden måde, til at kryptere alle data på mediet.

Denne masterkey kan ikke ændres uden at man læser, dekrypterer med den gamle nøgle, genkrypterer med den nye nøgler og skriver hver evig eneste forbandede sektor på mediet. Det tager som minimum et kvarters tid, men ofte timer.

Hvis angribere har adgang til denne masterkey og det krypterede medie, enten ved at installere malware, ved at stjæle en computer, eller fordi man bare har smidt gamle drev ud, er det game over.

Derfra er det alene et spørgsmål om hvor stor indsats angriberne vil lægge i opgaven.

Det nye i artiklen er ene og alene at denne indsats er meget mindre end hvad folk tror og nærmest triviel i forhold til hvad den burde være.

I en fornuftigt og seriøs implementering af disk-kryptering, hvilket omfatter både de operationelle procedurer og den fysiske sikkerhed omkring medier, computere og vigtigst af alt: personer, kommer denne masterkey fra et helt andet sted end det krypterede medie.

Hulstrimmel, en USB-stick, et smart-card, en fil-server, næsten hvad som helst er bedre end at have masterkey på eller ved mediet.

Hvis man ikke gør sig denne (store!) umage, er diskkryptering bare en frustration for simple tyve, ligesom en cylinderlås på en hoveddør er det: Meget bedre end ingenting, men ikke noget der holder de professionelle ude.

Og den samme ros skal CFCS have: Deres tweet er også bedre end ingenting.

phk

Relateret indhold

Kommentarer (25)
Jesper Foldager

Hvis angribere har adgang til denne masterkey og det krypterede medie, enten ved at installere malware, ved at stjæle en computer, eller fordi man bare har smidt gamle drev ud, er det game over.

Det giver sig selv at det er Game Over hvis angriberen har nøglen og mediet. Har du kigget på hvordan Apple har implementeret disk-kryptering? De gør et stort nummer ud af at hardwaren er lavet så nøglen ikke kan læses ud af den. Det er derfor ikke så simpelt som at installere malere, stjæle computeren eller på anden måde få fysisk adgang. Desuden kræver det et password at dekryptere "Volume Key".

De har foranstaltninger der ved fysisk adgang skal sikre at offline brute-force af password ikke er muligt samt sikre at antallet af online indtastningsforsøg er begrænset. Det sidste er nok det sværeste at lave bullet-proof.

Apple T2 Security Chip

Peter Andersen

Det hjælper i det tilfælde hvor du har en disk der ikke er sikker nok. Dvs. rapporten beskriver at man ved visse diske kan tilgå diskens krypteringsnøgle direkte, uden at kunne den nøgle brugeren har sat. Her kan du så vælge en softwareløsning, men også her er der dårlige løsninger. I rapporten foreslår de helt konkret at man bruger f.eks. VeraCrypt som softwareløsning. Man skal jo så huske at performance er jo nok noget dårligere. Men i praksis på en normal arbejds-pc hvor du arbejder med dokumenter, tror jeg ikke du mærker forskel.
De advarer også om, at visse software løsninger stadig bruger hardwareløsningen, for det giver bedre performance. Helt konkret nævner de at Windows Bitlocker (som er standard windows cryptering i windows), som default vil bruge hardware kryptering, men du kan disable dette.
Bemærk det de undersøger er ikke om der er malware eller lign. for hvis nogen owner din pc som root, så hjælper ingen kryptering alligevel. Vi snakker om en laptop som er helt ren uden trusler installeret, og med krypteret data. Denn laptop stjæles, og man kan altså så ved visse hardware implementeringer læse og dekryptere data uden brugerens nøgle.
Som Poul-Henning nævner er dette ikke et nyt problem, men det synes jeg ikke gør det mindre relevant, at få det nævnt, for især for visse virksomheder kan det være ret kritisk.

Poul-Henning Kamp Blogger

Så hvis man vil have krypteret sine data er man faktisk bedst stillet ved at have en software kryptering frem for hardware kryptering?

Som med alt andet her: Det afhænger.

Hvis du skal kunne stole på din disk-kryptering, kræver det i min verden mindst:

A. Open Source implementering af krypteringen

B. Håndtering af "Trusting trust" problematikken.

C. Krypteringssoftware/algoritme der understøtter at masterkey ikke befinder sig på mediet.

D. Et gennemtænkt system for håndtering af masterkeys.

E. Gennemtænkte procedurer for key-mgt, anvendelse og personbeskyttelse, og herunder armering af evt. "vault-dynamite".

Magnus Jørgensen

Ikke forstået. Hvorledes ændrer det på problemet omkring nøglehåndtering, at have kryptering i hhv. HW og SW?

Hej Morten,

Hvis du udfører krypteringen i software kan du håndtere nøgle og algoritme lige så godt eller dårligt som du har lyst til. Så, det er da ikke en garant for at ens kryptering er bedre end hardware kryptering, men hvis man gør som PHK skriver herover, så er man da bedre stillet.

Sune Marcher

Man skal jo så huske at performance er jo nok noget dårligere. Men i praksis på en normal arbejds-pc hvor du arbejder med dokumenter, tror jeg ikke du mærker forskel.


Hvis din CPU ikke understøtter AES-NI instruksionsættet er det et markant performance hit - men med AES-NI er det næppe et issue. Min Ryzen 5x 1600 kan i VeraCrypt (med 12 trådes parallelisering, 500meg blocksize og World of Warcrack + misc kørende) håndtere ~6GB/s.

Poul-Henning Kamp Blogger

Hvis din CPU ikke understøtter AES-NI instruksionsættet er det et markant performance hit

Du skal altid starte med at bestemme dig for om dine data er vigtige at holde hemmelige eller ej ?

Enten er de vigtige og så koster det den performance det koster at beskytte dem, eller også er de ikke vigtige og så behøver du ikke kryptere dem.

I den forbindelse skal man aldrig glemme at kryptering af data per definition øger chancen for at man selv mister adgang til data til glemte passwords eller fejlagtigt udløste beskyttelsesmekanismer.

Sune Marcher

Du skal altid starte med at bestemme dig for om dine data er vigtige at holde hemmelige eller ej ?

Enten er de vigtige og så koster det den performance det koster at beskytte dem, eller også er de ikke vigtige og så behøver du ikke kryptere dem.


Det er jeg sådan set ikke uenig i. Antagelsen her må være at man har gjort sin research, og har besluttet sig for at AES giver den fornødne sikkerhed, og man ikke fx forventer side-channel angreb som følge af AES-NI instruktionssættet.

Om disse antagelser er velovervejede kan diskuteres, men pointen er at AES-NI giver samme resultat som en ikke-accelereret implementation, med performance der er så høj at du ikke rigtigt behøver bekymre dig om det.

Derudover er sikkerhed ikke en absolut størrelse - lav threat modelling. Hvis Mossad eller CIA indgår i dit trusselsbillede gør du det forkert, og er død på forhånd, lige meget hvad du forsøger :-)

Sune Marcher

Fra Mickens, via Schneier:

The Mossad is not intimidated by the fact that you employ https://. If the Mossad wants your data, they're going to use a drone to replace your cellphone with a piece of uranium that's shaped like a cellphone, and when you die of tumors filled with tumors, they're going to hold a press conference and say "It wasn't us" as they wear t-shirts that say "IT WAS DEFINITELY US," and then they're going to buy all of your stuff at your estate sale so that they can directly look at the photos of your vacation instead of reading your insipid emails about them.

Palle Raabjerg

Jeg har altid undret mig over full-disk encryption, sådan helt generelt. I en tid hvor de fleste ikke engang slukker deres laptops, men blot bringer den i dvale ved at lukke den, hvad mening giver det så at kryptere hele disken?
Sörger moderne, smartere implementationer på en eller anden måde også for at "lukke" krypteringen på disken når computeren går i dvale?

Jeg er lidt pernitten når det kommer til den slags, så min lösning, når jeg har noget der skal beskyttes:
- Hav en ukrypteret disk, men lav et krypteret filsystem til de ting der skal beskyttes.
- Gem passphrase-beskyttet master-key på en USB-nögle som sidder på min fysiske nöglering (gem naturligvis backup af nöglen andetsteds også)
- Åben kun filsystemet når jeg faktisk behöver rode med de beskyttede data.

LUKS (den nuvärende standard for Linux disk-kryptering) kan faktisk göre dette, gennem at man separerer LUKS-headeren. Standard-opförsel for cryptsetup er dog at headeren (med master-key) sidder på disken sammen med filsystemet. Man bliver nödt til at rode lidt med det selv for at få den til at opföre sig ordentligt.

Sune Marcher

Jeg har altid undret mig over full-disk encryption, sådan helt generelt. I en tid hvor de fleste ikke engang slukker deres laptops, men blot bringer den i dvale ved at lukke den, hvad mening giver det så at kryptere hele disken?


Vi er tilbage ved Threat Modeling.

Hvis der er Rigtigt Slemme Folk efter dig, kan de hive krypteringsnøgler ud fra ram, hvis du når at slukke maskinen kan de fryse ramblokkene ned og hive krypteringsnøglerne ud alligevel, og... se derudover Thomas Brodersens XKCD link.

Det normale trusselsbillede for de fleste folk er nok nærmere at glemme en laptop på en bar eller bagsædet af en taxi. Der er det lidt nederen hvis en gemen tyv finder nøgenbillederne af din elskerinde, får mulighed for at læse din firma-email, eller adgang til de systemer hvor dine login cookies endnu ikke er expired – og det beskytter standard diskkryptering fint imod.

Hvis du er et aktivt mål, well... så gælder der andre regler. Og så har du tabt på forhånd :-)

+1 for LUKS med detached header.

Michael Cederberg

Så længe nøglen findes et sted i computeren - uanset hvordan den er beskyttet af hardware eller software - så er det bare obscurity. Dvs. med mindre brugeren indtaster sin 256 bit AES nøgle hver gang han tænder maskinen (eller telefonen), så kan en beslutsom modstander få fat i nøglen.

Det eneste der virker er at nøglen holdes separat fra computeren. Det er security.

Hans Nielsen

Hvis du er et aktivt mål, well... så gælder der andre regler. Og så har du tabt på forhånd :-)


Du mener at terrorisme ikke er muligt længere, hvis det er det man vil skjule ?
Man kan jo bare sende ferie billederne.

https://www.version2.dk/artikel/shakespeares-samlede-vaerker-gemt-twitte...

Tror desværre (og heldigvis), at hvis man ikke er total dum, så kan man forsvinde under radaren.
Selv hvis man er dum, har været i fængsel, har råbt højt om lysten til terror, det er indberettet. til mange myndigheder. Så kan man stadig købe våben og skyde løs i gaderne.

Det hjælper mere overvågning ikke på, kun opfølgning på de sager som bliver indberettet. Men det ser ikke ud til at der sexet at gøre det.
Eller så er den løsning så dyrt, at det er bedre at vise at man handler ved at kræve mere overvågning, selv om det ikke hjælper en dyt. Men det er langt billigere end at lave noget der virker. Desuden vil det jo ikke være så nemt at manipulere med vælgere, hvis skrækken var væk. Hvordan skal man ellers kræve flere ressourcer, til julefrokosten.

Men heldigvis har overvågning også først noget positiv med sig, agenter der har været i udlandet, kan kun bruges en gang. Et nyt pas hjælper jo ikke når man har afleveret billeder og fingeraftryk. De russiske og Saudiarabiske agenter som blev fanget på overvågning, kan få svært ved at forlade deres eget land igen. Og de blev også fanget af overvågning, hvis der ikke have været video af en person som kun gik ind, men ikke ud, så have presset ikke været så vedvarende.

Jesper Foldager

Sörger moderne, smartere implementationer på en eller anden måde også for at "lukke" krypteringen på disken når computeren går i dvale?

Ja! Det er måske ikke direkte en del af disk-krypteringen, men iOS har et hierarki af nøgler. Hver fil er seperat krypteret og hver nøgle er krypteret med en til flere class keys. Disse class keys slettes på forskellige tidspunkter. Lad os kalde den class key der slettes når telefonen låses for k1. Nøglen til en fil der er markeret med "complete protection" er krypteret med k1. Når telefonen er låst findes k1 ingen steder på telefonen og genereres først næste gang telefonen låses op.

iOS security

Så vidt jeg ved sker der noget lignende i nyere Macs.

Michael Cederberg

Ja! Det er måske ikke direkte en del af disk-krypteringen, men iOS har et hierarki af nøgler. Hver fil er seperat krypteret og hver nøgle er krypteret med en til flere class keys. Disse class keys slettes på forskellige tidspunkter. Lad os kalde den class key der slettes når telefonen låses for k1. Nøglen til en fil der er markeret med "complete protection" er krypteret med k1. Når telefonen er låst findes k1 ingen steder på telefonen og genereres først næste gang telefonen låses op.

Alligevel ligger "master nøglen" (den kommer vist fra UID og GID) gemt inde i "Secure Enclave" hele tiden. Apple skriver selv at der ikke er nogen måde hvor software kan få fat i nøglen - den kommer aldrig udenfor Secure Enclave. Men for det første vil man kunne få fat i den hvis man kan rette i firmwaren for Secure Enclave (det kræver at man kan signere koden med Apples signatur).

Alternativt kan mere drastiske tiltag tages i brug - det inkluderer at åbne chippen rent fysisk og kigge ind. Hvordan man gør den slags er selvfølgeligt ikke noget dem der kan fortæller om. Men nedenstående artikel der handler om hvad man gjorde i 1997 er god læsning. Der er ingen grund til at tro at man ikke kan det samme i dag.

https://www.theguardian.com/technology/2002/mar/13/media.citynews

I sidste ende ender vi altid samme sted når vi snakker stærk kryptering: Hvor gemmer man nøglerne og/eller udveksler nøglerne. Nøgle hierarkier giver ingen ekstra sikkerhed - det er bare mere praktisk. Det være sig iOS nøglehierarki eller sessionsnøgler i SSL (som også er del af et nøglehierarki hvor roden er nøglerne brugt til authentication og key exchange).

Jacob Gorm Hansen

En disk med fast sektorstoerrelse er besvaerlig at kryptere, bl.a. fordi en angriber har fri adgang til at bytte rundt paa sektorer, og fordi der ikke er plads til ekstra meta-data, som f.eks. initialization vectors sammen med data. I stedet kan man bruge en hierarkisk datastruktur, som emulerer en disk, hvilket ogsaa giver andre fordele, saasom mulighed for komprimering af data, og mere algoritmisk optimale disk-layouts. Jeg har i en del aar arbejdet paa en saadan virtual disk (oprindeligt hos Bromium som basis for deres sikkerhedssoftware), som for nylig ogsaa har faaet support for kryptering og er blevet frigivet som open source. Projektet kan findes paa http://mindcastle.io.

Kenn Nielsen

+1 for LUKS med detached header.


Ja, men er vi så ikke ovre i at 'man' ligeså godt kunne bruge den "gammeldaws" nørdede tilgang med dm-crypt ?
Jeg har ikke set at man kan definere sin egen master-key i LUKS, hvorfor man må stole på den er 'ægte tilfældig' og ikke har en eller anden skjult karakteristik, som gør cracking lettere.
Og alt andet lige, så kan en supermegasikkerogubrydelig krypteringsnøgle vel ikke sikre det krypterede bedre end kompleksiteten af den passphrase som åbner adgangen til nøglen ?
Og falder sikkerheden ikke for hver passphrase der kan åbne for brug af krypteringsnøglen ?

Jeg véd godt at *væsner har metodefrihed til dekryptering, men de må sådanset gerne 'se' at de skal bruge deres energi på andre end mig - hvis de spørger.

Problemet - for mig at se - er at svagheder "introduceret i en god mening" ender med at blive udnyttet af "private aktører".

Indrømmet; det er ligefør jeg lyder paranoid, men på internettet er der altid nogen som er efter en('s data), såå... ;-)

K

Sune Marcher

Du mener at terrorisme ikke er muligt længere, hvis det er det man vil skjule ?


Med mindre vi får indført det totale overvågningssamfund, som politikerne så gerne vil, er der altid nogle der vil flyve under radaren. Hvis du laver lidt småkriminalitet eller lone-wolf terrorisme med en lastbil eller en økse i metroen, bliver du sandsynligvis ikke fundet på forhånd... og så er diskkryptering ret irrelevant.

Min kommentar går på folk der er et aktivt mål. Organiseret kriminalitet, terrorgruppe, person der lækker statshemmeligheder, den slags. Hvis du laver noget der har meget stort omfang eller foregår over længere tid er det meget, meget, meget svært ikke at blive busted på et tidspunkt. Operational security is hard. Hvis du tror noget andet, kan du starte med at kigge på hvad +grugq skriver :)

Man kan jo bare sende ferie billederne.
https://www.version2.dk/artikel/shakespeares-samlede-vaerker-gemt-twitte...


Steganografi er ikke nyt, og det batter ikke det helt store i denne sammenhæng – og slet ikke noget så trivielt som metoden i ovennævnte artikel.

Tror desværre (og heldigvis), at hvis man ikke er total dum, så kan man forsvinde under radaren.


For en tid, hvis du ikke laver noget større :-)

Jesper Foldager

Alligevel ligger "master nøglen" (den kommer vist fra UID og GID) gemt inde i "Secure Enclave" hele tiden.

Nej, den relevante master nøgle genereres ved at mingle password og UID/GID. Den er ikke tilstede når telefonen er slukket. Hvis UID/GID kan læses ud (ved fysisk at åbne chippen/scanne den på anden måde) kan nøglen sikkert hurtigt brutforces – i hvert fald hvis det blot er en simple pin kode der brugt.

Michael Cederberg

Nej, den relevante master nøgle genereres ved at mingle password og UID/GID. Den er ikke tilstede når telefonen er slukket. Hvis UID/GID kan læses ud (ved fysisk at åbne chippen/scanne den på anden måde) kan nøglen sikkert hurtigt brutforces – i hvert fald hvis det blot er en simple pin kode der brugt.

Hvilket i det store perspektiv er det samme som at master nøglen ligger i "secure enclave". Hvis man først er gået til yderligheden at åbne telefonen og chippen, så er det en lille ekstra opgave at lave et brute force angreb mod passwords (passwords der vel og mærke har en længde sådan at de er brugbare til låseskærmen på en telefon).

Ydermere kan en beslutsom angriber forsøge at gå efter chippen uden at strømmen er fjernet. Så ligger nøglen derinde for ellers vil touch funktionen ikke kunne låse telefonen op.

Og inden nogen råber op om at det er besværligt, så husk på at dette er en vigtig opgave for efterretningstjenester. Jeg forestiller mig at NSA indkøber en palle telefoner hver gang der kommer en ny iPhone på markedet. Og at de så går i gang med at skrælle dem. Hver gang noget går galt, så smider de telefonen væk og starter forfra med en anden telefon. På samme måde kan man også opfinde metoder til at åbne telefonen og indsætte aflytningshardware uden at det kan ses. Derfor vil det også være i deres interesse at fortælle at netop telefon X er ekstra sikker.

Log ind eller Opret konto for at kommentere