发明内容
针对相关技术存在的问题,本发明提供一种云服务数据取证方法及装置。
本发明提供一种云服务数据取证方法,包括:
获取取证用户的云服务账号对应的加密根令牌;
基于根令牌解密算法对所述加密根令牌进行解密,得到所述云服务账号的解密根令牌;
基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌;
基于所述云服务应用的目标子功能的子令牌,及所述目标子功能的云接口的访问格式和参数,从所述云服务器获取所述目标子功能的对应数据。
根据本发明提供的一种云服务数据取证方法,所述获取取证用户的云服务账号对应的加密根令牌,包括:
在所述取证用户的取证设备上运行云服务数据取证进程;
将所述云服务数据取证进程的权限提升至目标权限,调用所述云服务数据取证进程从所述取证用户的取证设备上提取全局令牌数据库文件;
对所述全局令牌数据库文件进行解析,得到所述加密根令牌。
根据本发明提供的一种云服务数据取证方法,所述根令牌解密算法和/或所述子令牌获取算法,为通过对所述云服务应用进行软件逆向工程得到的。
根据本发明提供的一种云服务数据取证方法,所述基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌,包括:
基于所述子令牌获取算法,将所述解密根令牌和云服务应用的每个子功能各自对应的子令牌的获取接口,拼接成可访问的url地址;
访问所述url地址,接收所述云服务器返回的各所述子令牌。
根据本发明提供的一种云服务数据取证方法,所述目标子功能的云接口的访问格式和参数,为通过对所述云服务应用进行软件逆向工程得到的,或者,为通过对所述云服务应用的网络数据抓包得到的。
根据本发明提供的一种云服务数据取证方法,所述目标权限,包括:系统system权限或根用户root权限。
本发明还提供一种云服务数据取证装置,包括:
第一获取模块,用于获取取证用户的云服务账号对应的加密根令牌;
解密模块,用于基于根令牌解密算法对所述加密根令牌进行解密,得到所述云服务账号的解密根令牌;
第二获取模块,用于基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌;
第三获取模块,用于基于所述云服务应用的目标子功能的子令牌,及所述目标子功能的云接口的访问格式和参数,从所述云服务器获取所述目标子功能的对应数据。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述云服务数据取证方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述云服务数据取证方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述云服务数据取证方法的步骤。
本发明提供的云服务数据取证方法,通过获取取证用户的云服务账号对应的加密根令牌,然后基于根令牌解密算法对加密根令牌进行解密,得到云服务账号的解密根令牌,接着基于子令牌获取算法和解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌,进而基于云服务应用的目标子功能的子令牌,及目标子功能的云接口的访问格式和参数,从云服务器获取目标子功能的对应数据,从而在取证工作中获得到犯罪嫌疑人的案件手机,但未能获取手机云服务账号密码的情况下,实现基于云服务账号对应的加密根令牌突破手机云服务的安全防护,有效提取犯罪嫌疑人的手机云服务数据,能够保证证据的全面性,提高取证效率。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,通过一些实施例及其应用场景对本发明提供的云服务数据取证方法进行详细地说明。
本发明提供一种云服务数据取证方法,该云服务数据取证方法可应用于电子取证场景中,通过获取取证用户的云服务账号对应的加密根令牌,然后基于根令牌解密算法对加密根令牌进行解密,得到云服务账号的解密根令牌,接着基于子令牌获取算法和解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌,进而基于云服务应用的目标子功能的子令牌,及目标子功能的云接口的访问格式和参数,从云服务器获取目标子功能的对应数据,从而在取证工作中获得到犯罪嫌疑人的案件手机,但未能获取手机云服务账号密码的情况下,实现基于云服务账号对应的加密根令牌突破手机云服务的安全防护,有效提取犯罪嫌疑人的手机云服务数据,能够保证证据的全面性,提高取证效率。
图1是本发明提供的云服务数据取证方法的流程示意图之一,如图1所示,该方法包括步骤101-步骤104,其中:
步骤101,获取取证用户的云服务账号对应的加密根令牌。
步骤102,基于根令牌解密算法对所述加密根令牌进行解密,得到所述云服务账号的解密根令牌。
步骤103,基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌。
步骤104,基于所述云服务应用的目标子功能的子令牌,及所述目标子功能的云接口的访问格式和参数,从所述云服务器获取所述目标子功能的对应数据。
需要说明的是,本发明提供的云服务数据取证方法可应用于电子取证场景中。该方法的执行主体可以为云服务数据取证装置,例如电子设备、或者该云服务数据取证装置中的用于执行云服务数据取证方法的控制模块。可以理解的是,取证用户是指被取证的对象;取证用户的云服务账号是指取证用户在云服务应用上注册的云服务账号。
这里,所述根令牌解密算法和/或所述子令牌获取算法,为通过对所述云服务应用进行软件逆向工程得到的。具体地,所述根令牌解密算法的求解过程,来自对手机厂家云服务账号核心认证应用的软件逆向工程工作。而所述子令牌获取算法的正常运行,依赖于根令牌的成功获得,所述子令牌获取算法的求解过程,来自对手机厂家云服务账号核心认证应用的软件逆向工程工作。
实际中,根令牌解密算法具体分为直接利用模拟云服务账号对应的根令牌解密算法,或者,自实现模拟云服务账号对应的根令牌解密算法。具体秘钥动态适配于所述云服务应用的版本。
所述目标子功能的云接口的访问格式和参数,为通过对所述云服务应用进行软件逆向工程得到的,或者,为通过对手机厂家云服务应用的网络数据抓包得到的。
本发明中云服务应用的子功能可以包括但不限于:云通讯录、云相册、设备记录、云盘文件、云备忘录和系统备份。
本发明提供的云服务数据取证方法,通过获取取证用户的云服务账号对应的加密根令牌,然后基于根令牌解密算法对加密根令牌进行解密,得到云服务账号的解密根令牌,接着基于子令牌获取算法和解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌,进而基于云服务应用的目标子功能的子令牌,及目标子功能的云接口的访问格式和参数,从云服务器获取目标子功能的对应数据,从而在取证工作中获得到犯罪嫌疑人的案件手机,但未能获取手机云服务账号密码的情况下,实现基于云服务账号对应的加密根令牌突破手机云服务的安全防护,有效提取犯罪嫌疑人的手机云服务数据,能够保证证据的全面性,提高取证效率。
可选地,步骤101记载的获取取证用户的云服务账号对应的加密根令牌的实现方式可以包括以下任一项:
方式1、接收操作人员输入的取证用户的云服务账号对应的加密根令牌。例如,操作人员在云服务数据取证装置,例如电子设备上输入加密根令牌。
方式2、首先,将云服务数据取证装置与取证用户的取证设备进行通信连接;然后,在取证设备上运行云服务数据取证进程;获取加密根令牌在取证设备上存储位置(如/data/system_ce/0/accounts_ce.db);将云服务数据取证进程的权限提升至目标权限,进而调用所述云服务数据取证进程从所述取证用户的取证设备上提取全局令牌数据库文件;对所述全局令牌数据库文件进行解析,得到所述加密根令牌。
具体地,目标权限至少可以访问全局令牌数据库文件。全局令牌数据库文件中包括加密根令牌;例如,全局令牌数据库文件为accounts_ce.db文件。所述目标权限可以包括:系统(system)权限或根用户(root)权限。
相关技术中在Android系统中,accounts_ce.db文件受SELinux保护,accounts_ce.db文件的权限标记为”system”;而普通APP权限和安卓调试桥(Android Debug Bridge,ADB)权限不能访问具有system权限的文件。
本发明利用Google AOSP framework层的脆弱性和手机厂家自实现软件的脆弱性,突破SELinux防护提升至accounts_ce.db对应的system权限,从而实现对数据库进行读取操作;本发明具有动态更新漏洞能力的设置,如利用手机厂家的设备管理器的脆弱性从而突破权限防护提升至system权限。
可选地,步骤103记载的基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌的实现方式可以包括:基于所述子令牌获取算法,将所述解密根令牌和云服务应用的每个子功能各自对应的子令牌的获取接口,拼接成可访问的统一资源定位符(url)地址;访问所述url地址,接收所述云服务器返回的各所述子令牌。
具体地,子令牌获取算法的作用是:基于子令牌获取算法可以将各个子令牌的的获取接口和解密根令牌按照特定方式拼接成可访问的url。在拼接得到可访问的url之后,访问所述url地址,然后动态地从云服务器上获取各所述子令牌。
本发明提供的云服务数据取证方法,通过获取取证用户的云服务账号对应的加密根令牌,然后基于根令牌解密算法对加密根令牌进行解密,得到云服务账号的解密根令牌,接着基于子令牌获取算法和解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌,进而基于云服务应用的目标子功能的子令牌,及目标子功能的云接口的访问格式和参数,从云服务器获取目标子功能的对应数据,从而在取证工作中获得到犯罪嫌疑人的案件手机,但未能获取手机云服务账号密码的情况下,实现基于云服务账号对应的加密根令牌突破手机云服务的安全防护,有效提取犯罪嫌疑人的手机云服务数据,能够保证证据的全面性,提高取证效率。
图2是本发明提供的云服务数据取证系统的结构示意图,如图2所示,该系统包括令牌提取模块201、根令牌解密模块202、子令牌提取模块203及手机云数据提取模块204,其中:
令牌提取模块201、根令牌解密模块202及子令牌提取模块203组成云服务数据取证系统的免密引擎;
子令牌提取模块203与令牌提取模块201、根令牌解密模块202及手机云数据提取模块204分别连接;
令牌提取模块201用于:在所述取证用户的取证设备上运行云服务数据取证进程;将所述云服务数据取证进程的权限提升至目标权限,调用所述云服务数据取证进程从所述取证用户的取证设备上提取全局令牌数据库文件;对所述全局令牌数据库文件进行解析,得到所述加密根令牌;
根令牌解密模块202用于:基于根令牌解密算法对所述加密根令牌进行解密,得到所述云服务账号的解密根令牌;
子令牌提取模块203用于:基于所述子令牌获取算法,将所述解密根令牌和云服务应用的每个子功能各自对应的子令牌的获取接口,拼接成可访问的url地址;访问所述url地址,接收所述云服务器返回的各所述子令牌;
手机云数据提取模块204用于:基于所述云服务应用的目标子功能的子令牌,及所述目标子功能的云接口的访问格式和参数,从所述云服务器获取所述目标子功能的对应数据。
本发明提供的云服务数据取证系统,能够在获得到犯罪嫌疑人的案件手机,但未获取手机云服务账号密码的情况下,实现基于云服务账号对应的加密根令牌突破手机云服务的安全防护,有效提取犯罪嫌疑人的手机云服务数据,能够保证证据的全面性,提高取证效率。
下面对本发明提供的云服务数据取证装置进行描述,下文描述的云服务数据取证装置与上文描述的云服务数据取证方法可相互对应参照。
图3为本发明提供的云服务数据取证装置的结构示意图,该云服务数据取证装置应用于电子设备;如图3所示,该云服务数据取证装置300包括:第一获取模块301、解密模块302、第二获取模块303及第三获取模块304;其中,
第一获取模块301,用于获取取证用户的云服务账号对应的加密根令牌;
解密模块302,用于基于根令牌解密算法对所述加密根令牌进行解密,得到所述云服务账号的解密根令牌;
第二获取模块303,用于基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌;
第三获取模块304,用于基于所述云服务应用的目标子功能的子令牌,及所述目标子功能的云接口的访问格式和参数,从所述云服务器获取所述目标子功能的对应数据。
本发明提供的云服务数据取证装置,通过获取取证用户的云服务账号对应的加密根令牌,然后基于根令牌解密算法对加密根令牌进行解密,得到云服务账号的解密根令牌,接着基于子令牌获取算法和解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌,进而基于云服务应用的目标子功能的子令牌,及目标子功能的云接口的访问格式和参数,从云服务器获取目标子功能的对应数据,从而在取证工作中获得到犯罪嫌疑人的案件手机,但未能获取手机云服务账号密码的情况下,实现基于云服务账号对应的加密根令牌突破手机云服务的安全防护,有效提取犯罪嫌疑人的手机云服务数据,能够保证证据的全面性,提高取证效率。
可选地,第一获取模块301具体用于:
在所述取证用户的取证设备上运行云服务数据取证进程;
将所述云服务数据取证进程的权限提升至目标权限,调用所述云服务数据取证进程从所述取证用户的取证设备上提取全局令牌数据库文件;
对所述全局令牌数据库文件进行解析,得到所述加密根令牌。
可选地,所述根令牌解密算法和/或所述子令牌获取算法,为通过对所述云服务应用进行软件逆向工程得到的。
可选地,第二获取模块303具体用于:
基于所述子令牌获取算法,将所述解密根令牌和云服务应用的每个子功能各自对应的子令牌的获取接口,拼接成可访问的url地址;
访问所述url地址,接收所述云服务器返回的各所述子令牌。
可选地,所述目标子功能的云接口的访问格式和参数,为通过对所述云服务应用进行软件逆向工程得到的,或者,为通过对所述云服务应用的网络数据抓包得到的。
可选地,所述目标权限,包括:系统system权限或根用户root权限。
本发明提供的云服务数据取证装置能够实现图1所示方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
图4是本发明提供的电子设备的结构示意图之一,如图4所示,本发明提供的电子设备400,包括处理器401,存储器402,存储在存储器402上并可在所述处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现上述电子设备侧的云服务数据取证方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图5是本发明提供的电子设备的结构示意图之二,如图5所示,该电子设备500,可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行云服务数据取证方法,该方法包括:获取取证用户的云服务账号对应的加密根令牌;基于根令牌解密算法对所述加密根令牌进行解密,得到所述云服务账号的解密根令牌;基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌;基于所述云服务应用的目标子功能的子令牌,及所述目标子功能的云接口的访问格式和参数,从所述云服务器获取所述目标子功能的对应数据。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各方法所提供的云服务数据取证方法,该方法包括:获取取证用户的云服务账号对应的加密根令牌;基于根令牌解密算法对所述加密根令牌进行解密,得到所述云服务账号的解密根令牌;基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌;基于所述云服务应用的目标子功能的子令牌,及所述目标子功能的云接口的访问格式和参数,从所述云服务器获取所述目标子功能的对应数据。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的云服务数据取证方法,该方法包括:获取取证用户的云服务账号对应的加密根令牌;基于根令牌解密算法对所述加密根令牌进行解密,得到所述云服务账号的解密根令牌;基于子令牌获取算法和所述解密根令牌,从云服务器获取云服务应用的每个子功能各自对应的子令牌;基于所述云服务应用的目标子功能的子令牌,及所述目标子功能的云接口的访问格式和参数,从所述云服务器获取所述目标子功能的对应数据。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。