CN113779437A - 隐私检测方法及装置、计算机可存储介质 - Google Patents

隐私检测方法及装置、计算机可存储介质 Download PDF

Info

Publication number
CN113779437A
CN113779437A CN202011009152.XA CN202011009152A CN113779437A CN 113779437 A CN113779437 A CN 113779437A CN 202011009152 A CN202011009152 A CN 202011009152A CN 113779437 A CN113779437 A CN 113779437A
Authority
CN
China
Prior art keywords
static
privacy
information
interface
detected
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.)
Pending
Application number
CN202011009152.XA
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202011009152.XA priority Critical patent/CN113779437A/zh
Priority to PCT/CN2021/118159 priority patent/WO2022062958A1/zh
Priority to US18/043,702 priority patent/US20230267228A1/en
Publication of CN113779437A publication Critical patent/CN113779437A/zh
Pending legal-status Critical Current

Links

Images

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开涉及隐私检测方法及装置。隐私检测方法包括:对待检测应用进行静态污点分析,得到至少一条静态污点传播路径,每条静态污点传播路径包括源接口标识和目的接口标识;根据至少一个隐私接口的权限相关信息、至少一个第三方SDK的权限相关信息和至少一条静态污点传播路径,对待检测应用进行静态分析,得到静态分析结果;对待检测应用进行动态行为分析,得到动态行为分析结果;获取待检测应用的整个生命周期中的通信流量数据,通信流量数据包括通信URL和通信数据包;根据每个通信URL对应的通信数据包,确定与每个通信URL对应的敏感信息和敏感信息类别,作为流量分析结果;融合静态分析结果、动态行为分析结果和流量分析结果,得到隐私检测结果。

Description

