CN110020530A - 用于确定应用程序在运行时的安全性的方法及其装置 - Google Patents

用于确定应用程序在运行时的安全性的方法及其装置 Download PDF

Info

Publication number
CN110020530A
CN110020530A CN201811580091.5A CN201811580091A CN110020530A CN 110020530 A CN110020530 A CN 110020530A CN 201811580091 A CN201811580091 A CN 201811580091A CN 110020530 A CN110020530 A CN 110020530A
Authority
CN
China
Prior art keywords
name
stack
task
application program
safety
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
Application number
CN201811580091.5A
Other languages
English (en)
Other versions
CN110020530B (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201811580091.5A priority Critical patent/CN110020530B/zh
Publication of CN110020530A publication Critical patent/CN110020530A/zh
Priority to PCT/CN2019/096312 priority patent/WO2020134033A1/zh
Application granted granted Critical
Publication of CN110020530B publication Critical patent/CN110020530B/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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及计算机技术,具体涉及用于确定应用程序在运行时的安全性的方法、实现该方法的装置和计算机可读存储介质。按照本发明一个方面的用于确定应用程序在运行时的安全性的方法包含下列步骤:A)获取操作系统的Task任务栈列表;B)基于所述应用程序在所述Task任务栈列表中的存在状态确定是否执行安全性检测,其中,所述存在状态包括与所述应用程序相关联的任务栈名的存在性或数量;以及C)基于预设的检测算法确定所述应用程序的安全性来执行安全性检测任务。

Description

