Kas teid rünnatakse? Võtke ühendust intsidentidele reageerimise meeskonnaga

Identiteet ja juurdepääs

Parooli lähtestamine, mis ei nõrgenda sisselogimise turvalisust

Kuidas kujundada ja testida unustatud parooli voogu: tokenid, aegumine, enumeratsioon, sessioonid ja lähtestus, mis ei möödu teisest faktorist.

Saadaval ka:EnglishTürkçeDeutschFrançaisEspañolItalianoPolskiNederlands

Illustratsioon: Parooli lähtestamine, mis ei nõrgenda sisselogimise turvalisust

Parooli lähtestamine on sisselogimine, mis jätab parooli vahele. Seetõttu tuleb iga sisselogimisvormi kontroll lähtestamisel kas samaväärselt üle võtta või teadlikult asendada. Kui lähtestusrada on nõrgem kui sisselogimisrada, kasutab ründaja just seda. OWASP Forgot Password Cheat Sheet nimetab seda funktsiooni „haavatavuste tavaliseks allikaks“, kusjuures kõige tuntum näide on kasutajate enumeratsioon.

Miks lähtestusvoog on nõrk lüli

Edukas sisselogimine loob sessiooni. OWASP-i sessioonihalduse juhendi kohaselt on autenditud sessiooni ID ajutiselt samaväärne tugevaima autentimismeetodiga, mida rakendus kasutas. Lähtestus, mis lõpeb sessiooniga või ründaja valitud parooliga, annab ründajale sama.

NIST SP 800-63B-4 nõuab AAL2 tasemel kahe eraldiseisva autentimisfaktori omamise ja kontrolli tõendamist. Kui sisselogimisel küsitakse kahte faktorit, on lähtestus, mis vajab vaid ühte e-postiga saadetud tokenit, ühefaktoriline möödapääs. Meie kasutatud väljavõte taastamist ei käsitle, kuid täisdokumendis on autentimisvahendite sündmuste haldamise (authenticator event management) peatükk.

Meie enda reegel: kui kontol on seadistatud teine faktor, küsige enne uue parooli vastuvõtmist seda faktorit või salvestatud taastekoodi ning ärge kunagi lubage lähtestusel faktorit eemaldada ega asendada.

Päringu samm

Vastake ühtmoodi sõltumata sellest, kas konto on olemas. Piisab sõnumist „Kui see aadress on registreeritud, oleme saatnud e-kirja“.

Ka ajastus võib infot lekitada. Töötleja, mis tundmatute aadresside puhul lõpetab varakult ja tuntud aadresside puhul saadab kirja, paljastab erinevuse sõltumata sõnumi sisust. Käivitage iga päringu puhul sama loogika või andke kirja saatmine asünkroonsele tööle.

Lisage konto-põhine rate limiting, CAPTCHA või sarnane kontroll. Ilma selleta võib ründaja saata ühele kontole tuhandeid lähtestuspäringuid tunnis ning uputada ohvri postkasti või SMS-id üle. Ärge lukustage ega muutke kontot lähtestuspäringu peale.

Token

OWASP esitab tokenile või koodile neli nõuet:

  • see on genereeritud krüptograafiliselt turvalise juhuslikkuse algoritmiga;
  • see on piisavalt pikk, et pealetung toorjõuga ei õnnestuks;
  • see on turvaliselt salvestatud;
  • see on ühekordne ja aegub sobiva aja pärast.

Juhend ei anna pikkuse ega eluea kohta numbreid. Lähim number allikates on sessioonijuhendis: CSPRNG vähemalt 128 bitise entroopiaga, eelistatult 160 bitti või rohkem. See on kirjutatud sessioonitokenite kohta, meie rakendame seda ka lähtestustokenitele. Eluea puhul valige lühike väärtus, kirjutage see üles ja testige selle vastu.

Fraasi „turvaliselt salvestatud“ saab tõlgendada rangelt. Kui teie ohumudelis on tokenite hoidla ainult lugemisõigusega avaldumine, kirjeldab sessioonijuhend identifikaatori ja saladuse verifikaatori eraldamist. Server hoiab avalikku otsinguidentifikaatorit ja verifikaatori täielikku SHA-256 räsi ning võrdleb räsisid konstantse ajaga. Ainult identifikaator ei tohi kunagi lugeda tõendiks. Selle rakendamine lähtestustokenitele on meie soovitus.

Edastage token kõrvalkanali kaudu, e-posti või SMS-iga, mitte kunagi brauseri vastuses. Token URL-is on lihtsaim lahendus, kuid sessioonijuhend hoiatab, et URL-is olevad ID-d võivad lekkida linkide ja logide, brauseri ajaloo ja järjehoidjate, Referer-päise ning otsingumootorite kaudu. Kolmanda osapoole sisu ja väljaminevate linkide hoidmine lähtestuslehelt sulgeb ainult Referer-lekke. Ülejäänu puhul vahetage token esimesel päringul välja lühiealise serveripoolse oleku vastu, suunake puhta URL-i peale ja hoidke see esimene päringustring väljas juurdepääsulogidest.

