Den säkraste krypteringen av filer och diskar. Ett urval av pålitliga program för att skydda personuppgifter och utrustning. Är det värt att byta från TrueCrypt till VeraCrypt?

Redaktörens val

Program för filkryptering

Kryptera allt!

Varje gång information läcker ut på Internet om en skandal som involverar viktiga dokument som läckt någonstans, frågar jag mig själv varför de inte var krypterade? Dokumentsäkerhet ska trots allt finnas överallt.

Krypteringsalgoritmer

Krypteringsalgoritmen är som en svart låda. En dumpning av dokumentet, bilden eller annan fil du laddar upp till den är vad du får tillbaka. Men det du ser verkar galet.

Du kan förvandla det här floskeln tillbaka till ett normalt dokument genom fönstret med samma lösenord som du angav under krypteringen. Detta är det enda sättet du kommer att få originalet.

Den amerikanska regeringen har erkänt Advanced Encryption Standard (AES) som en standard, och alla produkter som samlas här stöder AES-krypteringsstandarden.

Även de som stöder andra algoritmer rekommenderar generellt att man använder AES.

Om du är en krypteringsexpert kanske du föredrar en annan algoritm, Blowfish, och kanske till och med den sovjetiska regeringens GOST-algoritm.

Men det här är helt för fans av extrem underhållning. För den genomsnittliga användaren är AES helt enkelt en utmärkt lösning.

Public Key Kryptografi och Exchange

Lösenord är viktiga och du bör hålla dem hemliga, eller hur? Tja, inte när man använder offentlig nyckelinfrastruktur (PKI), som används i kryptografi.

Om jag vill skicka ett hemligt dokument till dig krypterar jag det helt enkelt med den publika nyckeln. När du har fått det kan du använda det för att dekryptera dokumentet. Det är enkelt!

Om du använder det här systemet omvänt kan du skapa en digital signatur som verifierar att ditt dokument kom från dig och inte har ändrats. Hur? Kryptera det bara med din privata nyckel.

Det faktum att din publika nyckel dekrypterar den är ett bevis på att du har rätt att redigera den.

PKI-stöd är mindre vanligt än stöd för traditionella symmetriska algoritmer.

Många produkter tillåter skapandet av självdekrypterande körbara filer.

Du kan också upptäcka att mottagaren kan använda ett visst verktyg gratis endast för dekryptering.

Vad är bättre?

Det finns nu ett stort urval av produkter tillgängliga i krypteringsutrymmet.

Alla måste helt enkelt välja en lösning som kommer att vara bekväm när det gäller funktionalitet, praktisk och snygg från synvinkeln av gränssnittet i huvudprogramfönstret.

Ett CertainSafe digitalt kassaskåp går igenom en säkerhetsalgoritm i flera steg som identifierar dig till webbplatsen. Du måste gå igenom flera autentiseringskontroller varje gång.

Dina filer är krypterade; om någon försöker hacka dem kommer de att falla isär och ingen kommer att kunna återskapa dem. I det här fallet finns det en viss risk, men samtidigt är tillförlitlighetsnivån mycket anständig.

Varje del av filen lagras sedan på en annan server. En hackare som kunde hacka en av servrarna kommer inte att kunna göra något användbart.

Ett lås kan kryptera filer eller helt enkelt låsa dem så att ingen kan öppna dem. Den erbjuder också krypterade skåp för att säkert lagra personlig konfidentiell information.

Många andra användbara funktioner inkluderar fragmentering, fragmentering av ledigt utrymme, säker onlinesäkerhetskopiering och självdekryptering av filer.

VeraCrypt (Windows/OS X/Linux)

VeraCrypt stöder truecrypt-kryptering, som avbröts förra året.

Utvecklingsteamet hävdar att de redan har tagit itu med problemet som togs upp under den första granskningen av truecrypt och tror att den fortfarande kan användas som en tillgänglig version för , OS X och .

Om du letar efter ett filkrypteringsverktyg som faktiskt fungerar, är det här det. VeraCrypt stöder AES (den vanligaste algoritmen).

Den stöder också TwoFish- och Serpent-krypteringschiffer, och stöder skapandet av dolda krypterade volymer.

Programvaran är öppen källkod och det mesta av kodbasen är Truecrypt.

Programmet utvecklas också ständigt, med regelbundna säkerhetsuppdateringar och oberoende granskningar på planeringsstadiet (enligt utvecklarna).

De av er som redan har provat det har berömt det för att det är ett fantastiskt krypteringsverktyg och dekrypterar dina filer bara när du behöver dem. Så resten av tiden lagras de i krypterad form.

Användare noterar särskilt att programmet är ett kraftfullt verktyg som är lätt att använda och alltid på plats. Ja, det saknar ett vackert gränssnitt eller massor av klockor och visselpipor.

AxCrypt (Windows)

AxCrypt är ett gratis program, öppen källkod GNU-licens.

Ett GPL-licensierat krypteringsverktyg för Windows som är stolt över att vara enkelt, effektivt och säkert att använda.

