Automated-Security-Certification-of-Android-Applic

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SCanDroid:AutomatedSecurityCertificationofAndroidApplicationsAdamP.Fuchs,AvikChaudhuri,andJeffreyS.FosterUniversityofMaryland,CollegeParkfafuchs,avik,jfosterg@cs.umd.eduAbstractAndroidisapopularmobile-deviceplatformdevelopedbyGoogle.Android’sapplicationmodelisdesignedtoencourageapplicationstosharetheircodeanddatawithotherapplications.Whilesuchsharingcanbetightlycon-trolledwithpermissions,ingeneraluserscannotdeterminewhatapplicationswilldowiththeirdata,andtherebycan-notdecidewhatpermissionssuchapplicationsshouldrunwith.InthispaperwepresentSCANDROID,atoolforrea-soningautomaticallyaboutthesecurityofAndroidappli-cations.SCANDROID’sanalysisismodulartoallowin-crementalcheckingofapplicationsastheyareinstalledonanAndroiddevice.Itextractssecurityspecificationsfrommanifeststhataccompanysuchapplications,andcheckswhetherdataflowsthroughthoseapplicationsareconsis-tentwiththosespecifications.Toourknowledge,SCAN-DROIDisthefirstprogramanalysistoolforAndroid,andweexpectittobeusefulforautomatedsecuritycertificationofAndroidapplications.1IntroductionAndroid[3]isGoogle’sopen-sourceplatformformobiledevices,whichisrecentlyenjoyingwideadoptionbythein-dustry.Designedtobeacompletesoftwarestack,Androidincludesanoperatingsystem,middleware,andcoreappli-cations.Furthermore,itcomeswithanSDKthatprovidesthetoolsandAPIsnecessarytodevelopnewapplicationsfortheplatforminJava[3].DevelopersofnewapplicationshavefullaccesstothesameframeworkAPIsusedbythecoreapplications.Android’sapplicationmodelhasseveralinterestingfea-tures.First,applicationsmustfollowaspecificstructure,i.e.,theymustbecomposedofsomebasickindsofcom-ponentsunderstoodbyAndroid.Thisdesignencouragessharingofcodeanddataacrossapplications.Next,inter-actionsbetweencomponentscanbetightlycontrolled.Bydefault,componentswithinanapplicationaresandboxedbyAndroid,andotherapplicationsmayaccesssuchcom-ponentsonlyiftheyhavetherequiredpermissionstodoso.Thisdesignpromisessomemeasureofprotectionfromma-liciousapplications.However,enforcingpermissionsisnotsufficienttopre-ventsecurityviolations,sincepermissionsmaybemisused,intentionallyorunintentionally,tointroduceinsecuredataflows.Indeed,supposethatAlicedownloadsandinstallsanewapplication,developedbyBob,onherAndroid-basedphone.Saythisapplication,wikinotes,interactswithacoreapplication,notes,topublishsomenotesfromthephonetoawiki,andtosynceditsbackfromthewikitothephone.Ofcourse,Alicewouldnotlikeallhernotestobepublished,andwouldnotlikeallherpublishednotestobeedited;forinstance,hernotesmayincludedetailsofherongoingre-search.Howcansheknowwhetheritissafetoruntheapplication?Canshetrusttheapplicationtosafelyaccessherdata?Conversely,BobmaywanttobeabletoconvinceAlicethathisapplicationcanberunsafelyonherphone.Inthispaper,wepresentSCANDROID,1atoolforautomatedsecuritycertificationofAndroidapplications.SCANDROIDstaticallyanalyzesdataflowsthroughAn-droidapplications,andcanmakesecurity-relevantdeci-sionsautomatically,basedonsuchflows.Inparticular,itcandecidewhetheritissafeforanapplicationtorunwithcertainpermissions,basedonthepermissionsenforcedbyotherapplications.Alternatively,itcanprovideenoughcon-texttotheusertomakeinformedsecurity-relevantdeci-sions.SCANDROIDcanalsobeusefulinvariousproof-carryingcode(PCC)[11]settings.Forexample,applica-tionscanbereviewedofflinewithSCANDROIDbyanappli-cationstore[2],andAndroiddevicescancheckcertificatesofsecurityissuedbytheapplicationstoreatinstalltime.Alternatively,thedevelopercanconstructasafetyprooffortheapplicationbyusingouranalysis,andthedevicecanverifythatproofbeforeinstallingtheapplication.AttheheartofSCANDROIDisamodulardataflowanal-ysisforAndroidapplications,designedtoallowincremen-talcheckingofapplicationsastheyareinstalledonanAn-droiddevice.Ouranalysistracksdataflowsthroughandacrosscomponents,whilerelyingonanunderlyingabstractsemanticsforAndroidapplications.Thedataflowscanbefairlycomplicated,duetosophisticatedprotocolsrunbyAndroidtoroutecontrolbetweencomponents.OurabstractsemanticsforAndroidapplicationsexposesthesecontrolroutestoouranalysis.1Thenameisintendedtoabbreviate“SecurityCertifierforanDroid”,althoughvariouspunsmightbeintendedaswell.1Weformalizethebasicelementsofourdataflowanaly-sisasaconstraintsystem,basedonanexistingcorecalcu-lustodescribeandreasonaboutAndroidapplications[7].Weshowhowend-to-endsecuritycanbeenforcedwithourdataflowanalysis.Inourformalism,wefocusonlyonconstructsthatareuniquetoAndroid,whileignoringtheotherusualJavaconstructsthatmayappearinAndroidap-plications.ThissimplificationallowsustostudyAndroid-specificfeaturesinisolation.Oursystemreliesontheac-cesscontrolmechanismsalreadyprovidedbyAndroid,andenforces“bestpractices”fordevelopingsecureapplicationswiththesemechanisms.Theresultingguaranteesincludestandarddata-flowsecuritypropertiesforwell-constrainedapplicationsdescribedinthecalculus.Next,weextendandimplementthiscoreanalysistorea-sonaboutactualAndroidapplications.Forthispurpose,wemustconsidertheusualJavaconstructsincombinationwithAndroid-specificconstructs.Thisposessomesignifi-cantchallenges:forinstance,weneedastringanalysis

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功