用于确定应用程序在运行时的安全性的方法及其装置
技术领域
本发明涉及计算机技术,具体涉及用于确定应用程序在运行时的安全性的方法、实现该方法的装置和计算机可读存储介质。
背景技术
随着智能操作系统的发展,以安卓为代表的智能操作系统因为界面功能丰富、应用开发便捷等原因而在智能设备中广泛使用。由于安卓系统属于通用操作系统,且版本更新频繁,不可避免地存在大量安全漏洞。目前操作系统的防御方案主要针对Activity攻击,其主要通过对安卓生命周期函数的调用进行监控以及软件黑白名单的方式来实现。然而该防御方案无法应对目前出现的一种新的可对安卓应用进行攻击的方式,即任务劫持和任务隐藏,其攻击效果与Activity劫持相似,均可对安卓应用进行钓鱼或勒索攻击等。由于目前尚未被人熟知,因此还未引起应用厂商的重视。然而,该攻击可以造成比Activity劫持更加严重的后果,其可能导致目标应用在恶意软件运行周期内永远无法被启动。
同时,经过测试发现,该类攻击方式可以在安卓几乎所有版本以及多个机型上重复出现。因此有必要找到一种能够防御任务攻击的防御机制,能够及时发现任务劫持及其隐藏攻击并且对当前环境的安全性进行检测预警。
公开于本发明背景部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的一个方面是提供一种用于确定应用程序在运行时的安全性的方法。
按照本发明的一个方面的一种用于确定应用程序在运行时的安全性的方法,其中,客户端执行下列步骤:
A)获取操作系统的Task任务栈列表;
B)基于所述应用程序在所述Task任务栈列表中的存在状态确定是否执行安全性检测,其中,所述存在状态包括与所述应用程序相关联的任务栈名的存在性或数量;以及
C)基于预设的检测算法确定所述应用程序的安全性来执行安全性检测。
可选地,在上述方法中,当在步骤B)中检测到一个或多个名为所述目标应用包名的任务栈名时执行安全性检测。
可选地,在上述方法中,当在步骤B)中检测到一个名为所述目标应用包名的任务栈名时,所述安全性检测包括以下步骤:
将所述任务栈名与其栈内包含的Activity包名进行比对;以及
对与所述任务栈名不一致的异常Activity包名进行提取以进行黑白名单匹配。
可选地,其中,所述黑白名单匹配进一步包括:
如果白名单中存在所述异常Activity包名信息,则表示当前系统环境安全;
如果黑名单中存在所述异常Activity包名信息或者黑白名单中均不存在所述异常Activity包名信息,则表示当前系统环境不安全,存在任务劫持风险。
可选地,在上述方法中,当在步骤B)中检测到多个名为所述目标应用包名的任务栈名时,所述安全性检测包括以下步骤:
获取所述多个任务栈名所属的ID并比对当前是否存在同名任务却不同ID的情况;以及
将所述栈名与其栈内包含的Activity包名进行匹配。
可选地,在上述方法中,进一步包括:
如果所述不同的ID对应于相同栈名,则推送弹框警示用户当前应用程序存在恶意任务隐藏的风险。
可选地,在上述方法中,进一步包括:
如果所述栈名与其栈内包含的Activity包名匹配,则表示所述任务栈对应的应用程序为正常应用程序;
如果所述栈名与其栈内包含的Activity包名不匹配,则表示所述任务栈对应的应用程序存在任务隐藏攻击的风险。
可选地,在上述方法中,针进一步包括以下步骤:
D)当基于预设的检测算法确定所述应用程序不安全时,推送弹框警示用户并推送恶意应用程序的相关信息。
可选地,在上述方法中,所述操作系统是安卓操作系统,其中,所述客户端配置为开机自启动Service组件以执行所述安全性检测。
本发明另一方面的目的是提供一种用于确定应用程序在运行时的安全性的方法。
按照本发明的另一方面的一种用于确定应用程序在运行时的安全性的方法,其中,服务器执行下列步骤:
A)从客户端接收操作系统的Task任务栈列表;
B)基于所述应用程序在所述Task任务栈列表中的存在状态确定是否执行安全性检测,其中,所述存在状态包括与所述应用程序相关联的任务栈名的存在性或数量;
C)通过基于预设的检测算法确定所述应用程序的安全性来执行安全性检测。
可选地,在上述方法中,当在步骤B)中检测到一个或多个名为所述目标应用包名的任务栈名时执行安全性检测。
可选地,在上述方法中,当在步骤B)中检测到一个名为所述目标应用包名的任务栈名时,所述安全性检测包括以下步骤:
将所述任务栈名与其栈内包含的Activity包名进行比对;以及
对与所述任务栈名不一致的异常Activity包名进行提取以进行黑白名单匹配。
可选地,其中,所述黑白名单匹配进一步包括:
如果白名单中存在所述异常Activity包名信息,则表示当前系统环境安全;
如果黑名单中存在所述异常Activity包名信息或者黑白名单中均不存在所述异常Activity包名信息,则表示当前系统环境不安全,存在任务劫持风险。
可选地,在上述方法中,当在步骤B)中检测到多个名为所述目标应用包名的任务栈名时,所述安全性检测包括以下步骤:
获取所述多个任务栈名所属的ID并比对当前是否存在同名任务却不同ID的情况;以及
将所述栈名与其栈内包含的Activity包名进行匹配。
可选地,在上述方法中,进一步包括:
如果所述不同的ID对应于相同栈名,则推送弹框警示用户当前应用程序存在恶意隐藏的风险。
可选地,在上述方法中,进一步包括:
如果所述栈名与其栈内包含的Activity包名匹配,则表示所述任务栈对应的应用程序为正常应用程序;
如果所述栈名与其栈内包含的Activity包名不匹配,则表示所述任务栈对应的应用程序存在任务隐藏攻击的风险。可选地,在上述方法中,针进一步包括以下步骤:
D)当基于预设的检测算法确定所述应用程序不安全时,推送弹框警示用户并推送恶意应用程序的相关信息。
本发明又一方面的目的是提供一种计算机可读存储介质。按照本发明又一方面的计算机可读存储介质,其上存储计算机程序,该计算机程序被处理器执行时实现上述的用于确定应用程序在运行时的安全性的方法。
本发明还有一方面的目的是提供一种用于确定应用程序在运行时的安全性的装置。
按照本发明还有一方面的用于确定应用程序在运行时的安全性的装置,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现上述用于确定应用程序在运行时的安全性的方法。
根据本发明的用于确定应用程序在运行时的安全性的方法,其能够实现在客户端或远程服务器端,以基于Service后台栈名匹配的方法针对安卓系统应用程序中新出现的任务劫持和任务隐藏的攻击方式进行防御,目标应用程序在无法启动的情况下,依然可以对当前环境的安全性进行检测预警。此外,无需再安装额外的应用程序,因此也不会对其他应用程序造成影响,基于对自身应用程序的检测预警而最大程度地保障了用户体验与安全性的平衡。
多种其它特征和优点将从如下详细描述和附图中显而易见。
附图说明
本发明的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:
图1示出了按照本发明一实施例的操作系统安全防御方法的流程图。
图2示出了按照本发明一实施例的任务劫持效果的示意图。
图3示出了按照本发明一实施例的任务隐藏效果的示意图。
图4为按照本发明一实施例的针对任务劫持的安全性检测步骤的一个具体的实施方式。
图5为按照本发明还一实施例的任务隐藏的安全性检测步骤的一个具体的实施方式。
图6为按照本发明一实施例的用于确定应用程序在运行时的安全性的装置的示意框图。
具体实施方式
在本说明书中,参照其中图示了本发明示意性实施例的附图更为全面地说明本发明。但本发明可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的各实施例旨在使本文的披露全面完整,以将本发明的保护范围更为全面地传达给本领域技术人员。
诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。
下文参考根据本发明实施例的方法和系统的流程图说明、框图和/或流程图来描述本发明。将理解这些流程图说明和/或框图的每个框、以及流程图说明和/或框图的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以构成机器,以便由计算机或其他可编程数据处理设备的处理器执行的这些指令创建用于实施这些流程图和/或框和/或一个或多个流程框图中指定的功能/操作的部件。
可以将这些计算机程序指令存储在计算机可读存储器中,这些指令可以指示计算机或其他可编程处理器以特定方式实现功能,以便存储在计算机可读存储器中的这些指令构成包含实施流程图和/或框图的一个或多个框中指定的功能/操作的指令部件的制作产品。
可以将这些计算机程序指令加载到计算机或其他可编程数据处理器上以使一系列的操作步骤在计算机或其他可编程处理器上执行,以便构成计算机实现的进程,以使计算机或其他可编程数据处理器上执行的这些指令提供用于实施此流程图和/或框图的一个或多个框中指定的功能或操作的步骤。还应该注意在一些备选实现中,框中所示的功能/操作可以不按流程图所示的次序来发生。例如,依次示出的两个框实际可以基本同时地执行或这些框有时可以按逆序执行,具体取决于所涉及的功能/操作。
贯穿本说明书中,安卓指的是一种基于Linux的自由及开放源代码的操作系统;Service指的是安卓系统中的四大组件之一,其是一种长生命周期的、没有可视化界面且运行于后台的一种服务程序;Activity指的是应用程序中负责与用户交互的组件;以及任务(Task)指的是安卓系统中某一类Activity的集合。
图1示出了按照本发明一实施例的操作系统安全防御方法的流程图。
如图1所示,本发明的操作系统安全防御方法包括以下步骤:
实时检测步骤110,获取操作系统的任务列表并对所有任务列表进行实时监控,以基于所述应用程序在所述任务列表中的存在状态确定是否执行安全性检测步骤120,其中,所述存在状态包括与所述应用程序相关联的任务栈名的存在性或数量;
安全性检测步骤120,用于基于预设的检测算法确定所述应用程序的安全性来执行安全性检测;以及
安全动作执行步骤130,用于在检测到操作系统不安全时,推送弹框警示用户并推送恶意应用程序的相关信息以及提示用户对操作系统内程序进行检查以对恶意程序进行卸载。
接着,对于上述步骤的内容进行具体说明。在步骤110中,用户首次安装并启动目标应用程序,应用程序自动运行Service组件并注册Service开机自启动,以Service的方式永驻后台,伴随整个系统生命周期存在,以实现实时的安全性检测。在步骤120中,当检测到名为目标应用包名的任务栈名时,利用预设的检测算法进行系统安全性检测。可选地,所述判断算法可以直接在Service组件内进行逻辑实现,通过读取相关包名、栈名信息进行检测匹配。可选地,所述判断算法也可以在Service组件内实现对相关包名、栈名信息的收集,然后将其传送至远程服务器端(诸如云端)进行检测匹配,所有预设的检测算法均在远程服务器端进行实现。在步骤130中,当预设的检测算法检测到当前系统不安全时,则立即推送恶意包名及其相关信息,并提示用户对系统内的程序进行检查以对恶意程序进行卸载。可选地,在步骤130中也可以选择直接对异常应用进行拦截以及查杀或者为用户提供处理恶意程序的建议。
图2示出了按照本发明一实施例的任务劫持效果的示意图。任务劫持攻击可造成目标程序无法启动,对目标程序进行钓鱼、勒索等攻击行为。
该类攻击的基本实现效果如图2所示,其中,210为用户要使用的目标应用程序图标,220为隐藏于系统后台的恶意程序的虚假界面。在本实施例中,恶意程序在后台运行,用户在桌面点击所要使用的目标应用程序图标210时,将无法启动目标应用程序,而是出现隐藏于后台的恶意程序的虚假界面220,该界面可以包装为与目标应用一致的钓鱼界面,或勒索用户输入解锁码、交易密码等关键信息的勒索界面。用户在整个操作过程中,目标应用程序全程未被启动。
图3示出了按照本发明一实施例的任务隐藏效果的示意图,该类攻击的基本实现效果如图3所示,其中,310为当前正在运行的任务列表,其包括虚假任务A、任务B和任务C,320为用户要使用的目标应用,其名为A。
任务隐藏攻击方式不影响目标应用(任务名为A,包名为com.A)的正常运行,但是在目标应用于后台运行时,恶意应用(任务名为A,包名为com.B)启动后将导致目标应用程序从后台运行程序列表中消失,而由同名的恶意应用程序取而代之,因此任务列表310中将仅存在任务名为A,包名为com.B的恶意应用。
针对上述两种攻击方式,在本发明中,采取基于Service后台检测方法,实现对该类攻击方式的实时检测和防御。具体而言,在安卓产品开发过程中,可以增加一个自启动的Service组件,伴随整个系统生命周期存在,来对当前的程序运行环境进行实时检测。例如,应用程序A首次安装并在设备上打开时,自动开启Service组件并保证其注册开机自启动,以Service的方式永驻后台。其中,应用程序A的包名为com.A。
图4为按照本发明一实施例的针对任务劫持的安全性检测步骤的一个具体的实施方式。
如图4所示,在步骤1201中操作系统开机启动应用程序,应用程序自动运行Service组件并注册Service开机自启动,从而以Service的方式永驻后台,以在整个操作系统生命周期内存在。在步骤1202中获取操作系统的任务列表以及实时监控后台任务列表并且检测到名为目标应用包名的任务栈(栈名为com.A)被创建,在步骤1203中根据任务栈名(com.A)提取栈内所有Activity的包名信息,以及执行安全性检测步骤120,根据任务栈名(com.A)对其栈内所有Acticity对应包名进行比对判断。
具体而言,在安全性检测步骤120中执行以下子步骤:
比对Activity包名与任务栈名,如果栈内Activity包名与任务栈名一致时(例如Activity包名为com.A),则表示当前环境安全;如果存在包名不为com.A的Activity(例如包名为com.B),则对异常的Activity的包名进行提取以执行下列黑白名单匹配步骤:
如果白名单(其中存储具有合作关系的应用包名)中存在该异常的Activity的包名com.B,则表明当前为合法调用关系,则表示当前环境安全;
如果黑名单(其中存储已知的相关恶意程序包名)中存在该异常的Activity的包名com.B或者黑白名单中均不存在该异常的Activity的包名com.B,则执行以下子步骤:
提取该异常的Activity的相关信息,诸如Activity的包名信息、应用名称、运行时间等信息;以及
弹框警示以及异常信息推送,弹框警示用户当前应用存在劫持风险,并推送异常包名以及相关信息,以及提示用户对当前系统内程序进行检查以对恶意程序进行卸载或者为用户提供处理恶意程序的建议。
图5为按照本发明还一实施例的任务隐藏的安全性检测步骤的一个具体的实施方式。
如图5所示,在步骤S1201中操作系统开机启动应用程序,应用程序自动运行Service组件并注册Service开机自启动,从而以Service的方式永驻后台,以在整个操作系统生命周期内存在。在步骤S1202中获取操作系统的任务列表以及实时监控后台任务列表并且检测到多个名为目标应用包名(栈名为com.A)的任务栈,获取所述任务栈名所述的ID并比对当前是否存在同名任务却不同ID的情况。如果所述不同的ID对应于相同的栈名(例如,存在栈名为A的多个任务,但是ID分别为1、2…n),则在步骤S1204中推送弹框警示用户当前应用存在恶意隐藏风险,,以及执行步骤S1203以根据任务栈名(com.A)提取栈内Activity相关信息。之后进行安全性检测步骤S120,根据任务栈名(com.A)对其栈内所有Acticity对应包名进行匹配判断。
具体而言,在安全性检测步骤S120中执行任务栈名与栈内Activity包名匹配的以下步骤:
对后台所有名为com.A的任务进行任务栈名与栈内Activity包名匹配,将任务栈名与栈内Activity包名匹配的任务记为正常目标应用(图中的Task 1),将任务栈名与栈内Activity包名不匹配的任务(图中的Task 2,…,Task n)记为异常目标应用且执行下一步骤:
异常信息推送,弹框警示以推送异常应用的包名及其名称,以及提示用户对当前系统内程序进行检查以对恶意程序进行卸载。可选地,可增加清除后台异常任务的功能或者为用户提供处理恶意程序的建议,以保证自身应用程序的安全性。
上述图4和图5所示的具体实施方式均在安卓设备未Root的环境下进行,可选地,在安卓设备Root的环境下,可以直接对异常应用程序进行查杀。可选地,除了对自身产品进行实时检测外,也可对系统内全局任务进行监控检测。
可选地,上述图4和图5中的所有步骤可以直接在Service组件内进行逻辑实现,包括读取任务的相关包名、栈名信息以及进行安全性检测步骤。可选地,上述图4和图5中的相关包名、栈名信息的收集可以在Service组件内实现,之后将所收集的信息传输至远程服务器(例如云端)进行安全性检测步骤。
图6为按照本发明一实施例的计算机设备的示意框图。该计算机设备60包含存储器610、处理器620以及存储在所述存储器上并且可在所述处理器上运行的计算机程序630。所述处理器620运行所述程序630以实现上述用于确定应用程序在运行时的安全性的方法。
按照本发明的另一方面,还提供了一种计算机可读存储介质,其上存储计算机程序,该程序被处理器执行时可实现上述用于确定应用程序在运行时的安全性的方法。
根据本发明的操作系统以及操作系统安全防御的方法,能够针对安卓应用中新出现的任务劫持和任务隐藏的攻击方式进行防御,目标应用程序在无法启动的情况下,依然可以对当前环境的安全性进行检测预警。此外,无需再安装额外的应用程序,因此也不会对其他应用程序造成影响,最大程度地保障了用户体验与安全性的平衡。
提供本文中提出的实施例和示例,以便最好地说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本发明。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本发明的各个方面或者将本发明局限于所公开的精确形式。
鉴于以上所述,本公开的范围通过以下权利要求书来确定。

