CN105373729B - 一种信息处理方法和系统 - Google Patents

一种信息处理方法和系统 Download PDF

Info

Publication number
CN105373729B
CN105373729B CN201510993331.4A CN201510993331A CN105373729B CN 105373729 B CN105373729 B CN 105373729B CN 201510993331 A CN201510993331 A CN 201510993331A CN 105373729 B CN105373729 B CN 105373729B
Authority
CN
China
Prior art keywords
function
information
application program
parameter information
executable file
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
Application number
CN201510993331.4A
Other languages
English (en)
Other versions
CN105373729A (zh
Inventor
曹阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510993331.4A priority Critical patent/CN105373729B/zh
Publication of CN105373729A publication Critical patent/CN105373729A/zh
Application granted granted Critical
Publication of CN105373729B publication Critical patent/CN105373729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/54Monitoring 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 adding security routines or objects to programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种信息处理方法和系统,其中,所述方法包括:预先在目标可执行文件中注入钩子函数;在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。通过本发明解决了在软件或应用程序加固之后,技术人员难以获取到原文件,进而导致无法准确判断出所述应用程序中携带有病毒代码,存在严重的安全隐患的问题。

Description

一种信息处理方法和系统
技术领域
本发明涉及安全技术领域,特别是涉及一种信息处理方法和系统。
背景技术
安卓(Android)平台发展迅速,已经逐渐成为了移动终端的最普及的操作系统,同时基于其中的软件应用数目也十分巨大,与其他移动终端操作系统相比,安卓系统为应用开发者提供了更多的功能接口,其中很多系统底层接口,提高了系统的可扩展性,但同时也为恶意软件提供了便利,针对安卓系统的木马等恶意软件也更容易被实现,目前已有的针对安卓系统的恶意软件可以通过伪装的方式,骗取用户安装并授予一定的权限,之后滥用这些权限在后台执行一些特定行为,包括窃取用户隐私骗取资费等行为。然而与之并生的安全问题却始终没有得到良好的解决,安全威胁越来越多,且威胁程度也在逐步加深,无论对开发者还是用户都带来了不良的影响。
而且对于一些正常的安卓系统应用,也存在通过非法拷贝、逆向工程、反编译、调试、破解、二次打包、内存截取等手段来威胁安卓系统的安全,不仅危害了使用用户,也给正常应用开发者造成严重的损害。
基于以上问题,现有技术中出现了多种安卓应用的安全加固方法,通过对安卓应用进行加密、防反编译、防代码混淆等加固措施。然而加固过程会导致原文件的变形,特别是携带有病毒代码的应用程序,在加固之后,技术人员难以获取到原文件,进而导致无法准确判断出所述应用程序中携带有病毒代码,存在严重的安全隐患。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种信息处理方法和系统。
依据本发明的一个方面,提供了一种信息处理方法,包括:
预先在目标可执行文件中注入钩子函数;
在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;
根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。
依据本发明的另一个方面,提供了一种信息处理系统,包括:
注入模块,用于预先在目标可执行文件中注入钩子函数;
获取模块,用于在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;
分析模块,用于根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。
本发明实施例公开了一种信息处理方案,可以预先在目标可执行文件中注入钩子函数;在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。可见,在本发明实施例中,可以获取应用程序在执行过程中涉及的调用信息,以根据所述调用信息对应用程序进行分析,确定应用程序的安全性。其次,由于可以通过钩子函数直接获取到系统调用对应的参数信息,该参数信息是原始参数信息,因此,本发明实施例所述的信息处理方案不受应用程序的加固影响,无论调用的文件是否发生变形或加密,均可获取到原始的调用信息,保证了对应用程序分析的准确性,提高了应用程序使用的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例一中一种信息处理方法的步骤流程图;
图2是本发明实施例二中一种信息处理方法的步骤流程图;
图3是本发明实施例三中一种信息处理系统的结构框图;
图4是本发明实施例三中一种优选的信息处理系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了本发明实施例一中一种信息处理方法的步骤流程图。在本实施例中,所述信息处理方法包括:
步骤102,预先在目标可执行文件中注入钩子函数。
术语“钩子”涵盖了用于通过拦截在软件组件之间传递的函数调用、消息、或事件来改变或增加操作系统、应用程序、或其他软件组件的行为的技术。而处理这种被拦截的函数调用、事件或消息的代码就被称为钩子函数。钩子函数通常用于各种目标,包括对功能进行调试和对功能进行扩展。其示例可以包括在键盘或鼠标事件传递到应用程序之前拦截它们,或者拦截系统调用(system call),以监视或修改应用程序或其他组件的功能等等。本实施例即可采用钩子函数接管应用程序运行时的系统调用。
步骤104,在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息。
步骤106,根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。
综上所述,本实施例所述的信息处理方法,可以预先在目标可执行文件中注入钩子函数;在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。可见,在本实施例中,可以获取应用程序在执行过程中涉及的调用信息,以根据所述调用信息对应用程序进行分析,确定应用程序的安全性。
其次,由于可以通过钩子函数直接获取到系统调用对应的参数信息,该参数信息是原始参数信息,因此,本实施例所述的信息处理方法不受应用程序的加固影响,无论调用的文件是否发生变形或加密,均可获取到原始的调用信息,保证了对应用程序分析的准确性,提高了应用程序使用的安全性。
实施例二
参照图2,示出了本发明实施例二中一种信息处理方法的步骤流程图。在本实施例中,所述信息处理方法包括:
步骤202,预先在目标可执行文件中注入钩子函数。
目前,移动终端系统对于Root权限的管理较为严格,通常情况下多数应用或程序都不具备Root权限,因此对于某些需要具备Root权限的操作就无法执行,例如安装或卸载应用等操作。其中,Root权限是指Unix类操作系统(包括Linux、Android)的系统管理员权限,类似于Windows(视窗)系统中的Administrator(管理员)权限;Root权限可以访问和修改用户的移动设备中几乎所有的文件(Android系统文件及用户文件,不包括ROM)。
在本实施例中,为了保证钩子函数的成功注入,可以通过如下方式获取Root权限:通过调用系统内置的SU(Super User,超级用户)命令获取Root权限,或者通过获取具有Root权限的shell获取Root权限并在shell中启动进程。其中,Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行。换而言之,用户输入的命令一般是通过Shell来执行。
在本实施例中,可以基于Linux可执行文件ELF(Executable Linking Format,是Linux中的可执行文件,用于存放可执行代码)的感染接触原理来实现所述钩子函数的注入。也即,所述可执行文件具体可以是Shell中的ELF文件。具体地:可以从系统的用户界面Shell中获取目标可执行文件(ELF文件);复制所述目标可执行文件的可执行代码;向所述可执行代码中注入所述钩子函数。进一步优选地,在必要时,还可以加入用于实现对钩子函数进行自校验的校验代码。
步骤204,对所述系统调用进行监控。
在本实施例中,可以通过监控模块对系统调用进行监控。具体地,可以将所述监控模块注册为服务进程,与应用程序活动进程的调用指令关联;通过所述关联的监控模块对所述系统调用进行监控。
进一步优选地,在监控模块与应用程序活动进程的调用指令关联时具体可以通过特定的钩子函数进行关联,所述监控模块可以利用所述特定的钩子函数对相关调用指令的入口点进行监视,截获系统调用。
在本实施例的另一优选方案中,可以通过第一函数对系统调用进行监控。其中,所述监控模块中携带有所述第一函数,所述第一函数用于提供父进程观察和控制其他进程执行的机制。
例如,所述第一函数具体可以是ptrace()函数。ptrace()函数提供父进程观察和控制另一个进程执行的机制,同时提供查询和修改另一进程的核心影像与寄存器的能力。主要用于执行断点调试和系统调用跟踪。父进程可通过调用fork()函数,接着指定所产生的子进程的PTRACE_TRACEME行为,最后使用exec等操作来初始化一个进程跟踪。当子进程被跟踪时,每次接收到信号都会停止执行,即使不对信号进行处理。父进程下次执行调用时,会接收到核心的通告,并检查和修改已停止的子进程。父进程使子进程继续执行,并有可能忽略接收到的信号。
步骤206,在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息。
在本实施例中,钩子函数可以用于接管应用程序运行时的系统调用,以获取系统调用对应的参数信息。
优选地,在本实施例中,可以通过钩子函数关联第二函数,以通过所述第二函数获取所述系统调用对应的参数信息。其中,所述第二函数用于装入并运行其它程序。
例如,所述第二函数具体可以是execv()函数。可以通过与execv()函数的钩子函数监控并获取execv()函数的返回消息,便可实现对系统调用对应的参数信息的获取。
步骤208,根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。
在本实施例中,所述调用信息包括但不仅限于如下信息中的至少一种:所述应用程序在执行过程中对应执行的命令信息、和调用的动态链接库信息。
以so文件(so文件是linux的动态链接库)为例进行说明,在某些加固APK(AndroidPackage,Android安装包)中,会对加固APK中的so文件进行变形,或对so文件的某些代码节区进行加密。在本实施例中,通过对所述参数信息的分析,可以获取应用程序执行过程中对应的原始so文件。此外,进一步地,还可以获取应用程序在执行过程中对应执行的命令信,以及参数传递过程和环境变量等信息,本实施例对此不作限制。
综上所述,本实施例所述的信息处理方法,可以预先在目标可执行文件中注入钩子函数;在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。可见,在本实施例中,可以获取应用程序在执行过程中涉及的调用信息,以根据所述调用信息对应用程序进行分析,确定应用程序的安全性。
其次,由于可以通过钩子函数直接获取到系统调用对应的参数信息,该参数信息是原始参数信息,因此,本实施例所述的信息处理方法不受应用程序的加固影响,无论调用的文件是否发生变形或加密,均可获取到原始的调用信息,保证了对应用程序分析的准确性,提高了应用程序使用的安全性。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
实施例三
基于与上述方法实施例同一发明构思,参照图3,示出了本发明实施例三中一种信息处理系统的结构框图。
在本实施例中,所述信息处理系统包括:
注入模块302,用于预先在目标可执行文件中注入钩子函数。
获取模块304,用于在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息。
优选地,所述获取模块304在通过所述钩子函数获取所述系统调用对应的参数信息时,具体可以包括:通过钩子函数关联第二函数;通过所述第二函数获取所述系统调用对应的参数信息。其中,所述第二函数用于装入并运行其它程序。
分析模块306,用于根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。
在本实施例中,优选地,所述调用信息包括如下信息中的至少一种:所述应用程序在执行过程中对应执行的命令信息、和调用的动态链接库信息。
参照图4,示出了本发明实施例三中一种优选的信息处理系统的结构框图。
优选地,在本实施例中,所述信息处理系统还可以包括:监控模块308,用于对所述系统调用进行监控。具体地,所述监控模块308可以被注册为服务进程,并与应用程序活动进程的调用指令关联,以对所述系统调用进行监控。
在本实施例中,监控模块308中携带有第一函数;其中,所述第一函数用于提供父进程观察和控制其他进程执行的机制。也即,所述监控模块308可以通过所述第一函数对所述系统调用进行监控。
参照图4,优选地,所述注入模块302可以包括:获取子模块3022,用于从系统的用户界面中获取所述目标可执行文件;复制子模块3024,用于复制所述目标可执行文件的可执行代码;注入子模块3026,用于向所述可执行代码中注入所述钩子函数。
需要说明的是,在本实施例中,所述目标可执行文件可以是所述系统的用户界面中的ELF文件。
综上所述,本实施例所述的信息处理系统,可以预先在目标可执行文件中注入钩子函数;在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。可见,在本实施例中,可以获取应用程序在执行过程中涉及的调用信息,以根据所述调用信息对应用程序进行分析,确定应用程序的安全性。
其次,由于可以通过钩子函数直接获取到系统调用对应的参数信息,该参数信息是原始参数信息,因此,本实施例所述的信息处理系统不受应用程序的加固影响,无论调用的文件是否发生变形或加密,均可获取到原始的调用信息,保证了对应用程序分析的准确性,提高了应用程序使用的安全性。
对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种信息处理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种信息处理方法,包括:
预先在目标可执行文件中注入钩子函数;
在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;
根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。
A2、根据A1所述的方法,还包括:对所述系统调用进行监控。
A3、根据A2所述的方法,所述对所述系统调用进行监控,包括:
将监控模块注册为服务进程,并与应用程序活动进程的调用指令关联;
通过所述关联的监控模块对所述系统调用进行监控。
A4、根据A3所述的方法,所述监控模块中携带有第一函数;其中,所述第一函数用于提供父进程观察和控制其他进程执行的机制。
A5、根据A1所述的方法,所述预先在目标可执行文件中注入钩子函数,包括:
从系统的用户界面中获取所述目标可执行文件;
复制所述目标可执行文件的可执行代码;
向所述可执行代码中注入所述钩子函数。
A6、根据A5所述的方法,所述目标可执行文件为所述系统的用户界面中的ELF文件。
A7、根据A1所述的方法,所述通过所述钩子函数获取所述系统调用对应的参数信息,包括:
通过钩子函数关联第二函数;其中,所述第二函数用于装入并运行其它程序;
通过所述第二函数获取所述系统调用对应的参数信息。
A8、根据A1所述的方法,所述调用信息包括如下信息中的至少一种:所述应用程序在执行过程中对应执行的命令信息、和调用的动态链接库信息。
本发明还公开了B9、一种信息处理系统,包括:
注入模块,用于预先在目标可执行文件中注入钩子函数;
获取模块,用于在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;
分析模块,用于根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息。
B10、根据B9所述的系统,还包括:
监控模块,用于对所述系统调用进行监控。
B11、根据B10所述的系统,所述监控模块被注册为服务进程,并与应用程序活动进程的调用指令关联,以对所述系统调用进行监控。
B12、根据B11所述的系统,所述监控模块中携带有第一函数;其中,所述第一函数用于提供父进程观察和控制其他进程执行的机制。
B13、根据B9所述的系统,所述注入模块,包括:
获取子模块,用于从系统的用户界面中获取所述目标可执行文件;
复制子模块,用于复制所述目标可执行文件的可执行代码;
注入子模块,用于向所述可执行代码中注入所述钩子函数。
B14、根据B13所述的系统,所述目标可执行文件为所述系统的用户界面中的ELF文件。
B15、根据B9所述的系统,所述获取模块在通过所述钩子函数获取所述系统调用对应的参数信息时,包括:
通过钩子函数关联第二函数;其中,所述第二函数用于装入并运行其它程序;
通过所述第二函数获取所述系统调用对应的参数信息。
B16、根据B9所述的系统,所述调用信息包括如下信息中的至少一种:所述应用程序在执行过程中对应执行的命令信息、和调用的动态链接库信息。

Claims (16)

1.一种信息处理方法,包括:
预先在目标可执行文件中注入钩子函数;
在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;其中,所述参数信息是原始参数信息;
根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息;其中,所述调用信息包括原始文件。
2.根据权利要求1所述的方法,其特征在于,还包括:对所述系统调用进行监控。
3.根据权利要求2所述的方法,其特征在于,所述对所述系统调用进行监控,包括:
将监控模块注册为服务进程,并与应用程序活动进程的调用指令关联;
通过所述关联的监控模块对所述系统调用进行监控。
4.根据权利要求3所述的方法,其特征在于,所述监控模块中携带有第一函数;其中,所述第一函数用于提供父进程观察和控制其他进程执行的机制。
5.根据权利要求1所述的方法,其特征在于,所述预先在目标可执行文件中注入钩子函数,包括:
从系统的用户界面中获取所述目标可执行文件;
复制所述目标可执行文件的可执行代码;
向所述可执行代码中注入所述钩子函数。
6.根据权利要求5所述的方法,其特征在于,所述目标可执行文件为所述系统的用户界面中的ELF文件。
7.根据权利要求1所述的方法,其特征在于,所述通过所述钩子函数获取所述系统调用对应的参数信息,包括:
通过钩子函数关联第二函数;其中,所述第二函数用于装入并运行其它程序;
通过所述第二函数获取所述系统调用对应的参数信息。
8.根据权利要求1所述的方法,其特征在于,所述调用信息包括如下信息中的至少一种:所述应用程序在执行过程中对应执行的命令信息、和调用的动态链接库信息。
9.一种信息处理系统,包括:
注入模块,用于预先在目标可执行文件中注入钩子函数;获取模块,用于在监控到应用程序对应的系统调用时,通过所述钩子函数获取所述系统调用对应的参数信息;其中,所述参数信息是原始参数信息;
分析模块,用于根据对所述参数信息的分析,得到所述应用程序在执行过程中的调用信息;其中,所述调用信息为原始文件。
10.根据权利要求9所述的系统,其特征在于,还包括:
监控模块,用于对所述系统调用进行监控。
11.根据权利要求10所述的系统,其特征在于,所述监控模块被注册为服务进程,并与应用程序活动进程的调用指令关联,以对所述系统调用进行监控。
12.根据权利要求11所述的系统,其特征在于,所述监控模块中携带有第一函数;其中,所述第一函数用于提供父进程观察和控制其他进程执行的机制。
13.根据权利要求9所述的系统,其特征在于,所述注入模块,包括:
获取子模块,用于从系统的用户界面中获取所述目标可执行文件;
复制子模块,用于复制所述目标可执行文件的可执行代码;
注入子模块,用于向所述可执行代码中注入所述钩子函数。
14.根据权利要求13所述的系统,其特征在于,所述目标可执行文件为所述系统的用户界面中的ELF文件。
15.根据权利要求9所述的系统,其特征在于,所述获取模块在通过所述钩子函数获取所述系统调用对应的参数信息时,包括:
通过钩子函数关联第二函数;其中,所述第二函数用于装入并运行其它程序;
通过所述第二函数获取所述系统调用对应的参数信息。
16.根据权利要求9所述的系统,其特征在于,所述调用信息包括如下信息中的至少一种:所述应用程序在执行过程中对应执行的命令信息、和调用的动态链接库信息。
CN201510993331.4A 2015-12-24 2015-12-24 一种信息处理方法和系统 Active CN105373729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510993331.4A CN105373729B (zh) 2015-12-24 2015-12-24 一种信息处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510993331.4A CN105373729B (zh) 2015-12-24 2015-12-24 一种信息处理方法和系统

Publications (2)

Publication Number Publication Date
CN105373729A CN105373729A (zh) 2016-03-02
CN105373729B true CN105373729B (zh) 2018-04-13

Family

ID=55375919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510993331.4A Active CN105373729B (zh) 2015-12-24 2015-12-24 一种信息处理方法和系统

Country Status (1)

Country Link
CN (1) CN105373729B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930744B (zh) * 2016-04-22 2019-03-08 北京奇虎科技有限公司 一种文件加固方法及装置
CN106681884B (zh) * 2016-06-28 2018-09-04 腾讯科技(深圳)有限公司 一种系统调用的监控方法和装置
CN106709330B (zh) * 2016-07-29 2020-04-21 腾讯科技(深圳)有限公司 记录文件执行行为的方法及装置
CN106709325B (zh) * 2016-11-11 2020-09-25 腾讯科技(深圳)有限公司 一种监控程序的方法及装置
CN106778235B (zh) * 2016-11-24 2020-02-14 北京瑞星网安技术股份有限公司 Linux文件操作控制方法及装置
CN106598858B (zh) * 2016-12-14 2019-10-22 合一网络技术(北京)有限公司 资源调用分析方法及装置
CN106874769B (zh) * 2016-12-30 2019-05-24 腾讯科技(深圳)有限公司 漏洞的防御方法和装置
CN108536434B (zh) * 2018-01-09 2020-03-17 武汉斗鱼网络科技有限公司 一种基于高级程序设计语言实现钩子函数的方法及装置
RU2697948C1 (ru) * 2018-04-19 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ выявления уязвимостей с использованием перехвата вызовов функций
CN112256339B (zh) * 2019-07-22 2023-11-03 百度在线网络技术(北京)有限公司 多进程管理方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294590A (zh) * 2012-02-28 2013-09-11 腾讯科技(深圳)有限公司 应用程序运行中的处理方法和装置
CN105072255A (zh) * 2015-07-10 2015-11-18 北京奇虎科技有限公司 移动设备隐私权限控制方法、装置及相应的手机设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294590A (zh) * 2012-02-28 2013-09-11 腾讯科技(深圳)有限公司 应用程序运行中的处理方法和装置
CN105072255A (zh) * 2015-07-10 2015-11-18 北京奇虎科技有限公司 移动设备隐私权限控制方法、装置及相应的手机设备

Also Published As

Publication number Publication date
CN105373729A (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN105373729B (zh) 一种信息处理方法和系统
US10534701B1 (en) API driven continuous testing systems for testing disparate software
Sun et al. OAT: Attesting operation integrity of embedded devices
US10013553B2 (en) Protecting software application
CN109726560A (zh) 终端设备系统防护方法及装置
Lalande et al. Software countermeasures for control flow integrity of smart card C codes
US20220067174A1 (en) Automated Application Vulnerability And Risk Assessment
CN100492300C (zh) 在微处理器实现的设备上执行进程的系统和方法
CN105204916B (zh) 基于环境变量的项目进程运行方法及装置
Holzinger et al. An in-depth study of more than ten years of java exploitation
CN105608391B (zh) 多elf文件保护方法及系统
Shi et al. Handling anti-virtual machine techniques in malicious software
Chen et al. Instaguard: Instantly deployable hot-patches for vulnerable system programs on android
US20240143739A1 (en) Intelligent obfuscation of mobile applications
Bognar et al. Mind the gap: Studying the insecurity of provably secure embedded trusted execution architectures
CN112231198B (zh) 一种恶意进程调试方法、装置、电子设备及介质
US20190102279A1 (en) Generating an instrumented software package and executing an instance thereof
CN104965701A (zh) 获取应用信息的方法及装置
US20210034343A1 (en) Systems, Methods and Storage Media for Producing Verifiable Protected Code
Zhou et al. Save the Bruised Striver: A Reliable Live Patching Framework for Protecting Real-World PLCs
Gustafson et al. Shimware: Toward Practical Security Retrofitting for Monolithic Firmware Images
EP3316171A1 (en) Apparatus and method for dynamic binary analysis on hardware board
El-Zoghby et al. NG-MVEE: A new proposed hybrid technique for enhanced mitigation of code re-use attack
Kwon et al. Static detection of unsafe component loadings
Obaidat et al. DAEDALUS: Defense Against Firmware ROP Exploits Using Stochastic Software Diversity

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20220802

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right