Tavis Ormandy komoly biztonsági hibákat talált a LastPass szolgáltatásban

Tavis Ormandy, a Google biztonsági szakértője a Twitter-en értekezett a LastPass biztonságáról. Álnaiv csodálkozással kérdezte, hogy "tényleg van, aki használja még?". Kicsit megvizsgálva a LastPass-t, egy csomó kritikus problémát - például teljes távoli kompromittálást - talált a szolgáltatásban. Tavis felvette a kapcsolatot a LastPass-szal, ami már javította a problémát.

Tavis azt ígérte, hogy ránéz a 1Password-re is.

Hozzászólások

Kicsit olyan magas lorol megmondom a tutit csavonak tunik.

Azert ahhoz hogy ki lehessen hasznalni ezt a bugot a felhasznalot elobb egy fertozott oldalra kell terelni...

Csavokam kommentjebol meg az jott le hogy hat raklikkelsz meghalsz vazzeg...

Inkabb azt szeretnem mar latni hogy a kugli webes feluleten lehessen beallitani a titkositott email fogadast.

Ha Ormandy valami biztonságában kételkedik "gyors ránézés" után, akkor jobb ha te is kételkedsz annak a szolgáltatásnak a biztonságában. Elég nagy név security körökben. Érdemes odafigyelni arra, amit mond. Inkább neki, mint a LastPass kiadott "jaj, nem is akkor a probléma" közlésének hiszek.

Persze a te dolgod, hogy kinek hiszel.

--
trey @ gépház

Ilyenkor mindig varnek azert egy megoldast is akkor, hogy hat mit kellene hasznalni ha ez annak ellenere hogy javitottak a hibat nem jo alkalmazas. (mondjuk en mas jelszokezelot hasznalok)

En nem mondtam hogy nem hiszek nyilvan amit talalt az nem jo dolog csak kicsit lefitymalonak tunik az a bejegyzes (tenyleg hasznalja ezt a szart valaki?)

Google dolgairol is igy szokott nyilatkozni mikor talalnak valami problemat?

Kérdéseket vet fel:

"a bunch of obvious critical problems"

- Mindent javították vajon?
- Mióta lehetett sebezhető?
- Hányan vehették észre?
- Hányan használhatták ki?
- Egy ilyen cég, ami ennyire szenzitív adatokkal dolgozik, végez(tet) vajon biztonsági auditot?
- Egy ilyen cégnek van biztonsági jutalomprogramja (bug bounty)? Ha nincs, miért nincs?
- Mennyire bízhatunk az ilyen szolgáltatásokban?
- stb.

--
trey @ gépház

- a hiba sulyos volt, rosszul ellenörizte a domain-t ami alapján kiválasztotta a jelszót. Amatőr hiba volt, a url regexpben volt a hiba, amire azért elég sok megoldás született már...
- csak a firefox plugin volt érintett
- volt 1000$-os jutalom
- állítólag 1 nap alatt javitották (hónapokkal ezelött)

én használom a szolgáltatásukat, nem olyan rossz, kár hogy nincs nyilt forráskodú jó alternativájuk, mert a jelszókezelés minden embert érintő probléma. A Keepassnak nagyon gyenge ui-jai vannak legalább is macos-re. Az Encryptr-nek sincs böngészőbe épülő pluginja. A 1password szerintem drága.
Egyébként érdekes hogy a jelszókezelőknek sincs jó jelszó generátora ami jelmondatot generálna amit mindenki ajánl...

Amiről te beszélsz, amit régebben javítottak, az a Mathias Karlsson által talált probléma, nem?

A Tavis Ormandy által talált meg egy másik.

"One report was disclosed yesterday, while the other report was responsibly reported and fixed over a year ago. [...] The first report was responsibly disclosed to our team over a year ago by security researcher Mathias Karlsson, and fixed at that time. Karlsson recently posted his findings on the URL parsing bug. All browser clients were updated and Karlsson confirmed our fix at that time, requiring no action from our users.

The second report was made yesterday by Google Security Team researcher Tavis Ormandy, who contacted our team to report a message-hijacking bug that affected the LastPass Firefox addon."

LastPass Security Updates

--
trey @ gépház

Böngészőben tárold a jelszavadat mester jelszóval. A jelszavakat meg generáld le a domain név, login neved és egy erős mester jelszó alapján hash-el, ahol a mester jelszó minden esetben ugyanaz:

echo "mydomain.com, mylogin, mystrongpass" | sha1sum

