Suojaa käyttäjien yksityisyyttä: Android-sovellusten suojaus kehittäjille

Kirjoittaja: Peter Berry
Luomispäivä: 20 Elokuu 2021
Päivityspäivä: 17 Kesäkuu 2024
Anonim
Suojaa käyttäjien yksityisyyttä: Android-sovellusten suojaus kehittäjille - Sovellukset
Suojaa käyttäjien yksityisyyttä: Android-sovellusten suojaus kehittäjille - Sovellukset

Sisältö


Jos aiot roikkua yleisöllesi ja maineesi luotettavana Android-kehittäjänä, sinun on otettava Android-sovellusten tietoturva vakavasti kehittäjänä.

Jos sovelluksesi vuotaa koskaan yksityisiä tietoja, olet vaarassa menettää suuren osan yleisöstä. Nykypäivän tekniikan taitavat matkapuhelinkäyttäjät ymmärtävät, että paras tapa suojautua epävarmalta sovellukselta on poistaa se laitteesta. Tiedotusvälineet ilmoittavat yhä enemmän myös vakavista tietorikkomuksista, joten huolimaton lähestymistapa mobiiliturvallisuuteen voi johtaa erittäin huonoon julkisuuteen.

Panokset ovat korkeat, ja kun uusia haitallisia sovelluksia julkaistaan ​​koko ajan, on yhä suurempi mahdollisuus, että sovelluksesi jakaa laitteen haittaohjelmien ja haittaohjelmien ulkopuolisten valmistajien koodien kanssa.

Huolimaton lähestymistapa mobiiliturvallisuuteen voi johtaa erittäin huonoon julkisuuteen.


Onneksi Androidilla on laaja valikoima sisäänrakennettuja suojausominaisuuksia, jotka voivat auttaa pitämään käyttäjien tiedot lukittuna tiukasti. Tässä artikkelissa tutustumme kaikkiin tärkeimpiin Android-alustaan ​​leivottuihin tietosuojaominaisuuksiin sekä lisätyökaluihin, tekniikoihin ja parhaisiin käytäntöihin, joiden avulla voit varmistaa, että yksityiset sovellustietosi pysyvät yksityisinä.

Pidä riippuvuutesi ajan tasalla

Ei ole harvinaista, että modernit mobiilisovellukset käyttävät useita kirjastoja, SDK: ita ja monia muita sekalaisia ​​riippuvuuksia. Näiden riippuvuuksien uudet versiot sisältävät usein virhekorjauksia, korjauksia ja muita suojausominaisuuksia, joten sinun on varmistettava, että käytät uusimpia versioita sovellusta kehitettäessä.


Ennen sovelluksen käyttöönottoa on myös hyvä tehdä yksi viimeinen tarkistus vain varmistaaksesi, että päivityksiä ei ole saatavana.

Jos sovelluksesi käyttää Google Play -palveluita, voit tarkistaa, onko käyttäjän laitteeseen asennettu uusin versio, ja käynnistää tarvittaessa päivitys.

Voit testata, ovatko laitteen Google Play -palvelut ajan tasalla, soittamalla ProviderInstaller-luokan installIfNeeded () -menetelmään. Jos päivitys on saatavana, tämä menetelmä heittää valtuutuspoikkeuksen, ja käyttäjää pyydetään päivittämään Google Play -palvelut laitteellaan.

Rajoita lupapyyntöjäsi

Jos sovelluksellasi ei ole käyttöoikeutta, ei ole mitään mahdollisuutta, että se käsittelee väärin mitä tahansa lupaan liittyvää arkaluontoista tietoa tai toimintoa. Arkaluontoisten käyttöoikeuksien käytön rajoittaminen voi myös tehdä sovelluksesta vähemmän houkuttelevan kohteen hakkereille, joten on tärkeää pyytää mahdollisimman vähän käyttöoikeuksia.

