面向Android智能手机的数据安全问题研究
发布时间:2021-11-15 03:28
近几年来,智能手机已经成为人们生活中不可或缺的一部分,其强大功能不仅仅为用户带来了前所未有的便捷,同时也为网络攻击者窃取用户的敏感数据提供了方便。网络攻击者利用智能手机的一些独有特点通过不同的方式从用户的智能手机中获取隐私数据。因此,面向智能手机的数据安全问题已经成为了网络安全研究领域的一个重要研究问题。Android系统作为最常见的一类智能手机操作系统,为移动应用提供了多种不同的数据存储方式,但是应用开发者在通过这些方式存储数据时是否充分考虑了所存储数据的安全问题并未可知。智能手机中所搭载的各类传感器在方便应用感知用户状态信息的同时,也往往会被网络攻击者所利用来窃取用户的敏感数据。除了数据的存储和采集之外,应用往往也需要与后台服务器进行数据通信。智能手机提供了多样的无线网络通信方式(Wi-Fi无线网络、4G无线网络等),但是在通信过程中却仍然潜在着一些数据安全问题。本文主要从数据存储、数据采集和数据传输三个方面研究Android智能手机中的数据安全问题。本文的主要贡献如下:1.在数据存储方面,针对Android共享存储空间在使用过程中存在的数据安全问题进行了深入研究。Android系...
【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:133 页
【学位级别】:博士
【部分图文】:
图2-1:?Exinspector的分析流程??
.到到一个将提供的特定方法的返回值赋值给路径参数的定义位置。??表2-1列举了这类特定的方法。图2-2中的样例就包含了方法getExternal-??FilesDir()的返回值。如果这一条件满足,Exlnspector也就可以直接确定路??径参数指向外部存储空间。??反向数据分析过程如图2-2所示。在这个例子中,因为它最终到达一个返??外部存储空间路径的API,所以满足了条件2。这里需要注意:文件路径有时??会是由多个不同的变量组合而成的,如:directory和“/subDirl/tgt.txt”。??果仅仅是为了确定文件路径的起点(是内部存储空间或者是外部存储空??),那么只需要逆向分析变量directory就足够了。但是为了了解都有什??类型的文件会被应用生成或者使用,Exinspector就需要对文件路径的另一部??也进行解析(识别文件的后缀名)。??一个严峻的挑战就是在反向追踪文件路径参数时,有时会是更加复??的数据源,如:来自于数据库中的一张数据表(Table)的数据查询结??。这种情况经常会发生在应用将文件写入到外部存储空间或者内部存??
}??图2-3:—个通过键值(Key-Value)存储容器追踪文件路径参数初始值的样例??图2-3所示,当在反向分析过程中遇到了函数lntent.getStringExtra(),就需要??先对键(样例中的变量PathKey)进行解析。解析过程会迭代触发相似??的反向数据流分析过程,以便最终获得变量PathKey所对应的真实值。??Exinspector通过搜索所有的函数调用来寻找相应的参数设置函数(样例中的??intem.PutExtra()),以此确定对应该键的真实内容。类似的情况,对于数据库??操作,Ex丨nspector会通过关联数据库的读写操作(例如:这些操作都发生在相??同的数据表上)来确定己经保存的文件路径内容。??2.2.2识别文件类型和文件使用者??知道了应用会对外部存储空间中的文件进行访问只是一个简单的开始。一??个应用可能会出于不同的目的而读取不同类型的文件(可能是简单地加载一张??照片或者是进行-些“敏感”操作,如:安装应用的apk文件)。为了发现应??用对“敏感”文件所进行的“敏感”操作,就需要Exinspector?对文件类型和文??件的使用者进行分析。??正如之前讨论的那样,文件路径(包括文件名称和文件后缀)的构造可??以有效地识别文件的类型。然后,并不是所有的文件后缀都是可靠的。应用??开发者可能会根据自身的喜好随便起文件后缀名。另外
本文编号:3495935
【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:133 页
【学位级别】:博士
【部分图文】:
图2-1:?Exinspector的分析流程??
.到到一个将提供的特定方法的返回值赋值给路径参数的定义位置。??表2-1列举了这类特定的方法。图2-2中的样例就包含了方法getExternal-??FilesDir()的返回值。如果这一条件满足,Exlnspector也就可以直接确定路??径参数指向外部存储空间。??反向数据分析过程如图2-2所示。在这个例子中,因为它最终到达一个返??外部存储空间路径的API,所以满足了条件2。这里需要注意:文件路径有时??会是由多个不同的变量组合而成的,如:directory和“/subDirl/tgt.txt”。??果仅仅是为了确定文件路径的起点(是内部存储空间或者是外部存储空??),那么只需要逆向分析变量directory就足够了。但是为了了解都有什??类型的文件会被应用生成或者使用,Exinspector就需要对文件路径的另一部??也进行解析(识别文件的后缀名)。??一个严峻的挑战就是在反向追踪文件路径参数时,有时会是更加复??的数据源,如:来自于数据库中的一张数据表(Table)的数据查询结??。这种情况经常会发生在应用将文件写入到外部存储空间或者内部存??
}??图2-3:—个通过键值(Key-Value)存储容器追踪文件路径参数初始值的样例??图2-3所示,当在反向分析过程中遇到了函数lntent.getStringExtra(),就需要??先对键(样例中的变量PathKey)进行解析。解析过程会迭代触发相似??的反向数据流分析过程,以便最终获得变量PathKey所对应的真实值。??Exinspector通过搜索所有的函数调用来寻找相应的参数设置函数(样例中的??intem.PutExtra()),以此确定对应该键的真实内容。类似的情况,对于数据库??操作,Ex丨nspector会通过关联数据库的读写操作(例如:这些操作都发生在相??同的数据表上)来确定己经保存的文件路径内容。??2.2.2识别文件类型和文件使用者??知道了应用会对外部存储空间中的文件进行访问只是一个简单的开始。一??个应用可能会出于不同的目的而读取不同类型的文件(可能是简单地加载一张??照片或者是进行-些“敏感”操作,如:安装应用的apk文件)。为了发现应??用对“敏感”文件所进行的“敏感”操作,就需要Exinspector?对文件类型和文??件的使用者进行分析。??正如之前讨论的那样,文件路径(包括文件名称和文件后缀)的构造可??以有效地识别文件的类型。然后,并不是所有的文件后缀都是可靠的。应用??开发者可能会根据自身的喜好随便起文件后缀名。另外
本文编号:3495935
本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/3495935.html