Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:strojno_ucenje:napadi_na_lozinke_pomocu_neuronskih_mreza [2022/01/05 11:56] mrabuzin [Literatura] |
racfor_wiki:strojno_ucenje:napadi_na_lozinke_pomocu_neuronskih_mreza [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 3: | Redak 3: | ||
===== Sažetak ===== | ===== Sažetak ===== | ||
- | How do you write an abstract? Identify your purpose. You're writing about a correlation between lack of lunches in schools and poor grades. … Explain the problem at hand. Abstracts state the “problem” behind your work. … Explain your methods. … ([[https://www.aje.com/arc/make-great-first-impression-6-tips-writing-strong-abstract/|Source]]) Save your work regularly!!! Describe your results (informative abstract only). … Abstract should be no longer that 400 words. Napomena: sadržaj na vrhu stranice generira | + | Najčešći cyber napad je napad na korisničke podatke tj. na lozinku korisnika nekog internet servisa. Kvalitetno konstruirana lozinka omogućuje korisniku da se zaštiti od napada na njegovu lozinku, a kako bi korisnik znao koja je lozinka zapravo sigurna postoje |
- | Keywords: abstract; bastract; astract; retract; tractor | + | Ključne riječi: //password strength meter//; napad; neuronska mreža; strojno učenje; lozinka; |
===== Uvod ===== | ===== Uvod ===== | ||
- | Ljudi se u današnje vrijeme svaki dan susreću s lozinkama te su one postale dio „normalnog“ i digitalnog života. Kako bi kreirali računa na nekom od internet servisa potrebno je osmisliti lakopamtljivu i sigurnu lozinku. Što je zapravo kontradikcija, | + | Ljudi se u današnje vrijeme svaki dan susreću s lozinkama te su one postale dio „normalnog“ i digitalnog života. Kako bi kreirali računa na nekom od internet servisa potrebno je osmisliti lakopamtljivu i sigurnu lozinku. Što je zapravo kontradikcija, |
===== Kvalitetna lozinka ===== | ===== Kvalitetna lozinka ===== | ||
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. |
===== 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:// | 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:// | ||
Redak 34: | Redak 34: | ||
* Običan napada rječnikom (engl. // | * Običan napada rječnikom (engl. // | ||
* Kombinirani napad (engl. // | * Kombinirani napad (engl. // | ||
- | 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 | + | 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 |
==== 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 | + | 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 |
===== 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:// | Slika 1. Prikazuje grafove usporedbe različitih metoda probijanja lozinki [[https:// | ||
- | //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:// | + | 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:// |
===== Neuronska mreža ===== | ===== Neuronska mreža ===== | ||
- | Neuronska mreža koja je korištena za napadanje na slici 1. nalazi se [[https:// | + | Neuronska mreža koja je korištena za napadanje na slici 1. nalazi se [[https:// |
---- | ---- | ||
- | 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// i //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 // | 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 // | ||
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 77: | Redak 77: | ||
---- | ---- | ||
- | Ovako konstruirana mreža pokazuje da password strength meter na internetskim stranicama može biti vrlo pouzdana povratna informacija korisniku je li njegova lozinka doista sigurna. Također ne zauzima mnogo resursa tako da i programerima olakšavao posao po pitanju zauzimanja prostora na strani poslužitelja/ | + | Ovako konstruirana mreža pokazuje da //password strength meter// na internetskim stranicama može biti vrlo pouzdana povratna informacija korisniku je li njegova lozinka doista sigurna. Također ne zauzima mnogo resursa tako da i programerima olakšavao posao po pitanju zauzimanja prostora na strani poslužitelja/ |
{{ : | {{ : | ||
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 | + | 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 |
===== Literatura ===== | ===== Literatura ===== | ||