Additionallysourceforge.jp

sourceforge.jp  时间:2021-04-05  阅读:()
ModelingandEnhancingAndroid'sPermissionSystemElliFragkaki,LujoBauer,LiminJia,andDavidSwaseyCarnegieMellonUniversity,Pittsburgh,PA,USAAbstract.
SeveralworkshaverecentlyshownthatAndroid'ssecurityarchitecturecannotpreventmanyundesiredbehaviorsthatcompromisetheintegrityofapplicationsandtheprivacyoftheirdata.
ThispapermakestwomaincontributionstothebodyofresearchonAndroidse-curity:rst,itdevelopsaformalframeworkforanalyzingAndroid-stylesecuritymechanisms;and,second,itdescribesthedesignandimple-mentationofSorbet,anenforcementsystemthatenablesdeveloperstousepermissionstospecifysecrecyandintegritypolicies.
Ourformalframeworkiscomposedofanabstractmodelwithseveralspecicinstan-tiations.
Themodelenablesustoformallydenesomedesiredsecurityproperties,whichwecanproveholdonSorbetbutnotonAndroid.
WeimplementSorbetontopofAndroid2.
3.
7,testitonaNexusSphone,anddemonstrateitsusefulnessthroughacasestudy.
1IntroductionRecentyearshavewitnessedanexplosionintheuseofmobilecomputingthankstotheproliferationoffeature-richsmartphones,andassociatedappstoresandeasy-to-installapplications.
Smartphoneshavepowerfulhardware,withmanyusefulsensors(e.
g.
,GPS,camera,microphone,accelerometer)exposedviarichAPIs,andenoughcomputingpowertoruncomplexapplications.
ApplicationstakeadvantageoftheserichAPIstoperformconvenientanduseful,butpoten-tiallyprivacy-sensitivetaskssuchasaccessingaddress-bookorlocationinfor-mation;accessingonlinebankingandmedicalaccounts;andcontrollinghomesecuritysystems.
Appstoresmakeiteasyforuserstoinstallandrunapplica-tions,whileprovidingfewguaranteesabouttheirprovenanceorbehavior.
Toprotectsensitiveresourcesfromapplications,andapplicationsfromeachother,AndroidandothermobileOSesimplementsecuritymechanismssuchaspermissionsystemsandstrongisolationbetweenapplications.
Thesemecha-nisms,however,haveinpracticeprovedinsucient,withanincreasingnumberofmaliciousapplicationsstartingtotargetsmartphones[15,23,16].
Anumberofworkshaveinvestigatedtheseweaknessesfromvariousperspec-tives,includingdemonstratinghowapplicationscancommunicatethroughcovertchannels[24,18],developingtoolstodetectinformationleaks[8,5,14],andim-plementingmorepowerfulprotectionmechanisms(e.
g.
,[22,20,7,2]).
ThispaperaddstothebodyofresearchonAndroidsecurityintwomainways:rst,bydevelopingaformalframeworkforanalyzingAndroid-stylese-curitymechanisms,includingdeningpropertiesdesiredofthose,andverifyingS.
Foresti,M.
Yung,andF.
Martinelli(Eds.
):ESORICS2012,LNCS7459,pp.
1–18,2012.
cSpringer-VerlagBerlinHeidelberg20122E.
Fragkakietal.
whetherthesepropertieshold;and,second,bydesigningandimplementinganenforcementsystemthatprovidesapplicationdeveloperswithsimplelanguageconstructstospecifyexiblesecrecyandintegritypolicies,andprovablyexhibitsdesirablesecurityproperties.
Toremainpracticallyrelevant,weconstrainouren-forcementsystem,whichwecallSorbet,tobeeasilyretrottableintoAndroid'scurrentarchitecture.
ThedesignandimplementationofSorbetimprovesexist-ingAndroidpermissionsysteminthefollowingaspects:(1)weformallystatethepropertiesthatwewishournewmechanismstoachieve,andformallyprovethatoursystemdesignsupportsthem;(2)weenhanceAndroid'spermissionsystemtosupportcoarse-grainedsecrecyandintegritypolicies;and(3)weprovidemoreexiblesupportforne-grainedandscope-limiteddelegationofpermissions.
Formalanalysis.
OneofourmaingoalsistoimproveourunderstandingofthesecuritypropertiesthatwedesireofAndroid-likepermissionsystems,andtoverifythatspecicsystemsarecapableofspecifyingandenforcingdesiredproperties.
Wepursuethisgoalbybuildingageneralized,abstractmodeloftheAndroidpermissionsystem,andstatingasetofdesirablepropertiesintermsofthemodel.
WethendevelopinstantiationsofthismodelbothforthecurrentAndroidpermissionsystemandforSorbet.
Basedonthisformalaccount,westudythepropertiesofthecurrentsystem;ourinvestigationrevealsbothdesignandimplementationaws,whichguidethedesignofSorbet.
WealsoprovethatSorbet'sdesignissucienttosupportthepropertiesthatwehavedened.
Coarse-grainedsecrecyandintegritypolicies.
Sorbet'skeyinnovationiscoarse-grainedmechanismsthatallowdeveloperstoprotecttheirapplicationsagainstprivilegeescalationandundesiredinformationows(e.
g.
,[6,8]).
Android'sper-missionsystemonlypreventsapplicationsthatdonothavethecorrectpermis-sionsfromdirectlycallingaprotectedcomponent.
Thisisinadequatetoprotectagainstamaliciousapplicationthatreachesaprotectedcomponentindirectly,viaachainofcallstoinnocentapplications.
Toprotectagainstsuchattacks,weenrichAndroid'spermissionsystemwiththeabilitytospecifyinformation-owconstraintsandexplicitdeclassicationpermissions,andimplementalight-weightcalling-contexttrackingandcheckingmechanism.
Akeychallengehereistosupportlocalspecicationofglobalproperties.
Flexibleandne-graineddelegation.
Run-timedelegationofURIpermissionsisakeyfeatureinAndroid,andallowsapplicationstousethird-partycomponents(e.
g.
,avieweractivity)tomanipulatecontentthatthosecomponentsnormallywouldnotbepermittedtoaccess.
Onexamination,wediscoveredthatAndroid'simplementationofpermissiondelegationisplaguedbyanumberofawsandquestionabledesigndecisions.
Sorbetsupportsmoreexibleandprincipledper-missiondelegationandrevocation,andallowsdeveloperstospecifyconstraintsthatlimitthelifespanandredelegationscopeofthedelegatedpermissions.
De-velopingamechanismthatcorrectlyenforceslifetimeandscopeconstraintsturnsouttobeunexpectedlytricky,duetoredelegationandthedynamicnatureofAndroidapplicationsandcomponents,includingapplicationinstallationanduninstallation,andinstantiationandterminationofcomponents.
ModelingandEnhancingAndroid'sPermissionSystem3ContributionsandRoadmap.
Thispapermakesthefollowingcontributions:–WedevelopaformalmodelthatgeneralizesAndroid-stylepermissions(§2.
2).
WeshowhowAndroid'scurrentpermissionsystemcanberepresentedasaninstantiationofourabstractmodel(§2.
3).
–Buildingonthismodel,wedeneasetofsecuritypropertiesthatonemaydesireofAndroid-stylepermissionsystems(§3.
1).
WeshowthatAndroidcurrentlyobeyssomeofthedesiredsecurityproperties,butnotothers,andexposeseveraldesigninconsistenciesandimplementationaws(§3.
2).
–WedescribeSorbet,asetofimprovementstoAndroid'spermissionsys-temthatsupportsdeveloper-speciedcoarse-grainedinformation-owandprivilege-escalationpolicies.
WeformalizeSorbetasaninstantiationofourmodelandshowthatitbettersupportsthedesiredsecurityproperties(§4).
–Finally,weimplementSorbetontopofAndroid2.
3.
7,testitonaNexusSphone,anddemonstrateseveralnewscenariosthatitenables(§5).
2PreliminariesWerstreviewtheAndroidarchitectureasitpertainstopermissions(§2.
1).
WethendevelopanabstractmodelofAndroid-stylepermissionsystems(§2.
2),andaninstantiationofitthatcapturesdetailsofAndroid'simplementation(§2.
3).
2.
1AndroidOverviewAndroidisaLinux-basedopen-sourceOSdesignedforsmartphones.
Androidap-plicationsarewritteninJavaandcompiledtoDalvikbytecode.
EachapplicationisexecutedinaseparateDalvikVirtualMachine(DVM)instance.
Androidapplicationsarecomposedoffourtypesofcomponents:Activitiesdenetheuserinterface.
Onlyoneactivityinteractswiththeuseratatime.
Userstypicallyinteractwithasequenceofactivitiestoperformatask.
Servicesruninthebackgroundandhavenouserinterface.
Unlikeactivities,servicesremainactiveregardlessofwhichapplicationisintheforeground.
Broadcastreceiverslistenforsystem-widebroadcasts,andinformotherapplica-tioncomponentsuponthereceiptofabroadcast.
Contentprovidersstoredataandarethemainwaytosharedatabetweenappli-cations.
EachproviderexposesapublicURIthatuniquelyidentiesitsdataset.
ComponentsandapplicationscanaccessorupdatethedataviaSQLqueries.
Activities,services,andbroadcastreceiverscommunicateviaintents,asyn-chronousmessagesthatdeliverdataand,ifneeded,causeanewinstanceoftherecipientcomponenttobecreated.
TheOSmediatesbothcross-andintra-applicationcommunicationsviaintents.
Therecipientofanintentcanbespec-iedexplicitlybyitspackageandclassname,orimplicitlyviatheactiontheintentattemptstoinitiate.
Wewilloftenwritethatacomponentcallsanothercomponentinlieuofexplainingthatthecommunicationisviaanintent.
4E.
Fragkakietal.
StaticConstructsComponentsC::=Ccode|CdataCodeComponentsCcode::=(name,A,ckCallee,ckCaller,Pdecl,Preq,Pgrnt)DataComponentsCdata::=(name,ckCaller,Pdecl)ComponentGroupsC::=(name,ckCallee,ckCaller,Pdecl,Preq,Pgrnt,{C1,Cn})Run-timeConstructsRun-timeInstancesIns::=iC|iCCompInstancesiC::=(namer,C,Pgrnt)CompGroupInstancesiC::=(namer,C,Pgrnt,{iC1,iCn})PrincipalsPrin::=Ins|userTargetsTgt::=Ins|C|CEventsE::=x=E1;E2|calliC1iC2I|returniC1iC2I|resolveiC|grantPrinTgtPF|revokePrin({Tgt1,Tgtn})P|checkguardiCTgt|exitIns|installPrinC|uninstallPrinCFig.
1.
SyntaxofpermissionmodelAndroiduses(application)permissionstoprotectcomponentsandsensitiveAPIs.
Permissionsarestrings(e.
g.
,android.
permission.
INTERNET)denedbythesystemordeclaredbyapplications.
AcomponentorAPIprotectedbyapermis-sioncanbeaccessedonlybyapplicationsthatholdthispermission.
Applicationsacquire(application)permissionsonlyatinstalltime,withtheuser'sconsent.
Additionally,contentproviderscanuseURIpermissionstograntad-hocac-cesstospecicpiecesofdatathattheycontrol(records,tables,ordatabases).
URIpermissionscanbedynamicallygrantedandrevoked.
2.
2AbstractModelTobeabletoformallystatethepropertiesdesiredofapermissionsarchitecture,wedevelopanabstract,formalmodelofAndroid-stylepermissionssystems.
Themodelcomprises:(1)staticelements,whicharethecodeanddatawewanttoprotect;(2)run-timeelements,suchassystemeventsandcomponentinstances;and(3)atransitionsystemthatcapturesthebehavioroftheprotectionmecha-nisms.
ThemodelismoregeneralthanAndroid'simplementationasitspurposeistoencompassawiderdesignspaceofpermissionsystems,includingpreviouslysuggestedextensions(e.
g.
,[22]).
Weonlysketchthemodelhere;seeourtechnicalreport[13]fordetails.
Fig.
1showsthemodel'sstaticandrun-timeelements.
StaticConstructs.
FollowingAndroid,applicationsinourmodelarebuiltfromcomponents.
Wedistinguishbetweencodecomponents(Ccode)anddatacompo-nents(Cdata).
Codecomponents—activities,services,andbroadcastreceivers—mayactbothascallersandascallees;datacomponents—contentproviders—arepassiveandonlyreceivecalls.
Acodecomponentiscomprisedofaname(name),theactionsAtowhichthecomponentiswillingtorespond,permissions(Pdecl,Preq,andPgrnt),andguards(ckCallee,ckCaller).
InAndroid,callstoacomponentareguardedbyapermissioncheck.
Wegen-eralizethischecktoanabstractguardmodeledbyabooleanfunctionckCaller.
Fornow,wespecifyonlythatckCallertakesasargumentsacomponentandModelingandEnhancingAndroid'sPermissionSystem5thecallingcontextandreturnstrueorfalse.
Asecondgeneralguard,ckCallee,specieswhenoutgoingcallsshouldbeallowed.
Wedistinguishbetweenpermissionsthataredeclared(Pdecl),requestedfromtheuser(Preq),andgranted(Pgrnt).
Thisallowsustomodelbehaviorssuchasdynamicdelegationofpermissions.
Wemodelapplications,C,asasetofcomponents({C1,Cn})withguardsandpermissionsthatapplytoall.
ThisisconsistentwithAndroid,whereper-missionsaretypicallydeclared,requested,andgrantedattheapplicationlevel,butindividualcomponentscanprotectthemselveswithadditionalpermissions.
Run-TimeConstructs.
Itisimportanttodistinguishstaticcomponentsfromrun-timeinstances,andrun-timeinstancesfromeachother.
AstaticcomponentCmayhavemultiplerun-timeinstancesiC,composedofauniqueidentier(e.
g.
,pointer),namer,andthepermissionsPgrntgrantedtothisinstance.
Wesimilarlymodelrun-timecomponentgroupsiC(e.
g.
,arunningapplication).
PrincipalsPrinareentitiesthatcangrantandrevokepermissions:run-timecomponentsandcomponentgroups,andtheuser(i.
e.
,humanwhoinstallsap-plications).
TargetsTgtaretheobjectsofsuchoperations,andcanbeeitherrun-timeorstaticcomponentsorcomponentgroups.
Abstractingdetail,wefocusonsystemeventsthatconcernpermissions,suchascomponentcommunicationviaintents(calliC1iC2I),andgranting(grant)andrevokingpermissions(revoke).
Wediscussthesefurtherin§2.
3and§4.
1whenwefocusontheAndroidandSorbetinstantiationoftheabstractmodel.
TransitionSystem.
Wecapturethedynamicsofthemodelasatransitionsystem.
WemodelasystemstateΣasatuplecomposedofasetofentities(run-timeandstatic)andauxiliarydatastructuresAux.
WewriteEtodenoteasequenceofeventstobeprocessedbythesystem.
WeassumethateacheventisassociatedwithauniqueeventIDn.
Theevolutionofthesystemisaseriesoftransitions(Σ;Eo→Σ;E),whereorecordswhethertheevaluationofeventnissuccessful(o=ok(n))orfails(o=fail(n)).
Evaluationofacalleventwillfail,forexample,iftheappropriateguardsdon'tevaluatetotrue.
Atrace,denotedbyT,isasequenceoftransitions:Σ0;E0o1→Σ1;E1···ok→Σk;Ek.
Thespecicrulesinthetransitionsystemdependontheconcreteimplemen-tationsbeingmodeled.
Hereweshowtheruleschemaforasuccessfulcallevent.
Thecallsucceedsonlyifbothguardsevaluatetotrue.
call-t(Σ;E,n::calliC1iC2I)ok(n)→(Σ;E)whereΣ=updateCall(Σ,calliC1iC2I)ifiC2.
ckCaller(Σ,iC1)=trueandiC1.
ckCallee(Σ,iC2)=trueAparallelrule,call-f,speciesthatacallfailsifeitherguardreturnsfalse.
2.
3AndroidModelWeinstantiateourabstractmodeltodescribethekeybehaviorsofAndroid'spermissionsystem1.
Thishashelpedustoidentifyawsinitsimplementation1WhenwerefertoAndroid,wemeanversion2.
3.
7,whichwasthenewestversionavailablewhilewewerecarryingoutourinvestigation.
Thebehaviorswedescribegenerallyholdin4.
0aswell.
6E.
Fragkakietal.
andpeculiaritiesinitsdesign.
Weomitafulldescription,butshowexampleinstantiationsofguards(uriP)andtransitionrulesforgrantingpermissions.
Guards.
TheguarduriPcheckswhetheracomponenthastheURIpermissionsspeciedinP.
uriPcanbeusedasckCallerwhenPisthesetofURIpermissionsprotectingacomponent.
Werstdenefunctionstolookupthepermissionsassociatedwitharun-timecomponentfromthecurrentstate.
FunctiongrantedByUsrPerm(iC,Σ)returnspermissionsgrantedatinstalltime,andfunctionURIPerm(iC,Σ)returnstheURIpermissionsdynamicallygrantedtoiC;URIPerminturnreliesonadatastructureMtotracktheURIpermissionsgrantedtoeachapplication.
Then,wedeneuriPasfollows.
uriPf(iC,Σ)=PgrantedByUsrPerm(iC,Σ)∪URIPerm(iC,Σ)GrantingPermissions.
URIpermissionscanbegrantedtemporarily,viaanintent,orpermanently,viagrantUriPermission.
Wemodeltheformeras:grantiC1iC2PFtmp;calliC1iC2I.
Here,iC1grantspermissionPwithagFtmptoiC2beforetransferringcontroltoiC2.
GrantingpermanentlywemodelasgrantiC1CPFprm.
FlagsFtmpandFprmconstrainthelifetimeofthedelegationofPandthescopeofitspotentialredelegationbyiC2.
MirroringAndroid,thelifetimeofpermissionsgrantedwithFtmpisconnedtothelifetimeoftherecipient(iC2)ofthegrantoperation.
WhengrantingwithFprm,therecipientwillhavethepermissionuntilthesystemrebootsorthepermissionisrevoked.
Neitheragrestrictsthescopeofredelegation.
ThefollowingruleshowshowgrantcurrentlyworksinAndroid.
(Σ;E,n::grantiC1iC2PFtmp)ok(n)→(Σ;E)ifuri{P}(iC1,Σ)=truewhereΣ=updateGrant(Σ,iC1,iC2,P,Ftmp)GrantingsucceedsonlyifthegranterhaspermissionP.
Afterwards,updateGrantupdatesstate,byrecordinginMthattheenclosingapplicationofiC2nowhaspermissionPwithagFtmp,andthattheinstanceiC2hasPinPgrnt.
TheruleforgrantingwithFprm(omittedhere)diersonlyinitsupdatefunction:MrecordsthatnowChaspermissionPwiththeagFprm.
TheserulesmakeexplicitthatAndroiddoesnotdistinguishbetweenFtmpandFprmwhendecidingwhetheracomponentcangrantpermissions.
Thiscausesproblemswhencomponentsredelegatepermissions,aswediscussin§3.
2.
3SecurityPropertiesWedeneseveralpropertiesthatonemightdesireofanAndroid-stylesecurityarchitecture(§3.
1)andinvestigatewhethertheycurrentlyhold(§3.
2).
3.
1SpecifyingDesiredSecurityPropertiesWeformulatethepropertiesdesiredofAndroid'ssecurityarchitecturebasedontheresourcesthatneedprotection.
ThesearetypicallyinterfacesthatallowModelingandEnhancingAndroid'sPermissionSystem7accesstofunctionalitythatcouldcauseharmorinconvenience(e.
g.
,sendingexpensivetextmessages)andtosensitivedatathatshouldnotleavetheposses-sionofcomponentsthatlegitimatelyrequireit(e.
g.
,nancialinformationinabankingapplication;locationinformation).
Weabstractlydeneaccess-controlpropertiesthatspecifywhenandhowaprotectedinterfacecanbecalledandinformation-owpropertiesthatspecifywhenandwhatinformationcanowtoorfromacomponent.
Wealsoinvestigatelower-level,functional-correctnesspropertiesconcerninggrantingandrevokingpermissions,sincethesedirectlyaecttheaccess-controlandinformation-owproperties.
LocalProperties.
Thefollowingtwopropertiesstatethattheimmediaterestrictionsspeciedbyacomponentonitscallersorcalleesarealwaysobeyed.
Property1.
(Localcalleeprotection)IfacomponentAiscalledbyanothercomponentB,thenA'sguardckCalleeevaluatestotrue.
Property2.
(Localcallerprotection)IfacomponentAcallsanothercompo-nentB,thenA'sguardckCallerevaluatestotrue.
ItiseasytoshowthatProp.
1and2holdonanyinstantiationthatincludesruleslikecall-tandcall-f(see§2.
2).
DelegationandRevocationProperties.
Property3.
(Delegation)AcomponentAhasapermissionPifAownsP,orthereisadelegationchainfromacomponentBtoAsuchthatAsatisesthescopeandlifetimeconstraintsimposedbyeverycomponentonthechain,andthateverycomponentonthechainalsohasP.
Intuitively,Prop.
3ensuresthattheuseofaredelegatedpermissionisconnedbythelifetimeandscopeconstraintsspeciedbytheoriginalgranter.
Forinstance,ifanemailcomponentgivestoaviewercomponenttheURIpermissionPfordisplayinganattachment,twosensibleconstraintsarethatPisconnedtoaspecicinstanceoftheviewer,andthattheviewercannotredelegateP.
Property4.
(Revocation)IfArevokesPfromB,thenthereisadelegationchainfromAtoB,orAownsP.
Thisisabasiccorrectnesspropertyforrevocation.
Allowingarbitrarycompo-nentstorevokepermissionsislikelytobedisruptive;hence,onlytheownerorgrantershouldbeallowedtorevokeapermission.
GlobalProperties.
Thenexttwopropertiesaresimpliednoninterference.
Wecustomizethegeneralnotionthatsecretinputscannotaectpublicoutputsandtaintedinputscannotaectendorsedoutputstotthepermission-basedAndroidmodel.
Property5.
(Privilegeescalation)GivenanycomponentBprotectedbyper-missionP,andanycomponentAthatdoesnothavethatpermission,ifSABisasystemthatcontainsAandB(andothercomponents),andSBisthesamesystemwithoutA,thenacallchainendingwithBexistsinSABifandonlyifitexistsinSB.
AdditionalcallchainsendingwithBmayexistinSABifexplicitlyallowedbypolicy.
8E.
Fragkakietal.
Inotherwords,withrespecttoaccessingB,asystemwithunprivilegedcompo-nentAshouldbehavethesameasasystemwithoutA.
TheonlyexceptionisifadditionalpolicyexplicitlyallowsAtoaectB.
Withoutsuchexceptions,thispropertywouldlikelybetoorestrictive.
Forexample,letBbetheinterface,guardedbypermissionP,forrebootingthephone.
SupposethatcomponentChasP(whichallowsittocallB),andapublicinterface,suchthatanycallstothatinterfacewillcauseCtocallB.
Then,acomponentAthatdoesnothavePcanindirectlycauseBtobeinvokedbycallingC.
C'sindiscriminateinvocationofBisanexampleoftheconfused-deputyproblem.
SinceatraceculminatinginthatinvocationofBcannotexistinasystemwithoutA,Prop.
5prohibitsthisbehavior.
Intheotherdirection,wemaywanttopreventsensitiveinformationfrombeingleaked,whichpermissionsystemstypicallycannotspecifydirectly.
Weleveragepermissionstostateanundesiredinformationowasfollows.
SupposethatpermissionP1guardsthesourceofsomeinformationandpermissionP2guardsthesink.
Then,anundesiredinformationowcanbespeciedasacallchainfromacomponentthatusesP1toacomponentthatusesP2.
Asystemthathasnoundesiredinformationowsshouldthenobeythefollowingproperty.
Property6.
(Informationow)GivenanundesiredinformationowfromacomponentAguardedbyP1toacomponentBguardedbyP2,acallchainthatendswithBexistsinasystemwithAifandonlyifthesamecallchainexistsinasystemwithoutA.
AdditionalcallchainsendingwithBmayexistinthesystemwithAonlyifexplicitlyallowedbypolicy.
Withoutamoreexpressivepolicyspecicationlanguage,thesepropertiescan-notbespeciedprecisely.
3.
2AnalyzingAndroidPermissionsWeinvestigatedtheextenttowhichAndroid'scurrentpermissionsystem,asrepresentedbyourmodel,supportsthepropertiesdenedin§3.
1.
LocalPropertiesHold.
Android'spermissionsystemimplementsthecall-tandcall-frules,andtheguardsspeciedbythecomponentsarecheckedatruntime;hence,Prop.
1and2hold.
However,Prop.
2holdstrivially,becausecallerscannotstateusefulguardsoncallees.
DelegationandRevocationPropertiesDoNotHold.
Prop.
3requiresthatapermissiondoesnotoutlivethelifespanspeciedbyitsgranter.
Android'simplementation,however,doesnotdistinguishbetweenFtmpandFprmwhendecidingwhetheracomponentcangrantpermissions.
ThisviolatesProp.
3andcausesseveralbugs(seeourcompaniontechnicalreport[13]),e.
g.
,acomponentthatgainedtemporarypermissioncanredelegatethepermissionpermanently,includingtoitself.
Android'srevokeURIPermissionrevokesaURIpermissionfromallcomponentstowhichitwasdynamicallygranted,andcanbecalledbyanycomponentthatwasgrantedthepermissionatinstalltime.
ThisviolatesProp.
4,whichrequiresModelingandEnhancingAndroid'sPermissionSystem9thatacomponentAcanrevokeonlyfromentitiestowhichitgrantedpermission(unlessAownsthepermission).
Suchviolationscaneasilycauseconfusion,asunrelatedapplicationscanrevokeeachother'spermissions.
GlobalPropertiesDoNotHold.
PreviousworkhaspointedoutthatAndroidsuersfromprivilege-escalationaws(e.
g.
,[6]);i.
e.
,Prop.
5doesnothold.
Prop.
6alsodoesnothold,asAndroiddoesnothaveamechanismforpreventing,orevenspecifying,undesiredinformationows.
Anapplicationcanaccessanycomponentforwhichithasthepermissiontodoso,regardlessofwhetherithadpreviouslyaccessedprotectedinformation.
Previousworkhasshownthatthisresultsinvariousspecicundesiredinformationows[24,18,8].
ExaminingAndroidinlightofthesepropertiesalsorevealedseveraldesignandimplementationbugs,whichwereportedtoGoogle.
Theseincludetheabilityofcomponentsthatreceivedatemporarypermissiontoredelegatethatpermissionpermanently,andimproperbookkeepingofgrantedpermissionsduringapplica-tionuninstallationandinstallationthatcanleadtoprivilegeescalation.
Theseawsarediscussedinmoredetailinourcompaniontechnicalreport[13].
4Sorbet:AndroidPermissions++Motivatedbythepropertiesof§3.
1,wedevelopSorbet,animprovedpermis-sionsystemthatsupports(1)developer-denedpoliciestomitigateundesiredinformationowsandprivilege-escalationattacks;and(2)well-behavedpermis-siondelegationandrevocation.
OurgoalsweretoenabledevelopersanduserstospecifyricherpoliciesontheirapplicationswithoutdramaticallyalteringAn-droid,andtoconstructanenforcementsystemthatisprovablywellbehaved.
Someofthemechanismsweusehavebeendiscussedpreviously[10,22,14,7];weintegratetheseandotherideasintoasystemthatwecanformallyshowsatisesinterestingsecuritypropertiesandenablesnewusecases.
4.
1NewFeaturesinSorbetCoarse-GrainedInformation-FlowProtection.
SorbetextendsAn-droid'spermissionlabelstomakethemsuitableforspecifyingcoarse-grainedinformation-owpolicies,andenforcessuchpoliciesatcomponentandapplica-tionboundaries.
Byreusingpermissionlabels,thisapproachrequireslittlenewsyntax.
InSorbet,acomponentAguardedbyP1(e.
g.
,thecontactspermission)canspecify(intheapplicationmanifest)information-owpoliciesoftheformdisallow-ow(P1,P2).
ThisindicatesthatanycomponentBthatmadeuseofP1toaccessAcannot(includingtransitively)usepermissionP2.
Acompo-nentcanalsorequestatinstalltimethepermissionallow-declassify(P1,P2)todeclassifysensitiveinformation,i.
e.
,toescapetherestrictionimposedbydisallow-ow(P1,P2).
Weformalizethismechanismandthepropertyitenforcesin§4.
2and§4.
3.
10E.
Fragkakietal.
Ourmechanismcanbeusedbyprogrammerstostrengthentheirowncodebyseparatingtrustedinformationthatshouldremaininternaltoanapplica-tionfromuntrustedowsthatmaybecommunicatedtotheoutside,therebydecreasingthechanceoftheapplicationbeingmisusedbymaliciousones.
Themechanismcanalsobeusedtodefendagainstmaliciousapplicationsordevel-opers,byspecifyingpoliciesthatshouldholdbetweenapplications.
Coarse-GrainedPrivilege-EscalationProtection.
Tomitigatetheconfused-deputyproblem,Sorbettracksthepermissionsofallcomponentsonthecallstack.
WhenacomponentAiscalled,andAisprotectedbypermissionP,SorbetchecksifeverycomponentonthecallstackhasP.
However,thisistoorestrictiveforpracticaluse;e.
g.
,anemailapp,whichneedstousetheINTERNETpermissiontosendemail,coulddosoonlywhenstartedbyappli-cationsthathavetheINTERNETpermission.
Toaddressthis,SorbetallowscomponentstorequestaprivilegedpermissionP.
WhenacomponentBhasthepermissionP,itispermittedtocallAevenwhenothercomponentsonitscallstackdonothaveP.
PissimilartotheenableprivilegeoperationinJavastackinspection.
Otherworkshavealsotrackedthecallstackforsimilarpurposes(e.
g.
,[7]);Sorbet'snoveltyhereisinallowingdeveloperstospecifypolicies,andinenablingproofsthatthisandotherdesignfeaturesallowthesystemtoexhibitdesiredproperties.
FlagRecipientRedelegationscopeLifetimeFcompactivitynoredelegationactivityexitFtaskactivityactivitiesinthesametaskactivityexitFappTmpactivityactivitiesinthesameappactivityexitFallTmpactivityanycomponentactivityexitFappappnoredelegationappuninstallFallappunrestrictedappuninstallFig.
2.
Flagsforconstrainingdelegation.
Columnsshowtherecip-ientscope,thescopingconstraintsofredelegation,andthelifetimeofthegrantedpermission.
Aswithinformationow,Sorbetprotectsagainstprivilegeescala-tionatbothcomponentlevelandapplicationlevel.
ToaccountforAndroid'sinabilitytocompletelymediatecom-munication(e.
g.
,viapublicstaticelds)be-tweencomponentswithinanapplication,thepolicyenforcedattheapplicationlevelassumesthatcompo-nentboundarieswithinanapplicationarenotrespected.
PrincipledRedelegationandRevocation.
SorbetalsoaddressesAn-droid'sproblemswithindiscriminateredelegation.
Thechallengehereistodesigna(correct)mechanismtoallowprogrammerstopredictablycontroldelegationlifetimeandredelegationscope.
BuildingonAndroid'snotionoftemporaryandpersistentpermissions,weenablethegrantoperationtopreciselyconveytheintendedscopeoftherecipient(acomponentoranapplication),thescopeofredelegation(none,componentsinthesametask,componentsinthesameappli-cation,andunrestricted),andthelifetimeofthepermission(untiltherecipientactivityexits,orisuninstalled).
Forsimplicity,weconvergeonsixcombinationsoftheseconstraints(summarizedinFig.
2),whichtheprogrammercanspecifyviaagspassedasargumentstogrant.
Theenforcementmechanismenforcesthetransitivepropertiesthattheconstraintsimplicitlyrequire.
ModelingandEnhancingAndroid'sPermissionSystem11SorbetallowsacomponentAtorevokeapermissionPfromcomponentBonlyifAgrantedPtoB(orAownsP).
Inotherwords,theactofdelegatingcreatesanewlinkinadelegationchain,andrevocationremovesthatlink.
4.
2ImplementationofImprovementsinAbstractModelWenowbrieydescribeSorbetasaninstantiationoftheabstractmodel.
Wefocusonmechanismsforenforcinginformationow,andbrieydiscussprivilegeescalation.
Delegationandrevocationarediscussedinourtechnicalreport[13].
Information-FlowProtection.
Toenforceinformation-owpoliciesspeciedbydisallow-ow(P1,P2)andallow-declassify(P1,P2),weaugmentthemodelwithanauxiliarydatastructureN,whichkeepstrackofinformation-owconstraints.
Moreconcretely,NmapsacomponentinstanceiCtothesetofinformation-owconstraintsthatincludesallsuchpoliciesspeciedbycomponentsinthecallchainbeforeandincludingiC.
WedeneforbidP(N,iC)toreturnthesetofpermissionsthatarefor-biddenfrombeingusedbyconstraintsinN(iC).
Forinstance,ifN(iC)={disallow-ow(P1,P2)},thenforbidPreturns{P2}.
FunctionguardP(Σ,iC)re-turnsthesetofpermissionsthatguardsthecallstocomponentiC.
Asuccessfulcallbetweencomponentsinthesamegroupcannowbedenedasfollows.
call-t(Σ;E,n::calliC1iC2I)ok(n)→(updateCall(Σ,calliC1iC2I);E)ifiC2.
ckCaller(Σ,iC1)=trueandiC1.
ckCallee(Σ,iC2)=trueandguardP(Σ,iC2)∩forbidP(N,iC1)=Thelastlineistheaddedcheckforinformation-owpolicies.
Thecallsucceedsonlyifthepermissionrequiredtoaccessthecalleeisnotforbiddenbythepolicy.
Ifthecallsucceeds,informationwillowfromthecallertothecallee,andcon-straintsneedtobesimilarlypropagated.
Inaddition,thecalleehasitsowncon-straintsthatneedtobeincorporatedinN.
Forthis,wedenetwonewfunctions.
updFlow(N,iC,Fl)returnsanewmappingN,whereN(iC)=N(iC)∪Fl.
updDeclassify(N,iC,allow-declassify(P1,P2))returnsanewmappingN,whichremovesdisallow-ow(P1,P2)fromNforiC.
Hence,afteradeclassicationper-missionallow-declassify(P1,P2)isencountered,theconstraintthatforbadeaccesstocomponentsguardedbyP2islifted.
E.
g.
,iftheuserexplicitlyallowsaccesstotheInternetafterprivatedataisread,thenthiswillbeallowed.
WedenefunctionowP(Σ,iC)toreturnthesetofinformation-owcon-straintsthatguardthecallstoiC,andgetDeclassify(iC)toreturnthesetofdeclassicationpermissionsofiC.
ThefunctionupdateCallrstcomputesN=updFlow(N,iC2,owP(Σ,iC1)),thenN=updFlow(N,iC2,N(iC1)),andnallyN=updDeclassify(N,iC2,getDeclassify(iC2)).
Androiddoesnotmediateallcommunicationsbetweencomponentswithinthesameapplication(e.
g.
,viasharedstaticelds).
Sorbetconservativelyas-sumesthatcomponentswithinanapplicationhavecommunicated,andtreatscross-applicationcallsdierently.
WewriteNA(iC)tobetheunionofsetsofinformation-owconstraintsN(iC),foreachiCthatisinthesameap-plicationasiC.
WedeneforbidPA(N,iC)=NA(iC).
Wedenefunction12E.
Fragkakietal.
guardPA(Σ,iC)toreturnthesetofpermissionsthatguardsthecallstoallcomponentsinthesameapplicationascomponentiC.
Intheruleforcross-applicationcalls,NAtakestheplaceofN,andguardPAtakestheplaceofguardP.
Thismeansthatifanycomponentinanapplicationhasaccessedprivatedataprotectedbydisallow-ow(P1,P2),thennocomponentinthatapplicationcanusepermissionP2.
Theupdatefunctionsimilarlyaccumulatesallconstraintsintheentireapplication,ratherthanjustonecomponent.
Returnsaretreatedsimilarlytocalls,withthecallerandcalleedesignationsswitched.
Weomitthedenitionshereforspacereasons.
Privilege-EscalationProtection.
Topreventprivilegeescalation,weuseauxiliarytree-likedatastructurestokeeptrackofthefullcallhistory.
WedeneacallforestTSasalistofcalltreesT,asfollows:CallForestTS::=[T1,Tn]CallTreeT::=(TS,(iC,P))WeuseMTStodenoteamappingfromrun-timecomponentstocallforests.
Eachcalltreerepresentsacallchain,andtherootofthetreeisthelastcom-ponentonthecallchain.
Thechildoftherootisacallforest,whichisalistofcallchains,eachrepresentingapastcallchaintotherootcomponent.
Ifcom-ponentA(whichhaspermissionsPA)callsB(withpermissionsPB),andC(withpermissionsPC)alsocallsB,andBhasonlyonerun-timeinstance,thenMTS(B)A,PA)C,PC))].
Inotherwords,eachcalltreeinthecallforestMTS(B)recordsthefullcontextofthecallstack.
IfBnowcallsD,thecalltreeA,PA)C,PC))],(B,PB))willbestoredinMTS(D).
AcallfromcomponentAtocomponentBisallowedonlywhenforanypermissionPthatguardstheaccesstoB,eitherAhasP;orAhasPandforeverycallchainrecordedinMTS(A),either(1)allthecomponentshavepermissionP;or(2)thereexistsacomponentCthathaspermissionP,andallthecomponentsinthecallstackafterChaveP.
Aswithinformationow,theruleforcross-applicationcallsassumesthatallcomponentswithinanapplicationhavecommunicatedwitheachother.
4.
3PropertiesWeproveSorbetobeysProp.
1–6.
Hereweshowonlythemoreconcretere-statementsofProp.
5and6madepossiblebySorbet'snewpolicystatements(disallow-ow,allow-declassify,andP).
Forbrevity,detailsandproofsketchesarerelegatedtoourcompaniontechnicalreport[13].
Werstdeneanindirectcallchain.
Definition1.
(Indirectcallchain)GivencomponentsAandB,thereexistsanindirectcallchainfromAtoBifthereexist1.
componentsD1,Dk;and2.
callchainsfromAtoD1,fromD1toD2,andfromDktoB.
WesaythatacomponentAcaninuenceanothercomponentBifthereisanindirectcallchainfromAtoB.
Forexample,AcanaectthebehaviorofModelingandEnhancingAndroid'sPermissionSystem13B(i.
e.
,theintentsthatBsends)ifeither(1)AispartofacallchaintoB,or(2)AappearsinacallchaintosomecomponentD,andthischainsharesacomponentwithadierentcallchaintoB.
ThesharedcomponentcarriesA'sinuencetoB.
Property5*.
(Privilegeescalation(2))GivenacomponentBprotectedbypermissionP,andacomponentAthatdoesnothavePandbelongstoadif-ferentapplicationthanB,ifSABisasystemthatcontainsAandB(andothercomponents),andSBisthesamesystemwithoutA,thena(possiblyindirect)callchainthatendsinBexistsinSABifandonlyifitexistsinSB.
Additional(possiblyindirect)callchainsmayexistinSABonlyifeachsuchchainhasacommonsuxwitha(possiblyindirect)callchainfromAtoB,andthereexistsacomponentbetweenAandBthathaspermissionP;orthereisacomponentBbetweenAandB,thepathbetweenBandBcontainscomponentsofthesameapplication,andBisnotprotectedbypermissionPbutcommunicatedtoBviaunmonitoredchannels.
Property6*.
(Informationow(2))SupposeacomponentAisguardedbypermissionP1andaninformation-owpolicydisallow-ow(P1,P2),andacom-ponentBisguardedbyP2,andAandBbelongtodierentapplications.
Then,a(possiblyindirect)callchainthatendswithB,inasystemwithA,existsifandonlyifthesamecallchainexistsinasystemwithoutA.
Additional(possiblyindirect)callchainsmayexistinthesystemwithAonlyifeachsuchchainhasacommonsuxwitha(possiblyindirect)callchainfromAtoB,andthereexistsacomponentbetweenAandBthathaspermissionallow-declassify(P1,P2).
5ImplementingandEvaluatingSorbetWeimplementedSorbetontopofAndroid2.
3.
7.
Thissectiondescribesthemostsalientimplementationdetails,includingthesyntacticadditionsforex-pressingSorbet'spolicies,andacasestudythatillustratesSorbet'sfeatures.
SyntacticAdditions.
WeextendedAndroid'smanifestlesyntaxtosupportinformation-owandintegritypolicies.
ThecomponentprotectedbyP1canspecifydisallow-ow(P1,P2)byaddingandroid:forbiddenPermissions=["P2"]tothepermissionsbywhichthiscomponentisprotected.
allow-declassify(P1,P2)isspeciedas.
Aper-missionislabeledasprivilegedPbytheadditionofa"privileged"attributetoitsdeclaration:.
ImplementationOverview.
Sorbet'skeystoneisareferencemonitorbuiltontopofAndroid'sActivityManager(Fig.
3).
ActivityManageralreadymedi-atesinter-componentcommunication,whichincludespreventingcallsthatareillegalbyAndroid'spolicy;SorbetmodiesitsothatmediationofrelevantcallsishandledbySorbetinsteadofbythelegacypartsofActivityManager.
EnforcingSorbet'spoliciesalsorequiresadditionalbookkeeping,includingofinstancedata(e.
g.
,torecognizethataparticularapplicationhasaccessedare-sourceprotectedbya"forbidden"permission),andricherstaticpolicyspecied14E.
Fragkakietal.
inapplicationmanifests.
Hence,asignicantcomponentofSorbet'simplemen-tationisthedatastructuresthatimplementthisbookkeeping.
Thebookkeepingincludeskeepingtrackofindividuallesaccessedbyapplications;forenforce-mentpurposes,thesearetreatedascomponents.
!
"!
"Fig.
3.
Sorbetarchitecture:additionstoAndroidareshaded;arrowsindicateinter-actionsbetweensystemcomponentsThemostchallengingpartinim-plementingSorbetwastoidentifynotjustwhichapplicationinvokedaprotectedresource(whichAndroidtypicallyalreadydoes)butwhichspe-ciccomponentinstancewasrespon-sibleforthecall;weaccomplishedthisbyenhancingAndroid'sIPCdatastructurestocarrymoreinformationaboutthecaller.
Anotherchallengewastocaptureoperationsnotme-diatedbyActivityManager,suchasopeningasocketorale.
Androidenforcespermission-basedpoliciesonsuchoperationsbyLinux-levelchecksbasedonthe(Linux)groupIDofthecallingapplication;applicationsareassignedgroupIDsatinstallationtimebythepackagemanager.
Tome-diateaccesstotheseoperations,weusedTOMOYOLinux[21],asetofLinuxkernelpatchesthatreplacesscat-tered,ad-hocaccess-controlcheckswithcentralizedones.
2WefurtherextendedTOMOYOLinuxsothataccessattemptsforwhichpolicywasenforcedatLinuxlevel(e.
g.
,toopenasocketorale)triggeracalltoSorbet'sreferencemonitor.
ThisalsoallowsSorbettomediatesecurity-relevantbehaviorsimplementedinnativecodethatmaybeincludedinAndroidapplications.
CaseStudy.
TotestSorbetandillustrateitsusefulness,weusedittoimple-mentseveralpolicies;somethatcanbeimplemented(sometimespartially)bypreviouslyproposedmechanisms(e.
g.
,[2,7]),andsomethatrequireSorbet'sfeatures.
Ourmaincasestudyinvolvesfourapplications:alemanagerforstor-ingandmanipulatingprivateles(e.
g.
,adiaryorlistofaccountnumbers);atexteditor;anencryptionapplication;andanemailapplication.
Thehigh-levelpolicywefocusonistopreventprivatelesfrombeingleakedontheInternet,buttoallowthemtobemanipulatedbyvariousapplicationsattheuser'sbe-hest(e.
g.
,byusingtheprivatelemanagertolaunchaneditor).
Privatelesarekeptinacontentproviderimplementedbythelemanager,andprotectedbyseparatepermissionsthatallowreadandwriteaccess.
Applicationscanaccessprivatelesonlywhendynamicallydelegatedtheappropriatepermissionsbythelemanager.
Wenextdescribeseveralspecicscenarios(summarizedinFig.
4)thatexaminevariantsofthispolicyandshowhowtheycouldbeimplemented.
2TOMOYOLinuxhassimilarlybeenusedbyotherresearchers[2].
ModelingandEnhancingAndroid'sPermissionSystem15ScenarioPrivateFileManagerEditorEncryptionAppEmailAppPEIF1PrivatelescannotbesentoverthenetworkaprotectedbyR/WpermsbprotectedbyR/WpermsuseInternetuseInternetuseInternet–cprotectedbyR/WpermsforbidInternetuseInternetuseInternetuseInternet–2PrivatelessentovernetworkonlyviaemailaprotectedbyR/WpermsuseInternetuseInternetuseInternet–bprotectedbyR/WpermsforbidInternetuseInternetuseInternetuseInternetdeclassifyR/W→Internet–3PrivatelessentovernetworkonlyviaemailandifencryptedprotectedbyR/WpermsforbidInternetuseInternetuseInternetdeclassifyR/W→InternetuseInternetFig.
4.
Threescenariosfromourcasestudy.
Columnsindicatethepermissionsassignedtoeachapplication,andwhetherenforcementisviaprotectionfromprivilegeescalation(PE),orinformationowprevention(IF).
Scenario1.
Westartfromabasecaseinwhichprivatelesmustnotbesentoverthenetwork(Fig.
4,Scenario1).
InAndroid,theonlywaytopreventoneoftheseapplicationsfromleakinglestothenetworkistoavoidgrantinganyoftheapplicationstheInternetpermission(Scenario1a).
InSorbet,thispolicycanbeenforcedbyeitherthemechanismthatpreventsprivilegeescalationortheonethatpreventsundesiredinformationows.
Intherstcase,allotherapplicationscanbegrantedtheInternetpermission,butwillnolongerbeabletouseitifthelemanager,whichdoesnothavethispermission,isonthecallstack(Scenario1b).
Inthesecondcase,thelemanagerdeclarestheInternetpermissionasforbidden,withthesameeect(Scenario1c).
Scenario2.
Wenowextendthedesiredpolicytoallowonlytheemailclienttosendaprivatele(anactivitythattheuserexplicitlyinitiates),whileotherap-plicationscanusetheInternetforotherpurposes.
ThiscannotbeimplementedinstockAndroid,butcanstillbedonewitheitherofSorbet'sprotectionmech-anisms.
Forenforcementviatheprivilege-escalationmechanism,theemailappmustdeclareandbegrantedtheprivilegedversionoftheInternetpermission.
ToenforcethesamepolicyviaSorbet'sinformation-owmechanism,thelemanagerwoulddeclaretheInternetpermissionasforbidden(asinScenario1),andtheemailwoulddeclarethepermissiontodeclassifyfromR/WtoInternet.
Scenario3.
Finally,weextendthepolicyfromScenario2toallowemailingpri-vatelesonlyiftheyareencrypted.
Enforcingthiswithoutlimitingreasonableusesoftheemailapprequiresboththeinformation-owandprivilege-escalationmechanisms.
AsinScenario2a,theemailappisgiventheprivilegedInternetpermission,sothatitcansendemailevenifindirectlyinvokedbytheleman-ager,whichdoesnothavetheInternetpermission.
Inaddition,thelemanagerdeclarestheInternetpermissionforbidden,andtheencryptionappisallowedtodeclassify.
Now,theonlypathtoemailingprivatelesisviatheencryptionapp,whichistrustedtoinvoketheemailapponlywithencrypteddata.
16E.
Fragkakietal.
ThelastscenarioshowsthatSorbetallowseasyspecicationofusefulpoli-ciessignicantlybeyondwhatAndroidoers.
Ourcasestudyusedminimallymodiedo-the-shelfapplications:OpenManagerv2.
1.
8,QuteTextEditorv0.
1,AndroidPrivacyGuardv1.
0.
9,Emailv2.
3.
4.
Wemodiedmanifestles,addedsendingfunctionalitytosome,andaddedacontentprovidertoOpenManager.
Sorbet'soverheadwassucientlysmalltobeunobservablebytheuser.
36RelatedWorkResearchershaveanalyzedthesecurityofAndroid'spermissionsystem[5,10],developedanalysistoolsforAndroidapplications[11],andproposednewpro-tectionmechanisms(e.
g.
,[20,22]).
ManyworksstudiedAndroid'sattacksurface(e.
g.
,[19]),includingcovertchannels[24],DoS[1]andwebattacks[17],andunauthorizedapplicationrepackaging[27].
SeveralworkshavepointedoutawsinAndroid'spermissionsystem.
Oneweaknessisthelackofglobalproperties:Android'spermissionsystemdoesnotpreventprivilegeescalationorinformationleakage.
Davietal.
[6]andFeltetal.
[12]havestudiedprivilege-escalationattacksindetail.
Bugieletal.
devel-opedasystemthatmonitorsinteractionsbetweenapplicationsatruntimeandmitigatesawiderangeofprivilege-escalationattacks[2].
Ourmechanismhasmanysimilarities,butwefocusonallowingdeveloperstospecifypoliciesonaper-applicationbasis,andemphasizeformalanalysisofmechanisms.
Dietzetal.
proposedaframework,Quire,forprovenancetrackingtomitigatetheconfuseddeputyproblem[7].
Ourgoalsoverlap,butSorbetdiersinseveralways:Wedonottrackfullprovenanceinformation,butinsteadfocusonexible,application-levelpolicyspecicationbasedonpermissions;werelyontheAndroidruntimeforbookkeeping,ratherthanusingdigitalsignatures.
Wealsosupportdeclas-sication,andformallyinvestigateSorbet'sproperties.
Anotherapproachtomitigatingapplicationcollusionisthroughdomainisolation.
Bugieletal.
as-signedtrustlevelstoapplications,allowingthemtocommunicateonlyiftheyareatthesamelevel[3].
Theyfocusondeningpolicyforasetofapplicationsatthesametrustlevel,whereasweletapplicationsdenepolicyindividually.
SeveralworkshaveinvestigatedprivacyleaksinAndroid[8,24,4,9].
Wepro-videaformalframeworkthatallowssuchawstobeseenasviolationsofdesiredsecurityproperties.
ProjectssuchasTaintDroid[8]andAppFence[14]aimtoautomaticallydetectandpreventdangerousinformationleaks.
Ourworkisinseveralwayscomplementary.
TaintDroidandAppFenceoperateatamuchnergranularity,trackingtaintingatthelevelofvariables,andenforcexedpolicies.
Incontrast,ourenforcementisatthecomponentlevel,andallowsdeveloperstospecifypolicies,including,e.
g.
,declassication,whichiskeytoenablingap-plicationsthathavelegitimatereasontosendtainteddatatooperate.
Wealsoformallyprovethatourdesignenforcesdesiredhigh-levelsecurityproperties.
3Weranmicrobenchmarks,but,ascommoninthissetting,thesmallchanges—andsometimesimprovements—inlatencyweredwarfedbythevariancesbetweenruns.
ModelingandEnhancingAndroid'sPermissionSystem17SystemssuchasSaint[22]andApex[20]alsoimproveAndroid'spermissionsystem,e.
g.
,byprotectingcallerswithguardsthatconsidercontextbeyondjustpermissions,whilestayinggenerallyclosetotheoriginaldesign.
Wefocusondeeperrevisionstothepermissionmodelandenforcingtransitiveproperties.
FormalanalysisofAndroid-relatedsecurityissueshasreceivedlessattention.
Shinetal.
[25]developedaformalmodelinordertoverifyfunctionalcorrectnesspropertiesofAndroid,whichrevealedaawinthenamingschemeforpermis-sionsandapossibleattack[26].
Incontrast,ourworkdevelopsamoreabstractmodelsuitableforreasoningaboutextensionstoAndroid'spermissionsystem.
7ConclusionThispaperdevelopsaframeworkforformallyanalyzingAndroid-stylepermis-sionsystems,andshowshowtoenhanceAndroid'spermissionsystemtosupportrichpolicieswhilemaintainingconvenient,application-centricpolicyspecica-tion.
Wehaveprovedthedesignofourenforcementsystemsatisesasetofsecu-rityproperties,showeditsfeasibilitybyimplementingandrunningitonaNexusSphone,anddemonstrateditsusefulnessthroughacasestudy.
Indoingso,wediscoverthatAndroid'sinabilitytoprovidestrongisolationbetweencomponentsconstrainstheexpressivenessofoursystemandcomplicatesitsimplementation.
Oursystemsuccessfullyprovidesbothapplication-andcomponent-levelprotec-tions,butitwouldneedtoresorttoapplication-levelprotectionlessoftenifAndroid'scomponent-levelabstractionsweremorerobust.
Acknowledgments.
ThisresearchwassupportedbyNSFgrants0917047and1018211;byCyLabatCarnegieMellonundergrantsDAAD19-02-1-0389andW911NF-09-1-0273fromtheArmyResearchOce;andbyagiftfromKDDIR&DLaboratoriesInc.
References1.
Armando,A.
,Merlo,A.
,Verderame,M.
M.
:WouldyoumindforkingthisprocessAdenialofserviceattackonAndroid(andsomecountermeasures).
In:Proc.
IFIPSEC(2012)2.
Bugiel,S.
,Davi,L.
,Dmitrienko,A.
,Fischer,T.
,Sadeghi,A.
R.
,Shastry,B.
:To-wardstamingprivilege-escalationattacksonAndroid.
In:Proc.
NDSS(2012)3.
Bugiel,S.
,Davi,L.
,Dmitrienko,A.
,Heuser,S.
,Sadeghi,A.
R.
,Shastry,B.
:Prac-ticalandlightweightdomainisolationonAndroid.
In:Proc.
SPSM(2011)4.
Chaudhuri,A.
:Language-basedsecurityonAndroid.
In:PLASWorkshop(2009)5.
Chin,E.
,Felt,A.
P.
,Greenwood,K.
,Wagner,D.
:Analyzinginter-applicationcom-municationinAndroid.
In:Proc.
MobiSys(2011)6.
Davi,L.
,Dmitrienko,A.
,Sadeghi,A.
R.
,Winandy,M.
:PrivilegeEscalationAttacksonAndroid.
In:Burmester,M.
,Tsudik,G.
,Magliveras,S.
,Ilic,I.
(eds.
)ISC2010.
LNCS,vol.
6531,pp.
346–360.
Springer,Heidelberg(2011)7.
Dietz,M.
,Shekhar,S.
,Pisetsky,Y.
,Shu,A.
,Wallach,D.
S.
:Quire:Lightweightprovenanceforsmartphoneoperatingsystems.
In:Proc.
USENIXSecurity(2011)18E.
Fragkakietal.
8.
Enck,W.
,Gilbert,P.
,GonChun,B.
,Cox,L.
P.
,Jung,J.
,McDaniel,P.
,Sheth,A.
N.
:TaintDroid:Aninformation-owtrackingsystemforrealtimeprivacymonitoringonsmartphones.
In:Proc.
USENIXOSDI(2010)9.
Enck,W.
,Octeau,D.
,McDaniel,P.
,Chaudhuri,S.
:AstudyofAndroidapplicationsecurity.
In:Proc.
USENIXSecurity(2011)10.
Enck,W.
,Ongtang,M.
,McDaniel,P.
D.
:Onlightweightmobilephoneapplicationcertication.
In:Proc.
CCS(2009)11.
Felt,A.
P.
,Chin,E.
,Hanna,S.
,Song,D.
,Wagner,D.
:Androidpermissionsdemys-tied.
In:Proc.
CCS(2011)12.
Felt,A.
P.
,Wang,H.
,Moshchuk,A.
,Hanna,S.
,Chin,E.
:Permissionre-delegation:Attacksanddefenses.
In:Proc.
USENIXSecurity(2011)13.
Fragkaki,E.
,Bauer,L.
,Jia,L.
:ModelingandenhancingAndroid'spermissionsys-tem.
Tech.
Rep.
CMU-CyLab-11-020,CyLab,CarnegieMellonUniversity(2011)14.
Hornyack,P.
,Han,S.
,Jung,J.
,Schechter,S.
,Wetherall,D.
:Thesearen'tthedroidsyou'relookingfor:RetrottingAndroidtoprotectdatafromimperiousapplications.
In:Proc.
CCS(2011)15.
Lineberry,A.
,Richardson,D.
L.
,Wyatt,T.
:Thesearen'tthepermissionsyou'relookingfor(2010),www.
defcon.
org/images/defcon-18/dc-18-presentations/Lineberry/DEFCON-18-Lineberry-Not-The-Permissions-You-Are-Looking-For.
pdf(accessedApril10,2012)16.
Loftus,J.
:DefCondingsrevealGoogleproductsecurityrisks(2011),gizmodo.
com/5828478(accessedApril10,2012)17.
Luo,T.
,Hao,H.
,Du,W.
,Wang,Y.
,Yin,H.
:AttacksonWebViewintheAndroidsystem.
In:Proc.
ACSAC(2011)18.
Marforio,C.
,Francillon,A.
,ˇCapkun,S.
:Applicationcollusionattackonthepermission-basedsecuritymodelanditsimplicationsformodernsmartphonesys-tems.
Tech.
Rep.
724,ETHZurich(2011)19.
Mylonas,A.
,Dritsas,S.
,Tsoumas,B.
,Gritzalis,D.
:Smartphonesecurityevalua-tion–Themalwareattackcase.
In:Proc.
SECRYPT(2011)20.
Nauman,M.
,Khan,S.
,Zhang,X.
:Apex:extendingAndroidpermissionmodelandenforcementwithuser-denedruntimeconstraints.
In:Proc.
ASIACCS(2010)21.
NTTDataCorporation:TOMOYOLinux(2012),tomoyo.
sourceforge.
jp/(accessedApril10,2012)22.
Ongtang,M.
,McLaughlin,S.
E.
,Enck,W.
,McDaniel,P.
D.
:Semanticallyrichapplication-centricsecurityinAndroid.
In:Proc.
ACSAC(2009)23.
Passeri,P.
:OneyearofAndroidmalware(fulllist)(2011),hackmageddon.
com/2011/08/11/one-year-of-android-malware-full-list/(accessedJune20,2012)24.
Schlegel,R.
,Zhang,K.
,Zhou,X.
,Intwala,M.
,Kapadia,A.
,Wang,X.
:Sound-comber:Astealthyandcontext-awaresoundTrojanforsmartphones.
In:Proc.
NDSS(2011)25.
Shin,W.
,Kiyomoto,S.
,Fukushima,K.
,Tanaka,T.
:AformalmodeltoanalyzethepermissionauthorizationandenforcementintheAndroidframework.
In:Proc.
SocialCom/PASSAT(2010)26.
Shin,W.
,Kwak,S.
,Kiyomoto,S.
,Fukushima,K.
,Tanaka,T.
:Asmallbutnon-negligibleawintheAndroidpermissionscheme.
In:Proc.
POLICY(2010)27.
Zhou,W.
,Zhou,Y.
,Jiang,X.
,Ning,P.
:Detectingrepackagedsmartphoneappli-cationsinthird-partyAndroidmarketplaces.
In:Proc.
CODASPY2012(2012)