8c1118415367f18c1142d71dad77df8cd9a4ff70

Ennél jobb szerintem ha a bináris hash-t base64-ben adjuk vissza:

ruby -e 'require "digest"; puts Digest::SHA1.base64digest "mydomain.com, mylogin, mystrongpass"'

KHq6rFZzjAn3S0vb2KUiWi6xiY8=

Így soha nem kell jelszó kezelő program és nem kell átlőni az egész neten, csak a mester jelszót írd fel a kockás füzetbe.

Aztán meg vagy lőve, amint szembetalálod magad olyan weboldalakkal, ahol az így kigenerált hash túl hosszú, hiányzik belőle a nagybetű, vagy a speciális karakter, vagy épp pont az egyenlőségjellel van gondja.

Aztán meg vagy lőve, amint egy olyan eszközön kell bejelentkezni, ahol nincs se ruby, se python, se egy parancssor.

Fogást próbálsz találni hogy jobb legyen a lelkednek, de ahogy látom, nem megy. Hatalmas valószínűséggel nem fogsz tudni nekem jobb megoldást mondani. Ha igen, nyitott fül vagyok, hallgatlak. :)

Ha másik jelszó kell, mert valami hiányzik belőle, akkor fogod magad, és nagyon szépen hozzáírsz egy + jelet, vagy újra generálod úgy, hogy az erős jelszavadhoz írsz egy 1-est, 2-est vagy akármit. Felállítasz egy szabályt. Továbbra is univerzális lesz!

Kevés olyan oldal lesz szerintem, ahol nem lesz jó a Ruby féle random kimenet.

Had kérdezzem meg, miért kellene neked _állandóan_ Ruby és egyéb interpreter a telefonodon vagy akárhol máshol? Ezt nem igazán értem. Fogod magad és a számítógéped képernyőjéről begépeled a jelszavadat a telefonodba egyszer és kész. Mi ebben olyan nehéz? Inkább kilönéd a netre?? :D

Ezen kívül ha már annyira más megoldások szimpatikusak neked a hangsúlyodból ítélve (mondj kérlek legalább 1 jobbat!), akkor foghatod magad és leszinkronizálhatod a böngésződ felhőjébe, majd onnét a mobilodra ha nagyon akarod. És akkor jelszavakat sem kell gépelned a telefonodra.

Várok konstruktív válaszokat! És ne terelj! ;)

Fentebb írtál egy látszólag egyszerű megoldást arra, hogy egy jelszó és egy algoritmus megjegyzésével bármilyen célra elő tudsz magadnak állítani jelszót. Egy master jelszót kell megjegyezni, egy algoritmust amivel előállítod magadnak.

Csak hogy pont te írod:

"Ha másik jelszó kell [...] hozzáírsz egy + jelet [...] az erős jelszavadhoz írsz egy 1-est, 2-est vagy akármit."

Szóval máris nem jó az elképzelésed, hiszen rögtön nem csak azt kell megjegyezni, hogy hova regisztráltál egyáltalán, hanem azt is, hogy ezek közül melyiknek volt ilyen-olyan speciális igénye, ami miatt más algoritmust használtál, vagy más master jelszót, vagy ilyesmi.

Szóval nem, nem próbálok fogást találni, hogy jobb legyen a lelkemnek. Egyszerűen csak észrevettem ezeket a hibákat, és lényegében azt mondom, hogy tökéletes megoldást nincs.

Az én személyes megoldásom is messze van a tökéletestől. Van vagy 10-15 bejáratott jelszavam, amit használok, minden célra van megfelelő, van amit megbízható oldalon használok, van amit olyan oldalakon, ahol az se érdekel, ha feltörik. Van dedikált jelszava netbankárnak, emailnek, ilyesmiknek. Nem mondom hogy ez a legjobb megoldás, mert nincs jó megoldás. Vagy kényelem, vagy körülményesség.

"Had kérdezzem meg, miért kellene neked _állandóan_ Ruby és egyéb interpreter a telefonodon vagy akárhol máshol?"

Biztonságról volt szó. Feltételeztem hogy nem fér bele a "bejelentkezve marad" opció. Tehát be kell tudnom jelentkezni oldalakra akkor is, ha épp ismerősnél vagyok, vagy ha épp csak a mobil van kéznél, vagy egy netkávézóban ülök.

"Ezen kívül ha már annyira más megoldások szimpatikusak neked a hangsúlyodból ítélve"

