任务:让0day更难
工作:
漏洞研究 exploit开发 缓解设计和审查 0x02 Project Zero如何找bug 1.我应该从哪儿找? 优先级。 攻击者会在哪里看?重视单个研究人员的经验+专业知识 找到新的攻击面,或迭代已知的攻击面。 2.我应该怎么找? 也就是怎么找到一个切入角度 选择处理不可信数据的输入点并找到其bugs。 选择一个bug类来查找实例。 选择一个功能/规范,找出不同实现中的常见缺陷。 查找已知问题的变形。 3.CVE-2018-10751 三星Galaxy S7 Edge中的OMACP溢出 由短信触发 通过寻找处理SMS的Intent找到 一年前,Contextis报道了一个类似的错误 4.FuzzingCanonical mutation fuzzing(大概意思是利用经典数据的变种来进行fuzz):语料库创建,参数优化,模糊测试,覆盖反馈,崩溃分析。
自定义模糊测试,如定制生成器或文件格式突变感知。
5.手动审查有时是线性的:枚举函数列表并前向分析。
有时横向:找到一些脆弱属性的实例(错误类,重复错误,非标准模式),稍后建立“触发点”。