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

3066

    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. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      42
      2482
    2. Mansikkatiloilla hyväksikäytetään ukrainalaisia

      Työolot ovat surkeita ja palkka kelvoton. https://yle.fi/a/74-20172942
      Maailman menoa
      302
      2098
    3. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      23
      1872
    4. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      24
      1615
    5. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      24
      1475
    6. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      44
      1366
    7. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      38
      1345
    8. Sokea "ystävälle"

      Oletko oikeasti noin sokea?
      Ikävä
      100
      1339
    9. En ymmärrä käytöstäsi

      Se on ollut eräänlaista hyväksikäyttöä. Että seura kyllä kelpaa palstan välityksellä silloin kun ei ole parempaakaan tek
      Ikävä
      139
      1305
    10. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      36
      1076
    Aihe