Hogy hallod írásban a hangsúlyomat? Nincs számomra szimpatikusabb megoldás. Legalábbis olyat nem tudok, amitől ne sírna fel minden privacy érzékeny olvasó :) Egyébként pont azt csinálom, amit te mondasz. Nem kevésbé tartom megbízhatónak (vagy megbízhatatlannak) a Keepass, vagy Lastpass megoldását, mint a Google Chrome megoldását. Egy kis biztonság fel van áldozva a kényelem érdekében.

Hogy említesz egy sokkal gyengébb és rosszabb megoldást (tizen pár fix jelszó használata mindehol, ráadásul idegen gépeken is beírkálod), az nem érv, hanem terelés. Írd le azt hogy mennyivel jobb a te gyakorlatod az én eljárásomnál. Érdekel szakmailag. Ugye eleve te kezdtél rajta lyukat keresni innét, de még mindig nem látom hol a lyuk és hol a jobb megoldás. Nem mondom hogy nincs! Biztos van nálam sokkal okosabb, érdekelnek a jobb megoldások.

Leírom neked még egyszer bővebben a megoldást arra az esetre, ha nem megfelelő a jelszó.

- ritkán fog előfordulni
- ha mégsem, akkor hozzáírsz egy speckó karaktert
- ezt le is dokumentálhatod, akár ide a blogodba :)

A lényeg a következő: Egyszer csináljuk jól hosszú távra.

Egyszer kell létrehozni a jelszavakat és életszerűen vizsgálva nagyon sokáig nem kell hozzá nyúlni. Vagyis: létrehozod a jelszót, letárolod a böngésződbe erős mester jelszóval védve és kész. Nem nyúlsz hozzá évekig. Erős random jelszavak, külön külön mindegyik rendszerhez. Nincs ugyanaz felhasználva több helyen. Nincs plain text letárolva sehol (csak titkosított db-ben, amit a mester jelszó old fel memóriában).

Kérdés: az általad említett fix jelszavakat hogy tárolod le elfelejtés ellen? Érdekelne a megoldásod.

Egyébként meg ha idegen gépekről jelentkezel be a jelszavaiddal, akkor ne is folytassuk tovább a diszkurzust biztonságról :)

Javítson ki nyugodtan bárki innét, de én azt látom hogy egy nem rossz ötletet elkezdtél sértődött tinédzser módjára komoly érvek nélkül aláásni rosszabb metódusokat javasolva. Bizonyára én is tettem már ilyet, de nem fogok neked ezért jópofizni, hogy a hisztidet kiéljed. A probléma nem azzal van hogy valaki valamit nem tud vagy rosszul csinál, hanem ha ehhez nagy egó jár. Másrészről meg felelőssége is van valahol az embernek, ha a javasolt gyakorlatot mások is átveszik. Vizsgáljuk meg éppen ezért még jobban.

Tehát ha már te kezdted, továbbra is várom tőled a szakmailag jobb ajánlásokat.

Bocsi, de ebbe nem akarok belefolyni. El sem olvasod amit írtam. Egy szóval sem emlitetem hogy tudnék jobb megoldást, sőt, leírtam, hogy nem tudok, és a sajátomat sem tartom annak. Leírtam, hogy alapjában a te megoldásod sem rossz, csupán felhívtam néhány buktatóra a figyelmed. Ezeket komoly érvnek tartom, még ha vitathatók is. Ellenben te beleképzelsz az írásomba olyat ami nincs ott (sértődött tinédzser, hiszti, stb). Ha te megengeded magadnak a személyeskedést, akkor engedd meg tőlem is. Szerintem megbántva érzed magad, mert valaki kritizálta a számodra oly kedves rendszert.

A témát lezártnak tekintem.

Ja és hogy tárolom a jelszavaimat: A böngésző megjegyzi. A fejem is. Ezt is leírtam.

Hmm, két gondolat:
- óvatosan, mert leakeled a jelszót a bash historyn keresztül a fenti módszerrel.
- Ha kirakod az algoritmusodat a blogra/hup-ra, akkor ha van egy hashed, akkor semmivel sem nehezebb visszafejteni, mint bárki másét, mert a keresett jelszó hossza megegyezik a mesterjelszóéval (a jelszó többi része konstans, hiszen leírtad, hogy hogyan képzed). Vagyis ha tudom a hup.hu-s jelszavad hash-jét, akkor annyi a kérdés, hogy a hup.hu,log69, harmasbol mi a értéke. Ha tévesen arra számítasz, hogy így lehet gyenge a jelszavad (almafa123), akkor ezt brute-forceolni pont ugyanúgy kell, mint egy bármilyen másik jelszót, csak prefixszel.