Claims (19)

1.一种用于确定应用程序在运行时的安全性的方法,其特征在于,客户端执行下列步骤:
A)获取操作系统的Task任务栈列表;
B)基于所述应用程序在所述Task任务栈列表中的存在状态确定是否执行安全性检测,其中,所述存在状态包括与所述应用程序相关联的任务栈名的存在性或数量;以及
C)基于预设的检测算法确定所述应用程序的安全性来执行安全性检测。
2.如权利要求1所述的方法,其中,当在步骤B)中检测到一个或多个名为所述目标应用包名的任务栈名时执行安全性检测。
3. 如权利要求2所述的方法,其中,当在步骤B)中检测到一个名为所述目标应用包名的任务栈名时,所述安全性检测包括以下步骤:
将所述任务栈名与其栈内包含的Activity包名进行比对;以及
对与所述任务栈名不一致的异常Activity包名进行提取以进行黑白名单匹配。
4.如权利要求3所述的方法,其中,所述黑白名单匹配进一步包括:
如果白名单中存在所述异常Activity包名信息,则表示当前系统环境安全;
如果黑名单中存在所述异常Activity包名信息或者黑白名单中均不存在所述异常Activity包名信息,则表示当前系统环境不安全,存在任务劫持风险。
5. 如权利要求2所述的方法,其中,当在步骤B)中检测到多个名为所述目标应用包名的任务栈名时,所述安全性检测包括以下步骤:
获取所述多个任务栈名所属的ID并比对当前是否存在同名任务却不同ID的情况;以及
将所述栈名与其栈内包含的Activity包名进行匹配。
6.如权利要求5所述的方法,其中,进一步包括:
如果所述不同的ID对应于相同栈名,则推送弹框警示用户当前应用程序存在恶意任务隐藏的风险。
7.如权利要求5所述的方法,其中,进一步包括:
如果所述栈名与其栈内包含的Activity包名匹配,则表示所述任务栈对应的应用程序为正常应用程序;
如果所述栈名与其栈内包含的Activity包名不匹配,则表示所述任务栈对应的应用程序存在任务隐藏攻击的风险。
8.如权利要求1所述的方法,其中,进一步包括以下步骤:
D)当基于预设的检测算法确定所述应用程序不安全时,推送弹框警示用户并推送恶意应用程序的相关信息。
9.如权利要求1至8中任一项所述的方法,所述操作系统是安卓操作系统,其中,所述客户端配置为开机自启动Service组件以执行所述安全性检测。
10.一种用于确定应用程序在运行时的安全性的方法,其特征在于,服务器执行下列步骤:
A)从客户端接收操作系统的Task任务栈列表;
B)基于所述应用程序在所述Task任务栈列表中的存在状态确定是否执行安全性检测,其中,所述存在状态包括与所述应用程序相关联的任务栈名的存在性或数量;
C)通过基于预设的检测算法确定所述应用程序的安全性来执行安全性检测。
11.如权利要求10所述的方法,其中,当在步骤B)中检测到一个或多个名为所述目标应用包名的任务栈名时执行安全性检测。
12. 如权利要求11所述的方法,其中,当在步骤B)中检测到一个名为所述目标应用包名的任务栈名时,所述安全性检测包括以下步骤:
将所述任务栈名与其栈内包含的Activity包名进行比对;以及
对与所述任务栈名不一致的异常Activity包名进行提取以进行黑白名单匹配。
13.如权利要求12所述的方法,其中,所述黑白名单匹配进一步包括:
如果白名单中存在所述异常Activity包名信息,则表示当前系统环境安全;
如果黑名单中存在所述异常Activity包名信息或者黑白名单中均不存在所述异常Activity包名信息,则表示当前系统环境不安全,存在任务劫持风险。
14. 如权利要求11所述的方法,其中,当在步骤B)中检测到多个名为所述目标应用包名的任务栈名时,所述安全性检测包括以下步骤:
获取所述多个任务栈名所属的ID并比对当前是否存在同名任务却不同ID的情况;以及
将所述栈名与其栈内包含的Activity包名进行匹配。
15.如权利要求14所述的方法,其中,进一步包括:
如果所述不同的ID对应于相同栈名,则推送弹框警示用户当前应用程序存在恶意任务隐藏的风险。
16.如权利要求14所述的方法,其中,进一步包括:
如果所述栈名与其栈内包含的Activity包名匹配,则表示所述任务栈对应的应用程序为正常应用程序;
如果所述栈名与其栈内包含的Activity包名不匹配,则表示所述任务栈对应的应用程序存在任务隐藏攻击的风险。
17.如权利要求10所述的方法,其中,进一步包括以下步骤:
D)当基于预设的检测算法确定所述应用程序不安全时,推送弹框警示用户并推送恶意应用程序的相关信息。
18.一种用于确定应用程序在运行时的安全性的装置,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至17中任一项所述的操作系统安全防御方法。
19.一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至17中任一项所述的操作系统安全防御方法。
CN201811580091.5A 2018-12-24 2018-12-24 用于确定应用程序在运行时的安全性的方法及其装置 Active CN110020530B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811580091.5A CN110020530B (zh) 2018-12-24 2018-12-24 用于确定应用程序在运行时的安全性的方法及其装置
PCT/CN2019/096312 WO2020134033A1 (zh) 2018-12-24 2019-07-17 用于确定应用程序在运行时的安全性的方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811580091.5A CN110020530B (zh) 2018-12-24 2018-12-24 用于确定应用程序在运行时的安全性的方法及其装置

