用于确定应用程序的执行主体的类型的方法和装置
文献发布时间:2024-04-18 19:58:26
技术领域
本申请涉及信息安全技术,特别涉及用于确定应用程序的执行主体的类型的方法、用于实施该方法的数据处理装置和包含实施该方法的指令代码的计算机可读存储介质。
背景技术
对于诸如电子支付之类的数据处理过程,出于安全性或功能需求等方面的考虑,需要对客户端程序或应用程序的执行主体加以限制。例如在一些应用场合,只有属于指定类型的执行主体(例如手机)才被允许通过执行客户端程序接入业务处理系统。但是目前并无有效的手段能够对执行主体所属的类型作出准确的判断。
发明内容
本申请的一个目的是提供用于确定应用程序的执行主体的类型的方法和装置,其可以准确判断执行主体的类型以满足各种应用业务的需求。
按照本申请的一个方面,提供一种用于确定应用程序的执行主体的类型的方法,其中,所述应用程序与一个或多个计算任务相关联,所述方法包括下列步骤:
从所述执行主体接收与所述计算任务的执行相关联的第一硬件资源特征;以及
通过将所述第一硬件资源特征与第二硬件资源特征进行比较来确定所述执行主体的类型,其中,所述第二硬件资源特征为指定类型的执行主体在执行所述计算任务时呈现的硬件资源特征。
可选地,在上述方法中,所述执行主体在启动所述应用程序时执行所述计算任务。
可选地,在上述方法中,在所述执行主体登录业务处理系统的过程中执行所述计算任务。
可选地,在上述方法中,进一步包括:
基于所述执行主体的类型确定是否允许所述应用程序访问业务处理系统。
可选地,在上述方法中,通过将所述一个或多个计算任务集成在所述应用程序中来实现关联。
可选地,在上述方法中,通过在所述执行主体登录业务处理系统时向所述执行主体下发所述一个或多个计算任务来实现关联。
可选地,在上述方法中,所述指定类型为终端设备。
可选地,在上述方法中,所述终端设备为下列中的一种:手机、平板电脑、笔记本电脑、可穿戴设备、个人电脑和工作站。
可选地,在上述方法中,所述执行主体包含第一传感器,从所述执行主体在执行所述计算任务时由所述第一传感器采集的第一测量值来确定所述第一硬件资源特征,所述指定类型的执行主体包含第二传感器,从所述指定类型的执行主体在执行所述计算任务时由所述第二传感器采集的第二测量值来确定所述第二硬件资源特征。
可选地,在上述方法中,利用机器学习算法,从所述第二测量值提取所述第二硬件资源特征。
可选地,在上述方法中,所述第一传感器和所述第二传感器包括下列中的至少一种:磁传感器、温度传感器、功耗传感器。
可选地,在上述方法中,所述第一硬件资源特征和所述第二硬件资源特征以所述第一测量值和所述第二测量值所对应的物理量随时间变化的曲线的形式表示。
可选地,在上述方法中,确定所述执行主体的类型的步骤包括:
确定对应于所述第一硬件资源特征的第一曲线与对应于所述第二硬件资源特征的第二曲线的偏离程度;
基于所述偏离程度确定所述执行主体是否属于所述指定类型。
可选地,在上述方法中,确定所述执行主体的类型的步骤包括:
确定对应于所述第一硬件资源特征的第一曲线的第一特征值和对应于所述第二硬件资源特征的第二曲线的第二特征值;
基于所述第一特征值和所述第二特征值确定所述执行主体是否属于所述指定类型。
可选地,在上述方法中,所述第一特征值和所述第二特征值分别为所述第一曲线和所述第二曲线的频谱特征。
按照本申请的另一个方面,提供一种数据处理装置,其用于确定应用程序的执行主体的类型,其中,所述应用程序与一个或多个计算任务相关联,所述装置包括:
至少一个存储器;
至少一个处理器;以及
存储在所述存储器上并可在所述处理器上运行的计算机程序,该计算机程序在所述处理器上的运行导致下列操作:
从所述执行主体接收与所述计算任务的执行相关联的第一硬件资源特征;以及
通过将所述第一硬件资源特征与第二硬件资源特征进行比较来确定所述执行主体的类型,其中,所述第二硬件资源特征为指定类型的执行主体在执行所述计算任务时呈现的硬件资源特征。
按照本申请还有一个方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,通过由处理器执行所述指令来实现如上所述的方法。
在本申请的一些实施例中,通过将传感器与计算任务之间的相关性应用于执行主体类型的判断,大大提高了判断的准确率,增加了在云环境下模拟硬件实体设备的难度和成本,并且降低了监测成本。
附图说明
本申请的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:
图1为按照本申请一些实施例的用于确定关系模型的方法的流程图。
图2为以样本值所对应的物理量随时间变化的曲线的形式来表示的关系模型的示意图。
图3为按照本申请一些实施例的用于确定应用程序的执行主体的类型的方法的流程图。
图4为以时变曲线形式表示的第一硬件资源特征和第二硬件资源特征的示意图。
图5为按照本申请另外一些实施例的用于确定执行主体类型的方法的流程图。
图6为按照本申请另外一些实施例的用于确定执行主体类型的方法的流程图。
图7为一种典型的数据处理装置的示意框图。
具体实施方式
下面参照其中图示了本申请示意性实施例的附图更为全面地说明本申请。但本申请可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的上述各实施例旨在使本文的披露全面完整,以将本申请的保护范围更为全面地传达给本领域技术人员。
在本说明书中,诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本申请的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。
在本说明书中,执行主体包括硬件实体设备和能够模拟硬件实体设备运行的虚拟设备等。
在本说明书中,终端设备泛指各种能够运行客户端程序或应用程序的硬件实体设备。终端设备的例子包括但不限于手机、平板电脑、笔记本电脑、可穿戴设备、个人电脑和工作站等。
除非特别说明,诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。
在云计算环境下,可通过模拟运行终端设备的操作系统来实现虚拟的终端设备或虚拟设备。由于虚拟设备不具备终端设备所包含的硬件单元,因此可以基于所提供的与硬件单元相关的属性值(例如手机的基带版本信息、TEE支持属性和NFC可用性等)将终端设备与虚拟设备二者区分开来。例如当运行应用程序时,用于确定执行主体类型的装置(例如业务处理系统)可从执行主体提供的属性值来判断其是否为硬件实体设备。
但是上述方式存在下列漏洞:非法用户可以经虚拟设备向业务处理系统发送正确的属性值以通过对执行主体的身份认定。例如,虽然模拟手机系统并无诸如基带信号处理器之类的硬件单元,但是其能够将真实手机的基带版本号作为其属性值,从而“骗过”用于确定执行主体类型的装置。由于无法确保硬件实体设备的属性值的私密性,因此该漏洞很难被弥补。
硬件实体设备(例如手机)通常包含传感器(如磁传感器、功耗传感器和温度传感器等)和用于执行计算任务的硬件单元(例如中央处理器、图形处理器、数字信号处理器、基带信号处理器、动态随机存储器和非易失存储器等)。当执行计算任务时,部分或全部硬件单元的工作负荷将随之变化,这将影响终端设备的电磁特性和热特性(例如磁场、温度和功耗的变化),由此导致传感器的测量值与计算任务之间存在相关性。另一方面,对于虚拟设备来说,其赖以运行的硬件环境与硬件实体设备相差巨大,因此传感器的测量值与计算任务之间不存在类似的相关性。
在本申请的一些实施例中,利用执行主体在执行特定计算任务时的硬件资源特征来确定其所属的类型,其中,执行特定计算任务时传感器的测量值与计算任务之间的相关性被用于表征硬件资源特征。
在另外一些实施例中,这种相关性可利用测量值的时变特征来描述。与静态的属性值相比,窃取或模拟时变特征的难度将急剧增加,特别是当被执行的计算任务是随机选取的时候。例如业务处理系统可以在执行主体登录时向其下发一个或多个从计算任务池中随机选取的计算任务,由该执行主体执行随机选取的计算任务并将执行期间的硬件资源特征反馈给业务处理系统,使得业务处理系统能够通过比较执行主体的硬件资源特征(也称为“第一硬件资源特征”)与指定类型的执行主体在执行同一计算任务时的硬件资源特征(也称为“第二硬件资源特征”或“标准模型”)来确定执行主体是否属于指定类型。
将传感器与计算任务之间的相关性应用于执行主体类型的判断可大大提高判断的准确率,增加在云环境下模拟硬件实体设备的难度和成本,并且降低监测成本。
在还有一些实施例中,可利用机器学习算法来确定或提取用作第二硬件资源特征的相关性。示例性地,可以在指定类型的执行主体(例如手机)上执行多个具有不同计算量的计算任务,并且获取每个计算任务执行期间传感器的测量值(其例如包含由多个样本值组成的时间序列);随后利用机器学习算法对每个计算任务与相应的样本值的时间序列之间的关系进行分析,从而构建相应的关系模型作为第二硬件资源特征。
图1为按照本申请一些实施例的用于确定关系模型的方法的流程图。在图1所示的实施例中,以手机作为指定类型的执行主体的例子,并且将手机包含的磁传感器作为传感器的例子。但是这仅仅是示例性的,本领域技术人员在阅读了本申请公开的内容之后将会理解,图1所示的方法同样可应用于其他指定类型的执行主体(例如平板电脑、笔记本电脑、可穿戴设备、个人电脑和工作站等终端设备)和其他类型的传感器(例如温度传感器和功耗传感器等)。
如图1所示,在步骤110中,选取n个具有不同计算量的计算任务,以下将这些计算任务示例性地记为t
随后在步骤120中,由手机S依次执行计算任务t
需要指出的是,为了改善第二硬件资源特征或关系模型的普适性或通用性,可以利用q个手机S
随后在步骤130中,利用机器学习方法,确定每个计算任务与相应的样本值组之间的相关性。以第i个计算任务t
在一些示例中,关系模型R
图3为按照本申请一些实施例的用于确定应用程序的执行主体的类型的方法的流程图。图1所示实施例可借助软件及必需的通用硬件(例如通用计算机系统与计算机程序的组合)来实现,也可以利用专用硬件实现,以下将它们统称为用于确定应用程序的执行主体的类型的装置或数据处理装置。
仅仅是出于示例性的目的,下面的描述以手机作为指定类型的执行主体的例子,并且以用于执行电子支付功能的客户端程序作为应用程序的例子。对于本领域技术人员来说,其在阅读了本申请公开的内容之后将会理解,图3所示的方法同样可应用于其他指定类型的执行主体(例如平板电脑、笔记本电脑、可穿戴设备、个人电脑和工作站等终端设备)和其他类型的应用程序。
图3所示的方法包括下列步骤:
步骤310:应用程序与计算任务的关联
在步骤110中,数据处理装置使客户端程序e-PAY与一个计算任务t或多个计算任务t
可选地,可以下列方式建立关联:在执行主体经客户端程序e-PAY登录业务处理系统时向执行主体下发一个计算任务t或多个计算任务t
另外可选地,也可以下列方式建立关联:在执行主体经客户端程序e-PAY登录业务处理系统时向执行主体下发待执行计算任务的列表以供执行主体执行并返回计算任务执行时的硬件资源特征。
为了增加在云环境下模拟硬件实体设备的难度和成本,上述下发的计算任务或列表中的计算任务可以由数据处理装置以随机方式选取。
此外,还可以通过将计算任务t或多个计算任务t
步骤320:第一硬件资源特征的接收
在步骤120中,数据处理装置从执行主体接收与计算任务t或多个计算任务t
步骤330:执行主体的类型的确定
当执行主体属于指定类型(例如手机)时,其向数据处理装置返回的第一硬件资源特征反映了手机执行特定计算任务时传感器的测量值与计算任务之间的相关性。另一方面,当执行主体不属于指定类型时,其向数据处理装置返回的第一硬件资源特征将不再反映预期的相关性。
图4为以时变曲线形式表示的第一硬件资源特征和第二硬件资源特征的示意图,其中,纵轴表示测量值对应的物理量(例如磁场强度B),横轴表示时间T。在图4中,以标号①标识的曲线对应于作为基准的第二硬件资源特征,以标号②标识的曲线对应于手机的第一硬件资源特征,以标号③标识的曲线对应于手机以外类型的执行主体(例如虚拟设备或其他类型的终端设备,例如平板电脑、笔记本电脑、可穿戴设备、个人电脑和工作站等)的第一硬件资源特征。参见图4,曲线②与曲线①在形状和偏离程度方面相差较小,曲线③与曲线①在形状和偏离程度方面相差较大。
在步骤330中,数据处理装置通过将第一硬件资源特征与作为基准的第二硬件资源特征进行比较来确定执行主体是否属于指定类型。
这里所述的第二硬件资源特征为指定类型的执行主体在执行计算任务时呈现的硬件资源特征。有关第二硬件资源的确定或生成方式在上面已作详细描述,此处不再赘述。
此外,有关第一硬件资源特征与第二硬件资源特征的具体比较方式将在下面结合图5和图6作进一步的描述。
步骤340:业务处理系统的访问授权
在步骤340中,数据处理装置基于执行主体的类型确定是否允许客户端程序e-PAY访问业务处理系统。示例性地,当执行主体的类型为指定类型(例如手机)时,数据处理装置将允许客户端程序e-PAY登录业务处理系统以执行后续的电子支付流程,否则,则向执行主体返回拒绝登录的消息。
图5为按照本申请另外一些实施例的用于确定执行主体类型的方法的流程图。
图5所示的流程开始于步骤510,在该步骤中,数据处理装置确定对应于第一硬件资源特征的第一曲线(例如图4中的曲线②或曲线③)与对应于第二硬件资源特征的第二曲线(例如图4中的曲线①)之间的偏离程度offset。可选地,可以将第一与第二曲线之间最大的距离作为刻画偏离程度的指标。
随后进入步骤520,数据处理装置基于偏离程度offset来确定执行主体是否属于指定类型(例如手机)。示例性地,如果偏离程度offset小于设定的阈值,则判定执行主体属于指定类型,否则,则判定执行主体不属于指定类型。执行步骤520之后,图5所示的流程转至图4中的步骤340。
图6为按照本申请还有一些实施例的用于确定执行主体类型的方法的流程图。
图6所示的流程开始于步骤610,在该步骤中,数据处理装置确定与第一硬件资源特征对应的第一曲线(例如图4中以虚线绘制的曲线②或曲线③)的第一特征值F
随后进入步骤620,数据处理装置基于第一特征值F
在步骤620中,当第一特征值F
图7为一种典型的数据处理装置的示意框图。如图7所示,数据处理装置700包含至少一个存储器710(例如诸如闪存、ROM、硬盘驱动器、磁盘、光盘之类的非易失存储器)、至少一个处理器720和计算机程序730。
存储器710存储可由处理器720执行的计算机程序730。处理器720配置为运行存储器720上存储的计算机程序730。通过运行计算机程序730可实现上面借助图1~6所述的方法中包含的一个或多个步骤。
按照本申请的另一方面,还提供了一种计算机可读存储介质,其上存储计算机程序,该程序被处理器执行时可实现上面借助图1~图6所述的方法中包含的一个或多个步骤。
本申请中所称的计算机可读存储介质包括各种类型的计算机存储介质,可以是通用或专用计算机能够存取的任何可用介质。举例而言,计算机可读存储介质可以包括RAM、ROM、EPROM、E2PROM、寄存器、硬盘、可移动盘、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码单元并能够由通用或特定用途计算机、或者通用或特定用途处理器进行存取的任何其他临时性或者非临时性介质。上述的组合也应当包括在计算机可读存储介质的保护范围之内。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
本领域的技术人员将会理解,本文中所描述的各种示意性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
为了表明硬件和软件间的可互换性,各种示意性部件、块、模块、电路和步骤在上文根据其功能性总体地进行了描述。这样的功能性以硬件形式或软件形式实施取决于特定应用以及对总体系统所施加的设计限制。本领域技术人员可以针对具体的特定应用、按照变化的方式来实现所描述的功能性,但是,这样的实现方式决策不应当被理解为导致与本申请范围的背离。
尽管只对其中一些本申请的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本申请可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本申请精神及范围的情况下,本申请可能涵盖各种的修改与替换。
提供本文中提出的实施例和示例,以便最好地说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本申请。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本申请的各个方面或者将本申请局限于所公开的精确形式。
- 启动应用程序的时长的确定方法、装置及存储介质
- 一种用于运行应用程序的方法和装置
- 小区类型确定方法和装置、电子设备
- 应用程序显示方法、应用程序显示装置及终端
- 应用程序图标显示方法及装置、应用程序、终端
- 应用程序类型确定方法、装置及可读存储介质
- 用于查明眼镜片的类型的装置和方法以及用于确定渐进式眼镜片的折射力分布的装置和方法