CN112560083A - 安全保护方法、装置及电子设备 - Google Patents
安全保护方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112560083A CN112560083A CN202011400429.1A CN202011400429A CN112560083A CN 112560083 A CN112560083 A CN 112560083A CN 202011400429 A CN202011400429 A CN 202011400429A CN 112560083 A CN112560083 A CN 112560083A
- Authority
- CN
- China
- Prior art keywords
- managed
- api
- data
- centralized management
- module
- 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
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
- 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
-
- 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/6281—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 at program execution time, where the protection is within the operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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/52—Monitoring 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Virology (AREA)
- Medical Informatics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本说明书实施例提供一种安全保护方法、装置及电子设备,本实施例方案中,由于装置中被管控功能模块原本想要调用的被管控API被替换为对应的中心化管控API,因此,在客户端运行过程中,被管控功能模块想要调用被管控API时会调用对应的中心化管控API,由此,被管控功能模块想要调用被管控API的链路被链接至中心化管控模块。因此中心化管控模块能够知道被管控功能模块调用了中心化管控API,也知道被管控功能模块实际上想要调用的被管控API,中心化管控模块可以对所述被管控功能模块进行安全校验,基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。由此,实现了中心化管控模块对被管控功能模块的安全管理。
Description
技术领域
本说明书实施例涉及数据安全技术领域,尤其涉及安全保护方法、装置及电子设备。
背景技术
随着近几年业界各种APP暴露的“隐私门”事件,将APP未授权获取用户数据的问题放到了聚光灯下,移动端隐私及数据安全显得尤为重要,如何能够既保障用户隐私又能解决数据安全问题,成为亟待解决的技术问题。
发明内容
为克服相关技术中存在的问题,本说明书提供了安全保护方法、装置及电子设备。
根据本说明书实施例的第一方面,提供一种安全保护装置,所述装置包括:至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;
所述被管控功能模块用于:调用所述中心化管控API;其中,所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API;
所述中心化管控模块用于:若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验,基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
根据本说明书实施例的第二方面,提供一种安全保护方法,所述方法应用于客户端,所述客户端包括:至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API;所述方法包括:
若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验;
基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
根据本说明书实施例的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述计算机程序包括至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API;
所述处理器执行所述程序时实现如下方法:
若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验;
基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,由于客户端中被管控功能模块原本想要调用的被管控API被替换为对应的中心化管控API,因此,在客户端运行过程中,被管控功能模块想要调用被管控API时会调用对应的中心化管控API,由此,被管控功能模块想要调用被管控API的链路被链接至中心化管控模块,因此中心化管控模块能够知道被管控功能模块调用了中心化管控API,也知道被管控功能模块实际上想要调用的被管控API,中心化管控模块可以对所述被管控功能模块进行安全校验,基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。由此,实现了管控模块对被管控功能模块的安全管理。
应当理解的是,以上中心化的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种安全保护装置的结构示意图。
图2A是本说明书根据一示例性实施例示出的一客户端的示意图。
图2B是本说明书根据一示例性实施例示出的安全保护处理示意图。
图2C是本说明书根据一示例性实施例示出的一种中心化管控模块的安全保护的处理过程。
图2D是本说明书根据一示例性实施例示出的另一种中心化管控模块的安全保护的处理过程。
图2E是本说明书根据一示例性实施例示出的一种中心化管控模块对数据输出进行管控的示意图。
图3是本说明书根据一示例性实施例示出的一种安全保护装置所在电子设备的硬件结构图。
图4是本说明书根据一示例性实施例示出的一种安全保护方法的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
数据安全、隐私安全已经不仅仅是设备所生产的数据(如GPS数据、设备名称、设备照片等数据),还有很多数据,如:用户在APP中的交易数据、个人数据等。伴随着APP越来越生态化,如小程序、H5在APP运行过程中,已经可以通过APP提供的接口功能轻易的获取数据,同时也可以在用户无感知的情况下把这些数据发送出去。
基于此,本实施例提供了一种安全保护方案,能够很好地保障数据安全。如图1所示,图1是本说明书根据一示例性实施例示出的一种安全保护装置的结构示意图,所述客户端包括:至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;
所述被管控功能模块用于:调用所述中心化管控API;其中,所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API。
所述中心化管控模块用于:若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验,基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
本说明书实施例的装置可以应用于客户端,客户端通常根据功能划分为多个功能模块bundle,bundle是移动客户端的组成单元之一,可以理解一个客户端由多个bundle组成。由于其中可能包含有不可信功能模块,这些不可信功能模块作为客户端的一部分,可能会调用API以获得数据,获得的数据可能涉及用户隐私等安全数据,需要对此进行安全管控。本实施例将客户端内需要被管控的功能模块称为被管控功能模块,具体的被管控功能模块可以在实际应用时根据需要指定。作为例子,被管控功能模块可以是涉及到第三方业务方的功能模块,由于可能需要与第三方业务方进行交互,交互过程中可能会出现一些对安全有要求的数据发生泄露的情况,例如一些涉及用户隐私的数据等。因此涉及到第三方业务方的功能模块可以作为被管控的对象,当然,具体哪些模块需要被管控,实际应用中可以根据需要灵活设置。作为例子,被管控功能模块可以是供应方提供的功能模块,例如小程序或第三方SDK。
本说明书实施例的客户端包括有一中心化管控模块,用于管控客户端内的被管控功能模块。客户端及客户端所在的操作系统提供有API供客户端内的功能模块调用,这些API可能涉及用户的隐私数据,例如可用于获取定位信息的API、用于获取相册中照片的API等。然而,API本质上就是开放的、提供给功能模块调用的,被管控功能模块的程序代码中能够根据这些开放的API编写相关的调用代码。为了实现对这些被管控功能模块的管理,本实施例中,被管控功能模块原始调用的被管控API被替换为对应的中心化管控API。其中,被管控API与中心化管控API的关系,可以是一对一、一对多或多对一等关系,本实施例对此不作限定。其中,具体的被管控API可以在实际应用时根据需要指定。本实施例的被管控API有两类,一类是调用用户业务数据的业务API,一类是调用设备操作系统提供的设备数据的系统API。本实施例中,不可信的被管控功能模块的源代码中,包含有对被管控API的调用代码;这些被管控API在代码层面可以理解为一个个被调用的函数。
由上述实施例可见,由于客户端中被管控功能模块原本想要调用的被管控API,被替换为对应的中心化管控API,因此,在客户端运行过程中,被管控功能模块想要调用被管控API时会调用对应的中心化管控API,由此,被管控功能模块想要调用被管控API的链路被链接至中心化管控模块。
基于此,中心化管控模块能够知道被管控功能模块调用了中心化管控API,也知道被管控功能模块实际上想要调用的被管控API,中心化管控模块可以对所述被管控功能模块进行安全校验,基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。由此,实现了中心化管控模块对被管控功能模块的安全管理。
实际应用中,被管控功能模块的开发者,会将被管控功能模块的代码提交至客户端对应的业务方,业务方会将被管控功能模块整合至客户端中。在一些例子中,被管控功能模块原始调用的被管控API被替换为对应的中心化管控API的具体实现方式可以有多种,例如可以是被管控功能模块的开发者根据客户端业务方的要求,将原始调用的被管控API替换为对应的中心化管控API;在另一些例子中,在有权限的情况下,可以是客户端业务方对被管控功能模块原始调用的被管控API进行替换。
在其他例子中,为了提高处理效率,还可以是被管控功能模块整合至客户端后,在所述客户端的源代码在编译过程中将替换被管控API被替换为对应的中心化管控API。编译是指利用编译程序从源语言编写的源程序产生目标程序的过程,具体是把高级语言变成计算机可以识别的二进制语言编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。客户端的源代码在编译过程中,编译程序会不断汇集和反复查证出现在源程序中各种名字的属性和特征信息等有关信息。这些信息通常记录在一张或几张符号表中。在符号表中,源代码中的每个标识符都和它的声明或使用信息绑定在一起,比如其数据类型、作用域以及内存地址等。符号表的作用一般是收集符号属性以进行词法分析;或者是作为上下文语义的合法性检查的依据,以进行语法分析;或者是作为目标代码生成阶段地址分配的依据,以进行语义分析。而本实施例提出了一种利用符号表文件来实现编辑过程中对被管控API的替换。作为例子,可以获取所述客户端的源代码在编译过程中产生的符号表文件,所述符号表文件记录有所述被管控功能模块原始调用的被管控API的地址及对应的中心化管控API的地址;在所述符号表文件中将所述被管控功能模块原始调用的被管控API的地址替换为所述对应的中心化管控API的地址。通过上述方式,可以实现被管控API的快速替换,也减少了对被管控功能模块开发者的干扰,提高了处理效率。
在一些例子中,对于需要获取数据的功能模块,由于获取的数据可能涉及用户隐私需要被管控,基于此本实施例的被管控API包括:用于获取数据的被管控API;所述中心化管控模块还用于:基于安全校验结果确定是否调用所述用于获取数据的被管控API,以获取数据返回给所述被管控功能模块。
在一些例子中,涉及网络通信的API可能会泄露隐私数据,所述被管控API包括:网络通信API;调用所述用于获取数据的被管控API获取数据,将所获取的数据返回给所述被管控功能模块后,若所述被管控功能模块调用与所述网络通信API对应中心化管控API以发送数据,判断所述被管控功能模块欲发送的数据与所获取的数据是否匹配,根据匹配结果确定是否允许所述被管控功能模块发送数据。本实施例中,将涉及网络通信的API也作为被管控API,并且在被管控功能模块需要调用所述网络通信API发送数据时,可以通过被管控功能模块欲发送的数据与所获取的数据是否匹配来实现监控;正常情况下,被管控功能模块欲发送的数据与所获取的数据应该是匹配的,如果不匹配,则被管控功能模块欲发送的数据有可能涉及安全问题,需要对此进行监控;通过上述方式,可以进一步提高数据安全。
对于中心化管控模块的安全校验过程,实际应用中可以有多种方式,这些校验的规则可以预先通过设计并配置于中心化管控模块中。例如,可以预先设定各被管控功能模块的调用权限,例如各被管控功能模块对哪些被管控API具有调用权限,哪些被管控API不具有调用权限;当中心化管控模块获取到被管控功能模块希望调用哪个被管控API时,中心化管控模块可以根据权限判断被管控功能模块是否可以调用。
作为一示例性实施例,所述对所述被管控功能模块进行安全校验可以包括:基于所述被管控功能模块原始调用的被管控API是否符合所述被管控功能模块的业务场景进行安全校验。作为例子,可以根据被管控功能模块的业务场景与该被管控功能模块实际请求的数据的类型进行判断;例如,如一个涉及多媒体的第三方请求访问用户的登录态数据,这类请求从业务场景上来看就存在不合理性。作为例子,这些安全校验规则可以通过服务端下发到中心化管控模块进行动态配置。
作为另一示例性实施例,所述对所述被管控功能模块进行安全校验可以包括:对所述被管控功能模块当前的调用环境是否异常进行安全校验。判断的逻辑可以依赖于预先的统计分析结果,作为例子,可以预先收集大量用户的数据访问的历史数据进行统计分析,这些历史数据可以包括确定发生了数据泄露时的历史数据,以分析出现数据泄露时存在的异常环境的特点;前述中心化管控API采集的基础数据可以包括当前视图、URL、当前堆栈或当前参数等用于表征当前设备环境的参数,通过与历史数据分析得到的数据泄露时表征环境异常的参数进行比对,从而判断当前环境是否存在异常,如果认为当前存在异常环境,则不允许调用。
实际应用中,上述安全校验的处理可以是选择其中一种,也可以是结合多种方式进行处理。
接下来再通过一实施例进行说明。如图2A所示,是本说明书根据一示例性实施例示出的一客户端的示意图,客户端安装于电子设备中,移动客户端可以与电子设备的系统层进行通信,图2A中作为示例,电子设备的系统层可以向移动客户端提供多种数据,例如可以读写文件、设备信息、多媒体数据、传感器数据或浏览器数据等,这些数据可以通过API的方式被移动客户端调用,调用的数据流入至移动客户端。作为示例说明,图2A中将该移动客户端分为安全切面管控层和流量输入输出层,其中,安全切面管控层需要监控的被管控模块即图中的作为不可信代码的小程序和供应链SDK,安全切面管控层能够对被管控模块的输入数据和输出数据进行安全检查。流量输入输出层中通过网络协议(http/https协议或TCP/IP协议)进行数据输入处理或数据输出处理。本实施例中,中心化管控模块的控制思路可以理解为:数据层面宽进严出,数据流向进行全链路的中心化集中管控区域,进行安全校验后,才允许路由到下游节点。
本实施例中,对于数据输入、数据输出的定义,以及数据管控类型的分类示例如下:
针对如小程序、供应链SDK(如三方SDK)等外部开发人员提供的不可信代码,由于外部开发人员并非与本客户端的开发者不同,不属于客户端所属的业务方,因此这些外部开发人员提供的外部代码可以作为不可信代码,对这些不可信代码所需要的数据,需要授权一定的数据访问权限,这些涉及安全的数据可以包括如下两类:
(a)设备数据:如设备名称、设备LBS信息或通讯录数据等等
(b)业务数据:如用户的订单号、手机号或用户昵称等等。
对于这类代码的数据输入可以理解为:代码通过API接口从应用、系统获取的业务数据、设备数据;对于这类代码的数据输出可以理解为:代码通过网络接口,将某些数据发送到外部的特定的服务端。
本实施例中,中心化管控模块能够对不可信代码获取的涉及安全的数据的数据输入或数据输出进行风险发现和安全管控。
如图2B所示,是本说明书根据一示例性实施例示出的安全保护处理示意图,图2B中移动客户端中包括多个功能模块:中心化管控bundle、bundle1至N,其中bundle3至N是不可信代码,即被管控模块。
作为例子,实际应用时可以由技术人员划定不可信代码所涉及的bundle,在编译环节获取每个bundle对系统API的引用(例子:如bundle 4引用了系统API fopen、socket、connect等函数)。
接着判断每个bundle要调用的系统API是否有需要被管控的系统API。
如果有需要进行管控的系统API,通过符号替换的方式,如API fopen替换为中心化管控APImopen(fopen->mopen),将bundle对于系统函数的调用替换到调用中心化管控API,中心化管控API由中心化管控Bundle统一提供。
编译完成后可获得移动客户端APP,基于此,APP在运行时,中心化管控模块可以检测到被管控模块是否要调用被管控API,以及在需要调用被管控API时,可以根据当前的运行环境,以及调用方的参数等多种因素来进行安全检查,以判断是否需要执行最终的系统API。
中心化管控API可以采集多种信息用于安全检测,作为例子,可以采集被管控模块要调用被管控API时的系统堆栈信息,该系统堆栈信息可通过电子设备的操作系统API获取,通过系统堆栈信息可以判断当前电子设备的系统运行是否正常;在另一些例子中,可以获取移动客户端的当前页面信息,该当前视图信息表示当前客户端打开了哪个页面,从而可以判断被管控模块所来源的页面,其中,页面信息可以包括URL信息,可以通过操作系统API获取;在其他例子中,还可以获取调用链透传的参数信息,所述调用链表征APP运行过程中函数之间的调用关系,例如当APP在运行过程中,假设A函数调用B函数,B函数调用C函数,当执行到函数C时,从函数A->函数B->函数C,标识三个函数之间的调用关系的序列可称为函数C的调用链,本实施例中中心化管控模块可以获取整个调用链中涉及的各个参数的参数信息,以进行安全检查,例如通过调用链判断各函数的参数信息是否异常。由于最终调用链会经过中心化管控API,对于数据风险的检测可以在中心化管控API中进行实现。
中心化管控模块可以对数据的输出进行检查与管控;接下来结合图2C和图2D进行说明,如图2C所示,是本说明书根据一示例性实施例示出的中心化管控模块的安全保护的处理过程,当小程序或供应链这类不可信的被管控模块访问安全数据的情况下,会调用到中心化管控模块的中心化管控API,中心化管控API被调用后中心化管控模块可以执行如下安全校验:
(I)判断被管控模块实际想要调用的被管控API是否可以调用;实际应用中,判断的逻辑可以依赖于调用方的业务场景与实际请求的数据的类型进行判断,如一个涉及多媒体的被管控模块想要访问用户的登录态数据,从业务场景的角度,这类请求存在不合理性;安全校验规则可以通过服务端下发到客户端的中心化管控模块进行动态配置。
(II)判断被管控模块调用被管控API时是否存在异常环境;实际应用中,判断的逻辑依赖于预先的统计分析结果,作为例子,可以预先收集大量用户的数据访问的历史数据进行统计分析,这些历史数据可以包括确定发生了隐私泄露时的历史数据,以分析出现隐私泄露时存在的异常环境的特点;前述中中心化管控API会采集基础数据可以包括当前视图、URL、当前堆栈或当前参数等,当这三者的数据经过统计分析以及安全经验判断存在异常,则认为当前存在异常环境,则不允许调用。
如图2D所示,是本说明书根据一示例性实施例示出的一种安全管控的示意图;作为例子,本实施例的安全管控可以包括:
a.特定的场景存在异常的调用链:比如通过获取被管控模块调用被管控API时的页面来源,通过页面来源信息确定不存在函数B->C的调用关系,则可认为存在安全风险,可拒绝该被管控模块调用被管控API。如图2D所示,中心化管控模块获知中心化管控API被调用,具体的调用链路是A->B->C,中心化管控模块通过获取当前页面,确定被管控模块来源于页面中的某个服务,如图2D中方框示出的“我的快递”服务,通过分析页面来源确定不存在函数B->C的调用关系,因此认为存在安全风险。
b.特定的调用链以及风险参数:比如调用链A->B->C出现了恶意的参数b,则认为存在安全风险。作为例子,可以预先配置恶意参数,通过调用链A->B->C中涉及的各个参数与预设的恶意参数的比对确定是否出现恶意参数。
c.特定的场景存在异常的参数:比如页面来源,从未出现过参数b,且参数b未与页面来源存在任何关系,则认为存在风险。
(III)当上述规则满足通过条件后,中心化管控模块确定被管控模块的本次调用通过安全校验,因此中心化管控模块会调用真实的业务API/系统API,获取到真实的数据并返回给被管控模块。
数据返回给被管控模块后,被管控模块可能需要将数据通过网络输出,为了进一步提高安全效果,本实施例还可以监控被管控模块的输出数据。
(IIII)在数据返回过后,会数据缓存到内存中,用于后期做数据输出安全校验,作为例子,存储内容的格式可以为:
{
数据类型:数据内容,
输入来源:来源名称
}
在数据输出层面,将涉及网络通信的网络通信API作为被管控API,被管控模块需要数据输出则需要调用网络通信API,中心化管控模块可以获知被管控模块需要进行数据输出,因此可以对被管控模块的数据输出进行安全管控,其中,针对被管控模块是否可以调用网络通信API的安全校验可以复用前述的安全校验过程;在此基础上,本实施例还可以通过如下方式执行安全校验:
I)判断被管控模块实际想要调用的被管控API是否可以调用;实际应用中,判断的逻辑可以依赖于调用方的业务场景与实际请求的数据的类型进行判断,如一个涉及多媒体的被管控模块想要访问用户的登录态数据,从业务场景的角度,这类请求存在不合理性;安全校验规则可以通过服务端下发到客户端的中心化管控模块进行动态配置。
(II)判断被管控模块调用被管控API时是否存在异常环境;实际应用中,判断的逻辑依赖于预先的统计分析结果,作为例子,作为例子,可以预先收集大量用户的数据访问的历史数据进行统计分析,这些历史数据可以包括确定发生了数据泄露时的历史数据,以分析出现数据泄露时存在的异常环境的特点;前述中心化管控API采集的基础数据可以包括当前视图、URL、当前堆栈或当前参数等用于表征当前设备环境的参数,通过与历史数据分析得到的数据泄露时表征环境异常的参数进行比对,从而判断当前环境是否存在异常,如果认为当前存在异常环境,则不允许调用。
在此基础上,本实施例中心化管控模块还可以进行文件内容的安全检测;由于通过中心化管控模块的安全切面管控,可以对被管控模块中的网络通讯接口API进行接管,从参数中获取整体的数据内容后,在数据输出层面还可以执行安全校验。若被管控模块想要泄漏数据,数据将会从客户端传输至外部;因此如何识别被管控模块在数据传输时是否泄露数据是管控的难点之一。本实施例中,由于被管控模块被监控,中心化管控模块能够知道传输给被管控模块的数据,又由于被管控模块在需要数据输出时能够被中心化管控模块监控,因此中心化管控模块可以通过被管控模块能够获取的数据以及被管控模块希望发出的数据进行比对,正常情况下被管控模块希望发出的数据应该与其获取的数据是一致的,由于被管控模块能够获取的数据已经经过安全校验,这些数据能够在很大程度上保证安全;但如果不一致,则被管控模块的本次数据输出行为很有可能存在问题,从而来发现被管控模块在数据传输时是否可能泄露数据。作为例子,所述中心化管控模块还用于:在所述调用所述用于获取数据的被管控API获取数据后,将获取的数据缓存至内存中;判断所述被管控功能模块欲发送的数据与从内存中读取的所获取的数据是否匹配。本实施例中,此处的匹配可以包括数据内容本身的匹配,还可以包括需要调用该数据的来源的匹配;例如中心化管控模块在数据输入阶段会记录数据的调用来源,即哪些被管控模块调用了哪些数据;数据的获取是来源于某个被管控模块的,而在数据输出阶段,另一被管控模块希望输出该数据,而这个希望输出该数据的被管控模块在此之前并未调用该数据,因此此处数据输出行为存在问题。
在一些例子中,由于数据可能较大,为了提高处理效率,中心化管控模块在获取数据提高给被管控模块时,可以将获取的数据分割为若干个子数据块后缓存至内存中;在数据输出阶段,可以将所述获取的数据分割得到的各个子数据块的摘要及大小,与所述被管控功能模块欲发送的数据分割得到的各个子数据块的摘要及大小进行对比,根据对比结果确定所述被管控功能模块欲发送的数据与从内存中读取的所获取的数据是否匹配。
结合图2E示出的中心化管控模块对数据输出进行管控的示意图为例,中心化管控模块可以执行如下安全校验:
(1)获取被管控模块欲输出的数据的大小及类型;作为例子,可以读取数据的属性获取到数据的大小,通过HTTP Header的content-type可以确定数据的类型:如文本、多媒体、文件或压缩包。
(2)在数据输入环节过程中,将被管控模块获取的所有数据存放在内存缓存中,用于在被管控模块执行数据输出的操作中,进行安全校验使用;还可以记录每个数据对应的被管控模块,例如被管控模块的名称等标识;
(3)小数据块匹配:在一些例子中,一些普通的文本数据块内容相对较小,如几百KB,可以直接在内存中进行比较;
(4)大数据块匹配:由于大数据块,比如文件、聊天记录文件、压缩包等,会在应用程序中进行不断的加工和转储,需要通过对输入的数据进行缓存,将大数据块拆分为若干小数据块;因此,在数据输出时,将被管控模块欲输出的数据与缓存中的数据进行比较,作为例子,比较过程可以是:
如大数据块中第一个文件为1.zip文件
a.首先可以将大数据块切分为2*2的文件子块内容矩阵,并对每个文件子块生成对应摘要和对应文件大小;如图2E中示出该文件根据设定的文件大小被划分为N个块(块1至块N),每个块对应有摘要Hash(哈希);
b.将被管控模块希望输出的数据也按照对应的文件大小生成若干子块N,并对每个子块生成对应摘要;
c.若输入文件块的子文件块摘要,在与输出文件子块的摘要匹配过程中,相同的概率超过一定阈值,比如>70%,可以认为,发送数据中包含了大数据块1.zip;即本次被管控模块要输出的数据是在数据输入阶段存储在内存中的大数据块1.zip;
d.可以根据对应大文件块的来源名称,与当前调用来源名称进行比较,若不相同,则说明输出数据并不数据当前调用来源,则可以进行一定处置操作;例如,拒绝当前API的调用请求。
由上述实施例可见,本实施例提供了一种精细化的安全管控方案,是一种跨平台的安全方案,是一种平衡敏感权限及合理使用的安全方案。本实施例方案既满足了业务和第三方对于敏感权限、敏感数据的合理使用,又规避了第三方可能对安全数据的滥用,以及降低了安全数据无感知使用的风险。本实施例方案中,基于“隐私风险一定会存在数据输出”思路,在架构层面,对数据输入和数据输出层面进行了合理的管控,通过安全切面技术,把所有数据集中管理,进行安全比较之后再对外输出。一方面,能够真正洞察到,什么模块在什么时间发出了什么数据。另外一方面,能够基于链路信息对于异常的数据输出进行安全管控。本实施例方案中,通过对数据源进行中心化管控,并在客户端流量输出方向进行校验判断,可有效对未授权的数据输出进行安全检测和异常调用链级别的拦截。
本说明书实施例安全保护装置的实施例可以应用在电子设备上,例如智能手机等。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书安全保护装置所在电子设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中安全保护装置331所在的电子设备,通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图4所示,图4是本说明书根据一示例性实施例示出的一种安全保护方法的流程图,该方法可应用于客户端,所述客户端包括:至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API;所述方法包括如下步骤:
在步骤401中,若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验;
在步骤402中,基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
在一些例子中,所述被管控功能模块原始调用的被管控API,是在所述客户端的源代码在编译过程中被替换的。
在一些例子中,通过如下方式将被管控功能模块原始调用的被管控API替换为对应的中心化管控API:
获取所述客户端的源代码在编译过程中产生的符号表文件,所述符号表文件记录有所述被管控功能模块原始调用的被管控API的地址及对应的中心化管控API的地址;
在所述符号表文件中将所述被管控功能模块原始调用的被管控API的地址替换为所述对应的中心化管控API的地址。
在一些例子中,所述被管控API包括:用于获取数据的被管控API;
所述方法还包括:
基于安全校验结果确定是否调用所述用于获取数据的被管控API,以获取数据返回给所述被管控功能模块。
在一些例子中,所述被管控API包括:网络通信API;
所述方法还包括:调用所述用于获取数据的被管控API获取数据,将所获取的数据返回给所述被管控功能模块后,若所述被管控功能模块调用与所述网络通信API对应的中心化管控API以发送数据,判断所述被管控功能模块欲发送的数据与所获取的数据是否匹配,根据匹配结果确定是否允许所述被管控功能模块发送数据。
在一些例子中,所述对所述被管控功能模块进行安全校验包括:
基于所述被管控功能模块原始调用的被管控API是否符合所述被管控功能模块的业务场景进行安全校验。
在一些例子中,所述对所述被管控功能模块进行安全校验包括:
对所述被管控功能模块当前的调用环境是否异常进行安全校验。
在一些例子中,在所述调用所述用于获取数据的被管控API获取数据后,将获取的数据缓存至内存中;
所述判断所述被管控功能模块欲发送的数据与所获取的数据是否匹配,包括:
判断所述被管控功能模块欲发送的数据与从内存中读取的所获取的数据是否匹配。
在一些例子中,所述将获取的数据缓存至内存中,包括:
将获取的数据分割为若干个子数据块后缓存至内存中。
在一些例子中,所述用于获取数据的被管控API包括:用于获取操作系统数据的系统API,和/或用于获取业务数据的业务API。
在一些例子中,所述被管控功能模块包括:涉及到第三方业务方的功能模块。
在一些例子中,所述被管控功能模块包括:小程序及第三方SDK。
相应的,本实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述计算机程序包括至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API;
所述处理器执行所述程序时实现如下方法:
若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验;
基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
对于方法实施例而言,由于其基本对应于装置实施例,所以相关之处参见装置实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (14)
1.一种安全保护装置,所述装置包括:至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;
所述被管控功能模块用于:调用所述中心化管控API;其中,所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API;
所述中心化管控模块用于:若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验,基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
2.根据权利要求1所述的装置,所述装置应用于客户端,所述被管控功能模块原始调用的被管控API,是在所述客户端的源代码在编译过程中被替换的。
3.根据权利要求2所述的装置,通过如下方式将被管控功能模块原始调用的被管控API替换为对应的中心化管控API:
获取所述客户端的源代码在编译过程中产生的符号表文件,所述符号表文件记录有所述被管控功能模块原始调用的被管控API的地址及对应的中心化管控API的地址;
在所述符号表文件中将所述被管控功能模块原始调用的被管控API的地址替换为所述对应的中心化管控API的地址。
4.根据权利要求1所述的装置,所述被管控API包括:用于获取数据的被管控API;
所述中心化管控模块还用于:
基于安全校验结果确定是否调用所述用于获取数据的被管控API,以获取数据返回给所述被管控功能模块。
5.根据权利要求4所述的装置,所述被管控API包括:网络通信API;
所述中心化管控模块还用于:
调用所述用于获取数据的被管控API获取数据,将所获取的数据返回给所述被管控功能模块后,若所述被管控功能模块调用与所述网络通信API对应的中心化管控API以发送数据,判断所述被管控功能模块欲发送的数据与所获取的数据是否匹配,根据匹配结果确定是否允许所述被管控功能模块发送数据。
6.根据权利要求1所述的装置,所述中心化管控模块还用于:
基于所述被管控功能模块原始调用的被管控API是否符合所述被管控功能模块的业务场景进行安全校验。
7.根据权利要求1所述的装置,所述中心化管控模块还用于:
对所述被管控功能模块当前的调用环境是否异常进行安全校验。
8.根据权利要求5所述的装置,所述中心化管控模块还用于:在所述调用所述用于获取数据的被管控API获取数据后,将获取的数据缓存至内存中;
判断所述被管控功能模块欲发送的数据与从内存中读取的所获取的数据是否匹配。
9.根据权利要求8所述的装置,所述中心化管控模块还用于:
将获取的数据分割为若干个子数据块后缓存至内存中;
将所述获取的数据分割得到的各个子数据块的摘要及大小,与所述被管控功能模块欲发送的数据分割得到的各个子数据块的摘要及大小进行对比,根据对比结果确定所述被管控功能模块欲发送的数据与从内存中读取的所获取的数据是否匹配。
10.根据权利要求1所述的装置,所述用于获取数据的被管控API包括:用于获取操作系统数据的系统API,和/或用于获取业务数据的业务API。
11.根据权利要求1所述的装置,所述被管控功能模块包括:涉及到第三方业务方的功能模块。
12.根据权利要求11所述的装置,所述被管控功能模块包括:小程序及第三方SDK。
13.一种安全保护方法,所述方法应用于客户端,所述客户端包括:至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API;所述方法包括:
若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验;
基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述计算机程序包括至少一个被管控功能模块和中心化管控模块;所述中心化管控模块提供有至少一个中心化管控API,所述中心化管控API对应有被管控API;所述被管控功能模块原始调用的被管控API被替换为对应的中心化管控API;
所述处理器执行所述程序时实现如下方法:
若所述中心化管控API被所述被管控功能模块调用,对所述被管控功能模块进行安全校验;
基于安全校验结果确定是否允许所述被管控功能模块调用对应的被管控API。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011400429.1A CN112560083B (zh) | 2020-12-02 | 2020-12-02 | 安全保护方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011400429.1A CN112560083B (zh) | 2020-12-02 | 2020-12-02 | 安全保护方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112560083A true CN112560083A (zh) | 2021-03-26 |
CN112560083B CN112560083B (zh) | 2023-04-18 |
Family
ID=75047853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011400429.1A Active CN112560083B (zh) | 2020-12-02 | 2020-12-02 | 安全保护方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560083B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553204A (zh) * | 2021-09-16 | 2021-10-26 | 支付宝(杭州)信息技术有限公司 | 一种数据传输方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062812A1 (de) * | 2013-10-29 | 2015-05-07 | Siemens Aktiengesellschaft | Sicherheitsrelevantes system mit supervisor |
CN105550595A (zh) * | 2015-12-22 | 2016-05-04 | 北京奇虎科技有限公司 | 用于智能通信设备的隐私数据访问方法及系统 |
CN106528056A (zh) * | 2015-09-09 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种对系统功能的管控方法和装置 |
CN107124400A (zh) * | 2017-04-01 | 2017-09-01 | 中国科学院信息工程研究所 | 基于安全策略的入侵防御装置及方法 |
CN108710801A (zh) * | 2018-05-29 | 2018-10-26 | 北京迪诺益佳信息科技有限公司 | 一种移动应用动态加载代码的行为管控方法 |
CN108763921A (zh) * | 2018-05-29 | 2018-11-06 | 北京迪诺益佳信息科技有限公司 | 一种应用软件和sdk管控的方法 |
CN109063511A (zh) * | 2018-08-16 | 2018-12-21 | 深圳云安宝科技有限公司 | 基于Web API的数据访问控制方法、装置、代理服务器及介质 |
CN110322940A (zh) * | 2019-07-15 | 2019-10-11 | 山东健康医疗大数据有限公司 | 一种医疗数据共享的访问授权方法及系统 |
CN110968851A (zh) * | 2019-12-19 | 2020-04-07 | 北京思特奇信息技术股份有限公司 | 一种业务权限的管控方法、管控系统及计算机可读介质 |
CN111709017A (zh) * | 2020-06-16 | 2020-09-25 | 荆门汇易佳信息科技有限公司 | 安卓平台的细化增强权限管控与解析系统 |
CN111967044A (zh) * | 2020-08-13 | 2020-11-20 | 华中科技大学 | 一种适用于云环境的被泄漏隐私数据的追踪方法及系统 |
-
2020
- 2020-12-02 CN CN202011400429.1A patent/CN112560083B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062812A1 (de) * | 2013-10-29 | 2015-05-07 | Siemens Aktiengesellschaft | Sicherheitsrelevantes system mit supervisor |
CN106528056A (zh) * | 2015-09-09 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种对系统功能的管控方法和装置 |
CN105550595A (zh) * | 2015-12-22 | 2016-05-04 | 北京奇虎科技有限公司 | 用于智能通信设备的隐私数据访问方法及系统 |
CN107124400A (zh) * | 2017-04-01 | 2017-09-01 | 中国科学院信息工程研究所 | 基于安全策略的入侵防御装置及方法 |
CN108710801A (zh) * | 2018-05-29 | 2018-10-26 | 北京迪诺益佳信息科技有限公司 | 一种移动应用动态加载代码的行为管控方法 |
CN108763921A (zh) * | 2018-05-29 | 2018-11-06 | 北京迪诺益佳信息科技有限公司 | 一种应用软件和sdk管控的方法 |
CN109063511A (zh) * | 2018-08-16 | 2018-12-21 | 深圳云安宝科技有限公司 | 基于Web API的数据访问控制方法、装置、代理服务器及介质 |
CN110322940A (zh) * | 2019-07-15 | 2019-10-11 | 山东健康医疗大数据有限公司 | 一种医疗数据共享的访问授权方法及系统 |
CN110968851A (zh) * | 2019-12-19 | 2020-04-07 | 北京思特奇信息技术股份有限公司 | 一种业务权限的管控方法、管控系统及计算机可读介质 |
CN111709017A (zh) * | 2020-06-16 | 2020-09-25 | 荆门汇易佳信息科技有限公司 | 安卓平台的细化增强权限管控与解析系统 |
CN111967044A (zh) * | 2020-08-13 | 2020-11-20 | 华中科技大学 | 一种适用于云环境的被泄漏隐私数据的追踪方法及系统 |
Non-Patent Citations (4)
Title |
---|
刘东等: "大数据平台安全管控系统的研究与实践", 《电信网技术》, no. 04, 15 April 2017 (2017-04-15) * |
周少柏: "直接插入的函数", 《TURBO C++图形编程技巧》 * |
周少柏: "直接插入的函数", 《TURBO C++图形编程技巧》, 31 May 1993 (1993-05-31), pages 6 * |
张刚刚等: "基于防火墙策略处理高校突发网络安全事件的方法研究与设计", 《网络安全技术与应用》, no. 12, 12 December 2018 (2018-12-12) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553204A (zh) * | 2021-09-16 | 2021-10-26 | 支付宝(杭州)信息技术有限公司 | 一种数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112560083B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8402547B2 (en) | Apparatus and method for detecting, prioritizing and fixing security defects and compliance violations in SAP® ABAP™ code | |
KR101143999B1 (ko) | Api 기반 어플리케이션 분석 장치 및 방법 | |
CN111314306A (zh) | 接口访问方法及装置、电子设备、存储介质 | |
CN110851872B (zh) | 针对隐私数据泄漏的风险评估方法及装置 | |
CN104009977A (zh) | 一种信息保护的方法和系统 | |
CN113646761A (zh) | 向应用提供应用安全、验证和特征分析 | |
US10192262B2 (en) | System for periodically updating backings for resource requests | |
CN111083093B (zh) | 调用端能力的方法、装置、电子设备及存储介质 | |
CN111835756A (zh) | App隐私合规检测方法、装置、计算机设备及存储介质 | |
Chester et al. | M-perm: A lightweight detector for android permission gaps | |
CN112560083B (zh) | 安全保护方法、装置及电子设备 | |
US10013237B2 (en) | Automated approval | |
CN113098758B (zh) | 一种基于企业微信的企业消息推送安全网关系统 | |
KR20220098316A (ko) | 메일 보안 기반의 제로데이 url 공격 방어 서비스 제공 장치 및 그 동작 방법 | |
CN111740973A (zh) | 一种区块链服务与应用的智能防御系统及方法 | |
CN115242433B (zh) | 数据处理方法、系统、电子设备及计算机可读存储介质 | |
CN114417198A (zh) | 一种网络诈骗预警方法、装置、预警设备、系统 | |
CN116032510A (zh) | 数据安全保护系统 | |
Rodriguez et al. | Ntapps: A network traffic analyzer of android applications | |
Knockaert et al. | Privacy-by-design in intelligent infrastructures | |
Shi et al. | Security-based code smell definition, detection, and impact quantification in Android | |
Kelbert et al. | Compliance monitoring of third-party applications in online social networks | |
US8756699B1 (en) | Counting unique identifiers securely | |
US20230328088A1 (en) | Multi-level log analysis to detect software use anomalies | |
US20200387900A1 (en) | Systems and methods for real-time classification and verification of data using hierarchal state machines |
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 |