U današnje vreme, preduzeća su izložena ogromnom pritisku da održe kontinuitet svog poslovanja. Ako je vaše poslovanje podešeno da radi glatko, vaš bezbednosni tim mora da zaštiti vaše operacije od svih potencijalnih pretnji koje bi mogle da ih poremete.
Ključna stvar je da ono što se danas smatra bezbednim, sutra može biti ugroženo. Ova pojava se javlja zato što se sa razvojem algoritama pojavljuju nove ranjivosti, a sajber napadači razvijaju sve sofisticiranije metode za proboj kriptografije na koju se mnoge kompanije oslanjaju.
Kriptoanaliza, koja se često naziva i „razbijanje šifri“, predstavlja detaljno razumevanje tehnika koje se koriste za dešifrovanje i ispitivanje kodova, šifara ili kriptovanog teksta. Kriptoanaliza primenjuje matematičke principe kako bi otkrila slabosti algoritama i, šire, grana se u kriptografiju u okviru sistema informacione bezbednosti.
Ovaj vodič će vam pružiti sveobuhvatno znanje o kriptoanalizi. Steći ćete dubinsko razumevanje ove teme i naučiti kako da vašu organizaciju učinite otpornijom na kriptoanalitičke napade.
Šta je kriptoanaliza?
Proces kriptoanalize je usmeren na proučavanje kriptografskih sistema kako bi se identifikovale slabosti i potencijalno curenje informacija. Može se posmatrati kao istraživanje mana u samoj matematičkoj strukturi kriptografskog sistema, uključujući ranjivosti u implementaciji, kao što su napadi sa bočnih kanala i nedovoljna entropija ulaznih podataka.
Kriptografski sistemi su kompjuterski sistemi koji koriste kriptografiju – metodu zaštite informacija i komunikacije pomoću kodova, tako da samo ovlašćeni korisnici mogu da ih obrađuju.
Kriptoanaliza vs. Kriptografija
Ako posmatramo samu definiciju, u kriptografiji je glavni cilj sakrivanje poruke pretvaranjem u šifrovani tekst pre slanja preko nesigurnih kanala. Sa druge strane, kriptoanaliza uključuje rekonstruisanje originalne poruke iz šifrovanog teksta koji je prenet preko istog nesigurnog kanala.
Kriptografija se pokazala izuzetno korisnom u prenosu informacija. Bankarske transakcije i e-mail poruke su odlični primeri upotrebe kriptografije kada je potrebno obezbediti informaciju. Kriptografske šeme obuhvataju tajne ključeve, javne ključeve i heš funkcije.
Kriptoanaliza je veština dešifrovanja šifrovanog teksta i pretvaranja u običan tekst. U ovom slučaju, napadač pokušava da dešifruje vašu poruku prisluškivanjem kanala.
Ko koristi kriptoanalizu?
Brojne organizacije koriste kriptoanalizu, uključujući vlade koje pokušavaju da dešifruju privatnu komunikaciju drugih država, kompanije koje testiraju bezbednosne karakteristike svojih proizvoda, hakere, krekere, nezavisne istraživače i akademske praktičare koji istražuju ranjivosti u kriptografskim protokolima i algoritmima.
Napredak u kriptologiji je rezultat neprekidne borbe između kriptografa koji teže ka zaštiti podataka i kriptoanalitičara koji rade na razbijanju kripto sistema.
Ciljevi napadača zavise od specifičnih potreba za sprovođenje kriptoanalize. Uspešna kriptoanaliza se obično ne proteže dalje od dobijanja informacija iz šifrovanog teksta. Međutim, to je dovoljno u skladu sa potrebama napadača, čiji se ciljevi razlikuju, ali nisu ograničeni na:
- Potpuno razbijanje – pronalaženje tajnih ključeva.
- Globalna dedukcija – pronalaženje ekvivalentnih algoritama za šifrovanje i dešifrovanje, bez znanja o tajnim ključevima.
- Informaciona dedukcija – dobijanje informacija o šifrovanom i običnom tekstu.
- Algoritamsko razlikovanje – razlikovanje izlaza šifrovanja od slučajnih permutacija bitova.
Pogledajmo praktičan primer koji je lako razumeti. Važno je naglasiti da ovaj primer ne odražava savremene kriptografske šifre, ali je koristan za izgradnju razumevanja.
Tehnika analize frekvencija se može koristiti na osnovnim algoritmima šifrovanja. Osnovni algoritmi ove klase vrše monoalfabetske zamene, gde se svako slovo zamenjuje unapred definisanim odgovarajućim slovom iz istog alfabeta.
Ovaj model predstavlja poboljšanje u odnosu na osnovnije tehnike koje su pomicale slova za konstantan broj pozicija, zamenjujući stara slova novim sa rezultujuće abecedne pozicije.
Iako su monoalfabetske supstitucione šifre otporne na nasumične pretrage, one nisu imune i lako se mogu razbiti uz pomoć olovke i papira. Kako? Analiza frekvencija koristi činjenicu da prirodni jezik nije nasumičan, a monoalfabetska zamena ne skriva statističke karakteristike jezika.
Detaljnije, usmerimo se na određeno slovo, kao što je „E“, koje ima karakterističnu frekvenciju, recimo 12,7%. Kada zamenite E da biste dobili šifrovani tekst, rezultujući tekst zadržava svoju početnu frekvenciju. Ako je ova frekvencija poznata kriptoanalitičaru, on može brzo da odredi zamene za dešifrovanje vašeg šifrovanog teksta.
Vrste kriptoanalitičkih napada
Kriptoanalitički napadi koriste ranjivosti u vašem sistemu kako bi dešifrovali njegovu kriptografiju. Za pokretanje kriptoanalitičkog napada neophodno je znati prirodu metoda i opšta svojstva originalnog teksta. Originalni tekst može biti na bilo kom jeziku, uključujući engleski ili Java kod.
Sledi lista različitih vrsta napada. Prvih pet su najčešći; ostali su ređi i ponekad se izostavljaju; ipak, dobro ih je poznavati.
- Napad poznatim običnim tekstom (KPA): U ovom slučaju, napadač ima određeni pristup parovima originalnog teksta i šifrovanog teksta. Nakon toga, napadač treba samo da mapira parove kako bi pronašao ključ za šifrovanje. Ovaj napad je jednostavan za primenu jer napadač ima na raspolaganju puno informacija.
- Napad odabranim običnim tekstom (CPA): U ovom scenariju, napadač bira nasumične obične tekstove, koristi ih da dobije odgovarajući šifrovani tekst, i na kraju pokušava da razbije ključ za šifrovanje. Ovaj metod je sličan KPA, ali su manje šanse za uspeh.
- Napad samo šifrovanim tekstom (COA): U ovom slučaju, napadaču je poznat samo neki šifrovani tekst, i on pokušava da pronađe odgovarajući obični tekst i ključ za šifrovanje. Napadač razume vaš algoritam. Ova tehnika je najizazovnija, ali ima značajnu stopu uspeha jer zahteva samo šifrovani tekst.
- Napad „čovek u sredini“ (MITM): Dešava se kada dve strane dele komunikaciju pomoću ključa preko naizgled bezbednog, ali kompromitovanog kanala.
- Adaptivni napad odabranim običnim tekstom (ACPA): Ovaj slučaj podseća na CPA. ACPA koristi identifikovani obični tekst i šifrovani tekst na osnovu podataka naučenih iz prethodnih enkripcija.
- Napad grubom silom: U ovom slučaju, napadač koristi algoritme za predviđanje mogućih logičkih skupova običnog teksta. Pretpostavljeni obični tekst se zatim šifruje i upoređuje sa originalnom šifrom.
- Napadi rečnikom: U ovom scenariju, napadač pokreće ili obični tekst ili ključeve protiv rečnika. Ova tehnika se često koristi prilikom pokušaja razbijanja nekih šifrovanih lozinki.
Kako funkcioniše kriptoanaliza?
Osnovni cilj kriptografske analize je otkrivanje nedostataka ili zaobilaženje kriptografskih algoritama. Kriptografi koriste istraživanja kriptoanalitičara da bi unapredili postojeće algoritme ili nadogradili metode ispod nivoa.
Dok kriptografija stvara i poboljšava šifrovane šifre i druge tehnike, kriptoanaliza se fokusira na dešifrovanje šifrovanih podataka. Ove dve operacije su suprotstavljene i ograničene na domen kriptologije – matematičke studije kodova, šifara i srodnih algoritama.
Istraživači nastoje da razviju strategije napada koje prevazilaze šeme šifrovanja, i na taj način pokreću dešifrovanje šifrovanog teksta bez potrebe za ključevima za šifrovanje. Kriptoanaliza se često koristi za otkrivanje nedostataka u koncepciji i metodama izvršenja.
Kako se zaštititi od kriptoanalitičkih napada?
Nažalost, ne možete učiniti mnogo da biste bili potpuno imuni na kriptoanalizu, osim korišćenja bezbedne šeme šifrovanja, šifrovanja cele digitalne infrastrukture i redovnog ažuriranja softvera. Međutim, evo nekoliko saveta koje možete koristiti da poboljšate bezbednost:
- Koristite ažurirane algoritme za šifrovanje i heširanje. Preporučuje se izbegavanje alata kao što su SHA1 i MD5, koji se više ne smatraju bezbednim.
- Koristite dugačke ključeve za šifrovanje. Na primer, vaši RSA ključevi bi trebalo da budu dugački najmanje 2048 bita za VPN rukovanje.
- Ne zaboravite da uništite iskorišćene ključeve.
- Koristite jake lozinke i primenite testirani generator slučajnih brojeva kako biste postavili svoje ključeve.
- Posolite svoje hešove. U ovom procesu, dodajete nasumični šum u vaše hešove. Vaša so treba da bude duga i nasumična, baš kao kada radite sa lozinkama.
- Koristite savršenu tajnost prosleđivanja (PFS) kako biste sprečili dešifrovanje prošlih i budućih sesija ako su vaši ključevi kompromitovani. Ova tehnika se često koristi u virtuelnim privatnim mrežama (VPN).
- Prikrivanje šifrovanog saobraćaja – pobrinite se da vaš saobraćaj izgleda obično i ne otkriva činjenicu da je šifrovan. Softver kao što je ObfsProxy je dobar primer alata koji dobro radi sa Tor mrežom.
- Integrirajte sistem za detekciju upada (IDS) u vašu infrastrukturu – ovaj sistem će vas obavestiti o proboju ili napadu. Međutim, ovo ne zaustavlja proboj, već skraćuje vreme reakcije, štiteći vaš sistem od ozbiljnije štete. Preporučuje se da imate dobar IDS integrisan u vaš sistem.
Primena kriptoanalize
Kriptoanaliza ima brojne primene u realnom svetu. Ponekad se može kombinovati sa kriptografijom kako bi se ostvario njen pun potencijal. Evo nekih primena:
#1. Integritet u skladištenju
Kriptoanalizu možete koristiti za održavanje integriteta u skladištu. U ovom slučaju, koristite brave i ključeve u sistemu kontrole pristupa kako biste zaštitili podatke od neovlašćenog pristupa. Takođe, možete da kreirate kriptografske kontrolne sume da biste utvrdili autentičnost podataka uskladištenih u dinamičnim okruženjima gde su virusi skloni modifikovanim pristupima podacima.
Kontrolna suma se razvija i upoređuje sa očekivanom vrednošću tokom prenosa podataka. Kriptoanaliza pomaže da se obezbede mediji za skladištenje koji su izloženi napadima nakon velikih količina podataka ili onih koji su dugo bili izloženi spoljašnjim uticajima.
#2. Autentifikacija identiteta
Kod autentifikacije identiteta, vaš glavni fokus je potvrđivanje ovlašćenja korisnika za pristup podacima. Kriptoanaliza olakšava ovaj proces tokom razmene lozinki. Savremeni sistemi kombinuju kriptografske transformacije sa atributima osobe kako bi pouzdano i efikasno identifikovali korisnike.
Lozinke se čuvaju u šifrovanim formatima gde aplikacije sa pristupom mogu da ih koriste. Pošto se lozinke ne čuvaju u običnom tekstu, bezbednost vašeg sistema nije ugrožena.
#3. Sistemski akreditivi
Kriptoanalizu i kriptografiju možete koristiti za kreiranje sistemskih akreditiva. Kada se korisnici prijave u vaš sistem, uvek će morati da prilože dokaz o svojim ličnim akreditivima pre nego što im se odobri pristup.
Elektronski akreditivi se kreiraju da bi se olakšale elektronske verifikacije. Ova tehnika se često primenjuje na pametnim karticama za obavljanje kriptografskih operacija, uključujući skladištenje podataka.
#4. Digitalni potpisi
Digitalni potpisi se često koriste u komunikaciji kako bi se potvrdila autentičnost poruka od poznatog pošiljaoca. Ovo je slično potpisivanju dokumenata olovkom i papirom. Ako digitalni potpisi treba da zamene analogne potpise, oni se prave korišćenjem tehnologije kriptoanalize.
Ovo se pokazalo korisnim u situacijama kada organizacije imaju timove raspoređene na mnogim lokacijama i nemaju mogućnost da se sastanu lično radi razmene dokumenata. Sa digitalnim potpisima, svako ko poseduje javni ključ može da verifikuje dokument, što je široko prihvaćeno u domenu kriptovaluta.
#5. Elektronski transferi sredstava (ETF)
U poslednje vreme, elektronski novac zamenjuje gotovinske transakcije. Elektronski transferi sredstava, virtuelne valute, digitalni zlatni novac, kriptovalute i direktni depoziti su sistemi zasnovani na kriptografiji. Podizanje novca na bankomatima, plaćanja debitnom karticom i bankarski transferi su primeri operacija sa elektronskim novcem.
Kako postati kriptoanalitičar?
Nakon što ste videli širok spektar primene kriptoanalize, možda ćete razmisliti o tome da postanete kriptoanalitičar. Ako to učinite, verovatno ćete raditi na razvoju algoritama, šifri i bezbednosnih sistema za šifrovanje podataka. Takođe, možete očekivati analizu i dešifrovanje informacija u kriptografskim metodama i telekomunikacionim protokolima.
Možete očekivati da ćete obavljati uloge kao što su dizajniranje bezbednosnih sistema, zaštita kritičnih informacija od presretanja, testiranje pouzdanosti kompjuterskih modela, šifrovanje finansijskih podataka, razvoj statističkih i matematičkih modela za analizu podataka, i rešavanje bezbednosnih problema. Ako vas ovo inspiriše, nastavite da čitate da biste saznali kako da to ostvarite.
Možete steći diplomu u oblasti računarstva, inženjerstva, matematike ili srodnih oblasti, kao što je elektrotehnika ili elektronika. Međutim, neke organizacije mogu da vas zaposle na osnovu intenzivne obuke i praktičnog iskustva bez tehničke diplome. Posedovanje određenih sertifikata iz oblasti sajber bezbednosti je dodatna prednost.
Završne reči
Kriptoanaliza je više alat za sajber napad nego sam napad. S obzirom na to da je većina sistema šifrovanja otporna na kriptoanalitičke napade, razumevanje ranjivih sistema zahteva sofisticirano matematičko znanje, što nije lako steći.
Ako razmišljate o učenju kriptoanalize, to je uzbudljiva oblast za rad na širokom spektru proizvoda, kao što su finansije, skladištenje i identitet.
Videli ste koliko je kriptoanaliza moćna i kako može da pomogne u razvoju aplikacija u realnom svetu. Bilo bi dobro da se bavite kriptoanalizom i još bolje da koristite svoje veštine za kreiranje sigurnijih aplikacija.
Takođe, možete da proverite šifrovanje podataka: ključnu terminologiju.