Cryptology Academy · Oppitunti

Nopeuden rajoittaminen ja tilin lukitseminen

Tarkastele palvelin- ja protokollatason suojauksia, jotka tekevät brute force -hyökkäyksistä käytännössä mahdottomia.

Oppitunti 4/413 vaihetta

Nopeuden rajoittaminen ja tilin lukitseminen on ilmainen Cryptology Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cryptology Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.

Verkossa ja offline-tilassa tehtävät raakavoimahyökkäykset

Verkossa tehtävissä raakavoimahyökkäyksissä hyökkääjä todentaa tunnistetietoja aktiivisissa järjestelmissä verkon kautta. Jokainen yritys kestää vähintään yhden verkkokierroksen, tyypillisesti 50–500 ms, joten hyökkääjä voi tehdä parhaimmillaankin vain muutaman tuhannen yrityksen minuutissa. Tämä on huomattavasti hitaampaa kuin hajautusarvojen murtaminen offline-tilassa. Pyyntöjen nopeuden rajoittaminen ja tilien lukitseminen hyödyntävät tätä rajoitetta ja tekevät verkossa tehtävästä raakavoimahyökkäyksestä käytännössä mahdottoman kohtuullisessa ajassa.

Tilin lukitus N epäonnistuneen yrityksen jälkeen

Yksinkertaisin puolustus verkossa tehtäviä raakavoimahyökkäyksiä vastaan on lukita tili, kun määritetty määrä peräkkäisiä kirjautumisyrityksiä epäonnistuu, tyypillisesti 5–10 yrityksen jälkeen. Tili voidaan lukita määräajaksi, esimerkiksi 15 minuutiksi, tai siihen asti, että ylläpitäjä avaa sen manuaalisesti. Lukitus muuttaa verkossa tehtävän raakavoimahyökkäyksen salasanojen murtamisyrityksestä tilin saatavuuteen kohdistuvaksi uuvutushyökkäykseksi.

Lukituksesta johtuva palvelunestoriski

Tilin lukitus luo palvelunestohyökkäykselle altistavan haavoittuvuuden: kelvolliset käyttäjätunnukset tietävä hyökkääjä voi lukita kaikki tilit lähettämällä kuhunkin viisi epäonnistunutta yritystä. Tämä kompromissi sisältyy lukituskäytäntöihin väistämättä. Jotkin järjestelmät käyttävät pysyvän lukituksen sijaan väliaikaista lukitusta, esimerkiksi 5 minuutin ajan, palvelunestovaikutuksen vähentämiseksi. Toiset eivät lukitse tilejä lainkaan, vaan käyttävät eksponentiaalista odotusaikaa hidastamaan hyökkääjiä ilman palveluneston mahdollistamista.

CAPTCHA bottien torjuntakeinona

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) edellyttää sellaisen kuva- tai äänitehtävän ratkaisemista, joka on ihmisille helppo mutta automaattisille boteille vaikea. Google reCAPTCHA v3 käyttää nimenomaisten tehtävien sijaan käyttäytymisanalyysiä ja määrittää riskipistemäärän hiiren liikkeiden, ajoituksen ja selaushistorian perusteella. CAPTCHA hidastaa automaattisia raakavoimahyökkäyksiä merkittävästi lukitsematta tilejä.

Epäonnistuneiden yritysten eksponentiaalinen odotus

Eksponentiaalinen odotus pidentää sallittujen kirjautumisyritysten välistä odotusaikaa jokaisen epäonnistumisen jälkeen: ensimmäisen epäonnistumisen jälkeen 1 sekunti, toisen jälkeen 2 sekuntia, kolmannen jälkeen 4 sekuntia ja niin edelleen. Kymmenen epäonnistumisen jälkeen odotusaika on yli 17 minuuttia. Tämä tekee raakavoimahyökkäyksestä erittäin hitaan lukitsematta tiliä kokonaan, mikä välttää palvelunestoriskin ja samalla torjuu automaattisia hyökkäyksiä.

IP-osoitteeseen perustuva nopeusrajoitus

IP-osoitteeseen perustuva nopeusrajoitus estää kirjautumisyritykset tai asettaa niille lisähaasteen IP-osoitteista, joiden epäonnistumismäärä ylittää tietyn aikayksikkökohtaisen rajan. Jos yhdestä IP-osoitteesta lähetetään 50 epäonnistunutta kirjautumisyritystä minuutissa, kyseisestä osoitteesta tulevat seuraavat yritykset estetään tunniksi. Tuhansia eri IP-osoitteita käyttävät hajautetut hyökkäykset voivat kiertää yksinkertaiset IP-kohtaiset rajat, joten tarvitaan kehittyneempää hyökkäysten etenemisnopeuden tunnistusta useiden signaalien perusteella.

TOTP raakavoimahyökkäysten torjujana

Aikaperusteiset kertakäyttöiset salasanat (TOTP, joita käytetään Google Authenticatorissa ja vastaavissa sovelluksissa) tuottavat kuusinumeroisen koodin, joka on voimassa 30 sekuntia. Vaikka hyökkääjä onnistuisi murtamaan oikean salasanan raakavoimalla, hän tarvitsee myös ajantasaisen TOTP-koodin. Koska mahdollisia kuusinumeroisia koodeja on vain miljoona ja aikaikkuna on 30 sekuntia, TOTP:n raakavoimahyökkäykselle jää käytännössä erittäin pieni aikaikkuna. MFA tekee salasanojen raakavoimahyökkäyksistä käytännössä käyttökelvottoman hyökkäysvektorin.

