[Translated by Tiina Tuomisto (KYBS2004 course assignment at JYU.FI)]
Hei CCC, olen Tonimir ja kerron teille UNHashista,
joka on metodi parempaan salasanojen murtoon.
Puheeni ytimenä on tutkimukseni: tylsien asioiden automaatiosta salasanojen
tarkistusta varten, verkossa oleviin järjestelmiin ja
salasanamurtohyökkäysten parantaminen offline-salasanoja vastaan.
Tarkoituksena on edesauttaa ja luoda elementtejä jotka ovat
uudelleenkäytettäviä jotka voidaan integroida toisiin työkaluihin, kuten
Metasploitiin tai mihin tahansa muuhun työkaluun, huomioiden avoimuuden ja
uudelleenkäytettävyyden.
Aloitetaan ensin salasanojen psykologista, millaisia salasanoja on olemassa.
On olemassa oletussalasanoja tai oletustakaportteja joita joku oli kykenevä
integroimaan järjestelmään, kuten root tuki järjestelmänvalvoja jne.
On aitoja salasanoja, koska ihmiset tarvitsevat tavan, muistaakseen salasanan.
Jokaisella teistä on järjestelmä, miten luotte salasanan,
miten muistatte salasanan
Joten ihmiset käyttävät yhdistelmiä, mu- taatioita, he lisäävät sanoja,
heillä on omat tapansa, ja ne ovat pseudo- satunnaisia salasanoja, koska et voi sanoa
että salasana on aidosti satunnainen,
ehkä kuin erityistapauksissa.
Mutta jotain tämän kaltaista, jos joku voi muistaa tämän,
se on mahtavaa mutta minä en yleensä pysty.
Ja tämän takia meillä on järjestelmiä salasanojen muistamiseen.
Eli puhe on jaettu kahteen ongelmaan. Ensimmäinen ongelma on näistä se tylsä
tapaus eli jätimme mielenkiintoisen asian loppuun.
Ensimmäinen ongelma on, miten tarkistaa oletussalasanoja tietoverkon laitteilla,
kuten reitittimillä ja kytkimissä.
Miten tarkistetaan, onko sulautettuja ta- kaportteja. Ei siis ohjelmoituja takaport-
teja, vaan takaporttien salasanoja, joita joku on jättänyt tililleen.
Ja kolmantena on, miten saadaan tietoa automatisoiduilta hyökkäyksiltä.
Tylsänä ongelmana on laitteilta saadut oletussalasanat.
Jokaisella teistä on kotona reititin tai joku muun tyyppinen laite, tyypillisesti
niissä on valmiiksi määriteltynä oletussalasana.
Tämä ongelma tyypillisesti ilmenee tuotan- nossa erään unohtuneen laitteen kautta kun
tarvitaan langatonta heti, jätetään laite ja laitetaan se toimintaan.
Järjestelmien testauksessa on tietokanta, on yksi käyttäjänimi-salasanakombinaatio,
joka on tietokannan ylläpitäjälle, toinen taas järjestelmän ylläpitäjälle, joista
tätä toista mainittua ei ikinä muuteta tai ne on tehty huolimattomilla määrityksillä.
Tämä on se tylsä ongelma.
Hieman mielenkiintoisempia ongelmia ovat takaporttien salasanat ja luonnossa
tapahtuvien hyökkäysten tietokokoelmat.
Jos haluatte kerätä oletus käyttäjä- salasanapareja, yksi idea, minkä tein oli,
että yksinkertaisesti haravoidaan kaikki oletussalasanalistat
Haluaisin siis ensin kiittää kaikkia kilt- tejä kavereita
phenoelit:llä, cirtnet:llä, liquidmatrix:lla, dexnet:llä,
securityoverride:lla, jotka jättivät hei- dän laitteidensa salasanalistat nettiin.
Niitä haetaan ja ne tietty organisoidaan ja painotetaan niiden esiintyvyyden mukaan
jota on hyödyllistä testata,
jos yksinkertaisella laitteella on unohdettuja salasanoja.
Kerätyn datan järjestäminen esiintyvyyden mukaisesti, on ainoa hyödyllinen mittari
oletussalasanojen analysointiin.
Jos teillä on ajatus paremmasta, haluaisin kuulla ne, koska jos
käyttäjänimi-salasanapari ovat tyypilli- sempiä, kuten ’admin’ ’admin’ tai
’admin’ ilman salasanaa, se leijuu kärkeä kohti ja sitä testataan aikaisemmin, joten
säästyy aikaa.
Toisina mittareina voivat olla toimittaja tai laite, mutta nämä eivät tyypillisesti
käsittele haluamaamme käyttötapausta.
Esim. unohdettujen laitteiden testaaminen, heikkojen laitteiden testaamiseen.
Ja joku sanoo, miksi haluaisit testata online-laitteita, mitä jos joku käyttää
fail2bania tai sshguardia?
Varmasti silloin he eivät jättäneet oletussalasanoja paikalleen.
Koodi tälle yksinkertaiselle asialle on saatavissa GitHubista, voitte käyttää sitä
ja saatavilla Metasploit Frameworkistä: default_userpass_for_services_unhash.txt,
jos luotatte tähän tekemääni huoltoon.
Hieman mielenkiintoisempana ongelmana ovat kovakoodatut takaovet.
Mielenkiintoinen tarina: sain HP varastoi- ntilaitteen, joka on SAN-varastointilaite.
Jonkun ajan kuluessa oli mielenkiintoinen ilmoitus netissä, että joku löysi
sulautettuja takaportteja HP varastointi- laitteista ja arvatkaa mitä, kokeilin
oletus käyttäjänimeä ’HPSupport’ ja sala- sanaa ’badg3r5’ ja tietenkin pääsin
sisälle ylläpito-osioon.
Billy Rios, tämän vuoden Black Hatissa, kertoi, että lähes kaikki lentoasemien
turvallisuushallinnasta, kuten kulunval- vontalaitteet, jotka sallivat ovien
avauksen tai kertoo kuka henkilökunnasta on rekisteröityneenä kerrokseen tai kuten
Itemiser, joka skannaa huumeaineita tai räjähteitä otetusta näytteestä.
He ovat integroineet takaportteja.
Nuo ovat käyttäjänimet ja salasanat ja kaikki nuo laitteet ovat tietoverkossa.
Valitettavasti käyttäjänimien ja salasano- jen sulauttaminen takaporteiksi on
muuttumassa
trendiksi.
Esimerkiksi, kuinka moni teistä tietää viimevuoden, suositun, VPN palomuurin
anti-spamin myyjän tietovuodosta, jossa useita takaporttitilejä oli sulautettu
heidän laitteisiinsa.
Esimerkiksi parhaimpana osuutena oli, että MySQL -tietokanta käyttäjätuotteella,
salasana oli tyhjä ja etä-SSH-avaimella oli etäsisäänpääsykyky.
Muistaako kukaan tätä?
No, ongelmana on, että tästä on tulossa suurempi ja suurempi ongelma. Esimerkiksi,
tämän tyyppiset laitteet eivät voi nauttia turvallisuuden etuoikeudesta.
En voi uskoa, että joku haluaisi käyttää niitä. Haluaisin, että ihmiset alkaisivat
auditoimaan tavaroita, joita he omistavat, mutta kun sanon ”omistan”, en tarkoita
omistamista, kuten (epäselvä) omistamista.
Mutta mielellään ensiksi konsultoikaa asianajajianne, paikallisia lakejanne,
koska ne voivat tuoda kaikenlaisia ongelmia.
Kolmantena, verkkohyökkäyksistä: miten kerätä tietojoukkoja hyökkääjiltä?
Jos haluatte kerätä tietoa, jota käytetään verkkohyökkäyksiin, esimerkiksi mitä
bottiverkot käyttävät.
Yksi mielenkiintoinen osa tätä on, että voitte käyttää sshpot:a, joka kerää tietoa
SSH honeypoteista. Jos siis ajatte Kippon tai jonkun muun honeypot-teknologian,
lähettäkää tietoa heille, se olisi enemmän kuin hyödyllistä, ja tämä sallii tiedon
keräämisen yleisöön kohdistuvista väsytyshyökkäyksistä.
Ja kun lataatte kaikki käyttäjänimi- salasanakombinaatiot, joita käytetään,
huomaatte eräitä mielenkiintoisia kaavoja, esimerkiksi
hyvin suosittu on sana ’root’.
Tuntematon 'root' tai 'myyjän nimi'+46, ei ole oletussalasana,
kun tarkistetaan se Googlesta. Et voi löytää sitä oletussalasanana.
Toisena on suositun ISP:n URL + jokin satunnainen merkkijono.
Kolmantena on tutkimusyrityksen nimi kahdesti ja joitain muita kombinaatioita,
joita ette voi löytää järjestelmien oletussalasanoina.
Mielenkiintoisena kysymyksenä on, ovatko nuo takaportteja vai oliko jollain
sisätietoa siitä, miten voidaan rikkoa joitain järjestelmiä ja hän
yksinkertaisesti vain kokeili kaikkea.
Ei hypätä johtopäätöksiin, mutta pyytäisin teitä kaikkia, jotka ovat kiinnostuneita
tällaisesta, että katsotte julkisuuteen kohdistuvien hyökkäysten tietoja ja
saatatte saada selville joitain mielenkiintoisia asioita.
Miksi olemme häviämässä tällä rintamalla?
Koska, meillä ei voi olla yhtä keskitettyä säilytyspaikkaa, joka kerää kaikki
tunnetut takaporttitiedot, kaikki tiedetyt takaporttisalasanat,
kaikki aloitussalasanat.
Kun tarkastelet mitä tahansa työkalua, jolla on salasanalistoja testausta varten.
Huomaatte, että ette voi löytää mistä tämä lista tuli, kuka sen loi, mihin
käyttötapaukseen tai miksi teidän tulisi käyttää sitä.
Ei ole tutkimustietoa, joka kertoisi miten tämä salasanalista luotiin ja ei ole
mitään tapaa, miten sen voisi integroida muiden työkalujen kanssa ja
niille ei ole päivityksiä jne.
Pull-pyyntöjen lukeminen GitHubista, ei ole ideaalista, kun haluatte nähdä, miten
jokin päättyi yhteen työkaluun.
Tämä on manuaalinen prosessi ja kuten näette, se on tylsää.
Ketään ei kiinnosta salasanojen lisääminen tai näiden listojen ylläpitäminen.
Joten minulla on korkea kunnioitus näitä listoja ylläpitäviä ihmisiä kohtaan sillä
jonkun on se tehtävä.
Ja haluaisin sanoa yhden asian, me tarvitsemme keskitetyn säilytyspaikan
näille asioille.
Ylläpidetään yhtä säilytyspaikkaa, ei kuutta tietolähdettä datasta, jotka eivät
ole toisiinsa yhteydessä.
Mahdollistetaan, että ne ovat helposti integroitavissa työkaluihin ja
mahdollistetaan datan ennakkotarkistus.
Eli jos haluatte tehdä töitä tämän eteen, ottakaa minuun yhteyttä
niin selvitetään asiaa.
Tylsästä osasta kiinnostavaan osaan.
Miten nopeutetaan ei-pseudosatunnaisten salasanojen murtoa.
Selvitetään ensiksi, miten ihmiset luovat salasanoja. Se on se kysymys.
Jos näette miten joku luo salasanansa, sitten voitte todennäköisesti luoda
paremman hyökkäyksen.
Miksi haluaisitte tehdä tämän?
Koska se on myös yhteydessä toiseen asiaan
Haluatte luoda salasanalistoja tai muuta tietoa, joka on kohdennettu spesifistä
käyttäjäluokkaa kohtaan.
Esimerkiksi, joku haluaa hyökätä täällä oleviin ihmisiin, hän käyttää
’securityactivism’, ’31c3’ ja muita avainsanoja
ja dataa, joka on saatu näistä, mahdollistaakseen hyökkäyksensä.
Joten mitä vaihtoehtoja meillä on, kun haluamme murtaa monia tiivisteitä tai kun
haluamme murtaa salasanoja.
Ensimmäinen on aina kaikkein yksinkertai- sin ja hauskoin:
rakenna nopeampi murtokone, kuten useita GPU:ta, useita prosessoreita, rakennetaan
klustereita ja niin edelleen.
Toisena tapana on yksinkertaisesti hyökätä algoritmia vastaan.
esim. MD4-algoritmi tunnettiin siitä, että sen pystyi murtamaan
kynällä ja paperilla.
Kolmantena on sivuuttaminen, joka tarkoittaa, että käytetään jotain, kuten
pass the hashtags, DPA tai tee kaikki mitä NSA tekee saadakseen salasanat
jotenkin koneelta ilman oikean salasanan murtamiseen liittyvää interaktiota.
Neljäntenä on, ei käytetä väsytys- hyökkäystä salasanan murtoon, kokeillaan
järkevämpää hyökkäystä: tällöin ihmiset käyttävät sanalistaa, sääntötiedostoja,
aika-muisti-vaihtokauppahyökkäyksiä, kuten sateenkaaritaulukkoja, sitten he käyttävät
Markov-hyökkäyksiä, Mask-hyökkäyksiä, Fingerprint-hyökkäyksiä tai muuta.
Joten, pakollisella XKCD-viittauksella:
ihmiset luovat tällaisia salasanoja, avainfraaseja.
Miten voit murtaa niitä normaaleilla työkaluilla, sehän on hieman vaikeampaa.
Joten halusin luoda jotain, jonka voitte kirjoittaa, jotain tämän kaltaista, joka
on sääntötiedosto, joka sallii sanalistasta neljä sanaa ja
katsotaan mitä niistä saadaan aikaiseksi.
Tämän takana oli ajatus datavetoisesta lähestymistavasta. Eli miten opitaan,
miten ihmiset luovat salasanoja.
Ensin tarvitaan dataa ja dataa on, uskokaa tai älkää, vaikeata löytää verkosta,
ainakin siis laadukasta dataa.
Eräät Internetin kiltit ihmiset avustivat hyvän tutkimusdatan saamisessa, mikä
tarkoittaa puhtaita salasanakaatopaikkoja (dumps), jossa on esiintyvyyksiä
pitäisi olla raakatiivisteitä tai selkotekstiä, ei vain pätkiä tai
ongittuja osia. Tämä tarkoittaa, että vaihtoehtonne ovat hyvin rajoittuneet.
Oppimissarja oli 32 miljoonaa salasanaa, mikä tarkoittaa 14 miljoonaa uniikkia
salasanaa, joista kyrillinen, kreikkalainen ja vastaavat aakkostukset
poistettiin, koska en halunnut sisällyttää niitä kieliä oppimisprosessiin,
koska en tunne niitä kovin hyvin.
Ja kolme suurinta listaa, jotka olivat saatavilla, olivat rockyou, phpbb ja yahoo
Kuka tahansa, joka tekee tutkimusta, salasanatutkimusta, tuntee nämä listat
suosittuina julkisina listoina.
Todennusdata koostui kahdesta listajoukos- ta, joista ensimmäinen oli LinkedIn, joka
on toiseksi suurin lista rockyoun jälkeen ja toisena oli
elitehackersilta, carders.cc:ltä, hak5:ltä ja myspace-sivuilta.
Ensiksi ajatuksena oli käyttää koneoppi- misalgoritmia ja selvittää asioita sen
avulla, mutta tämä epäonnistui.
Ja tämän jälkeen loin seulonnan, jonka ideana on seuraava:
luo luokittelija jokaiselle tunnistetulle salasanaluokalle.
Ette voi luokitella kaikkia salasanoja, ette voi keksiä, miten kaikki
salasanat luodaan.
Tarkastellaan vain osajoukkoa. Luodaan luokittelija, joka voi tunnistaa
osajoukon ja jokaisesta luokasta luodaan yksi luokittelija.
Päätetään, mitkä niistä ovat todennäköi- sesti oikein, mitkä niistä
olivat oikeassa, ja sitten kipataan kaikki formaattiin, joka sallii analyysin.
Nämä ovat joitain salasanaluokkia, joita tunnistin.
Heikkoja kaavoja, kuten vain joidenkin kirjaimien toistaminen näppäimistöllä.
Näppäimistökaavoja, joita voi luulla hyvin vahvoiksi,
mutta ovatkin vain näppäimistökaavoja.
Ja ensimmäisillä kolmella, neljällä dialla näkemänne pseudosatunnaiset salasanat
olivat itseasiassa näppäimistö- kaavoilla tehtyjä.
Ne näyttävät hyvin vahvoilta salasanoilta, mutta ne luodaan painelemalla näppäimistön
näppäimiä peräkkäisesti.
Tässä on kaikenlaisia tapoja:
mutaatioita, jossa mikä tahansa muuttuu, jotta sana muuttuu.
O-kirjain muuttuu numeroksi 0, I-kirjain numeroksi 1 jne.
Tai kombinaatioita, yhdistä muutama sana, yhdistä muutama elementti
tai vain käytä elementtejä.
Kun tarkastelet seulontaa, jokainen luokittelija voidaan iteroida ja
salasanoja voidaan hajottaa.
Toisena haasteena on, miten tunnistetaan kieliä.
Esim. jos sanotte ’security’, tiedätte, että se on suosittu kaikissa kielissä,
mutta jos sanana onkin ’plaza’ mikä se on? Miten tunnistatte tämän sanan?
Eli jos haluatte hyvän salasanalistan,
ette voi tukeutua asioihin, jotka ovat saatavilla.
Ensinnäkin Google ngram-rungot ovat liian suuria, sama pätee hunspelliin ja
aspelliin, jotka epäonnistuvat yhdessä asiassa:
ihmiset eivät luo salasanoja käyttämällä kieliopillisesti oikein olevia lauseita.
Ihmiset käyttävät kaikenlaisia asioita, esim. tietoa suositusta sarjasta, kuten
hahmojen nimiä, paikkojen nimiä suosituista kirjoista jne.
Joten yksi ideaalien lähde on Wikipedia, koska siinä on kaikenlaisia artikkeleita,
jotka eivät ole sidottuna kieleen.
Joten otin englantilaisen, saksalaisen, kroatialaisen, ranskalaisen, espanjalaisen
italialaisen ja alankomaisen Wikipedian, ja tämä loi suuren salasanalistan, jota
pystyi käyttämään merkkien tunnistamiseen.
Ja kehittääksemme tätä vielä Wikipediasta, Wikipedialla on noin 84 tunnistamaani pää-
kategoriaa ja käytetään näitä kategori- oita haravoimaan 50 ensimmäistä tulosta
Googlesta, kehittääksemme Wikipedia-keräilypaikkaa.
Jotta voitte luoda salasanalistoja Google- hauista,
loin pienen skriptin nimeltä gwordlist, joka haravoi huipulta ’n’-määrän Google
tuloksia, pohjautuen avainsanoihin ja Google dorkiin tai Google hakkerointeihin,
miten haluattekin niitä kutsua. Tämä lista on teille saatavilla.
Tämä myös luo sanalistan pohjautuen esiintyvyyteen, ja voitte liittää sen
salasanoja murtavaan työkaluun tai mihin tahansa muuhun haluamaanne.
Joten, miksi tarvitsette tämän?
Koska tyypillisesti, jos käytätte tätä, se on tehokkaampi kuin jos käytätte
tavallista sanalistaa.
Jos hyökkäätte turvallisuustutkijoita vastaan, voitte käyttää esim.
kuollutta dataa, joka sisältää spesifistä tietoa tai spesifisiä
avainsanoja, joita he saattavat käyttää.
Ja tietenkin voitte käyttää toistoa, ottakaa tuloksena syntynyt lista ja
käyttäkää toistoa siihen ja voitte luoda vielä suuremman listan.
Tuo on iteratiivinen lähestymistapa.
Ensin annatte IDt tunnetuille elementeille seulonta-algoritmilla, luotte hajotus-
säännön ja keräätte kaiken tiedon, miten henkilö loi salasanan:
mitä sanoja hän käytti, mitä numeroita, mitä korvauksia, mitä mutaatioita.
Jos teillä on jotain tuntematonta, varastoi se ja analysoi sitä myöhemmin
ja luokaa uusi luokittelija.
Kun olette saanut kaiken valmiiksi, teillä on joukko luokittelijoita ja algoritmi,
joka pystyy luokittelemaan.
Käytännössä tämä näyttää seuraavalta:
eli syötät jotain, joka vaikuttaa vahvalta salasanalta ja saatte tiedoksi, että
kyseessä on näppäimistökaava.
Jos katsotte näppäimistöänne, huomaatte, että joku näppäili peräkkäisiä näppäimiä.
Esim. muita heikkoja kaavoja voidaan tunnistaa ja voitte huomata, miten ihmiset
luovat niitä.
Tai monimutkainen salasana, kuten jotain tämän kaltaista, hajotetaan osiin ja
tunnistatte salasanan kaikki elementit, joka sitten voidaan kirjoittaa säännöksi
UNHashiä varten, tähän tapaan.
Tämä sääntö, jonka tässä näette, on yleis- sääntö UNHash-työkalulle,
mikä voidaan suorittaa.
Ja se voi käyttää esim. numlen4 eli se on neljän pituisten numeroiden sanakirja,
dictlen11:ssä on sanakirja, jonka kaikki sanat ovat pituudeltaan 11,
r tarkoittaa replacement-sanaa: I-kirjain korvataan 1-numerolla, O-kirjain
0-numerolla.
Ja strlen4 on sanakirja, jossa kaikkien merkkijonojen pituus on neljä.
Tiedonlouhintaprosessissa, kun seulonta- algoritmi luokitteli salasanat, keräsin
kaiken datan.
Esim. kaikki numerot, jotka olivat vie- raita pituuksiltaan, kerättiin ja sen
jälkeen on sanalista, joka pohjautuu tyy- pillisimmin käytettyjen numeroiden
esiintyvyyteen, joka kertoo todennäköi- syyden, että joku käyttää tätä numeroa.
Sääntöjen on tarkoitus olla ekspres- siivisiä UNHashissä ja voitte käyttää
mitä tahansa sanalistojen, merkkijonojen, kehittimien kombinaatioita.
Mitä tahansa kombinaatioita, joilla haluatte tuottaa ehdokassalasanoja.
Voitte lisätä korvauksia, isoja kirjaimia ilman tai yhdessä permutaation kanssa,
esim. jos haluatte salasanan ja haluatte muuttaa s-kirjaimen numeroksi 5, muuttaako
se kaikki s-kirjaimet 5-kirjaimeksi, muuttaako se niitä yhtään, muuttaako se
vain ensimmäisen s-kirjaimen vai vain toiseksi esiintyvän s-kirjaimen.
Jos haluat sallia sen, ei tarvitse tehdä useita sääntöjä kuvailemaan tällaista
prosessia, pitää vain tallentaa yksi kytkin (flag) ja tämä mahdollistaa kaikki
mahdolliset korvauksien permutaatiot.
Ja voitte myös kirjoittaa omanne, esim. Python funktiot ja lausekkeet.
UNHash-sääntöjen hyötynä on, että voit käyttää mitä tahansa sanalistaa.
On olemassa sanalistoja, jotka toimitetaan UNHashin kanssa, jotka on luotu
32 miljoonan salasanajoukon tiedonlouhinnasta.
Voitte käyttää gwordlistiä luodaksenne lisää salasanoja, jotka tehdään
haravoimalla joitain avainsanoja Googlesta tai voitte käyttää omaa listaanne.
Suosittelen teitä yhdistämään kaksi ensimmäistä metodia:
haravointitulokset Googlelta gwordlist:n avulla ja UNHashin listoja.
Käyttötapaus on aika yksinkertainen.
Työkalu luotiin kykeneväksi suorittamaan sääntötiedostoja ja se voidaan liittää
mihin tahansa suosittuun salasanan murto- ohjelmaan, kuten John the Ripper tai
Hashcat tai muuhun vastaavaan.
Mielenkiintoisena osiona on, että jos katsotte GitHubia, mitä jotkut teistä jo
tekevät, huomaatte, että se on mahdol- lisesti hirvittävin koodi mitä olette
nähneet.
Mutta, jos täällä on Python-ninjoja, jotka tietävät miten tehdä siitä nopeamman, niin
olen avoin ehdotuksille.
Mielenkiintoisena osana on, että käytin pypy:ä, kiitokset pypy:n luojille, joka
salli nopeamman suoritusajan algoritmille.
Kerron myöhemmin muutamalla sanalla tulosten vertailusta.
Jos käytätte normaalia väsytyshyök- käysohjelmaa, se saa tyypillisesti
selvitettyä jonkin verran salasanoja jossain ajassa.
Käytin 24 tuntia mittauselementtinä ja käytin UNHashiä gwordlistin kanssa ja
käytin gwordlistiä luomaan sanalistan, joka on haravoinut 10 päällimmäistä sivua
pohjautuen näihin avainsanoihin, kuten 'linkedin', 'business', 'recruiting',
'networking', 'job', 'contacts' ja käytin tätä listaa yhdistelmänä
tiedonlouhinnasta saadun listan kanssa.
Ja voitte huomata, että voidaan saada ainakin 20 % paremmat tulokset, jos lisäät
tämän lähestymistavan. Miksi? Koska väsytyshyökkäyksien…
(Aplodit)
Väsytyshyökkäyksien avulla voidaan paljas- taa paljon enemmän lyhyitä salasanoja,
jotka ovat monimutkaisia.
Joten tämä työkalu epäonnistuu, jos teillä on salasana, joka näyttää
pseudosatunnaiselta.
Mutta jos teillä on salasana, joka pohjau- tuu yhdistelmiin, mutaatioihin, kuten
näytin aikaisemmin, niin tällainen lähes- tymistapa todella auttaa.
Tällä lähestymistavalla saatiin paremmin paljastettua pidemmät salasanat.
Ensinnäkin, älä ajattele, että UNHash on parempi kuin John the Ripper, HashCat tai
Hashkill, nuo työkalut ovat mahtavia. Solar Designer ja Hashcat-tiimi ja
Hashkillin tekijät tekevät todella mahtavaa työtä.
Käytä työlle sopivaa työkalua.
Tämä kuulostaa ehkä hieman monimutkaiselta mutta löydätte GitHubista esimerkki-
tiedostot ja kaikki sääntötiedostot ja, voitte vain yksinkertaisesti suorittaa ne
ja ne tekevät taikojansa.
Nuo ovat kaksi eri käyttötapausta, silti jos teillä on GPU-klusteri,
GPU:n käyttäminen olisi paras tai, jos teillä on FPGA-levy tms. käytettäväksi.
Jos haluatte testata tätä hitaisiin tii- visteisiin, kuten bcryptiin, scryptiin,
PBKDF2 ja teillä ei ole varaa suureen määrään vertailuja, koska murtoprosessi
on hidas, niin kokeilkaa tätä lähestymis- tapaa ja ehkä se auttaa.
Tämä myös auttaa avainfraasien kanssa: tiedätte osan avainfraasista, tiedätte
miten avainfraasi luotiin, montako sanaa siinä on, voitte ihan yksinkertaisesti
käyttää väsytyshyökkäystä.
Tätä voi myös käyttää mukautetussa testauksessa tai mukautetuissa työkaluissa
Yksi asia, jonka huomaan on, että data- keskeiset lähestymistavat ovat hyvin
mielenkiintoisia: koittakaa kokeilla ja rakentakaa jotain mielenkiintoista, kun
sanon ”rakentakaa”, älkää tehkö ilkeyksiä.
Se on saatavilla GitHubista, sitä on yk- sinkertaista käyttää, käykää kokeilemassa.
Ja tietenkin avustajat ja tutkijat ovat tervetulleita ja puhuin lyhyemmin, niin
meillä on enemmän aikaa Q&A:lle, koska jos joku on hyvin kiinnostunut tästä aiheesta,
luulen, että hänellä on joitain kysymyksiä kysyttävänä.
Joten, teillä on Twitter-tilini, teillä on sähköpostiosoitteeni ja teillä on
GitHub-linkki. Täten olen avoin kysymyksille.
(Aplodit)
(Juontaja) Kiitos oikein paljon puheesta. Kysymyksiä varten, olkaa hyvät ja menkää
jonoon, huoneen mikrofonien eteen. Onko Internetistä mitään kysymyksiä?
(Henkilökunta) Ei
Ei ole kysymyksiä Internetistä.
Onko huoneesta tulevia kysymyksiä?
(Henkilökunta) viidennestä
Viidennestä? Selvä.
(Kysyjä 1) Sanoit, että sinulla oli vai- keutta käyttää koneoppimisalgoritmia,
voisitko selittää tai tarkentaa mistä tämä johtui?
Se johtui siitä, että koneoppimisalgorit- mit, joita testasin eivät sopineet hyvin,
koska salasanaluokkia on hyvin paljon.
Kyseessä oli ylikouluttamisen klassinen ongelma: koulutat koneoppimisalgoritmisi
selvittämään yhden osan tarinasta, kuten yhden opittujen salasanojen luokan ja
sitten se epäonnistuu seuraavassa.
Yksi asia minkä voit tehdä on, että voit kokeilla esim. satunnaismetsää, mutta ne
eivät antaneet riittävän hyvää luokittelua
Tai toinen asia mitä voit tehdä on, että valitset jotain kuten koneiden komitean.
Seulonta-algoritmit ovat hyvin pitkälti inspiroituja koneiden komiteasta ja satun-
naisesta metsästä, koska on paljon helpom- paa rakentaa luokittelija tietyn tyypin
salasanalle, koska sitten voit myös saada avustusta siitä, miten ihmiset luovat
salasanoja, voit saada monimutkaisempia ideoita, miten salasanojen luokittelua
voidaan tehdä.
Esim. mitä jos joku luo avainfraasin ja ottaa jokaisen ensimmäisen kirjaimen
avainfraasista. Miten luokittelet sen?
Seulonta-algoritmilla sen voi luokitella paljon helpommin, koska voit
kirjoittaa luokittelijan, joka antaa sinulle tuloksen ja todennäköisyysarvon,
joka kertoo onko se parempi tai huonompi kuin jokin muu.
(Kysyjä 1) Olettaako seulonta-algoritmisi, että salasanaluokat ovat itsenäisiä?
Kyllä, salasanaluokat ovat itsenäisiä, koska joku vain yhdistää elementtejä, joku
käyttää näppäimistökuvioita, joku käyttää yhdistämistä ja korvauksia, joku käyttää
sanoja ja korvaa pari sanaa.
Nämä kaikki ovat itsenäisiä luokkia, tämän takia se on yksinkertaisempi tehdä.
Mikrofoni yksi
(Kysyjä 2) Hei, huomioiko UNHash myös spesifisiä kohdeominaisuuksia, kuten
äidinkielen ja muita asioita.
(Kysyjä 2) Voisit myös käyttää käyttäjä- työkalua haravoimaan kohteen nettisivun
tai jotain vastaavaa lisätäksesi sen sana- listaan ja tehdä siitä enemmän kohde-
spesifisen, onko se kykenevä tekemään niin?
Ensimmäinen osa on koneoppimisosa ja se pohjautuu näihin sanakirjoihin: englanti,
saksa, kroatia, ranska, espanja, italia ja hollanti.
Joten säännöt on johdettu näistä pääluokista.
Haravoinnin voit tehdä gwordlist -työkalulla, voit kirjoittaa Google dorkia
Esim. voit kirjoittaa n-määrän avainsanoja ja lisätä sivun sarakkeeseen jotain, kuten
NL ja voit lisätä useita avainsanamerkin- töjä NL:n avulla ja kerrot sille, että
haravoi ylimmät 100 sivua ja saat sana- listan, joka on vain Alankomaa-pohjainen
kyseisille avainsanoille.
Se toimii UTF-8:lla, joten ei pitäisi tulla ongelmia.
Voit käyttää gwordlist:stä aiheutunutta sanalistaa UNHash-työkalun kanssa.
Tämä on se pointti, voit haravoida tulok- set netistä, voit haravoida sen
gwordlist:n avulla, mikä käyttää Googlea, voit käyttää kaikkia haluamiasi Google
dorkia, esim. rajoittamalla hakua vain tiettyyn maahan, rajoittamalla hakua vain
tiettyyn avainsanojenjoukkoon.
Kerrot sille, että haravoi päällimmäiset 500 sivua ja sitten voit käyttää sitä
sääntöihin, jotka ovat vapaasti saatavilla.
(Kysyjä 2) Ja vielä yksi asia salasana- käytäntöjen toimeenpanosta.
Sivuilla näkyy, että heillä on jokin käytäntö, että tulee käyttää yhtä isoa
kirjainta, yhtä erikoismerkkiä tai tämän tyyppisiä asioita.
Onko tämä myös otettu käyttöön vai tulisiko meidän kirjoittaa säännöllinen
lauseke suodattamaan listassa olevat salasanat.
Ensinnäkin voit suodattaa sääntöjä. On aika helppo huomata, mitä sääntöjä
salasanaluokat tai salasanakäytännöt eivät kata.
Huomaat sen pituudesta, huomaat, onko siinä korvausta vai ei.
Jos se vaatii yhden erikoismerkin, voit ottaa käänteisen grep:n niille säännöille,
joilla ei ole erityismerkkiä.
Joten voit mukauttaa sen mille tahansa haluamallesi hyökkäykselle.
Tämä oli UNHashin idea että voit mukauttaa sen mihin vain haluamaasi käyttötapaukseen
Kuten aikaisemmin sanoin, se ei ole John the Ripperin, Hashcatin tai muun korvaaja.
Nuo ovat mahtavia työkaluja väsytyshyökkäyksiin ja tarkoituksiinsa.
Mutta tämä on mielenkiintoisempi, jos haluat tehdä hyökkäyksen avainfraasiin tai
hitaaseen tiivisteeseen, jos vain haluat testata spesifistä sanojenjoukkoa, esim.
sinulla on sanalista, joka on sisällöltään lääketieteellinen ja sinulla on tunkeutu-
mistestaus lääketieteellisessä laitoksessa ja haluat käyttää lääketieteen spesifisiä
sanoja, käytä vain gwordlistiä haravoimaan ne ja käytä sitä UNHash-sääntöjen kanssa.
(Kysyjä 2) Olisi mukava nähdä nettipohjai- nen implementaatio sanalistakehittimestä.
Eli minun tulisi tehdä pilven murtopalvelu tai pilveen sanalistakehitin
(Kysyjä 2) Sanalistakehitin
Okei, hyvä idea
Jos haluatte lähteä huoneesta, tehkää se hiljaisemmin se ei ole niin vaikeaa.
Mikrofoni 4, viimeinen kysymys.
(Kysyjä 3) Kiitos puheesta, nopea kysymys. Näytit yhden tapauksen 23 % suorituskyvyn
lisäyksestä, oliko sinulla muita tapauksia ja onko sinulla muita mittareita
mahdollisille suorituskyvyn lisäyksille?
Mahdollisia suorituskyvyn lisäyksiä on vaikeata mitata oikein, sen takia sanoin,
että älkää ajatelko, että tämä olisi pa- rempi kuin John the Ripper tai Hashcat tms
koska se riippuu salasanalistastasi.
Jos esim se olisi yleinen salasanalista ja kuten sanoin tutkimusdataa on vaikea saada
koska ei ole suuria salasanalistoja esiin- tyvyyksillä joilla on sama määrä käyttäjiä
jotka ovat tietoturvatietoisia, jotka käyttävät vaikeita salasanoja, ja
normaalin tyyppisiä käyttäjiä.
Joten käytin 24 tuntia mittarina, koska sinun täytyy tehdä paljon kokeita.
Jokainen koe kestää vuorokauden ja se on todennäköisesti aika, jonka
tunkeutumistestaaja käyttää, ilman klus- teria heikkojen salasanojen selvittämiseen
Sen takia käytin isoa sanalistaa testauk- sessa, kuten LinkedIn, yahoo salasana-
listaa, elitehackers jne.
(Kysyjä 3) Kiitos.
Kiitos paljon Toni. Antakaa hänelle rai- kuvat aplodit hienosta puheesta
(Aplodit)
[Translated by Tiina Tuomisto (KYBS2004 course assignment at JYU.FI)]