Effective Real-time Android Application Auditing有效的Android應(yīng)用程序?qū)崟r審計_第1頁
Effective Real-time Android Application Auditing有效的Android應(yīng)用程序?qū)崟r審計_第2頁
Effective Real-time Android Application Auditing有效的Android應(yīng)用程序?qū)崟r審計_第3頁
Effective Real-time Android Application Auditing有效的Android應(yīng)用程序?qū)崟r審計_第4頁
Effective Real-time Android Application Auditing有效的Android應(yīng)用程序?qū)崟r審計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

EffectiveReal-timeAndroidApplicationAuditingPresentedbyLihuaRenPersonaldatainmobiledevices1ProblemDefinition2AbusesofpersonaldataDataleaksTamperuserprivacyAbandonappsHarmingappdevelopersHarmingappmarketintentionallye.g.forimproperadvertisingrevenueunintentionallye.g.exposingtheredatainplain-textoverpublicnetworksExistingwork3Analyzeandidentifydata-leakingappsbasedonstaticprogramanalysis:AppIntentPiosFlowdroidMerits

:comprehensivelyexamineprogramdataflowscomprehensivelyrevealdata-leakingcodepathsLimitation

:inefficient(time-andmemory-consuming)producesfalsealarmsOutlineProblemdefinitionPriorwork

AppAudit(newidea)DesignoverviewEfficientStaticAPIAnalysisApproximatedExecutionEvaluationDiscussion4ApproachofthisstudyApproach:AppAudit:aprogramanalysisframeworkthatcananalyzeappsefficientlyandeffectively.5Inreal-timeReportactualdataleaks/2014/01/setting-goals-to-pass-the-cse-in-2014/AppAudit:Usecases6integratedintoIDEstocheckappsfordevelopersbeforereleaseidentifyproblematic3rd-partymodulesdeployedasanautomaticappauditingserviceatappmarketswipeouthumaninvolvementinvalidatinganalysisresultsinstalledonmobiledevicestocheckappsbeforeinstallationprotectusersagainstdata-leakingappsfromuntrustedsourcesorappmarketsthatlackauditingserviceAppAudit:Designoverview7Goal:tackleanalysisefficiencyandfalsepositivesIdea:2stepsstartwithaverylightweightstaticAPIanalysisrelyonadynamicanalysistopruneitsfalsepositivesTacklefalsepositivesStaticanalysissolutions(existingwork)VSAppAuditStaticanalysissolutions:exploreallcodepathsAppAudit:onlyexplorescodepathsthatcouldhappeninreal->few

falsepositivesChallengeofAppAuditWhendynamicanalysismeetsunknowns,itcanhardlyexploredeeplyintocodepaths,whichwillcausefalsenegatives.ApproachofAppAuditdesignanovel

objectmodeltorepresentandpropagateunknownsdesignseveralexecutionmechanismstoincreasethedepthofouranalysisandavoidfalsenegatives8Step1:EfficientStaticAPIAnalysisGoal:EfficientlyfindfunctionsthatcanpotentiallycausedataleaksEssentialconditionsfordataleakReachaSourceAPItoretrievepersonaldataReachaSinkAPItotransmitdataoutofthedevice9Findingdataleak〓

FindingonepathfromthefunctiontoasourceAPIandanothertoasinkAPIStep1:EfficientStaticAPIAnalysis(CONT)10APIUsageAnalysisFirstly,buildastandardcallgraphfromprogrambytecodeThenextenditFinally,performabreadth-firstsearchtomarkallsuspiciousfunctionsWhyextend?howtoextend?CallGraphExtensions11TraditionalcallgraphMissingpaths:DynamicJavalanguagefeatures,AndroidprogrammingmodelAppAudit:CallGraphExtensionsJavaVirtualCallsandReflectionCallsAssumevirtualcallscanreachanymatchingmethodfromallinheritedclasseswhileareflectioncallwilldirectlybemarkedsuspiciousStaticFieldsasIntermediatesAndroidLifeCycleMethodsMulti-threadingGUIEventCallbacksAndroidRemoteProcedureCall(RPC)CallGraphExtensions(CONT)12CallGraphExtensions(CONT)13Step2:ApproximatedexecutionDefinitionAdynamic

analysisthatexecutesthebytecodeinstructionsofasuspiciousfunctionandreportswhendataleakhappensComponenttypicalregistersetaprogramcounter(pc)acallstackasitsexecutioncontext3workingmodes“execution(exec)”mode:interpretbytecodesandperformoperations“check”mode:checktheparametersforthesinkAPI“approximation(approx)”mode:facingunknown->switchtothismodeforapproximationstocontinuetheexecution.14ApproximatedExecutorStateMachine15

exec:Taintedobjectspropagatewiththeexecutionandtaintanyobjectderivedfromthem

check:Taintedobjectsarefound,reportandterminate(“end”finalstate);otherwise,revertback

approx:Iffail,enter“l(fā)eap”finalstate

leap:terminatecurrentexecutionandstartexecutingoneofitscallerfunctionObjectRepresentation16Type:i.e.int,long,stringobjectkind:

concreteobject(CON):createdduringtheexecutionprocess

priorunknown(PU):existpriortotheexecutionprocessandcontainunknownvalues

derivedunknown(DU):apriorunknownbutischangedduringtheexecutionprocessstoretheknownvalue(s)oftheobjecti.e.Unknownvalue17ExecutionRules(TableⅡ)TaintTaintrepresentation:

TaintingrulesPersonaldataismarkedastainted.Taintspropagatealongwiththeobject.IfasinkAPImeetsataintedobject,reportaleak.18ApproximationModeWhentochangetoapproximationmode:aconditionaljumpinstructionmeetsunknownvaluesUnknownBranchingApproximationIdea:skipunknownloopastheseloopscannotprovideusefulknowninformationfromunknowns.19/2014/01/setting-goals-to-pass-the-cse-in-2014/UnknownBranchingApproximation20ChoosenottotaketheconditionalbranchtoskiptheseloopsUnknownBranchingApproximation21Cannotdistinguishifsandloops

->

Onlyexplorethe“then”branchforunknownif-elsestructures->ThisbiasisbenignAccuracyAnalysisExecutionmode:faithfullyreproducetheactualpathoftherealexecutionApproximationmode:onlymissesnon-leakingpathsandisbenigntotheoverallaccuracyLimitationsofTaintAnalysisTaintSanitization:onlyaddandpropagatetaintsbutneverremovethem->inaccuracyandfalsepositives.(i.e.)ArrayIndexing:i.e.,willbetaintedif

istainted.->over-taints->falsepositivesControlFlowDependentTaints:22x,yarecorrelatedbutitalwaysproduceuntaintedyOutlineProblemdefinitionPriorwork

AppAudit(newidea)DesignoverviewEfficientStaticAPIAnalysisApproximatedExecutionEvaluationDiscussion23EvaluationMethodology:

CompletenessofStaticAPIAnalysis:bymicro-benchmark

DetectionAccuracy:bymalwaresamples

Usability:byreal-wordapps

CharacterizationofDataLeaksinRealApps:toprovideguidanceEvaluationdatasets:24CompletenessofStaticAPIAnalysis25FlowDroid:astate-of-the-artpurestaticanalysistoolFalsenegatives:

When:particularuserinputsha

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論