Den integreras perfekt med Windows-skalet, så att du kan högerklicka på filen du vill kryptera och utfärda ett kommando.

Eller så kan du helt enkelt konfigurera den körbara koden så att filen kommer att låsas om den inte används under en viss tid. Det kan dekrypteras senare, eller när mottagaren meddelar om mottagandet.

Filer med AxCrypt kan dekrypteras på begäran eller hållas dekrypterade medan de används och sedan automatiskt krypteras.

Den stöder 128-bitars AES-kryptering och ger skydd mot hackningsförsök. Den är väldigt lätt (mindre än 1 MB.)

Var och en bestämmer själv vilket program som ska användas, men om din data är värd något för dig, var noga med att tänka på att du behöver ett krypteringsprogram.

Kryptera filer och mappar i Windows

Filkrypteringsprogram: Vilka är bättre att välja?

5 program för att kryptera hårddiskar och filer i Windows 10

Kryptering är ett kraftfullt sätt att skydda dina filer och data från obehörig åtkomst. Jag rekommenderar fem program för .

1.AxCrypt

AxCrypt är ett verktyg med öppen källkod för , som endast stöder 128-bitars AES-kryptering.

2.VeraCrypt

VeraCrypt har avancerade säkerhetsfunktioner som stöder AES 256 bitar, Serpent-krypteringschiffer och Two Fish-algoritmer.

3. DiskCryptor

DiskCryptor är ett krypteringsverktyg med öppen källkod som används för att låsa diskpartitioner såväl som systempartitioner. Stöder AES-256, Serpent och Twofish-algoritmer.

4. LaCie Privat-Public

Lacie Private-public är ett program med öppen källkod. Stöder AES-256 krypteringsalgoritm.

5. Gpg4win

Gpg4win - används för att skydda dina filer och säkert överföra dina e-postmeddelanden. Stöder alla kryptografiska standarder som Open PGP och S/MIME (X.509).

Gpg4win innehåller flera gratis programvarukomponenter:

  • GnuPG - Backend; det är själva krypteringsverktyget.
  • Kleopatra är en certifikathanterare för OpenPGP och X.509 (S/MIME) och allmänna kryptografiska konversationer.
  • GpgOL - plugin för Microsoft Outlook - stöder MS Exchange Server.
  • GpgEX - plugin för Microsoft Explorer (filkryptering).
  • GPA är en alternativ certifikathanterare för OpenPGP och X.509 (S/MIME).

Tack för att du läser! Prenumerera på min kanal på Telegram Och Yandex.Zen . Bara där finns de senaste blogguppdateringarna och nyheterna från informationsteknologins värld.

Följ mig också på sociala nätverk: Facebook , Twitter , VK , OK.

jag behöver din hjälp

För att i rätt tid fylla sajten, marknadsföra den, utveckla den och också, naturligtvis, betala för hosting, behöver jag hjälp från er, läsare. Läs mer om donationer på. Just nu finns det en möjlighet att stötta mig igenom Yandex pengar , WebMoney Och PayPal .

Alla insamlade medel kommer att användas för utvecklingen av sajten och sällsynt öl till författaren!

Starta krypteringsverktyget på Windows genom att söka efter "BitLocker" och välja "Hantera BitLocker". I nästa fönster kan du aktivera kryptering genom att klicka på "Aktivera BitLocker" bredvid hårddisken (om ett felmeddelande visas, läs avsnittet "Använda BitLocker utan en TPM").

Du kan nu välja om du vill använda ett USB-minne eller ett lösenord när du låser upp en krypterad enhet. Oavsett vilket alternativ du väljer måste du spara eller skriva ut återställningsnyckeln under installationsprocessen. Du behöver det om du glömmer ditt lösenord eller tappar din flashenhet.

Använder BitLocker utan TPM

Konfigurera BitLocker.
BitLocker fungerar också utan ett TPM-chip - även om detta kräver viss konfiguration i den lokala grupprincipredigeraren.

Om din dator inte har ett TPM-chip (Trusted Platform Module) kan du behöva göra några justeringar för att aktivera BitLocker. I sökfältet i Windows skriver du "Redigera grupprincip" och öppnar avsnittet "Lokal grupprincipredigerare". Öppna nu i den vänstra kolumnen i redigeraren "Datorkonfiguration | Administrativa mallar | Windows-komponenter | BitLocker Drive Encryption | Operativsystemdiskar", och i den högra kolumnen, kontrollera posten "Krävs ytterligare autentisering vid start".

Klicka sedan på länken "Redigera policyinställning" i mittenkolumnen. Markera rutan bredvid "Aktivera" och markera rutan bredvid "Tillåt BitLocker utan en kompatibel TPM" nedan. Efter att ha klickat på "Apply" och "OK" kan du använda BitLocker enligt beskrivningen ovan.

Ett alternativ i form av VeraCrypt

