[发明专利]一种基于代码层语义解析驱动的隐私数据识别方法有效

专利信息
申请号: 201711277112.1 申请日: 2017-12-06
公开(公告)号: CN108171073B 公开(公告)日: 2021-08-20
发明(设计)人: 杨珉;杨哲慜;南雨宏;张源;朱东来 申请(专利权)人: 复旦大学
主分类号: G06F21/62 分类号: G06F21/62;G06F40/279
代理公司: 上海正旦专利代理有限公司 31200 代理人: 陆飞;陆尤
地址: 200433 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明属于程序信息安全检测技术领域,具体为一种基于代码层语义解析驱动的隐私数据识别方法。本发明方法包括:基于自然语言处理技术的隐私相关语义分析和代码片段定位:提取代码中的字符串常量标识符,经过预处理之后,将字符串常量中的语义信息与预先定义好的语义相关隐私词典进行匹配,通过字符串常量当中的词性标签,以及不同词语在句子短语当中的依赖关系来判断其是否表明特定的隐私数据;基于机器学习的隐私相关代码片段识别:采用机器学习的支持向量机模型,通过抽取隐私数据使用的代码特征行为作为判断给定的代码是否包含系统所关注的隐私数据。通过对这类隐私数据识别,将其标记为敏感数据源,从而降低用户隐私数据的泄露风险。
搜索关键词: 一种 基于 代码 语义 解析 驱动 隐私 数据 识别 方法
【主权项】:
1.一种基于代码层语义解析驱动的隐私数据识别方法,其特征在于,分为两部分:一是基于自然语言处理技术的隐私相关语义分析和代码片段定位,二是基于机器学习的隐私相关代码片段识别;

一、基于自然语言处理技术的隐私相关语义分析和代码片段定位,具体过程如下:

(1)定义隐私信息:首先定义一些隐私相关的关键词,并通过文本中是否出现这些关键词来初步判断文本是否为隐私相关;关键词集合由人工筛选提取;

(2)提取语义信息:从反编译的应用代码中提取出字符串常量、函数名称、变量名称;之后对这些得到的语义信息进行预处理操作,包括除掉其中非字母以外的字符,并通过识别这些文本信息中的常用分隔符以及大写字母来将文本分成多个词条;

(3)定位隐私相关语义信息:通过自然语言处理的方式来初步判断这些语义信息是否与隐私相关:依次采用基于关键词的过滤,基于词性的过滤以及基于依赖关系的过滤技术,一步步来提高语义分析的效果:

(3.1)基于关键词的过滤:利用所述的隐私相关的关键词,采用关键词匹配算法来初步判断语义信息是否为隐私相关;所述关键词匹配算法主要通过检查是否存在一个关键词使得它的每一个字符均存在于要处理的文本中,如果存在,则这段文本将会被认为隐私相关,并返回该关键词;

(3.2)基于词性的过滤:语义词性标记用于表示特定的关键词在当前句子当中属于什么样的词性,在分析中,所关注的隐私相关词所对应的词性为名词,当句子中所包含的关键词被识别为名词时,该句子将被进一步做依赖关系的分析;

(3.3)基于依赖关系的过滤:依赖关系用来表明词组在句子之间的组成结构关系,对于短语或句子,通过判断敏感词与其它词组所对应的依赖关系来分析所关注的隐私相关词组是否为该句子的中心;以下为依赖关系满足匹配过滤条件:

(3.3.1)直接描述关系:如果被分析的短语句子中关键词包含直接描述关系,且关键词为名词,则符合预期;

(3.3.2)名词主语关系:如果被分析的短语中关键词与其上下文不包含直接描述关系,但关键词为被从属词,则也符合判断预期;

(3.3.3)否定修饰关系:如果被分析的短语中关键词被一个否定词语修饰,则认为,该关键词和隐私信息无关;

(3.3.4)其它依赖关系:如果关键词仅仅存属于其它依赖关系,则表明其在句子中只起到辅助说明的作用,并不是该句话的主语;

二、基于代码特征的隐私相关数据识别,具体过程如下:

首先,通过信息流分析来找到被语义分析确认为隐私相关的常量字符串或者变量名所流入到的函数调用语句,然后,利用机器学习来判断该函数调用语句是否包含隐私信息;如果一条函数执行语句被识别为隐私相关,则在该代码中所存储数据的变量即包含隐私数据。

2.根据权利要求1所述的基于代码层语义解析驱动的隐私数据识别方法,其特征在于,步骤二中,选取以下五类特征作为识别隐私数据相关代码的模型向量:函数名称,函数参数类型,函数返回值类型,函数调用基准变量类型,函数参数值类型;

所述机器学习的训练集,由经过“隐私相关语义分析和代码片段定位”分析之后得出的代码为单位,由安全专家随机抽取一定数量的代码,经过人工标注来确认这些与隐私相关的函数语句是否真正包含隐私数据;为了使训练集合具有足够的覆盖度,样本数据的总体数量在千条以上;同时,训练数据集应该确保正负样本即包含隐私数据代码与不包含隐私数据代码的数量总体相对均衡,使分类器达到最佳的精确度。

3.根据权利要求2所述的基于代码层语义解析驱动的隐私数据识别方法,其特征在于,从谷歌应用商店上的100个流行应用中,由安全专家随机抽取对判断为隐私相关的函数调用语句进行人工标注;选取4326个训练样本,包括2163个包含隐私数据的正样本以及等量的不包含隐私数据的负样本,作为训练集;

选用支持向量机SVM作为分类器。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201711277112.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top