隐私检测方法及装置、计算机可存储介质
技术领域
本公开涉及计算机技术领域,特别涉及隐私检测方法及装置、计算机可存储介质。
背景技术
近年来,随着Android(安卓)操作系统的逐渐普及,Android应用急剧增长。Android应用为用户带来方便的同时,也给用户的个人信息等隐私数据带来了威胁。
相关技术中,通过根据隐私接口的权限信息来对安卓应用进行静态分析或者通过执行安卓应用并对安卓应用进行动态行为分析。
发明内容
发明人认为:相关技术中,静态分析缺乏对安卓应用运行环境中的权限的使用场景和隐私泄露的使用场景的检测能力,隐私检测准确性和全面性较差,动态行为分析容易由于程序弹窗造成应用运行中断,影响隐私检测的准确性和全面性。
针对上述技术问题,本公开提出了一种解决方案,可以提高隐私检测的准确性和全面性。
根据本公开的第一方面,提供了一种隐私检测方法,包括:对待检测应用进行静态污点分析,得到至少一条静态污点传播路径,每条静态污点传播路径包括源接口标识和目的接口标识;根据至少一个隐私接口的权限相关信息、至少一个第三方软件开发工具包SDK的权限相关信息和所述至少一条静态污点传播路径,对所述待检测应用进行静态分析,得到静态分析结果;对所述待检测应用进行动态行为分析,得到动态行为分析结果;获取所述待检测应用的整个生命周期中的通信流量数据,所述通信流量数据包括通信统一资源定位器URL和通信数据包;根据每个通信URL对应的通信数据包,确定与所述每个通信URL对应的敏感信息和敏感信息类别,作为流量分析结果;融合所述静态分析结果、所述动态行为分析结果和所述流量分析结果,得到隐私检测结果。
在一些实施例中,对所述待检测应用进行静态分析,得到静态分析结果包括:根据至少一个隐私接口的权限相关信息、至少一个第三方SDK的权限相关信息和所述至少一条静态污点传播路径,构建每条静态污点传播路径的静态隐私上下文信息;利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析,得到静态分析结果。
在一些实施例中,每个隐私接口的权限相关信息包括隐私接口标识和其他接口权限相关信息,每个第三方SDK的权限相关信息包括SDK标识、该第三方SDK所在的至少一条SDK隐私路径和其他SDK权限相关信息,构建每条静态污点传播路径的静态隐私上下文信息包括:对于每条静态污点传播路径,在源接口标识属于所述至少一个隐私接口的权限相关信息中的隐私接口标识的情况下,获取与所述源接口标识对应的其他接口权限信息;获取与所述每条静态污点传播路径的目的接口标识对应的目的接口所在路径;在所述目的接口所在路径属于所述至少一个第三方SDK的权限相关信息中的至少一条SDK隐私路径的情况下,获取于所述目的接口所在路径对应的其他SDK权限信息;根据所述源接口标识、与所述源接口标识对应的其他接口权限信息、所述目的接口标识、所述目的接口所在路径和与所述目的接口所在路径对应的其他SDK权限信息,构建所述每条静态污点传播路径的静态隐私上下文信息。
在一些实施例中,所述静态分析包括隐私类型判定,所述其他接口权限信息包括实际权限信息,所述实际权限信息为隐私接口被调用时实际用到的权限信息,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析包括:根据隐私类型与实际权限信息之间的对应关系、和每条静态污点传播路径的静态隐私上下文信息中的实际权限信息,判定所述每条静态污点传播路径的静态隐私上下文信息的隐私类型,作为所述静态分析结果的一部分。
在一些实施例中,所述静态分析包括冗余权限判定,所述其他接口权限信息包括实际权限信息,所述实际权限信息为隐私接口被调用时实际用到的权限信息,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析包括:获取所述待检测应用的至少一条声明权限信息,声明权限信息表征所述待检测应用在生命周期中可能会用到的权限信息;对于每条声明权限信息,在不存在任何一条静态污点传播路径的静态隐私上下文信息中的实际权限信息为该声明权限信息的情况下,判定该声明权限信息属于冗余权限,作为所述静态分析结果的一部分。
在一些实施例中,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析还包括:对于每条声明权限信息,在存在至少一条静态污点传播路径的静态隐私上下文信息中的实际权限信息为该声明权限信息的情况下,判定该至少一条静态污点传播路径的静态隐私上下文信息属于与该实际权限信息对应的声明权限信息的使用场景,作为所述静态分析结果的一部分。
在一些实施例中,所述静态分析包括冗余路径判定,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析包括:获取所述待检测应用的至少一条声明权限信息,声明权限信息表征所述待检测应用在生命周期中可能会用到的权限信息;对于每条静态污点传播路径的静态隐私上下文信息中的实际权限信息,在该实际权限信息不属于所述至少一条声明权限信息的情况下,判定所述每条静态污点传播路径的静态隐私上下文信息属于冗余路径,作为所述静态分析结果的一部分。
在一些实施例中,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析还包括:在该实际权限信息属于所述至少一条声明权限信息的情况下,判定所述每条静态污点传播路径的静态隐私上下文信息属于与该实际权限信息对应的声明权限信息的使用场景,作为所述静态分析结果的一部分。
在一些实施例中,根据每个通信URL对应的通信数据包,确定与所述每个通信URL对应的敏感信息和敏感信息类别包括:对与所述每个通信URL对应的通信数据包进行检测,得到符合预设规则的敏感信息,作为与所述每个通信URL对应的敏感信息;根据预设规则与敏感信息类别的对应关系,确定与所述每个通信URL对应的敏感信息类别。
在一些实施例中,对所述待检测应用进行动态行为分析,得到动态行为分析结果包括:在运行所述待检测应用的过程中,对预设的多个隐私接口函数进行监控,得到与每个隐私接口函数对应的动态隐私上下文信息,作为动态行为分析结果的一部分;在运行所述待检测应用的过程中,监控所述待检测应用的屏幕状态变化情况;在屏幕状态发生变化的情况下,对当前运行界面进行解析得到每个控件的多个属性的属性值;对于每个控件,从多个属性的属性值中获取至少一个指定属性的属性值;对于每个控件,在所述至少一个指定属性的属性值满足预设条件的情况下,对所述每个控件执行与属性值所满足的预设条件对应的目标操作。
在一些实施例中,对所述待检测应用进行动态行为分析,得到动态行为分析结果还包括:获取所述待检测应用的至少一个特定组件的标识以及所述至少一个特定组件的运行顺序;按照所述运行顺序,依次启动与每个特定组件的标识对应的特定组件,并控制每个启动的特定组件运行指定时长;对与每个启动的特定组件对应的运行界面执行截图操作,得到的运行界面的截图,作为动态行为分析结果的一部分。
根据本公开第二方面,提供了一种隐私检测装置,包括:静态污点分析模块,被配置为对待检测应用进行静态污点分析,得到至少一条静态污点传播路径,每条静态污点传播路径包括源接口标识和目的接口标识;静态分析模块,被配置为根据至少一个隐私接口的权限相关信息、至少一个第三方软件开发工具包SDK的权限相关信息和所述至少一条静态污点传播路径,对所述待检测应用进行静态分析,得到静态分析结果;动态行为分析模块,被配置为对所述待检测应用进行动态行为分析,得到动态行为分析结果;获取模块,被配置为获取所述待检测应用的整个生命周期中的通信流量数据,所述通信流量数据包括通信统一资源定位器URL和通信数据包;确定模块,被配置为根据每个通信URL对应的通信数据包,确定与所述每个通信URL对应的敏感信息和敏感信息类别,作为流量分析结果;融合模块,被配置为融合所述静态分析结果、所述动态行为分析结果和所述流量分析结果,得到隐私检测结果。
根据本公开第三方面,提供了一种隐私检测装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的隐私检测方法。
根据本公开的第四方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的隐私检测方法。
在上述实施例中,可以提高隐私检测的准确性和全面性。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示出根据本公开一些实施例的隐私检测方法的流程图;
图2是示出根据本公开一些实施例的对所述待检测应用进行静态分析得到静态分析结果的流程图;
图3是示出根据本公开一些实施例的隐私检测装置的框图;
图4是示出根据本公开另一些实施例的隐私检测装置的框图;
图5是示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本公开一些实施例的隐私检测方法的流程图。
如图1所示,隐私检测方法包括:步骤S110,对待检测应用进行静态污点分析,得到至少一条静态污点传播路径;步骤S120,对待检测应用进行静态分析,得到静态分析结果;步骤S130,对待检测应用进行动态行为分析,得到动态行为分析结果;步骤S140,获取待检测应用的整个生命周期中的通信流量数据;步骤S150,确定与每个通信URL(UniformResource Locator,统一资源定位器)对应的敏感信息和敏感信息类别,作为流量分析结果;和步骤S160,融合静态分析结果、动态行为分析结果和流量分析结果,得到隐私检测结果。例如,可以由隐私检测装置执行上述步骤S110-步骤S160。
在步骤S110中,对待检测应用进行静态污点分析,得到至少一条静态污点传播路径。每条静态污点传播路径包括源接口标识和目的接口标识。在一些实施例中,接口标识可以根据接口名称来确定。
在一些实施例中,可以通过如下方式实现上述步骤S110。
首先,根据待检测应用的应用程序内的函数间调用关系,确定待检测应用的函数调用图。函数调用图包括多个节点,每个节点表示一个接口,节点之间以边连接,每条边代表节点之间的调用关系。例如,可以利用Java分析框架soot构建函数调用图。接口为应用程序接口(Application Programming Interface,API)。
然后,根据预先配置的source(污点源)函数表和sink(污点汇聚点)函数表,利用静态分析框架FlowDroid,对前述确定的函数调用图进行静态污点分析,得到至少一条从source函数到sink函数的可达路径privacyPaths,作为静态污点传播路径。source函数表和sink函数表可以根据业务需求进行配置。
在步骤S120中,根据至少一个隐私接口的权限相关信息、至少一个第三方SDK(Software Development Kit,软件开发工具包)的权限相关信息和所至少一条静态污点传播路径,对待检测应用进行静态分析,得到静态分析结果。
在一些实施例中,每个隐私接口的权限相关信息包括隐私接口标识和其他接口权限相关信息。例如,其他接口权限相关信息可以包括权限等级、接口名称、接口隐私路径和接口功能信息中的至少一种。
在一些实施例中,至少一个隐私接口的权限相关信息存储在接口权限映射表中。
例如,接口权限映射表为JSON(JavaScript Object Notation,JS对象简谱)格式:
"HIGH":{
'getLatitude()':{
'APIName':'android.location.Location:double getLatitude()'
'Describe':'获取纬度'
'Permission':'android.permission.ACESS_FINE_LOCATION'
},
'getLongitude()':{
'APIName':'android.location.Location:double getLongitude()'
'Describe':'获取经度'
'Permission':'android.permission.ACESS_FINE_LOCATION'
},
……
}。
接口权限映射表包括多个隐私接口标识(例如,getLatitude()、getLongitude())、各个隐私接口标识对应的权限等级(例如,HIGH高危权限、MIDDLE中危权限、LOW低危权限)、隐私接口的名称(例如,APIName对应的值:android.location.Location:doublegetLatitude()、android.location.Location:double getLongitude())、隐私接口的功能信息(例如,Describe对应的值:获取经度、获取纬度)、隐私接口的实际权限信息(例如,Permission对应的值android.permission.ACESS_FINE_LOCATION)。一个权限等级可以对应一个或多个隐私接口。隐私接口的实际权限信息为隐私接口被调用时实际用到的权限信息。
接口权限映射表为在PScout所提供的数据的基础上,又通过分析提取GoogleAndroid(谷歌安卓)开发者文档中所有需要权限才能调用的方法和字段、参数等,并根据提取到的隐私接口补充完善了PScout所没有的隐私接口,形成了完备的接口权限映射表。
例如,对于开发者文档中的每个接口,在该接口具有权限限制或者该接口的函数的参数、字段具有权限限制的情况下,将该接口判定为隐私接口,并将该隐私接口存储到接口权限映射表中。
在一些实施例中,每个第三方SDK的权限相关信息包括SDK标识、该第三方SDK所在的至少一条SDK隐私路径和其他SDK权限相关信息。例如,其他SDK权限相关信息包括SDK功能信息、SDK的实际权限信息。SDK标识例如为SDK名称。SDK的实际权限信息为SDK被调用时实际用到的权限信息。SDK隐私路径为通过第三方SDK识别技术得到的第三方SDK的程序存储路径,也可以叫做特征向量。
在一些实施例中,至少一个第三方SDK的权限相关信息存储在第三方SDK权限映射表中。
例如,第三方SDK权限映射表可以用JSON形式存储。第三方SDK权项映射表中的某一项为:
Figure BDA0002696980810000091
weibo_login为SDK标识,description对应的值“微博SDK”为SDK的描述信息,features为SDK的特征信息。SDK特征信息包括至少一条SDK隐私路径(sdk_key对应的com/sina/weibo、com/weibo)、SDK功能信息(function对应的“新浪微博开放平台SDK,为开发者提供了接入微博的接口,提供用户身份识别、社交关系导入、内容分享传播、优质内容的聚合导入等功能”)和SDK的实际权限信息(permission对应的android_permission_READ_PHONE_STATE)。
例如,通过如图2所示的方式实现上述步骤S120。
图2是示出根据本公开一些实施例的对所述待检测应用进行静态分析得到静态分析结果的流程图。
如图2所示,对所述待检测应用进行静态分析得到静态分析结果包括步骤S121-步骤S122。
在步骤S121中,根据至少一个隐私接口的权限相关信息、至少一个第三方SDK的权限相关信息和至少一条静态污点传播路径,构建每条静态污点传播路径的静态隐私上下文信息。
例如,通过如下方式实现上述步骤S121。
首先,对于每条静态污点传播路径,在源接口标识属于至少一个隐私接口的权限相关信息中的隐私接口标识的情况下,获取与源接口标识对应的其他接口权限信息。在一些实施例中,在源接口标识不属于任何一个隐私接口的权限相关信息中的隐私接口标识的情况下,直接处理其他静态污点传播路径。
其次,获取与每条静态污点传播路径的目的接口标识对应的目的接口所在路径。
然后,在目的接口所在路径属于至少一个第三方SDK的权限相关信息中的至少一条SDK隐私路径的情况下,获取于目的接口所在路径对应的其他SDK权限信息。
最后,根据源接口标识、与源接口标识对应的其他接口权限信息、目的接口标识、目的接口所在路径和与目的接口所在路径对应的其他SDK权限信息,构建每条静态污点传播路径的静态隐私上下文信息。
例如,可以将此种情况下的静态隐私上下文信息进行格式化存储:
PrivacyContextStatic1={SourceAPI,SourceAPiDescription,SourceAPiLocation,permission,DestinionAPI,DestinionAPIDescription,DestinionLocation,XXSDK},
SourceAPI代表源接口标识(对应被调用来获取隐私信息的隐私接口),SourceAPiDescription代表源接口标识的功能描述信息,SourceAPiLocation代表源接口的接口隐私路径,Permission代表获取上述隐私信息需要的权限(隐私接口的实际权限信息),DestinionAPI代表隐私信息的调用方(目的接口标识),DestinionAPIDescription代表目的接口的功能信息,DestinionLocation代表目的接口的位置(SDK隐私路径),XXSDK表示调用目的接口来获取源接口的主体为某个第三方SDK,这里XXSDK为具体的第三方SDK的名称。
在一些实施例中,在目的接口所在路径不属于至少一个第三方SDK的权限相关信息中的至少一条SDK隐私路径的情况下,根据源接口标识、与源接口标识对应的其他接口权限信息、目的接口标识、目的接口所在路径,构建每条静态污点传播路径的静态隐私上下文信息。
例如,可以将此种情况下的静态隐私上下文信息进行格式化存储:
PrivacyContextStatic2={SourceAPI,SourceAPiDescription,SourceAPiLocation,permission,DestinionAPI,DestinionAPIDescription,DestinionLocation,APP},
与前述的静态隐私上下文信息PrivacyContextStatic1不同,PrivacyContextStatic2将PrivacyContextStatic1中的XXSDK替换为了APP,表示调用目的接口来获取源接口的主体为待检测应用本身。PrivacyContextStatic2与PrivacyContextStatic1的相同之处,此处不再赘述。
在一些实施例中,还可以将权限等级存储到静态隐私上下文信息中。从静态隐私上下文信息即可确定源接口在哪个位置申请了什么权限获取了什么个人信息,获取到的个人信息又被哪个目的接口获取,该目的接口的主体是SDK还是待检测应用。隐私检测更加全面。
在步骤S122中,利用至少一条静态污点传播路径的静态隐私上下文信息,对待检测应用进行静态分析,得到静态分析结果。
在一些实施例中,静态分析可以包括隐私类型判定。利用至少一条静态污点传播路径的静态隐私上下文信息,对待检测应用进行静态分析包括:根据隐私类型与实际权限信息之间的对应关系、和每条静态污点传播路径的静态隐私上下文信息中的实际权限信息,判定每条静态污点传播路径的静态隐私上下文信息的隐私类型,作为静态分析结果的一部分。
例如,每种实际权限信息对应一种隐私类型。不同的实际权限信息可以对应同一种隐私类型。在一些实施例中,隐私类型包括电话隐私、位置隐私、传感器隐私、相机隐私、日历隐私、通讯录隐私、短信隐私、存储隐私、麦克风隐私、通话记录隐私和其他非敏感信息等。
例如,可以对每条静态污点传播路径的静态隐私上下文信息中的实际权限信息与多个对应关系中的实际权限信息进行匹配操作,得到与每条静态污点传播路径的静态隐私上下文信息中的实际权限信息对应的隐私类型,作为每条静态污点传播路径的静态隐私上下文信息的隐私类型。例如,PrivacyContextStatic1经过上述操作后,确定对应的隐私类型为电话隐私,则可将该结果保存为(PrivacyContextStatic1,电话隐私)。该结果可作为惊天分析结果的一部分。
在一些实施例中,静态分析还可以包括冗余权限判定。其他接口权限信息包括实际权限信息。实际权限信息为隐私接口被调用时实际用到的权限信息。
利用至少一条静态污点传播路径的静态隐私上下文信息,对待检测应用进行静态分析包括:获取待检测应用的至少一条声明权限信息,对于每条声明权限信息,在不存在任何一条静态污点传播路径的静态隐私上下文信息中的实际权限信息为该声明权限信息的情况下,判定该声明权限信息属于冗余权限。该判定结果可作为静态分析结果的一部分。声明权限信息表征待检测应用在生命周期中可能会用到的权限信息。
在一些实施例中,利用至少一条静态污点传播路径的静态隐私上下文信息,对待检测应用进行静态分析还包括:对于每条声明权限信息,在存在至少一条静态污点传播路径的静态隐私上下文信息中的实际权限信息为该声明权限信息的情况下,判定该至少一条静态污点传播路径的静态隐私上下文信息属于与该实际权限信息对应的声明权限信息的使用场景,作为静态分析结果的一部分。
例如,首先获取待检测应用的至少一条声明权限信息的集合Manifest-Permissions,对集合中的每一条声明权限信息Manifest-Permission与每条静态污点传播路径的静态隐私上下文中的实际权限信息permission字段执行比对(匹配)操作。
在该声明权限信息与任何一条静态污点传播路径的静态隐私上下文中的实际权限信息permission字段不匹配的情况下,该声明权限信息Manifest-Permission为冗余权限。例如,可以将该判定结果存储为(Manifest-Permission,冗余权限),作为静态分析结果的一部分。
在该声明权限信息与至少一条静态污点传播路径的静态隐私上下文信息中的实际权限信息permission字段匹配的情况下,该至少一条静态污点传播路径的静态隐私上下文信息为匹配的实际权限信息对应的声明权限信息的使用场景。例如,可以将该判定结果存储为(PrivacyContextStatic1,Manifest-Permission的使用场景),作为静态分析结果的一部分。
在一些实施例中,静态分析还可以包括冗余路径判定。
利用至少一条静态污点传播路径的静态隐私上下文信息,对待检测应用进行静态分析包括:获取待检测应用的至少一条声明权限信息,对于每条静态污点传播路径的静态隐私上下文信息中的实际权限信息,在该实际权限信息不属于至少一条声明权限信息的情况下,判定每条静态污点传播路径的静态隐私上下文信息属于冗余路径,作为静态分析结果的一部分。
以待检测应用的至少一条声明权限信息的集合Manifest-Permissions为例,对于静态隐私上下文信息PrivacyContextStatic1来说,在实际权限信息permission字段不属于集合Manifest-Permissions中的任何一条声明权限信息的情况下,可以判定静态隐私上下文信息PrivacyContextStatic1属于冗余路径。例如,可以将该判定结果存储为(PrivacyContextStatic1,冗余路径),作为静态分析结果的一部分。
在一些实施例中,利用至少一条静态污点传播路径的静态隐私上下文信息,对待检测应用进行静态分析还包括:在该实际权限信息属于所述至少一条声明权限信息的情况下,判定每条静态污点传播路径的静态隐私上下文信息属于与该实际权限信息对应的声明权限信息的使用场景,作为静态分析结果的一部分。该判定结果也可以存储为(PrivacyContextStatic1,Manifest-Permission的使用场景)。
返回图1,在步骤S130中,对待检测应用进行动态行为分析,得到动态行为分析结果。
在一些实施例中,通过如下方式实现上述步骤S130。
首先,在运行待检测应用的过程中,对预设的多个隐私接口函数进行监控,得到与每个隐私接口函数对应的动态隐私上下文信息,作为动态行为分析结果的一部分。例如,可以利用Xposed框架实现的HOOK(钩子)框架对多个隐私接口函数进行监控。例如,动态隐私上下文信息包括隐私相关接口标识、隐私类型、隐私相关接口的实际权限信息、调用时间、隐私类型、参数信息、调用返回结果和调用触发的堆栈信息等。
例如,预先对隐私相关接口的一些信息进行配置。部分配置信息如下:
"hookConfigs":{
{
"class_name":"android.provider.CalendarContract.Attendees",
"method":"query",
"thisObject":"false",
"type":"calendar",
"permission":"READ_CALENDAR",
},
}。
hookConfigs表示一个配置信息的集合。class_name字段为隐私相关接口标识。method字段为隐私相关函数名称。thisObject为对象的类型,false值标识该隐私相关接口属于隐私的。Type字段为隐私类型。Permission字段为隐私相关接口的实际权限信息。
例如,动态隐私上下文信息表示为PrivacyDynamicContext。PrivacyDynamicContext={API,permission,type,timestamp,args,result,stacks},其中,API代表实际中真实被调用的隐私相关接口标识(例如名称),Permission代表调用该隐私相关接口需要的权限(实际权限信息),timestamp代表隐私相关接口被调用的时间(调用时间),type代表隐私类型,args代表该隐私相关接口的参数(若无参数,则该字段为空),result代表隐私相关接口的调用返回结果(若无返回结果,则该字段为空),stacks代表调用该隐私相关接口时触发的堆栈信息。
其次,在运行待检测应用的过程中,监控待检测应用的屏幕状态变化情况。例如,可以利用安卓Accessibility技术注册一个自定义广播来监听屏幕状态变化事件。该自定义广播可以命名为MyAcessibility。
再次,在屏幕状态发生变化的情况下,对当前运行界面进行解析得到每个控件的多个属性的属性值。例如,可以利用自动化测试框架appium的inspector功能对当前运行页面进行树结构解析,得到包括多个控件节点的xpath树,每个控件节点包括多个属性。
通常弹窗的出现会导致屏幕状态发生变化,即当前运行界面例如为弹窗界面。弹窗就是待检测应用自然运行中的弹框。弹框类型包括但不限于隐私确认弹窗、权限授予弹窗、引导继续弹窗。这些弹窗可以是系统弹窗,也可以是应用弹窗。例如,隐私确认弹窗属于应用弹窗,权限授予弹窗属于系统弹窗。
然后,对于每个控件,从多个属性的属性值中获取至少一个指定属性的属性值。例如,指定属性包括但不限于控件文字、控件类型、控件点击状态、控件标识(Identitydocument,ID)、控件所属的包。
最后,对于每个控件,在至少一个指定属性的属性值满足预设条件的情况下,对每个控件执行与属性值所满足的预设条件对应的目标操作。例如,预设条件为属性值属于指定属性值。在一些实施例中,指定属性值通过利用自动化测试框架appium的inspector功能对大量的弹窗页面进行树结构解析,并对树结构进行分析来确定的。例如,目标操作包括点击操作、滑动操作、输入操作和移动操作等。
例如,在控件的控件文字为同意、控件所属的包(resource_id号)为com.jingdong.app.mall/a4j、控件点击状态为可点击的情况下,对该控件执行单击操作。该自动化运行过程模拟了人点击同意的行为。类似的,还可以对控件文字为开始、继续等内容的控件执行类似的操作。
又例如,在控件的控件标识为com.android.packageinstaller:id/permission_allow_button、控件所属包(package)是com.samsuang.android.packageinstaller、控件的文字是允许、控件类型是android.widget.Button、控件的点击状态为可点击的情况下,对该控件执行点击操作。该过程是模拟对授权弹窗的点击操作的自动化运行过程。
再例如,利用自动化运行过程还可以模拟用户登录的过程。在控件的控件文字为登录的情况下,查找控件文字为个人中心的控件,并对其执行点击操作。然后,查找控件文字为账号密码登录的空间,执行点击操作,切换到账号密码输入方式,然后依次查找控件文字为用户名和密码的控件(输入框),并分别填充预设的账号和密码。最后查找登录按钮,执行点击操作。
在上述实施例中,在对待检测应用进行动态行为分析的同时,通过对当前运行界面进行解析并根据控件的属性值来判断是否进行目标操作,实现了待检测应用自动运行,避免待检测应用在动态行为分析过程中由于弹窗造成运行中断,能够提高动态行为分析的分析效率,从而可以提高隐私检测的检测效率。
在一些实施例中,可以通过如下方式实现对待检测应用进行动态行为分析,得到动态行为分析结果。
首先,获取待检测应用的至少一个特定组件的标识以及至少一个特定组件的运行顺序。例如,特定组件为activity组件。在一些实施例中通过androguard(开源静态分析工具)来获取特定组件的标识及其运行顺序。
然后,按照运行顺序,依次启动与每个特定组件的标识对应的特定组件,并控制每个启动的特定组件运行指定时长。例如,利用命令行adb-s IP:PORT shell am start-nPACKAGE/ACTIVITY来运行每个特定组件。在一些实施例中,指定时长为6秒。
最后,对与每个启动的特定组件对应的运行界面执行截图操作,得到的运行界面的截图,作为动态行为分析结果的一部分。例如,利用命令行adb screencap-p/sdcard/screen.png来执行截图操作。在一些实施例中,可以将所有截图保存在特定目录下,为隐私审核人员审核“应用是否提供注销账号功能”“应用是否提供反馈渠道”“应用的隐私条款是否清晰明了”等条款时,提供重要的证据支持。
在步骤S140中,获取待检测应用的整个生命周期中的通信流量数据,通信流量数据包括通信URL和通信数据包。
在步骤S150中,根据每个通信URL对应的通信数据包,确定与每个通信URL对应的敏感信息和敏感信息类别,作为流量分析结果。
在一些实施例中,可以对与每个通信URL对应的通信数据包进行检测,得到符合预设规则的敏感信息,作为与每个通信URL对应的敏感信息;根据预设规则与敏感信息类别的对应关系,确定与每个通信URL对应的敏感信息类别。
例如,预设规则包括手机号、身份证号、邮箱、银行卡号、MAC(Media AccessControl Address,媒体存取控制位址)地址、设备ID号等个人隐私数据的正则匹配规则。例如,手机号、身份证号、邮箱、银行卡号、MAC地址、设备ID号等个人隐私数据的正则匹配规则分别对应phone、mail、card、BankCard、mac、deviceid等敏感信息类别。
在一些实施例中,流量分析结果可以存储在结构化变量analysisFlows中。analysisFlows=(Sensitive,Flag,url),Sensitive字段表示敏感信息,Sensitive的取值包括具体的手机号、身份证号等敏感信息。Flag表示phone、mail、card、BankCard、mac、deviceid等敏感类别。url表示通信URL。该结构化变量即为流量分析的一部分。
例如,可以使用mitproxy技术对待检测应用在运行过程中产生的流量数据(通信数据包)进行捕获并使用规则匹配引擎方法完成对待检测应用传输采集的个人敏感信息的检测。
在使用mitproxy技术捕获待检测应用从安装启动运行到结束卸载整个生命周期过程中的所有通信流量之前,首先要配置代理IP(Internet Protocol,网际互连协议)地址和代理端口,然后利用命令行Adb settings put global http_proxy ProxyIp:ProxyPort即可实现自动挂代理。ProxyIp为配置的代理IP,ProxyPort为配置的代理端口。
在步骤S160中,融合静态分析结果、动态行为分析结果和流量分析结果,得到隐私检测结果。例如,将静态分析结果、动态行为分析结果和流量分析结果存储在同一个隐私检测报告中。
在上述实施例中,不仅依据了隐私接口的权限相关信息,还结合了第三方SDK的权限相关信息,使得静态分析结果更加准确、全面。另外,上述实施例融合了静态分析、动态分析和流量分析,进一步提高了隐私检测的准确性和全面性。
图3是示出根据本公开一些实施例的隐私检测装置的框图。
如图3所示,隐私检测装置3包括静态污点分析模块31、静态分析模块32、动态行为分析模块33、获取模块34、确定模块35和融合模块36。
静态污点分析模块31被配置为对待检测应用进行静态污点分析,得到至少一条静态污点传播路径,例如执行如图1所示的步骤S110。每条静态污点传播路径包括源接口标识和目的接口标识。
静态分析模块32被配置为根据至少一个隐私接口的权限相关信息、至少一个第三方SDK的权限相关信息和至少一条静态污点传播路径,对待检测应用进行静态分析,得到静态分析结果,例如执行如图1所示的步骤S120。
动态行为分析模块33被配置为对待检测应用进行动态行为分析,得到动态行为分析结果,例如执行如图1所示的步骤S130。
获取模块34被配置为获取待检测应用的整个生命周期中的通信流量数据,例如执行如图1所示的步骤S140。通信流量数据包括通信统一资源定位器URL和通信数据包。
确定模块35被配置为根据每个通信URL对应的通信数据包,确定与所述每个通信URL对应的敏感信息和敏感信息类别,作为流量分析结果,例如执行如图1所示的步骤S150。
融合模块36被配置为融合静态分析结果、动态行为分析结果和流量分析结果,得到隐私检测结果,例如执行如图1所示的步骤S160。
图4是示出根据本公开另一些实施例的隐私检测装置的框图。
如图4所示,隐私检测装置4包括存储器41;以及耦接至该存储器41的处理器42。存储器41用于存储执行隐私检测方法对应实施例的指令。处理器42被配置为基于存储在存储器41中的指令,执行本公开中任意一些实施例中的隐私检测方法。
图5是示出用于实现本公开一些实施例的计算机系统的框图。
如图5所示,计算机系统50可以通用计算设备的形式表现。计算机系统50包括存储器510、处理器520和连接不同系统组件的总线500。
存储器510例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行隐私检测方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器520可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线500可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统50还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530、540、550以及存储器510和处理器520之间可以通过总线500连接。输入输出接口530可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口。存储接口550为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的隐私检测方法及装置、计算机可存储介质,可以提高隐私检测的准确性和全面性。
至此,已经详细描述了根据本公开的隐私检测方法及装置、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

