Brute-force-estäjäohjelma

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ä.

8

2966

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Anteeksi mies

      En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin
      Ikävä
      27
      3391
    2. Ripeyttä asiointiin

      Ottaa päähän yhden ja saman asiakkaan hitaus kassalla kun yhdellä kädellä nostelee ostoksia kärrystä ja välillä pitelee
      Hyrynsalmi
      28
      2141
    3. Palstan henkisesti sairaat ja lihavat

      Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals
      Ikävä
      114
      1670
    4. Mietin aina vain

      Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh
      Tunteet
      7
      1418
    5. Koska me nähdään

      Seuraavan kerran ja odotanko sitä?
      Ikävä
      76
      1359
    6. 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. Aluksi
      Tunteet
      138
      1236
    7. En tunne muita

      Kohtaan tätä samaa polttavaa halua vain sinua kohtaan. Ei vaan muut sytytä
      Ikävä
      64
      1056
    8. 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. I
      Ikävä
      10
      974
    9. Ollaan kuin yö ja päivä

      Monessa asiassa… molemmat ollaan kuitenkin älykkäitä ja tiedämme, ettei kannata edetä tämän pidemmälle.
      Ikävä
      70
      931
    10. Oletko joskus lähestynyt jotakin

      väärällä identiteetillä? Miksi?
      Ikävä
      102
      912
    Aihe