SuperGenPass is not that secure

Update 2 (2014-08-02): The developer of SuperGenPass, Chris Zarate, sent me an email detailing the solutions for the vulnerability described below explaining how the master password is never exposed to the master web page no more. I have not taken the time to review the solution, but the idea seems legit and the attack described below does no longer work.

Update: SuperGenPass vulnerability demo for people who don’t believe me.

I know, I have recommended that you use SuperGenPass for several times. It took a long time, but I finally realized there is a serious security flaw in the root of the implementation.

The SuperGenPass UI is rendered within the DOM of the current page when you click the bookmarklet. The UI is where you enter your master password. And because the UI is part of the current page, any script running in the page can read your master password. Remember that script can be external too, as in advertisements or widgets of some kind.

It is safe to say that using SuperGenPass is not that different from using the same password for every site. It just has a little bit different issues.

If you use the same password everywhere: When a site gets compromised in a way that the attacker can read the user account information, your account in every site can be compromised – depending on how the site stores their passwords.

If you use SuperGenPass on a site that is compromised: Your master password can get stolen and thus, your account in every site is compromised.

The difference is in the way site gets compromised. Something as common as a cross-site scripting attack will get your master password in jeopardy.

Fortunately, there is a safe way to use SuperGenPass. Just visit a page you absolutely trust not to have any unauthorized script running. Generate your password within that page by manually entering the domain name that you are trying to log in to. Then copy & paste it into the login form. Cumbersome, but it works.

At this point, I would not recommend SGP to anyone but security experts.

Salasanat ja vaihtamisen tuska

Ruutukaappaus 1Passwordista: Logins: 179“Vaihda salasanasi säännöllisesti”, sanotaan. Miten ihmeessä kukaan voi kuvitella, että salasanan vaihtaminen säännöllisesti vajaaseen kahteen sataan palveluun olisi käytännössä mitenkään mahdollista säännöllisesti?

Onneksi minulla ei ole mitään erityistä pakkoa vaihtaa salasanojani, onhan jokainen salasanani sivustokohtaisesti uniikki ja turvallinen 16 merkin mittainen. Silti, haluaisin noudattaa kaikkia hyviä salasanakäytäntöjä ja salasanan säännöllinen vaihtaminen on niistä yksi.

(Vai onko SuperGenPass turvallinen sittenkään?)

Vai onko se relevantti toimenpide? En pikagooglauksella löytänyt kunnollisia perusteita.

Joo, jos salasanan tiiviste (hash) päätyy krakkerien käsiin ja sen murtaminen salasanaksi kestää 7 kuukautta, vaihtamalla salasanan puolen vuoden välein olen turvassa. Mutta en omista yksiäkään tunnuksia joiden murtamiseen kukaan käyttäisi muutamaa minuuttia pidempään prosessoriaikaa.

Pankkitunnukseni salasanan haluaisin valita “hiukan” turvallisemmaksi nykyistä nelinumeroisesta. Toki avainlukulista estää tehokkaasti tilisiirrot ja muutkin väärinkäytökset, mutta en silti halua, että tilisaldojani ja lainasummiani pääsee ihan vahingossa katselmaan. Näin nimittäin oikeasti käy jatkuvasti Suomessa.

SuperGenPass: A Free Bookmarklet Password Generator

Update 2009-7-16: SuperGenPass is not that secure

Muistutuksena:

SuperGenPass allows you to remember just one password (your “master password”), which is used to generate unique, complex passwords for the Web sites you visit. SuperGenPass is a bookmarklet, so there’s no software to install. It works right from your Web browser and integrates with login forms. SuperGenPass never stores or transmits your passwords, so it’s easy and safe to use on multiple computers—even while traveling. It’s also completely free.

Pääsin tällä bookmarkletilla pysyvästi eroon huonojen ja sivustojen välillä toistuvien salasanojen ongelmasta. Toimii myös iPhonessa.

www.supergenpass.com/… →

Dictionary Attacks 101

Jeff Atwood:

Limiting the number of login attempts per user is security 101. If you don't do this, you're practically setting out a welcome mat for anyone to launch a dictionary attack on your site, an attack that gets statistically more effective every day the more users you attract.

Epännistuneiden kirjautumisten rajoittaminen per käyttäjä on tietysti hyvä, mutta ei riittävä suojaus. Jos murtautujalla on käytössään lista käyttäjätunnuksia, hän voi hajauttaa sanakirjahyökkäyksensä eri käyttäjätunnuksille. IP-tason epäonnistuneiden kirjautumisten rajoittaminen on siis huomattavasti toimivampi ratkaisu. Jos taas murtautujalla on käytössään bottiverkosto ja käyttäjätunnuslista, ei oikein mikään voi pelastaa huonoilta salasanoilta.

www.codinghorror.com/… →

Yksi salasana

MacHeistin sovelluksista yksi ennalta mielenkiintoisimmista oli 1password. Asennuksen jälkeen ohjelma ei juuri tarjonnut vinkkejä seuraavaan steppiin, joten käyttöönotto jäi. Katsoinpa sitten MacBreakin jakson jossa yhtä tekijöistä haastateltiin Macworldissa. Ylitsevuotavat kehut johdattivat katsomaan valmistajan oman esittelyvideon sovelluksesta. Olin myyty (mikä ei tietysti sinänsä vaatinut paljon, koska softan jo omistin).

Ennen 1passwordia käytin SuperGenPass-bookmarkletia. Sitäkin ennen käytin muutamaa kierrätettävää salasanaa, mutta salasanajupakka sai heräämään.

SuperGenPass generoi yhdestä salasanasta kullekin sivustolle oman salasanan — mikä sinänsä on erittäin toimiva idea, koska tuo bookmarklet toimii selaimessa kuin selaimessa. 1password on kuitenkin monipuolisempi ja joustavampi ratkaisu. Ainoa huono puoli on toimivuus OSX:ssä. Jos salasanoihin pitää päästä joskus käsiksi Windowsissa, ei ratkaisu olekaan enää niin mukava. Salasanat saa kuitenkin vietyä monipuolisesti muun muassa HTML-tiedostoksi, jossa salasanat on asianmukaisesti salattu ja niiden avaaminen vaatii salasanan.

Koska salasanat tallentuvat Keychainiin, ovat ne synkronoitavissa .Macin kautta useille koneille. .Mac kuitenkin maksaa rahaa eikä auta Windows-ongelmaan. 1Passwordia kehittävä Agile Web Solutions on tuomassa My1Password-palvelua, joka lupaa universaalin pääsyn salasanoihin. Mukaan pääsee toistaiseksi vain kutsusta.

Lopuksi pieni vinkki. Jos tallennat salasanoja selaimeen, aktivoi edes master-salasana. Se onnistuu Firefoxissa asetusten Security-välilehdellä. Näin salasanasi ovat edes vähän paremmin suojattuja eivätkä kenen tahansa koneelle sattuvan luettavissa.