Claims (14)

1.一种隐私检测方法,包括:
对待检测应用进行静态污点分析,得到至少一条静态污点传播路径,每条静态污点传播路径包括源接口标识和目的接口标识;
根据至少一个隐私接口的权限相关信息、至少一个第三方软件开发工具包SDK的权限相关信息和所述至少一条静态污点传播路径,对所述待检测应用进行静态分析,得到静态分析结果;
对所述待检测应用进行动态行为分析,得到动态行为分析结果;
获取所述待检测应用的整个生命周期中的通信流量数据,所述通信流量数据包括通信统一资源定位器URL和通信数据包;
根据每个通信URL对应的通信数据包,确定与所述每个通信URL对应的敏感信息和敏感信息类别,作为流量分析结果;
融合所述静态分析结果、所述动态行为分析结果和所述流量分析结果,得到隐私检测结果。
2.根据权利要求1所述的隐私检测方法,其中,对所述待检测应用进行静态分析,得到静态分析结果包括:
根据至少一个隐私接口的权限相关信息、至少一个第三方SDK的权限相关信息和所述至少一条静态污点传播路径,构建每条静态污点传播路径的静态隐私上下文信息;
利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析,得到静态分析结果。
3.根据权利要求2所述的隐私检测方法,其中,每个隐私接口的权限相关信息包括隐私接口标识和其他接口权限相关信息,每个第三方SDK的权限相关信息包括SDK标识、该第三方SDK所在的至少一条SDK隐私路径和其他SDK权限相关信息,构建每条静态污点传播路径的静态隐私上下文信息包括:
对于每条静态污点传播路径,在源接口标识属于所述至少一个隐私接口的权限相关信息中的隐私接口标识的情况下,获取与所述源接口标识对应的其他接口权限信息;
获取与所述每条静态污点传播路径的目的接口标识对应的目的接口所在路径;
在所述目的接口所在路径属于所述至少一个第三方SDK的权限相关信息中的至少一条SDK隐私路径的情况下,获取于所述目的接口所在路径对应的其他SDK权限信息;
根据所述源接口标识、与所述源接口标识对应的其他接口权限信息、所述目的接口标识、所述目的接口所在路径和与所述目的接口所在路径对应的其他SDK权限信息,构建所述每条静态污点传播路径的静态隐私上下文信息。
4.根据权利要求3所述的隐私检测方法,其中,所述静态分析包括隐私类型判定,所述其他接口权限信息包括实际权限信息,所述实际权限信息为隐私接口被调用时实际用到的权限信息,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析包括:
根据隐私类型与实际权限信息之间的对应关系、和每条静态污点传播路径的静态隐私上下文信息中的实际权限信息,判定所述每条静态污点传播路径的静态隐私上下文信息的隐私类型,作为所述静态分析结果的一部分。
5.根据权利要求3所述的隐私检测方法,其中,所述静态分析包括冗余权限判定,所述其他接口权限信息包括实际权限信息,所述实际权限信息为隐私接口被调用时实际用到的权限信息,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析包括:
获取所述待检测应用的至少一条声明权限信息,声明权限信息表征所述待检测应用在生命周期中可能会用到的权限信息;
对于每条声明权限信息,在不存在任何一条静态污点传播路径的静态隐私上下文信息中的实际权限信息为该声明权限信息的情况下,判定该声明权限信息属于冗余权限,作为所述静态分析结果的一部分。
6.根据权利要求5所述的隐私检测方法,其中,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析还包括:
对于每条声明权限信息,在存在至少一条静态污点传播路径的静态隐私上下文信息中的实际权限信息为该声明权限信息的情况下,判定该至少一条静态污点传播路径的静态隐私上下文信息属于与该实际权限信息对应的声明权限信息的使用场景,作为所述静态分析结果的一部分。
7.根据权利要求3所述的隐私检测方法,其中,所述静态分析包括冗余路径判定,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析包括:
获取所述待检测应用的至少一条声明权限信息,声明权限信息表征所述待检测应用在生命周期中可能会用到的权限信息;
对于每条静态污点传播路径的静态隐私上下文信息中的实际权限信息,在该实际权限信息不属于所述至少一条声明权限信息的情况下,判定所述每条静态污点传播路径的静态隐私上下文信息属于冗余路径,作为所述静态分析结果的一部分。
8.根据权利要求7所述的隐私检测方法,其中,利用所述至少一条静态污点传播路径的静态隐私上下文信息,对所述待检测应用进行静态分析还包括:
在该实际权限信息属于所述至少一条声明权限信息的情况下,判定所述每条静态污点传播路径的静态隐私上下文信息属于与该实际权限信息对应的声明权限信息的使用场景,作为所述静态分析结果的一部分。
9.根据权利要求1所述的隐私检测方法,其中,根据每个通信URL对应的通信数据包,确定与所述每个通信URL对应的敏感信息和敏感信息类别包括:
对与所述每个通信URL对应的通信数据包进行检测,得到符合预设规则的敏感信息,作为与所述每个通信URL对应的敏感信息;
根据预设规则与敏感信息类别的对应关系,确定与所述每个通信URL对应的敏感信息类别。
10.根据权利要求1所述的隐私检测方法,其中,对所述待检测应用进行动态行为分析,得到动态行为分析结果包括:
在运行所述待检测应用的过程中,对预设的多个隐私接口函数进行监控,得到与每个隐私接口函数对应的动态隐私上下文信息,作为动态行为分析结果的一部分;
在运行所述待检测应用的过程中,监控所述待检测应用的屏幕状态变化情况;
在屏幕状态发生变化的情况下,对当前运行界面进行解析得到每个控件的多个属性的属性值;
对于每个控件,从多个属性的属性值中获取至少一个指定属性的属性值;
对于每个控件,在所述至少一个指定属性的属性值满足预设条件的情况下,对所述每个控件执行与属性值所满足的预设条件对应的目标操作。
11.根据权利要求10所述的隐私检测方法,其中,对所述待检测应用进行动态行为分析,得到动态行为分析结果还包括:
获取所述待检测应用的至少一个特定组件的标识以及所述至少一个特定组件的运行顺序;
按照所述运行顺序,依次启动与每个特定组件的标识对应的特定组件,并控制每个启动的特定组件运行指定时长;
对与每个启动的特定组件对应的运行界面执行截图操作,得到的运行界面的截图,作为动态行为分析结果的一部分。
12.一种隐私检测装置,包括:
静态污点分析模块,被配置为对待检测应用进行静态污点分析,得到至少一条静态污点传播路径,每条静态污点传播路径包括源接口标识和目的接口标识;
静态分析模块,被配置为根据至少一个隐私接口的权限相关信息、至少一个第三方软件开发工具包SDK的权限相关信息和所述至少一条静态污点传播路径,对所述待检测应用进行静态分析,得到静态分析结果;
动态行为分析模块,被配置为对所述待检测应用进行动态行为分析,得到动态行为分析结果;
获取模块,被配置为获取所述待检测应用的整个生命周期中的通信流量数据,所述通信流量数据包括通信统一资源定位器URL和通信数据包;
确定模块,被配置为根据每个通信URL对应的通信数据包,确定与所述每个通信URL对应的敏感信息和敏感信息类别,作为流量分析结果;
融合模块,被配置为融合所述静态分析结果、所述动态行为分析结果和所述流量分析结果,得到隐私检测结果。
13.一种隐私检测装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至11任一项所述的隐私检测方法。
14.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至11任一项所述的隐私检测方法。
CN202011009152.XA 2020-09-23 2020-09-23 隐私检测方法及装置、计算机可存储介质 Pending CN113779437A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011009152.XA CN113779437A (zh) 2020-09-23 2020-09-23 隐私检测方法及装置、计算机可存储介质
PCT/CN2021/118159 WO2022062958A1 (zh) 2020-09-23 2021-09-14 隐私检测方法及装置、计算机可存储介质
US18/043,702 US20230267228A1 (en) 2020-09-23 2021-09-14 Detection method and apparatus, and non-transitory computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011009152.XA CN113779437A (zh) 2020-09-23 2020-09-23 隐私检测方法及装置、计算机可存储介质

