Анализа процуреле верзије Андроид К-а показује више надоградњи приватности које долазе на Андроид: блокирање читања међуспремника у позадини, боља заштита медија и још много тога.
Свака нова верзија Андроид-а долази са новим функцијама, што значи да су Андроид-у потребне нове дозволе за приступ овим функцијама. Пронашао сам много нових дозвола у оквиру Андроид К-а (не све ћу покрити у овом чланку јер многе од њих нису занимљиве). Неке од дозвола које сам пронашао нису имале никакав опис, али њихова имена су ионако прилично разумљива. Хајде да заронимо и разговарамо о новим побољшањима приватности иза кулиса у Андроид К-у, као и о неколико других занимљивих функција које сам пронашао.
Посебно хвала ПНФ Софтваре-у што нам је дао лиценцу за коришћење ЈЕБ Децомпилер. ЈЕБ Децомпилер је професионални алат за реверзни инжењеринг за Андроид апликације.
Блокирање приступа клипборду у позадини
Да ли сте знали да свака апликација у Андроид-у може да чита ваш међуспремник, и не морате да им дате дозволу за време извршавања да бисте то урадили? Многи људи вероватно копирају осетљиве информације као што су корисничка имена, лозинке, адресе итд. све време, тако да би било којој апликацији било лако да извуче ове податке у позадини. Због тога многе апликације за управљање лозинкама воле
КееПасс имају сопствене тастатуре које можете користити да заобиђете Андроид менаџер клипборда. Апликације за управљање лозинкама често бришу међуспремник уместо вас након што копирате и налепите било шта. Разлог зашто Андроид апликације морају да читају међуспремник је тај што не могу да прихвате ниједан текст из међуспремника без њега, што значи да не можете да налепите ниједан текст који сте копирали. Андроид К жели да то промени, срећом.Додата је нова дозвола под називом „READ_CLIPBOARD_IN_BACKGROUND
” што звучи као да ће урадити управо оно што пише: ограничите које апликације могу да читају клипборд у позадини. Ниво заштите ове дозволе је „потпис“, што значи да се ова дозвола може одобрити само апликацијама које је потписао ОЕМ.
<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>
Подршка за враћање апликација на старију верзију?
Да ли сте икада инсталирали ажурирање за апликацију на Гоогле Плаи-у и одмах пожалили? Понекад ће програмер гурнути ажурирање које квари нешто што нису очекивали, али када се ажурирање покрене и инсталира, прекасно је да се било шта уради по том питању. Програмер мора брзо да изда хитну исправку и корисник или треба да престане да користи апликацију док се не објави ажурирање или да деинсталира апликацију и учита старију верзију. Не можете да вратите апликацију на старију верзију осим ако немате укорењен уређај са апликацијом попут ТитаниумБацкуп, јер Андроидов менаџер пакета блокира инсталирање старијих верзија апликација. Постоји добар разлог за то јер инсталирање старије верзије апликације може довести до квара ако подаци апликације нису обрисани или би то могло да изложи корисника опасности ако је старија верзија рањива на безбедност мана.
Иако не знамо са сигурношћу да ли ће Гоогле дозволити корисницима да врате апликације на старију верзију, пронашли смо неколико дозвола и команди у Андроид К-у које сугеришу да ће то бити могуће. Прво, нови „PACKAGE_ROLLBACK_AGENT
" и "MANAGE_ROLLBACKS
” дозволе сугеришу да унапред инсталирана маркет апликација може да делује као агент за управљање враћањем верзија апликације. Прва дозвола је „потпис“, док је друга „инсталатер“ на врху „потписа“, тако да ово значи само платформу потписану апликацију са могућношћу инсталирајте апликације (обично само менаџер пакета, Гоогле Плаи продавница или друге продавнице апликација прве стране, у зависности од уређаја) могу да користе ове дозволе. Додате су две нове заштићене намере емитовања: „PACKAGE_ENABLE_ROLLBACK
" и "PACKAGE_ROLLBACK EXECUTED
.” Ове емисије не могу да шаљу апликације трећих страна и вероватно имају за циљ да омогуће погођеној апликацији да зна када је деградирана (много на пример како се апликацијама каже када су ажуриране, дајући им прилику да при следећем покретању прикажу неку поруку.) На крају, нова заставица је додата у "pm install
” наредба љуске. Застава под називом „--enable-rollback
”, може вам омогућити да вратите апликацију на старију верзију. Међутим, нисам могао да га натерам да ради.
<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>
Обезбеђивање датотека на спољној меморији
Складиштење података у Андроид-у укључује „интерну меморију“ (/податке искључујући /податке/медије) и „спољну меморију“ (/дата/медиа и све уграђене СД картице или УСБ дискове). АПК-ови и њихови најосетљивији подаци се чувају у интерној меморији, док сви дељени медији попут докумената, слика, видео записа итд. се чувају у екстерној меморији. Подразумевано, апликације могу да читају и пишу датотеке само у један директоријум у спољној меморији: /дата/медиа/[усер]/Андроид/дата/[пацкаге_наме]. (Да бисте сазнали више о овом понашању, препоручујем вам да прочитате моје чланак о сдцардфс-у у Андроид Орео.) Једном када корисник додели апликацији било какву дозволу под групом дозвола за спољну меморију (READ_EXTERNAL_STORAGE
или WRITE_EXTERNAL_STORAGE
), апликација тада може читати или писати било коју датотеку у спољној меморији. Ово је проблематично јер апликацији дајете могућност да потенцијално прикупи много података о вама када сте само желели да јој дозволите да чита или пише одређене датотеке. Да би ово поправио, чини се да Гоогле уводи неколико нових дозвола у вези са спољним складиштем у Андроид К. Дозволе ће омогућити следеће функције:
- Способност читања локација са ваших медија. (Вероватно блокира приступ метаподацима слика подразумевано.)
- Могућност приступа музичким датотекама.
- Могућност приступа фотографијама.
- Могућност приступа видео записима.
За апликације које већ држе READ_EXTERNAL_STORAGE
или WRITE_EXTERNAL_STORAGE
дозволе пре ажурирања Андроид К-а, добиће ново читати дозволе, али не и нове писати дозволе. На пример, апликација која је већ одобрена READ_EXTERNAL_STORAGE
од стране корисника ће аутоматски бити додељено READ_MEDIA_IMAGES
дозволу, али не и WRITE_MEDIA_IMAGES
дозволу.
Релевантни стрингови из Андроид К-овог фрамеворк-рес
<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>
"android.permission.READ_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>
Опширније
Повратак приступа локацији у позадини
Андроид Орео и Андроид 9 Пие су направили велике кораке у обезбеђивању приватности корисника, али неки корисници су сматрали да је Гоогле отишао предалеко. Једна таква област која се може сматрати регресијом карактеристика је у приступ локацији у позадини. Приступ локацији у Андроид Орео-у и новијим верзијама је јако ограничен, ако не и потпуно угашен за апликације које раде у позадини, тако да апликације морају или да буду у првом плану или да имају покренуту услугу у првом плану ако желе да континуирано анкетирају уређај локација. То блокира апликације да шпијунирају вашу локацију у позадини, али такође блокира корисника да мапира сопствену локацију помоћу апликације у позадини. Ово је проблем на који смо се дотакли у посебном чланку, и изгледа да Гоогле додаје нову дозволу у Андроид К да би решио проблеме ових програмера и корисника.
У Андроид К-у је додата нова дозвола која омогућава апликацији да има приступ локацији уређаја у позадини. Опис дозволе за корисника упозорава да ће „апликација увек имати приступ локацији, чак и када не користите апликацију“. Ова дозвола може добити „додатно уз приближну или прецизну локацију“ дозволе тако да апликација „може да приступи локацији док ради у позадини“. У супротности, груба дозвола за локацију може да добије вашу локацију само на основу мрежних извора као што су торњеви или Ви-Фи мреже, али само када је апликација у предњи план.
Релевантни стрингови из Андроид К-овог фрамеворк-рес
<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>
"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>
Опширније
Препознавање физичке активности
Нова дозвола је додата у Андроид К која омогућава апликацији да „препозна вашу физичку активност“. Ово технички није ново јер јесте већ део Гоогле Плаи услуга, али то може значити да ће Гоогле одвојити дозволу од Плаи услуга. С обзиром на то колико су Гоогле Плаи услуге биле интегралне у пружању основних Андроид функција, добро је видети да је део његове моћи враћен АОСП-у.
<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>
За више вести о Андроид К-у, погледајте наше таг са најновијим вестима поређаним по датуму. Недавно смо објавили чланак са много доказа који указују на то да Гоогле ради на томе подржава хардвер за потврду идентитета лица сличан Фаце ИД-у у Андроид К. Такође имамо и рани практични рад са процурелом Андроид К верзијом (а постоји чак и видео) који би требало да погледате овде. Објавићемо више наших налаза из ове ране верзије Андроид К-а коју смо добили, па останите са нама.