外文译文android security.docx

上传人:b****2 文档编号:17969003 上传时间:2023-08-05 格式:DOCX 页数:17 大小:121.09KB
下载 相关 举报
外文译文android security.docx_第1页
第1页 / 共17页
外文译文android security.docx_第2页
第2页 / 共17页
外文译文android security.docx_第3页
第3页 / 共17页
外文译文android security.docx_第4页
第4页 / 共17页
外文译文android security.docx_第5页
第5页 / 共17页
外文译文android security.docx_第6页
第6页 / 共17页
外文译文android security.docx_第7页
第7页 / 共17页
外文译文android security.docx_第8页
第8页 / 共17页
外文译文android security.docx_第9页
第9页 / 共17页
外文译文android security.docx_第10页
第10页 / 共17页
外文译文android security.docx_第11页
第11页 / 共17页
外文译文android security.docx_第12页
第12页 / 共17页
外文译文android security.docx_第13页
第13页 / 共17页
外文译文android security.docx_第14页
第14页 / 共17页
外文译文android security.docx_第15页
第15页 / 共17页
外文译文android security.docx_第16页
第16页 / 共17页
外文译文android security.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

外文译文android security.docx

《外文译文android security.docx》由会员分享,可在线阅读,更多相关《外文译文android security.docx(17页珍藏版)》请在冰点文库上搜索。

外文译文android security.docx

外文译文androidsecurity

UnderstandingAndroidSecurity

--WILLIAMENCKMACHIGARONGRANG,McDANIELPennsylvaniaStateUniversity

Thenextgenerationofopenoperatingsystemswon’tbeondesktopsormainframesbutonthesmallmobiledeviceswecarryeveryday.Theopennessofthesenewenvironmentswillleadtonewapplicationsandmarketsandwillenablegreaterintegrationwithexistingonlineservices.However,astheimportanceofthedataandservicesourcellphonessupportincreases,sotoodotheopportunitiesforvulnerability.It’sessentialthatthisnextgenerationofplatformsprovidesacomprehensiveandusablesecurityinfrastructure.

DevelopedbytheOpenHandsetAlliance(visiblyledbyGoogle),Androidisawidelyanticipatedopensourceoperatingsystemformobiledevicesthatprovidesabaseoperatingsystem,anapplicationmiddlewarelayer,aJavasoftwaredevelopmentkit(SDK),andacollectionofsystemapplications.AlthoughtheAndroidSDKhasbeenavailablesincelate2007,thefirstpubliclyavailableAndroidready“G1”phonedebutedinlateOctober2008.Sincethen,Android’sgrowthhasbeenphenomenal:

T-Mobile’sG1manufacturerHTCestimatesshipmentvolumesofmorethan1millionphonesbytheendof2008,andindustryinsidersexpectpublicadoptiontoincreasesteeplyin2009.Manyothercellphoneprovidershaveeitherpromisedorplantosupportitinthenearfuture.

AlargecommunityofdevelopershasorganizedaroundAndroid,andmanynewproductsandapplicationsarenowavailableforit.OneofAndroid’schiefsellingpointsisthatitletsdevelopersseamlesslyextendonlineservicestophones.Themostvisibleexampleofthisfeatureis,unsurprisingly,thetightintegrationofGoogle’sGmail,Calendar,andContactsWebapplicationswithsystemutilities.Androiduserssimplysupplyausernameandpassword,andtheirphonesautomaticallysynchronizewithGoogleservices.Othervendorsarerapidlyadaptingtheirexistinginstantmessaging,socialnetworks,andgamingservicestoAndroid,andmanyenterprisesare

lookingforwaystointegratetheirowninternaloperations(suchasinventorymanagement,purchasing,receiving,andsoforth)intoitaswell.

Traditionaldesktopandserveroperatingsystemshavestruggledtosecurelyintegratesuchpersonalandbusinessapplicationsandservicesonasingleplatform.AlthoughdoingsoonamobileplatformsuchasAndroidremainsnontrivial,manyresearchershopeitprovidesacleanslatedevoidofthecomplicationsthatlegacysoftwarecancause.

Androiddoesn’tofficiallysupportapplicationsdevelopedforotherplatforms:

applicationsexecuteontopofaJavamiddlewarelayerrunningonanembeddedLinuxkernel,sodeveloperswishingtoporttheirapplicationtoAndroidmustuseitscustomuserinterfaceenvironment.

Additionally,AndroidrestrictsapplicationinteractiontoitsspecialAPIsbyrunningeachapplicationasitsownuseridentity.Althoughthiscontrolledinteractionhasseveralbeneficialsecurityfeatures,ourexperiencesdevelopingAndroidapplicationshaverevealedthatdesigningsecureapplicationsisn’talwaysstraightforward.Androidusesasimplepermissionlabelassignmentmodeltorestrictaccesstoresourcesandotherapplications,butforreasonsofnecessityandconvenience,itsdesignershaveaddedseveralpotentiallyconfusingrefinementsasthesystemhasevolved.

ThisarticleattemptstounmaskthecomplexityofAndroidsecurityandnotesomepossibledevelopmentpitfallsthatoccurwhendefininganapplication’ssecurity.Weconcludebyattemptingtodrawsomelessonsandidentifyopportunitiesforfutureenhancementsthatshouldaidinclarityandcorrectness.

AndroidApplications

TheAndroidapplicationframeworkforcesastructureondevelopers.Itdoesn’thaveamain()functionorsingleentrypointforexecution—instead,developersmustdesignapplicationsintermsofcomponents.

ExampleApplication

WedevelopedapairofapplicationstohelpdescribehowAndroidapplicationsoperate.InterestedreaderscandownloadthesourcecodefromourWebsite(http:

//siis.cse.psu.

edu/android_sec_tutorial.html).

