Kriptografska proročanstva mogu biti sjajni alati za hakere. Evo zašto.

Je li moguće da napadač dekriptira i šifrira podatke na vašoj aplikaciji bez poznavanja ključeva za dešifriranje? Odgovor je da, i nalazi se unutar kriptografske greške koja se zove enkripcijsko proročište.

Proročanstva za šifriranje služe kao potencijalni prolaz za napadače za prikupljanje informacija o šifriranim podacima, a sve bez izravnog pristupa ključu za šifriranje. Dakle, kako napadači mogu iskoristiti kriptografska proročanstva putem tehnika kao što su padding proročki napadi? Kako možete spriječiti da takve ranjivosti utječu na vas?

Što je kriptografsko proročište?

Enkripcija je sigurnosni protokol u kojem se čisti tekst ili podaci pretvaraju u nečitljiv kodirani format, također poznat kao šifrirani tekst, kako bi zaštititi njegovu povjerljivost i osigurati da mu mogu pristupiti samo ovlaštene strane s dešifriranjem ključ. Postoje dvije vrste enkripcije: asimetrična i simetrična.

Asimetrična enkripcija koristi par različitih ključeva (javnih i privatnih) za šifriranje i dešifriranje, dok simetrična enkripcija koristi jedan zajednički ključ i za šifriranje i za dešifriranje. Možete šifrirati gotovo sve, tekstualne poruke, e-poštu, datoteke, web promet itd.

instagram viewer

S druge strane, proročište je medij putem kojeg osoba obično dobiva informacije koje inače ne bi bile dostupne običnim ljudima. Zamislite proročište kao posebnu kutiju kroz koju nešto prođete, a to vam daje rezultat. Ne znate sadržaj kutije, ali znate da radi.

Kriptografsko proročište, također poznato kao padding proročanstvo, koncept je u kriptografiji koji se odnosi na sustav ili entitet koji može pružiti informacije o šifriranim podacima bez otkrivanja enkripcije ključ. U biti, to je način interakcije sa sustavom za šifriranje kako bi se steklo znanje o šifriranim podacima bez izravnog pristupa ključu za šifriranje.

Kriptografsko proročište sastoji se od dva dijela: upita i odgovora. Upit se odnosi na radnju pružanja proročištu šifriranog teksta (šifriranih podataka), a odgovor je povratna informacija ili informacija koju pruža proročište na temelju svoje analize šifriranog teksta. To može uključivati ​​provjeru njegove valjanosti ili otkrivanje pojedinosti o odgovarajućem čistom tekstu, potencijalno pomaganje napadaču u dešifriranju šifriranih podataka, i obrnuto.

Kako funkcioniraju Padding Oracle napadi?

Jedan od glavnih načina na koji napadači iskorištavaju kriptografska proročanstva je putem padding oracle napada. Padding oracle napad je kriptografski napad koji iskorištava ponašanje sustava ili usluge šifriranja kada otkriva informacije o ispravnosti paddinga u šifriranom tekstu.

Da bi se to dogodilo, napadač mora otkriti grešku koja otkriva kriptografsko proročište, zatim mu poslati modificirani šifrirani tekst i promatrati odgovore proročišta. Analizirajući te odgovore, napadač može zaključiti informacije o čistom tekstu, poput njegovog sadržaja ili duljine, čak i bez pristupa ključu za šifriranje. Napadač će više puta pogađati i modificirati dijelove šifriranog teksta dok ne povrati cijeli čisti tekst.

U scenariju stvarnog svijeta, napadač može posumnjati da aplikacija za internetsko bankarstvo, koja šifrira korisničke podatke, može imati ranjivost padding oracle. Napadač presreće kriptirani zahtjev za transakciju legitimnog korisnika, modificira ga i šalje na poslužitelj aplikacije. Ako poslužitelj drugačije odgovori - putem pogrešaka ili vremena potrebnog za obradu zahtjeva - na modificirani šifrirani tekst, to može ukazivati ​​na ranjivost.

Napadač to zatim iskorištava pažljivo izrađenim upitima, na kraju dešifrirajući korisnikove podatke o transakciji i potencijalno dobivajući neovlašteni pristup njegovom računu.

Drugi primjer je korištenje enkripcijskog orakula za zaobilaženje provjere autentičnosti. Ako napadač otkrije enkripcijski orakul u zahtjevima web aplikacije koja šifrira i dešifrira podatke, napadač ga može koristiti za pristup važećem korisničkom računu. Mogao je dešifrirati token sesije računa, putem proročišta, modificirati čisti tekst koristeći isto proročište, i zamijeni token sesije izrađenim šifriranim tokenom koji će mu dati pristup drugom korisniku račun.

Kako izbjeći kriptografske Oracle napade

Kriptografski oracle napadi rezultat su ranjivosti u dizajnu ili implementaciji kriptografskih sustava. Važno je osigurati sigurnu implementaciju ovih kriptografskih sustava kako biste spriječili napade. Druge mjere za sprječavanje proročišta šifriranja uključuju:

  1. Autentificirani načini šifriranja: Korištenje provjerenih protokola šifriranja kao što su AES-GCM (Galois/Counter Mode) ili AES-CCM (Counter s CBC-MAC) ne samo pruža povjerljivost, ali i zaštitu integriteta, što napadačima otežava neovlašteno mijenjanje ili dešifriranje šifrirani tekst.
  2. Dosljedno rukovanje pogreškama: Osigurajte da proces šifriranja ili dešifriranja uvijek vraća isti odgovor o pogrešci, bez obzira na to je li ispuna važeća ili ne. Ovo eliminira razlike u ponašanju koje bi napadači mogli iskoristiti.
  3. Sigurnosno testiranje: Redovito provodite sigurnosne procjene, uključujući penetracijsko testiranje i pregled koda, za prepoznavanje i ublažavanje potencijalnih ranjivosti, uključujući probleme s šifriranjem Oracle.
  4. Ograničenje brzine: Implementirajte ograničenje brzine za zahtjeve za šifriranje i dešifriranje kako biste otkrili i spriječili napade grubom silom.
  5. Validacija unosa: Prije enkripcije ili dešifriranja temeljito provjerite i očistite korisničke unose. Osigurajte da se ulazi pridržavaju očekivanog formata i duljine kako biste spriječili napade padding oracle putem manipuliranih unosa.
  6. Sigurnosno obrazovanje i svijest: Obučite programere, administratore i korisnike o najboljim praksama šifriranja i sigurnosti za poticanje kulture osviještene o sigurnosti.
  7. Redovita ažuriranja: Održavajte sve softverske komponente, uključujući kriptografske biblioteke i sustave, ažuriranima s najnovijim sigurnosnim zakrpama i ažuriranjima.

Poboljšajte svoj sigurnosni položaj

Obavezno je razumjeti i zaštititi se od napada poput proročanstava šifriranja. Primjenom sigurnih praksi, organizacije i pojedinci mogu ojačati svoju obranu od ovih podmuklih prijetnji.

Obrazovanje i svijest također igraju ključnu ulogu u poticanju kulture sigurnosti koja se proteže od programera i administratora do krajnjih korisnika. U ovoj neprestanoj borbi za zaštitu osjetljivih podataka, ostanite budni, informirani i ostanite jedan korak ispred potencijalnih napadača je ključ za očuvanje integriteta vaše digitalne imovine i podataka koje imate draga.