- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码静态分析与自定义规则应用
袁伟 Qtest团队
目录
1. 为什么自定义规则?
2. 怎样自定义规则?
3. 自定义规则遇到的难题?
4. 数据展示
为什么自定义规则?
无线TC委员会 信息安全部 开发需求
• 日志敏感信息输出 • SQL注入隐患 • IO流关闭
• 日志开关 • 拒绝服务隐患 • Cursor关闭
• 日志函数中变量赋 • 目录遍历隐患
值 • 远程权攻击隐患
• 组件导出过多
• 自定义权限安全
• 可被Debug漏洞
• Fragment漏洞
• 应用程序备份恢复
隐患
• 远程调用导致数据
泄露风险
• 本地存储用户数据
隐患
怎样自定义规则?
Log.i(Name: , getLocalClassName());
怎样自定义规则?
难题一:误报率
1. 日志级别
Log.e(Name:, getLocalClassName());
2. 间接输出
String Name = getLocalClassName();
Log.i(Name:, Name);
Log.i(Name:, Name.toString());
Log.i(Name:, Name.length());
3. 日志开关
boolean DEBUG = false;
if (DEBUG) {
Log.i(Name:, Name);
}
难题一:误报率
开始
原创力文档


文档评论(0)