Ką pavogė iš „LinkedIn“ ir kodėl vagystė pavyko?

Komentarai Prisijungti

Viršuje:   Seniausi | Naujausi

HardAxe 2012-06-14 10:54
bent jau gerai, kad mes naudojam lietuviškus slaptažodžius. Interneto platybėse lietuviškas žodis sutinkamas retai, jam negalioja ir skiemeninio bruteforcinimo angliškos taisyklės
Arwis 2012-06-14 11:30
As visada svarbiuose saituose kaip banking ar gaming(blizzard, NCsoft etc) naudoju panasaus tipo slaptazodzius kaip: 2 pirmos vardo raides; telefono numeris; 2 pirmos pavardes raides. Slaptazodis gaunasi ilgas raidziu ir skaiciu kratinys, taciau tau jis labai lengvas, nes pirmiausia tai tavo raides ir tavo telefono numeris. Siais laikais net juoka kelia kai zmones sako nera pas mane jokiu virusu ar keylogeriu bet vistiek accountas nulauziams. Nesupranta kad pas juos passwordas: love123 ar ferrari ar blowme ar bigdick yra vienas is dazniausiai pasitaikanciu slaptazodziu. Hackeriai siais laikais stengiasi gauti tik log in o passworda jie jau atspes praleide 10 000 most common passwords. Kaip neseniai buvo Diablo III nulauzimu banga, hackeriai gavo tik emailus, jiem to ir uztenka, o passworda jau atspes random.
- 2012-06-14 16:41
Koks druskinimo algoritmas? Gi tada kažkur saugoma informacija apie vartotoją, ir koks „druskos“ gabalas jam priskirtas. O tada kur pointas tai daryti?
Myslius 2012-06-14 20:20
Druska kiekvienam slaptazodziui saugoma duomenu bazeje salia hash'o. Druska - tai tiesiog atsitiktinai sugeneruoti simboliai. Gavus hash'us ir druskas reikia lauzti kiekviena hasha atskirai, t.y. bruteforcinant sugeneruotas hashas tiks tik vienodoms druskoms, praktiskai galima sakyti jog visi slaptazodziai tampa unikalus. Taigi druskos suletina lauzima. Lauziant viena hash'a nulauzimo laikas ne kiek nepasikeis, o kai lauzi 5 milijonus skirtumas bus didelis, t.y. 5 milijonus kartu leciau perrinkti visus hashus. Bet praktiskai tai apsaugo tik is dalies, nes perrinkus populiariausus 1000 slaptazodziu isrinksi kokia 20% slaptazodziu, o pasitelkus kad ir visa zodyna 40%.
rwc 2012-06-14 20:40
: paprastai rimtose sistemose prisijungimo vardas, hash, druskytė ir kiti svarbūs duomenys paskirstomi per daugybę serverių taip, kad gavęs priėjimą prie vieno, negalėtum prieiti prie kito. Jei nori pigiai ir paprastai, galima ir taip padaryti: slaptažodžio "druska" - prisijungimo vardas, prisijungimo vardo - slaptažodis. Jų hash'ai nesutaps ir bus statistiškai nepriklausomi, atspėti gali tik juos kartu, gali dar kokių nors duomenų primaišyti.
- 2012-06-14 20:48
Su algoritmu nepagavau dar kampo. Turiu vardą + passwd. Tarkim, prie passwd kabinu druską - atsitiktinių skaičių seką. Gaunu hash'ą iš passwd + druska kombinacijos. Antrąkart aš, įvedęs passwd, turiu gauti tą patį hash'ą, nes kitaip neprisijungs vartotojas prie sistemos. Kur laikomas susiejimas druskos su passwd, ir kaipo tai daroma?
Myslius 2012-06-14 20:49
Tokiu sistemu neteko matyti, tikriausiai yra, bet vienetai kad taip rupintusi saugumu. Tokios "nerimtos" sistemos kaip linkedin isvis ju nenaudoja, nes daugumai yra visiskai vienodai ant saugumo. Gali splitint duomenis tarp kiek nori serveriu. Jei nulauze pagrindini, tai galima pvz userio ivedamus slaptazodzius plain tekstu saugot, nereiks ne perrinkineti. Taip kad apsisaugojimas reliatyvus. -, sha1('slaptazodis' + 'druska'), db saugoma: 1) sha1('slaptazodis' + 'druska') 2) 'druska'
rwc 2012-06-14 22:20
, tai ką čia surašiau, tėra viena labai primityvi, bet velniškai pigi ir efektyvi schema. Yra ir gerokai sudėtingesnių. Tačiau, kaip daroma paprasčiausiai: ID(auto)-USERNAME(varchar)-SALT(bigint)-PWDHASH(bigint) vienoje lentelėje. Realiai, to vidutinio sudėtingumo sistemoms užtenka (e-bankams gal ir nelabai, bet One.lt per akis).