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 12:30] mrabuzin [Kvalitetna lozinka] |
racfor_wiki:strojno_ucenje:napadi_na_lozinke_pomocu_neuronskih_mreza [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
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 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 ===== | ||