Publications (1)

Publication Number Publication Date
CN113779437A true CN113779437A (zh) 2021-12-10

Family

ID=78835068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011009152.XA Pending CN113779437A (zh) 2020-09-23 2020-09-23 隐私检测方法及装置、计算机可存储介质

Country Status (3)

Country Link
US (1) US20230267228A1 (zh)
CN (1) CN113779437A (zh)
WO (1) WO2022062958A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115004185A (zh) * 2022-04-21 2022-09-02 山石网科通信技术股份有限公司 隐私信息泄露的检测方法、装置及电子设备
CN114826732B (zh) * 2022-04-25 2023-01-06 南京大学 一种安卓系统隐私窃取行为的动态检测与溯源方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245125B2 (en) * 2014-02-27 2016-01-26 Nec Laboratories America, Inc. Duleak: a scalable app engine for high-impact privacy leaks
CN107103240B (zh) * 2017-04-20 2020-02-11 中国科学院信息工程研究所 一种基于上下文信息的Android组件间隐私泄露行为识别方法及系统
CN107832619B (zh) * 2017-10-10 2020-12-15 电子科技大学 Android平台下应用程序漏洞自动化挖掘系统及方法
CN108334780A (zh) * 2018-02-06 2018-07-27 南京航空航天大学 基于上下文信息的隐私泄露检测方法
CN111353146B (zh) * 2020-05-25 2020-08-25 腾讯科技(深圳)有限公司 应用程序敏感权限的检测方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US20230267228A1 (en) 2023-08-24
WO2022062958A1 (zh) 2022-03-31