Szóval ha használod is a fenti logikát, akkor is a mesterjelszó mindenképp legyen xkcd kompatibilis. :) - https://xkcd.com/936/

A bash leak-ben igazad lehetne, de ez csak példa volt, nem úgy képzem, hanem leprogramozva.

Elnézted szerintem az algo-t. Van ott még egy harmadik érték, ami egy erős véletlen mesterjelszóként funkciónál. Ezt nem tudod visszafejteni. Nem is értem mire írod hogy "semmivel sem nehezebb visszafejteni" ? :D Szívesen adok hash-t ha gondolod :)

Igen. A hash egyirányú titkosítás, nem lehet visszajutni. Ezzel a módszerrel (ami egyébként saját ötlet) egyetlen erős jelszót kell tudnod, plusz a szabály rendszered, amit viszont ledokumentálhatsz akár ide a blogodba is :) Továbbá a böngészőben használt erős jelszavad szerintem lehet ugyanaz mérlegre téve a biztonságot és kényelmet, ugyanis ugyanazokat a jelszavakat védi mindkettő ráadásul mindkét esetben lokálisan.

Nem biztos, hogy a mester jelszo sokkal jobb, mert csak 1x keri aztan mindent kitolt.
Es gyanusan sokszor keri a jelszot, random idokben is. Bar ezen lehet javitani, ha vagy az elso ket, vagy az utolso ket karaktert kitorlod a tarolt jelszokbol es azt mindig kezzel irod be.

De ennel egyszerubb megjegyezni egy prefix-et pl:
aprocskakalapocska aztan:
prefix-domannev-postfix

a fontos weboldalaknak meg masik prefixet hasznalni

A mester jelszónak ez a lényege, hogy 1x kérje és utána töltsön ki mindent. Nem tudom te hogy vagy a gépeddel, de én a lokálban megbízok. Muszáj. :)

Hogy miért kéri tőled gyanúsan sokszor, azt nem tudom, nekem csak 1x minden böngésző nyitás után. A helyi gép védelmével kapcsolatban meg ne menjünk bele. Lock, Suspend, nem otthagyni a gépet stb stb. A topicban a netre kitolt dolgok ellen érvelünk.

A prefix-szel szerintem az a gond, hogy ha 1x egyetlen weboldallal kapcsolatban meglátják, onnét kitalálható a többi hozzáférésed. Nem beszélve hogy minden egyes weboldal minden egyes adminjába megbízol, ugyanis ők láthatják a plain text jelszavadat, lévén ők üzemeltetik a web szervert. Így nyitott a szabály, hogy a prefix-eddel bepróbálkozzanak máshol.

Az én módszeremnél rendkívül erős random a kimenet. Nem kell tovább fokozni érdemben és nincs infó leak.

nem teljesen értelek, kérlek bővebben.

szerintem a lastpass dolga lenne a legtöbb hibát megtalálni a szolgáltatásukban, nem külsős embereknek. SSL sebezhetősége szakmailag jelenleg nem megkérdőjelezett (fixme, nem vagyok témában otthon), nem arról van szó, hogy azt most megtörte valaki, és most CSAK rájuk mutogat mint lámákra (amikor ez megtörtént nem mutogatott senki egy SSL felhasználó cégre, hanem az SSL fejlesztőire figyeltek). arról van szó, hogy egy piacon elérhető szakember talált hibákat, ha lehet hinni neki nagyokat, talán triviálisakat. a lastpass gyorsan reagált (vagy csak mondják), ez jó pont, érdemes lenne a budget-ben az auditokra és bounty-kra szánt összeget megsokszorozni, és elgondolkodni azon, hogy miért nem volt már nekifutásból ez magasabb (ha már biztonság témában lévő cégről van szó)

azért is írtam a kém témakört, mert elismerem, hogy tökéletes megoldás nincs, nem is lehet, de ebben a témában versenyzőknek ezt el kell fogadniuk, és árral szemben úszniuk.

