Crash Reports对于server-side软件调试和分析十分重要,但是现在的Crash Reports包含着大量的用户隐私信息,例如用户名和密码。现有的工作例如Scrash依靠开发人员手动筛选用户敏感数据,并将其从崩溃报告中删除。pattern-based方法(例如匹配URL和Email),但是无法应对特定程序的敏感数据。另外,还有些基于符号执行和污点分析的方法,但是会明显增加计算负担,并且需要对现有report system进行改动。
本文提出了一种general technique和四种lightweight techniques从崩溃的内存快照中找到和bug、attack相关的数据。general technique扫描内存快照以识别所有的指针,因为大都数bug、attack源于指针损坏。另外四种lightweight techniques对于四种常见的bug、attack进行设计。模块化的设计可以方便的添加对于其他的bug、attack识别和分析的技术。
作者开源了工具代码,提出的工具可以基于崩溃的执行文件或崩溃日志产生脱敏日志。脱敏日志与现有的coredumps和minidumps兼容。
主要贡献:
注:这个研究方向笔者不是很熟悉,所以只阅读了section I部分,有兴趣的话大家可以自行搜索原文阅读。
本文源代码https://github.com/sslab-gatech/desensitization