Igen, jól olvasod, ennyire ügyesen sikerült implementálni a kétlépcsős hitelesítést és valószínűtlen, hogy elsőként vettem észre.

Nem clickbait, azzal kapcsolatban meg mindenkit megnyugtatok, hogy nem arról fogok írni már megint, hogy miért necc az, hogy egy Google/Gmail-heroinista világban élünk.

Aki bekapcsolta a Google Accountján ennek a remek, überbiztonságos rendszernek a beállításai közt a kétlépcsős hitelesítést annak ugye ún. alkalmazásjelszavakat kell létrehoznia, ha például levelezőklienssel is használná a Gmail-t, mivel értelemszerűen a kliensprogram nem tudja pár percenként elvégezni a 2-FA-t magától.

Elvben az alkalmazásjelszavakban pont az a szép, hogy nem kell a felhasználónak fejben tartania, így egyszer kell kopipésztelni a megfelelő helyre és kész, kilopni legfeljebb egy hülyén programozott alkalmazásból lehet, amiben meg lett adva.

Na már most normális ésszel az ember azt gondolná, hogy abban az esetben, ha a felhasználó a 2-FA-t kikapcsolja, akkor az összes alkalmazásjelszó semmissé válik, így például a levelezőkliesen keresztül a levelek csak a fő jelszó beírásával lesznek elérhetőek. Van egy nagyon szar hírem a Google fanoknak: a korábban létrehozott alkalmazásjelszavak nemhogy érvényüket vesztenék, hanem továbbra biztosítják a hozzáférést a fiók adott szolgáltatásához, legalábbis az IMAP4 esetén biztos, Google Drive és a többi esetén valószínűleg, a hasonló  azonosítási séma miatt. Nem, nem ideig-óráig működik, egy érintett fiók több, mint egy hónapja elérhető az elvben már nem létező alkalmazásjelszó használatával úgy - most figyelj! - hogy a fiók fő jelszava is meg lett változtatva. Még az is full mindegy, hogy OAuth2-vel vagy sima, ugyan titkosított csatornán átküldött jelszóval jelentkezik fel a kukkoló alkalmazás!

Mit jelent ez a gyakorlatban? Tételezzük fel, hogy a támadó a célpont gépéhez ül, amíg nincs ott, majd generál egy alkalmazásjelszót olyan névvel, ami még akkor sem lesz feltűnő, ha a Google kényszeríti az érintett felhasználót a security checkup végigjátszására, az app password leírása lehet mondjuk "Gmail", "Mail", "iPhone" vagy hasonló, a megtámadott felhasználónak miért lenne gyanus? A támadó az alkalmazásjelszót feljegyzi. Az alkalmazásjelszóval a támadó belép egy levelezőklienssel, majd IMAP4-en keresztül tokkal-vonóval olvashatja a célpont postafiókjának tartalmát. A Google vagy küld figyelmeztetést az érintett felhasználónak, hogy bejelentkezett valaki mondjuk egy japán VPN-en keresztül, ami igencsak anomáliaszerű, ha a felhasználó sosem használ VPN-t és korábban még csak nem is járt Japánban. Viszont vegyük észre, hogy éppen azért, mert levelezésről van szó, a támadó ezt a levelet simán tudja törölni, mielőtt a felhasználó el tudná olvasni a biztonsági figyelmeztetést!

Tehát ha a felhasználó valamilyen okból kikapcsolja a 2-FA-t, de előtte nem vonja vissza az alkalmazásjelszavak érvényességét, teljesen logikusan arra gondolva, hogy azok ilyen módon érvényüket vesztik, valójában erről szó sincs. Egy korábban beállítva maradt fiókhoz a levelezőprogram úgy fér hozzá máig, hogy az érintett fiókon a 2-FA-t 2018. február elején ki lett kapcsolva, a fő jelszó pedig át lett írva!

A támadó vagy úgy felejtett alkalmazás csak akkor veszti el a hozzáférést az érintett postafiókjához, ha az érintett fiók tulajdonosa ismét bekapcsolja a 2-FA-t, egyébként meg gusztus szerint úgy tesztelheti a hibát, rosszabb esetben pedig kukkolhat, ahogy csak akar.

Az abnormális működést 2018. március 5-én, azaz ma 10:13-kor sikerült reprodukálni egy teszt fiókkal, ugyan nem csináltam sem TCPdumpot, sem HAR-t, mert jobb dolgom is van, aki ráér, annak szabad a pálya.

Hogy ez most bug vagy kényelmi feature,  na, azt nem tudom, ahogy azt sem teszteltem, hogy a Google mára kőkeményen fizetős, vállalati verziója, a G Suite is érintett-e benne, de valószínűleg igen.

Legegyszerűbb bugfix: ne használd azt a szart, legfeljebb spamszűrésre, azaz olyan beállítással, hogy a beérkező leveleket azonnal forwardolja is normális helyre és végleg törölje.

Áldásos lenne, ha ahelyett, hogy a felhasználók leginkább veszélyeztetett néhány ezrelékét nem riogatnák azzal, hogy kormányzati támadást észleltek, ezért változtassanak jelszót és költözzenek le a pincébe, bármiféle indoklás nélkül, hogy miből következtetett erre a rendszer.

Valamint a felhasználók ugyanezen veszélyeztetett csoportjára nem akarnák rátukmálni pusztán a biztonságérzetet növelő, de legalább jó drága baromságokat az Advanced Protection Program keretében, hanem a mezei Gmail-fiók úgy működne, ahogy az amúgy logikusan elvárható. Az én, eredetileg még googlemail.com végződéssel, 2004-2005. körül USA-ból kapott meghívóval létrehozott fiókom pedig csak azért is marad amolyan bóvli kis emlékként.