(további fejtegetésnek, mérlegelésnek, hogy mekkora hibát vétettek, úgy lenne értelme, ha valaki az elérhető infokat átfutná: https://labs.detectify.com/2016/07/27/how-i-made-lastpass-give-me-all-y… )

Arra akartam kilyukadni hogy ez a bug semmiben sem kulonbozik az osszes secholetol egy random kivalasztott sw sec bugjahoz hasonlitva.

A security temakor eleg bonyolult ahhoz hogy open source eseten se legyen trivialis egy bug felfedezese (a fentebb postolt domain regexp hibatol eltekintve)
A kerdes az hogy Trey logikajat kovetve miert bizunk barmiben is? Azert mert nyilt forraskodu? Azert mert XY azt mondta? Biztos Ok az amit mond?

"ahhoz hogy ki lehessen hasznalni ezt a bugot a felhasznalot elobb egy fertozott oldalra kell terelni"

Azért ez nem olyan nehéz. Teszem azt egy reklámozónak eszébe jut jelszavakat lopni, miközben a beépítő kódját a weboldalak jelentős része használja. Szóval, ha jól értem a dolgot, elég komoly hiba.

Ez a lastpass ez olyan jelszótároló megoldás, ami valami távoli helyen tárolja a felahsználó jelszavait?

lehet én egyszerűsítem túl, de mi a valószínűbb, hogy egy, a begépelés pillanatától elindulva sokszáz gépen és protokolon és miegymáson áthaladó majd eltárolt adat biztonságban és biztonságosan van, vagy hogy egy akár erre a célra fenntartott eszközben (ejtsd papír jegyzettömb :) ) felírom, és lerakom a lezárható fiókomba a laptop mellé, és "úgyse törnek be a lakásomba, ha meg igen, úgyse érdekli őket a facebook jelszavam".

(banki jelszó megint más, de ott azért minimum, egy 2 lépcsős azonosítás és egy forgalmi korlát, és tudom, hogy nehéz fejben tartani x0 vagy x00 jelszót, és nem, nem papírra jegyzetelek, csak hangosan gondolkodtam)

Nekem kicsit maceras lenne tobbszaz (mondjuk 16 random karakterbol allo) jelszot jegyzettombben tarolni, amit utazasok alatt is allandoan magaddal cipelsz es allandoan onnet beirni. Es ha mondjuk utkozben elveszted akkor megroszabb, mert a jegyzettombben vszinuleg nem eros kodolassal tarolod.

(folytassuk a gondolatmenetet) szerintem a legtöbb ember nem utazik sokat, kelet európai példából kiindulva, és ezidő alatt nem sok jelszóra van szüksége. az jogos lehet, hogy ha utazó munkás vagy, akkor neked más az igényed, de még akkor is kevésbé tartom sérülékenynek a keepass és hasonló megoldásokat, mint a cloud-os megoldásokat. gondolkodok épp, hogy a cloud-os elérésen kívül van-e valami előnye a lastpass-nak, szerintem (biztonsági ismeretek nélkül, csak laikus elvi szinten) esélyesebb, hogy a szerver és a kapcsolódás bármelyik eleme és a terminálom együtt sérülékenyebb, mint ha csak a gépemen tartom az adataimat

"a legtöbb ember nem utazik sokat"

Szerintem elég sokan nyomkodják a telefonjukat útban a munkába/suliba menet. Ez mondjuk 2-3 szolgálatás, de ki tudja, lehet több. Nekik nem tudom mennyire kell az a jelszó. Nyilván, ha be van eleve jelentkezve ezekbe a szolgáltatásokba, akkor megette a fene, hiába pihen otthon biztonságban a jegyzettömbben a jelszó. Ha nincs, akkor pedig szükség van rá. Nekem személy szerint út közben szerverekhez kell tudnom csatlakozni, ha baj van, akkor telefonon kell tudnom intézkedni. Rétegigény, de elég sokan tartozunk ilyen vagy olyan réteghez.

eredetileg csak arra próbáltam célozni, hogy kényelmes lehet ez a lastpass is, de azzal, hogy megannyi rétegen keresztül utaztatom a jelszavakat, eléggé megnehezítem, hogy biztonságosan legyen kezelve. szerintem a legtöbben jelenleg elmentetik a jelszavakat a böngészővel, és boldogok, és biztos, hogy a böngészők is törhetőek, de jóval kevésbé, szerintem.

Én személy szerint nagyon ritkán kell hogy bejelentkezzek akárhova, mert alapból be vagyok jelentkezve. A telefonom és a gépem is titkosítás védi, előbb fogja a tolvaj wipe-olni, mint hogy megpróbálkozzon gyorsan valami exploittal bejutni a rendszerbe, hogy amíg újra nem indul ki tudja mentegetni a jelszavaimat.

Sziasztok!

Ti milyen programot használtok jelszavak tárolására?