lcloud零云:沪港IPLC,70元/月/200Mbps端口/共享IPv4/KVM;成都/德阳/雅安独立服务器低至400元/月起

lcloud怎么样?lcloud零云,UOVZ新开的子站,现在沪港iplc KVM VPS有端午节优惠,年付双倍流量,200Mbps带宽,性价比高。100Mbps带宽,500GB月流量,10个,512MB内存,优惠后月付70元,年付700元。另有国内独立服务器租用,泉州、佛山、成都、德阳、雅安独立服务器低至400元/月起!点击进入:lcloud官方网站地址lcloud零云优惠码:优惠码:bMVbR...

OneTechCloud(31元),美国CN2 GIA高防VPS月

OneTechCloud发布了本月促销信息,全场VPS主机月付9折,季付8折,优惠后香港VPS月付25.2元起,美国CN2 GIA线路高防VPS月付31.5元起。这是一家2019年成立的国人主机商,提供VPS主机和独立服务器租用,产品数据中心包括美国洛杉矶和中国香港,Cera的机器,VPS基于KVM架构,采用SSD硬盘,其中美国洛杉矶回程CN2 GIA,可选高防。下面列出部分套餐配置信息。美国CN...

江苏云服务器 2H2G 20M 79元/月 大宽带159元/月 高性能挂机宝6元/月 香港CN2 GIA、美国200G防御 CN2 GIA 折后18元/月 御速云

