在开发过程中,如果我们要调试某段代码或解决某个bug,往往会对控制台的日志输出进行分析。对于开发人员来说,日志输出虽然方便友好,一旦落入不怀好意的人手中,通过对日志输出内容进行分析,了解应用的内部逻辑结构进而有针对性攻击、获取账户信息等,因此,我们在App对外发布时,应当加强对日志的管理。
具体措施:
- 1、关闭一切的日志输出。
对策:关闭如:System.out.println(xxx)、System.err.println、Log.X(各种level的日志)打印
- 2、关闭堆栈打印功能。我们在打印异常信息时,日志文件会暴露类的上下层级、路径等信息,存在泄露内部结构风险。
对策:关闭如:e.printStackTrace() 、ex.printStackTrace() 等
- 3、开发调试过程中,必须对敏感信息进行脱敏。如登录页面输入的账号、密码,必须用* 号掩码或不输出。