CN114861230B - 终端设备中的隐私防护方法和装置 - Google Patents
终端设备中的隐私防护方法和装置 Download PDFInfo
- Publication number
- CN114861230B CN114861230B CN202210794295.9A CN202210794295A CN114861230B CN 114861230 B CN114861230 B CN 114861230B CN 202210794295 A CN202210794295 A CN 202210794295A CN 114861230 B CN114861230 B CN 114861230B
- Authority
- CN
- China
- Prior art keywords
- monitoring
- privacy protection
- code
- service
- terminal equipment
- 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
Links
Images
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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Alarm Systems (AREA)
Abstract
本说明书实施例提供了一种终端设备中的隐私防护方法及装置。该方法包括:针对监控要求,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;针对所确定的每一个业务对象,均设置对应该业务对象的切点;生成隐私防护增强代码;在各业务对象对应的各切点的位置上,注入隐私防护增强代码;利用各切点处的隐私防护增强代码采集对应各业务对象的监控指标;利用对应各业务对象的各监控指标,综合分析终端设备中是否存在隐私泄露风险。本说明书实施例能够提高终端设备中的隐私防护的效果。
Description
技术领域
本说明书一个或多个实施例涉及网络信息技术,尤其涉及终端设备中的隐私防护方法和装置。
背景技术
随着互联网技术的发展,出现了越来越多的业务应用,在终端设备中下载这些业务应用后就能够在终端设备中实现各种功能。
目前,为了实现在终端设备中的隐私防护,通常需要对业务应用的程序代码进行修改,比如通过设置业务应用的程序代码中的目标函数,监控目标函数的执行来监控业务应用是否存在隐私泄露的风险。
通过修改业务应用的程序代码,实现在终端设备中的隐私防护的方法,对于隐私防护的效果较差,并且实现难度高。
发明内容
本说明书一个或多个实施例描述了终端设备中的隐私防护方法和装置,能够提高终端设备中的隐私防护的效果。
根据第一方面,提供了终端设备中的隐私防护方法,其中,包括:
针对监控要求,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
针对所确定的每一个业务对象,均设置对应该业务对象的切点;
生成隐私防护增强代码;
在各业务对象对应的各切点的位置上,注入隐私防护增强代码;
利用各切点处的隐私防护增强代码采集对应各业务对象的监控指标;
利用对应各业务对象的各监控指标,综合分析终端设备中是否存在隐私泄露风险。
其中,所述业务对象的类型包括如下中的任意一项:业务应用的业务代码;SDK;小程序;终端设备中操作系统的敏感信息系统调用接口;通讯录;摄像头;录音;聊天记录。
其中,当所述业务对象的类型包括SDK或者小程序时;
所述在各业务对象对应的各切点的位置上注入隐私防护增强代码,包括:在该SDK或者小程序对应的切点的位置上,注入字节码形式的隐私防护增强代码。
其中,所述利用每一个切点处的隐私防护增强代码采集对应各业务对象的监控指标,包括:
通过所述终端设备的操作系统以及各切点处注入的隐私防护增强代码,获取在全链路上所述至少两个业务对象的调用栈、方法参数、上下文、网络IO和文件IO中的至少一种。
其中,所述利用对应各业务对象的各监控指标综合分析终端设备中是否存在隐私泄露风险,包括:
对于采集到的一个对应隐私信息的方法参数,如果执行路径中包括至少一个业务对象对该方法参数的调用,但是该方法参数的值始终为空时,则认为针对该方法参数的调用,不存在隐私泄露风险。
其中,所述利用对应各业务对象的各监控指标综合分析终端设备中是否存在隐私泄露风险,包括:
利用对应各业务对象的各监控指标,形成在终端设备中在各业务对象之间的执行路径的流转图,根据形成的执行路径的流转图分析终端设备中是否存在隐私泄露风险。
其中, 该方法进一步包括:根据所述监控要求,生成切面编排逻辑;该切面编排逻辑包括:需要选择的切点信息、数据采集模块包的版本信息、代码流程的编织方法;其中,每一个数据采集模块包用于实现对一个监控指标的采集;
相应地,所述确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象包括:根据所述切面编排逻辑中需要选择的切点信息,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
相应地,所述生成隐私防护增强代码,包括:
根据所述切面编排逻辑中的数据采集模块包的版本信息,从预先设置的对应各种监控要求的各种版本的数据采集模块包中拉取指定版本的数据采集模块;
按照所述代码流程的编织方法,对拉取的数据采集模块包进行处理,形成隐私防护增强代码;隐私防护增强代码中包括至少一个增强代码块,每一个增强代码块对应一个切点;
所述在各业务对象对应的各切点的位置上注入隐私防护增强代码,包括:在各业务对象对应的各切点的位置上,分别注入与该切点对应的增强代码块。
其中,根据所述监控要求,生成开关状态和/或变量的取值;
所述生成隐私防护增强代码包括:在隐私防护增强代码中生效所述开关状态和/或变量的取值。
根据第二方面,提供了对终端设备的隐私防护装置,其中,包括:
待监控对象确定模块,配置为针对监控要求,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
切点设置模块,配置为针对所确定的每一个业务对象,均设置对应该业务对象的切点;
增强代码生成模块,配置为生成隐私防护增强代码;
代码注入模块,配置为在各业务对象对应的各切点的位置上,注入隐私防护增强代码;
监控指标获取模块,配置为利用各切点处的隐私防护增强代码得到对应各业务对象的监控指标;
监控分析模块,配置为利用对应各业务对象的各监控指标,综合分析终端设备中是否存在隐私泄露风险。
根据第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
本说明书实施例提供的方法及装置,因为无需对业务应用的程序代码进行修改,是由独立的监控方进行监控,因此,监控方与业务应用的开发方不是同一方,监控的效力较强。并且,不是分别单独对每一个业务应用进行监控,而是利用各个切点形成的安全切面对终端设备中全链路上的至少两个业务对象(比如至少两个业务应用)进行联合监控,因此,能够查找到更为隐蔽的泄露隐私信息的行为,隐私防护效果更强。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个实施例所应用的系统架构的示意图。
图2是本说明书一个实施例中在终端设备中实现隐私防护的方法的流程图。
图3是本说明书一个实施例中在终端设备中实现隐私防护的示意图。
图4是本说明书一个实施例中在终端设备中实现隐私防护的装置的结构示意图。
具体实施方式
首先需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
如前所述,为了在终端设备中进行隐私防护,一方面,现有技术需要对业务应用的程序代码进行修改。首先,需要得到业务应用的原程序代码,并走研发流程,从而对该原程序代码进行修改,使得修改后的程序代码能完成相应的监控功能;修改完毕之后,还需要将修改后的程序代码视为新程序代码来执行一系列过程比如包括测试、审批、恢复业务应用的上线运行等全套流程。可见,修改业务应用的程序代码的方法过于复杂,大大增加了时间成本及人力成本。并且,每当需要执行一种新的监控功能或者监控功能的指标发生变化时,都需要重新对业务应用的程序代码执行上述的一系列过程,灵活性差。
又一方面,现有技术中,是对每一个业务应用单独进行监控,业务应用的开发方与监控方(修改代码实现监控)是同一方,导致监控的效力较差,并且,单独对每一个业务应用进行监控时,往往无法查找到更为隐蔽的泄露隐私信息的行为,隐私防护效果较差。
下面结合附图,对本说明书提供的方案进行描述。
为了方便对本说明书提供的方法进行理解,首先对本说明书所涉及和适用的系统架构进行描述。如图1中所示,该系统架构中主要包括两个网络节点:终端设备、监控方。
其中终端设备中安装并执行有各种业务应用、第三方代码等。监控方可以是监控终端设备中的隐私防护的一方,比如该监控方可以是服务器。
应该理解,图1中的业务应用方及监控方的数目仅仅是示意性的。根据实现需要,可以选择和布设任意数目。
图2是本说明书一个实施例中在终端设备中实现隐私防护的方法的流程图。该方法的执行主体可以是上述图1中的监控方。可以理解,该方法也可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。参见图2,该方法包括:
步骤201:针对监控要求,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象。
步骤203:针对所确定的每一个业务对象,均设置对应该业务对象的切点。
步骤205:生成隐私防护增强代码。
步骤207:在各业务对象对应的各切点的位置上,注入隐私防护增强代码。
步骤209:利用各切点处的隐私防护增强代码采集对应各业务对象的监控指标。
步骤211:利用对应各业务对象的各监控指标,综合分析终端设备中是否存在隐私泄露风险。
可见,在上述图2所示的流程中,不需要对业务应用的程序代码进行修改,而是根据监控要求,确定出需要被监控的至少两个业务对象,因为针对确定出的每一个业务对象均设置了切点并注入了隐私防护增强代码,这样,就可以利用各个切点形成的切面,由隐私防护增强代码得到监控指标,从而监控终端设备中是否存在隐私泄露,也就是说,各种业务应用的程序代码无需下线修改,无需进行代码修改后的测试、审批、恢复业务应用运行等全套流程。因此大大简化了流程,减少了时间成本及人力成本,提高了效率。
同时,在图2所示流程中,因为无需对业务应用的程序代码进行修改,是由独立的监控方进行监控,因此,监控方与业务应用的开发方不是同一方,监控的效力较强。并且,不是分别单独对每一个业务应用进行监控,而是对终端设备中全链路上的至少两个业务对象(比如至少两个业务应用)进行联合监控,因此,能够查找到更为隐蔽的泄露隐私信息的行为,隐私防护效果更强。
下面结合具体的例子及实施例对图2中的每一个步骤分别进行说明。
首先对于步骤201:针对监控要求,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象。
在本步骤201中,不是单独针对一个业务应用作为监控对象,而是针对监控要求确定出在终端设备的全链路中所有可能涉及到的业务对象,比如所有可能涉及到的业务应用,将这些所有可能涉及到的业务对象作为一个全链路上的各个节点,联合进行监控。
在本说明书实施例中,考虑到为了尽可能全面地监控到终端设备中每一个可能与监控要求相关的对象,因此,被监控的业务对象不是只包括业务应用,而是可以为任意一种类型的业务对象。比如,目前,在终端设备下载的业务应用中出现了一类第三方代码,比如搭载在宿主程序中的小程序,再如集成在业务应用中的软件开发工具包(SDK,softwaredevelopment toolkit),其中,小程序的运行依托于宿主程序的运行,SDK的运行依托于所集成的业务应用的运行,终端设备的操作系统无法直接运行SDK或者小程序。对于此种第三方代码,由于缺少运行时监测和管控的技术,无法对线上的实际敏感API调用行为进行观测,监控难度大,会存在用户隐私数据滥用和泄漏问题。因此,可以将SDK、小程序等第三方代码也作为待监控的业务对象,如果一个监控要求的全链路上涉及到一个SDK或者小程序,则可以将该涉及到的SDK或者小程序作为本步骤201中确定的业务对象。
在本说明书一个实施例中,业务对象的类型包括如下中的任意一项:业务应用的业务代码;SDK;小程序;终端设备中操作系统的敏感信息系统调用接口;通讯录;摄像头;录音;聊天记录。这样,在本步骤201中确定出的至少两个业务对象比如可以是:在一个全链路上的一个业务应用的业务代码以及另一个业务应用中的小程序;再如可以是:在一个全链路上的两个业务应用的业务代码、SDK、终端设备中操作系统的敏感信息系统调用接口、摄像头。
接下来,对于步骤203:针对所确定的每一个业务对象,均设置对应该业务对象的切点。
比如,步骤201中确定的业务对象包括:在一个全链路上的两个业务应用的业务代码、SDK、终端设备中操作系统的敏感信息系统调用接口、摄像头,那么,在本步骤203中,可以为该两个业务应用的业务代码分别设置各自的切点、为该SDK设置一个切点,为该敏感信息系统调用接口设置一个切点,为该摄像头设置一个切点。各个切点连成切面,从而可以从全局角度而不是单个业务应用的角度来监控是否存在隐私泄露。
可以理解,一个切点对应的是一个采样点。比如业务应用的程序代码的第三行代码位置处,可以体现用户进入刷脸支付程序的起点,因此可以设置一个切点,从而得到一个采样点的数据,诸如得到业务应用的程序代码执行到该第三行代码时的时间戳。为了更加便于记录及管理这些切点,在本说明书一个实施例中,可以将各个切点保存在切点列表中,切点列表的结构设置为目录结构,就好比书的目录一样,按照类、方法、注入位置的三级目录结构设置,这样,在保存了一个切点后,就可以根据该目录结构确定该切点对应的程序代码行的具体位置;也就是说,在切点列表中的每一个切点表征:在从业务应用的程序代码中的类到方法再到注入位置的逐级的树形目录结构中,采样点的位置。
上述目录结构形式的切点列表便于查找相应的切点,比如在增加、删除、修改一个切点时,可以非常方便地利用目录结构快速定位到一个切点。
接下来对于步骤205:生成隐私防护增强代码。
这里,当步骤201中确定出的监控要求涉及的业务对象的类型包括SDK或者小程序时,因为SDK或者小程序都是第三方代码,很难获得其源码,因此,在生成对应该SDK或者小程序的隐私防护增强代码时,可以是生成字节码形式而非源码形式的隐私防护增强代码,并在后续步骤中在对应该SDK或者小程序的切点处注入字节码形式而非源码形式的隐私防护增强代码。字节码虽然语义丰富度不如源码,但是能够完成切面功能,能够获取相应的链路信息,看到中间的方法、过程。
接下来对于步骤207:在各业务对象对应的各切点的位置上,注入隐私防护增强代码。
如前所述,当业务对象的类型包括SDK或者小程序时,在该SDK或者小程序对应的切点的位置上,注入字节码形式的隐私防护增强代码。
接下来对于步骤209:利用各切点处的隐私防护增强代码采集对应各业务对象的监控指标。
在本步骤209中,是对各个业务对象的监控指标均进行采集,而不是只采集某一个业务应用的监控指标。比如通过各个切点采集在一个全链路上的两个业务应用的业务代码的监控指标、一个SDK的监控指标、终端设备中操作系统的敏感信息系统调用接口的监控指标、摄像头的监控指标。
具体的,本步骤209中,需要通过终端设备的操作系统和每一个切点处的隐私防护增强代码采集对应各业务对象的监控指标。
在本说明书一个实施例中,本步骤209的一种实现过程包括:通过终端设备的操作系统以及各切点处注入的隐私防护增强代码,获取在全链路上至少两个业务对象的调用栈、方法参数、上下文、网络IO(输入输出)和文件IO(输入输出)中的至少一种。
其中,调用栈显示出了哪个业务对象调用了哪个业务对象,比如业务应用1调用了摄像头;再如,业务应用1调用了业务应用2中的小程序,该小程序又调用了通讯录。通过该调用栈则可以查找出在终端设备中是否存在对隐私信息的调用。
通过调用栈、方法参数、上下文、网络IO和文件IO可以显示出在一个终端设备中在一次完整的业务流程中,都对哪些业务对象(业务应用和/或SDK等)进行了调用,调用了什么方法参数,方法参数的赋值是什么、通过哪个网络输入输出接口或者文件输入输出接口向外进行了发送。因此,可以得到执行路径的流转图。
接下来对于步骤211:利用对应各业务对象的各监控指标,综合分析终端设备中是否存在隐私泄露风险。
在本说明书一个实施例中,本步骤211的过程包括:利用对应各业务对象的各监控指标,形成在终端设备中在各业务对象之间的执行路径的流转图,根据形成的执行路径的流转图分析终端设备中是否存在隐私泄露风险。
在本说明书实施例中,因为是对各个业务对象的监控指标均进行采集,综合分析,因此可以从终端设备的全局角度来分析是否存在隐私泄露风险,而不是从某一个业务应用的局部角度来分析是否存在隐私泄露风险,因此,防护效果更好。比如,对于采集到的一个对应隐私信息的方法参数比如用户的定位数据、语义数据、通讯录联系人等,如果执行路径中包括至少一个业务对象比如一个业务应用的程序代码对该方法参数的调用,那么,按照现有技术的方案,因为该方法参数涉及隐私信息比如上述用户的定位数据,因此,会被认为是存在隐私泄露,但是,依据本说明书实施例的方法,采集的监控指标中可以包括方法参数的值,如果执行路径上包括一个业务对象对该方法参数的调用,但是同时也包括终端设备的操作系统的敏感信息系统调用接口对该方法参数的调用,并且,该方法参数的值始终为空时比如虽然存在上述用户的定位数据,但是该定位数据的值为空,那么,则认为针对该方法参数的调用,不存在隐私泄露风险。这是因为,该方法参数的值始终为空时说明:虽然一个业务对象对该方法参数进行调用存在隐私泄露的风险,但是终端设备的操作系统进行了拦截,拦截了本次调用,本说明书实施例不是从单个业务对象调用的角度就得出结论,而是综合全链路的执行路径的调用情况,得出是否存在隐私泄露的风险,因此,判断方式更为全局化,更为准确。
在本步骤211中,在综合分析终端设备中是否存在隐私泄露风险时,可以将获取到的监控指标提供给用户,比如将形成的执行路径的流转图提供给用户,后续可以根据用户意愿以及业务权限,判断出在终端设备中是否存在隐私泄露风险。
在本说明书的一个实施例中,在本步骤211中,在综合分析终端设备中是否存在隐私泄露风险时,可以结合多种算法或者策略进行分析。比如由算法分析引擎进行分析,诸如大数据分析、人工智能算法分析等,并且结合用户的配置设置以及使用场景,最终得出在终端设备中是否存在隐私泄露风险的结论。
上述用户的配置设置,可以是用户针对一个业务对象比如一个业务应用或者小程序所开启的权限(允许该业务应用或者小程序拍照、录音等);上述的使用场景,是指当前隐私数据被使用的场景,比如,用户针对一种输入法,开启了录音权限,但是使用场景规定该输入法只能在语音转为文字时使用录音权限,不能在其他处理中使用录取权限比如不能进行语音外发及存储等。
在本说明书一个实施例中,针对不同监控要求,或者针对同一监控要求在不同的业务场景及不同的时间段中,都可以对应不同的切点及隐私防护增强代码,也就是说,切点及隐私防护增强代码是可灵活配置、灵活调整的,从而满足监控要求的多样性要求。
相应地,在步骤201之前,可以进一步包括:根据监控要求,生成切面编排逻辑;该切面编排逻辑包括:需要选择的切点信息、数据采集模块包的版本信息、代码流程的编织方法;其中,每一个数据采集模块包用于实现对一个监控指标的采集;
相应地,步骤201中确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象的一种实现方式包括:根据切面编排逻辑中需要选择的切点信息,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
相应地,步骤205中生成隐私防护增强代码的一种实现方式包括:
步骤2051:根据切面编排逻辑中的数据采集模块包的版本信息,从预先设置的对应各种监控要求的各种版本的数据采集模块包中拉取指定版本的数据采集模块包;
步骤2053:按照代码流程的编织方法,对拉取的数据采集模块包进行处理,形成隐私防护增强代码;隐私防护增强代码中包括至少一个增强代码块,每一个增强代码块对应一个切点;
相应地,步骤207中在各业务对象对应的各切点的位置上注入隐私防护增强代码的一种实现方式包括:在各业务对象对应的各切点的位置上,分别注入与该切点对应的增强代码块。
利用切面编排逻辑指示了满足当前监控要求的切点、需要的数据采集模块包的版本以及如何利用数据采集模块包形成隐私防护增强代码。在实际的业务实现中,即使对应同一种的监控要求,在不同的场景,不同的时期也会存在不同的需求,这样隐私防护增强代码中也会存在不同的开关,变量也会存在不同的取值,不同的开关状态以及不同的变量取值可以适用于不同的监控要求。因此,在本说明书一个实施例中,除了生成切面编排逻辑,还可以进一步生成管控配置策略,通过该管控配置策略来指示隐私防护增强代码的执行要求。
举例来说,比如,监控要求是监控业务应用中的响应时间,该业务应用的程序代码在代码的第2、3、7行涉及该响应时间,第2、3行涉及的都是开始时间、第7行涉及的是结束时间。相应地,数据采集模块包中针对该第2、3、7行都会存在对应的代码实现,从而实现采集功能。根据不同的监控要求,可以存在如下三种管控配置策略:第一种管控配置策略是,让第2行生效,第3行不生效,此时起止时间就是第2、7行程序代码执行时对应的时间差,可以监控到响应时间;第二种管控配置策略是,让第3行生效,第2行不生效,起止时间就是第3、7行程序代码执行时对应的时间差,可以监控到响应时间;第二种管控配置策略是,让第2、3行都生效,起止时间可以是第2、7行程序代码执行时对应的时间差以及第3、7行程序代码执行时对应的时间差的平均值,也可以监控到响应时间。
因此,需要通过管控配置策略指示隐私防护增强代码的执行要求。管控配置策略可以包括:开关状态和/或变量的取值。其中,开关状态用于说明诸如上述的代码行的生效及不生效。变量的取值比如可以决定隐私防护增强代码所执行的分支,从而对应不同的监控指标的值。
下面再结合一个具体的示意图说明本说明书实施例中的一种隐私防护方法。
图3是本说明书一个实施例中实现终端设备中的隐私防护方法的示意图。参见图3,在终端设备中,对应多个业务对象分别设置各切点,如图3中所示的一个业务应用的业务代码对应切点1,一个SDK对应切点2,一个小程序对应切点3,终端设备的操作系统的对敏感信息的系统调用接口对应切点4,通讯录/定位/摄像头/录音等功能对应切点5,切点1至切点5形成了终端设备隐私防护的安全切面。在监控方中,设置有管控平台,管控平台中维护有:上述实施例中的切点列表、上述各种版本的数据采集模块包、上述的管控配置策略、上述切面编排逻辑,管控平台利用切点列表、各种版本的数据采集模块包、管控配置策略、切面编排逻辑来生成对应监控要求的隐私防护增强代码,该隐私防护增强代码被注入到各个切点,隐私防护增强代码通过各个切点进行数据采集,获取了调用栈、方法参数、上下文、网络IO和文件IO等监控指标,将这些监控指标发送给监控方的算法分析引擎,由该算法分析引擎进行分析,诸如大数据分析、人工智能算法分析等。
在本说明书的一个实施例中,提供了一种对终端设备的隐私防护装置,设置于监控方,参见图4,该装置包括:
待监控对象确定模块401,配置为针对监控要求,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
切点设置模块402,配置为针对所确定的每一个业务对象,均设置对应该业务对象的切点;
增强代码生成模块403,配置为生成隐私防护增强代码;
代码注入模块404,配置为在各业务对象对应的各切点的位置上,注入隐私防护增强代码;
监控指标获取模块405,配置为利用各切点处的隐私防护增强代码得到对应各业务对象的监控指标;
监控分析模块406,配置为利用对应各业务对象的各监控指标,综合分析终端设备中是否存在隐私泄露风险。
在图4所示的本说明书装置的一个实施例中,业务对象的类型包括如下中的任意一项:业务应用的业务代码;SDK;小程序;终端设备中操作系统的敏感信息系统调用接口;通讯录;摄像头;录音;聊天记录。
在图4所示的本说明书装置的一个实施例中,当所述业务对象的类型包括SDK或者小程序时;代码注入模块404,配置为在该SDK或者小程序对应的切点的位置上,注入字节码形式的隐私防护增强代码。
在图4所示的本说明书装置的一个实施例中,监控指标获取模块405,配置为通过终端设备的操作系统以及各切点处注入的隐私防护增强代码,获取在全链路上至少两个业务对象的调用栈、方法参数、上下文、网络IO和文件IO中的至少一种。
在图4所示的本说明书装置的一个实施例中,监控分析模块406配置为执行:对于采集到的一个对应隐私信息的方法参数,如果执行路径中包括至少一个业务对象对该方法参数的调用,但是该方法参数的值始终为空时,则认为针对该方法参数的调用,不存在隐私泄露风险。
在图4所示的本说明书装置的一个实施例中,监控分析模块406配置为执行:利用对应各业务对象的各监控指标,形成在终端设备中在各业务对象之间的执行路径的流转图,根据形成的执行路径的流转图分析终端设备中是否存在隐私泄露风险。
在图4所示的本说明书装置的一个实施例中,进一步包括管控平台(图中未示出),配置为根据监控要求,生成切面编排逻辑;该切面编排逻辑包括:需要选择的切点信息、数据采集模块包的版本信息、代码流程的编织方法;其中,每一个数据采集模块包用于实现对一个监控指标的采集;
相应地,待监控对象确定模块401被配置为根据切面编排逻辑中需要选择的切点信息,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
相应地,增强代码生成模块403,配置为根据切面编排逻辑中的数据采集模块包的版本信息,从预先设置的对应各种监控要求的各种版本的数据采集模块包中拉取指定版本的数据采集模块包;按照代码流程的编织方法,对拉取的数据采集模块包进行处理,形成隐私防护增强代码;隐私防护增强代码中包括至少一个增强代码块,每一个增强代码块对应一个切点;
相应地,代码注入模块404,配置为在各业务对象对应的各切点的位置上,分别注入与该切点对应的增强代码块。
在图4所示的本说明书装置的一个实施例中,管控平台进一步根据监控要求,生成开关状态和/或变量的取值;
相应地,增强代码生成模块403,配置为在隐私防护增强代码中生效该开关状态和/或变量的取值。
本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对本说明书实施例的装置的具体限定。在说明书的另一些实施例中,上述装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置、系统内的各模块之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (9)
1.终端设备中的隐私防护方法,其中,包括:
针对监控要求,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
针对所确定的每一个业务对象,均设置对应该业务对象的切点;
生成隐私防护增强代码;
在各业务对象对应的各切点的位置上,注入隐私防护增强代码;
利用各切点处的隐私防护增强代码采集对应各业务对象的监控指标;
利用对应各业务对象的各监控指标,综合分析终端设备中是否存在隐私泄露风险;
其中,所述业务对象的类型包括如下中的任意一项:业务应用的业务代码;SDK;小程序;终端设备中操作系统的敏感信息系统调用接口;通讯录;摄像头;录音;聊天记录;
所述至少两个业务对象包括:所述类型的各业务对象中的至少两个。
2.根据权利要求1所述的方法,其中,当所述业务对象的类型包括SDK或者小程序时;
所述在各业务对象对应的各切点的位置上注入隐私防护增强代码,包括:在该SDK或者小程序对应的切点的位置上,注入字节码形式的隐私防护增强代码。
3.根据权利要求1所述的方法,其中,所述利用各切点处的隐私防护增强代码采集对应各业务对象的监控指标,包括:
通过所述终端设备的操作系统以及各切点处注入的隐私防护增强代码,获取在全链路上所述至少两个业务对象的调用栈、方法参数、上下文、网络IO和文件IO中的至少一种。
4.根据权利要求3所述的方法,其中,所述利用对应各业务对象的各监控指标综合分析终端设备中是否存在隐私泄露风险,包括:
对于采集到的一个对应隐私信息的方法参数,如果执行路径中包括至少一个业务对象对该方法参数的调用,但是该方法参数的值始终为空时,则认为针对该方法参数的调用,不存在隐私泄露风险。
5.根据权利要求1所述的方法,其中,所述利用对应各业务对象的各监控指标综合分析终端设备中是否存在隐私泄露风险,包括:
利用对应各业务对象的各监控指标,形成在终端设备中在各业务对象之间的执行路径的流转图,根据形成的执行路径的流转图分析终端设备中是否存在隐私泄露风险。
6.根据权利要求1所述的方法,其中, 该方法进一步包括:根据所述监控要求,生成切面编排逻辑;该切面编排逻辑包括:需要选择的切点信息、数据采集模块包的版本信息、代码流程的编织方法;其中,每一个数据采集模块包用于实现对一个监控指标的采集;
相应地,所述确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象包括:根据所述切面编排逻辑中需要选择的切点信息,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
相应地,所述生成隐私防护增强代码,包括:
根据所述切面编排逻辑中的数据采集模块包的版本信息,从预先设置的对应各种监控要求的各种版本的数据采集模块包中拉取指定版本的数据采集模块包;
按照所述代码流程的编织方法,对拉取的数据采集模块包进行处理,形成隐私防护增强代码;隐私防护增强代码中包括至少一个增强代码块,每一个增强代码块对应一个切点;
所述在各业务对象对应的各切点的位置上注入隐私防护增强代码,包括:在各业务对象对应的各切点的位置上,分别注入与该切点对应的增强代码块。
7.根据权利要求1所述的方法,该方法进一步包括:根据所述监控要求,生成开关状态和/或变量的取值;
所述生成隐私防护增强代码包括:在隐私防护增强代码中生效所述开关状态和/或变量的取值。
8.对终端设备的隐私防护装置,其中,包括:
待监控对象确定模块,配置为针对监控要求,确定该监控要求所涉及的终端设备中全链路上的至少两个业务对象;
切点设置模块,配置为针对所确定的每一个业务对象,均设置对应该业务对象的切点;
增强代码生成模块,配置为生成隐私防护增强代码;
代码注入模块,配置为在各业务对象对应的各切点的位置上,注入隐私防护增强代码;
监控指标获取模块,配置为利用各切点处的隐私防护增强代码得到对应各业务对象的监控指标;
监控分析模块,配置为利用对应各业务对象的各监控指标,综合分析终端设备中是否存在隐私泄露风险;
其中,所述业务对象的类型包括如下中的任意一项:业务应用的业务代码;SDK;小程序;终端设备中操作系统的敏感信息系统调用接口;通讯录;摄像头;录音;聊天记录;
所述至少两个业务对象包括:所述类型的各业务对象中的至少两个。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210794295.9A CN114861230B (zh) | 2022-07-07 | 2022-07-07 | 终端设备中的隐私防护方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210794295.9A CN114861230B (zh) | 2022-07-07 | 2022-07-07 | 终端设备中的隐私防护方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114861230A CN114861230A (zh) | 2022-08-05 |
CN114861230B true CN114861230B (zh) | 2022-11-01 |
Family
ID=82625647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210794295.9A Active CN114861230B (zh) | 2022-07-07 | 2022-07-07 | 终端设备中的隐私防护方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861230B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115357940A (zh) * | 2022-10-19 | 2022-11-18 | 支付宝(杭州)信息技术有限公司 | 一种数据处理的方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672580A (zh) * | 2018-09-21 | 2019-04-23 | 平安科技(深圳)有限公司 | 全链路监控方法、装置、终端设备及存储介质 |
CN111831979A (zh) * | 2020-07-06 | 2020-10-27 | 北京瑞莱智慧科技有限公司 | 一种数据隐私保护协议的分析方法及装置 |
CN111970168A (zh) * | 2020-08-11 | 2020-11-20 | 北京点众科技股份有限公司 | 全链路服务节点的监控方法、装置和存储介质 |
CN112035320A (zh) * | 2020-08-31 | 2020-12-04 | 维沃移动通信有限公司 | 业务监控方法、装置、电子设备及可读存储介质 |
CN112926090A (zh) * | 2021-03-25 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 基于差分隐私的业务分析方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957766B (zh) * | 2010-09-17 | 2014-07-09 | 山东中创软件工程股份有限公司 | 一种字节码织入方法、装置及系统 |
CN109145603A (zh) * | 2018-07-09 | 2019-01-04 | 四川大学 | 一种基于信息流的Android隐私泄露行为检测方法和技术 |
US11340906B2 (en) * | 2018-10-04 | 2022-05-24 | Walmart Apollo, Llc | System and method for business process monitoring |
CN115186260A (zh) * | 2021-03-26 | 2022-10-14 | 支付宝(杭州)信息技术有限公司 | 小程序风险检测方法和装置 |
CN114706734B (zh) * | 2022-06-02 | 2022-09-20 | 支付宝(杭州)信息技术有限公司 | 业务应用的监控方法和监控系统 |
-
2022
- 2022-07-07 CN CN202210794295.9A patent/CN114861230B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672580A (zh) * | 2018-09-21 | 2019-04-23 | 平安科技(深圳)有限公司 | 全链路监控方法、装置、终端设备及存储介质 |
CN111831979A (zh) * | 2020-07-06 | 2020-10-27 | 北京瑞莱智慧科技有限公司 | 一种数据隐私保护协议的分析方法及装置 |
CN111970168A (zh) * | 2020-08-11 | 2020-11-20 | 北京点众科技股份有限公司 | 全链路服务节点的监控方法、装置和存储介质 |
CN112035320A (zh) * | 2020-08-31 | 2020-12-04 | 维沃移动通信有限公司 | 业务监控方法、装置、电子设备及可读存储介质 |
CN112926090A (zh) * | 2021-03-25 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 基于差分隐私的业务分析方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于AOP技术的通用线程监控平台GTMP;张瞩熹等;《计算机应用研究》;20071031(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114861230A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Russo et al. | Dynamic vs. static flow-sensitive security analysis | |
KR100926115B1 (ko) | 특정 이벤트/조건에서 동작하는 윈도우용 악성 코드탐지를 위한 프로그램 자동 분석 장치 및 방법 | |
CN109818937A (zh) | 针对安卓权限的控制方法、装置、及存储介质、电子装置 | |
CN109032825B (zh) | 一种故障注入方法、装置及设备 | |
US11914699B2 (en) | Restricting access to application programming interfaces (APIs) | |
CN106649120A (zh) | 一种数据获取方法、分析方法及系统 | |
CN114861230B (zh) | 终端设备中的隐私防护方法和装置 | |
CN109543457B (zh) | 管控智能合约之间调用的方法及装置 | |
CN114706734B (zh) | 业务应用的监控方法和监控系统 | |
CN109101815A (zh) | 一种恶意软件检测方法及相关设备 | |
CN110022311A (zh) | 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法 | |
CN113076253A (zh) | 一种测试方法和测试装置 | |
Dong et al. | A comprehensive client-side behavior model for diagnosing attacks in ajax applications | |
CN109255240A (zh) | 一种漏洞处理方法和装置 | |
CN113467784A (zh) | 应用程序处理方法及其装置、计算机可读存储介质 | |
Mann et al. | RADAR: Data protection in cloud-based computer systems at run time | |
Probst et al. | Automated evaluation of network intrusion detection systems in iaas clouds | |
WO2014169331A1 (en) | Checking undoability of an api-controlled computing system | |
CN109165509B (zh) | 软件实时可信度量的方法、设备、系统及存储介质 | |
Layouni et al. | Conflict detection in call control using first-order logic model checking | |
CN113792294B (zh) | 一种恶意类检测方法、系统、装置、设备及介质 | |
CN114995983B (zh) | 数据流转链路的获取方法和装置 | |
Greci et al. | A framework for contract-policy matching based on symbolic simulations for securing mobile device application | |
Chen et al. | Android stack machine | |
CN111475783A (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 |