Kryptografiska orakel kan vara bra verktyg för hackare. Här är varför.

Är det möjligt för en angripare att dekryptera och kryptera data på din applikation utan att känna till dekrypteringsnycklarna? Svaret är ja, och det ligger inom en kryptografisk brist som kallas ett krypteringsorakel.

Krypteringsorakel fungerar som en potentiell inkörsport för angripare att samla information om krypterad data, allt utan direkt tillgång till krypteringsnyckeln. Så, hur kan angripare utnyttja kryptografiska orakel genom tekniker som utfyllnad av orakelattacker? Hur kan du förhindra att sådana sårbarheter påverkar dig?

Vad är ett kryptografiskt orakel?

Kryptering är ett säkerhetsprotokoll där vanlig text eller data konverteras till ett oläsbart kodat format, även känt som chiffertext, för att skydda dess konfidentialitet och se till att den endast kan nås av auktoriserade parter med dekrypteringen nyckel. Det finns två typer av kryptering: asymmetrisk och symmetrisk.

Asymmetrisk kryptering använder ett par distinkta nycklar (offentliga och privata) för kryptering och dekryptering, medan symmetrisk kryptering använder en enda delad nyckel för både kryptering och dekryptering. Du kan kryptera nästan vad som helst, textmeddelanden, e-postmeddelanden, filer, webbtrafik, etc.

instagram viewer

Å andra sidan är ett orakel ett medium genom vilket en person vanligtvis får information som vanligtvis inte skulle vara tillgänglig för bara män. Tänk på ett orakel som en speciell låda när du passerar något, och det ger dig ett resultat. Du vet inte innehållet i lådan, men du vet att det fungerar.

Ett kryptografiskt orakel, även känt som ett utfyllnadsorakel, är ett begrepp inom kryptografi som refererar till en system eller enhet som kan tillhandahålla information om krypterad data utan att avslöja krypteringen nyckel. I grund och botten är det ett sätt att interagera med ett krypteringssystem för att få kunskap om den krypterade datan utan att ha direkt tillgång till krypteringsnyckeln.

Ett kryptografiskt orakel består av två delar: frågan och svaret. Frågan hänvisar till åtgärden att förse oraklet med chiffertext (krypterad data), och svaret är feedbacken eller informationen från oraklet baserat på dess analys av chiffertexten. Detta kan inkludera att verifiera dess giltighet eller avslöja detaljer om motsvarande oformaterad text, eventuellt hjälpa en angripare att dechiffrera den krypterade informationen och vice versa.

Hur fungerar Padding Oracle Attacks?

Ett stort sätt som angripare utnyttjar kryptografiska orakel är via en utfyllnads-orakelattack. En utfyllnads-orakelattack är en kryptografisk attack som utnyttjar beteendet hos ett krypteringssystem eller en tjänst när den avslöjar information om utfyllnadens korrekthet i chiffertext.

För att detta ska hända måste angriparen upptäcka ett fel som avslöjar ett kryptografiskt orakel, sedan skicka modifierad chiffertext till det och observera oraklets svar. Genom att analysera dessa svar kan angriparen härleda information om den vanliga texten, såsom dess innehåll eller längd, även utan att ha tillgång till krypteringsnyckeln. Angriparen kommer upprepade gånger att gissa och ändra delar av chiffertexten tills de återställer hela oformaterad text.

I ett verkligt scenario kan en angripare misstänka att en onlinebankapplikation, som krypterar användardata, kan ha en sårbarhet för utfyllnad av orakel. Angriparen fångar upp en legitim användares krypterade transaktionsbegäran, modifierar den och skickar den till programmets server. Om servern svarar annorlunda – genom fel eller den tid det tar att bearbeta begäran – på den modifierade chiffertexten kan det tyda på en sårbarhet.

Angriparen utnyttjar det sedan med noggrant utformade frågor, dekrypterar så småningom användarens transaktionsdetaljer och får eventuellt obehörig åtkomst till deras konto.

Ett annat exempel är att använda krypteringsoraklet för att kringgå autentisering. Om en angripare upptäcker ett krypteringsorakel i förfrågningar från en webbapplikation som krypterar och dekrypterar data, kan angriparen använda det för att få tillgång till en giltig användarkonto. Han kunde dekryptera kontots sessionstoken, via oraklet, modifiera vanlig text med samma orakel, och ersätt sessionstoken med en skapad krypterad token som ger honom åtkomst till en annan användares konto.

Hur man undviker kryptografiska Oracle-attacker

Kryptografiska orakelattacker är ett resultat av sårbarheter i utformningen eller implementeringen av kryptografiska system. Det är viktigt att se till att du implementerar dessa kryptografiska system säkert för att förhindra attacker. Andra åtgärder för att förhindra krypteringsorakel inkluderar:

  1. Autentiserade krypteringslägen: Att använda autentiserade krypteringsprotokoll som AES-GCM (Galois/Counter Mode) eller AES-CCM (Counter with CBC-MAC) inte bara ger konfidentialitet men också integritetsskydd, vilket gör det svårt för angripare att manipulera eller dekryptera chiffertext.
  2. Konsekvent felhantering: Se till att krypterings- eller dekrypteringsprocessen alltid returnerar samma felsvar, oavsett om utfyllnaden är giltig eller inte. Detta eliminerar skillnader i beteende som angripare kan utnyttja.
  3. Säkerhetstestning: Genomför regelbundet säkerhetsbedömningar, inklusive penetrationstestning och kodgranskning, för att identifiera och mildra potentiella sårbarheter, inklusive problem med krypteringsorakel.
  4. Prisbegränsande: Implementera hastighetsbegränsning för krypterings- och dekrypteringsförfrågningar för att upptäcka och förhindra brute-force-attacker.
  5. Indatavalidering: Validera och sanera användarinmatningar noggrant före kryptering eller dekryptering. Se till att ingångarna följer det förväntade formatet och längden för att förhindra utfyllnad av orakelattacker via manipulerade ingångar.
  6. Säkerhetsutbildning och medvetenhet: Utbilda utvecklare, administratörer och användare om bästa metoder för kryptering och säkerhet för att främja en säkerhetsmedveten kultur.
  7. Regelbundna uppdateringar: Håll alla programvarukomponenter, inklusive kryptografiska bibliotek och system, uppdaterade med de senaste säkerhetskorrigeringarna och uppdateringarna.

Förbättra din säkerhetsställning

Att förstå och skydda mot attacker som krypteringsorakel är ett måste. Genom att implementera säkra metoder kan organisationer och individer stärka sitt försvar mot dessa lömska hot.

Utbildning och medvetenhet spelar också en avgörande roll, för att främja en säkerhetskultur som sträcker sig från utvecklare och administratörer till slutanvändare. I denna pågående kamp för att skydda känsliga uppgifter, vara vaksam, hålla sig informerad och hålla ett steg före potentiella angripare är nyckeln till att bevara integriteten hos dina digitala tillgångar och den data du har Kära.