Let’sconsideralocation-sensitivesocialnetworkingapplicationformobilephonesinwhichuserscandiscovertheirfriends’locations.Wesplitthefunctionalityintotwoapplications:

onefortrackingfriendsandoneforviewingthem.AsFigure1shows,theFriendTrackerapplicationconsistsofcomponentsspecifictotrackingfriendlocations(forexample,viaaWebservice),storinggeographiccoordinates,andsharingthosecoordinateswithotherapplications.TheuserthenusestheFriendViewerapplicationtoretrievethestoredgeographiccoordinatesandviewfriendsonamap.

Bothapplicationscontainmultiplecomponentsforperformingtheirrespectivetasks;thecomponentsthemselvesareclassifiedbytheircomponenttypes.AnAndroiddeveloperchoosesfrompredefinedcomponenttypesdependingonthecomponent’spurpose(suchasinterfacingwithauserorstoringdata).

ComponentTypes

Androiddefinesfourcomponenttypes:

•Activitycomponentsdefineanapplication’suserinterface.Typically,anapplicationdeveloperdefinesoneactivityper“screen.”Activitiesstarteachother,possiblypassingandreturningvalues.Onlyoneactivityonthesystemhaskeyboardandprocessingfocusatatime;allothersaresuspended.

•Servicecomponentsperformbackgroundprocessing.Whenanactivityneedstoperformsomeoperationthatmustcontinueaftertheuserinterfacedisappears(suchasdownloadafileorplaymusic),itcommonlystartsaservicespecificallydesignedforthataction.

Thedevelopercanalsouseservicesasapplication-specificdaemons,possiblystartingonboot.ServicesoftendefineaninterfaceforRemoteProcedureCall(RPC)thatothersystemcomponentscanusetosendcommandsandretrievedata,aswellasregistercallbacks.

•Contentprovidercomponentsstoreandsharedatausingarelationaldatabaseinterface.Eachcontentproviderhasanassociated“authority”describingthecontentitcontains.OthercomponentsusetheauthoritynameasahandletoperformSQLqueries(suchasSELECT,INSERT,orDELETE)toreadandwritecontent.Althoughcontentproviderstypicallystorevaluesindatabaserecords,dataretrievalisimplementationspecific—forexample,filesarealsosharedthroughcontentproviderinterfaces.

•Broadcastreceivercomponentsactasmailboxesformessagesfromotherapplications.Commonly,applicationcodebroadcastsmessagestoanimplicitdestination.Broadcastreceiversthussubscribetosuchdestinationstoreceivethemessagessenttoit.Applicationcodecanalsoaddressabroadcastreceiverexplicitlybyincludingthenamespaceassignedtoitscontainingapplication.

Figure1showstheFriendTrackerandFriendViewerapplicationscontainingthedifferentcomponenttypes.Thedeveloperspecifiescomponentsusingamanifestfile.Therearenorestrictionsonthenumberofcomponentsanapplicationdefinesforeachtype,butasaconvention,onecomponenthasthesamenameastheapplication.Frequently,thisisanactivity,asintheFriendViewerapplication.Thisactivityusuallyindicatestheprimaryactivitythatthesystemapplicationlauncherusestostarttheuserinterface;however,thespecificactivitychosenonlaunchismarkedbymetainformationinthemanifest.

IntheFriendTrackerapplication,forexample,theFriendTrackerControlactivityismarkedasthe

mainuserinterfaceentrypoint.Inthiscase,wereservedthename“FriendTracker”fortheservicecomponentperformingthecoreapplicationlogic.

TheFriendTrackerapplicationcontainseachofthefourcomponenttypes.TheFriendTrackerservicepollsanexternalservicetodiscoverfriends’locations.Inourexamplecode,wegeneratelocationsrandomly,butextendingthecomponenttointerfacewithaWebserviceisstraightforward.TheFriendProvidercontentprovidermaintainsthemostrecentgeographiccoordinatesforfriends,theFriendTrackerControlactivitydefinesauserinterfaceforstartingandstoppingthetrackingfunctionality,andtheBootReceiverbroadcastreceiverobtainsanotificationfromthesystemonceitboots(theapplicationusesthistoautomaticallystarttheFriendTrackerservice).

TheFriendViewerapplicationisprimarilyconcernedwithshowinginformationaboutfriends’locations.TheFriendVieweractivitylistsallfriendsandtheirgeographiccoordinates,andtheFriendMapactivitydisplaysthemonamap.TheFriendReceiverbroadcastreceiverwaitsformessagesthatindicatethephysicalphoneisnearaparticularfriendanddisplaysamessagetotheuseruponsuchanevent.AlthoughwecouldhaveplacedthesecomponentswithintheFriendTrackerapplication,wecreatedaseparateapplicationtodemonstratecross-applicationcommunication.Additionally,byseparatingthetrackinganduserinterfacelogic,wecancreatealternativeuserinterfaceswithdifferentdisplaysandfeatures—thatis,manyapplicationscanreusethelogicperformedinFriendTracker.

ComponentInteraction

Theprimarymechanismforcomponentinteractionisanintent,whichissimplyamessageobjectcontainingadestinationcomponentaddressanddata.TheAndroidAPIdefinesmethodsthatacceptintentsandusesthatinformationtostartactivities(startActivity(Intent)),startservices(startService(Intent)),and(sendBroadcast(Intent)).TheinvocationofthesemethodstellstheAndroidframeworktobeginexecutingcodeinthetargetapplication.Thisprocessofintercomponentcommunicationisknownasanaction.Simplyput,anintentobjectdefinesthe“intent”toperforman“action.”

OneofAndroid’smostpowerfulfeaturesistheflexibilityallowedbyitsintent-addressingmechanism.Althoughdevelopersca

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2