Category Archives: papers

ZESTI论文阅读笔记

A. 彻底对敏感操作进行测试 ZESTI将程序输入替换成符号值, 并在同时记录相应的具体输入值, 在遇到分支时使用具体输入来导向程序执行流程. 在执行程序时, ZESTI会收集路径条件并用于验证潜在的错误操作. 例如, 只要程序访问符号内存地址, ZESTI就会检查对于所有满足当前路径条件的输入而言, 该操作是否安全. 1: int v[100]; 2: void f ( int x) { 3: if (x > 99) 4: x = 99; 5: v[x] = 0; 6 : } 上例代码存在bug: 当输入的x是负数时是可以访问非法内存的. 测试套件可以使用不同的参数调用此函数并验证函数行为, … Continue reading

Posted in papers, symbolic execution | Leave a comment

VulDeePecker: 基于深度学习的漏洞检测系统

首先需要找到适用于深度学习的软件程序的表示, 论文还有code gadgets来表示程序并将其转换成向量(code gadgets在向量中是许多行(不一定连续)的, 语义相关的代码). 并据此设计实现了VulDeePecker检测系统. 评估结果表明, 在使用第一类漏洞数据集时在误报率合理的条件下有着更小的漏报率. 论文的主要主要贡献 开启了使用深度学习检测漏洞的先河 初步确定了: 软件程序的表示, 检测粒度, 特定神经网络的选用 设计并实现了VulDeePecker. 并根据以下方面进行评估 VulDeePecker可以同时处理多类漏洞吗? -> VulDeePecker使用漏洞模式(vulnerability patterns, 由神经网络训练学得) 人类的专业知识可以帮助提高VulDeePecker表现吗? VulDeePecker同其他漏洞检测方法相比效率如何? 提出了第一个用于评估VulDeePecker和其他漏洞检测系统的数据集 论文结构: 第二节讲述一些初步的原则 第三节讨论VulDeePecker的设计 第四节描述VulDeePecker的实验评估结果 第五节讨论VulDeePecker的局限以及未来研究的一些问题 第六节讲述前人相关工作 第七节对论文进行总结

Posted in deep learning, papers | Leave a comment

UNVEIL: 一种大规模检测勒索软件的自动化方法

尽管勒索软件早已不是什么新奇的概念(这种攻击甚至可以追溯到20世纪80年代), 但这种类型的恶意软件最近开始复苏变得流行起来. 事实上, 近几年以来已经报道了数起备受瞩目的勒索软件攻击, 例如对索尼的大规模攻击导致了索尼不得不推迟发布电影<>. 勒索软件通常会锁定受害者桌面, 使用户无法访问系统, 或是加密, 覆写, 删除用户文件, 以此来勒索钱财. 然而, 虽然现今已经提出了许多通用的恶意软件检测系统, 但没有一个检测系统有尝试专门解决勒索软件的检测问题. 在本论文中, 我们提出了一种名为UNVEIL的新型动态分析系统, 专门用于检测勒索软件. 而分析的关键依据就是, 勒索软件要想成功实行攻击, 就必定会去篡改用户的文件或桌面. UNVEIL会生成一个伪造的用户环境, 并检测勒索软件与用户数据的交互时间, 同时还会跟踪系统桌面上发生的可能是由勒索软件行为造成的变化. 我们的评估结果显示, UNVEIL 显著地提高了现有技术水平, 并能够检测出以往反病毒公司未能检测出的在野勒索软件.

Posted in malware, papers | Leave a comment