Android Oreon automaattisen täytön sovellusliittymän mahdollinen tietoturvavirhe mahdollistaa salasanojen hallinnan tietojen, kuten salasanojen, osoitteiden tai luottokorttien, vuotamisen.
Automaattinen täyttö on yksi suurimmista ja julkisuudellisimmista uusista ominaisuuksista, jotka esiteltiin Android 8.0 Oreon julkaisun myötä. Monet erilaiset salasananhallintasovellukset, kuten LastPass, ovat jo ottaneet tämän uuden API: n käyttöön sovelluksiinsa. Ja vaikka se voi osoittautua melkoinen parannus Aiemmissa Accessibility Services -palveluita käyttävissä automaattisen täytön toteutuksissa on mahdollinen tietoturvavirhe, joka on otettava huomioon. Viime kuussa GitHubille julkaistiin valkoinen kirja, jossa dokumentoitiin Android Oreo Autofill API: n luontainen virhe, joka voisi saattaa johtaa siihen, että salasananhallintasi vuotaa enemmän henkilökohtaisia tietojasi kuin annoit sille luvan. Aiomme tehdä nopean yhteenvedon valkoisesta kirjasta, jonka on kirjoittanut Mark Murphy (tunnetaan paremmin nimellä CommonsWare) ja julkaistiin GitHub-sivullaan 8. elokuuta 2017.
Mahdollinen tietovuotovirhe Android Oreon automaattisen täytön sovellusliittymässä
Miten vika toimii?
Automaattisen täytön toteutus Android Nougatissa (ja alemmissa versioissa) ja selaimissa, kuten Google Chrome, on jotain todella yksinkertaista. Yleensä salasananhallintasovellukset käyttävät Accessibility Services -palvelua tarkistaakseen näytön sisällön kirjautumisruudun löytämiseksi ja suosittelevat automaattista täyttöä sen perusteella, mitä ne löytävät. Kun se toimi, se voi aiheuttaa huomattavan viiveen.
Android Oreossa tämä toimii hieman eri tavalla, koska salasanasovelluksia tuetaan nyt virallisesti Autofill API: lla. Kolmannen osapuolen salasanasovellukset eivät enää vaadi Accessibility Services -palveluita, koska ne voivat nyt täyttää automaattisen täytön palvelun roolin ja kommunikoida sovellusten kanssa automaattisen täytön kehyksen kautta. Kun käyttäjä keskittyy widgetiin, järjestelmä pakkaa tietoja kyseisestä widgetistä/lomakkeesta ja lähettää sen automaattisen täytön sovellukseen. Sovellus palauttaa sitten asiaankuuluvat automaattisen täytön tiedot, kuten salasanat, sähköpostit, luottokortit tai muut arkaluontoiset tiedot. Android-järjestelmä toimii välittäjänä tiedot tallentavan sovelluksen ja niitä pyytävän välillä.
Haitalliset sovellukset tai haittaohjelmat voivat kuitenkin itse asiassa hyödyntää automaattisen täytön ominaisuutta saadakseen lisää tietoja itselleen. Haitallinen toiminta voi pyytää lisää automaattisen täytön tietoja näkymättömällä tai piilotetulla widgetillä. Kun käyttäjä suostuu täyttämään jonkin näkyvistä widgeteistä, kuten kirjautumislomakkeen tai jotain vastaavaa, näkymätön widget saa myös lisätietoja ilman, että sinä näet sitä. Tämä voi olla todella vaarallista, jos vuotanut tieto on salasanasi, osoitteesi tai luottokorttitietosi!
Yllä olevat kuvakaappaukset esittelevät haitallista testisovellusta, joka hyödyntää tätä tietoturvavirhettä.
Googlen vastaus ongelmaan
CommonsWaren mukaan tälle tietoturvaongelmalle ei vielä ole julkista Googlen julkaisemaa ratkaisua. Tiedämme kuitenkin, että Google on tietoinen ongelmasta. CommonsWare toteaa, että Googlen insinöörit myönsivät ongelman olevan olemassa yksityisessä ongelmanseurantaraportissa, mutta olisi vaikeaa (ellei mahdotonta) korjata sitä tai ota käyttöön korjaus.
Mutta tämä ei tarkoita, että automaattinen täyttö olisi täysin vaarallista käyttää, sillä Google ottaa toisenlaisen lähestymistavan varmistaakseen tietoturvan. Yritys on vaativat, että automaattisen täytön palvelut hoitavat ongelman omalla kohdallaan ja sellaisena se yrittää lisätä kehittäjien tietoisuutta automaattisen täytön tarjoajien parantamisesta ja turvallisuuden parantamisesta. Mitä tarkalleen ottaen ehdotetaan?
Ensinnäkin automaattisen täytön tarjoajat pitäisi osioida tietonsa. Sen sijaan, että kaikki automaattisen täytön tiedot säilyttäisivät yhdeksi pooliksi, kehittäjien tulisi jakaa osioihin tallennetut käyttäjätiedot. Esimerkiksi osoite/puhelinosio, luottokorttiosio, salasana/käyttäjänimiosio jne. Automaattinen täyttöpalvelu saa palauttaa vain yhden osion tiedot kerrallaan kohdistetun widgetin perusteella. Tämä on yksi niistä julkisesti saatavilla oleville sivuille automaattisen täytön sovelluksissa, jotka suojaavat itseään tietojen vuotamiselta näkymättömiin widgeteihin.
Googlen insinöörien mukaan salasanojen hallintaohjelmien kehittäjien tulee tehdä myös joitain muita asioita. Esimerkiksi automaattisen täytön tarjoajan tulisi palauttaa tiedot vain sille sovellukselle, joka on ne alun perin toimittanut. Tämä tulee tehdä tarkistamalla paketin nimi ja sovelluksen julkinen allekirjoitus, jotta edes muokattu APK ei pääse siihen käsiksi. Toinen asia olisi, että automaattisen täytön sovellukset vaativat todennuksen ennen tietojen toimittamista tämä todennustoiminto, joka ilmoittaa käyttäjälle, millaisia tietoja sitä pyytävälle sovellukselle toimitetaan. Näissä neuvoissa on itse asiassa monia virheitä, joista tärkein on, että Google ei todellakaan pane näitä neuvoja täytäntöön.
Muista, että monet yllä olevista ehdotuksista on otettu CommonsWaren yksityisen ongelmanseurantaraportista, ei millään virallisella Googlen dokumentaatiosivulla. Lisätietoa siitä, kuinka Automaattisen täytön sovellusliittymää käyttävät sovellukset voivat suojautua tämän tyyppisiltä hyökkäyksiltä, on erittäin suositeltavaa lukea CommonsWaren täysi valkoinen paperi.
Mitkä sovellukset ovat turvassa tältä vialta?
Olemme ottaneet yhteyttä 1Passwordin, Enpassin ja LastPassin kehittäjiin tästä haavoittuvuudesta, ja näiden kolmen sovelluksen takana olevat tietoturvatiimit ovat väitti että he ovat turvallinen, vaikka emme ole vielä vahvistaneet näitä väitteitä.
Kuten yllä olevista lausunnoista näemme, 1Password vaatii käyttäjältä todennuksen ennen tietojen täyttämistä ja ilmoittaa hänelle etukäteen, mitä tietoja täytetään. Tämä auttaa myös hiljaisen täytön ongelmassa, koska todennusponnahdusikkuna tulee näkyviin jokaiselle automaattisen täytön tietoja pyytävälle toiminnolle.
Enpass ei koskaan paljasta koko avainnippua pyytävälle sovellukselle, olipa kyseessä haitallinen tai aito. Vain tallennetut kohteet, jotka vastaavat pyytävän sovelluksen paketin nimeä, näytetään käyttäjälle. He myös vahvistivat, että heillä on lisää toimenpiteitä Googlen neuvojen mukaisesti.
Lisäksi LastPass vahvisti meille, että vaikka he eivät tienneet ongelmasta ennen Android Oreo -julkaisua, heidän sovelluksensa käyttää tietojen osiointi käyttäjien suojaamiseksi sekä muut tarkistukset sen varmistamiseksi, että LastPass täyttää vain merkintään liittyvän sovelluksen.
Vaikka näiden kolmen sovelluksen käytössä ei pitäisi olla mitään ongelmia, jos haluat pysyä täysin selkeinä, sinun tulee poistaa käytöstä automaattinen täyttö kokonaan puhelimessasi, kunnes voit vahvistaa salasananhallintakehittäjältäsi, että heidän sovelluksensa on turvassa tältä riviltä hyökkäys. Onneksi tämä voidaan tehdä helposti siirtymällä kohtaan Asetukset > Järjestelmä > Kielet ja syöttö > Lisäasetukset ja etsimällä "Automaattinen täyttöpalvelu" -asetus, napauttamalla sitä ja valitsemalla "Ei mitään".
Kuten edellä totesimme, ei tiedetä, voiko Google todella julkaista tähän korjauksen, joten luotettujen sovellusten käyttäminen tai ominaisuuden poistaminen käytöstä on ainoa tapa pysyä turvassa. Jos haluat lukea lisää tästä aiheesta ja kaikista siihen liittyvistä yksityiskohdista, sinun tulee lukea alkuperäisestä valkoinen paperi, joka dokumentoi sen GitHubissa.
Tämä artikkeli päivitettiin 13.9.2017 kuvastamaan tarkemmin LastPassin, Enpassin ja 1Passwordin vastausten merkitystä.