[发明专利]一种防止安卓手机短信验证码被窃取的方法有效
申请号: | 201710035104.X | 申请日: | 2017-01-18 |
公开(公告)号: | CN106803028B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 李金库;叶阳天;周亚金;马建峰 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/16 | 分类号: | G06F21/16;H04W4/14 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710065 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种防止安卓手机短信验证码被窃取的方法,主要通过对验证码数据进行污点标签的有效添加,并修改了系统中与短信验证码数据相关的数组结构、数组操作、字符串操作、进程间数据传递机制以及对验证码数据进行二次存储时的文件读写相关操作(包括对短信数据库的读写),保证污点标签在传播过程中不会丢失,最终在验证码被发送时(无论是通过短信还是网络发送)提取污点标签,并基于既定规则阻止验证码数据的发送来防止手机短信验证码被窃取。本发明采用基于数据流的保护方式,确保了事件检测的准确性,与其他方法相比系统开销较小,本发明除了用于手机短信验证码,还能够扩展到对其他类型隐私数据的保护。 | ||
搜索关键词: | 一种 防止 手机短信 验证 窃取 方法 | ||
【主权项】:
1.一种防止安卓手机短信验证码被窃取的方法,其特征在于,包括以下步骤:步骤一、按照以下过程进行模块初始化:1.1.设置短信验证码发送地址列表commonNumberList;根据发送短信的源地址是否在commonNumberList列表中判断该短信是否可能是一个验证码短信;1.2对字符数组和字节数组进行标记,在数据末尾添加一个位向量,所述位向量的每一个数据位代表一种标签,定义四个污点标签常量:空污点标签、短信数据标签、数据库标签、验证码标签;1.3.修改安卓系统数组在内存中的分配方式与数组大小的计算方式,让每个数组拥有一个污点标签成员字段,使每个数组能够存储有效的污点标签;1.4.在安卓系统中自定义污点标签添加和读取方法,并注册成虚拟机内部方法,满足污点标签操作相关方法调用的需求;1.5.修改安卓系统中数组在native层和框架层的复制方式,使数组复制时满足污点传播的需求;1.6.安卓系统中每个方法都运行在线程中,在安卓系统中为线程类添加污点标签成员字段,并修改安卓编译器对数组存取操作的编译操作,满足污点传播的需求;1.7.修改安卓系统框架层中字符串类的构造方法和相关操作函数,使字符串类的操作满足污点传播的需求;1.8.修改安卓系统中短信广播机制的信息存储方式,满足污点传播的需求;1.9.修改安卓系统中框架层文件的读写操作,满足短信验证码数据二次存储时污点标签传播的需求;1.10.修改安卓系统中数据库的插入和更新操作,防止短信数据库被污染;步骤二、接收短信时添加标签;2.1.在框架层读取短信协议数据单元PDU;2.2.为短信PDU的字节数组添加污点标签TAINT_SMS;步骤三、读取短信时添加标签:3.1.读取短信数据库中一条短信的内容;3.2.添加TAINT_DB污点标签到短信内容字符串的污点标签位置;3.3.读取短信的源地址字段;3.4.判断源地址字段是否在地址列表commonNumberList中;如是,表明该条短信是一个疑似验证码短信,执行3.5,否则跳转到3.8;3.5.判断短信内容字段中是否包含4‑8位的连续数字或数字加英文,如是,执行3.6,否则跳转到3.8;3.6.判断短信内容字段中是否包含“验证”或“密码”关键字,如是,表明这是一个短信验证码数据,执行3.7,否则跳转到3.8;3.7.添加TAINT_DB_VALIDATECODE污点标签到短信内容字符串的污点标签位置;3.8返回短信内容;步骤四、通过短信发送验证码进行检测:4.1.读取待发送短信的污点标签,并将其赋给TAG;4.2.判断TAG是否大于TAINT_NONE,如是,执行4.3,否则交由系统直接发送短信;4.3.判断TAG是否大于或等于TAINT_DB,如是,执行4.4,否则跳转到4.5;4.4.判断TAG是否大于或等于TAINT_DB_VALIDATECODE,如是,代表正在发送一个短信验证码数据,执行4.5,否则交由系统直接发送短信;4.5.禁止短信发送,并提示用户有短信验证码正在试图通过短信发送出去,并打印出短信内容和目的地址;步骤五、通过网络发送验证码进行检测:5.1.读取待发送短信数据中的污点标签,并将其赋给TAG;5.2.判断TAG是否大于TAINT_NONE,如是,执行5.3,否则交由系统直接发送;5.3.判断TAG是否大于或等于TAINT_DB,如是,执行5.4,否则跳转到5.5;5.4.判断TAG是否大于或等于TAINT_DB_VALIDATECODE,如是,代表正在发送一个短信验证码数据,执行5.5,否则交由系统直接发送;5.5.禁止网络传输数据,提示用户有短信验证码数据正在试图通过网络发送出去,并打印出数据内容和目的地址。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710035104.X/,转载请声明来源钻瓜专利网。
- 上一篇:一种基于云计算的智能健康监控装置
- 下一篇:一种信息保护方法和移动终端