版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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“leap”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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024视频录制合同
- 航空货运材料搬运管理方案
- 2024建材买卖合同中项目部担保约定的注意事项
- 吉林大学《色彩基础》2021-2022学年第一学期期末试卷
- 吉林大学《环境工程原理》2021-2022学年第一学期期末试卷
- 商场内外墙涂料施工方案
- 老年人中风的中医养生方案
- 中学数学教师教学成果展示
- 2024-2025学年高中政治第1单元文化与生活第1课第2框文化与经济政治教案新人教版必修3
- 2025届高考数学一轮复习第八章平面解析几何第一节直线与直线的方程课时规范练理含解析新人教版
- 《矿山机械设备》复习题
- 冷库工程特点施工难点分析及对策
- 中国古代楼阁PPT课件
- 排舞教案_图文
- 简单趋向补语:V上下进出回过起PPT课件
- 路由和波长分配PPT课件
- 超声检测工艺卡
- 公司“师带徒”实施方案
- AP1000反应堆结构设计
- 《内科护理学》病例分析(完整版)
- 5GQoS管理机制介绍
评论
0/150
提交评论