Publications (2)

Publication Number Publication Date
CN110020530A true CN110020530A (zh) 2019-07-16
CN110020530B CN110020530B (zh) 2023-07-04

Family

ID=67188661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811580091.5A Active CN110020530B (zh) 2018-12-24 2018-12-24 用于确定应用程序在运行时的安全性的方法及其装置

Country Status (2)

Country Link
CN (1) CN110020530B (zh)
WO (1) WO2020134033A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020134033A1 (zh) * 2018-12-24 2020-07-02 中国银联股份有限公司 用于确定应用程序在运行时的安全性的方法及其装置
CN112948830A (zh) * 2021-03-12 2021-06-11 哈尔滨安天科技集团股份有限公司 文件风险识别的方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123498A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种安卓系统Activity的安全性确定方法及装置
CN104123493A (zh) * 2014-07-31 2014-10-29 百度在线网络技术(北京)有限公司 应用程序的安全性检测方法和装置
CN104182686A (zh) * 2013-05-23 2014-12-03 阿里巴巴集团控股有限公司 一种Android系统Activity劫持风险检测方法及装置
CN105335654A (zh) * 2014-06-27 2016-02-17 北京金山安全软件有限公司 一种Android恶意程序检测和处理方法、装置及设备
US20160149887A1 (en) * 2014-11-25 2016-05-26 enSilo Ltd. Systems and methods for malicious code detection accuracy assurance
CN106650427A (zh) * 2016-12-28 2017-05-10 北京奇虎科技有限公司 沙箱运行环境的检测方法及检测装置
CN106709324A (zh) * 2016-11-10 2017-05-24 京东方科技集团股份有限公司 用于验证应用安全性的方法和设备
CN107729753A (zh) * 2017-09-22 2018-02-23 郑州云海信息技术有限公司 一种计算机未知病毒的防御方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346560B (zh) * 2014-06-25 2017-06-16 腾讯科技(深圳)有限公司 一种安全验证方法及装置
EP3148157B1 (en) * 2015-09-22 2017-12-06 Comptel OYJ Method and system of identifying an access request of an application on a mobile device in a telecommunication network
CN105354486A (zh) * 2015-10-20 2016-02-24 奇酷互联网络科技(深圳)有限公司 运行控制方法、运行控制系统和终端
CN107992745A (zh) * 2017-11-29 2018-05-04 暨南大学 一种基于安卓平台的界面劫持应对方法
CN110020530B (zh) * 2018-12-24 2023-07-04 中国银联股份有限公司 用于确定应用程序在运行时的安全性的方法及其装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182686A (zh) * 2013-05-23 2014-12-03 阿里巴巴集团控股有限公司 一种Android系统Activity劫持风险检测方法及装置
CN105335654A (zh) * 2014-06-27 2016-02-17 北京金山安全软件有限公司 一种Android恶意程序检测和处理方法、装置及设备
CN104123498A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种安卓系统Activity的安全性确定方法及装置
CN104123493A (zh) * 2014-07-31 2014-10-29 百度在线网络技术(北京)有限公司 应用程序的安全性检测方法和装置
US20160149887A1 (en) * 2014-11-25 2016-05-26 enSilo Ltd. Systems and methods for malicious code detection accuracy assurance
CN106709324A (zh) * 2016-11-10 2017-05-24 京东方科技集团股份有限公司 用于验证应用安全性的方法和设备
CN106650427A (zh) * 2016-12-28 2017-05-10 北京奇虎科技有限公司 沙箱运行环境的检测方法及检测装置
CN107729753A (zh) * 2017-09-22 2018-02-23 郑州云海信息技术有限公司 一种计算机未知病毒的防御方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020134033A1 (zh) * 2018-12-24 2020-07-02 中国银联股份有限公司 用于确定应用程序在运行时的安全性的方法及其装置
CN112948830A (zh) * 2021-03-12 2021-06-11 哈尔滨安天科技集团股份有限公司 文件风险识别的方法和装置
CN112948830B (zh) * 2021-03-12 2023-11-10 安天科技集团股份有限公司 文件风险识别的方法和装置

