CN102693395B - 一种用于拦截应用程序对服务的调用的方法和装置 - Google Patents

一种用于拦截应用程序对服务的调用的方法和装置 Download PDF

Info

Publication number
CN102693395B
CN102693395B CN201210187455.XA CN201210187455A CN102693395B CN 102693395 B CN102693395 B CN 102693395B CN 201210187455 A CN201210187455 A CN 201210187455A CN 102693395 B CN102693395 B CN 102693395B
Authority
CN
China
Prior art keywords
application program
service
information
address
title
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
CN201210187455.XA
Other languages
English (en)
Other versions
CN102693395A (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 Hongxiang Technical Service 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 CN201210187455.XA priority Critical patent/CN102693395B/zh
Publication of CN102693395A publication Critical patent/CN102693395A/zh
Priority to US14/405,846 priority patent/US9697353B2/en
Priority to PCT/CN2013/076453 priority patent/WO2013182006A1/zh
Application granted granted Critical
Publication of CN102693395B publication Critical patent/CN102693395B/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
    • 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

本发明提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法和装置。所述方法包括:将拦截动态库加载到服务所在的进程;将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址;在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的名称和信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址;以及基于所述第二地址,根据所述应用程序的名称和/或信息来执行处理。本发明提高了电子设备操作系统的安全性。

Description

一种用于拦截应用程序对服务的调用的方法和装置
技术领域
本发明涉及电子设备操作系统的系统安全,特别涉及一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法和装置。
背景技术
近年来,安装有操作系统的电子设备、特别是便携式电子设备(例如,移动电话、平板电脑等)变得越来越普及。与之相应地,运行在这些电子设备的操作系统上的应用程序的数量也有了呈几何级数的爆炸式增长。以iOS系统和Android系统为例,目前这两个系统上的应用程序分别超过了60万个和40万个。
尽管海量的应用程序给用户带来了更多的选择,但随之而来的安全性问题也值得关注。以Android系统为例,系统的部分重要功能通过服务接口的形式提供,譬如读取联系人信息是通过数据源服务(即系统的一个进程,该进程加载了数据源服务对象,并且提供接口)来进行的,任何需要读取联系人信息的程序都需要通过接口来向该服务申请读取联系人信息。
这种服务的接口基于Binder通讯机制,调用接口的流程如下:应用程序发出对某个服务的接口请求,发送服务名称和接口序号->服务的总路由查询服务,并登记调用者,让其等待->服务的总路由分配客户的请求到具体服务->具体服务执行对自己接口的调用->具体服务返回接口调用的结果->服务的总路由拿到结果,并返回给登记过的应用程序->客户程序拿到接口请求的结果。
目前,Android系统本身不具备拦截的机制,只是在恶意程序安装之前告知系统用户此程序可能会访问某些服务,但是对于应用程序是否是恶意程序不做判断。目前,存在一些针对恶意程序进行拦截的方案。例如,通过向系统注册假服务的方式实现拦截,但是这种方式会在进行拦截的系统中留下明显的假服务名称,很容易被恶意程序发现,进而使拦截失效。
发明内容
为了至少解决上述技术问题,本发明提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法和装置。
根据本发明第一方面,提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法,包括:
将拦截动态库加载到服务所在的进程;
将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址;
在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的名称和信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址;以及
基于所述第二地址,根据所述应用程序的名称和/或信息来执行处理。
优选地,根据所述应用程序的名称和/或信息来执行处理的步骤包括:通过将所述应用程序的名称和/或信息与预先定义的数据库中的信息进行比较,而(a)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果,或者(b)向所述应用程序返回预先定义的服务结果。
优选地,根据所述应用程序的名称来执行处理的步骤包括:在所述应用程序的名称包含在预先定义的数据库中的白名单中时,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者,在所述应用程序的名称包含在预先定义的数据库中的黑名单中时,向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的名称未包含在预先定义的数据库中的白名单和黑名单中时,显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
优选地,根据所述应用程序的信息来执行处理的步骤包括:在所述应用程序的信息包含预先定义的数据库中的特征数据时,向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的信息不包含预先定义的数据库中的特征数据时,显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
优选地,根据在电子设备上通过操作系统的选择来执行处理的步骤包括:在选择了允许所述应用程序对所述服务的调用的情况下,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在选择了不允许所述应用程序对所述服务的调用的情况下,向所述应用程序返回预先定义的服务结果。
优选地,所述方法还包括在将拦截动态库加载到服务所在的进程的步骤之前暂停所述进程,以及在将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址的步骤之后恢复所述进程。
优选地,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
优选地,所述操作系统是Android系统,所述应用程序通过Android系统的Binder机制对所述服务进行调用。
优选地,所述输入输出控制函数是Binder机制中的IOCTL函数。
优选地,在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的名称和信息和所述调用的信息。
根据本发明第二方面,提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的装置,包括:
加载模块,用于将拦截动态库加载到服务所在的进程;
第一替换模块,用于将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址;
第二替换模块,用于在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的名称和信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址;以及
处理模块,用于基于所述第二地址,根据所述应用程序的名称和/或信息来执行处理。
优选地,所述处理模块通过将所述应用程序的名称和/或信息与预先定义的数据库中的信息进行比较,而(a)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果,或者(b)向所述应用程序返回预先定义的服务结果。
优选地,在所述应用程序的名称包含在预先定义的数据库中的白名单中时,所述处理模块根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者,在所述应用程序的名称包含在预先定义的数据库中的黑名单中时,所述处理模块向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的名称未包含在预先定义的数据库中的白名单和黑名单中时,所述处理模块显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
优选地,在所述应用程序的信息包含预先定义的数据库中的特征数据时,所述处理模块向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的信息不包含预先定义的数据库中的特征数据时,所述处理模块显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
优选地,在所述应用程序对所述服务的调用被选择为允许的情况下,所述处理模块根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在所述应用程序对所述服务的调用被选择为不允许的情况下,所述处理模块向所述应用程序返回预先定义的服务结果。
优选地,所述装置还包括用于在所述加载模块将拦截动态库加载到服务所在的进程之前暂停所述进程的暂停模块、以及用于在所述第一替换模块将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址之后恢复所述进程的恢复模块。
优选地,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
优选地,所述操作系统是Android系统,所述应用程序通过Android系统的Binder机制对所述服务进行调用。
优选地,所述输入输出控制函数是Binder机制中的IOCTL函数。
优选地,在应用程序对所述服务进行调用时,所述第二替换模块基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的名称和信息和所述调用的信息。
本发明提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法和装置。本发明能够在应用程序对服务进行调用时,对于调用进行拦截,并利用预先定义的数据库中的白名单、黑名单、以及特征数据来判断该应用程序是受信任的应用程序还是恶意应用程序。在应用程序和调用的信息与上述数据库中的信息均不吻合的情况下,还可以显示应用程序的名称和信息和调用的信息,这样就可以根据这些信息来选择是否允许应用程序对服务的调用。在例如恶意应用程序对服务调用的情况下,就可以直接拒绝该调用或者选择拒绝该调用,并向恶意应用程序返回该调用成功的虚假服务结果,使恶意应用程序无法发现,从而提高了系统的安全性。
附图说明
根据以下结合附图的详细描述,本发明的以上和其它目的和特征将变得更加清楚,其中:
图1是根据本发明的实施例的用于拦截电子设备的操作系统中应用程序对服务的调用的方法的流程图;
图2是根据本发明的实施例的在电子设备上通过操作系统对于调用进行选择的示例视图;以及
图3是根据本发明的实施例的用于拦截电子设备的操作系统中应用程序对服务的调用的装置的框图。
具体实施方式
在以下的详细描述中,为了说明和示例的目的,描述若干个具体细节,以便提供对于各实施例的全面理解。然而,对于本领域普通技术人员而言,可以在没有这些具体细节的情况下实现这些实施例。在以下描述中使用的部件名称仅仅是为了容易说明,而不是为了进行任何限制。
图1是根据本发明的实施例的用于拦截电子设备的操作系统中应用程序对服务的调用的方法的流程图。根据本发明,所述电子设备包括但不限于安装有操作系统的以下电子设备:移动电话、平板电脑、笔记本计算机、导航仪、音频和/或视频播放器、收音机、移动电视、多功能遥控器等便携式计算设备;台式计算机、大型计算机、打印机、传真机、复印机、多功能一体机、机顶盒、公共信息查询设备、多媒体信息交互设备等固定式计算设备;以及其它安装有操作系统的电子设备。
在下文中,以安装有Android系统的移动电话为例,对本发明的原理进行示例性描述,然而此描述仅仅是示例性的,本发明的范围并不限于此,本发明的原理也可以适用于安装有其它操作系统(例如Linux、iOS、Window Phone、Symbian等)的任何电子设备,例如前面提及的那些电子设备。
在用于拦截电子设备的操作系统中应用程序对服务的调用的方法100中,以下以应用程序通过Android系统的Binder机制对服务进行调用为例进行描述,但此描述仅仅是示例性的,本发明也适用于其它通信机制。
根据本发明,预先在Android系统中找到各个服务所在的进程,在步骤S101中,将拦截动态库加载到服务所在的进程。根据本发明的实施例,例如可以通过Android系统所基于的Linux系统提供的应用程序编程接口(Application Programming Interface,API)dlopen来将该拦截动态库加载到所述服务所在的进程。根据本发明的实施例,在步骤S101执行之前,可以暂停所述进程,例如可以通过Linux系统提供的应用程序编程接口ptrace来实现此暂停操作。
在上述步骤S101之后,执行步骤S102,其中,将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址。根据本发明的实施例,所述输入输出控制函数是Binder机制中的IOCTL函数。所述拦截动态库的第一地址用于执行所述拦截动态库。在步骤S102执行之后,可以恢复所述进程。
接下来,在步骤S103中,在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的名称和信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址。根据本发明的实施例,在所述应用程序通过Binder机制来对所述服务进行调用时,将到达所述IOCTL函数,由于IOCTL函数的地址已经被替换为所述拦截动态库的第一地址,因此就将基于所述第一地址执行所述拦截动态库。此时,所述拦截动态库就可以通过所述IOCTL函数而先于Android系统获得所述应用程序的名称和信息和所述调用的信息。
根据本发明的实施例,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。将所述要被调用的服务的地址替换为所述拦截动态库的第二地址,可以基于该第二地址来根据所述应用程序的名称和/或信息来执行处理。
由于所述要被调用的服务的地址已经被替换为所述拦截动态库的第二地址,因此,在步骤S104中,就将基于所述第二地址,根据所述应用程序的名称和/或信息来执行处理。
根据本发明的实施例,基于所述第二地址,通过将所述应用程序的名称和/或信息与预先定义的数据库中的信息进行比较,而(a)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果,或者(b)向所述应用程序返回预先定义的服务结果。
根据本发明的实施例,所述预先定义的服务结果可以例如是表示所述调用已经成功的服务结果,以便令所述应用程序认为其对于所述服务的调用已经成功,而对于根据本发明的实施例所进行的拦截一无所知。
所述预先定义的数据库可以包含应用程序白名单、黑名单、以及特征数据。所述白名单可以包含已知的受信任的应用程序的名称(包括程序的UID(唯一标识符)和程序的包名),所述黑名单可以包含已知的恶意应用程序的名称(包括程序的UID(唯一标识符)和程序的包名),所述特征数据可以包含已知的恶意特征(例如广告特征)的数据。
根据本发明的实施例,可以分别利用应用程序的名称和信息、或者结合两者来对于所述应用程序的身份进行判断,进而采取相应的处理。
具体而言,在利用应用程序的名称来对于所述应用程序的身份进行判断时:在所述应用程序的名称包含在所述预先定义的数据库中的白名单中时,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者,在所述应用程序的名称包含在预先定义的数据库中的黑名单中时,向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的名称未包含在预先定义的数据库中的白名单和黑名单中时,显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
也就是说,当应用程序的名称包含在白名单中时,判定该应用程序为受信任的应用程序,允许其对于服务的调用,从而根据所述服务的地址执行调用,并向该应用程序返回实际服务结果;当应用程序的名称包含在黑名单中时,判定该应用软件为恶意应用程序,拒绝其对于服务的调用,直接向其返回虚假的服务结果,使其认为调用已经成功;而当应用程序的名称既未包含在白名单、也未包含在黑名单中时,则显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。具体而言,在选择了允许所述应用程序对所述服务的调用的情况下,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在选择了不允许所述应用程序对所述服务的调用的情况下,向所述应用程序返回预先定义的服务结果。上述对于调用的选择例如可以是用户在看到显示在电子设备的显示屏上的所述应用程序的名称和信息和所述调用的信息之后,通过电子设备的操作系统来进行选择的。
图2是根据本发明的实施例的在电子设备上通过操作系统对于调用进行选择的示例视图。参见图2,将应用程序的名称和信息和调用的信息显示在移动电话的显示屏上,并向用户询问是否允许所述应用程序对所述服务的调用。在用户选择了允许所述应用程序对所述服务的调用的情况下,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在用户选择了不允许所述应用程序对所述服务的调用的情况下,向所述应用程序返回预先定义的服务结果。
而在利用应用程序的信息来对于所述应用程序的身份进行判断时:在所述应用程序的信息包含所述预先定义的数据库中的特征数据时,向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的信息不包含所述预先定义的数据库中的特征数据时,显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
也就是说,当应用程序的信息(例如程序包配置信息)包含所述特征数据(例如广告特征的数据)时,即判断此应用程序为恶意应用程序,拒绝其对于服务的调用,直接向其返回虚假的服务结果,使其认为调用已经成功;而当应用程序的信息不包含所述特征数据时,执行上述参考图2描述的步骤,在用户选择了允许所述应用程序对所述服务的调用的情况下,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在用户选择了不允许所述应用程序对所述服务的调用的情况下,直接向所述应用程序返回预先定义的虚假的服务结果。
下面以恶意应用程序A发起对于向通知栏发送广告消息的请求为例,对于本发明的原理进行描述,但此描述仅仅是示例性的,本发明可应用于拦截任何恶意应用程序。
根据本发明的实施例,启动名单控制和显示服务,并预先在Android系统中找到各个服务所在的进程(包括通知栏服务所在的进程,假设其名称为进程S),将拦截动态库加载到各个服务所在的进程(包括进程S)。恶意应用程序A为了向通知栏发送广告消息,需要对于通知栏服务进行调用,其会首先发起对于通知栏接口的访问。
根据本发明的实施例,将Binder机制中的IOCTL函数的地址替换为所述拦截动态库的第一地址。由于恶意应用程序A会通过Binder机制来实现对通知栏服务的调用,因此其会执行Binder机制中的IOCTL函数。该IOCTL已被替换为所述第一地址,因而将基于第一地址执行所述拦截动态库。此时,所述拦截动态库就可以通过所述IOCTL函数而先于Android系统获得所述应用程序的名称和信息(恶意应用程序A及其描述)和所述调用的信息(调用通知栏服务、所要显示的广告消息的标题和内容)。然后,将所述通知栏服务的地址替换为拦截动态库的第二地址。
接下来,由于通知栏服务的地址已被替换为所述第二地址,因此将基于第二地址,通过Binder机制与名单控制和显示服务通信,判断所述恶意应用程序A的名称是否包含在预先定义的数据库中的白名单或黑名单中,并且/或者判断所述恶意应用程序A的信息是否包含预先定义的数据库中的特征数据。由于该恶意应用程序A的程序包中包含广告特征,因此即使该恶意应用程序A的名称未包含在所述黑名单中,也可以将其判断为恶意应用程序,从而拒绝其对于通知栏服务调用,直接向其返回预先定义的服务结果,即表示所述调用已经成功的服务结果,以便令恶意应用程序A认为其对于通知栏服务的调用已经成功,而对于根据本发明的实施例所进行的拦截一无所知。
在替代实施例中,假设该恶意应用程序A的名称未包含在预先定义的数据库中的白名单和黑名单中,该恶意应用程序A的信息也不包含所述预先定义的数据库中的特征数据。此时,可以通过名单控制和显示服务在电子设备的显示屏上显示(例如以图2的方式显示或者在通知栏中显示)恶意应用程序A的名称和信息和所述调用的信息,在用户选择了允许所述恶意应用程序A对通知栏服务的调用的情况下,根据通知栏服务的地址执行所述调用,并向所述恶意应用程序A返回实际服务结果;或者在用户选择了不允许所述恶意应用程序A对通知栏服务的调用的情况下,直接向所述恶意应用程序A返回预先定义的虚假的服务结果。或者,在电子设备的显示屏上显示(例如以图2的方式显示或者在通知栏中显示)恶意应用程序A的名称和信息和所述调用的信息的同时,可以直接在通知栏中显示恶意应用程序A要发送的广告消息,用户在看到该广告消息后可以进行设置,从而将该恶意应用程序A添加到所述预先定义的数据库中的黑名单中,并将广告消息添加到所述预先定义的数据库中的特征数据中,以在之后的系统操作中直接拦截该恶意应用程序A。
本发明提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法。本发明能够在应用程序对服务进行调用时,对于调用进行拦截,并利用预先定义的数据库中的白名单、黑名单、以及特征数据来判断该应用程序是受信任的应用程序还是恶意应用程序。在应用程序和调用的信息与上述数据库中的信息均不吻合的情况下,还可以显示应用程序的名称和信息和调用的信息,这样就可以根据这些信息来选择是否允许应用程序对服务的调用。在例如恶意应用程序对服务调用的情况下,就可以直接拒绝该调用或者选择拒绝该调用,并向恶意应用程序返回该调用成功的虚假服务结果,使恶意应用程序无法发现,从而提高了系统的安全性。另外,还可以将用户从实际操作中获得的信息添加到该预先定义的数据库中,以完善数据库中的数据,从而在之后的拦截中获得更好的效果。
根据本发明,可以拦截恶意应用程序偷窥电子设备用户的隐私信息(包括联系人信息、通话记录、短信、彩信、各种账户及密码等)的行为,防止恶意应用程序拨打扣费电话、发送扣费短信、访问耗费网络流量的网站,防止恶意应用程序安装木马和病毒程序,防止恶意应用程序记录用户的GPS或网络定位,拦截恶意应用程序弹出骚扰广告信息等等,可以对于任何恶意应用程序对于服务的调用进行拦截,从而提高了系统的安全性。
与上述的方法100相对应,本发明还提供了一种用于拦截电子设备的操作系统中应用程序对服务的调用的装置200,参见图3,该装置200包括:
加载模块210,用于将拦截动态库加载到服务所在的进程,该加载模块210可以用于执行上述方法100中的步骤S101;
第一替换模块220,用于将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址,该第一替换模块220可以用于执行上述方法100中的步骤S102;
第二替换模块230,用于在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的名称和信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址,该第二替换模块230可以用于执行上述方法100中的步骤S103;以及
处理模块240,用于基于所述第二地址,根据所述应用程序的名称和/或信息来执行处理,该处理模块240可以用于执行上述方法100中的步骤S104。
在本发明的优选实施例中,所述处理模块240通过将所述应用程序的名称和/或信息与预先定义的数据库中的信息进行比较,而(a)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果,或者(b)向所述应用程序返回预先定义的服务结果。
在本发明的优选实施例中,在所述应用程序的名称包含在预先定义的数据库中的白名单中时,所述处理模块240根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者,在所述应用程序的名称包含在预先定义的数据库中的黑名单中时,所述处理模块240向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的名称未包含在预先定义的数据库中的白名单和黑名单中时,所述处理模块240显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
在本发明的优选实施例中,在所述应用程序的信息包含预先定义的数据库中的特征数据时,所述处理模块240向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的信息不包含预先定义的数据库中的特征数据时,所述处理模块240显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
在本发明的优选实施例中,在所述应用程序对所述服务的调用被选择为允许的情况下,所述处理模块240根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在所述应用程序对所述服务的调用被选择为不允许的情况下,所述处理模块240向所述应用程序返回预先定义的服务结果。
在本发明的优选实施例中,所述装置200还包括用于在所述加载模块210将拦截动态库加载到服务所在的进程之前暂停所述进程的暂停模块、以及用于在所述第一替换模块220将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址之后恢复所述进程的恢复模块。
在本发明的优选实施例中,所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
在本发明的优选实施例中,所述操作系统是Android系统,所述应用程序通过Android系统的Binder机制对所述服务进行调用。
在本发明的优选实施例中,所述输入输出控制函数是Binder机制中的IOCTL函数。
在本发明的优选实施例中,在应用程序对所述服务进行调用时,所述第二替换模块230基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的名称和信息和所述调用的信息。
由于上述各装置实施例与前述各方法实施例相对应,因此不再对各装置实施例进行详细描述。
本发明可以以任何适当的形式实现,包括硬件、软件、固件或者它们的任意组合。可选地,本发明可以至少部分地实现为运行在一个或多个处理器和/或数字信号处理器上的计算机软件。本发明的实施例的装置和模块可以在物理上、功能上和逻辑上以任何适当的方式实现。根据本发明的各个功能可以在单个单元中、在多个单元中或者作为其他功能单元的一部分来实现。同样地,本发明可以在单个单元中实现,或者可以在物理上和功能上分布在不同单元和处理器之间。
尽管已经结合一些实施例描述了本发明,但是本发明并不意在限于本文阐述的特定形式。相反地,本发明的范围仅由所附权利要求书限定。此外,尽管特征可能看起来是结合特定实施例而被描述的,但是本领域普通技术人员应当认识到,依照本发明可以组合所描述的实施例的各种特征。在权利要求书中,措词“包括”并不排除其他模块或步骤的存在。
此外,尽管单独被列出,但是多个模块或方法步骤可以由例如单个单元或处理器实现。此外,尽管单独的特征可能包含在不同的权利要求中,但是这些特征可能地可以有利地加以组合,并且包含在不同的权利要求中并不意味着特征的组合是不可行的。此外,特征包含于一种权利要求类别(例如方法权利要求)中并不意味着限于该类别,而是表示该特征同样可适当地应用于其他权利要求类别(例如装置权利要求)。此外,权利要求中特征的顺序并不意味着必须的任何特定顺序。并且,方法权利要求中各步骤的顺序并不意味着这些步骤必须按照该顺序来执行。相反地,这些步骤可以以任何适当的顺序执行。此外,单数形式的表述并没有排除复数。因此,对于“一”、“一个”、“第一”、“第二”等等的引用并没有排除复数。权利要求中的附图标记仅仅是标号,而不应当将其视为对权利要求的范围的限制。

Claims (20)

1.一种用于拦截电子设备的操作系统中应用程序对服务的调用的方法(100),包括:
将拦截动态库加载到服务所在的进程(S101);
将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址(S102);
在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的名称和信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址(S103);以及
基于所述第二地址,根据所述应用程序的名称和/或信息来执行处理(S104)。
2.如权利要求1所述的方法,其中根据所述应用程序的名称和/或信息来执行处理的步骤包括:通过将所述应用程序的名称和/或信息与预先定义的数据库中的信息进行比较,而(a)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果,或者(b)向所述应用程序返回预先定义的服务结果。
3.如权利要求1所述的方法,其中根据所述应用程序的名称来执行处理的步骤包括:在所述应用程序的名称包含在预先定义的数据库中的白名单中时,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者,在所述应用程序的名称包含在预先定义的数据库中的黑名单中时,向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的名称未包含在预先定义的数据库中的白名单和黑名单中时,显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
4.如权利要求1所述的方法,其中根据所述应用程序的信息来执行处理的步骤包括:在所述应用程序的信息包含预先定义的数据库中的特征数据时,向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的信息不包含预先定义的数据库中的特征数据时,显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
5.如权利要求3或4所述的方法,其中根据在电子设备上通过操作系统的选择来执行处理的步骤包括:在选择了允许所述应用程序对所述服务的调用的情况下,根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在选择了不允许所述应用程序对所述服务的调用的情况下,向所述应用程序返回预先定义的服务结果。
6.如权利要求1至4中的任一项所述的方法,还包括在将拦截动态库加载到服务所在的进程(S101)的步骤之前暂停所述进程,以及在将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址(S102)的步骤之后恢复所述进程。
7.如权利要求1至4中的任一项所述的方法,其中所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
8.如权利要求1至4中的任一项所述的方法,其中所述操作系统是Android系统,所述应用程序通过Android系统的Binder机制对所述服务进行调用。
9.如权利要求8所述的方法,其中所述输入输出控制函数是Binder机制中的IOCTL函数。
10.如权利要求9所述的方法,其中在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的名称和信息和所述调用的信息。
11.一种用于拦截电子设备的操作系统中应用程序对服务的调用的装置(200),包括:
加载模块(210),用于将拦截动态库加载到服务所在的进程;
第一替换模块(220),用于将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址;
第二替换模块(230),用于在应用程序对所述服务进行调用时,基于所述第一地址执行所述拦截动态库,以获得所述应用程序的名称和信息和所述调用的信息,并且将所述调用的信息中包括的要被调用的服务的地址替换为所述拦截动态库的第二地址;以及
处理模块(240),用于基于所述第二地址,根据所述应用程序的名称和/或信息来执行处理。
12.如权利要求11所述的装置,其中所述处理模块(240)通过将所述应用程序的名称和/或信息与预先定义的数据库中的信息进行比较,而(a)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果,或者(b)向所述应用程序返回预先定义的服务结果。
13.如权利要求11所述的装置,其中在所述应用程序的名称包含在预先定义的数据库中的白名单中时,所述处理模块(240)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者,在所述应用程序的名称包含在预先定义的数据库中的黑名单中时,所述处理模块(240)向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的名称未包含在预先定义的数据库中的白名单和黑名单中时,所述处理模块(240)显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
14.如权利要求11所述的装置,在所述应用程序的信息包含预先定义的数据库中的特征数据时,所述处理模块(240)向所述应用程序返回预先定义的服务结果;或者,在所述应用程序的信息不包含预先定义的数据库中的特征数据时,所述处理模块(240)显示所述应用程序的名称和信息和所述调用的信息,并且根据在电子设备上通过操作系统对于所述调用的选择来执行处理。
15.如权利要求13或14所述的装置,其中在所述应用程序对所述服务的调用被选择为允许的情况下,所述处理模块(240)根据所述服务的地址执行所述调用,并向所述应用程序返回实际服务结果;或者在所述应用程序对所述服务的调用被选择为不允许的情况下,所述处理模块(240)向所述应用程序返回预先定义的服务结果。
16.如权利要求11至14中的任一项所述的装置,还包括用于在所述加载模块(210)将拦截动态库加载到服务所在的进程之前暂停所述进程的暂停模块、以及用于在所述第一替换模块(220)将所述进程中的输入输出控制函数的地址替换为所述拦截动态库的第一地址之后恢复所述进程的恢复模块。
17.如权利要求11至14中的任一项所述的装置,其中所述调用的信息包括所述调用的接口序号以及要被调用的服务的地址。
18.如权利要求11至14中的任一项所述的装置,其中所述操作系统是Android系统,所述应用程序通过Android系统的Binder机制对所述服务进行调用。
19.如权利要求18所述的装置,其中所述输入输出控制函数是Binder机制中的IOCTL函数。
20.如权利要求19所述的装置,其中在应用程序对所述服务进行调用时,所述第二替换模块(230)基于所述第一地址执行所述拦截动态库,以通过所述IOCTL函数而先于Android系统获得所述应用程序的名称和信息和所述调用的信息。
CN201210187455.XA 2012-06-07 2012-06-07 一种用于拦截应用程序对服务的调用的方法和装置 Active CN102693395B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210187455.XA CN102693395B (zh) 2012-06-07 2012-06-07 一种用于拦截应用程序对服务的调用的方法和装置
US14/405,846 US9697353B2 (en) 2012-06-07 2013-05-30 Method and device for intercepting call for service by application
PCT/CN2013/076453 WO2013182006A1 (zh) 2012-06-07 2013-05-30 一种用于拦截应用程序对服务的调用的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210187455.XA CN102693395B (zh) 2012-06-07 2012-06-07 一种用于拦截应用程序对服务的调用的方法和装置

Publications (2)

Publication Number Publication Date
CN102693395A CN102693395A (zh) 2012-09-26
CN102693395B true CN102693395B (zh) 2015-02-11

Family

ID=46858820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210187455.XA Active CN102693395B (zh) 2012-06-07 2012-06-07 一种用于拦截应用程序对服务的调用的方法和装置

Country Status (3)

Country Link
US (1) US9697353B2 (zh)
CN (1) CN102693395B (zh)
WO (1) WO2013182006A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018072436A1 (zh) * 2016-10-21 2018-04-26 中兴通讯股份有限公司 权限管理方法、装置及终端

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693394B (zh) * 2012-06-07 2015-04-22 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102693395B (zh) * 2012-06-07 2015-02-11 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN103116723A (zh) 2013-02-06 2013-05-22 北京奇虎科技有限公司 一种网址拦截处理的方法、装置和系统
CN103116722A (zh) 2013-02-06 2013-05-22 北京奇虎科技有限公司 一种通知栏消息的处理方法、装置和系统
CN103218564A (zh) * 2013-04-01 2013-07-24 广东欧珀移动通信有限公司 一种移动终端保护方法及装置
CN105282117A (zh) * 2014-07-21 2016-01-27 中兴通讯股份有限公司 访问控制方法及装置
CN105631326A (zh) * 2014-11-05 2016-06-01 中兴通讯股份有限公司 敏感信息安全保护方法和装置
DE102015111625A1 (de) * 2015-07-17 2017-01-19 Backes Srt Gmbh Verfahren zur Bildung einer virtuellen Umgebung in einem Betriebssystem eines Computers
CN105631317B (zh) * 2015-12-18 2018-08-14 浪潮电子信息产业股份有限公司 一种系统调用方法及装置
CN106909838A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 一种拦截系统调用的方法及装置
CN106537344A (zh) * 2016-03-30 2017-03-22 北京小米移动软件有限公司 一种应用程序调用管理的方法和装置
CN106227585B (zh) * 2016-05-31 2020-02-14 北京金山安全软件有限公司 一种应用程序启动方法、装置及设备
CN106682165A (zh) * 2016-12-26 2017-05-17 深圳中兴网信科技有限公司 自动路由方法和自动路由系统
CN108446149B (zh) * 2018-02-28 2021-07-20 北京凌宇智控科技有限公司 一种第三方动态库接口拦截方法及系统
CN109657468A (zh) * 2018-11-29 2019-04-19 北京奇虎科技有限公司 病毒行为检测方法、装置及计算机可读存储介质
CN109933960B (zh) * 2019-03-15 2022-03-15 Oppo广东移动通信有限公司 服务调用控制方法、服务调用方法、装置及终端
CN111209062B (zh) * 2020-01-11 2023-04-25 阿里巴巴集团控股有限公司 信息获取方法、装置、电子设备及计算机存储介质
CN111428234B (zh) * 2020-03-27 2023-07-04 深圳融安网络科技有限公司 应用程序的进程拦截方法、终端及存储介质
CN114625434A (zh) * 2020-12-10 2022-06-14 华为技术有限公司 地址获取方法和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
CN101493873A (zh) * 2009-03-04 2009-07-29 浪潮电子信息产业股份有限公司 基于内核层技术实现对win平台文件读写操作访问控制方法
CN101620660A (zh) * 2009-07-31 2010-01-06 北京大学 一种Windows操作系统下钩子的防御方法
CN101667235A (zh) * 2008-09-02 2010-03-10 北京瑞星国际软件有限公司 一种用于保护用户隐私的方法和装置
US7797733B1 (en) * 2004-01-08 2010-09-14 Symantec Corporation Monitoring and controlling services

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030055979A1 (en) * 2001-09-19 2003-03-20 Cooley William Ray Internet domain name resolver
US7146638B2 (en) * 2002-06-27 2006-12-05 International Business Machines Corporation Firewall protocol providing additional information
US20040059735A1 (en) * 2002-09-10 2004-03-25 Gold Russell Eliot Systems and methods for enabling failover in a distributed-object computing environment
US20050108562A1 (en) * 2003-06-18 2005-05-19 Khazan Roger I. Technique for detecting executable malicious code using a combination of static and dynamic analyses
US7512672B2 (en) * 2004-03-19 2009-03-31 Gigaset Communications Gmbh Method and system for domain name resolution in a communications system
CN1936849A (zh) * 2005-09-19 2007-03-28 国际商业机器公司 资源动态调整方法及设备
US20070250927A1 (en) * 2006-04-21 2007-10-25 Wintutis, Inc. Application protection
US8495181B2 (en) * 2006-08-03 2013-07-23 Citrix Systems, Inc Systems and methods for application based interception SSI/VPN traffic
US8245289B2 (en) * 2007-11-09 2012-08-14 International Business Machines Corporation Methods and systems for preventing security breaches
US8209757B1 (en) * 2008-03-06 2012-06-26 Symantec Corporation Direct call into system DLL detection system and method
US8065734B1 (en) * 2008-03-06 2011-11-22 Symantec Corporation Code module operating system (OS) interactions intercepting system and method
CN101655892A (zh) * 2009-09-22 2010-02-24 成都市华为赛门铁克科技有限公司 一种移动终端和访问控制方法
US8898443B2 (en) * 2010-10-01 2014-11-25 Z124 Multi-operating system
CN101997912A (zh) * 2010-10-27 2011-03-30 苏州凌霄科技有限公司 基于Android平台的强制访问控制装置及控制方法
US9372991B2 (en) * 2012-03-06 2016-06-21 International Business Machines Corporation Detecting malicious computer code in an executing program module
CN102693395B (zh) * 2012-06-07 2015-02-11 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
CN102693394B (zh) * 2012-06-07 2015-04-22 北京奇虎科技有限公司 一种用于拦截应用程序对服务的调用的方法和装置
US9087191B2 (en) * 2012-08-24 2015-07-21 Vmware, Inc. Method and system for facilitating isolated workspace for applications
US8990942B2 (en) * 2013-02-18 2015-03-24 Wipro Limited Methods and systems for API-level intrusion detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US7797733B1 (en) * 2004-01-08 2010-09-14 Symantec Corporation Monitoring and controlling services
CN101667235A (zh) * 2008-09-02 2010-03-10 北京瑞星国际软件有限公司 一种用于保护用户隐私的方法和装置
CN101493873A (zh) * 2009-03-04 2009-07-29 浪潮电子信息产业股份有限公司 基于内核层技术实现对win平台文件读写操作访问控制方法
CN101620660A (zh) * 2009-07-31 2010-01-06 北京大学 一种Windows操作系统下钩子的防御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Windows API拦截技术;史永林等;《电脑知识与技术》;20080930;第3卷(第9期);第1920页,图1 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018072436A1 (zh) * 2016-10-21 2018-04-26 中兴通讯股份有限公司 权限管理方法、装置及终端

Also Published As

Publication number Publication date
US9697353B2 (en) 2017-07-04
US20150169872A1 (en) 2015-06-18
CN102693395A (zh) 2012-09-26
WO2013182006A1 (zh) 2013-12-12

Similar Documents

Publication Publication Date Title
CN102693395B (zh) 一种用于拦截应用程序对服务的调用的方法和装置
CN102693394B (zh) 一种用于拦截应用程序对服务的调用的方法和装置
US9098696B2 (en) Appliqué providing a secure deployment environment (SDE) for a wireless communications device
CN105144188B (zh) 电子设备中用于通知安全信息的装置和方法及其计算机可读记录介质
US20130055387A1 (en) Apparatus and method for providing security information on background process
US9781255B1 (en) Authentication of phone call origination
US20140173692A1 (en) Bring your own device system using a mobile accessory device
US20120222120A1 (en) Malware detection method and mobile terminal realizing the same
US20030200460A1 (en) Server apparatus, and information processing method
CN100507934C (zh) 针对代码签名服务来注册实体的系统和方法
US20170316209A1 (en) Method and device for preventing application in an operating system from being uninstalled
CN103093148A (zh) 一种恶意广告的检测方法、系统及设备
US8725846B2 (en) Network system, terminal customization method, and customization service method
CN1869927A (zh) 设备控制器、控制设备的方法及其程序
US9047470B2 (en) Secure provisioning of commercial off-the-shelf (COTS) devices
CN103023684A (zh) 网络信息管理的方法、装置和系统
CN102769663A (zh) 一种传递信息的服务器及方法、信息传递系统
JP5828457B2 (ja) Api実行制御装置およびプログラム
CN106060124A (zh) 一种应用程序的下载方法及移动终端
US10235525B2 (en) Application providing server, application setting terminal, application providing system, method of providing application, and program for application providing server
WO2019066185A1 (ko) 메시지 확인 여부의 체크가 가능한 인터넷 알림 메시지 발송 서비스 장치 및 그 동작 방법
CN110895456A (zh) 数据处理方法、终端以及计算机可读存储介质
CN110140124A (zh) 分组应用使用同一密钥共享数据
US11176021B2 (en) Messaging systems with improved reliability
KR102370571B1 (ko) 하이브리드 매니지드 보안 서비스 제공 시스템 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20120914

Owner name: BEIJING QIHU TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20120914

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100016 CHAOYANG, BEIJING TO: 100088 XICHENG, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20120914

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant after: Qizhi software (Beijing) Co.,Ltd.

Address before: The 4 layer 100016 unit of Beijing city Chaoyang District Jiuxianqiao Road No. 14 Building C

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

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220801

Address after: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee after: 3600 Technology Group 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
TR01 Transfer of patent right

Effective date of registration: 20230711

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing Hongxiang Technical Service Co.,Ltd.

Address before: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee before: 3600 Technology Group Co.,Ltd.