Similar Documents

Publication Publication Date Title
CN107659570B (zh) 基于机器学习与动静态分析的Webshell检测方法及系统
CN109145603A (zh) 一种基于信息流的Android隐私泄露行为检测方法和技术
US10152660B2 (en) Smart card read/write method and apparatus
US10614208B1 (en) Management of login information affected by a data breach
US20150143215A1 (en) Method and system for accessing audio/video community virtual rooms
CN106778254B (zh) 隐私泄露检测方法及系统
WO2022062958A1 (zh) 隐私检测方法及装置、计算机可存储介质
US11431751B2 (en) Live forensic browsing of URLs
CN113489713A (zh) 网络攻击的检测方法、装置、设备及存储介质
US20210365556A1 (en) Automated malware monitoring and data extraction
WO2019144548A1 (zh) 安全测试方法、装置、计算机设备和存储介质
CN110955395A (zh) 打印系统的风险评估方法、装置及存储介质
CN112671605B (zh) 一种测试方法、装置及电子设备
CN106250761B (zh) 一种识别web自动化工具的设备、装置及方法
WO2022199292A1 (zh) 小程序恶意行为检测
US9348999B2 (en) User terminal, reliability management server, and method and program for preventing unauthorized remote operation
CN111314326B (zh) Http漏洞扫描主机的确认方法、装置、设备及介质
Mostafa et al. Netdroid: Summarizing network behavior of android apps for network code maintenance
CN106911686B (zh) WebShell检测方法及装置
JP5828457B2 (ja) Api実行制御装置およびプログラム
Gao et al. Quorum chain-based malware detection in android smart devices
CN112583891B (zh) 接口文档获取方法、装置和服务器
CN112182561B (zh) 一种后门的检测方法、装置、电子设备和介质
Zhang et al. Contextual approach for identifying malicious Inter-Component privacy leaks in Android apps
CN110297854B (zh) 一种app域名核验方法与系统

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