CN106529297A - 获取应用程序状态信息的方法及装置 - Google Patents
获取应用程序状态信息的方法及装置 Download PDFInfo
- Publication number
- CN106529297A CN106529297A CN201611042233.3A CN201611042233A CN106529297A CN 106529297 A CN106529297 A CN 106529297A CN 201611042233 A CN201611042233 A CN 201611042233A CN 106529297 A CN106529297 A CN 106529297A
- Authority
- CN
- China
- Prior art keywords
- application
- application program
- list
- program
- status
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种获取应用程序状态信息的方法及装置,该方法包括:当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;基于预定的验证名单来对应用程序鉴权;若鉴权不通过,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息;若判断应用程序状态列表存在预定的隔离应用程序的状态信息,则删除应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至所述应用程序。本发明的技术方案,让恶意应用程序不能利用隔离应用程序的当前运行状态信息,设计出与隔离应用程序的交互界面相同的恶意用户界面;较好地保护了隔离应用程序的安全、用户的数据安全和财产安全。
Description
技术领域
本发明涉及终端设备技术领域,具体而言,本发明涉及一种获取应用程序状态信息的方法、一种获取应用程序状态信息的装置和一种移动终端。
背景技术
随着互联网的发展,移动终端也从传统的数字移动终端发展到了智能移动终端。由于智能移动终端不但实现了传统的数字移动终端的所有功能,还通过安装多种应用程序来满足用户的各种需求,如娱乐需求、学习需求、购物需求、办公需求等。
为了满足上述用户的各种需求,相应的,安装在智能移动终端的应用程序数量和种类也越来越多;从而,存储在智能移动终端应用程序中的用户私密数据也越来越多。由于智能移动终端的操作系统总会难免存在安全程序漏洞,所以所有应用程序都存在着用户私密数据被恶意应用窃取的危险。特别是,关于财产类的应用程序;由于财产类的应用程序保存着用户的财产数据;一旦被恶意应用窃取,则会给用户造成巨大的财产损失。故如何使财产类应用程序不被恶意应用窃取到用户的财产数据是当前需要解决的重要问题。而恶意应用在窃取财产类应用程序中的用户的财产数据前,会对财产类应用程序当前状态信息进行确认,使得恶意应用能够准确地根据当前状态信息,设计出与财产类应用程序的交互界面相同的恶意用户界面,用户误将恶意用户界面作为财产类应用程序的真实交互界面进行用户名、密码等账户信息的输入,恶意应用程序可轻易获取到用户的账户信息,从而对用户的财产数据进行窃取;故如何阻止恶意应用对财产类应用程序的状态信息的获取,是防止财产类应用程序被恶意应用窃取用户的财产数据的关键。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的一个实施例提出了一种获取应用程序状态信息的方法,包括:
当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;
基于预定的验证名单来对应用程序鉴权;
若鉴权不通过,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息;
若判断应用程序状态列表存在预定的隔离应用程序的状态信息,则删除应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至应用程序。
优选地拦截被调取的应用程序状态列表的步骤,包括:
通过钩子函数拦截被调取的应用程序状态列表。
优选地,验证名单包括白名单,基于预定的验证名单来对应用程序鉴权的步骤,包括:
基于白名单中的隔离应用程序的标识信息,判断应用程序是否为预定的隔离应用程序;
若判断应用程序不属于白名单中,确定应用程序不为隔离应用程序,鉴权不通过。
优选地,验证名单包括灰名单,基于预定的验证名单来对应用程序鉴权的步骤,包括:
基于灰名单中待验证的应用程序的标识信息,判断应用程序是否为待验证的应用程序;
若应用程序属于灰名单中,确定应用程序是待验证的应用程序,则对待验证的应用程序进行安全控制访问验证。
优选地,对应用程序进行安全控制访问验证的步骤,包括:
通过待验证的应用程序向安全服务器发送其安全控制访问的验证请求;
接收安全服务器对待验证的应用程序进行验证后的验证结果;
当验证结果为验证失败,确定待验证的应用程序鉴权不通过;
当验证结果为验证成功,确定待验证的应用程序鉴权通过。
优选地,该方法还包括:
若应用程序不属于灰名单中,确定应用程序鉴权不通过。
优选地,该方法还包括:
若判断应用程序鉴权通过,将应用程序状态列表返回至应用程序。
优选地,该方法还包括:
若判断应用程序状态列表不存在预定的隔离应用程序的状态信息,将应用程序状态列表返回至应用程序。
其中,应用程序的状态信息,包括以下至少一项:
应用进程名称;进程运行时间;进程占用空间;应用组件信息。
优选地,基于白名单中的隔离应用程序的标识信息,判断应用程序是否为预定的隔离应用程序的步骤,包括:
通过应用程序在调取操作中拉起的系统组件来获取应用程序标识信息;判断应用程序标识信息是否存在于白名单中;
基于灰名单中待验证的应用程序的标识信息,判断应用程序是否为待验证的应用程序的步骤,包括:
通过应用程序在调取操作中拉起的系统组件来获取应用程序标识信息;判断应用程序标识信息是否存在于灰名单中。
优选地,该方法还包括:
当检测到应用程序结束进程或者移动终端被锁屏,则删除应用程序状态列表或执行删除处理后的应用程序状态列表,以结束所述调取操作。
本发明的另一实施例提出了一种获取应用程序状态信息的装置,包括:
监测拦截模块,用于当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;
应用程序鉴权模块,用于基于预定的验证名单来对应用程序鉴权;
隔离应用程序的状态信息判断模块,用于若鉴权不通过,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息;
第一删除处理模块,用于若判断应用程序状态列表存在预定的隔离应用程序的状态信息,则删除应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至应用程序。
优选地,监测拦截模块,用于通过钩子函数拦截被调取的应用程序状态列表。
优选地,验证名单包括白名单,应用程序鉴权模块包括:
第一判断单元,用于基于白名单中的隔离应用程序的标识信息,判断应用程序是否为预定的隔离应用程序;
第一判断结果执行单元,用于若判断应用程序不属于白名单中,确定应用程序不为隔离应用程序,鉴权不通过。
优选地,验证名单包括灰名单,应用程序鉴权模块还包括:
第二判断单元,用于基于灰名单中待验证的应用程序的标识信息,判断应用程序是否为待验证的应用程序;
第二判断结果执行单元,用于若应用程序属于灰名单中,确定应用程序是待验证的应用程序,则对待验证的应用程序进行安全控制访问验证。
优选地,第二判断结果执行单元包括:
发送验证请求子单元,用于通过待验证的应用程序向安全服务器发送其安全控制访问的验证请求;
接收验证结果子单元,用于接收安全服务器对待验证的应用程序进行验证后的验证结果;
第一验证结果确定子单元,用于当验证结果为验证失败,确定待验证的应用程序鉴权不通过;
第二验证结果确定子单元,用于当验证结果为验证成功,确定待验证的应用程序鉴权通过。
优选地,应用程序鉴权模块还包括:
第三判断结果执行单元,用于若应用程序不属于灰名单中,确定应用程序鉴权不通过。
优选地,该装置还包括:
第一应用程序状态列表返回模块,用于若判断应用程序鉴权通过,将应用程序状态列表返回至应用程序。
优选地,该装置还包括:
第二应用程序状态列表返回模块,用于若判断应用程序状态列表不存在预定的隔离应用程序的状态信息,将应用程序状态列表返回至应用程序。
其中,应用程序的状态信息,包括以下至少一项:
应用进程名称;进程运行时间;进程占用空间;应用组件信息。
优选地,第一判断单元,用于通过应用程序在调取操作中拉起的系统组件来获取应用程序标识信息;判断应用程序标识信息是否存在于白名单中;
第二判断单元,用于通过应用程序在调取操作中拉起的系统组件来获取应用程序标识信息;判断应用程序标识信息是否存在于灰名单中。
优选地,该装置还包括:
调取操作结束模块,用于当检测到应用程序结束进程或者移动终端被锁屏,则删除应用程序状态列表或执行删除处理后的应用程序状态列表,以结束调取操作。
本发明的又一个实施例提出了一种移动终端,包括获取应用程序状态信息的装置实施例中的任一技术方案。
本发明的技术方案中,当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;先判断该应用程序是否存在于预设的验证名单中,使得可能存在任一应用程序中的恶意应用程序无法通过鉴权,继而无法通过调取到的应用程序状态列表来截取到该列表中的隔离应用程序的状态信息,如财产类应用程序的当前状态信息;从而让可能存在任一应用程序中的恶意应用程序,不能利用截取的隔离应用程序的当前运行状态信息,设计出与隔离应用程序的交互界面相同的,用于窃取其用户私密数据的恶意用户界面等,并将该恶意用户界面覆盖在真实的隔离应用程序的交互界面的上方,以欺骗用户从而达到窃取到用户的财产数据以及私密数据的目的;较好地保护了隔离应用程序的安全、用户的数据安全和财产安全,且提高了智能移动终端的操作系统和隔离应用程序的安全可靠性,同时为减少智能移动终端的操作系统被攻击的可能性提供了保障。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明中一个实施例的获取应用程序状态信息的方法的流程示意图;
图2为本发明中一个优选实施例的基于白名单来对应用程序鉴权的流程示意图;
图3为本发明中另一个优选实施例的基于灰名单来对应用程序鉴权的流程示意图;
图4为本发明中又一个优选实施例的对待验证的应用程序进行安全控制访问验证的流程示意图;
图5为本发明中另一个实施例的获取应用程序状态信息的装置的结构框架示意图;
图6为本发明中一个优选实施例的具有基于白名单鉴权功能的应用程序鉴权模块的结构框架示意图;
图7为本发明中一个优选实施例的具有基于会名单鉴权功能的应用程序鉴权模块的结构框架示意图;
图8为本发明中另一个优选实施例的第二判断结果执行单元的结构框架示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
需要说明的是,本发明实施例是基于智能移动终端操作系统实现的,智能移动终端操作系统是基于Linux操作系统自由及开放源代码的操作系统,例如,Android操作系统。
图1为本发明中一个实施例的获取应用程序状态信息的方法的流程示意图。
步骤S101:当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;步骤S102:基于预定的验证名单来对应用程序鉴权;步骤S103:若鉴权不通过,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息;步骤S104:若判断应用程序状态列表存在预定的隔离应用程序的状态信息,则删除应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至应用程序。
本发明的技术方案中,当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;先判断该应用程序是否存在于预设的验证名单中,使得可能存在任一应用程序中的恶意应用程序无法通过鉴权,继而无法通过调取到的应用程序状态列表来截取到该列表中的隔离应用程序的状态信息,如财产类应用程序的当前状态信息;从而让可能存在任一应用程序中的恶意应用程序,不能利用截取的隔离应用程序的当前运行状态信息,设计出与隔离应用程序的交互界面相同的,用于窃取其用户私密数据的恶意用户界面等,并将该恶意用户界面覆盖在真实的隔离应用程序的交互界面的上方,以欺骗用户从而达到窃取到用户的财产数据以及私密数据的目的;较好地保护了隔离应用程序的安全、用户的数据安全和财产安全,且提高了智能移动终端的操作系统和隔离应用程序的安全可靠性,同时为减少智能移动终端的操作系统被攻击的可能性提供了保障。
以下针对各个步骤的具体实现做进一步的说明:
步骤S101:当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表。
其中,应用程序的状态信息,包括以下至少一项:应用进程名称;进程运行时间;进程占用空间;应用组件信息。应用组件信息包括:Android操作系统的四大组件信息,如Activity组件信息、Service组件信息、Content Provider组件信息和Broadcast Receiver组件信息。
具体地,当任一应用程序通过包管理模块调取应用程序状态列表时,包管理模块通过其getInstalledPackages获取安装包函数和getInstalledApplications获取安装应用程序函数,获取到所有安装的应用程序状态列表时,钩子函数监测到getInstalledPackages和getInstalledApplications的返回值:所有安装的应用程序状态列表,对getInstalledPackages和getInstalledApplications的返回值,即所有安装的应用程序状态列表,进行拦截。
步骤S102:基于预定的验证名单来对应用程序鉴权。
具体地,验证名单包括白名单,如图2所示,基于预定的验证名单来对应用程序鉴权的步骤,包括:步骤S201:基于白名单中的隔离应用程序的标识信息,判断应用程序是否为预定的隔离应用程序;步骤S202:若判断应用程序不属于白名单中,确定应用程序不为隔离应用程序,鉴权不通过。
需要说明的是,本优选实施例中,基于沙箱技术为应用程序设置较高的操作、调用等安全权限,从而在Android操作系统中为应用程序形成虚拟空间,即隔离区,此外,在隔离区形成前,会检测Android操作系统中是否存在已形成的原始隔离区,若存在,则检测该原始隔离区内是否存在应用程序,如财产类应用程序,若存在该类应用程序,则在相应的原始隔离区内,基于覆盖安装已存在应用程序的方式,重新安装该类应用程序,同时,删除该类应用程序在原始隔离区内的应用数据或将应用数据存储到后续形成的虚拟空间中。通过虚拟化重定向技术,把重新安装的应用程序或未重新安装的应用程序定向到后续形成的虚拟空间中,如通过虚拟化重定向技术将财产类应用程序定向到在隔离区内,当用户在后续形成的虚拟空间中登录重新安装的应用程序,即使之前该应用程序的应用数据已被删除,也可以再次通过该用户的登录操作进行获取。当财产类应用程序被定向到隔离区内后,隔离区会生成该财产类应用程序的应用图标和应用名称,如应用图标“掌上生活图标”、应用名称“掌上生活”,并删除非隔离区内的用户界面,如桌面、设置用户界面等,上的该财产类应用程序的应用图标和应用名称;以避免财产类应用程序在非隔离区的恶意安装、卸载和更新;基于沙箱技术设置隔离区的过程是本领域的现有技术手段,在此不再赘述。
其中,预设的隔离应用白名单中存储有财产类应用程序的标识信息;如,“掌上生活”应用程序的标识信息、“同花顺”应用程序的标识信息、“财付通”应用程序的标识信息等。
基于白名单中的隔离应用程序的标识信息,如隔离应用程序的名称,判断发起调取应用程序状态列表操作的应用程序是否为预定的隔离应用程序。若判断应用程序是为预定的隔离应用程序,则鉴权通过,并将应用程序状态列表返回至该隔离应用程序。若判断应用程序不为预定的隔离应用程序,则鉴权不通过。
较佳地,当判断应用程序不为预定的隔离应用程序时,还可以通过验证名单中包括的灰名单,继续对该应用程序进行验证,以判断该应用程序是否为待验证的应用程序,并最终验证该待验证的应用程序是否为安全的应用程序。
验证名单包括灰名单,如图3所示,对基于预定的验证名单来对应用程序鉴权的步骤,包括:步骤S301:基于灰名单中待验证的应用程序的标识信息,判断应用程序是否为待验证的应用程序;步骤S302:若应用程序属于灰名单中,确定应用程序是待验证的应用程序,则对待验证的应用程序进行安全控制访问验证。
具体地,如图4所示,对待验证的应用程序进行安全控制访问验证的步骤,包括:步骤S401:通过待验证的应用程序向安全服务器发送其安全控制访问的验证请求;步骤S402:接收安全服务器对待验证的应用程序进行验证后的验证结果;步骤S403:当验证结果为验证失败,确定待验证的应用程序鉴权不通过;步骤S404:当验证结果为验证成功,确定待验证的应用程序鉴权通过。
通过智能移动终端中的Android操作系统的消息发送机制向应用程序发送验证指令,使得待验证的应用程序向安全服务器发送验证请求,安全服务器接收待验证的应用程序发送的验证请求,并获取该验证请求中的验证信息,如验证信息包括该应用程序的安装包信息;安全服务器对该验证信息进行扫描,如漏洞扫描和静态扫描,并确定该验证信息是否有异常,如果无异常,则确定该待验证的应用程序是安全应用程序,并返回验证成功的验证结果,则确定该待验证的应用程序鉴权通过,即该待验证的应用程序是安全的应用程序,将应用程序状态列表返回至该待验证的应用程序。当验证结果为验证失败时,则该待验证的应用程序鉴权不通过。
需要说明的是,当应用程序存在于灰名单中时,也可以直接通过本地的安全检测工具对该待验证的应用程序进行安全检测,以确定该待验证的应用程序的验证结果和鉴权结果,但该本地的安全检测工具需要定期的更新。
在本优选实施例中,建立灰名单是为了对不属于白名单的应用程序进行再次的判断,确定出可能存在的安全应用程序,并对该可能存在的安全应用程序进行验证,使得对恶意应用程序的判断更为精准,同时不会阻止属于灰名单中的安全应用程序正常调取应用程序状态列表。
具体地,该方法还包括:若应用程序不属于灰名单中,确定应用程序鉴权不通过。
在本优选实施例中,不属于灰名单的应用程序可直接视为恶意应用程序,所以其鉴权不通过,不允许其调用包含隔离应用程序的状态信息的应用程序状态列表。
更具体地,基于白名单中的隔离应用程序的标识信息,判断应用程序是否为预定的隔离应用程序的步骤,包括:通过应用程序在调取操作中拉起的系统组件来获取应用程序标识信息,如应用程序名称;判断应用程序标识信息是否存在于白名单中。
基于灰名单中待验证的应用程序的标识信息,判断应用程序是否为待验证的应用程序的步骤,包括:通过应用程序在调取操作中拉起的系统组件来获取应用程序标识信息,如应用程序名称;判断应用程序标识信息是否存在于灰名单中。
当应用程序发起调取应用程序状态列表操作时,可以通过拉起的Android操作系统组件,如intent组件的信息,来调用包管理模块去调取应用程序状态列表,若判断发起调取应用程序存在于白名单中或灰名单中,即发起调取应用程序为隔离应用程序或待验证的应用程序时,所以通过该intent组件来获取发起调取操作的应用程序标识信息,再基于白名单中的隔离应用程序的标识信息或灰名单中的待验证的应用程序的标识信息,以确定发起调取操作的应用程序是否是恶意应用程序。
需要说明的是,系统组件还可以包括:Activity组件、Service组件的信息、Content Provider组件和Broadcast Receiver组件等组件,本优选实施例均可以通过以上系统组件来获取发起调用操作的应用程序标识信息。
步骤S103:若鉴权不通过,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息。
具体地,若应用程序不为预定的隔离应用程序或安全应用程序,则基于白名单中的隔离应用程序的标识信息,如隔离应用程序的名称,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息。
步骤S104:若判断应用程序状态列表存在预定的隔离应用程序的状态信息,则删除应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至应用程序。
具体地,该方法还包括:若判断应用程序状态列表不存在预定的隔离应用程序的状态信息,将应用程序状态列表返回至应用程序。
具体地,该方法还包括:当检测到应用程序结束进程或者移动终端被锁屏,则删除应用程序状态列表或执行删除处理后的应用程序状态列表,以结束所述调取操作。
图5为本发明中另一实施例的获取应用程序状态信息的装置的结构框架示意图。
监测拦截模块501,当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;应用程序鉴权模块502,基于预定的验证名单来对应用程序鉴权;隔离应用程序的状态信息判断模块503,若鉴权不通过,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息;第一删除处理模块504,若判断应用程序状态列表存在预定的隔离应用程序的状态信息,则删除应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至应用程序。
以下针对各个模块的具体实现做进一步的说明:
测拦截模块501,当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表。
其中,应用程序的状态信息,包括以下至少一项:应用进程名称;进程运行时间;进程占用空间;应用组件信息。应用组件信息包括:Android操作系统的四大组件信息,如Activity组件信息、Service组件信息、Content Provider组件信息和Broadcast Receiver组件信息。
具体地,当任一应用程序通过包管理模块调取应用程序状态列表时,包管理模块通过其getInstalledPackages获取安装包函数和getInstalledApplications获取安装应用程序函数,获取到所有安装的应用程序状态列表时,钩子函数监测到getInstalledPackages和getInstalledApplications的返回值:所有安装的应用程序状态列表,对getInstalledPackages和getInstalledApplications的返回值,即所有安装的应用程序状态列表,进行拦截。
应用程序鉴权模块502,基于预定的验证名单来对应用程序鉴权。
具体地,验证名单包括白名单,如图6所示,应用程序鉴权模块包括:第一判断单元601,基于白名单中的隔离应用程序的标识信息,判断应用程序是否为预定的隔离应用程序;第一判断结果执行单元602,若判断应用程序不属于白名单中,确定应用程序不为隔离应用程序,鉴权不通过。
需要说明的是,本优选实施例中,基于沙箱技术为应用程序设置较高的操作、调用等安全权限,从而在Android操作系统中为应用程序形成虚拟空间,即隔离区,此外,在隔离区形成前,会检测Android操作系统中是否存在已形成的原始隔离区,若存在,则检测该原始隔离区内是否存在应用程序,如财产类应用程序,若存在该类应用程序,则在相应的原始隔离区内,基于覆盖安装已存在应用程序的方式,重新安装该类应用程序,同时,删除该类应用程序在原始隔离区内的应用数据或将应用数据存储到后续形成的虚拟空间中。通过虚拟化重定向技术,把重新安装的应用程序或未重新安装的应用程序定向到后续形成的虚拟空间中,如通过虚拟化重定向技术将财产类应用程序定向到在隔离区内,当用户在后续形成的虚拟空间中登录重新安装的应用程序,即使之前该应用程序的应用数据已被删除,也可以再次通过该用户的登录操作进行获取。当财产类应用程序被定向到隔离区内后,隔离区会生成该财产类应用程序的应用图标和应用名称,如应用图标“掌上生活图标”、应用名称“掌上生活”,并删除非隔离区内的用户界面,如桌面、设置用户界面等,上的该财产类应用程序的应用图标和应用名称;以避免财产类应用程序在非隔离区的恶意安装、卸载和更新;基于沙箱技术设置隔离区的过程是本领域的现有技术手段,在此不再赘述。
其中,预设的隔离应用白名单中存储有财产类应用程序的标识信息;如,“掌上生活”应用程序的标识信息、“同花顺”应用程序的标识信息、“财付通”应用程序的标识信息等。
基于白名单中的隔离应用程序的标识信息,如隔离应用程序的名称,判断发起调取应用程序状态列表操作的应用程序是否为预定的隔离应用程序。若判断应用程序不为预定的隔离应用程序,则鉴权不通过。
具体地,该装置还包括:第一应用程序状态列表返回模块,若判断应用程序鉴权通过,即该应用程序为预定的隔离应用程序,将应用程序状态列表返回至应用程序。
较佳地,当判断应用程序不为预定的隔离应用程序时,还可以通过验证名单中包括的灰名单,继续对该应用程序进行验证,以判断该应用程序是否为待验证的应用程序,并最终验证该待验证的应用程序是否为安全的应用程序。
验证名单包括灰名单,如图7所示,应用程序鉴权模块还包括:第二判断单元701,基于灰名单中待验证的应用程序的标识信息,判断应用程序是否为待验证的应用程序;第二判断结果执行单元702,若应用程序属于灰名单中,确定应用程序是待验证的应用程序,则对待验证的应用程序进行安全控制访问验证。
具体地,如图8所示,第二判断结果执行单元包括:发送验证请求子单元801,通过待验证的应用程序向安全服务器发送其安全控制访问的验证请求;接收验证结果子单元802,接收安全服务器对待验证的应用程序进行验证后的验证结果;第一验证结果确定子单元803,当验证结果为验证失败,确定待验证的应用程序鉴权不通过;第二验证结果确定子单元804,当验证结果为验证成功,确定待验证的应用程序鉴权通过。
发送验证请求子单元801,通过智能移动终端中的Android操作系统的消息发送机制向应用程序发送验证指令,使得待验证的应用程序向安全服务器发送验证请求,安全服务器接收待验证的应用程序发送的验证请求,并获取该验证请求中的验证信息,如验证信息包括该应用程序的安装包信息;安全服务器对该验证信息进行扫描,如漏洞扫描和静态扫描,并确定该验证信息是否有异常,如果无异常,则确定该待验证的应用程序是安全应用程序,并返回验证成功的验证结果至接收验证结果子单元802,则第二验证结果确定子单元804确定该待验证的应用程序鉴权通过,即该待验证的应用程序是安全的应用程序。当验证结果为验证失败时,则第一验证结果确定子单元803确定该待验证的应用程序鉴权不通过。
具体地,该装置还包括:返回待验证的应用程序模块,若判断待验证的应用程序鉴权通过,即该待验证的应用程序为安全应用程序,将应用程序状态列表返回至待验证的应用程序。
需要说明的是,当应用程序存在于灰名单中时,也可以直接通过本地的安全检测工具对该待验证的应用程序进行安全检测,以确定该待验证的应用程序的验证结果和鉴权结果,但该本地的安全检测工具需要定期的更新。
在本优选实施例中,建立灰名单是为了对不属于白名单的应用程序进行再次的判断,确定出可能存在的安全应用程序,并对该可能存在的安全应用程序进行验证,使得对恶意应用程序的判断更为精准,同时不会阻止属于灰名单中的安全应用程序正常调取应用程序状态列表。
具体地,应用程序鉴权模块502还包括:第三判断结果执行单元,若应用程序不属于灰名单中,确定应用程序鉴权不通过。
在本优选实施例中,不属于灰名单的应用程序可直接视为恶意应用程序,所以其鉴权不通过,不允许其调用包含隔离应用程序的状态信息的应用程序状态列表。
更具体地,第一判断单元601,通过应用程序在调取操作中拉起的系统组件来获取应用程序标识信息,如应用程序名称;判断应用程序标识信息是否存在于白名单中。
第二判断单元701,通过应用程序在调取操作中拉起的系统组件来获取应用程序标识信息,如应用程序名称;判断应用程序标识信息是否存在于灰名单中。
当应用程序发起调取应用程序状态列表操作时,可以通过拉起的Android操作系统组件,如intent组件的信息,来调用包管理模块去调取应用程序状态列表,若判断发起调取应用程序存在于白名单中或灰名单中,即发起调取应用程序为隔离应用程序或待验证的应用程序时,所以通过该intent组件来获取发起调取操作的应用程序标识信息,再基于白名单中的隔离应用程序的标识信息或灰名单中的待验证的应用程序的标识信息,以确定发起调取操作的应用程序是否是恶意应用程序。
需要说明的是,系统组件还可以包括:Activity组件、Service组件的信息、Content Provider组件和Broadcast Receiver组件等组件,本优选实施例均可以通过以上系统组件来获取发起调用操作的应用程序标识信息。
隔离应用程序的状态信息判断模块503,若鉴权不通过,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息。
具体地,若应用程序不为预定的隔离应用程序或安全应用程序,则隔离应用程序的状态信息判断模块503,基于白名单中的隔离应用程序的标识信息,如隔离应用程序的名称,判断应用程序状态列表中是否存在预定的隔离应用程序的状态信息。
第一删除处理模块504,若判断应用程序状态列表存在预定的隔离应用程序的状态信息,则删除应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至应用程序。
具体地,该装置还包括:第二应用程序状态列表返回模块,若判断应用程序状态列表不存在预定的隔离应用程序的状态信息,将应用程序状态列表返回至应用程序。
具体地,该装置还包括:调取操作结束模块,用于当检测到应用程序结束进程或者移动终端被锁屏,则删除应用程序状态列表或执行删除处理后的应用程序状态列表,以结束调取操作。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种获取应用程序状态信息的方法,其特征在于,包括:
当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;
基于预定的验证名单来对所述应用程序鉴权;
若鉴权不通过,判断所述应用程序状态列表中是否存在预定的隔离应用程序的状态信息;
若判断所述应用程序状态列表存在预定的隔离应用程序的状态信息,则删除所述应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至所述应用程序。
2.根据权利要求1所述的方法,其特征在于,所述拦截被调取的应用程序状态列表的步骤,包括:
通过钩子函数拦截被调取的应用程序状态列表。
3.根据权利要求1或2所述的方法,其特征在于,所述验证名单包括白名单,所述基于预定的验证名单来对所述应用程序鉴权的步骤,包括:
基于所述白名单中的隔离应用程序的标识信息,判断所述应用程序是否为预定的隔离应用程序;
若判断所述应用程序不属于所述白名单中,确定所述应用程序不为隔离应用程序,鉴权不通过。
4.根据权利要求3所述的方法,其特征在于,所述验证名单包括灰名单,所述基于预定的验证名单来对所述应用程序鉴权的步骤,包括:
基于所述灰名单中待验证的应用程序的标识信息,判断所述应用程序是否为待验证的应用程序;
若所述应用程序属于灰名单中,确定所述应用程序是待验证的应用程序,则对所述待验证的应用程序进行安全控制访问验证。
5.根据权利要求4所述的方法,其特征在于,对所述待验证的应用程序进行安全控制访问验证的步骤,包括:
通过所述待验证的应用程序向安全服务器发送其安全控制访问的验证请求;
接收所述安全服务器对所述待验证的应用程序进行验证后的验证结果;
当验证结果为验证失败,确定所述待验证的应用程序鉴权不通过;
当验证结果为验证成功,确定所述待验证的应用程序鉴权通过。
6.根据权利要求4或5所述的方法,其特征在于,还包括:
若所述应用程序不属于灰名单中,确定所述应用程序鉴权不通过。
7.根据权利要求1所述的方法,其特征在于,还包括:
若判断所述应用程序鉴权通过,将所述应用程序状态列表返回至所述应用程序。
8.根据权利要求1-7任一项所述的方法,其特征在于,还包括:
若判断所述应用程序状态列表不存在预定的隔离应用程序的状态信息,将所述应用程序状态列表返回至所述应用程序。
9.一种获取应用程序状态信息的装置,其特征在于,包括:
监测拦截模块,用于当监测到任一应用程序调取应用程序状态列表,拦截被调取的应用程序状态列表;
应用程序鉴权模块,用于基于预定的验证名单来对所述应用程序鉴权;
隔离应用程序的状态信息判断模块,用于若鉴权不通过,判断所述应用程序状态列表中是否存在预定的隔离应用程序的状态信息;
第一删除处理模块,用于若判断所述应用程序状态列表存在预定的隔离应用程序的状态信息,则删除所述应用程序状态列表中隔离应用程序的状态信息,并将执行删除处理后的应用程序状态列表返回至所述应用程序。
10.一种移动终端,其特征在于,包括如权利要求9所述获取应用程序状态信息的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611042233.3A CN106529297B (zh) | 2016-11-22 | 2016-11-22 | 获取应用程序状态信息的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611042233.3A CN106529297B (zh) | 2016-11-22 | 2016-11-22 | 获取应用程序状态信息的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106529297A true CN106529297A (zh) | 2017-03-22 |
CN106529297B CN106529297B (zh) | 2019-08-06 |
Family
ID=58356619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611042233.3A Active CN106529297B (zh) | 2016-11-22 | 2016-11-22 | 获取应用程序状态信息的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106529297B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423146A (zh) * | 2017-07-24 | 2017-12-01 | 北京小米移动软件有限公司 | 控制应用程序相互调用的方法、装置及系统 |
CN109190366A (zh) * | 2018-09-14 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种程序处理方法以及相关装置 |
CN109815701A (zh) * | 2018-12-29 | 2019-05-28 | 360企业安全技术(珠海)有限公司 | 软件安全的检测方法、客户端、系统及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178761A (zh) * | 2007-12-05 | 2008-05-14 | 珠海金山软件股份有限公司 | 一种防止病毒动态攻击程序的装置和方法 |
CN101655892A (zh) * | 2009-09-22 | 2010-02-24 | 成都市华为赛门铁克科技有限公司 | 一种移动终端和访问控制方法 |
CN102737188A (zh) * | 2012-06-27 | 2012-10-17 | 北京奇虎科技有限公司 | 检测恶意网页的方法及装置 |
CN103020527A (zh) * | 2012-12-21 | 2013-04-03 | 北京奇虎科技有限公司 | 主动拦截恶意程序的方法、装置、系统 |
CN103927485A (zh) * | 2014-04-24 | 2014-07-16 | 东南大学 | 基于动态监控的Android应用程序风险评估方法 |
CN104850793A (zh) * | 2015-05-28 | 2015-08-19 | 成都中科创达软件有限公司 | 一种安卓系统智能控制管理方法 |
CN105260660A (zh) * | 2015-09-14 | 2016-01-20 | 百度在线网络技术(北京)有限公司 | 智能终端支付环境的监控方法、装置及系统 |
CN105303088A (zh) * | 2015-09-30 | 2016-02-03 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
US20160321452A1 (en) * | 2012-06-05 | 2016-11-03 | Lookout, Inc. | Determining source of side-loaded software |
-
2016
- 2016-11-22 CN CN201611042233.3A patent/CN106529297B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178761A (zh) * | 2007-12-05 | 2008-05-14 | 珠海金山软件股份有限公司 | 一种防止病毒动态攻击程序的装置和方法 |
CN101655892A (zh) * | 2009-09-22 | 2010-02-24 | 成都市华为赛门铁克科技有限公司 | 一种移动终端和访问控制方法 |
US20160321452A1 (en) * | 2012-06-05 | 2016-11-03 | Lookout, Inc. | Determining source of side-loaded software |
CN102737188A (zh) * | 2012-06-27 | 2012-10-17 | 北京奇虎科技有限公司 | 检测恶意网页的方法及装置 |
CN103020527A (zh) * | 2012-12-21 | 2013-04-03 | 北京奇虎科技有限公司 | 主动拦截恶意程序的方法、装置、系统 |
CN103927485A (zh) * | 2014-04-24 | 2014-07-16 | 东南大学 | 基于动态监控的Android应用程序风险评估方法 |
CN104850793A (zh) * | 2015-05-28 | 2015-08-19 | 成都中科创达软件有限公司 | 一种安卓系统智能控制管理方法 |
CN105260660A (zh) * | 2015-09-14 | 2016-01-20 | 百度在线网络技术(北京)有限公司 | 智能终端支付环境的监控方法、装置及系统 |
CN105303088A (zh) * | 2015-09-30 | 2016-02-03 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423146A (zh) * | 2017-07-24 | 2017-12-01 | 北京小米移动软件有限公司 | 控制应用程序相互调用的方法、装置及系统 |
CN107423146B (zh) * | 2017-07-24 | 2021-03-02 | 北京小米移动软件有限公司 | 控制应用程序相互调用的方法、装置及系统 |
CN109190366A (zh) * | 2018-09-14 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种程序处理方法以及相关装置 |
CN109190366B (zh) * | 2018-09-14 | 2021-11-19 | 郑州云海信息技术有限公司 | 一种程序处理方法以及相关装置 |
CN109815701A (zh) * | 2018-12-29 | 2019-05-28 | 360企业安全技术(珠海)有限公司 | 软件安全的检测方法、客户端、系统及存储介质 |
CN109815701B (zh) * | 2018-12-29 | 2022-04-22 | 奇安信安全技术(珠海)有限公司 | 软件安全的检测方法、客户端、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106529297B (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106778291B (zh) | 应用程序的隔离方法及隔离装置 | |
CN110912938B (zh) | 入网终端接入验证方法、装置、存储介质及电子设备 | |
CN110414268B (zh) | 访问控制方法、装置、设备及存储介质 | |
CN109600306B (zh) | 创建会话的方法、装置和存储介质 | |
CN104376263B (zh) | 应用程序行为拦截的方法和装置 | |
CN106534148A (zh) | 应用的访问管控方法及装置 | |
CN106778228A (zh) | 控制应用程序调用的方法及装置 | |
CN106330984A (zh) | 访问控制策略的动态更新方法及装置 | |
CN106547590A (zh) | 隐私应用程序的启动方法和启动装置 | |
CN106529297B (zh) | 获取应用程序状态信息的方法及装置 | |
CN105843653A (zh) | 一种安全应用配置方法及装置 | |
CN102316132A (zh) | 网络设备登陆方法以及网络设备 | |
CN110838195A (zh) | 授权他人开锁的方法 | |
CN111833507A (zh) | 访客认证方法、装置、设备及计算机可读存储介质 | |
CN115102744B (zh) | 数据访问方法和装置 | |
CN107835162B (zh) | 软件数字许可服务器给予软件开发商软件数字许可签发权限的方法及软件数字许可服务器 | |
CN107480530A (zh) | 安全检测的方法、装置、系统以及服务器 | |
CN114448734A (zh) | 一种网络访问方法、装置、设备以及存储介质 | |
US20080140381A1 (en) | Program Providing Device, Storage Medium, and Vehicle-Mounted Information System | |
CN103559430B (zh) | 基于安卓系统的应用账号管理方法和装置 | |
CN110830479B (zh) | 基于多卡的一键登录方法、装置、设备及存储介质 | |
CN105764057A (zh) | 移动终端的注册方法及服务器平台 | |
CN106599619A (zh) | 一种验证方法及装置 | |
CN115203330A (zh) | 智能合约部署方法及其装置、设备、介质、产品 | |
CN111988313B (zh) | 用于区块链的数据处理方法、装置、系统和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170724 Address after: 100102, 18 floor, building 2, Wangjing street, Beijing, Chaoyang District, 1801 Applicant after: BEIJING ANYUN SHIJI SCIENCE AND TECHNOLOGY CO., LTD. Address before: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park) Applicant before: Beijing Qihu Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |