CN114444117A - 一种云端数据取证方法及系统 - Google Patents
一种云端数据取证方法及系统 Download PDFInfo
- Publication number
- CN114444117A CN114444117A CN202111591773.8A CN202111591773A CN114444117A CN 114444117 A CN114444117 A CN 114444117A CN 202111591773 A CN202111591773 A CN 202111591773A CN 114444117 A CN114444117 A CN 114444117A
- Authority
- CN
- China
- Prior art keywords
- request
- data packet
- client
- app
- core algorithm
- 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.)
- Pending
Links
Images
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
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种云端数据取证方法及系统,该方法中包括:当客户端发起请求后,判断是否需要核心算法服务计算,如果是,构建请求数据包发送至服务端;否则直接按照对应的协议进行请求;服务端接收到请求数据包后,根据请求数据包中的接口编号采用该接口编号对应的核心算法模块对用于核心算法服务计算的参数信息进行计算,将计算结果打包后返回至请求数据包中客户端编号对应的客户端;客户端基于返回的计算结果数据包,按照逆向的请求协议要求进行请求。本发明可以大大的减少目前常用云取证技术的逆向研发投入,通过增加后台服务的方式,有效的减少了逆向成本,大大的提升了云取证的开发效率。
Description
技术领域
本发明涉及云取证技术领域,尤其涉及一种云端数据取证方法及系统。
背景技术
随着移动网络技术的发展,越来越多的APP将各类数据存放在云端,传统的取证技术可以拿到的核心数据越来越少,随之而来的是大量的云端数据的取证。例如目前国内较多的聊天类APP除了具有聊天功能,还具有交易功能,从而方便用户日常使用,而比较重要的交易类数据,一般都是存储在云端的,这样有效的保证了敏感数据的安全性。
目前传统的云取证技术主要包括基于网页协议的云取证技术、基于APP协议的云取证技术、基于仿真环境模拟的云取证技术、基于手机端流量数据截获等手段的云取证技术等,每种方案的逆向分析成本都比较高,而且开发周期也比较长。如网页协议分析和APP协议分析需要进行协议的逆向分析,可能会遇到的难题包括:JS逆向、OLLVM混淆还原、VMP脱壳等,耗费人力研究成本较大,时间较长。仿真环境模拟则由于目前主流APP为了保护数据安全,对各类Hook框架进行了检测和限制,从而导致可以使用仿真环境的APP范围也在逐渐的减少。手机端流量数据截获需要在手机端安装证书,另外需要对截获到的数据进行数据还原处理,成本也是很大的,另外用户操作复杂,在日常取证场景中并不是很适用。
发明内容
为了解决上述问题,本发明提出了一种云端数据取证方法及系统。
具体方案如下:
一种云端数据取证方法,包括以下步骤:
S1:当客户端发起APP登录请求后,判断APP登录时是否需要核心算法服务计算,如果是,根据客户端编号、需要的核心算法服务计算对应的接口编号和用于核心算法服务计算的参数信息构建请求数据包发送至服务端;进入S2;否则,直接按照APP登录协议进行APP登录操作,进入S4;
S2:服务端接收到请求数据包后,对请求数据包进行非法性判断,如果合法,则对请求数据包进行解析,根据请求数据包中的接口编号采用该接口编号对应的核心算法模块对用于核心算法服务计算的参数信息进行计算,将计算结果打包后返回至请求数据包中客户端编号对应的客户端;
S3:客户端对返回的计算结果数据包进行非法性判断,如果合法,则基于返回的计算结果数据包,按照逆向的APP登录协议要求进行APP登录操作;
S4:在APP登录成功后,当客户端发起数据获取请求后,判断获取数据时是否需要核心算法服务计算,如果是,根据客户端编号、需要的核心算法服务计算对应的接口编号和用于核心算法服务计算的参数信息构建请求数据包发送至服务端;进入S5;否则,直接按照逆向的网络协议进行数据获取请求;
S5:服务端接收到请求数据包后,对请求数据包进行非法性判断,如果合法,则对请求数据包进行解析,根据请求数据包中的接口编号采用该接口编号对应的核心算法模块对用于核心算法服务计算的参数信息进行计算,将计算结果打包后返回至请求数据包中客户端编号对应的客户端;
S6:客户端对返回的计算结果数据包进行非法性判断,如果合法,则基于返回的计算结果数据包,按照逆向的数据请求协议进行数据的获取和解析。
进一步的,在每次进行APP登录操作之后还包括:如果该次APP登录操作失败,则重新发起登录请求,重复S1-S3的步骤,直到登录次数达到第一次数阈值时结束。
进一步的,在每次进行数据获取请求后还包括:如果该次云端数据获取失败,则重新发起数据获取请求,重复S4-S6的步骤,直到数据获取请求次数达到第二次数阈值时结束。
进一步的,在客户端中通过爬虫模块来进行APP网络请求协议的模拟,包括APP登录请求和数据获取请求两部分,以实现APP的登录和云端数据的提取。
进一步的,客户端中还包括用于APP登录以及数据请求过程中进行安全验证的辅助验证模块,以辅助爬虫模块完成APP登录以及数据请求。
进一步的,服务端中每个接口对应一个核心算法处理模块,每个核心算法处理模块以so库的形式加载一种APP逆向过程中的算法。
进一步的,当服务端同时接收到多个客户端发送的请求数据包时,采用消息队列机制,并通过多线程方式进行请求数据包的处理。
一种云端数据取证系统,包括客户端和服务端,客户端和服务端均包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,可以大大的减少目前常用云取证技术的逆向研发投入,通过增加后台服务的方式,有效的减少了逆向成本,大大的提升了云取证的开发效率。
附图说明
图1所示为本发明实施例一中登录请求的流程图。
图2所示为本发明实施例一中云端数据请求的流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种云端数据取证方法,参考图1和图2所示,所述方法包括以下步骤:
S1:当客户端发起APP(应用)登录请求后,判断APP登录时是否需要核心算法服务计算,如果是,根据客户端编号、需要的核心算法服务计算对应的接口编号和用于核心算法服务计算的参数信息构建请求数据包发送至服务端;进入S2;否则,直接按照APP登录协议进行APP登录操作,进入S4。
S2:服务端接收到请求数据包后,对请求数据包进行非法性判断,如果合法,则对请求数据包进行解析,根据请求数据包中的接口编号采用该接口编号对应的核心算法模块对用于核心算法服务计算的参数信息进行计算,将计算结果打包后返回至请求数据包中客户端编号对应的客户端。
S3:客户端对返回的计算结果数据包进行非法性判断,如果合法,则基于返回的计算结果数据包,按照逆向的APP登录协议要求进行APP登录操作。
需要说明的是,由于APP登录可能失败,因此该实施例中在每次进行APP登录操作之后还包括:如果该次APP登录操作失败,则重新发起登录请求,重复S1-S3的步骤,直到登录次数达到第一次数阈值时结束。第一次数阈值本领域技术人员可以自行设定,在此不做限定。
当请求数据包或计算结果数据包不合法时,客户端重新送请求数据包至服务端。
S4:在APP登录成功后,当客户端发起数据获取请求后,判断获取云端数据时是否需要核心算法服务计算,如果是,根据客户端编号、需要的核心算法服务计算对应的接口编号和用于核心算法服务计算的参数信息构建请求数据包发送至服务端;进入S5;否则,直接按照逆向的网络协议进行数据获取请求。
S5:服务端接收到请求数据包后,对请求数据包进行非法性判断,如果合法,则对请求数据包进行解析,根据请求数据包中的接口编号采用该接口编号对应的核心算法模块对用于核心算法服务计算的参数信息进行计算,将计算结果打包后返回至请求数据包中客户端编号对应的客户端。
S6:客户端对返回的计算结果数据包进行非法性判断,如果合法,则基于返回的计算结果数据包,按照逆向的数据请求协议进行数据获取请求。
需要说明的是,由于云端数据获取可能失败,因此该实施例中在每次进行数据获取请求后还包括:如果该次云端数据获取失败,则重新发起数据获取请求,重复S4-S6的步骤,直到数据获取请求次数达到第二次数阈值时结束。第二次数阈值本领域技术人员可以自行设定,在此不做限定。
该实施例在客户端中通过爬虫模块来进行APP网络请求协议的模拟,包括APP登录请求和数据获取请求两部分,以实现APP的登录和云端数据的提取。客户端中不同APP对应不同的爬虫模块,各爬虫模块之间相互独立,负责各自对应APP的云端数据获取。
客户端中还包括用于APP登录以及数据请求过程中进行安全验证的辅助验证模块,以辅助爬虫模块完成APP登录以及数据请求。例如登录过程中的滑块、图形点击、画轨迹等安全验证。
由于本实施例中将APP逆向过程中很难突破的算法在后台进行了封装,所以需要业务系统根据自己的需要核心算法服务来与服务端中对应的接口进行通信。该实施例中为了实现安全可靠的网络通信,通信协议采用TCP/IP,数据包中的关键字段信息包括:客户端编号、接口编号、参数信息等信息。客户端编号和接口编号用于客户端与服务端特定接口之间的唯一识别,参数信息包括参数个数和参数值,其需要根据具体接口的需求进行设定。
当客户端接收到返回的计算结果数据包后,对其进行解析,并将其内的计算结果发送至爬虫模块,以使爬虫模块根据计算结果进行APP登录请求和数据获取请求。
客户端的操作系统可以采用windows或linux相关操作系统,根据业务需求来确定即可,此部分不做限制。
服务端中包括了用于对接收到的数据包进行解析和分发的插件管理模块,其解析数据包中的客户端编号和接口编号,转发给接口编号对应的核心算法处理模块进行处理。当对应的核心算法处理模块处理完成后,将结果信息返回给插件管理模块,由插件管理模块进行封装后发送至对应的客户端进行结果解析。
服务端中每个接口对应一个核心算法处理模块,用于一种核心算法服务计算。核算算法处理模块与客户端中的爬虫模块一样,针对不同的APP由不同的核心算法封装构成,将APP逆向过程中比较复杂的各类算法(如加解密算法、自定义算法等)直接以so库的形式加载,导出对应的接口函数,传入客户端传递过来的参数信息后,从而得到接口返回结果,有效的缩短了逆向过程中关于so库中所封装算法的还原时间。
Android操作系统下,常用的so库加载方式有两种,分别为:System.loadLibrary和System.load。针对Android逆向过程中难度较大的接口函数,可以采用任何一种加载方式先进行加载,然后再导出要调用的函数接口,虽然APP会进行OllVM混淆或者VMP加固,但是也不妨碍对对应so相关接口的导出,同理可以实现linux so加载原理,只不过加载和导出函数变成dlopen、dlsym而已。
对指定APP进行逆向时,最终核心算法代码都是基于Java的Jar包程序,通过后台服务化,搭建JDK运行环境,就可以实现远程进行Jar包返回参数计算,等遇到APP协议升级时,也可以通过更新后台服务算法快速支持。
网页版本爬虫经常性遇到js逆向成本高的问题,通过在协议分析时将对应的js代码复制拷贝的方式,部署在后台,当需要调用js时,通过Node.js进行js执行,从而快速的完成网页版本爬虫工作。
服务端的操作系统需要采用Android或者Linux操作系统,以对应的Android APP逆向为主要切入口,找到APP中的关键库名称和接口,从而在服务器端实现对应的加载和接口导出,从而减少了需要逆向关键接口所花费的时间(这个时间经常性会花费数周时间)。
另外当服务端同时接收到多个客户端发送的请求数据包时,目前主要采用消息队列机制,根据客户端优先级和客户端编号确定消息来源,通过多进程方式进行核心算法运算,从而有效的保证云取证效率。
本发明实施例通过前后端服务架构形式,以减少逆向成本为目的,以数据安全传输为原则,可以有效的提升逆向效率。本实施例方法重点减短各类APP的逆向还原时间,通过找到对应接口函数,以搭建后台服务架构的方式,有效的解决了在云取证过程中因为接口函数还原难度太大导致的时间浪费,一旦此技术投入使用,将使云数据提取逆向效率提升数倍。通过本实施例架构的搭建,可以大大减少特定APP云取证快速开发效率,有效的提高云端电子数据取证的可能性。
实施例二:
本发明还提供一种云端数据取证系统,包括客户端和服务端,客户端和服务端均包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述客户端和服务端均可以是手机、桌上型计算机、笔记本、掌上电脑等计算设备。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (8)
1.一种云端数据取证方法,其特征在于,包括以下步骤:
S1:当客户端发起APP登录请求后,判断APP登录时是否需要核心算法服务计算,如果是,根据客户端编号、需要的核心算法服务计算对应的接口编号和用于核心算法服务计算的参数信息构建请求数据包发送至服务端;进入S2;否则,直接按照APP登录协议进行APP登录操作,进入S4;
S2:服务端接收到请求数据包后,对请求数据包进行非法性判断,如果合法,则对请求数据包进行解析,根据请求数据包中的接口编号采用该接口编号对应的核心算法模块对用于核心算法服务计算的参数信息进行计算,将计算结果打包后返回至请求数据包中客户端编号对应的客户端;
S3:客户端对返回的计算结果数据包进行非法性判断,如果合法,则基于返回的计算结果数据包,按照逆向的APP登录协议要求进行APP登录操作;
S4:在APP登录成功后,当客户端发起数据获取请求后,判断获取数据时是否需要核心算法服务计算,如果是,根据客户端编号、需要的核心算法服务计算对应的接口编号和用于核心算法服务计算的参数信息构建请求数据包发送至服务端;进入S5;否则,直接按照逆向的网络协议进行数据获取请求;
S5:服务端接收到请求数据包后,对请求数据包进行非法性判断,如果合法,则对请求数据包进行解析,根据请求数据包中的接口编号采用该接口编号对应的核心算法模块对用于核心算法服务计算的参数信息进行计算,将计算结果打包后返回至请求数据包中客户端编号对应的客户端;
S6:客户端对返回的计算结果数据包进行非法性判断,如果合法,则基于返回的计算结果数据包,按照逆向的数据请求协议进行数据的获取和解析。
2.根据权利要求1所述的云端数据取证方法,其特征在于:在每次进行APP登录操作之后还包括:如果该次APP登录操作失败,则重新发起登录请求,重复S1-S3的步骤,直到登录次数达到第一次数阈值时结束。
3.根据权利要求1所述的云端数据取证方法,其特征在于:在每次进行数据获取请求后还包括:如果该次云端数据获取失败,则重新发起数据获取请求,重复S4-S6的步骤,直到数据获取请求次数达到第二次数阈值时结束。
4.根据权利要求1所述的云端数据取证方法,其特征在于:在客户端中通过爬虫模块来进行APP网络请求协议的模拟,包括APP登录请求和数据获取请求两部分,以实现APP的登录和云端数据的提取。
5.根据权利要求1所述的云端数据取证方法,其特征在于:客户端中还包括用于APP登录以及数据请求过程中进行安全验证的辅助验证模块,以辅助爬虫模块完成APP登录以及数据请求。
6.根据权利要求1所述的云端数据取证方法,其特征在于:服务端中每个接口对应一个核心算法处理模块,每个核心算法处理模块以so库的形式加载一种APP逆向过程中的算法。
7.根据权利要求1所述的云端数据取证方法,其特征在于:当服务端同时接收到多个客户端发送的请求数据包时,采用消息队列机制,并通过多线程方式进行请求数据包的处理。
8.一种云端数据取证系统,其特征在于:包括客户端和服务端,客户端和服务端均包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~7中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111591773.8A CN114444117A (zh) | 2021-12-23 | 2021-12-23 | 一种云端数据取证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111591773.8A CN114444117A (zh) | 2021-12-23 | 2021-12-23 | 一种云端数据取证方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114444117A true CN114444117A (zh) | 2022-05-06 |
Family
ID=81363352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111591773.8A Pending CN114444117A (zh) | 2021-12-23 | 2021-12-23 | 一种云端数据取证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114444117A (zh) |
-
2021
- 2021-12-23 CN CN202111591773.8A patent/CN114444117A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210092150A1 (en) | Advanced cybersecurity threat mitigation using behavioral and deep analytics | |
US8769693B2 (en) | Trusted installation of a software application | |
US20170126712A1 (en) | Detection mitigation and remediation of cyberattacks employing an advanced cyber-decision platform | |
CN104636678B (zh) | 一种云计算环境下对终端设备进行管控的方法和系统 | |
TW201804392A (zh) | 風險識別方法、風險識別裝置、雲風險識別裝置及系統 | |
CN105573733B (zh) | 浏览器与web前端通信的方法、web前端及系统 | |
KR102134491B1 (ko) | 보호된 데이터 세트의 네트워크 기반 관리 기법 | |
US11477245B2 (en) | Advanced detection of identity-based attacks to assure identity fidelity in information technology environments | |
CN109995523B (zh) | 激活码管理方法及装置、激活码生成方法及装置 | |
US10084637B2 (en) | Automatic task tracking | |
CN113867913A (zh) | 面向微服务的业务请求处理方法、装置、设备及存储介质 | |
CN110648241B (zh) | 一种基于微服务架构的理赔处理方法及装置 | |
CN111614624A (zh) | 风险检测方法、装置、系统及存储介质 | |
CN111614761A (zh) | 区块链消息传输方法、装置、计算机以及可读存储介质 | |
CN111917769A (zh) | 一种安全事件的自动处置方法、装置和电子设备 | |
EP3655878A1 (en) | Advanced cybersecurity threat mitigation using behavioral and deep analytics | |
CN108924086A (zh) | 一种基于安全代理的主机信息采集方法 | |
US20110161928A1 (en) | Method to Provide Transparent Process I/O Context on a Remote OS While Retaining Local Processing | |
CN108833500B (zh) | 服务调用方法、服务提供方法、数据传递方法和服务器 | |
KR20180086919A (ko) | 네트워크 보안 기능 가상화 기반의 클라우드 보안 분석 장치, 보안 정책 관리 장치 및 보안 정책 관리 방법 | |
JP2011147181A (ja) | スマートカードと通信する装置においてメッセージのハッシュを計算する方法 | |
CN113259429A (zh) | 会话保持管控方法、装置、计算机设备及介质 | |
CN111447206A (zh) | 一种js资源加密传输方法、装置、服务器及存储介质 | |
CN114444117A (zh) | 一种云端数据取证方法及系统 | |
CN110995538A (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 |