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

3172

    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. Jalankulkija kuoli. Poliisi etsii mustaa BMW Coupe -autoa, jossa on punertavat vanteet.

      Jalankulkija kuoli jäätyään auton alle Joensuussa – kuljettaja pakeni, poliisi pyytää havaintoja https://www.mtvuutiset.
      Joensuu
      243
      5559
    2. Mikä vasemmistolaisista jankkaavaa vaivaa?

      Pahasti on ihon alle, siis korvien väliin sinne tyhjään tilaan, päässeet kummittelemaan. Ei ole terveen ihmisen merkki
      Maailman menoa
      88
      3491
    3. PÄIVÄN PARAS: Nigerialainen haki turvapaikkaa Suomesta, lähti takas huilaamaan

      kotimaahansa, koska turvapaikan saaminen kesti niin kauan. Ja tämän kertoo ihan Yle, eikä yhtään toimittaja kyseenalaist
      Maailman menoa
      135
      3343
    4. Ohjelma "Rikollisjengien Ruotsi" hyvin paljasti jakautuneen maan

      eli ns. ruotsalaiset yhdellä puolella, muslimit ja muut kehitysmaalaiset toisella puolella. Siinäkin hyvin näki mitä ma
      Maailman menoa
      42
      3063
    5. Vassarina hymyilyttää vaurastuminen persujen kustannuksella

      Olen sijottanut määrätietoisesti osan Kelan tuista pörssiosakkeisiin, ja salkku on paisunut jo toiselle sadalle tuhanne
      Maailman menoa
      72
      2949
    6. Riikka runnoo: Elisalta potkut 400:lle

      Erinomaisen hallitusohjelman tavoite 100 000 työllistä lisää yksityisellä sektorilla on kohta saavutettu. Toivotaan toiv
      Maailman menoa
      93
      2774
    7. Pidennetään viikko 8 päiväiseksi

      Ja jätetään työpäivien määrä nykyiseen 5:een. Tuo olisi kompromissiratkaisu vellovaan keskusteluun työajan lyhentämisest
      Maailman menoa
      17
      2450
    8. Pääseekö kuka tahansa hoitaja katselemaan kenen tahansa ihmisen terveystietoja?

      "Meeri selaili puhelinta uteliaisuuttaan ja katuu nyt – Moni hoitaja on tehnyt saman rikoksen Tuttujen ihmisten asiat k
      Maailman menoa
      103
      2327
    9. Miksi eristäydyt?

      Onko jokin syy kun vetäydyt omiin oloihin?
      Ikävä
      173
      1890
    10. Vapaa- ajan asunto palanut Haapavedellä

      Haapavesi päässyt Iltalehteen Vapaa- ajan asunto palanut 35 neliötä palanut. Missä päin tämä on ollut? Poliisin tutkinn
      Haapavesi
      9
      1450
    Aihe