Also Published As

Publication number Publication date
CN110020530B (zh) 2023-07-04
WO2020134033A1 (zh) 2020-07-02

Similar Documents

Publication Publication Date Title
US10853491B2 (en) Security agent
CN109117250B (zh) 一种模拟器识别方法、识别设备及计算机可读介质
US10055585B2 (en) Hardware and software execution profiling
CN104598824B (zh) 一种恶意程序检测方法及其装置
US20140053267A1 (en) Method for identifying malicious executables
CN109829307A (zh) 进程行为识别方法及装置
CN102622536A (zh) 一种恶意代码捕获方法
CN104268475B (zh) 一种运行应用程序的系统
CN104462962B (zh) 一种检测未知恶意代码和二进制漏洞的方法
WO2020019485A1 (zh) 一种模拟器识别方法、识别设备及计算机可读介质
CN109635523A (zh) 应用程序检测方法、装置及计算机可读存储介质
CN107346390A (zh) 一种恶意样本检测方法及装置
CN103049696A (zh) 一种虚拟机躲避识别的方法及装置
CN110298173A (zh) 检测由软件程序的延迟循环隐藏的恶意软件
CN110020530A (zh) 用于确定应用程序在运行时的安全性的方法及其装置
Tang et al. Towards dynamically monitoring android applications on non-rooted devices in the wild
CN110198300B (zh) 一种蜜罐操作系统指纹隐蔽方法及装置
CN111859381A (zh) 一种文件检测方法、装置、设备及介质
KR101060596B1 (ko) 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법
CN114117414A (zh) 移动应用的安全防护系统、方法、设备及存储介质
CN105447348B (zh) 一种显示窗口的隐藏方法、装置及用户终端
CN116010963A (zh) 一种内核漏洞检测方法、装置、设备及可读存储介质
CN109271787A (zh) 一种操作系统安全主动防御方法及操作系统
CN113722712A (zh) 一种基于hook的程序恶意行为的检测方法及相关装置
CN105608374B (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