För att kryptera systempartitionen eller hela hårddisken med TrueCrypts efterträdare, VeraCrypt, välj "Skapa volym" från VeraCrypts huvudmeny och välj sedan "Kryptera systempartitionen eller hela systemenheten." För att kryptera hela hårddisken tillsammans med Windows-partitionen, välj "Kryptera hela enheten" och följ sedan steg-för-steg installationsinstruktionerna. Obs: VeraCrypt skapar en räddningsskiva om du glömmer ditt lösenord. Så du behöver en tom CD.

När du har krypterat din enhet måste du ange PIM (Personal Iterations Multiplier) efter ditt lösenord när du startar upp. Om du inte installerade PIM under installationen, tryck bara på Enter.

Förmodligen har var och en av oss mappar och filer som vi skulle vilja dölja från nyfikna ögon. Dessutom, när inte bara du, utan även andra användare arbetar vid datorn.

För att göra detta kan du naturligtvis installera eller arkivera den med ett lösenord. Men den här metoden är inte alltid bekväm, särskilt för de filer du ska arbeta med. För detta, ett program för filkryptering.

1. Krypteringsprogram

Trots det stora antalet betalprogram (till exempel: DriveCrypt, BestCrypt, PGPdisk) bestämde jag mig för att i denna recension fokusera på den gratis, vars kapacitet är tillräcklig för de flesta användare.

http://www.truecrypt.org/downloads

Ett utmärkt program för att kryptera data, vare sig det är filer, mappar etc. Kärnan i arbetet är att skapa en fil som liknar en diskavbildning (förresten, nya versioner av programmet låter dig kryptera till och med en hel partition, t.ex. du kan till exempel kryptera en flash-enhet och använda den utan rädsla för att någon annan än du ska kunna läsa information från den). Den här filen kan inte öppnas så lätt, den är krypterad. Om du glömmer lösenordet för en sådan fil är det osannolikt att du någonsin kommer att se dina filer som lagrades i den...

Vad mer är intressant:

Istället för ett lösenord kan du använda en nyckelfil (ett mycket intressant alternativ, ingen fil - ingen tillgång till den krypterade disken);

Flera krypteringsalgoritmer;

Möjligheten att skapa en dold krypterad disk (endast du kommer att veta om dess existens);

Möjlighet att tilldela knappar för att snabbt montera en disk och avmontera den (koppla bort den).

2. Skapande och kryptering av diskar

Innan vi börjar kryptera data måste vi skapa vår disk, till vilken vi kopierar filerna som måste döljas för nyfikna ögon.

För att göra detta, starta programmet och tryck på knappen "Skapa volym", dvs. Låt oss börja skapa en ny disk.

Välj det första objektet "Skapa en krypterad filbehållare" - skapa en krypterad behållarfil.

Här erbjuds vi två alternativ för en containerfil:

1. Normal, standard (en som kommer att vara synlig för alla användare, men bara de som kan lösenordet kommer att kunna öppna det).

2. Dolda. Bara du kommer att veta om dess existens. Andra användare kommer inte att kunna se din containerfil.

Nu kommer programmet att be dig ange platsen för din hemliga enhet. Jag rekommenderar att du väljer en enhet där du har mer utrymme. Vanligtvis är en sådan enhet D, eftersom Enhet C är systemenheten och Windows OS är vanligtvis installerat på den.

Ett viktigt steg: ange krypteringsalgoritmen. Det finns flera av dem i programmet. För den genomsnittliga oinitierade användaren kommer jag att säga att AES-algoritmen, som programmet erbjuder som standard, låter dig skydda dina filer mycket tillförlitligt och det är osannolikt att någon av användarna av din dator kommer att kunna hacka den! Du kan välja AES och klicka på "NÄSTA".

I det här steget kan du välja storleken på din disk. Strax nedanför, under fönstret för att ange önskad storlek, visas det lediga utrymmet på din riktiga hårddisk.

Lösenord - flera tecken (minst 5-6 rekommenderas) utan vilka åtkomst till din hemliga disk kommer att nekas. Jag råder dig att välja ett lösenord som du inte kommer att glömma även efter ett par år! Annars kan viktig information bli otillgänglig för dig.

Om du vill använda ett starkt lösenord rekommenderar vi att du använder en generator för att skapa ett. Det bästa valet skulle vara en plattform som också kommer att svara på frågan "är mitt lösenord säkert": https://calcsoft.ru/generator-parolei.

Efter en tid kommer programmet att informera dig om att en krypterad containerfil har skapats och du kan börja arbeta med den! Bra…

3. Arbeta med en krypterad disk

Mekanismen är ganska enkel: välj vilken containerfil du vill ansluta, ange sedan lösenordet för den - om allt är "OK" - då dyker en ny disk upp i ditt system och du kan arbeta med den som om det vore en riktig hårddisk .

Låt oss ta en närmare titt.

Högerklicka på enhetsbeteckningen som du vill tilldela din filbehållare, välj "Välj fil och montera" från rullgardinsmenyn - välj filen och bifoga den för vidare arbete.


Efter att du har arbetat med disken måste du stänga den så att andra inte kan använda den. För att göra detta behöver du bara trycka på en knapp - "Demontera alla". Efter detta kommer alla hemliga enheter att inaktiveras, och för att komma åt dem måste du ange lösenordet igen.

Förresten, om det inte är en hemlighet, vem använder vilken typ av program? Ibland finns det ett behov av att gömma ett dussin filer på arbetsdatorer...

Forskare vid Princeton University har upptäckt ett sätt att kringgå hårddiskkryptering genom att utnyttja RAM-modulernas förmåga att lagra information under en kort tidsperiod även efter ett strömavbrott.

Förord

Eftersom du behöver ha en nyckel för att komma åt en krypterad hårddisk, och den är naturligtvis lagrad i RAM-minnet, är det bara att få fysisk åtkomst till PC:n under några minuter. Efter omstart från en extern hårddisk eller USB Flash görs en komplett minnesdump och åtkomstnyckeln extraheras från den inom några minuter.

På så sätt är det möjligt att få krypteringsnycklar (och full tillgång till hårddisken) som används av BitLocker, FileVault och dm-crypt-program i Windows Vista, Mac OS X och Linux operativsystem, samt den populära gratis hårddisken krypteringssystem TrueCrypt.

Vikten av detta arbete ligger i det faktum att det inte finns en enda enkel metod för skydd mot denna metod för hackning, annat än att stänga av strömmen under en tillräcklig tid för att helt radera data.

En visuell demonstration av processen presenteras i video.

anteckning

Tvärtemot vad många tror behåller DRAM-minnet som används i de flesta moderna datorer data även efter att strömmen stängts av i flera sekunder eller minuter, och detta sker vid rumstemperatur och även om chippet tas bort från moderkortet. Den här tiden är tillräckligt för att ta en fullständig RAM-dump. Vi kommer att visa att detta fenomen tillåter en angripare med fysisk åtkomst till systemet att kringgå OS-funktionerna för att skydda kryptografiska nyckeldata. Vi kommer att visa hur omstart kan användas för att framgångsrikt attackera kända hårddiskkrypteringssystem utan att använda någon specialiserad hårdvara eller material. Vi kommer experimentellt att bestämma graden och sannolikheten för retention av kvarvarande magnetisering och visa att tiden för vilken data kan tas kan ökas avsevärt med enkla tekniker. Nya metoder kommer också att föreslås för att söka efter kryptografiska nycklar i minnesdumpar och korrigera fel i samband med förlust av bitar. Flera sätt att minska dessa risker kommer också att diskuteras, men vi känner inte till någon enkel lösning.

Introduktion

De flesta experter antar att data från en dators RAM-minne raderas nästan omedelbart efter att strömmen stängts av, eller så tror de att restdata är extremt svårt att hämta utan användning av specialutrustning. Vi kommer att visa att dessa antaganden är felaktiga. Konventionellt DRAM-minne förlorar data gradvis under flera sekunder, även vid normala temperaturer, och även om minneschippet tas bort från moderkortet kommer data att finnas kvar i det i minuter eller till och med timmar, förutsatt att chippet lagras vid låga temperaturer. Återstående data kan återställas med enkla metoder som kräver kortvarig fysisk åtkomst till datorn.

Vi kommer att visa en serie attacker som, med hjälp av remanenseffekterna av DRAM, gör att vi kan återställa krypteringsnycklar lagrade i minnet. Detta utgör ett verkligt hot mot bärbara datoranvändare som förlitar sig på hårddiskkrypteringssystem. När allt kommer omkring, om en angripare stjäl en bärbar dator medan den krypterade disken är ansluten, kommer han att kunna utföra en av våra attacker för att komma åt innehållet, även om själva bärbara datorn är låst eller i viloläge. Vi kommer att demonstrera detta genom att framgångsrikt attackera flera populära krypteringssystem, som BitLocker, TrueCrypt och FileVault. Dessa attacker bör också vara framgångsrika mot andra krypteringssystem.

Även om vi har fokuserat våra ansträngningar på hårddiskkrypteringssystem, om en angripare har fysisk tillgång till datorn, kan all viktig information som lagras i RAM-minnet bli ett mål för attack. Det är troligt att många andra säkerhetssystem också är sårbara. Till exempel upptäckte vi att Mac OS X lämnar kontolösenord i minnet, varifrån vi kunde extrahera dem, och vi utförde även attacker för att erhålla de privata RSA-nycklarna till Apache-webbservern.

Medan vissa i informationssäkerhets- och halvledarfysikgemenskaperna redan var medvetna om remanenseffekten i DRAM, fanns det väldigt lite information om det. Som ett resultat är många som designar, utvecklar eller använder säkerhetssystem helt enkelt obekanta med detta fenomen och hur lätt det kan utnyttjas av en angripare. Så vitt vi vet är detta det första detaljerade arbetet som undersöker konsekvenserna av informationssäkerheten av dessa fenomen.

Attacker på krypterade enheter

