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项目上实现了对应的防御框架

阅读更多

LEOPARD: Identifying Vulnerable Code for Vulnerability Assessment through Program Metrics(ICSE 2019)

识别代码中的脆弱点漏洞评估的重要步骤,当前主要的两种方法为:基于度量和基于模式。前者基于机器学习,后者依赖先验知识。本文提出并实现了一个通用、轻量且具有可扩展性的基于程序指标识别漏洞函数的框架 LEOPARD,这个框架不需要任何漏洞的先验知识就能识别脆弱点。第一步,通过复杂的程序指标将目标应用的函数分类;第二步,对每个分类中的函数进行排序,并将排位靠前的函数作为漏洞函数。在实际应用中,LEOPARD将20%的函数中识别出了74%的漏洞函数,从PHP,r2等应用中找到了22个新bug,其中8个是新漏洞。

阅读更多

FUZZIFICATION: Anti-Fuzzing Techniques(USENIX 2019)

fuzz作为一种自动化技术,在安全人员手中能够用来发现漏洞,但同时也让hacker能够通过fuzz寻找0day进行攻击。

为了解决这个问题,本文提出了FUZZIFICATION技术。在实际应用中,对外发布使用FUZZIFICATION处理过的二进制文件,提高hacker fuzz的难度和成本,而对内,由于安全人员拥有未处理过的二进制,使得安全人员能够在hacker fuzz出漏洞前更早的发现漏洞并进行修补。

阅读更多

B2SFinder——Detecting Open-Source Software Reuse in COTS Software(ASE 2019)

B2SFinder: Detecting Open-Source Software Reuse in COTS Software

B2SFinder 主要是为了解决闭源二进制软件中对复用开源组件检测的问题,由于复用了开源组件,当开源组件发现存在漏洞时,复用它的二进制软件也会存在漏洞,即OSS复用漏洞。

PS:我挂了个n作

Abstract

虽然此前也有一些工作致力于研究二进制和源代码的匹配方法,并能进行大规模的分析,但他们只支持一些简单的特征。在他们的研究中只能近似的衡量OSS复用,忽略了项目中的代码结构。

为了解决这个问题,B2SFinder通过对二进制文件和源代码中的7种特征进行提取,并对7种特征使用三种匹配方法和两种重要性加权方法,计算匹配分数。通过这种方法,我们对1000个流行的二进制软件中的21991个二进制文件和2189个开源库的复用进行了评估。平均每个二进制文件耗时53.85秒。我们也讨论了如何使用B2SFinder检测OSS复用漏洞。

阅读更多

Beyond Free Riding-Quality of Indicators for Assessing Participation in Information Sharing for Threat Intelligence

依然是态势感知作业需求

Abstract

paper针对在威胁情报共享体系中,某些参与者为了获得共享情报,却又不给出实质性的贡献的情况(所谓搭便车),提出指标质量QoI来评估参与者的贡献,并引入了以下度量:正确性、相关性、实用性和唯一性。

采用基准方法定义了质量度量,然后获得了一个参考数据集,并利用机器学习文献中的工具进行质量评估。将这些结果与仅将信息量视为贡献度量的模型进行了比较,揭示了各种有趣的观察结果,发现低质量的参与者。

阅读更多

An analysis and classification of public information securiy data sources used in research and practice

课程作业,选题数据质量评价方法,所以看了这篇文章

Abstract

是对当前公共信息安全数据源的分类与分析。对于信息安全数据来源多样且质量不一的情况进行研究分析,从六个维度进行分类和比较:(1) Type of information, (2) Integrability, (3) Timeliness, (4) Originality, (5) Type of Source,and (6) Trustworthiness。共收集和比较了68个公开的信息安全数据源,结果表明由于来源不同,数据异构繁多,加大了统一集成和使用的难度。

阅读更多

VUDDY A Scalable Approach for Vulnerable Code Clone Discovery(S&P 2017)

Abstract

随着开源世界的扩大,代码克隆的情况也越来越普遍,与此同时,由于代码克隆产生的1day漏洞也越来越多,因此自动化的克隆代码漏洞检测成为一大需求。

本文提出了一种大规模复用漏洞代码检测的方法——VUDDY,能在大规模的代码中精确有效的发现漏洞。

优势:

  • 十亿行量级的代码检测只需要14小时17分钟
  • 可进行传统的完全检测和部分正规化后的检测
  • 规模和准确率完胜其余的相关研究
  • 有一定的检测0 day漏洞的能力
阅读更多