21. helmikuuta 2020

Google korjasi kaikessa hiljaisuudessa löytämäni tietoturva-aukon - eikä viitsinyt edes minulle ilmoittaa!

Löysin tässä taannoin Googlen palveluista surkuhupaisan ja itse asiassa melko vaarallisenkin tietoturva-aukon, joka mahdollistaa 2-vaiheisen kirjautumisen ja jopa "tehostetun suojauksen" tilankin täydellisen kiertämisen. Ilmoitin asiasta asianmukaisesti Googlelle reilu kuukausi sitten ja Google ilmoitti, että he tutkivat asiaa. Sen jälkeen en sitten enää kuullutkaan heistä mitään. Nyt, kun kokeilin, onko tuo aukko vielä olemassa, huomasin, että ei ole, Google on kaikessa hiljaisuudessa tukkinut sen.

Minusta on varsin härskiä, että Googlella ensinnäkin on näin totaalinen tietoturva-aukko palveluissaan ja toiseksi, kun siitä heille ilmoitetaan ja he sen korjaavat, he eivät viitsi edes ilmoittaa asiasta aukon löytäjälle. Puhumattakaan tietenkään jonkinnäköisestä "bug bountystä", joka tämän tasoisessa aukossa olisi syytä olla kyllä aika kohtuullisen suuri.

Mistä tarkkaan ottaen oli kysymys?

Googlen palveluihin voi ottaa käyttöön 2-vaiheisen kirjautumisen ja/tai "tehostetun suojauksen tilan" koko Google-tilille ja vaatia, että AINA kun Googleen kirjaudutaan sisälle, käyttäjän pitää käyttää käyttäjätunnuksen ja salasanan lisäksi fyysistä suojausavainta (U2F). Tämä nostaa huomattavasti systeemin turvallisuutta, koska tällöin hakkeri tarvitsee salasanasi lisäksi myös tuon fyysisen avaimen päästäkseen sisälle tilillesi. Ongelma, jonka löysin, oli kuitenkin se, että Google EI VAATINUT kyseistä fyysistä avainta, jos Googlen tilille kirjauduttiin puhelimella, ts. luotiin Android (tai ilmeisesti muuhunkin) puhelimeen ko. Google-tili. Tällöin tilille pääsi pelkällä käyttäjätunnuksella ja salasanalla. Edelleen tilillä pystyi tällöinkin puhelimellakin tekemään aivan mitä huvittaa, myös esimerkiksi ottamaan pois käytöstä 2-vaiheisen kirjautumisen, fyysiset turva-avaimet, lataamaan tai vaikka poistamaan kaiken Googlessa olevan käyttäjän sisällön, etäpaikantamaan ja pyyhkimään Android-puhelimet, vaihtamaan salasanat jne. jne. Melkoinen aukko siis ja siis totaalisesti nollaa aivan kaiken 2-vaiheisen tunnistautumisen ja "tehostetun suojauksen tilan" antaman suojankin!

Miksi Googlella oli tämmöinen aukko sitten olemassa - tyhmyyttäänkö?

Uskon syyn olevan niin yksinkertaisen kuin sen, että vanhat Android-puhelimet ja osa uusistakaan ei tue USB-väyläisiä U2F-turva-avaimia. Mikäli käyttäjä siis aikoo liittää myöhemmin jonkun uuden puhelimen tiliinsä tai kun hän pakotettu siihen esimerkiksi ottaessaan "tehostetun suojauksen tilan" käyttöön (tällöin kaikki laitteet ja muut uloskirjataan automaattisesti), hän ei de facto voisi päästä puhelimellaan Google-tililleen mitenkään sisään.

Nyttemmin Google mahdollistaa "tehostetun suojauksen tilan" käytön myös "puhelinta fyysisenä turva-avaimena käyttäen" ja markkinoille on myös tullut bluetooth ja/tai NFC-tuen omaavia U2F fyysisiä avaimia. Eli nykyään tämä ei ole mikään ongelma. Mutta on ollut aiemmin ongelma.

