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

3242

    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. Riikka runnoo: datakeskuksille tulee UUSI yritystuki

      "Suomen valtio erikseen tukee esimerkiksi kryptovaluuttaan tai aikuisviihteeseen tai muuhun keskittyviä datakeskuksia."
      Maailman menoa
      65
      2232
    2. Eläkeläiset siirrettävä muuttotappioalueille

      Joutoväki pois ruuhkauttamasta elättäjien arkea. Samalla putoaa jokaisen asumiskulut ja rahaa jää enemmän kuluttamiseen.
      Maailman menoa
      215
      2090
    3. Onko kivaa jättää

      elämän suurin rakkaus hiljaisuuteen?
      Ikävä
      117
      1418
    4. En kerro nimeäsi nainen

      Sillä olet nyt salaisuus jota kannan sydämessäni. Tämä mitä tunnen ja kuinka sinuun vahvasti ihastuin on jo niin erikoin
      Ikävä
      71
      1180
    5. Kauppalehti - Törkeä skandaali paljastui: Espanja käytti EU-rahoja ihan muuhun kuin piti

      Espanja on käyttänyt miljardeja euroja EU:n elpymisavustuksia eläkkeisiin ja sosiaalimenoihin – ja pyytää lisää. Espanj
      Maailman menoa
      13
      1148
    6. Mitä haluaisit sanoa hänelle tänään?

      Kerro tähän viestisi. 🍭🍡🍦
      Ikävä
      103
      1041
    7. Olet kiva ihminen

      En kiellä sitä yhtään. Sinussa on hyvin paljon erinomaisia puolia, enemmän varmasti kun meissä muissa. Sitten on puoli
      Ikävä
      73
      939
    8. Uuden upotuskasteen vaiettu ongelma

      Alkuseurakunnan kaste oli useamman vuosisadan upotuskaste, joka toimitettiin joko ulkona luonnon vesistöissä tai kasteki
      Kaste
      71
      913
    9. Auta mua mies

      Ota vielä yhteyttä, keksi oikeat sanat että vuosien ajan kasvanut muuri murtuu meidän väliltä vaikka aluksi vain vähän.
      Ikävä
      78
      889
    10. Ja tääkin vielä...

      Kukakohan on valittanut, Salmiko itse? https://www.viiskunta.fi/rehtori-valittiin-ahtarissa-ilman-hakumenettelya-o/13479
      Ähtäri
      33
      865
    Aihe