【技术实现步骤摘要】
一种基于静态检测的软件源代码隐私检测方法及系统
[0001]本专利技术涉及软件安全
,尤其涉及一种基于静态检测的软件源代码隐私检测方法及系统。
技术介绍
[0002]近年来涉及个人隐私数据窃取频发,国内多家企业的上亿用户的简历、智能家居的用户信息等大规模隐私数据也遭遇窃取,在对个人造成不同类型、程度损害的同时,也动摇着网络乃至整个社会的信用体系,所以需要前瞻性地研究个人数据隐私保护问题。
[0003]针对这个隐私保护问题,目前学术界也有很多学者在进行个人数据和隐私保护相关的研究,常见的是对Android应用软件的研究,主要针对Android中的各类隐私获取权限进行分析,或者基于法律视角,对Android应用软件涉及的隐私协议进行分析,通过静态分析应用smali代码中类之间的调用关系生成Activity树状图,并通过树的层次遍历策略编写自动化测试脚本,实现应用内隐私协议的自动提取,并通过API-关键词映射列表,自动对比分析应用隐私行为与隐私协议的方法,进而判断其安全性。
[0004]然而,目前针对隐私保护 ...
【技术保护点】
【技术特征摘要】
1.一种基于静态检测的软件源代码隐私检测方法,其特征在于,包括以下步骤:S1、解析源代码,提取特征:针对隐私在源代码中的不同存在形式,在源代码中提取如下三种相应的特征:固定特征或固定内容的隐私信息的特征、可以获取用户隐私信息的接口API和可以获取用户输入的接口API;S2、根据步骤S1提取的三种特征,做不同的特征匹配处理:对于提取到的固定特征或固定内容的隐私信息,直接检测到源代码中硬编码的隐私信息;对于提取到的可以获取用户隐私信息的接口API,判断其存在获取隐私信息的行为;对于提取到的获取用户输入的接口API,还需要作进一步的处理,判断其获取的内容是否与隐私信息相关;S3、对用户输入类的隐私信息进行检测,通过提取用户输入的接口API找到输入函数作为入口,分析该部分代码与隐私信息的相关性,在存在获取用户输入的文件中提取关键词,并计算其与隐私信息的重合度,若重合度高于某一阈值,判定其存在隐私处理的行为;S4、对源代码进行分析,得到对应的抽象语法树,遍历AST,以步骤S3找到的隐私信息点为起点,根据其调用模块的信息,解析其依赖的节点,跟踪每个隐私信息相关的API,并记录其处理流程;S5、对步骤S4隐私信息的处理流进行检测,判断源代码对隐私处理的过程中是否存在敏感操作或不安全操作,若存在敏感操作,判断其对隐私的处理存在安全问题,提出并进行改正。2.根据权利要求1所述的基于静态检测的软件源代码隐私检测方法,其特征在于,步骤S1中,固定特征或固定内容的隐私信息的特征包括:性别、身份证号、手机号、QQ号、电子邮箱、家庭地址、籍贯、职业以及账号密码。3.根据权利要求1所述的基于静态检测的软件源代码隐私检测方法,其特征在于,步骤S1中,可以获取用户隐私信息的接口API包括:录音API、摄像头监控API、获取地理位置的API、获取内存信息的API、获取已安装应用列表的API、获取WiFi列表的API。4.根据权利要求1所述的基于静态检测的软件源代码隐私检测方法,其特征在于,步骤S1中,可以获取用户输入的接口API包括:C/C++的getchar()、getch()、gets()和Java的scanner的nextLine()、nextInt()。5.根据权利要求1所述的基于静态检测的软件源代码隐私检测方法,其特征在于,步骤S4中,软件...
【专利技术属性】
技术研发人员:张淼,张洪盈,舒梓峰,高善勋,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。