TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones

背景目的

了解第三方应用程序是如何使用用户的隐私数据的。比如说,一个用户允许了第三方应用程序获取她的地理位置,但是她武大得知这个应用程序是都会将她的信息送到地理位置服务系统、广告商等。



方法概述

从污染源标记敏感信息,追踪被标记的敏感数据怎么污染其他数据,从而导致敏感数据从污染泄露点泄露。

1、变量级别的污点追踪,利用VM解释器在应用程序代码内追踪污染数据;

2、信息级别的污点追踪,利用IPC追踪应用程序之间的污染信息传递;

3、方法级别的污点追踪,针对的是本地库,run native code without instrumentation and patch the taint propagation on return

4、文件级别的污点追踪。



前提:可信的Android固件,包括可信的vm、可信的本地库。



TaintDroid介绍

1、Taint Tag Storage

Dalvik有五种类型的变量需要污染存储:方法局部变量、方法参数、类静态字段、类实例字段、数组。

污染标记在变量之间交叉存储(32bit) 每个数组只储存一个污染标记



2、Interpreted Code Taint Propagation

data flow logic 

变量定义:

vx:局部变量和方法参数        fx:类字段        vy(fx):实例字段,vy代表要实例的对象      S(fx):静态字段     vx[·]:数组    R:返回变量   E:异常变量

污染map功能可以表示为τ (·), τ (v)表示为变量v制定一个污染标记t


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,268评论 19 139
  • 史上最全的iOS面试题及答案 iOS面试小贴士———————————————回答好下面的足够了----------...
    Style_伟阅读 2,473评论 0 35
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,418评论 11 349
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • D10~2017.3.3 信是得着的就是得着的,这话一点不假。很多的时候是因为我们里面有不信的心,所以我们没得到。...
    顾念0000阅读 152评论 2 0