[NOTE] DEEPVSA: Facilitating Value-set Analysis with Deep Learning for Postmortem Program Analysis (USENIX Security 19)

本文的工作是用神经网络辅助值集分析时的内存别名分析(即分析哪些指令引用了同一块内存区域)。为什么要进行值集分析呢?当一个程序崩溃时,根据崩溃时留存的最后n行指令,结合值集分析,可以回溯找到导致崩溃发生的具体指令。如前所述,最后n行指令,意味着指令不完整;因此内存别名分析所依赖的上下文环境也不完整。这里的神经网络就是预测出那些不明确的指令是属于堆、栈、还是全局。…

Read More »

[NOTE] Skyfire: Data-Driven Seed Generation for Fuzzing (S&P 17)

本文针对基于生成的fuzzer,它们能够根据提供的语法产生通过语法(syntax)检测的输入,但是却往往不能通过目标程序的语义(semantic)检测。因此,本文实现了skyfire,可以以语法和语料库作为输入,产生很多测试样例;这些样例则作为种子输入像AFL这样的fuzzer进行测试。…

Read More »

[NOTE] Matryoshka: Fuzzing Deeply Nested Branches (CCS 19)

之前已经有很多文章通过污点分析等技术观察影响条件判断语句的字节位置,通过变异指定字节来尝试改变判断的结果。但是,当出现深层嵌套的条件判断时,对影响目标条件判断的字节进行变异,可能会导致外层的条件判断结果改变,进而根本无法到达目标条件判断,这是本文试图解决的问题。…

Read More »