NTFUZZ: Enabling Type-Aware Kernel Fuzzing on Windows with Static Binary Analysis(S&P 2021)

基本信息

研究重点:基于二进制文件静态分析,推断Nt系统调用的参数类型,然后对Nt系统调用进行Fuzz

研究背景:之前的一些kernel fuzz大致可以分为两种,1. 对windows kernel的一部分进行fuzz(font 组件等);2.通过IOCTL接口对驱动进行fuzz

除了NtCall(工具)外还没有对系统调用进行fuzz的研究,而且NtCall的fuzz并未对系统调用参数的类型进行推断

阅读更多

ATVHUNTER:Reliable Version Detection of Third-Party Libraries for Vulnerability Identification in Android Applications(ICSE 2021)

基本介绍

**研究背景:**安卓中第三方库(TPLs)使用十分常见,检测第三方库对于漏洞识别等都十分有用,但是由于TPL的分散性、直接或间接的依赖性以及应用中TPL信息的不透明性,现有工具不能很好的检测,更不用说检测具体某版本

阅读更多

Similarity of Binaries Across Optimization Levels and Obfuscation(ESORICS 2020)

现有的二进制相似度检测工作并没有很好的解决编译优化和混淆带来的影响,所以作者提出了IMOPT来重新优化代码,用于提高代码相似性检测的准确率。

该方法在测试集上和原本的Asm2vec相比,将精度提高了22.7%,并且可以缓解ollvm混淆带来的影响

阅读更多

Sys: a Static/Symbolic Tool for Finding Good Bugs in Good (Browser) Code(USENIX 2020)

作者设计了一个可扩展的漏洞发现工具(Sys),并且在已经被好多自动化工具检查过的软件中发现了一些漏洞,比如说Chrome,Firefox,以及sqlite3。

整个系统分为两个部分:首先通过静态分析定位可能存在漏洞的地方,然后在对这些备选项通过符号执行的方法进一步确认。这样就在漏洞发现的速度 和 准确率上得到了一个平衡。

阅读更多

Order Matters: Semantic-Aware Neural Networks for Binary Code Similarity Detection(AAAI 2020)

​ 二进制代码相似性检测:在没有源代码的情况下检测相似的二进制函数。传统的方法一般使用图匹配算法进行检测,但传统方法准确率低且复杂度高。深度学习的发展为这一领域提供的新的方法,根据控制流图生成CFG,并使用GNN计算图嵌入,既高效又准确。本文提出Semantic-Aware Neural Networks ,取得了不错的成果

阅读更多

Data-Oriented Programming: On the Expressiveness of Non-Control Data Attacks(S&P 2016)

根据控制流的攻击我们知道有ROP和JOP,分别利用包含ret和jmp的Gadgets进行攻击,劫持控制流。

非控制数据攻击通过攻击程序内存,达到信息泄露或者权限提升等目的。文中提出了DOP攻击,利用程序中的Gadgets,构造任意x86程序的非控制数据攻击,并且这种攻击是图灵完备的。

阅读更多

BadBluetooth: Breaking Android Security Mechanisms via Malicious Bluetooth Peripherals(NDSS 2019)

本文针对Android 4.2后google开发的蓝牙栈 BlueDroid中存在的粗粒度权限管理问题,提出了并实现了在多版本中的攻击BadBluetooth

通过将蓝牙设备伪装为键盘,网络接入点和耳机,同时配合Android 恶意app发起静默配对,最终实现控制手机截屏偷取用户隐私数据,劫持通信流量,甚至在锁屏状态下拨打电话等攻击。

最后,作者在AOSP项目上实现了对应的防御框架

阅读更多