bcryptin työmääräkerroin hidastaa hajautusarvojen laskentaa

bcrypt on salasanan hajautusfunktio, jossa työmääräkerroin voidaan määrittää. Kun työmääräkerroin on 10, bcryptin yhden salasanan hajauttamiseen kuluu noin 100 ms. Kun työmääräkerroin on 12, aikaa kuluu noin 400 ms. Tämä tarkoittaa, että offline-tilassa bcrypt-hajautusarvoja murtava hyökkääjä voi testata grafiikkasuorittimella enintään muutamia satoja salasanoja sekunnissa, kun MD5:llä vastaava määrä on miljardeja sekunnissa. Työmääräkerrointa voidaan kasvattaa laitteiston kehittyessä, jotta murtamisen vaikeus pysyy samana.

Argon2:n muistivaativuus

Argon2 voitti Password Hashing Competition -kilpailun vuonna 2015, ja se on nykyinen suositus uusiin järjestelmiin. Sen keskeinen ominaisuus on muistivaativuus: laskenta edellyttää määritettävissä olevaa määrää RAM-muistia, tyypillisesti 64 Mt–1 Gt. Tämä estää GPU- ja ASIC-kiihdytyksen, koska näiden laitteiden muistikaistan leveys on rajallinen. Hyökkääjä, jonka GPU pystyy suorittamaan tuhansia bcrypt-laskentoja rinnakkain, voi muistirajoitusten vuoksi suorittaa vain kourallisen Argon2-laskentoja.

WAF-säännöt tunnusten täyttöhyökkäysten torjumiseen

WAF:t voivat tunnistaa tunnusten täyttöhyökkäyksiä epäonnistuneen kirjautumisliikenteen malleista: yksittäisistä IP-osoitteista tulevista suurista liikennemääristä, yleisten käyttäjätunnusluetteloiden avulla tehdyistä yrityksistä, kirjautumisyritysten poikkeavasta maantieteellisestä jakaumasta sekä automaattisten työkalujen käyttöön viittaavista ajallisista malleista. WAF-säännöillä voidaan estää epäilyttävä liikenne, asettaa sille lisähaaste tai hidastaa sitä ennen kuin se saavuttaa sovelluksen. Nykyaikaiset WAF:t yhdistävät toimintaansa tunnettujen bottiverkkojen IP-alueita koskevia uhkatietosyötteitä.

HIBP API tunnetusti vuotaneille salasanoille

Have I Been Pwned API:n integroiminen salasanan vaihtoprosesseihin estää käyttäjiä asettamasta salasanoja, jotka esiintyvät tunnettujen tietomurtojen tietokannoissa. API käyttää k-anonymity-menetelmää: vain SHA-1-hajautusarvon viisi ensimmäistä heksadesimaalimerkkiä lähetetään. Näin käyttäjien yksityisyys säilyy, mutta salasanoja voidaan verrata 850 miljoonaan tunnetusti tietomurroissa paljastuneeseen salasanaan. Tietomurroissa paljastuneiden salasanojen estäminen rekisteröitymisen yhteydessä poistaa merkittävän osan tunnusten täyttöhyökkäysten riskistä.

Tilin lukitus

Mikä on pysyvästi tilejä lukitsevien tiukkojen tilin lukituskäytäntöjen tärkein turvallisuusriski?

Nopeusrajoitus ja tilin lukitus: tärkeimmät opit

Verkossa tehtäviä raakavoimahyökkäyksiä rajoittaa verkon viive, ja pyyntöjen nopeuden rajoittaminen sekä tilien lukitseminen hyödyntävät tätä. Tilin lukitus pysäyttää raakavoimahyökkäykset, mutta mahdollistaa palvelunestohyökkäykset. Eksponentiaalinen odotus ja CAPTCHA lieventävät molempia riskejä. IP-osoitteeseen perustuva nopeusrajoitus torjuu yhdestä lähteestä tulevat hyökkäykset. TOTP-pohjainen MFA torjuu salasanojen raakavoimahyökkäykset tehokkaasti. bcrypt ja Argon2 hidastavat offline-tilassa tapahtuvaa hajautusarvojen murtamista. HIBP API estää tunnetusti tietomurroissa paljastuneet salasanat jo rekisteröitymisen yhteydessä.

Aloita maksutta

Opi Cryptology Academy tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
67
Oppitunnit
261

Usein kysytyt kysymykset

Onko oppitunti ”Nopeuden rajoittaminen ja tilin lukitseminen” ilmainen?

Kyllä – oppitunnin ”Nopeuden rajoittaminen ja tilin lukitseminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cryptology Academy-kurssin, päivitä CoddyKit PROhon. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Nopeuden rajoittaminen ja tilin lukitseminen”?

Tarkastele palvelin- ja protokollatason suojauksia, jotka tekevät brute force -hyökkäyksistä käytännössä mahdottomia. Harjoittelet Cryptology Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Cryptology Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Cryptology Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Nopeuden rajoittaminen ja tilin lukitseminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Cryptology Academy-oppitunnilla?

Kyllä. Jokainen Cryptology Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Miten brute force -hyökkäykset toimivat
  2. Sanakirjahyökkäykset ja rainbow-taulukot
  3. Miksi kryptografisen avaimen pituudella on merkitystä
  4. Nopeuden rajoittaminen ja tilin lukitseminen
← Takaisin: Cryptology Academy