CN106874778B - 基于Android系统的智能终端文件获取以及数据恢复系统及方法 - Google Patents
基于Android系统的智能终端文件获取以及数据恢复系统及方法 Download PDFInfo
- Publication number
- CN106874778B CN106874778B CN201710103398.5A CN201710103398A CN106874778B CN 106874778 B CN106874778 B CN 106874778B CN 201710103398 A CN201710103398 A CN 201710103398A CN 106874778 B CN106874778 B CN 106874778B
- Authority
- CN
- China
- Prior art keywords
- data
- length
- evidence
- mobile phone
- android
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000011084 recovery Methods 0.000 title claims abstract description 34
- 230000008676 import Effects 0.000 claims abstract description 14
- 238000007726 management method Methods 0.000 claims abstract description 14
- 238000013523 data management Methods 0.000 claims abstract description 11
- 238000002360 preparation method Methods 0.000 claims abstract description 11
- 239000000284 extract Substances 0.000 claims abstract description 10
- 238000003860 storage Methods 0.000 claims description 18
- 238000012217 deletion Methods 0.000 claims description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 239000012634 fragment Substances 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000000059 patterning Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 8
- 235000014510 cooky Nutrition 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 239000013065 commercial product Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 244000097202 Rathbunia alamosensis Species 0.000 description 1
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Android系统的智能终端文件获取以及数据恢复系统及方法,系统包括数据导入模块、数据整理模块和数据管理模块;数据整理模块包括情景恢复子模块和数据恢复子模块;数据导入模块用于导入Android系统软件、应用软件和浏览器信息;数据管理模块包括证据管理子模块和报告管理子模块;数据导入模块与待取证设备连接获取所需的数据,然后通过数据整理模块进行情景恢复和数据恢复,最后通过数据管理模块管理存储后发动到司法机关;方法包括获取待取证设备数据、数据恢复、情景恢复和数据输出等四步骤;本发明能够有效的恢复非完全覆盖的数据、能有效的提取HTML5中的数据,为取证人员的深度取证提供有力支持。
Description
技术领域
本发明属于计算机信息安全技术领域,具体涉及一种基于Android系统的智能终端文件获取以及数据恢复系统及方法。
背景技术
随着互联网时代的到来,以及电子产品迅速的更新换代,如今智能手机已经成为人们生活中不可或缺的一部分,在以往需要在pc端才能提供的服务,如今智能手机已基本能够满足用户需求,手机支付,wifi,新闻等等智能手机提供的服务已经渗入人们生活,为人们的生活提供了极大便利。
手机中的各种信息,将为案件侦查和审理判决提供依据。国家在2013年正式认可电子证据的合法性,政策的落实需要电子取证技术的有力支持,如何提取、恢复智能终端数据,将是一个迫切需要解决的挑战性问题。
近几年出现了一批智能手机文件获取工具,如MPE+、DC4500、FTK、Fanaldata等等,他们解决上述问题时存在一些缺陷,比如对手机应用程序识别量少,数据恢复只是针对完整数据,被部分覆盖的未考虑,对现有信息利用不充分。因此现有软件所得到的数据不能结构化的显示取证结构并且不能满足需要。
发明内容
为了解决上述技术问题,本发明提供了一种基于Android系统的智能终端文件获取以及数据恢复系统及方法。
本发明的系统所采用的技术方案是:一种基于Android系统的智能终端文件获取以及数据恢复系统,其特征在于:包括数据导入模块、数据整理模块和数据管理模块;所述数据整理模块包括情景恢复子模块和数据恢复子模块;所述数据导入模块用于导入Android系统软件、应用软件和浏览器信息;所述数据管理模块包括证据管理子模块和报告管理子模块;
所述数据导入模块与待取证设备连接获取所需的数据,然后通过所述数据整理模块进行情景恢复和数据恢复,最后通过所述数据管理模块管理存储后发动到司法机关。
本发明的方法所采用的技术方案是:一种基于Android系统的智能终端文件获取以及数据恢复方法,其特征在于,包括以下步骤:
步骤1:获取待取证设备数据;
步骤2:数据恢复;
步骤3:情景恢复;
步骤4:数据输出。
本发明的创新点包括:
(1)针对非完全覆盖数据的恢复方法;
当前主要的取证软件,例如DC4500、MPE+、FanalData等等,仅仅能够实现未覆盖数据的恢复,但是对于恶意擦除无能为力,本系统利用说明书中提出的可变长区域长度估算法以及未完全覆盖数据的恢复算法,能够有效恢复部分覆盖的数据,让犯罪证据无所遁形。
(2)基于HTML5的数据获取方法;
当前的取证软件主要都是针对SQLite的数据读取,获取数据的范围有限。考虑到如今Hybird App(Android与Html5混合应用)的广泛使用,Html的本地存储也被应用到如淘宝、京东、携程等应用中。其中localStorage被广泛使用,保存在里面的数据具有很强的取证价值。本系统除了SQLite中的数据之外,还能获得HTML中本地保存的数据,为分析待取证手机持有者曾经浏览的网页以及购买商品的分析提供有力支持。
(3)手机用户私有信息的情景恢复技术;
本系统利用Android系统自动记住密码功能,获得手机持有人的网站浏览痕迹以及微博、百度贴吧等登录凭证,通过这些应用的跟踪和登陆进行深度取证,有助于获得更全面的犯罪证据。在手机被破坏到无法使用的状态下,可以在SDK模拟器中实现手机用户私有信息的情景恢复,通过现有应用呈现手机数据,解决提取文本乱码的问题,通过可视化的展现,为分析人员提供更友好的取证环境。
附图说明
图1:本发明实施例的系统部署图;
图2:本发明实施例的系统结构图;
图3:本发明实施例的系统工作原理图;
图4:本发明实施例的方法中数据恢复流程图;
图5:本发明实施例的方法中情景恢复流程图;
图6:本发明实施例的方法中删除区域包含多个单元的数据恢复流程图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本系统在充分调研实际办案需求的基础上,设计并实现了基于Android的智能终端信息重现系统。本系统针对Android手机中短信、通讯录和通话记录以及一部分第三方应用如QQ、微博、邮箱等使用HTML数据库的应用进行数据存储,并进行分类;在获取数据的基础上,对一部分已删除的数据进行恢复;并且结合通讯录和第三方软件的数据信息,初步构建了以联系人为核心的关联关系。对于损坏的智能终端,通过对残留数据的分析,实现智能终端在损坏之前的使用状况的情景恢复。
请见图1、图2和图3,本发明提供的一种基于Android系统的智能终端文件获取以及数据恢复系统,包括数据导入模块、数据整理模块和数据管理模块;数据整理模块包括情景恢复子模块和数据恢复子模块;数据导入模块用于导入Android系统软件、应用软件和浏览器信息;数据管理模块包括证据管理子模块和报告管理子模块;数据导入模块与待取证设备连接获取所需的数据,然后通过数据整理模块进行情景恢复和数据恢复,最后通过数据管理模块管理存储后发动到司法机关。
本系统取证来源分别为安卓的五大储存,取证类型分为文本和图片,取得的证据流向是检察院和司法机关。
数据导入模块负责从待取证手机持有者数据库中提取有用信息,发送到情景恢复子模块和数据恢复子模块对得到的数据进行处理。
数据导入模块是与Android数据提取端(即用于提取数据的端口)联接的模块,Android数据提取端获取到的数据通过网络(或者USB、蓝牙)等多种形式与本取证端(即Android系统的智能终端文件获取以及数据恢复系统)相连。在待取证设备上安装Android数据提取端后,会与本取证端相连,并发送自己的IMEI和IMSI号,以标识特定设备。然后本取证端可以选择待取证设备,并发送相应命令来获取所需的数据。当Android数据提取端的发送的文件被本取证端接收后,本取证端将会按照取证手机将同一个取证设备的文件存放在相应的文件夹里。文件接收里能显示实时接收到的文件相关信息。同时文件管理在数据管理模块中,它按照设备的IMEI号将文件归类管理。
在获得的待取证手机持有者的手机中,已经被待取证手机持有者损坏了的占大部分。这种情况给破案增加了难度,很难从手机的sqlite中获取数据,其他功能也都无法完成。基于此,本发明开发了一项“情景恢复”的功能,旨在在手机被损坏的情况下,在安卓模拟器中将手机“还原”,使其能够呈现出损坏前的使用状态,有利于获取待取证手机持有者的数据信息。
情景恢复模块的主要功能是获取Data/data目录下的所有APP的数据,然后在安卓模拟器中呈现出来,并重现出手机损坏前的使用状态,获取待取证手机持有者的使用手机的习惯、浏览网页的记录、聊天记录、通话记录、行动轨迹记录等等重要信息,能够得到对破案最为直接的证据。
情景恢复主要是在安卓模拟器上实现的,所以本系统先在项目工程中嵌入安卓模拟器,将手机中的应用程序的sqlite数据以及配置文件,复制到安卓模拟器中,将原有的文件和数据替换掉,使得安卓模拟器中最终呈现出来的是已损坏手机中的数据和状态,这样便达到了情景恢复的目的。
由于手机中内存储空间的限制,当存储空间较满的时候,新添加的数据将会自动盖写之前存储的数据,或者在删除之后新添加的数据也会覆盖删除区域内的数据,此时就会出现部分数据被覆盖的情况。在数据覆盖发生的时候,覆盖是从后往前进行(首先覆盖的是数据区域,然后才是类型区域)。若是数据区域被完全覆盖,仅仅只有类型区域是没有取证意义的,此时对未完全覆盖的数据恢复也就失去了意义。
在数据区域没有被完全覆盖的时候,由于删除操作改变了单元的头部,数据区域又被修改,因此无法定位每个字段的位置,此时需要对“可变长区域估算法”无法恢复的整片区域进行编码转义,并对转义后的非结构化数据进行分析。通常由取证人员根据经验分析和语义分析从残留的数据片段中获取关键信息,未来可以考虑由取证系统自动实现部分信息提取的功能。
请见图4和图5,本发明提供的一种基于Android系统的智能终端文件获取以及数据恢复方法,括以下步骤:
步骤1:获取待取证设备数据;
本发明提出基于HTML5的数据获取算法获取目前软件所忽略的数据。考虑到如今Hybird App(Android与Html5混合应用)的广泛使用,Html的本地存储也被应用到如淘宝、京东、携程等应用中。Html5支持两种的WebStorage,一种是永久性的本地存储(localStorage),另外一种是会话级别的本地存储(sessionStorage)。本发明除了SQLite中的数据之外,还能获得HTML中本地保存的数据;
本发明通过sessionStorage对象可以直接操作存储在浏览器中的会话级别的WebStorage。当会话结束后,数据会自动清除,跟未设置过期时间的Cookie类似。
sessionStorage提供了四个方法来辅助我们进行对本地存储做相关操作,1.setItem(key,value):添加本地存储数据。2.getItem(key):通过key获取相应的Value;3.removeItem(key):通过key删除本地数据;4.clsar():清空数据。
本发明通过localStorage对象可以直接操作用户永久存储的Web端的数据。
localStorage提供了四个方法来辅助我们进行对本地存储做相关操作,1.setItem(key,value):添加本地存储数据。2.getItem(key):通过key获取相应的Value;3.removeItem(key):通过key删除本地数据;4.clsar():清空数据。
本发明的数据提取主要针对智能手机的系统软件,应用软件以及浏览器信息。其中系统软件的提取本系统实现了手机短信息提取,联系人信息提取,手机通话记录信息提取。手机应用的信息提取则实现了即时通讯类信息提取,邮箱类信息提取等。
1.1:手机应用程序信息提取;
4G时代的来临以及智能手机的迅速普及,以及智能手机功能的强大,PC时代的社交、即时通讯、邮箱等这些涉及个人的私密数据的应用软件已经逐渐被应用于智能手机终端中。人们可以利用安装在Android手机中的应用程序随时随地进行日常活动和交流。日益丰富的应用程序为人们的生活带来了很大的便利,由于这些应用程序含有大量的个人隐私数据,也成为不少犯罪份子进行欺诈、勒索、盗窃的对象。应用程序的数据往往对取证工作具有非常重大的价值。目前,主流的涉及个人隐私数据比较多的应用程序主要分为四类,第一类是即时通讯类应用程序,包括QQ、Skype、飞信等。第二类是邮件类应用程序,包括Gmail、Hotmail、网易、QQ邮箱等。第三类是浏览器类应用程序,包括UC浏览器、QQ浏览器、百度浏览器等。第四类是社交类应用程序,包括人人网、新浪微博、腾讯微博等。
根据Android系统架构和数据存储机制可以了解,Android应用程序主要将数据存储在内部存储器上,内部存储器通过Android应用编辑接口(API)进行控制。当安装一个应用程序时,系统会在/data/data子目录下使用这个应用程序包的名字为此应用程序建立一个内部存储器。例如,Android浏览器程序包的默认名字为com.android.browser,因此,数据文件将会被存储在子目录“/data/data/com.android.browser”下。虽然系统没有要求应用程序必须存储数据文件,但大多数应用程序都会这样做。在应用程序的“/data/data”子目录中,有一些标准目录以及由开发者控制的目录,常见目录如表1-1所示:
表1-1应用程序标准目录
目录名 | 文件类型 |
shared_prefs | 以XML格式存储的共享优先目录 |
lib(共享程序库) | 应用程序所需的自定义库文件 |
files(文件) | 开发者存储在内部存储器上的文件 |
cache(缓存) | 应用程程序缓存的文件 |
databases(数据库) | SQLite数据库和日志文件 |
从表1-1可以看到,在“/data/data/”子目录中的应用程序目录下的databases目录中的文件是应用程序产生的用户数据,应重点提取。掌握应用程序的标准目录机制可以让取证人员快速锁定应用程序中的数据,快速找到相应的证据。
1.2:浏览器类信息提取;
手机浏览器是用户利用无线互联网进行信息浏览的主要工具,浏览器中存储着大量的用户个人数据,例如qq密码、社交网站的密码、浏览的信息等等。目前主流的浏览器有QQ浏览器、UC浏览器等。本发明主要对QQ浏览器进行提取和解析。
QQ浏览器2.9版本的数据存储在“/data/data/com.tencent.mtt/databases/”路径下的database.db、default.db和webview.db数据库中。对这三个数据库文件进行分析可以发现浏览器的信息主要存储在database.db的history表、default.db的mtt_bookmarks表和webview.db的password表中。
具体解析如表1-2所示:
表1-2 QQ浏览器主要字段信息解析
类似的,本系统还实现了uc浏览器的提取。
1.3:HTML5数据获取;
Html4时代由于Cookie的大小、格式、存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie。但是Cookie的这些限制,也就导致了Cookie只能存储一些ID之类的标识符等简单的数据,更加复杂的数据则不能储存在本地。
而Html5支持两种的WebStorage,一种是永久性的本地存储(localStorage),另外一种是会话级别的本地存储(sessionStorage)。
在Html5中增加了一个Js对象:sessionStorage;通过此对象可以直接操作存储在浏览器中的会话级别的WebStorage。存储在sessionStorage中的数据首先是Key-Value形式的,另外就是它跟浏览器当前会话相关,当会话结束后,数据会自动清除,跟未设置过期时间的Cookie类似。
sessionStorage提供了四个方法来辅助进行对本地存储做相关操作。如下表1-3所示。
表1-3
在最新的JS的API中增加了localStorage对象,以便于用户存储永久存储的Web端的数据。而且数据不会随着Http请求发送到后台服务器,而且存储数据的大小机会不用考虑,因为在HTML5的标准中要求浏览器至少要支持到4MB.所以,这完全是颠覆了Cookie的限制,为Web应用在本地存储复杂的用户痕迹数据提供非常方便的技术支持。那接下里分别介绍一下localStorage的常用的方法,当然基本上跟sessionStorage是一致的。
localStorage提供了四个方法来辅助进行对本地存储做相关操作。如下表1-4所示。
表1-4
1 | setItem(key,value):添加本地存储数据。 |
2 | getItem(key):通过key获取相应的Value |
3 | removeItem(key):通过key删除本地数据 |
4 | clsar():清空数据 |
步骤2:数据恢复;
根据SQLite的数据结构,分析了删除后数据的存储形式,提出了一种面向SQLite数据库中已删除数据的恢复方法,该方法通过探测估算“可变长区域”的具体长度来确定删除区域中数据内容的位置,针对被未完全覆盖的数据进行最大程度的恢复。经过对Android手机上短信数据的恢复实验,证明了该恢复方法的有效性。
2.1:删除数据的存储形式;
根据对SQLite数据库的数据结构的分析可以看出,被SQLite删除过的数据仅通过手机应用程序或者普通的数据库浏览器并不能正常读取。通过实验发现,在删除数据之后仅仅只有数据单元区域的头部信息发生了改变,该区域被数据库识别为删除域1,删除域以碎片、空闲块或者空闲页的形式存在。由于SQLite的轻量级特性,在删除操作时仅仅进行了逻辑删除而非物理删除,只要这片删除域没有被新增的数据给完全覆盖,那么将删除后的数据恢复是大有可能的。
在SQLite数据库中进行不同的删除、更新和插入操作时,都会改变数据库中的数据,并会对数据库数据的结构产生不同的改变,产生了碎片、空闲块或者空闲页。不同的数据参数设置,碎片的字节数达到不同的数量就会启动整理程序,此时碎片中的数据将不复存在。每一个空闲块的前两个字节说明了下一个空闲块的偏移量,紧接着的两个字节说明该空闲块的大小。空闲块中可能包含一个或者多个单元,当删除的数据量较大时,多个单元会被合并为一个空闲块。而当空闲块与未分配区相连接的时候,将合并入相邻的未分配区中。由于碎片只占不过4个字节,数据意义不大,但是空闲块和未分配区中的数据有很大的恢复可能。删除区域的类型分为了三种情况,如表2-1:
表2-1删除区域的存储类型
1.删除区域包含单元的一部分,此时可能以碎片或者空闲块形式存在,此时的空闲块中只包含部分数据。
2.删除区域包含一个单元,此时这个空闲块紧挨着两个正常的单元。
3.删除区域包含多个单元,此时这个空闲块会被并入到未分配区中。
根据SQLite的数据结构,数据库中真正的数据内容只被存储在B+Tree叶子页的单元记录数据区中,若数据保存在可变长度区域可能会导致模糊定位。在SQLite数据被删除之后,存储单元的前四个字节被修改,前2个字节表示下一个空闲块的偏移位置,接下来的2个字节表示当前空闲块的大小。
SQLite设计时规定:SQLite会对所有整型的字段自动增长。RowID的值被曝存在单元的头部。Payload中type1将设为空,标识为0X00。这个规则为数据恢复提供了便利,删除操作后改变的前四个字节中,Payload-size、RowID和Header-size三部分至少各占一个字节,type1也只占一个字节,那么这几个部分大小就超过了四个字节。真正有效的数据type2,type3…typeN和data1,data2…dataN都没有被改变,也就一定程度的保证了恢复数据的有效性,本发明将Payload-size、RowID和Header-size合称为“可变长度区域”,此时可变长度区域大小分为三种情况,如表2-2:
表2-2删除单元前四个字节
2个字节 | 2个字节 | Type2 | …… | TypeN | Data1 | …… | DataN |
(1)Payload-size、RowID、Header-size占据空间最小
2个字节 | 2个字节 | Type1 | …… | TypeN | Data1 | …… | DataN |
(2)Payload-size、RowID、Header-size占据4个字节
2个字节 | 2个字节 | …… | Type1 | …… | TypeN | Data1 | …… | DataN |
(3)Payload-size、RowID、Header-size占据大于4个字节
1.若可变长度区域每部分各占一个字节(共3个字节),那么执行删除操作之后,只有前四个字节被改变,真正有效的数据type2—typeN和data1—dataN都没有被改变。
2.若可变长度区域一共占四个字节,那么执行删除操作之后,只有前四个字节被改变,type1和真正有效的数据type2—typeN和data1—dataN都没有被改变。
3.若可变长度区域一共超过了四个字节,那么执行删除操作之后,只有前四个字节被改变,此时可变长度区域中的残留部分没有被改变,type1和真正有效的数据type2—typeN和data1—dataN也没有被改变。
通过对可变长度区域的三种情况分析,证实了真正有效的数据type2—typeN和data1—dataN无论任何情况下都没有被改变。由于前四个字节被删除,无法通过单元头部得到单元各个字段的长度。由于可变长整数存储形式中存在结束标识,并且Android应用SQLite数据库中各个字段个数固定统一,就可以预估type字段的范围并计算大小,以确定每个字段对应的每个Data区域大小,然后找到Data区范围并读取存储的数据,再根据数据库的编码方式完成恢复数据的功能。
2.2:可变长区域长度估算法;
为了恢复被删除的数据,恢复的方法必须包含估算可变长的区域,用以确定该记录的类型和数据的值。首先将需要确定的就是被删除的单元的长度,然后,将可变长区域长度设置为默认值3(Payload-Size、RowID和Header-Size每部分各占一个字节),以便于后续增加这个长度。
验证估算值的过程中,需要计算可变长区域的长度和数据类型type区域长度和数据内容data区域长度之和与最初的单元长度作比较。Data区域总长度最少为2个字节,若存在TEXT和BLOB字段时将会超过56个字节,若不是以上两种类型,那么该类型字段的长度为1个字节。由于计算的内容包括了类型所占的长度和数据内容所占的长度,估算总长度的公式为:
f(x)=m+x+l;
其中,x表示估算的可变长区域长度,包括Payload-Size、RowID和Header-Size;m表示记录数据类型部分的(type区域)总长度,若存在TXET字段和BLOB字段将超过56个字节,计算公式为
l表示记录数据内容区的(data区域)总长度,计算公式为:
其中,i为自定义的循环参数,无特殊意义;n为可变长区域块的个数;type_size[i]表示第i块的数据类型长度,data_size[i]表示第i块的数据内容长度;
将公式计算出的f(x)值与碎片的总长度进行比较,当两个值相等时就认为估算正确并且可以进行恢复,如果这两个值并不相等,就需要重复上述过程并将估算值加1;当可变长区域长度的估值超过了27个字节(Payload-Size、RowID和Header-Size每个值最多占9个字节)时,可以表明该删除域包含部分被覆盖、损坏的数据或者包含多个单元,此时就需要进行单元切割方法的尝试。
在数据库的删除过程中,单元的删除顺序是随机发生的,空闲块起始位置的第三四个字段所说明的空闲块总大小是格外重要的。通过读取SQL定义语句中得到的各个字段类型,由此确定部分数据类型所占的长度和数据内容所占的长度。
2.3:单元切割法;
当可变长区域的长度估值超过了27个字节,此时需要通过单元切割法将该空闲区包含的多个数据单元区分出来。此时需要不断的重复2.2中的步骤,将预测的数据单元长度从前往后加入栈中。当确定最后一个单元的大小后,依次出栈,从后往前确定每一个数据单元的大小。直到栈为空,若最后栈还不为空则表示数据被部分覆盖或者损坏。
具体的流程如图6,其中whole-size表示为将当前空闲块区域的总大小值,从当前空闲块的起始地址block-start开始进行多单元数据提取,g-size表示对当前位置数据单元的猜测值,extra-size表示猜测完一个数据单元大小后的剩余区域大小。
步骤3:情景恢复;
安卓手机的情景恢复功能主要是针对于原手机损坏的情况下,无法按照正常渠道获取手机的数据和状态。本发明利用情景恢复技术在PC端的安卓模拟器上还原出手机损坏前的状态,利于分析手机数据。
情景恢复的理论实现方法是从已损坏的安卓手机中利用人工手段获取手机中的sqlite数据库和APP的配置文件,即相当于备份整部手机数据。然后将这些获得的数据库或者配置文件或者安装文件,覆盖到安卓模拟器中去,使得安卓模拟器能够呈现出已损坏手机的原始数据和状态。
情景恢复的主要的实现方案是利用adb shell从已损坏的手机中提取手机中的app列表以及其中的配置文件和sqlite数据库,然后根据app列表在安卓模拟器中安装相应的应用软件,最后把配置文件和数据库覆盖到在安卓模拟器中新安装的软件中去。在安卓模拟器中实现对手机的情景恢复。
情景恢复功能的实现基本是用adb语句实现的,本发明利用Android系统自动记住密码功能,获得手机持有人的网站浏览痕迹以及微博、百度贴吧等登录凭证,通过这些应用的跟踪和登陆进行深度取证,可以在SDK模拟器中实现手机用户私有信息的情景重现,通过现有应用呈现手机数据,解决提取文本乱码的问题。具体实现包括以下步骤:
1:利用adb shell从已损坏的手机中提取手机中的app列表,关键命令:adbshellsu ls/data/app。
2:然后根据app列表导出应用APK文件,其中包括配置文件。关键命令:adb.exepull/data/app/[软件包名][localpath]。
3:导出用户应用数据库文件,关键命令:Adb pull/data/app[软件包名]/databases[lacalpath]。
4:把配置文件和数据库覆盖到在安卓模拟器中新安装的软件中去。在安卓模拟器中实现对手机的情景重现。关键命令:adb install–r[.apk].
一般配置文件的存放位置都不尽相同,而且种类较多,而有使用价值的配置文件有AndroidManifest.xml和project.properties。它们均在应用软件的apk中,本发明在导入apk的同时,配置文件也随之导入到本地。一般应用软件的数据库的位置是/data/data/软件包名/databases。以QQ浏览器为例,它的数据库在手机中的存放位置是/data/com.tencent.mtt/databases。利用adb pull<path>[localpath]。即将该应用软件的databases文件夹下的所有数据库拷贝到本地apk文件中的assets文件夹中。
4.将apk文件装载到安卓模拟器上面。
情景恢复的最后一步实现是将之前获得的含有用户数据和配置文件的应用软件apk装载到安卓模拟器中。
打开模拟器,即可看到已损坏手机之前的状态。
步骤4:数据输出。
本发明提供的基于Android的智能终端信息重现系统采用较为成熟的智能终端文件获取,实现了对于嫌疑人智能终端的数据获取,针对司法机关迫切需要解决的问题提出了创新性的方法,目的在于解决现有取证技术的局限性,本系统能够在获取待取证手机持有者手机的基础上,将待取证手机持有者手机上的数据库导入到本系统的数据库中,并通过对其进行数据的整理,然后通过结构化的表现形式将结果呈现,在满足了司法机关对于数据获取的基础需求之后,更锦上添花地增加了情景恢复等创新功能。
因为智能终端信息重现在这类犯罪中所起的作用是决定性的,打击手机犯罪最重要的是获取证据,因而,手机电子证据的提取、鉴定和举证成为安全部门亟待解决的问题。如何有效的进行智能终端文件信息的重现成为维护人民生命财产安全的重要环节。对于待取证手机持有者的Android手机,我们可以取出其数据,挖掘出有用信息,帮助侦查。能有效解决司法机关以及公安机关等对电子证据取证的需求。
本发明与现有商业产品不同与创新之处主要体现在是以下三个方面:
1.当前商业产品能够很好地恢复未被覆盖的数据,但是对于被有意擦除并覆盖的数据考虑较少,本系统能够有效的恢复非完全覆盖的数据。
2.由于HTML5良好的灵活性和控制性,越来越多的应用程序采用该技术来存储数据,现有的电子取证工具,主要是处理的SQLite中的数据,而本系统还能有效的提取HTML5中的数据。
3.当前的产品主要都是将提取的电子证据以文本的形式展现出来,但是由于各种手机应用的编码方式不同,很多数据呈现出乱码,取证人员难以利用。本系统除了传统的文本呈现形式之外,还能登陆手机用户的关键应用,如微信、qq、微博等,准确重现手机用户私有信息,而且,还可能以待取证手机持有者的账户登陆相关应用,为取证人员的深度取证提供有力支持。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (1)
1.一种基于Android系统的智能终端文件获取以及数据恢复方法,采用基于Android系统的智能终端文件获取以及数据恢复系统;
其特征在于:所述系统包括数据导入模块、数据整理模块和数据管理模块;所述数据整理模块包括情景恢复子模块和数据恢复子模块;所述数据导入模块用于导入Android系统软件、应用软件和浏览器信息;所述数据管理模块包括证据管理子模块和报告管理子模块;
所述数据导入模块与待取证设备连接获取所需的数据,然后通过所述数据整理模块进行情景恢复和数据恢复,最后通过所述数据管理模块管理存储后发送到司法机关;
所述方法包括以下步骤:
步骤1:获取待取证设备数据;
步骤1.1:通过sessionStorage对象直接操作存储在浏览器中的会话级别的WebStorage;
步骤1.2:通过localStorage对象直接操作用户永久存储的Web端的数据;
步骤2:数据恢复;
步骤2.1:根据删除数据的储存形式,获取到空闲块与未分配区中的数据;
步骤2.2:根据获取到的数据进行数据恢复,如果获取到部分覆盖的数据,利用可变长区域长度估算法计算删除域是否大于27字节,小于27字节则直接进行恢复,大于27字节则利用单元切割法进行切割;
其中,计算删除域是否大于27字节,其具体实现包括以下子步骤:
步骤2.2.1:验证估算值的过程中,需计算可变长区域的长度和数据类型type区域长度和数据内容data区域长度之和与最初的单元长度作比较;计算公式为:
f(x)=m+x+l;
其中,x表示估算的可变长区域长度,包括Payload-Size、RowID和Header-Size;m表示记录数据类型type部分的总长度,计算公式为:
l表示记录数据内容data区的总长度,计算公式为:
其中,i为自定义的循环参数,n为可变长区域块的个数,type_size[i]表示第i块的数据类型长度,data_size[i]表示第i块的数据内容长度;
步骤2.2.2:将f(x)值与碎片的总长度进行比较,当两个值相等时就认为估算正确并且可以进行恢复,如果这两个值并不相等,就需要重复上述过程并将估算值加1;当可变长区域长度的估值超过了27个字节时,表明该删除域包含部分被覆盖、损坏的数据或者包含多个单元,则利用单元切割法进行切割;
其中所述利用单元切割法进行切割,具体实现过程是:将预测的数据单元长度从前往后加入栈中,当确定最后一个单元的大小后,依次出栈,从后往前确定每一个数据单元的大小,直到栈为空,若最后栈还不为空则表示数据被部分覆盖或者损坏;
步骤2.3:将步骤2.2所获取到的可恢复数据进行恢复;
步骤3:情景恢复;
步骤3.1:利用adb shell从已损坏的手机中提取手机中的app列表;
步骤3.2:根据app列表导出应用APK文件,其中包括配置文件;
步骤3.3:导出用户应用数据库文件;
步骤3.4:把配置文件和数据库覆盖到在安卓模拟器中,在安卓模拟器中实现对手机的情景重现;
步骤4:数据输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710103398.5A CN106874778B (zh) | 2017-02-24 | 2017-02-24 | 基于Android系统的智能终端文件获取以及数据恢复系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710103398.5A CN106874778B (zh) | 2017-02-24 | 2017-02-24 | 基于Android系统的智能终端文件获取以及数据恢复系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106874778A CN106874778A (zh) | 2017-06-20 |
CN106874778B true CN106874778B (zh) | 2019-07-23 |
Family
ID=59168584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710103398.5A Active CN106874778B (zh) | 2017-02-24 | 2017-02-24 | 基于Android系统的智能终端文件获取以及数据恢复系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874778B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874953A (zh) * | 2018-06-06 | 2018-11-23 | 中国刑事警察学院 | 一种Office文件内容增、删、改痕迹提取方法 |
CN109002704A (zh) * | 2018-09-27 | 2018-12-14 | Tcl移动通信科技(宁波)有限公司 | 移动终端解锁操作处理方法、移动终端及存储介质 |
CN109522157A (zh) * | 2018-11-14 | 2019-03-26 | 武汉虹旭信息技术有限责任公司 | 基于iOS应用数据提取恢复的人物关系分析系统及方法 |
CN109450776A (zh) * | 2018-12-28 | 2019-03-08 | 苏州龙信信息科技有限公司 | 亲密度计算方法、装置、设备和介质 |
CN109815062A (zh) * | 2019-02-11 | 2019-05-28 | 国网山东省电力公司烟台供电公司 | 基于内存分析的安卓App历史屏恢复与取证系统 |
CN112000344A (zh) * | 2020-08-25 | 2020-11-27 | 南京烽火星空通信发展有限公司 | 一种基于Android平台的无痕数据获取方法 |
CN112287334B (zh) * | 2020-11-06 | 2024-03-08 | 浙江中控技术股份有限公司 | 自定义库处理方法、装置及系统 |
CN112541149B (zh) * | 2020-12-18 | 2022-07-08 | 厦门市美亚柏科信息股份有限公司 | 一种用于手机网页内容的恢复方法和系统 |
CN116361239B (zh) * | 2023-05-24 | 2023-07-28 | 成都交大光芒科技股份有限公司 | 基于对象特征的对象识别同步方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345419A (zh) * | 2013-07-25 | 2013-10-09 | 南京邮电大学 | 一种基于Android平台的动态取证方法 |
CN104182541A (zh) * | 2014-09-05 | 2014-12-03 | 四川效率源信息安全技术有限责任公司 | 一种展示智能手机数据信息的方法 |
CN105005514A (zh) * | 2015-07-02 | 2015-10-28 | 四川效率源信息安全技术有限责任公司 | 基于安卓系统的设备的数据取证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037630B2 (en) * | 2012-02-21 | 2015-05-19 | Matthew Martin Shannon | Systems and methods for provisioning digital forensics services remotely over public and private networks |
-
2017
- 2017-02-24 CN CN201710103398.5A patent/CN106874778B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345419A (zh) * | 2013-07-25 | 2013-10-09 | 南京邮电大学 | 一种基于Android平台的动态取证方法 |
CN104182541A (zh) * | 2014-09-05 | 2014-12-03 | 四川效率源信息安全技术有限责任公司 | 一种展示智能手机数据信息的方法 |
CN105005514A (zh) * | 2015-07-02 | 2015-10-28 | 四川效率源信息安全技术有限责任公司 | 基于安卓系统的设备的数据取证方法 |
Non-Patent Citations (1)
Title |
---|
智能移动终端应用数据取证技术研究;陈飞;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160815;第2-4章 |
Also Published As
Publication number | Publication date |
---|---|
CN106874778A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874778B (zh) | 基于Android系统的智能终端文件获取以及数据恢复系统及方法 | |
CN103023875B (zh) | 一种账户管理系统及方法 | |
CN103023710B (zh) | 一种安全测试系统和方法 | |
CN102193899B (zh) | 用于管理跨越多个环境的数据的系统和方法 | |
CN103078881B (zh) | 网络资源下载信息的分享控制系统和方法 | |
CN111901192B (zh) | 一种页面访问数据的统计方法及装置 | |
CN103118007B (zh) | 一种用户访问行为的获取方法和系统 | |
CN109936621B (zh) | 信息安全的多页面消息推送方法、装置、设备及存储介质 | |
CN101345751B (zh) | 确定作为数据库活动的起源的应用程序用户 | |
CN101771676B (zh) | 一种跨域授权的设置、鉴权方法、相关装置及系统 | |
CN102638581A (zh) | 一种cookie 信息存储方法和系统 | |
CN107798037A (zh) | 用户特征数据的获取方法及服务器 | |
CN103118138A (zh) | 一种基于云服务的消息队列流处理方法 | |
CN110489676A (zh) | 基于区块链的网页取证方法、装置、存储介质及服务器 | |
CN103139761B (zh) | 一种信息实时展示的方法和移动通讯终端 | |
CN105337993A (zh) | 一种基于动静结合的邮件安全检测装置及方法 | |
Actoriano et al. | Forensic Investigation on WhatsApp Web Using Framework Integrated Digital Forensic Investigation Framework Version 2 | |
CN113469866A (zh) | 数据处理方法、装置和服务器 | |
CN103490978A (zh) | 终端、服务器和消息监视方法 | |
CN104657359A (zh) | 一种通过网址记录网页内容和式样的方法 | |
CN109088872A (zh) | 带使用期限的云平台的使用方法、装置、电子设备及介质 | |
CN114185952A (zh) | 一种数据找回方法、装置、电子设备及存储介质 | |
CN102801640B (zh) | 一种消息审核的方法和装置 | |
US20120089849A1 (en) | Cookie management system and method | |
CN116049808A (zh) | 一种基于大数据的设备指纹采集系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210412 Address after: 430072 Hubei Province, Wuhan city Wuchang District of Wuhan University Luojiashan Patentee after: WUHAN University Address before: 430072 Room 101, building 2, No.100 Zisha Road, Wuchang District, Wuhan City, Hubei Province Patentee before: Chen Jing |
|
TR01 | Transfer of patent right |