Ennen kuin teet minkä tahansa lupapyyntöjä, sinun tulee harkita, onko olemassa tapa saavuttaa sama tulos ilman, että sinulla on lupaa käyttää. Jos esimerkiksi sinun on tallennettava joitain tietoja, voit käyttää paikallista tallennustilaa pyytämättä mitään oikeuksia sen sijaan, että yrittäisit tallentaa tietoja ulkoisesti, mikä edellyttää WRITE_EXTERNAL_STORAGE -lupaa.

Voit vaihtoehtoisesti käyttää aikomuksia siirtää tehtävä sovellukselle, jolla on jo tarvittavat luvat. Esimerkiksi sen sijaan, että pyytäisit READ_CONTACTS- ja WRITE_CONTACTS-oikeuksia, voit siirtää tehtävän Yhteystiedot-sovellukseen:

Intent contactIntent = uusi tarkoitus (Intent.ACTION_INSERT); contactIntent.setType (ContactsContract.Contacts.CONTENT_TYPE); if (contactIntent.resolveActivity (getPackageManager ())! = null) {startActivity (contactIntent); }

Sinun tulisi myös luopua kaikista käyttöoikeuksista, joita sovelluksesi ei enää vaadi, mikä voi merkittävästi vähentää arkaluontoisten tietojen ja ominaisuuksien määrää, joihin sovelluksessasi on pääsy kerralla.

Anna käyttäjien päättää: Näytä sovelluksenvalitsin

Miksi tuhlata aikaa ja energiaa pyörän keksiminen uudelleen? Epäsuorat aikomukset antavat sinun suorittaa tehtäviä yhteistyössä kolmansien osapuolien sovellusten kanssa, mikä vähentää kirjoitettavan koodin määrää, jotta kaikki sovelluksesi halutut toiminnot toimitetaan. Kun siirrät tehtävän toiselle sovellukselle, saatat myös pystyä vähentämään sovelluksesi tarvitsemien käyttöoikeuksien määrää.

Epäsuorat aikomukset voivat säästää tonnia aikaa, mutta ne antavat myös sinulle nolla hallita sitä, mikä sovellus vastaa pyyntöösi. Jos epävarma tai ilkeä kolmannen osapuolen sovellus vastaa epäsuoraan aikomukseesi, on mahdollista, että voit vahingossa paljastaa käyttäjän henkilökohtaiset tiedot kolmannelle osapuolelle.Jos käyttäjän yksityisyyttä loukataan kolmannen osapuolen sovelluksen seurauksena, assosiaatio voi katsoa sovelluksesi syylliseksi.

Kun annat implisiittisen aikomuksen, sinun pitäisi näyttää Androidin sovelluksenvalintaohjelma aina kun mahdollista.

Esittämällä käyttäjälle luettelon kaikista sovelluksista, jotka voivat vastata tähän tarkoitukseen, annat hänelle mahdollisuuden valita sovellus, johon hän henkilökohtaisesti luottaa. Vaikka ei ole takeita siitä, että jokainen käyttäjä valitsee viisaasti, tämä voi vähentää mahdollisuuksia jakaa tietoja epäluotettavan sovelluksen kanssa.

Kun annat aikomuksen, sinun tulee tarkistaa, onko käyttäjällä useita sovelluksia, jotka voivat käsitellä tätä tarkoitusta. Jos oletetaan, että useita yhteensopivia sovelluksia on saatavana, voit näyttää sovelluksenvalinnan soittamalla createChooser () ja siirtämällä sen startActivity ():

Intent myIntent = uusi tarkoitus (Intent.ACTION_SEND); Lista possibleActivitiesList = queryIntentActivities (tarkoitus, PackageManager.MATCH_ALL); // Tarkista, pystyykö useampi kuin yksi sovellus käsittelemään tätä tarkoitusta // if (possibleActivitiesList.size ()> 1) {// Näytä sovelluksen valitsin // String title = getResources (). GetString (R.string.app_chooser_title); Intent Chooser = Intent.createChooser (tarkoitus, otsikko); startActivity (chooser); } else if (intent.resolveActivity (getPackageManager ())! = null) {startActivity (tarkoitus); }