Miten Googlen sitten olisi pitänyt toimia tältä ongelmalta välttyäkseen?

Ensinnäkin, bluetoothia/NFC:tä omaava U2F fyysinen turva-avain, tai puhelimen käyttö fyysisenä turva-avaimena, on erittäin epäturvallista. Fyysisen avaimen vaihtaminen langattomaan teknologiaan kumoaa kokonaan jo koko fyysisen avaimen idean ja puhelimen osalta pätee sama + puhelin voi helposti päätyä vääriin käsiin muutenkin. Eli Googlen nykyinen toteutus on aivan käsittämättömän epäturvallinen!

Toiseksi, tuon yllä olevan "U2F-tikut eivät toimi puhelimissa" ongelman olisi voinut ratkaista hyvin yksinkertaisella tavalla: Kun käyttäjä olisi lisäämässä puhelinta Google-tililleen, hän kirjoittaisi käyttäjätunnuksensa ja salasanansa puhelimeen ja saisi sitten puhelimen ruudulleen vaikkapa 8-numeroisen satunnaisen rimpsun. Tällöin hän avaisi tietokoneella Google-tilinsä, kirjautuen sinne siis U2F-tikullaankin ja yksinkertaisesti menisi asetuksiin ja hyväksyisi sieltä tämän uuden puhelimen pääsyn hänen tililleen (ja puhelin tunnistettaisiin tuolla 8-numeroisella rimpsulla)...ehkä vielä uudestaan U2F tunnistuksen tietokoneellaan tekemällä! Voila! Turvallisuudesta ei tarvitsisi tinkiä yhtään, U2F voitaisiin edelleen käyttää ja puhelin voitaisiin edelleen liittää tilille, vaikkei itse puhelin tukisi U2F:ää.

Mutta ei niin ei. Googlen insinööreillä ei ilmeisesti riitä älyä näin yksinkertaisenkaan ratkaisun keksimiseksi, vaan tietoturvasta pitää taas tinkiä ja olla oikeasti saatanan töykeitä tietoturva-aukon löytänyttä kohtaan.

Voitte olla varma, että jatkossa en raportoi Googlelle yhdestäkään löytämästäni tietoturva-aukosta, vaan joko hyödynnän niitä itse hakkeroinneissani tai myyn ne jossain pimeillä sivuilla eniten tarjoaville hakkereille väärinkäytettäväksi. Google saa minun puolestani haistaa pitkän paskan toiminnastaan. Sitä saa, mitä tilaa Google!



PS. Alla asiaan liittyvä bugiraporttini

4 kommenttia:

  1. Mistä tiedät, ettei joku muu ollut löytänyt aukkoa ensin? Ilmoititko bugsita oikeaa reittiä? Palkkiota ei varmaan makseta ihan mitä tahansa kautta ilmoitetusta asiaata

    VastaaPoista
  2. Mistä tiedät ettei joku muu ollut löytänyt aukkoa ennen sinua? Lisäksi käytitkö oikeaa kanavaa bugin ilmoitukseen? Ei ne ihan mistä tahansa vastaanotettuja ilmoituksia pysty lisäämään bugipalkkiojörjestelmään. Gogoen kokoisella yrityksellä on hyvin tarkat prosessit ja työntekijöillä rajatut mahdollisuudet siirtää asioita osastolta toiselle

    VastaaPoista
  3. Tiedoksi muuten, että Google on ihan tietoisesti hiljattain mahdollistanut android puhelimen käytön suojausavaimena. Tästä on maininta g suite updates blogisss

    VastaaPoista
  4. > Mistä tiedät ettei joku muu ollut löytänyt aukkoa
    > ennen sinua?

    No jännästippä eivät ole korjanneet sitä ennen kuin minä ilmoitin siitä.

    > Lisäksi käytitkö oikeaa kanavaa bugin ilmoitukseen?

    Kannattaisi lukea blogikirjoitus, ennen kuin kommentoi, niin et kommentoisi noin tyhmiä.

    VastaaPoista