Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:strojno_ucenje:napadi_na_lozinke_pomocu_neuronskih_mreza [2022/01/05 12:28]
mrabuzin [Uvod]
racfor_wiki:strojno_ucenje:napadi_na_lozinke_pomocu_neuronskih_mreza [2024/12/05 12:24] (trenutno)
Redak 18: Redak 18:
   * Potrebno je mijenjati lozinku 30-45 dana ovisno o razini sigurnosti   * Potrebno je mijenjati lozinku 30-45 dana ovisno o razini sigurnosti
  
-Ako lozinka sadrži navedene kriterije tada je sigurna od apsolutno svih komercijalno poznatih napada na lozinke. Ako lozinka ima više od 12 znamenki tada je metoda napada grubom silom iscrpna te će trajati sigurno više od 2 mjeseca te samim time iako se provede napad na ovakvu lozinku, ako ju promijenimo nakon 30 dana tada je napad neuspješan. Ako lozinka sadrži 4 klase znakova samim time otporna je na napade rječnikom i kombiniranim napadom (napada s pravilima tj. napada s poznatim obrascima lozinki). Također je lozinka zaštićena i od napada duginim tablicama (engl. Rainbow table attack) jer se zapravo stvaraju iz rječnika koji se koristi za napad rječnikom. Zadnji kriterij je opcionalan jer je napadačima cilj da što brže i što lakše dođu do korisničkih podataka, ako je napadaču potrebno nekoliko mjeseci da dođe do njih odustat će napasti drugog korisnika.+Ako lozinka sadrži navedene kriterije tada je sigurna od apsolutno svih komercijalno poznatih napada na lozinke. Ako lozinka ima više od 12 znamenki tada je metoda napada grubom silom iscrpna te će trajati sigurno više od 2 mjeseca te samim time iako se provede napad na ovakvu lozinku, ako ju promijenimo nakon 30 dana tada je napad neuspješan. Ako lozinka sadrži 4 klase znakova samim time otporna je na napade rječnikom i kombiniranim napadom (napada s pravilima tj. napada s poznatim obrascima lozinki). Također je lozinka zaštićena i od napada duginim tablicama (engl. //Rainbow table attack//) jer se zapravo stvaraju iz rječnika koji se koristi za napad rječnikom. Zadnji kriterij je opcionalan jer je napadačima cilj da što brže i što lakše dođu do korisničkih podataka, ako je napadaču potrebno nekoliko mjeseci da dođe do njih odustat će napasti drugog korisnika.
 ===== Napadi na lozinke ===== ===== Napadi na lozinke =====
 Postoje //online// i //offline// napadi na lozinke. //Online// napad na lozinke je kada se direktno napada servis (npr. ssh pristup serveru) tj. u stvarnom vremenu, a //offline// napad na lozinke je kada napadač poznaje [[https://www.researchgate.net/publication/267422045_Cryptographic_Hash_Functions_A_Review|sažetak lozinke]] te koristi razne metode da dobije lozinku koja se nalazi iza tog sažetka. U ovom seminarskom radu obrađeno je samo //offline// napad na lozinke jer su one ključni faktor za kasnije poglavlje Metode za pogađanje lozinki tj. kako rade //password strength meters// na internetskim stranicama kod stvaranja korisničkog profila.  Postoje //online// i //offline// napadi na lozinke. //Online// napad na lozinke je kada se direktno napada servis (npr. ssh pristup serveru) tj. u stvarnom vremenu, a //offline// napad na lozinke je kada napadač poznaje [[https://www.researchgate.net/publication/267422045_Cryptographic_Hash_Functions_A_Review|sažetak lozinke]] te koristi razne metode da dobije lozinku koja se nalazi iza tog sažetka. U ovom seminarskom radu obrađeno je samo //offline// napad na lozinke jer su one ključni faktor za kasnije poglavlje Metode za pogađanje lozinki tj. kako rade //password strength meters// na internetskim stranicama kod stvaranja korisničkog profila. 
Redak 34: Redak 34:
   * Običan napada rječnikom (engl. //Dictionary attack//)   * Običan napada rječnikom (engl. //Dictionary attack//)
   * Kombinirani napad (engl. //Dictionary attack + rules//)   * Kombinirani napad (engl. //Dictionary attack + rules//)
-Kombinirani napada je napada kojim napadač može pogoditi lozinke koje imaju smisleno značenje npr. ako u rječniku imamo riječi: konj, mačka, pas, baterija. Lozinka koju napadamo glasi: pasbaterijakonj tada će kombinirani napada vrlo lako pogoditi tu lozinku jer radi na principu spajanje više rječnika u jedan veliki rječnik te tako ima veći prostor pretraživanja lozinke. Također napadač može dodati određena pravila npr. na svaki kraj riječi u rječniku stavi broj 1 ili umjesto umetni @. Moderni alati za razbijanje sažetka lozinki kao što su: [[https://hashcat.net/hashcat/|Hashcat]] i [[https://www.openwall.com/john/|John The Ripper]] već posjeduju svoja inicijalna pravila koja se mogu koristiti. Također napada rječnikom je znatno brži od napada grubom silom jer ima manji prostor pretraživanja, ali ako lozinka ne postoji u rječniku tada je nemoguće uspiješno provesti napad.+Kombinirani napada je napada kojim napadač može pogoditi lozinke koje imaju smisleno značenje npr. ako u rječniku imamo riječi: konj, mačka, pas, baterija. Lozinka koju napadamo glasi: pasbaterijakonj tada će kombinirani napada vrlo lako pogoditi tu lozinku jer radi na principu spajanje više rječnika u jedan veliki rječnik te tako ima veći prostor pretraživanja lozinke. Također napadač može dodati određena pravila npr. na svaki kraj riječi u rječniku postavi broj 1 ili a zamjeni s @. Moderni alati za razbijanje sažetka lozinki kao što su: [[https://hashcat.net/hashcat/|Hashcat]] i [[https://www.openwall.com/john/|John The Ripper]] već posjeduju svoja inicijalna pravila koja se mogu koristiti. Također napada rječnikom je znatno brži od napada grubom silom jer ima manji prostor pretraživanja, ali ako lozinka ne postoji u rječniku tada je nemoguće uspiješno provesti napad.
 ==== Napad duginim tablicama ==== ==== Napad duginim tablicama ====
  
-Osnovni koncept napada duginim tablicama (engl. //Rainbow table attack//) je nešto drugačiji od prethodno navedenih napada. Za provedbu ovog napada napadač treba imati tablicu s parovima vrijednosti sažetak i lozinka iz koje se izračunao sažetak. Samim time kada napadač provodi ovaj napada usporedba se vrši samo na između vrijednosti sažetaka, a lozinka je kako bi napadač znao koja je zapravo lozinka kada pronađe koliziju između dva sažetka. Napad duginim tablicama je najbrži napada te je vremenski najefikasniji. Vremenska kompleksnost pretrage kolizije je O(1), ali zato je memorijski prostor za cijelu tablicu je enormno velik (gigabajtna skala).+Osnovni koncept napada duginim tablicama (engl. //Rainbow table attack//) je nešto drugačiji od prethodno navedenih napada. Za provedbu ovog napada napadač treba imati tablicu s parovima vrijednosti sažetak i lozinka iz koje se izračunao sažetak. Samim time kada napadač provodi ovaj napada usporedba se vrši samo na između vrijednosti sažetaka, a lozinka je kako bi napadač znao koja je zapravo lozinka kada pronađe koliziju između dva sažetka. Napad duginim tablicama je najbrži napada tj. vremenski je najefikasniji. Vremenska kompleksnost pretrage kolizije je O(1), ali zato je memorijski prostor za cijelu tablicu enormno velik (gigabajtna skala).
 ===== Metode za procjenu sigurnosti lozinke ===== ===== Metode za procjenu sigurnosti lozinke =====
  
Redak 64: Redak 64:
 Slika 1. Prikazuje grafove usporedbe različitih metoda probijanja lozinki [[https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_melicher.pdf|izvor]] Slika 1. Prikazuje grafove usporedbe različitih metoda probijanja lozinki [[https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_melicher.pdf|izvor]]
  
-//John The Ripper// //Hashcat// probijaju lozinke na principu napadanja pomoću pravila, napada grubom silom i napad rječnikom. Samim time možemo uočiti da su oni prilično deterministički te da za jako velike pokušaje pogađanja neće imati dobar rezultat ili rezultat uopće neće biti mjerljiv. Stoga, moguće je uočiti da su probabilistički pristupi kao što su: Neuronska mreža, Markovljevi lanci i Probabilističko kontekstno slobodne gramatike vrlo učinkoviti za veće pokušaje pogađanja, a to im omogućuje [[https://www.geeksforgeeks.org/randomized-algorithms-set-2-classification-and-applications/|Monte Carlo]] model biranja uzoraka. Također moguće je uočiti da je neuronska mreža za svaku od klasa lozinki bolja nego bilo koji drugi pristup te da u nekim slučajevima asimptotski graniči s granicom MinGuess koja označava koliko je teoretski najmanje mogućih pokušaja potrebno da se probije određeni broj lozinki. Neuronska mreža također radi na vrlo sličnom principu kao i Markovljevi lanci pa su zbog toga linije paralelne kroz cijeli graf.+John The Ripper i Hashcat probijaju lozinke na principu napadanja pomoću pravila, napada grubom silom i napad rječnikom. Samim time možemo uočiti da su oni prilično deterministički te da za jako velike pokušaje pogađanja neće imati dobar rezultat ili rezultat uopće neće biti mjerljiv. Stoga, moguće je uočiti da su probabilistički pristupi kao što su: Neuronska mreža, Markovljevi lanci i Probabilističko kontekstno slobodne gramatike vrlo učinkoviti za veće pokušaje pogađanja, a to im omogućuje [[https://www.geeksforgeeks.org/randomized-algorithms-set-2-classification-and-applications/|Monte Carlo]] model biranja uzoraka. Također moguće je uočiti da je neuronska mreža za svaku od klasa lozinki bolja nego bilo koji drugi pristup te da u nekim slučajevima asimptotski graniči s granicom MinGuess koja označava koliko je teoretski najmanje mogućih pokušaja potrebno da se probije određeni broj lozinki. Neuronska mreža također radi na vrlo sličnom principu kao i Markovljevi lanci pa su zbog toga linije paralelne kroz cijeli graf.
 ===== Neuronska mreža ===== ===== Neuronska mreža =====
  
-Neuronska mreža koja je korištena za napadanje na slici 1. nalazi se [[https://github.com/cupslab/neural_network_cracking|ovdje]], a password strength meter konstruiran pomoću neuronske mreže moguće je pronaći [[https://github.com/cupslab/password_meter|ovdje]].+Neuronska mreža koja je korištena za napadanje na slici 1. nalazi se [[https://github.com/cupslab/neural_network_cracking|ovdje]],//password strength meter// konstruiran pomoću neuronske mreže moguće je pronaći [[https://github.com/cupslab/password_meter|ovdje]].
 ---- ----
  
-Cilj korištenje neuronske mreže je efikasno predviđanje koliko je potrebno napadaču da probije upisanu lozinku. Također ušteda prostora koji je potreban za pohranu te neuronske mreže je izuzetno malen u usporedbi s ostalim alatima ovakva neuronska mreža zauzima oko 30 MB dok neki alati mogu zauzimati više od 1 GB. Ovo je postignuto raznim kompresijama i enkodiranjem kao što su: Fixed-point Encoding, ZigZag Encoding i Lossless Compression.+Cilj korištenje neuronske mreže je efikasno predviđanje koliko je potrebno napadaču da probije upisanu lozinku. Također ušteda prostora koji je potreban za pohranu te neuronske mreže je izuzetno malen u usporedbi s ostalim alatima ovakva neuronska mreža zauzima oko 30 MB dok neki alati mogu zauzimati više od 1 GB. Ovo je postignuto raznim kompresijama i enkodiranjem kao što su: //Fixed-point Encoding////ZigZag Encoding// //Lossless Compression//.
 Neuronska mreža je učena na javno poznatim lozinkama tj. preciznije 33 milijuna lozinki i 5.9 milijuna smislenih engleskih riječi koristeći proces učenja koji se zove //[[https://en.wikipedia.org/wiki/Transfer_learning|Transference Learning]]//. Kao što je prikazano na Slici 1. podatci za testiranje nisu prije bili vidljivi neuronskoj mreži te je moguće vidjeti njihov odličan rezultat. Neuronska mreža je učena na javno poznatim lozinkama tj. preciznije 33 milijuna lozinki i 5.9 milijuna smislenih engleskih riječi koristeći proces učenja koji se zove //[[https://en.wikipedia.org/wiki/Transfer_learning|Transference Learning]]//. Kao što je prikazano na Slici 1. podatci za testiranje nisu prije bili vidljivi neuronskoj mreži te je moguće vidjeti njihov odličan rezultat.
 Postoje dvije verzije navedene neuronske mreže: velika mreža (15 700 675 parametara) i mala mreža (682 851 parametara). Također velika mreža ima 1000 slojeva i zauzima 60 MB dok mala mreža ima 200 slojeva i zauzima ne značajnih 2.7 MB. Na Slici 2. prikazana je razlika između velike i male mreže na određenim klasama lozinki koje su prije spomenute. Postoje dvije verzije navedene neuronske mreže: velika mreža (15 700 675 parametara) i mala mreža (682 851 parametara). Također velika mreža ima 1000 slojeva i zauzima 60 MB dok mala mreža ima 200 slojeva i zauzima ne značajnih 2.7 MB. Na Slici 2. prikazana je razlika između velike i male mreže na određenim klasama lozinki koje su prije spomenute.
Redak 84: Redak 84:
 ===== Zaključak ===== ===== Zaključak =====
  
-Cilj ovog seminarskog rada je pokazati kako nam metode strojno učenja kao što su neuronske mreže mogu pomoći prilikom konstrukcije sigurne lozinke te kako zapravo predvidjeti koliko će napadaču trebati pokušaja da uspješno probije lozinku. Također pokazani su svi poznati napada na lozinke od kojih se potrebno obraniti pomoću dobro konstruirane lozinke. Potrebno je još mnogo istraživanja kako bih neuronske mreže uspjele iskonstruirati lozinke koje niti one same ne bih mogle probiti, ali do danas su neuronske mreže pokazale da mogu vrlo kvalitetno odrađivati ulogu //password strength metera// te tako pomoći klijentima oko osmišljavanja sigurne lozinke.+Cilj ovog seminarskog rada je pokazati kako nam metode strojno učenja kao što su neuronske mreže mogu pomoći prilikom konstrukcije sigurne lozinke te kako zapravo predvidjeti koliko će napadaču trebati pokušaja da uspješno probije lozinku. Također pokazani su svi poznati napada na lozinke od kojih se potrebno obraniti pomoću dobro konstruirane lozinke. Potrebno je još mnogo istraživanja kako bih neuronske mreže uspjele generirati lozinke koje niti one same ne bi mogle probiti, ali do danas su neuronske mreže pokazale da mogu vrlo kvalitetno odrađivati ulogu //password strength metera// te tako pomoći klijentima prilikom osmišljavanja sigurne lozinke.
 ===== Literatura ===== ===== Literatura =====
  
racfor_wiki/strojno_ucenje/napadi_na_lozinke_pomocu_neuronskih_mreza.1641385708.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0