Huomaa, että sinun ei tulisi koskaan käyttää implisiittistä tarkoitusta palvelun käynnistämiseen, koska sinulla ei ole hallintaa siitä, mikä palvelu vastaa implisiittiseen tarkoitukseen.

Vältä ulkoista varastointia

Sinun on varmistettava, että käyttäjän laitteeseen tallentamasi tiedot eivät ole muiden sovellusten käytettävissä - paitsi jos annat kyseisille sovelluksille nimenomaisen hyväksynnän.

Ulkoiseen tallennustilaan tallennetut tiedostot ovat maailmanlaajuisesti luettavissa ja kirjoitettavia, joten kaikki muut sovellukset voivat käyttää ja muokata kaikkia ulkoiseen tallennustilaan tallentamiasi tietoja. Ei myöskään ole takuuta siitä, että ulkoinen tallennusväline pysyy yhteydessä nykyiseen älypuhelimeen tai tablet-laitteeseen. Jos sovelluksesi kirjoittaa ulkoiseen tallennustilaan, voit mahdollisesti tallentaa arkaluontoiset käyttäjätiedot SD-kortille, joka myöhemmin poistetaan ja asetetaan jonkun toisen laitteeseen!

Ellei sinulla ole erityistä syytä olla tekemättä, sinun on aina tallennettava tiedot sisäiseen tallennustilaan, missä ne on hiekkalaatikossa ja jotka ovat vain sovelluksesi käytettävissä oletuksena. Lisäksi, jos käyttäjä poistaa sovelluksesi, kaikki sovelluksesi tiedostot poistetaan sisäisestä tallennustilasta automaattisesti, joten sinun ei tarvitse huolehtia arkaluontoisten tietojen jättämisestä.

Seuraavassa katkelmassa kirjoitamme tietoja sisäiseen tallennustilaan:

lopullinen merkkijono FILE_NAME = "user_data.txt"; String fileContents = "Tämä tekstitiedosto sisältää arkaluonteisia käyttäjätietoja"; yritä (BufferedWriter kirjoittaja = uusi BufferedWriter (uusi FileWriter (uusi tiedosto (getFilesDir (), FILE_NAME)))))) {wrote.write (fileContents); } kiinni (IOException e) {// Tehtävä: Käsittele poikkeusta //}

Jos tiedot ovat erityisen arkaluontoisia, voit tarjota jonkin verran Android-sovelluksen tietoturvaa salaamalla tiedostot avaimella, jota sovelluksellesi ei pääse, esimerkiksi avaimella, joka on sijoitettu näppäimistöön ja suojattu salasanalla, jota ei tallenneta laite.

Käytä Androidin uutta laajuushakemistoa

Joskus sovellus voi vaatia pääsyn tiettyihin hakemistoihin laitteen ulkoisessa tallennustilassa, esimerkiksi pääsyn laitteen ulkoiseen kuvahakemistoon.

Vaikka voisit pyytää READ_EXTERNAL_STORAGE -lupaa, se antaa sovelluksellesi usein enemmän tietoja kuin se tarvitsee. Sovelluksen on mahdotonta käsitellä väärin tietoja, joita sillä ei ole pääsyä, joten sinun on yritettävä minimoida sovelluksillesi saatavien tietojen määrä aina kun mahdollista.

Sen sijaan, että pyytäisit READ_EXTERNAL_STORAGE -lupaa, voit pyytää pääsyä tiettyyn hakemistoon. Tämä laajuinen hakemisto pääsy edellyttää, että käytät StorageManager-luokkaa ja luo sitten aikomus soittamalla kyseisen ilmentymän StorageVolume.createAccessIntent () -menetelmään. Esimerkiksi seuraavassa katkelmassa pääsemme ulkoiseen Kuvat-hakemistoon:

StorageManager newStorageManager = ((StorageManager) getSystemService (Context.STORAGE_SERVICE); StorageVolume volyymi = newStorageManager.getPrimaryStorageVolume (); Intent intent = volume.createAccessIntent (Environment.DIRECTORY_PICTURES); startActivityForResult (tarkoitus, pyyntökoodi);

Jos käyttäjä myöntää sovelluksellesi pääsyn tähän ulkoiseen hakemistoon, Android kutsuu onActivityResult () -sovelluksen RESULT_OK-tuloskoodilla plus aikomuksella, joka sisältää pyydetyn hakemiston URI: n.

Älä koskaan välimuistissa arkaluontoisia käyttäjätietoja

Kun käsittelet ei-arkaluonteisia sovellustietoja, saatat pystyä parantamaan käyttökokemusta tallentamalla nämä tiedot laitteen välimuistiin.

Jos välimuistit ovat suurempia kuin 1 Mt, voit käyttää getExternalCacheDir () -sovellusta, joka palauttaa polun sovelluskohtaiseen hakemistoon, johon voit tallentaa välimuistissa olevan sisällön.

Jos päätät tallentaa välimuistin, huomaa vain, että kaikki sovellukset, joilla on WRITE_EXTERNAL_STORAGE -oikeus, voivat kirjoittaa näihin tiedostoihin, joten sinun tulisi ei koskaan tallentaa yksityisiä tai arkaluontoisia tietoja välimuistiin, jos välität Android-sovelluksen turvallisuudesta.

Suojaa avaimet luvattomalta käytöltä

Android Keystore -järjestelmän avulla voit tallentaa salausavaimia säilöön, mikä vaikeuttaa näiden avainten poimimista laitteesta.

Android-näppäimistö varmistaa, että avainmateriaali ei koskaan pääse hakemusprosessiin, joten vaikka sovelluksesi prosessit ovat vaarantuneet ja hyökkääjä onnistuu pääsemään avaimiin, he eivät voi poimia avaintateriaaliaan.

Voit myös rajoittaa avainsanojen käyttöä milloin ja miten avainnäppäimillä voit esimerkiksi rajoittaa avainten käytön tiettyihin salaustekniikoihin tai vaatia käyttäjän todennusta.

Tee ContentProviders yksityisiksi

ContentProviders on jäsennelty tallennusmekanismi, jonka voit tehdä yksityiseksi sovelluksellesi tai valita viedäksesi, jolloin heistä tulee muiden sovellusten käytettävissä.

Ellei sinun nimenomaisesti tarvitse jakaa tietoja kolmannen osapuolen sovelluksen kanssa, sinun tulee tehdä kaikista ContentProviders-palvelimistasi yksityisiä merkitsemällä heidät androidiksi: viety = väärä sovelluksen manifestissa. Jos sovelluksesi on yhteensopiva Android 4.1.1: n tai uudemman kanssa, on erityisen tärkeää, että merkitset yksityiset ContentProviders -sovellukset android: export = false, koska kaikki ContentProviders ovat oletuksena julkisia.

Sormenjälki käyttäjillesi biometrisella todennuksella

Ennen kuin sallit käyttäjän pääsyn kaikkiin sovelluksesi arkaluontoisiin tietoihin tai ominaisuuksiin, sinun tulee vahvistaa hänen henkilöllisyytensä pyytämällä heidän valtakirjansa.

Käyttäjätiedot voivat olla PIN-koodin tai salasanan muodossa, mutta mahdollisuuksien mukaan on turvallisempaa suorittaa biometrinen todennus, esimerkiksi pyytämällä käyttäjän sormenjälkeä.

Follow kaikki verkostoitumisen parhaat käytännöt

Toisin kuin vähemmän kannettavat laitteet, kuten pöytätietokoneet, yhdistämme älypuhelimet ja tablet-laitteemme usein suojaamattomiin langattomiin verkkoihin, kuten ilmaiseen julkiseen Wi-Fi-verkkoon. Käyttäjän yksityisyyden suojaamiseksi sinun tulee lähestyä kaikkia verkkotapahtumia luonnostaan ​​vaarallisina, erityisesti kun siirrät käyttäjätietoja.

Aina kun joudut suorittamaan verkkotapahtuman, on tärkeää, että noudatat kaikkia Androidin parhaita verkottumistapoja:

  • Käytä HTTPS: ää HTTP: n sijaan aina, kun palvelin tukee sitä.
  • Älä koskaan luota epävarmoista protokollista ladattuihin tietoihin, mukaan lukien kaikki HTTP-vastaiset vastaukset.
  • Käytä sopivia protokollia arkaluonteisiin tietoihin, kuten HttpsURLConnection.
  • Jos todennus on mahdollista, käytä Android IPC -mekanismia, kuten palvelua.
  • Testaa sovellustasi avoimen lähdekoodin Nogotofail-verkon suojaustyökalun avulla tunnettujen TLS / SSL-haavoittuvuuksien ja väärien kokoonpanojen varalta. Nogotofail sisältää testit yleisistä SSL-varmenteiden varmennusongelmista, HTTPS- ja TLS / SSL-kirjastovirheistä, selkeän tekstin ongelmista sekä SSL- ja STARTTLS-poisto-ongelmista. Lisätietoja saat Nogotofailin GitHub-sivulta.
  • Vältä mahdollisuuksien mukaan lataamasta koodia APK: n ulkopuolelta, koska tämä lisää verkon jonkun mahdollisuuksia muokata koodiasi sen lähetyksen aikana.

Käytä WebViews-sovellusta varoen

WebView-komponentti voi käyttää HTML: ää ja JavaScriptiä, joten jos käytät WebView-tiedostoja väärin, sovelluksesi on alttiina yleisille Web-tietoturvaongelmille, kuten sivustojenvälisille komentosarjoille.

Jos käytät WebViews-sovellusta väärin, sovelluksesi on alttiina yleisille Web-tietoturvaongelmille.

Jotta Android-käyttäjät olisivat turvassa, WebView-komponentti ei suorita JavaScriptiä oletuksena. Voit kuitenkin tarvittaessa ottaa JavaScriptin käyttöön käyttämällä getSettings () -sovellusta WebSettings-sovellusten noutamiseen ja suorittamalla sitten setJavaScriptEnabled () -menetelmän:

WebView myWebView = (WebView) findViewById (R.id.webview); WebSettings webSettings = myWebView.getSettings (); webSettings.setJavaScriptEnabled (tosi);

Vaikka JavaScript on otettava käyttöön, sinun on vältettävä addJavaScriptInterface (): n käyttöä mahdollisuuksien mukaan, koska tämä menetelmä injektoi mukana toimitetun Java-objektin WebView-komponenttiin. Jos sovelluksesi on asennettu laitteeseen, jossa on Android 4.2 tai vanhempi, tämä menetelmä voi mahdollisesti antaa JavaScriptin manipuloida sovellustasi.

Jos käytät WebViews-sovellusta, sinun ei pitäisi antaa käyttäjien siirtyä mihin tahansa verkkosivustoon, jota et hallitse, mutta sinun tulisi erityisesti ei koskaan käytä addJavascriptInterface () -menetelmää, jos käyttäjä voi navigoida epäluotetulle verkkosivulle, koska tämä on valtava Android-sovelluksen tietoturvariski.

Älä koskaan käytä addJavascriptInterface () -menetelmää, jos käyttäjä voi navigoida epäluotetulle verkkosivulle.

Jos WebView-komponentti käyttää henkilökohtaisia ​​tietoja, sinun kannattaa ehkä poistaa määräajoin kaikki paikallisesti tallennetut tiedostot clearCache () -menetelmällä. Vaihtoehtoisesti voit estää sovelluksesi välimuistista arkaluonteista sisältöä välimuistin ulkopuolella olevan palvelinpuolen otsikon avulla.

Hallinnoi sovelluksesi suojattua Socket-tasoa (SSL)

SSL on yleinen osa salattua viestintää asiakkaiden ja palvelimien välillä. Jos sovelluksesi käyttää SSL: ää väärin, haitalliset kolmannet osapuolet voivat mahdollisesti siepata sovelluksesi tiedot, kun sitä siirretään verkon kautta.

Tyypillisesti palvelin on määritetty varmenteella, joka sisältää julkisen avaimen ja vastaavan yksityisen avaimen. Osana SSL-asiakkaan ja palvelimen välistä viestintää palvelin allekirjoittaa varmenteensa julkisen avaimen salauksella. Kolmas osapuoli voi kuitenkin luoda oman varmenteensa ja yksityisen avaimensa, joten asiakkaallasi tulisi myös olla yksi tai useampi luottamusvarmenne. Jos varmennetta ei ole asetettu, sovelluksesi ei pitäisi luottaa palvelimeen.

Tämän prosessin helpottamiseksi palvelimet konfiguroidaan usein tunnettujen varmenteiden myöntäjien varmenteilla. API-tason 17 jälkeen Android tukee yli 100 CA: ta, jotka päivitetään jokaisessa julkaisussa. Kun myöntää varmennetta palvelimelle, varmentaja allekirjoittaa palvelinvarmenteen yksityisellä avaimellaan, ja asiakas voi sitten varmistaa, että varmenteen on myöntänyt varmentaja, jonka Android-ympäristö tuntee ja luottaa.

Jos sovelluksesi kommunikoi verkkopalvelimen kanssa, jolla on luotettavan varmentajan myöntämä varmenne, voit tehdä pyyntösi muutamalla koodirivillä:

URL-osoite = uusi URL ("https://www.google.com"); HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection (); urlConnection.connect (); InputStream = urlConnection.getInputStream ();

On kuitenkin joitain tilanteita, joissa yllä oleva koodi johtaa poikkeukseen:

  • Palvelinvarmenteen myöntänyt varmentaja ei ole tiedossa. Tässä tilanteessa voit opettaa HttpsURLConnectionia luottamaan tähän CA-joukkoon.
  • Palvelinvarmenne oli itse allekirjoitettu, mikä tarkoittaa, että palvelin toimii omana varmentajana. Itse allekirjoitettuihin varmenteisiin voit luoda oman TrustManager-ohjelman, vaikka sinun on varmistettava, että itse allekirjoitetussa varmenteessa on vahva avain.
  • Palvelimen kokoonpanosta puuttuu välitön CA. Monet julkiset CA: t eivät allekirjoita palvelinvarmenteita suoraan. Android luottaa vain juurivarmentajaan, joten palvelimen on lähetettävä varmenneketju palvelimen varmentajalta juuriin pääsemiseksi tarvittavien välituotteiden kautta. Jos et voi määrittää palvelinta sisällyttämään välittäjä CA palvelinketjuun, yksi mahdollinen kiertotapa on luoda oma TrustManager.

Verkkoturvakokoonpanotiedoston luominen: Mukautettujen CA-käyttäjien luottaminen

Jos haluat sovelluksesi käyttävän uutta tai mukautettua CA: ta, sinun on luotava Verkkoturva-asetustiedosto, jossa määrität verkon suojausasetukset.

Verkkoturvakonfiguraatiotiedoston luominen:

  • Jos projektissasi ei ole jo XML-kansiota, sinun on luotava se. Napsauta Control-napsauttamalla projektisi res-kansiota ja valitsemalla Uusi> Android Resource Directory.
  • Luo uusi XML-resurssitiedosto XML-hakemistoon, joka toimii verkon suojaustietotiedostona. Nimenin tämän tiedoston network_config.
  • Avaa verkon määritystiedosto ja määritä, että kaiken seuraavien verkkotunnusten liikenteen tulisi käyttää HTTPS: tä:

// Poista tekstin poistaminen käytöstä // // Käytä tätä sääntöä verkkotunnukseen ja kaikkiin sen aliverkkotunnuksiin // my.domain.com ... ... ...

Voit nyt määrittää joukon mukautettuja CA: ita, joihin sovelluksesi tulisi luottaa. Jos esimerkiksi haluat muodostaa yhteyden isäntään, joka käyttää itse allekirjoitettua varmentajaa, lisää seuraava verkkoturvakonfiguraatiotiedostoosi:

my.domain.com // Sarja luottamusankkureita turvallisille yhteyksille // // Varmennejoukko luottamusankkurielementeille ja näiden varmenteiden lähde //

Älä unohda ilmoittaa Verkkoturva-asetustiedostoa manifestissa:

Sinun on sitten lisättävä luotetut CA-projektit projektisi res / raw / trusted_cas -yrityksiin PEM- tai DER-muodossa.

Luotta muihin CA: iin tarvittaessa

Lopuksi, saatat haluta luottaa muihin CA: iin, joita Android-alusta ei tunne. Jos haluat lisätä sovelluksesi luottavien CA: ien lukumäärää, sinun on määritettävä useita sertifikaattilähteitä:

Älä koskaan lähetä arkaluontoisia tietoja tekstiviestitse

Jos sinun on siirrettävä tietoja palvelimelta sovelluksellesi, sinun on käytettävä Google Cloud Messaging (GCM )- ja IP-viestejä, eikä koskaan saa käyttää salaamattomia SMS-protokollia.

Lue myös: Android-kehitys: Kuinka soittaa puheluita, vastaanottaa tekstiviestejä ja hakea käyttäjien yhteystietoja

Älä koskaan suorita arkaluontoisia komentoja tekstiviestien avulla, koska tekstiviestit lähetetään lähetysten tarkoituksina, mikä tarkoittaa, että kaikki sovellukset, joilla on READ_SMS-lupa, voivat käyttää niiden sisältöä.

Suojaa turvallisuusuhilta SafetyNet-sovellusliittymillä

SafetyNet tarjoaa joukon palveluita ja sovellusliittymiä, joita voit käyttää suojaamaan sovellustasi tietoturvauhilta, kuten laitteen luvattomalta käsittelyltä, haitallisilta URL-osoitteilta ja väärennetyiltä käyttäjiltä.

Android tukee seuraavia SafetyNet-sovellusliittymiä:

  • SafetyNet Attestation -sovellusliittymä. Tämän väärinkäytön vastaisen sovellusliittymän avulla pääset käyttämään Android-laitetta, jossa sovelluksesi on käynnissä, jotta voit selvittää, toimivatko palvelimet aitoja laitteita.
  • SafetyNet -suojatun selauksen sovellusliittymä. Voit käyttää tätä sovellusliittymää selvittääksesi, onko Google luokitellut tietyn URL-osoituksen tunnetuksi uhkiksi.
  • SafetyNet reCAPTCHA -sovellusliittymä. Tämä palvelu sisältää reCAPTCHA-sovellusliittymän, jonka avulla voit suojata sovelluksesi uhkilta, kuten roskapostilta ja haitalliselta liikenteeltä. Jos sovellusliittymä epäilee sovelluksesi olevan vuorovaikutuksessa robotin kanssa, se palvelee CAPTCHA: ta, joka vastaanottajan on ratkaistava, ennen kuin hän voi jatkaa sovelluksesi käyttöä.
  • SafetyNet Verify Apps -sovellusliittymä. Jos sovelluksesi sisältää arkaluonteisia käyttäjätietoja, voit käyttää tätä sovellusliittymää vuorovaikutuksessa laitteen Verify Apps -ominaisuuden kanssa ja tarkistaa, onko laitteessa vahingollisia sovelluksia. Jos laite ei ole suojattu, voit rajoittaa vaurioita rajoittamalla kaikki sovelluksesi arkaluontoiset ominaisuudet. Huomaa vain, että vaikka SafetyNet varoittaa käyttäjiä mahdollisista haitallisista sovelluksista, jotka se löytää, ei ole mitään takeita siitä, että käyttäjä todella poistaa nämä sovellukset. Lisäksi haitallisia sovelluksia julkaistaan ​​koko ajan, ja hakkerit keksivät aina uusia ja nerokkaita tapoja liukastua tutkan alle, joten vaikka laite läpäisee SafetyNet-testin, sinun ei pitäisi olettaa, että haitallisia sovelluksia ei ole laite.

Lisätietoja virallisista Android-dokumenteista, mukaan lukien SafetyNet-sovellusliittymät, mukaan lukien ohjeet niiden käyttämiseen sovelluksissasi, sisältävät ohjeet.

Käytä Android-suojattua vahvistusta arkaluonteisissa liiketoimissa

Jos sovelluksesi täytyy suorittaa arkaluonteinen tapahtuma, kuten suorittaa maksu, voit käyttää Android-suojattua vahvistusta laitteissa, joissa on Android 9 (API-taso 28) tai uudempi.

Aina kun käyttäjä yrittää suorittaa arkaluontoisen tapahtuman, Android Protected Confirmation näyttää kehotteen, jossa pyydetään heitä hyväksymään lyhyt lausunto. Jos käyttäjä hyväksyy tämän lausunnon, voit allekirjoittaa käyttämällä avainta Android Keystore -sovelluksesta.

Lisätietoja virallisista Android-dokumenteista sekä ohjeita siitä, kuinka Android-suojattu vahvistus otetaan käyttöön.

Android 10: Suorita sulautettu DEX-koodi suoraan

Laitteissa, joissa on Android 10 (API-taso 29) tai uudempi, on mahdollista suorittaa sulautettu DEX-koodi suoraan sovelluksesi APK-tiedostosta, mikä voi auttaa estämään hyökkäyksen, vaikka hakkeri onnistuisi peukaloimaan laitteen paikallisesti koottua koodia.

Lue myös: Android Q: n tutkiminen: Kuplailmoitusten lisääminen sovellukseesi

Ota tämä uusi suojausominaisuus käyttöön avaamalla projektisi manifesti ja lisää seuraava elementtiin:

Seuraavaksi sinun on rakennettava APK-tiedosto, joka sisältää pakkaamattoman DEX-koodin, jota ART voi käyttää suoraan. Avaa build.gradle-tiedosto ja lisää seuraava:

aaptOptions {noCompress dex}

Huomaa vain, että ART käyttää JIT-kääntäjää sovelluksen käynnistyessä, mikä voi vaikuttaa sovelluksesi suorituskykyyn.

Käärimistä

Tässä artikkelissa käsiteltiin kaikkia parhaita käytäntöjä, työkaluja, sovellusliittymiä ja tekniikoita, joita voit käyttää Android-sovelluksesi tietoturvan ylläpitämiseen.

Onko sinulla neuvoja sovelluksesi tietoturvan parantamiseksi? Muista jakaa vinkkisi alla oleviin kommentteihin!

Älypuhelinkamerat ovat ukomattomia. Ne ovat edenneet piteeeen, joa uurin oa ihmiitä voi käyttää niitä kaikkiin valokuvautarpeiiina, mutta yki alue on ilti puutteellinen: ...

Jokaieta älypuhelimeta on paljon tärkeitä komponentteja, ja puhelimen tallennutila on yki niitä. Loppujen lopuki, mitä hyötyä on puhelimeta, jo et voi ovittaa iihen ...

Tuoreet Viestit