Lähtestuse samm

  • Laske kasutajal uus parool kaks korda sisestada ja kontrollige seda sama poliitika vastu mis registreerimisel.
  • Räsige see sama koodiraja kaudu nagu kõik teised paroolid.
  • Tühistage kõik konto kehtivad lähtestustokenid, kui parool või e-posti aadress muutub. Muidu võib postkasti jäänud vanem kiri konto uuesti lähtestada.
  • Saatke kasutajale e-kiri parooli muutmise kohta. Ärge kunagi pange parooli sõnumisse.
  • Suunake kasutaja tavalisele sisselogimisele, selle asemel et ta automaatselt sisse logida. Automaatne sisselogimine lisab sessioonihalduse koodi ja sellega uute haavatavuste võimaluse.
  • Lõpetage olemasolevad sessioonid või pakkuge vähemalt seda võimalust.

Kahtlustatava kompromiteerimise järel jääb ründaja aktiivne sessioon parooli muutmisest hoolimata alles, kui te seda ei lõpeta. Meie teeksime sessioonide tühistamise vaikimisi toiminguks.

MFA ja kompromiteeritud kontod

Ainuüksi parooli lähtestamine ei pruugi kontrolli tagasi anda. Ründajal võib endiselt olla aktiivne sessioon või ta võis muuta taasteandmeid või MFA meetodeid.

OWASP soovitab mitte tugineda ainult hiljuti lisatud või muudetud taasteandmetele. Kasutage varem kehtestatud sõltumatut tõendusmaterjali, näiteks salvestatud taastekoode, kombinatsioonis, mis vastab konto usaldusväärsuse nõuetele. MFA lähtestamisel on OWASP-i Multifactor Authentication Cheat Sheet'is oma jaotis, seega hoidke see protsess parooli vooust lahus.

OWASP Authentication Cheat Sheet käsitleb ka registreeritud e-posti aadressi muutmist. See on oluline, sest muudetud aadress suunab ümber kõik tulevased lähtestused.

Voo testimine

TestEdukas tulemus
Olemasolev ja olematu aadressSama sõnum ja olekukood
Skriptitud päringute komplekt aadressi kohtaMediaanvastusajad ühtivad
Korduvad päringud ühe konto kohtaRate limit või CAPTCHA rakendub
Lähtestuse küsimine, seejärel sisselogimineKontot ei lukustata ega muudeta
Token kasutatud kaks korda või pärast aegumistKatse ebaõnnestub
Vana token pärast parooli või e-posti muutmistKatse ebaõnnestub
Lähtestusleht tokeniga URL-isEi mingeid kolmanda osapoole päringuid ega väljaminevaid linke
Lähtestus avatud vana sessioonigaVana sessioon lõpetatakse
Seadistatud teine faktor, ainult e-postiga saadetud token (meie reegel)Lähtestus keeldutakse
Lõplik vastus ja kiriAutomaatset sisselogimist ei ole, kirjas ei ole parooli

Ajastuse rea puhul võrrelge mediaane ja hajuvust paljude käivituste lõikes. See kuulub igasse autentimisvoo penetratsioonitesti.

Kust alustada

  1. Küsige lähtestust olemasoleva ja olematu konto jaoks mõlema puhul mitu korda. Võrrelge sõnumit, olekukoodi ja vastuse aega.
  2. Lugege tokeni generaatorit. Veenduge, et see kasutab CSPRNG-i, muutke tokenid ühekordseks ja määrake eluiga, mille saate nimetada minutites.
  3. Lisage päringu lõpp-punktile konto-põhine rate limiting või CAPTCHA ning veenduge, et päring ei lukusta ega muuda kontot.
  4. Laske lähtestusel lõpetada muud sessioonid, tühistada kehtivad tokenid ja saata teavituskiri ilma paroolita. Kontrollige, et lähtestusleht ei lae midagi kolmandatelt osapooltelt.
  5. Võtke testkonto, millel on MFA seadistatud, ja proovige seda lähtestada ainult e-postiga saadetud tokeniga. Veenduge, et lähtestusest keeldutakse.
  6. Kontrollige, kes saab teist faktorit lähtestada või eemaldada, millist tõendusmaterjali selleks vaja on ja kas taastamine käsitleb hiljuti muudetud andmeid ebausaldusväärsena.

Kuidas saame aidata

Läbistustestimine

Ründame teie võrke, rakendusi ja inimesi nagu päris vastane ning näitame, kuidas iga turvaauk sulgeda.

Kirjutage meile
AngelForce’i meeskond

Kirjutanud AngelForce’i meeskond: CEH-, LPT Masteri ja CISA-sertifikaadiga turvakonsultandid, kes testivad, jälgivad ja kaitsevad organisatsioonide süsteeme kogu Euroopas.

Artikkel on kirjutatud tehisintellekti abil allpool loetletud avalike allikate põhjal ning AngelForce’i meeskond vaatas selle enne avaldamist üle.

Allikad

  1. cheatsheetseries.owasp.org/cheatsheets/Forgot_Password_Cheat_Sheet.html
  2. cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html
  3. pages.nist.gov/800-63-4/sp800-63b.html
  4. cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html

Artiklid teemal „Identiteet ja juurdepääs“

Rääkige meile, mida soovite kaitsta

Kirjeldage oma keskkonda ja seda, mida soovite saavutada. Vastame e-posti teel.

Kirjutage meile
info@angelforce.eu +372 5705 2044

AngelForce OÜ · Tallinn, Eesti