Kirjoitin aikani kuluksi blogiini ohjelmoijan näkökulmasta luoda mahdollisimman turvallinen kirjautumis (Käyttäjätunnus/salasana) -sivu, joka on ainakin oman mielipiteeni mukaan yksi mielenkiintoisimmista haasteista, jota on verkkopalvelun ohjelmoinnissa, ja erityisesti se, kuinka siitä saa teknisiltä ratkaisuiltaan mahdollisimman turvallisen. https://tietokoneblogi.wordpress.com/
Katselin tuota Java 7:n APIsta .net -pakettikokoelman sisältöä Oraclen manuaalista https://docs.oracle.com/javase/7/docs/api/java/net/package-summary.html
ja ajattelin ohjelmoida aikani kulluksi koodin, joka estäisi hakkereilta salasana-kentän brute-forcettamisen netin ylitse. Facebookista en tiedä, mutta sen tiedän, että Googlella on oma Britce-Force-esto-ohjelma ainakin sähköpostissa.
Kun saan koodini kuosiin, pistän koodin Pastebin-tililleni kaikkien nähtäväksi tai Githubiin, jotta siitä olisi jotain uudelleenkäyttö-arvoa jos joku löytäisi, tai tietoturva-aukkoja.
Huomenna aloitan kehitystyön käytännössä.
Brute-force-estäjäohjelma
8
2966
Vastaukset
- salasana12345678
Tuollainenhan on olemassa jo, ainakin linuxeissa. Voit määrätä montako kertaa voi salasanaa arvata ja määrittää ajan milloin voi kokeilla uudelleen. Monesti oletuksena on 3 yritystä ja 15min jäähy.
Helposti saa myös blokattua koko IP:n. (koodi löytyy varmaan githubista).- Turbo-Urpo1
On ollut iät ajat turhaa vaivaa joka paikassa. Erityisesti tämä väsytyshyökkäys (brute-force) ei ole ollut niin kauan kuin minä muistan, edes kokeilemisen arvoinen keino löytää salasan tai tunnus alueelle jossa sitä vaaditaan.
Noissa python koodeissa, olisi mukava nähdä käytetty tulkki, sillä ensimmäisellä rivillä:
#!/usr/bin/python
tai
#!/usr/bin/python3 Ei ole kovin tehokasta blokata ip osoitetta ja se on sitäpaitsi turhaa koska hyökkääjä voi käyttää ja hyödyntää bottiverkkoa.
"On ollut iät ajat turhaa vaivaa joka paikassa."
Itseasiassa ei ole. Bruteforce hyökkäykset eivät ole ihan puhtaasti bruteforcea vaan näissä hyödynnetään salasanalistoja kun ihmiset laittavat usein hölmöjä salasanoja tai toistavat samoja salasanoja, joten kun on näitä murrettuja tilejä salasanoineen ollut jaossa niin niistä saa aika kivan listan salasanoja kokeiltavaksi. Lisäksi toki sanakirjat kun arvotaan yhdistelmiä ja haarukointi vaikka alueen mukaan mitä salasanoja missäkin alueella käytetty.
Tuo että tehdään bruteforcesta kelvottoman hidasta auttaa tehokkaasti tuohon.- Turbo-Urpo1
Niin kauan kun minä muistan, on kirjautumisen yrityksiä rajattu, 3 . . > ja toistuva väärä salasana, on johtanut siihen että joutuu odottamaan 15min .. 24h. Toki tuonakin aikana voi jauhaa niitä salasanoja, mutta järjestelmä kuittaa sen vääränä vaikka antaisitkin oikea, ja ajan lasku alkaa aina uudestaan viimmeisestä yrityksestä. Näin se on ollut, eihän siinä muuten ole mitään järkeä.
MÄÄRITELMÄ
Ensimmäisenä edellytyksenä hyökkäyksen toimivuudelle on se, että hyökkääjä saa kokeilla salasanoja niin monta kertaa kuin haluaa. Toinen edellytys on se, että hyökkääjä pystyy kokeilemaan salasanoja mahdollisimman nopeasti kyllin lyhyessä ajassa. Jos hyökkäykseen menisi viikon sijaan vaikkapa miljardi vuotta, ei hyökkäyksen voida sanoa olevan toimiva. Juups, Samoilla linjoilla "M-Kar"-nimimerkin kanssa.
Brute-forcea nopeammat ja mahdollisesti myös taloudellisemmat hyökkäysmetodit on tosiaan Dictionary-Attack tai sitten hajautustaulua käyttäen "Hash Rainbowtable attack". Nekin vielä, kun yhdistää, niin aika tehokkaasti voi saada salasanan selville.
Toisaalta jos mikään muu ei auta, Brute-force on tosiaan hitain kaikista, mutta sillä saa 100% varmasti auki kaikki salasanat, jos vain löytyy konetehoa edestä takaa ja verkkopalvelu ei ole kehittänyt mitään suojausta raa-an konevoiman käyttäjille.
- lukeevälittäänäppäilyt
Keyloggeri on nopea tapa. Windowsissa on sellainen oletuksena.
Lisäsin Dropbox-kansioon yhden Eclipse-projektin importoituna, jossa on muutama ydin luokka, ja sitten yksi luokka, jossa BruteForcer-demo ajetaaan main-metodisa. Oletan, että hyökkääjä tietää käyttäjätunnuksen olevan "jDoe", ja sen, että salasana on neljä merkkiä pitkä. En jaksanut tuohhon BruteForcer luokkaan ohjelmoida enempää sisäkkäisiä for-lauseita, kuin neljä.
Ohjelma on vielä vaiheessa, eikkä äkkiseltään kokeiltuna antanut oikeita tulosteita, mutta olio-perusteinen lähestymistapa kun on, niin tuosta eteenpäin kehittelemälllä voi saada jotain uudelleenkäyttöarvoa, niin ei tarvitse itse ohjelmoida kaikkea alusta.
Kaikilla valuu jo se kuola suupielissä valuu, että pääsee kehittämään Java-koodia.
Pistin Dropboxiin jakoon kaikkien nähtäville "leluni", joten tässä linkki!
https://www.dropbox.com/s/ozo67hdr35cpbgp/BruteforceDeny.zip?dl=0
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Anteeksi mies
En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin273391Ripeyttä asiointiin
Ottaa päähän yhden ja saman asiakkaan hitaus kassalla kun yhdellä kädellä nostelee ostoksia kärrystä ja välillä pitelee282141Palstan henkisesti sairaat ja lihavat
Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals1141670Mietin aina vain
Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh71418- 761359
Kysyin kaikilta yhteisiltä tutuilta mielipidettä siitä, että kannattaako sinun kanssa alkaa!
Päätös oli lähestulkoon yksimielinen. Minunkin vaisto antoi vaaranmerkkejä, mutta järkytyin mitä sinusta kuulin. Aluksi1381236- 641056
Olen vähän
Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I10974Ollaan kuin yö ja päivä
Monessa asiassa… molemmat ollaan kuitenkin älykkäitä ja tiedämme, ettei kannata edetä tämän pidemmälle.70931- 102912