Att kryptera hårddiskar är en välkänd metod för att skydda mot datastöld. Många tror att krypteringssystem för hårddiskar kommer att skydda deras data, även om en angripare har fått fysisk tillgång till datorn (det är faktiskt vad de är till för, reds. anm.). En lag i delstaten Kalifornien som antogs 2002 kräver rapportering av eventuella avslöjande av personuppgifter endast om uppgifterna inte var krypterade, eftersom. Man tror att datakryptering är en tillräcklig skyddsåtgärd. Även om lagen inte beskriver några specifika tekniska lösningar, rekommenderar många experter användning av krypteringssystem för hårddiskar eller partitioner, vilket kommer att anses vara tillräckliga skyddsåtgärder. Resultaten av vår forskning visade att tron ​​på diskkryptering är ogrundad. En mindre skicklig angripare kan kringgå många vanliga krypteringssystem om en bärbar dator med data stjäls medan den är påslagen eller i viloläge. Och data på en bärbar dator kan läsas även om den finns på en krypterad enhet, så att använda hårddiskkrypteringssystem är inte en tillräcklig åtgärd.

Vi använde flera typer av attacker på välkända hårddiskkrypteringssystem. Det som tog mest tid var att installera krypterade diskar och kontrollera att de upptäckta krypteringsnycklarna är korrekta. Att skaffa en RAM-bild och söka efter nycklar tog bara några minuter och var helt automatiserat. Det finns anledning att tro att de flesta hårddiskkrypteringssystem är mottagliga för liknande attacker.

BitLocker

BitLocker är ett system som ingår i vissa versioner av Windows Vista. Den fungerar som en drivrutin som körs mellan filsystemet och hårddiskens drivrutin, krypterar och dekrypterar utvalda sektorer på begäran. Nycklarna som används för kryptering finns kvar i RAM så länge den krypterade disken är krypterad.

För att kryptera varje sektor på en hårddisk använder BitLocker samma nycklar som skapats av AES-algoritmen: en sektorkrypteringsnyckel och en krypteringsnyckel som fungerar i läget för chifferblockkedjning (CBC). Dessa två nycklar är i sin tur krypterade med huvudnyckeln. För att kryptera en sektor utförs en binär additionsprocedur på klartexten med sessionsnyckeln genererad genom att kryptera sektoroffsetbyten med sektorkrypteringsnyckeln. Den resulterande datan bearbetas sedan av två blandningsfunktioner som använder den Microsoft-utvecklade Elephant-algoritmen. Dessa nyckellösa funktioner används för att öka antalet ändringar av alla chifferbitar och följaktligen öka osäkerheten hos den krypterade sektordatan. I det sista steget krypteras data med AES-algoritmen i CBC-läge, med hjälp av lämplig krypteringsnyckel. Initieringsvektorn bestäms genom att kryptera sektoroffsetbyten med krypteringsnyckeln som används i CBC-mod.

Vi har implementerat en helautomatisk demoattack som heter BitUnlocker. Detta använder en extern USB-enhet med Linux OS och en modifierad SYSLINUX-baserad bootloader och FUSE-drivrutinen, som låter dig ansluta BitLocker-krypterade enheter till Linux OS. På en testdator med Windows Vista stängdes strömmen av, en USB-hårddisk var ansluten och startade från den. Efter det dumpade BitUnlocker automatiskt RAM-minnet på en extern enhet, använde nyckelsökningsprogrammet för att söka efter möjliga nycklar, provade alla lämpliga alternativ (par av sektorkrypteringsnyckel och CBC-lägesnyckel), och om det lyckades, kopplade den krypterade enheten. Så fort disken var ansluten blev det möjligt att arbeta med den som vilken annan disk som helst. På en modern bärbar dator med 2 gigabyte RAM tog processen cirka 25 minuter.

Det är anmärkningsvärt att denna attack blev möjlig att utföra utan omvänd ingen programvara. I Microsoft-dokumentationen beskrivs BitLocker-systemet tillräckligt för att förstå rollen för sektorkrypteringsnyckeln och CBC-lägesnyckeln och skapa ditt eget program som implementerar hela processen.

Den största skillnaden mellan BitLocker och andra program i den här klassen är hur nycklar lagras när den krypterade enheten kopplas bort. Som standard, i basläget, skyddar BitLocker huvudnyckeln endast med TPM-modulen, som finns på många moderna datorer. Denna metod, som tycks vara flitigt använd, är särskilt sårbar för vår attack eftersom den gör att krypteringsnycklar kan erhållas även om datorn har varit avstängd under en lång tid, eftersom när datorn startar upp laddas nycklarna automatiskt in i RAM (före inloggningsfönstret) utan att ange någon autentiseringsinformation.