介绍:御速云成立于2021年的国人商家,深圳市御速信息技术有限公司旗下品牌,为您提供安全可靠的弹性计算服务,随着业务需求的变化,您可以实时扩展或缩减计算资源,使用弹性云计算可以极大降低您的软硬件采购成本,简化IT运维工作。主要从事VPS、虚拟主机、CDN等云计算产品业务,适合建站、新手上车的值得选择,拥有华东江苏、华东山东等国内优质云产品;香港三网直连(电信CN2GIA联通移动CN2直连);美国高...

sourceforge.jp为你推荐
h连锁酒店什么连锁酒店好蓝色骨头手机宠物的骨头分别代表几级?www.7788dy.comwww.tom365.com这个免费的电影网站有毒吗?partnersonline我家Internet Explorer为什么开不起来www.ijinshan.com桌面上多了一个IE图标,打开后就链接到009dh.com这个网站,这个图标怎么删掉啊?www.ijinshan.com好电脑要用什么样的软件hao.rising.cn如何解除瑞星主页锁定(hao.rising.cn). 不想用瑞星安全助手hao.rising.cnIE主页被瑞星绑架http://hao.rising.cn//?b=84主页明明设置的是百度但打开后是瑞星导航,本冈一郎本冈一郎的官网说是日本相扑用的,我们平常的人增肥可以吗?222cc.com怎样开通网站啊
政务和公益机构域名注册管理中心 山东vps 域名解析服务器 高防dns 美国翻墙 512m e蜗 流量计费 南通服务器 lamp怎么读 攻击服务器 七牛云存储 tracker服务器 windowsserver2008r2 时间服务器 wannacry勒索病毒 asp.net虚拟主机 blaze ddos攻击器 ddos攻击教程 更多