CN111026609A - 一种信息审计方法、系统、设备及计算机可读存储介质 - Google Patents
一种信息审计方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111026609A CN111026609A CN201911243665.4A CN201911243665A CN111026609A CN 111026609 A CN111026609 A CN 111026609A CN 201911243665 A CN201911243665 A CN 201911243665A CN 111026609 A CN111026609 A CN 111026609A
- Authority
- CN
- China
- Prior art keywords
- instant messaging
- messaging tool
- target
- target instant
- dynamic library
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种信息审计方法、系统、设备及计算机可读存储介质,开启目标即时通讯工具的root权限;加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库;通过预设动态库获取目标即时通讯工具中的审计数据。本申请提供的一种信息审计方法,通过开启目标即时通讯工具的root权限,记载预设动态库至目标即时通讯工具的进程中,最后再通过预设动态库获取目标即时通讯工具中的审计数据,实现在不更改目标即时通讯工具的二进制文件的情况下,获取目标即时通讯工具的审计数据,与现有技术相比,可靠性强。本申请提供的一种信息审计系统、设备及计算机可读存储介质也解决了相应技术问题。
Description
技术领域
本申请涉及信息处理技术领域,更具体地说,涉及一种信息审计方法、系统、设备及计算机可读存储介质。
背景技术
随着通信技术的发展,用户对目标即时通讯工具的选择也越来越多样性,在用户应用目标即时通讯工具的过程中,可能需要对用户的聊天信息进行审计。
现有的一种聊天信息审计方法是静态注入方法,即通过修改目标即时通讯工具的二进制文件,在二进制文件中添加加载用于获取审计数据的动态库的命令来实现代码注入,以此通过动态库来获取审计数据。
但是,现有的静态注入方法修改了目标即时通讯工具的二进制文件,存在法律风险,可靠性差。
综上所述,如何提高信息审计方法的可靠性是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种信息审计方法,其能在一定程度上解决如何提高信息审计方法的可靠性的技术问题。本申请还提供了一种信息审计系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种信息审计方法,包括:
开启目标即时通讯工具的root权限;
加载预设动态库至所述目标即时通讯工具的进程中,所述预设动态库为用于获取审计数据的动态库;
通过所述预设动态库获取所述目标即时通讯工具中的所述审计数据。
优选的,所述开启目标即使通讯工具的root权限,包括:
基于所述目标即时通讯工具的信息,为监控进程编写配置文件,所述监控进程为监控所述目标即时通讯工具的进程;
设置所述配置文件的KeepAlive属性为true;
修改所述配置文件的所有者为root;
将所述配置文件放置至所述监控进程所对应的目录。
优选的,所述加载预设动态库至所述目标即时通讯工具的进程中,包括:
获取所述目标即时通讯工具的进程的任务信息;
基于所述任务信息,将所述目标即时通讯工具的进程的地址空间更改为可读可写可执行;
将加载所述预设动态库的代码写入至所述目标即时通讯工具的进程;
跳转执行所述目标即时通讯工具的进程。
优选的,所述加载预设动态库至所述目标即时通讯工具的进程中之前,还包括:
判断所述目标即时通讯工具是否应用了沙盒机制;
若是,则将所述预设动态库拷贝至所述目标即时通讯工具的沙盒目录下;
所述通过所述预设动态库获取所述目标即时通讯工具中的所述审计数据之后,还包括:
在所述沙盒目录下,读取所述审计数据。
优选的,所述通过所述预设动态库获取所述目标即时通讯工具中的所述审计数据,包括:
确定出所述目标即时通讯工具中的目标API,所述目标API为用于获取所述审计数据的API;
通过所述预设动态库,调用所述目标API获取所述审计数据。
优选的,所述确定出所述目标即时通讯工具中的目标API,包括:
dump出所述目标即时通讯工具的头文件;
基于所述头文件中的API名称确定出所述目标API。
优选的,所述确定出所述目标即时通讯工具中的目标API,包括:
实时跟踪所述目标即时通讯工具中的函数调用,得到函数调用结果;
基于所述函数调用结果确定出所述目标API。
优选的,所述确定出所述目标即时通讯工具中的目标API,包括:
查看和分析所述目标即时通讯工具中函数的反汇编代码;
基于所述反汇编代码确定所述目标API。
优选的,所述预设动态库为包含钩子函数的动态库;所述目标API包括发送消息的函数、接收消息的函数;
所述通过所述预设动态库,调用所述目标API获取所述审计数据,包括:
将所述钩子函数挂钩至所述目标API;
在所述目标即时通讯工具调用所述目标API时,通过所述钩子函数调用所述目标API获取所述审计数据,之后控制所述目标即时通讯工具跳转回所述目标API。
一种信息审计系统,包括:
第一开启模块,用于开启目标即时通讯工具的root权限;
第一加载模块,用于加载预设动态库至所述目标即时通讯工具的进程中,所述预设动态库为用于获取审计数据的动态库;
第一获取模块,用于通过所述预设动态库获取所述目标即时通讯工具中的所述审计数据。
一种信息审计设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述信息审计方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述信息审计方法的步骤。
本申请提供的一种信息审计方法,开启目标即时通讯工具的root权限;加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库;通过预设动态库获取目标即时通讯工具中的审计数据。本申请提供的一种信息审计方法,通过开启目标即时通讯工具的root权限,记载预设动态库至目标即时通讯工具的进程中,最后再通过预设动态库获取目标即时通讯工具中的审计数据,实现在不更改目标即时通讯工具的二进制文件的情况下,获取目标即时通讯工具的审计数据,与现有技术相比,可靠性强。本申请提供的一种信息审计系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为可执行文件的结构图;
图2为可执行文件的头部示意图;
图3为加载命令的示例图;
图4为本申请实施例提供的一种信息审计方法的第一流程图;
图5为本申请实施例提供的一种信息审计方法的第二流程图;
图6为本申请实施例提供的一种信息审计方法的第三流程图;
图7为应用场景示意图;
图8为本申请实施例提供的一种信息审计系统的结构示意图;
图9为本申请实施例提供的一种信息审计设备的结构示意图;
图10为本申请实施例提供的一种信息审计设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着通信技术的发展,用户对目标即时通讯工具的选择也越来越多样性,在用户应用目标即时通讯工具的过程中,可能需要对用户的聊天信息进行审计。现有的一种聊天信息审计方法是静态注入方法,即通过修改目标即时通讯工具的二进制文件,在二进制文件中添加加载用于获取审计数据的动态库的命令来实现代码注入,以此通过动态库来获取审计数据。
然而,二进制文件就是程序的可执行文件,请参阅图1、图2和图3,图1为可执行文件的结构图,图2为可执行文件的头部示意图,图3为加载命令的示例图;由图1可知,可执行文件可以分为三个区域:Mach-O头(Mach Header),描述了Mach-O的CPU架构、文件类型以及加载命令等信息,如图2所示;加载命令(Load Command),描述了文件中数据的具体组织结构,不同的数据类型使用不同的加载命令表示,其中就包含有程序启动时需要加载的动态库,如图3;数据区(Data),Data中每一个段(Segment)的数据都保存在此,用来存放数据和代码。在二进制文件的应用过程中,如果软件开发时添加了代码签名校验机制,那么二进制文件的最后还会有一个code signature段,存储了对该文件以及一些其他文件的校验结果,用于防止文件篡改,这样,软件启动时会对这些文件重新校验,并将结果与codesignature中的结果进行比对,若结果不一致,则系统发出指令结束进程。因此,静态注入的原理是修改Load Command段,在这个段的最后人为地添加一条加载动态库的指令,如图三,同时修改文件头中的ncmds(指令个数),sizeofcmds(指令的总大小)字段到正确的值,最后如果存在签名则移除代码签名段,否则程序会因为代码签名的机制无法启动;做完以上三点,程序就会在启动的时候加载指定的动态库,达到代码注入的目的。
但是,现有的静态注入方法修改了目标即时通讯工具的二进制文件,存在法律风险,可靠性差。而本申请提供的一种信息审计方法可以提高信息审计方法的可靠性。
请参阅图4,图4为本申请实施例提供的一种信息审计方法的第一流程图。
本申请实施例提供的一种信息审计方法,可以包括以下步骤:
步骤S101:开启目标即时通讯工具的root权限。
实际应用中,可以先开启目标即时通讯工具的root权限,使得可以拥有对目标即时通讯工具的操作权限,实现对目标即时通讯工具的操作,并且不会影响目标即时通讯工具的法律状态。应当指出,目标即时通讯工具的类型可以根据实际需要确定,本申请在此不做具体限定;另外,本申请中的root是计算机语言,指的是拥有系统的所有权限。
步骤S102:加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库。
实际应用中,在开启目标即时通讯工具的root权限后,便可以加载预设动态库至目标即时通讯工具的进程中,以在目标即时通讯工具中运行预设动态库。应当指出,预设动态库中的数据内容可以根据实际需要确定,只需能够获取到目标即时通讯工具中的审计数据即可。
步骤S103:通过预设动态库获取目标即时通讯工具中的审计数据。
实际应用中,由于加载预设动态库至目标即时通讯工具的进程中后,便可以在目标即时通讯工具中运行预设动态库,并且预设动态库为获取审计数据的动态库,所以可以通过预设动态库获取目标即时通讯工具中的审计数据。
应当指出,目标即时通讯工具中的审计数据的内容可以根据具体应用场景来确定,比如审计数据可以包括用户在应用目标即时通讯工具时的聊天信息,用户在应用目标即时通讯工具时操作的文件等;具体应用场景中,在获取审计数据后,还可以对用户应用目标即时通讯工具的情景进行还原,比如在用户应用目标即时通讯工具发送文件时,可以根据审计数据中用户发送文件前后的聊天信息,来还原出用户发送文件的原因等。
本申请提供的一种信息审计方法,开启目标即时通讯工具的root权限;加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库;通过预设动态库获取目标即时通讯工具中的审计数据。本申请提供的一种信息审计方法,通过开启目标即时通讯工具的root权限,记载预设动态库至目标即时通讯工具的进程中,最后再通过预设动态库获取目标即时通讯工具中的审计数据,实现在不更改目标即时通讯工具的二进制文件的情况下,获取目标即时通讯工具的审计数据,与现有技术相比,可靠性强。
请参阅图5,图5为本申请实施例提供的一种信息审计方法的第二流程图。
本申请实施例提供的一种信息审计方法,可以包括以下步骤:
步骤S201:基于目标即时通讯工具的信息,为监控进程编写配置文件,监控进程为监控目标即时通讯工具的进程。
实际应用中,在开启目标即时通讯工具的root权限时,可以先基于目标即时通讯工具的信息,为监控进程编写配置文件,由于配置文件反映了目标即时通讯工具的信息,并且监控进程为监控目标即时通讯工具的进程,所以监控进程可以基于配置文件对目标即时通讯工具进行监控。
具体应用场景中,可以只在配置文件中写入目标即时通讯工具的标识信息,这样,监控进程在查看到配置文件中的相应标识信息后,便可以对目标即时通讯工具进行监控。应当指出,配置文件反应目标即时通讯工具的方式可以根据实际需要确定,本申请在此不做具体限定。
步骤S202:设置配置文件的KeepAlive属性为true。
步骤S203:修改配置文件的所有者为root。
实际应用中,在基于目标即时通讯工具的信息,为监控进程编写配置文件后,监控进程便可以对目标即时通讯工具进程监控,但此时,目标即时通讯工具的root权限仍未开启,为了开启目标即时通讯工具的root权限,需要将配置文件的KeepAlive属性设置为true(真),以此保证配置文件能够被目标即时通信工具应用,并且将配置文件的所有者修改为root,这样,监控进程便可以根据配置文件开启目标即时通讯工具的root权限。
步骤S204:将配置文件放置至监控进程所对应的目录。
实际应用中,为了使得配置文件发挥作用,还需将配置文件放置至监控进程所对应的目录下,这样,监控进程才可以真正运行配置文件开启目标即时通讯工具的root权限。
步骤S205:加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库。
步骤S206:通过预设动态库获取目标即时通讯工具中的审计数据。
本申请实施例提供的一种信息审计方法中,加载预设动态库至目标即时通讯工具的进程中的过程,具体可以包括:
步骤一:获取目标即时通讯工具的进程的任务信息。
步骤二:基于任务信息,将目标即时通讯工具的进程的地址空间更改为可读可写可执行。
步骤三:将加载预设动态库的代码写入至目标即时通讯工具的进程。
步骤四:跳转执行目标即时通讯工具的进程。
也即实际应用中,可以将加载预设动态库的代码写入目标即时通讯工具的进程中,再跳转执行目标即时通讯工具的进程来运行该代码,从而将预设动态库记载至目标即时通讯工具的进程中。应当指出,由于需要将加载预设动态库的代码写入目标即时通讯工具的进程中,加载预设动态库的代码会对目标即时通讯工具的进程带来影响,比如影响目标即时通讯工具的进程中其他代码的运行等,所以可以先获取目标即时通讯工具的进程的任务信息,根据获取的任务信息,将目标即时通讯工具的进程的地址空间更改为可读可写可执行,使得后续可以在目标即时通讯工具的进程中写入代码并运行写入的代码。
具体应用场景中,在基于任务信息,将目标即时通讯工具的进程的地址空间更改为可读可写可执行时,可以根据任务信息来判定目标即时通讯工具的进程的工作压力、运行的任务的重要程度等,来决定将目标即时通讯工具的进程的地址空间更改为可读可写可执行的执行时刻,比如可以先根据任务信息,判断目标即时通讯工具的进程的工作压力,若目标即时通讯工具的进程的工作压力较轻,则可以直接将目标即时通讯工具的进程的地址空间更改为可读可写可执行,若目标即时通讯工具的进程的工作压力较大,则可以延迟一段时间后,再将目标即时通讯工具的进程的地址空间更改为可读可写可执行;当然,在基于任务信息,将目标即时通讯工具的进程的地址空间更改为可读可写可执行时,还可以根据任务信息判断目标即时通讯工具的进程正在运行的任务是否为重要任务,若否,则可以直接将目标即时通讯工具的进程的地址空间更改为可读可写可执行,若是,则可以延迟一段时间后,再将目标即时通讯工具的进程的地址空间更改为可读可写可执行等。
请参阅图6,图6为本申请实施例提供的一种信息审计方法的第三流程图。
本申请实施例提供的一种信息审计方法,可以包括以下步骤:
步骤S301:开启目标即时通讯工具的root权限。
步骤S302:判断目标即时通讯工具是否应用了沙盒机制;若是,则执行步骤S303;若否,则执行步骤S307。
步骤S303:将预设动态库拷贝至目标即时通讯工具的沙盒目录下。
步骤S304:加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库。
步骤S305:通过预设动态库获取目标即时通讯工具中的审计数据。
步骤S306:在沙盒目录下,读取审计数据。
实际应用中,目标即时通讯工具的运行环境不可控,为了保证目标即时通讯工具的安全性,可能为目标即时通讯工具设置沙盒机制,而由于沙盒机制的特殊性,为了保证预设动态库能够发挥作用,在加载预设动态库至目标即时通讯工具的进程中之前,还需要判断目标即时通讯工具是否应用了沙盒机制,若是,则将预设动态库拷贝至目标即时通讯工具的沙盒目录下,并执行后续加载预设动态库至目标即时通讯工具的进程中的步骤,若否,则可以直接执行后续加载预设动态库至目标即时通讯工具的进程中的步骤;相应的,在通过预设动态库获取目标即时通讯工具中的审计数据之后,获取的审计数据会保存在沙盒目录下,因此,可以在沙盒目录下,读取审计数据。应当指出,具体应用场景中,审计数据可以以日志的形式保存在沙盒目录下。
步骤S307:加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库。
步骤S308:通过预设动态库获取目标即时通讯工具中的审计数据。
本申请实施例提供的一种信息审计方法中,在通过预设动态库获取目标即时通讯工具中的审计数据时,可以先确定出目标即时通讯工具中的目标API(ApplicationProgramming Interface,应用程序接口),目标API为用于获取审计数据的API;再通过预设动态库,调用目标API获取审计数据。
具体应用场景中,在确定出目标即时通讯工具中的目标API时,可以dump(备份)出目标即时通讯工具的头文件,基于头文件中的API名称确定出目标API;或者,实时跟踪目标即时通讯工具中的函数调用,得到函数调用结果,基于函数调用结果确定出目标API,具体的,可以通过工具frida实时跟踪目标即时通讯工具中的函数调用;或者,查看和分析目标即时通讯工具中函数的反汇编代码,基于反汇编代码确定目标API,具体的,可以通过工具hopper查看和分析目标即时通讯工具中函数的反汇编代码。
本申请实施例提供的一种信息审计方法中,由于HOOK(挂钩)技术可以方便的调用目标API,并且用户在应用目标即时通讯工具时主要进行信息的接收和发送,因此,可以将预设动态库设置为包含钩子函数的动态库,将目标API设定为发送消息的函数、接收消息的函数等;此时,在通过预设动态库,调用目标API获取审计数据时,可以将钩子函数挂钩至目标API;在目标即时通讯工具调用目标API时,通过钩子函数调用目标API获取审计数据,之后控制目标即时通讯工具跳转回目标API。
应当指出,目标API中还可以包括除发送消息的函数、接收消息的函数之外的、其他用于获取审计数据的函数。
为了便于理解,现结合图7所示的应用场景,对本申请提供的信息审计方法进行描述。在图7所示的应用场景中,包括客户端、网络端、服务端、审计端,客户端通过网络端与服务端进行信息交互,审计端对客户端进行信息审计。则审计端对客户端进行信息审计的过程可以如下:
审计端基于客户端应用的目标即时通讯工具的信息,为客户端的监控进程编写配置文件,监控进程为客户端中监控目标即时通讯工具的进程;
审计端设置配置文件的KeepAlive属性为true;
审计端修改配置文件的所有者为root;
审计端将配置文件放置至客户端中监控进程所对应的目录;
审计端加载预设动态库至目标即时通讯工具在客户端的对应进程中,预设动态库为用于获取审计数据的动态库;
审计端通过预设动态库获取目标即时通讯工具中的审计数据。
请参阅图8,图8为本申请实施例提供的一种信息审计系统的结构示意图。
本申请实施例提供的一种信息审计系统,可以包括:
第一开启模块101,用于开启目标即时通讯工具的root权限;
第一加载模块102,用于加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库;
第一获取模块103,用于通过预设动态库获取目标即时通讯工具中的审计数据。
本申请实施例提供的一种信息审计系统,第一开启模块可以包括:
第一编写子模块,用于基于目标即时通讯工具的信息,为监控进程编写配置文件,监控进程为监控目标即时通讯工具的进程;
第一设置子模块,用于设置配置文件的KeepAlive属性为true;
第一修改子模块,用于修改配置文件的所有者为root;
第一放置子模块,用于将配置文件放置至监控进程所对应的目录。
本申请实施例提供的一种信息审计系统,第一加载模块可以包括:
第一获取单元,用于获取目标即时通讯工具的进程的任务信息;
第一更改单元,用于基于任务信息,将目标即时通讯工具的进程的地址空间更改为可读可写可执行;
第一写入单元,用于将加载预设动态库的代码写入至目标即时通讯工具的进程;
第一执行单元,用于跳转执行目标即时通讯工具的进程。
本申请实施例提供的一种信息审计系统,还可以包括:
第一判断模块,用于第一加载模块加载预设动态库至目标即时通讯工具的进程中之前,判断目标即时通讯工具是否应用了沙盒机制;若是,则将预设动态库拷贝至目标即时通讯工具的沙盒目录下;
第一读取模块,用于第一获取模块通过预设动态库获取目标即时通讯工具中的审计数据之后,在沙盒目录下,读取审计数据。
本申请实施例提供的一种信息审计系统,第一获取模块可以包括:
第一确定子模块,用于确定出目标即时通讯工具中的目标API,目标API为用于获取审计数据的API;
第一调用子模块,用于通过预设动态库,调用目标API获取审计数据。
本申请实施例提供的一种信息审计系统,第一确定子模块可以包括:
第一处理单元,用于dump出目标即时通讯工具的头文件;
第一确定单元,用于基于头文件中的API名称确定出目标API。
本申请实施例提供的一种信息审计系统,第一确定子模块可以包括:
第一跟踪单元,用于实时跟踪目标即时通讯工具中的函数调用,得到函数调用结果;
第二确定单元,用于基于函数调用结果确定出目标API。
本申请实施例提供的一种信息审计系统,第一确定子模块可以包括:
第一分析单元,用于查看和分析目标即时通讯工具中函数的反汇编代码;
第三确定单元,用于基于反汇编代码确定目标API。
本申请实施例提供的一种信息审计系统,预设动态库可以为包含钩子函数的动态库;目标API可以包括发送消息的函数、接收消息的函数;
第一调用子模块可以包括:
第一挂钩单元,用于将钩子函数挂钩至目标API;
第一调用单元,用于在目标即时通讯工具调用目标API时,通过钩子函数调用目标API获取审计数据,之后控制目标即时通讯工具跳转回目标API。
本申请还提供了一种信息审计设备及计算机可读存储介质,其均具有本申请实施例提供的一种信息审计方法具有的对应效果。请参阅图9,图9为本申请实施例提供的一种信息审计设备的结构示意图。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
开启目标即时通讯工具的root权限;
加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库;
通过预设动态库获取目标即时通讯工具中的审计数据。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于目标即时通讯工具的信息,为监控进程编写配置文件,监控进程为监控目标即时通讯工具的进程;设置配置文件的KeepAlive属性为true;修改配置文件的所有者为root;将配置文件放置至监控进程所对应的目录。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:获取目标即时通讯工具的进程的任务信息;基于任务信息,将目标即时通讯工具的进程的地址空间更改为可读可写可执行;将加载预设动态库的代码写入至目标即时通讯工具的进程;跳转执行目标即时通讯工具的进程。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:加载预设动态库至目标即时通讯工具的进程中之前,判断目标即时通讯工具是否应用了沙盒机制;若是,则将预设动态库拷贝至目标即时通讯工具的沙盒目录下;通过预设动态库获取目标即时通讯工具中的审计数据之后,在沙盒目录下,读取审计数据。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:确定出目标即时通讯工具中的目标API,目标API为用于获取审计数据的API;通过预设动态库,调用目标API获取审计数据。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:dump出目标即时通讯工具的头文件;基于头文件中的API名称确定出目标API。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:实时跟踪目标即时通讯工具中的函数调用,得到函数调用结果;基于函数调用结果确定出目标API。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:查看和分析目标即时通讯工具中函数的反汇编代码;基于反汇编代码确定目标API。
本申请实施例提供的一种信息审计设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:预设动态库为包含钩子函数的动态库;目标API包括发送消息的函数、接收消息的函数;将钩子函数挂钩至目标API;在目标即时通讯工具调用目标API时,通过钩子函数调用目标API获取审计数据,之后控制目标即时通讯工具跳转回目标API。
请参阅图10,本申请实施例提供的另一种信息审计设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现信息审计设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
开启目标即时通讯工具的root权限;
加载预设动态库至目标即时通讯工具的进程中,预设动态库为用于获取审计数据的动态库;
通过预设动态库获取目标即时通讯工具中的审计数据。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于目标即时通讯工具的信息,为监控进程编写配置文件,监控进程为监控目标即时通讯工具的进程;设置配置文件的KeepAlive属性为true;修改配置文件的所有者为root;将配置文件放置至监控进程所对应的目录。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:获取目标即时通讯工具的进程的任务信息;基于任务信息,将目标即时通讯工具的进程的地址空间更改为可读可写可执行;将加载预设动态库的代码写入至目标即时通讯工具的进程;跳转执行目标即时通讯工具的进程。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:加载预设动态库至目标即时通讯工具的进程中之前,判断目标即时通讯工具是否应用了沙盒机制;若是,则将预设动态库拷贝至目标即时通讯工具的沙盒目录下;通过预设动态库获取目标即时通讯工具中的审计数据之后,在沙盒目录下,读取审计数据。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:确定出目标即时通讯工具中的目标API,目标API为用于获取审计数据的API;通过预设动态库,调用目标API获取审计数据。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:dump出目标即时通讯工具的头文件;基于头文件中的API名称确定出目标API。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:实时跟踪目标即时通讯工具中的函数调用,得到函数调用结果;基于函数调用结果确定出目标API。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:查看和分析目标即时通讯工具中函数的反汇编代码;基于反汇编代码确定目标API。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:预设动态库为包含钩子函数的动态库;目标API包括发送消息的函数、接收消息的函数;将钩子函数挂钩至目标API;在目标即时通讯工具调用目标API时,通过钩子函数调用目标API获取审计数据,之后控制目标即时通讯工具跳转回目标API。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种信息审计系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种信息审计方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种信息审计方法,其特征在于,包括:
开启目标即时通讯工具的root权限;
加载预设动态库至所述目标即时通讯工具的进程中,所述预设动态库为用于获取审计数据的动态库;
通过所述预设动态库获取所述目标即时通讯工具中的所述审计数据。
2.根据权利要求1所述的方法,其特征在于,所述开启目标即使通讯工具的root权限,包括:
基于所述目标即时通讯工具的信息,为监控进程编写配置文件,所述监控进程为监控所述目标即时通讯工具的进程;
设置所述配置文件的KeepAlive属性为true;
修改所述配置文件的所有者为root;
将所述配置文件放置至所述监控进程所对应的目录。
3.根据权利要求2所述的方法,其特征在于,所述加载预设动态库至所述目标即时通讯工具的进程中,包括:
获取所述目标即时通讯工具的进程的任务信息;
基于所述任务信息,将所述目标即时通讯工具的进程的地址空间更改为可读可写可执行;
将加载所述预设动态库的代码写入至所述目标即时通讯工具的进程;
跳转执行所述目标即时通讯工具的进程。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述加载预设动态库至所述目标即时通讯工具的进程中之前,还包括:
判断所述目标即时通讯工具是否应用了沙盒机制;
若是,则将所述预设动态库拷贝至所述目标即时通讯工具的沙盒目录下;
所述通过所述预设动态库获取所述目标即时通讯工具中的所述审计数据之后,还包括:
在所述沙盒目录下,读取所述审计数据。
5.根据权利要求4所述的方法,其特征在于,所述通过所述预设动态库获取所述目标即时通讯工具中的所述审计数据,包括:
确定出所述目标即时通讯工具中的目标API,所述目标API为用于获取所述审计数据的API;
通过所述预设动态库,调用所述目标API获取所述审计数据。
6.根据权利要求5所述的方法,其特征在于,所述确定出所述目标即时通讯工具中的目标API,包括:
dump出所述目标即时通讯工具的头文件;
基于所述头文件中的API名称确定出所述目标API。
7.根据权利要求5所述的方法,其特征在于,所述确定出所述目标即时通讯工具中的目标API,包括:
实时跟踪所述目标即时通讯工具中的函数调用,得到函数调用结果;
基于所述函数调用结果确定出所述目标API。
8.根据权利要求5所述的方法,其特征在于,所述确定出所述目标即时通讯工具中的目标API,包括:
查看和分析所述目标即时通讯工具中函数的反汇编代码;
基于所述反汇编代码确定所述目标API。
9.根据权利要求5所述的方法,其特征在于,所述预设动态库为包含钩子函数的动态库;所述目标API包括发送消息的函数、接收消息的函数;
所述通过所述预设动态库,调用所述目标API获取所述审计数据,包括:
将所述钩子函数挂钩至所述目标API;
在所述目标即时通讯工具调用所述目标API时,通过所述钩子函数调用所述目标API获取所述审计数据,之后控制所述目标即时通讯工具跳转回所述目标API。
10.一种信息审计系统,其特征在于,包括:
第一开启模块,用于开启目标即时通讯工具的root权限;
第一加载模块,用于加载预设动态库至所述目标即时通讯工具的进程中,所述预设动态库为用于获取审计数据的动态库;
第一获取模块,用于通过所述预设动态库获取所述目标即时通讯工具中的所述审计数据。
11.一种信息审计设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至9任一项所述信息审计方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述信息审计方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911243665.4A CN111026609B (zh) | 2019-12-06 | 2019-12-06 | 一种信息审计方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911243665.4A CN111026609B (zh) | 2019-12-06 | 2019-12-06 | 一种信息审计方法、系统、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026609A true CN111026609A (zh) | 2020-04-17 |
CN111026609B CN111026609B (zh) | 2021-11-19 |
Family
ID=70204562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911243665.4A Active CN111026609B (zh) | 2019-12-06 | 2019-12-06 | 一种信息审计方法、系统、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026609B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024865A (zh) * | 2021-10-29 | 2022-02-08 | 中国电信股份有限公司 | 基于Linux进程函数的网络审计方法、装置、系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209594A (zh) * | 2016-07-20 | 2016-12-07 | 北京北信源软件股份有限公司 | 一种终端审计im即时消息的方法 |
CN106326735A (zh) * | 2015-07-02 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 防注入的方法和装置 |
CN108965105A (zh) * | 2018-06-11 | 2018-12-07 | 山东华软金盾软件股份有限公司 | 一种审计tim聊天内容的方法 |
CN109271414A (zh) * | 2018-12-05 | 2019-01-25 | 北京安华金和科技有限公司 | 一种基于ipc的数据库本地通信的审计方法 |
-
2019
- 2019-12-06 CN CN201911243665.4A patent/CN111026609B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326735A (zh) * | 2015-07-02 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 防注入的方法和装置 |
CN106209594A (zh) * | 2016-07-20 | 2016-12-07 | 北京北信源软件股份有限公司 | 一种终端审计im即时消息的方法 |
CN108965105A (zh) * | 2018-06-11 | 2018-12-07 | 山东华软金盾软件股份有限公司 | 一种审计tim聊天内容的方法 |
CN109271414A (zh) * | 2018-12-05 | 2019-01-25 | 北京安华金和科技有限公司 | 一种基于ipc的数据库本地通信的审计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024865A (zh) * | 2021-10-29 | 2022-02-08 | 中国电信股份有限公司 | 基于Linux进程函数的网络审计方法、装置、系统 |
CN114024865B (zh) * | 2021-10-29 | 2023-08-08 | 中国电信股份有限公司 | 基于Linux进程函数的网络审计方法、装置、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111026609B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799817B (zh) | 用于使用虚拟化技术进行恶意软件保护的系统和方法 | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
US9679130B2 (en) | Pervasive package identifiers | |
US8473941B2 (en) | Dynamic file system restriction for portable storage devices | |
US20230036357A1 (en) | Method and apparatus for authority control, computer device and storage medium | |
WO2016019893A1 (zh) | 应用安装的方法和装置 | |
CN112165482B (zh) | 数据处理方法、装置、计算机设备及介质 | |
CN104036194A (zh) | 一种应用程序中泄露隐私数据的漏洞检测方法及装置 | |
CN104572197A (zh) | 一种启动项的处理方法和装置 | |
CN111026609B (zh) | 一种信息审计方法、系统、设备及计算机可读存储介质 | |
CN114253579A (zh) | 一种基于白名单机制的软件更新方法、装置及介质 | |
CN107392010B (zh) | 执行Root操作的方法及装置、终端设备、存储介质 | |
CN109597662B (zh) | 移动终端中非公开库的调用方法、装置及电子设备 | |
CN108875372B (zh) | 一种代码检测方法、装置、电子设备及存储介质 | |
CN117112047B (zh) | 一种usb设备的管控方法、设备及存储介质 | |
CN110515751B (zh) | 一种加载运行VxWorks实时保护进程的方法及系统 | |
CN110968852A (zh) | 一种虚拟机密码管理方法、系统、设备及计算机存储介质 | |
US9104518B2 (en) | Wireless communication terminal and method for securely running industry software | |
CN111008375B (zh) | 一种数据保护方法及装置 | |
CN109918122B (zh) | 白名单维护方法、装置及终端设备 | |
CN116775147B (zh) | 一种可执行文件处理方法、装置、设备及存储介质 | |
CN111274554B (zh) | 小程序的api调用方法、装置、设备和介质 | |
CN116340904A (zh) | 应用运行保护方法、装置、设备及存储介质 | |
CN113407933A (zh) | 内核函数加固方法、装置、存储介质及电子设备 | |
CN114138691A (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 |