Uppenbarligen är Microsoft-specialister bekanta med detta problem och rekommenderar därför att konfigurera BitLocker i ett förbättrat läge, där nycklar skyddas inte bara med TPM, utan också med ett lösenord eller nyckel på en extern USB-enhet. Men även i detta läge är systemet sårbart om en angripare får fysisk åtkomst till datorn i det ögonblick då den fungerar (den kan till och med vara låst eller i viloläge (tillstånd - helt enkelt avstängd eller viloläge i det här fallet anses inte mottaglig för denna attack).

FileVault

Apples FileVault-system har delvis undersökts och reverse engineering. I Mac OS X 10.4 använder FileVault en 128-bitars AES-nyckel i CBC-läge. När användarlösenordet matas in dekrypteras rubriken som innehåller AES-nyckeln och den andra K2-nyckeln, som används för att beräkna initialiseringsvektorerna. Initieringsvektorn för det I:te skivblocket beräknas som HMAC-SHA1 K2(I).

Vi använde vårt EFI RAM-bildprogram för att hämta data från en Intel-baserad Mac med en FileVault-krypterad enhet ansluten. Efter detta hittade keyfind-programmet automatiskt FileVault AES-nycklar utan fel.

Utan en initieringsvektor, men med den resulterande AES-nyckeln, blir det möjligt att dekryptera 4080 av de 4096 byten i varje diskblock (alla utom det första AES-blocket). Vi såg till att initieringsvektorn också finns i dumpningen. Förutsatt att data ännu inte har blivit korrupta kan en angripare bestämma vektorn genom att prova alla 160-bitars strängar i dumpen en efter en och kontrollera om de kan bilda en möjlig klartext när binär läggs till i den dekrypterade första delen av blocket . Tillsammans kan du genom att använda program som vilefault, AES-nycklar och en initialiseringsvektor helt dekryptera en krypterad disk.

När vi undersökte FileVault upptäckte vi att Mac OS X 10.4 och 10.5 lämnar flera kopior av användarens lösenord i minnet, där de är sårbara för denna attack. Kontolösenord används ofta för att skydda nycklar, som i sin tur kan användas för att skydda lösenordsfraserna för FileVault-krypterade enheter.

TrueCrypt

TrueCrypt är ett populärt krypteringssystem med öppen källkod som körs på Windows, MacOS och Linux. Den stöder många algoritmer, inklusive AES, Serpent och Twofish. I version 4 fungerade alla algoritmer i LRW-läge; i den nuvarande 5:e versionen använder de XTS-läge. TrueCrypt lagrar krypteringsnyckeln och justerar nyckeln i partitionshuvudet på varje enhet, som krypteras med en annan nyckel som kommer från det användarinmatade lösenordet.

Vi testade TrueCrypt 4.3a och 5.0a som körs på Linux. Vi anslöt enheten, krypterade med en 256-bitars AES-nyckel, tog sedan bort strömmen och använde vår egen minnesdumpningsprogramvara för att starta. I båda fallen hittade keyfind en 256-bitars intakt krypteringsnyckel. Dessutom, i fallet med TrueCrypt 5.0.a, kunde keyfind återställa tweak-nyckeln för XTS-läget.

För att dekryptera diskar skapade av TrueCrypt 4 måste du justera LRW-lägesnyckeln. Vi fann att systemet lagrar det i fyra ord före AES-nyckelschemat. I vår soptipp var LRW-nyckeln inte skadad. (Om fel uppstod skulle vi fortfarande kunna återställa nyckeln).

Dm-krypten

Linuxkärnan, som börjar med version 2.6, inkluderar inbyggt stöd för dm-crypt, ett undersystem för diskkryptering. Dm-crypt använder en mängd olika algoritmer och lägen, men som standard använder den ett 128-bitars AES-chiffer i CBC-läge med IV genererade inte baserat på nyckelinformation.

Vi testade partitionen skapad av dm-crypt med hjälp av LUKS (Linux Unified Key Setup)-grenen av verktyget cryptsetup och 2.6.20-kärnan. Disken krypterades med AES i CBC-läge. Vi stängde kort av strömmen och tog en minnesdump med en modifierad PXE bootloader. Keyfind-programmet upptäckte en korrekt 128-bitars AES-nyckel, som återställdes utan några fel. Efter att den har återställts kan angriparen dekryptera och montera den krypterade dm-crypt-partitionen genom att modifiera cryptsetup-verktyget så att det accepterar nycklarna i det format som krävs.

Skyddsmetoder och deras begränsningar

Att implementera skydd mot attacker på RAM är inte trivialt, eftersom de kryptografiska nycklar som används måste lagras någonstans. Vi föreslår att man fokuserar på att förstöra eller dölja nycklar innan en angripare kan få fysisk åtkomst till datorn, förhindrar att RAM-dumpprogramvaran körs, skyddar RAM-chips fysiskt och minskar livslängden för RAM-data när det är möjligt.

Skriver över minne

Först och främst bör du när det är möjligt undvika att lagra nycklar i RAM. Du måste skriva över nyckelinformation när den inte längre används och förhindra att data kopieras till sidfiler. Minnet måste rensas i förväg med OS-verktyg eller ytterligare bibliotek. Naturligtvis kommer dessa åtgärder inte att skydda nycklar som för närvarande används, eftersom de måste lagras i minnet, såsom nycklar som används för krypterade diskar eller på säkra webbservrar.

Dessutom måste RAM-minnet rensas under uppstartsprocessen. Vissa datorer kan konfigureras för att rensa RAM-minne vid uppstart med hjälp av en rensning av POST-begäran (Power-on Self-Test) innan operativsystemet laddas. Om en angripare inte kan förhindra exekveringen av denna begäran, kommer han inte att kunna göra en minnesdump med viktig information på den här datorn. Men han har fortfarande möjlighet att ta bort RAM-chipsen och sätta in dem i en annan PC med de BIOS-inställningar han behöver.

Begränsa nedladdning från nätverket eller från flyttbara media

Många av våra attacker utfördes med nedladdningar över nätverket eller från flyttbara media. Datorn måste konfigureras för att kräva ett administratörslösenord för att starta från dessa källor. Men det bör noteras att även om systemet är konfigurerat att starta endast från huvudhårddisken, kan en angripare ändra själva hårddisken, eller i många fall återställa datorns NVRAM för att återgå till de ursprungliga BIOS-inställningarna.

Säkert viloläge

Resultaten av studien visade att bara låsning av PC-skrivbordet (det vill säga operativsystemet fortsätter att fungera, men för att börja interagera med det måste du ange ett lösenord) inte skyddar innehållet i RAM. Viloläge är inte heller effektivt om datorn är låst när den återgår från viloläge, eftersom en angripare kan aktivera återgång från viloläge, sedan starta om den bärbara datorn och ta en minnesdump. Viloläget (innehållet i RAM-minnet kopieras till hårddisken) kommer inte heller att hjälpa, förutom i de fall då nyckelinformation används på alienerade media för att återställa normal funktion.

I de flesta hårddiskkrypteringssystem kan användare skydda sig genom att stänga av datorn. (Bitlocker-systemet i TPM-modulens grundläggande driftläge förblir sårbart, eftersom disken ansluts automatiskt när datorn slås på). Minnesinnehållet kan finnas kvar en kort period efter att det kopplats bort, så det rekommenderas att du övervakar din arbetsstation i ett par minuter till. Trots dess effektivitet är denna åtgärd extremt obekväm på grund av arbetsstationernas långa laddningstid.

Övergången till viloläge kan säkras på följande sätt: kräva ett lösenord eller annan hemlighet för att "väcka" arbetsstationen och kryptera minnesinnehållet med en nyckel som härrör från detta lösenord. Lösenordet måste vara starkt, eftersom en angripare kan göra en minnesdump och sedan försöka gissa lösenordet med brute force. Om det inte är möjligt att kryptera hela minnet behöver du endast kryptera de områden som innehåller nyckelinformation. Vissa system kan vara konfigurerade att gå in i denna typ av skyddat viloläge, även om detta vanligtvis inte är standardinställningen.

Undvika förberäkningar

Vår forskning har visat att användning av förberäkning för att påskynda kryptografiska operationer gör nyckelinformation mer sårbar. Förberäkningar resulterar i att redundant information om nyckeldata dyker upp i minnet, vilket gör att en angripare kan återställa nycklar även om det finns fel. Till exempel, som beskrivs i avsnitt 5, är information om de iterativa nycklarna för AES- och DES-algoritmerna extremt överflödig och användbar för en angripare.

Att inte göra förberäkningar kommer att minska prestandan eftersom potentiellt komplexa beräkningar måste upprepas. Men du kan till exempel cache förberäknade värden under en viss tidsperiod och radera mottagen data om den inte används under detta intervall. Detta tillvägagångssätt representerar en avvägning mellan säkerhet och systemprestanda.

Nyckelexpansion

Ett annat sätt att förhindra nyckelåterställning är att ändra nyckelinformationen som är lagrad i minnet på ett sådant sätt att det blir svårare att återställa nyckeln på grund av olika fel. Denna metod har diskuterats i teorin, där en upptäcktsresistent funktion har visats vars indata förblir dold även om praktiskt taget all utdata har upptäckts, ungefär som driften av envägsfunktioner.

Föreställ dig i praktiken att vi har en 256-bitars AES-nyckel K som inte används för närvarande men som kommer att behövas senare. Vi kan inte skriva över den, men vi vill göra den resistent mot återställningsförsök. Ett sätt att uppnå detta är att allokera ett stort B-bitars dataområde, fylla det med slumpdata R och sedan lagra i minnet resultatet av följande transformation K+H(R) (binär summering, reds. anm.), där H är en hashfunktion, till exempel SHA-256.

Föreställ dig nu att strömmen var avstängd, detta skulle göra att d-bitarna i detta område ändras. Om hashfunktionen är stark, när han försöker återställa nyckel K, kan angriparen bara räkna med att kunna gissa vilka bitar av område B som ändrades av ungefär hälften som kunde ha ändrats. Om d bitar har ändrats måste angriparen söka i ett område med storlek (B/2+d)/d för att hitta rätt värden på R och sedan återställa nyckel K. Om område B är stort, t.ex. en sökning kan vara mycket lång, även om d är relativt liten

I teorin skulle vi kunna lagra alla nycklar på detta sätt, beräkna varje nyckel bara när vi behöver den och radera den när vi inte behöver den. Med hjälp av ovanstående metod kan vi alltså lagra nycklarna i minnet.

Fysiskt skydd

Vissa av våra attacker förlitade sig på att ha fysisk tillgång till minneschips. Sådana attacker kan förhindras genom fysiskt minnesskydd. Till exempel är minnesmoduler placerade i ett stängt PC-fodral eller är förseglade med epoxilim för att förhindra försök att ta bort eller komma åt dem. Du kan också implementera minnesradering som ett svar på låga temperaturer eller försök att öppna höljet. Denna metod kommer att kräva installation av sensorer med ett oberoende strömförsörjningssystem. Många av dessa metoder involverar manipuleringssäker hårdvara (som IBM 4758-samprocessorn) och kan avsevärt öka kostnaderna för arbetsstationen. Å andra sidan kommer det att bli mycket billigare att använda minne som är lödat till moderkortet.

Arkitekturförändring

Du kan ändra PC-arkitekturen. Detta är omöjligt för redan använda datorer, men gör att du kan säkra nya.

Det första tillvägagångssättet är att designa DRAM-moduler så att de raderar all data snabbare. Detta kan vara knepigt eftersom målet att radera data så snabbt som möjligt står i konflikt med det andra målet att förhindra att data försvinner mellan minnesuppdateringsperioderna.

Ett annat tillvägagångssätt är att lägga till hårdvara för lagring av nyckelinformation som garanterat raderar all information från dess lagring vid start, omstart och avstängning. På så sätt kommer vi att ha en säker plats för att lagra flera nycklar, även om sårbarheten i samband med deras förberäkning kommer att finnas kvar.

Andra experter har föreslagit en arkitektur där innehållet i minnet skulle vara permanent krypterat. Om vi ​​utöver detta implementerar radering av nycklar under en omstart och strömavbrott, kommer denna metod att ge tillräckligt skydd mot de attacker vi har beskrivit.

Trusted Computing

Hårdvara som motsvarar konceptet "trusted computing", till exempel i form av TPM-moduler, används redan i vissa datorer. Även om den är användbar för att skydda mot vissa attacker, hjälper inte sådan utrustning i sin nuvarande form att förhindra de attacker vi beskriver.

TPM-modulerna som används implementerar inte full kryptering. Istället observerar de uppstartsprocessen för att avgöra om det är säkert att ladda nyckeln i RAM-minnet eller inte. Om programvaran behöver använda en nyckel, kan följande teknik implementeras: nyckeln, i en användbar form, kommer inte att lagras i RAM förrän startprocessen går som förväntat. Men så fort nyckeln finns i RAM-minnet blir den omedelbart ett mål för våra attacker. TPM:er kan förhindra att en nyckel laddas in i minnet, men de hindrar inte att den läses från minnet.

Slutsatser

Tvärtemot vad många tror lagrar DRAM-moduler data under en relativt lång tid när de är inaktiverade. Våra experiment har visat att detta fenomen tillåter en hel klass av attacker som kan erhålla känslig data, såsom krypteringsnycklar, från RAM, trots OS:s försök att skydda dess innehåll. De attacker vi har beskrivit kan implementeras i praktiken, och våra exempel på attacker mot populära krypteringssystem bevisar detta.

Men andra typer av programvara är också sårbara. DRM-system (Digital Rights Management) använder ofta symmetriska nycklar lagrade i minnet, och dessa kan även erhållas med de metoder som beskrivs. Som vi har visat är SSL-aktiverade webbservrar också sårbara eftersom de lagrar de privata nycklar som behövs för att skapa SSL-sessioner i minnet. Våra nyckelinformationssökningstekniker kommer sannolikt att vara effektiva för att hitta lösenord, kontonummer och all annan känslig information som lagras i RAM.

Det verkar som att det inte finns något enkelt sätt att fixa de upptäckta sårbarheterna. Programvaruändringen kommer troligen inte att vara effektiv; hårdvaruförändringar kommer att hjälpa, men tids- och resurskostnaderna blir höga; Pålitlig datorteknik i sin nuvarande form är också ineffektiv eftersom den inte kan skydda nycklar som finns i minnet.

Enligt vår åsikt är bärbara datorer som ofta är placerade på offentliga platser och fungerar i lägen som är sårbara för dessa attacker mest mottagliga för denna risk. Förekomsten av sådana risker visar att diskkryptering skyddar viktig data i mindre utsträckning än vad man brukar tro.

Som ett resultat kan du behöva behandla DRAM-minne som en opålitlig komponent i en modern dator och undvika att behandla känslig känslig information i den. Men för närvarande är detta inte praktiskt förrän arkitekturen hos moderna datorer ändras så att programvara kan lagra nycklar på en säker plats.