Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

Razzer: Finding Kernel Race Bugs Through Fuzzing

作者:Dae R. Jeong, Kyungtae Kim, Basavesh Shivakumar, Byoungyoung Lee, Insik Shin

单位:KAIST, Purdue University, Seoul National University

出处:IEEE Symposium on Security and Privacy 2019

资料:Paper | Github


1. Abstract & Introduction

作者在本文中提出了自己设计的用来发现内核中的数据竞争类型 漏洞的工具Razzer。

Razzer结合了两种技术: 1. 静态分析找到潜在的存在竞争的代码。 3. 确定性的线程交错技术

作者针对Linux内核实现了一个Razzer的原型。并发现了30个新的内核中的Race bug,其中16个已经被确认且被修补。

在内核中,数据竞争通常是很多有害行为的根源。数据竞争可能会导致内存污染(例如缓冲区溢出、UAF),最后导致权限提升。例如CVE-2016-8655, CVE-2017-2636, and CVE-2017-17712。

作者最后也将Razzer和其他Fuzzing工具进行对比,并总结了对比的结果。

Does Certificate Transparency Break the Web? Measuring Adoption and Error Rate

作者: Emily Stark, Ryan Sleevi, Rijad Muminovic, Devon O’Brien, Eran Messeri, Adrienne Porter Felt, Brendan McMillion, Parisa Tabriz

单位: Google, University of Sarajevo, Cloudflare

出处: IEEE Symposium on Security & Privacy 2019

原文: pdf

Abstract

Certificate Transparency (CT) 是一种近年来提出的证书日志记录方案,作为公钥基础设施的一部分,通过记录Certificate Authority (CA) 公开颁发的数字证书信息,以快速找到恶意或者错误颁发的证书。尽管CT被越来越多的浏览器所接受,想要将其进行全面部署依旧是具有挑战性的任务,其中可能会涉及到兼容性以及用户体验的问题。本篇文章通过讨论CT设计架构的特性,分析其中可能存在的安全问题和缺陷,来向我们展示如何在浏览器端更好地部署大范围的安全改进措施。

Neural Machine Translation Inspired Binary Code Similarity Comparison Beyond Function Pairs

作者:Fei Zuo, Xiaopeng Li, Patrick Young, Lannan Luo, Qiang Zeng, Zhexin Zhang

单位:University of South Carolina, Temple University

会议:NDSS 2019

论文:https://arxiv.org/abs/1808.04706

Background

函数或者代码相似性比较一直以来都是比较热门的话题,一般问题都是给定两个函数或者代码片段,比较两个函数的语义是否相等。这篇论文里作者做的代码相似性比较是基于二进制层面的。此前代码相似比较常用的方法为fuzz或者符号执行,符号执行比较好理解,通过给定相同的输入,查看输出的符号式是否相等。作者在这篇论文里,在此前问题的基础上提出了更高一级的相似性比较,即不同处理器架构的二进制代码语义相似性比较。

One Engine to Serve ’em All: Inferring Taint Rules Without Architectural Semantics

作者:Zheng Leong Chua, Yanhao Wang, Teodora Baluta,Prateek Saxena,Zhenkai Liang, Purui Su

单位:新加坡国立大学,中科院软件所

出处:NDSS‘19

原文:https://www.comp.nus.edu.sg/~prateeks/papers/TaintInduce.pdf

贡献

  • 提出了一个操作时生成规则的动态污点分析方法
  • 精确地定义了动态污点分析中的ISC,提出了一种有效的规则生成算法
  • 实现了TaintInduce并进行了评估

BadBluetooth: Breaking Android Security Mechanisms via Malicious Bluetooth Peripherals

出处: NDSS 2019

作者: Fenghao Xu; Wenrui Diao; Zhou Li; Jiongyi Chen and Kehuan Zhang

单位: The Chinese University of Hong Kong

原文: https://staff.ie.cuhk.edu.hk/~khzhang/my-papers/2019-ndss-bluetooth.pdf

演示: https://sites.google.com/view/bluetoothvul


这篇论文针对Android蓝牙协议栈实现的粗粒度权限管理策略提出了一种新型的攻击方式BadBluetooth,攻击者通过将蓝牙设备伪装为键盘,网络接入点和耳机,同时配合Android发起静默配对,最终实现控制手机截屏偷取用户隐私数据,劫持通信流量,甚至在锁屏状态下拨打电话等。

Sereum Protecting Existing Smart Contracts Against Re-Entrancy Attacks

作者:Michael Rodler, Wenting Li, Ghassan O. Karame, Lucas Davi

单位:University of Duisburg-Essen, NEC Laboratories Europe

出处:NDSS’19

原文:https://arxiv.org/pdf/1812.05934.pdf


摘要

近来,越来越多的现有区块链系统中被曝出存在着具有严重缺陷和漏洞的智能合约。尽管各类文献中提出了许多保护智能合约的方案,但这些方案均主要侧重于证明合约中某种特定类型漏洞的存在与否,无法保护那些已被部署的合约不被攻击者利用。

本文针对重入(Re-entrancy)攻击提出了一种新的智能合约安全技术,称为Sereum(Secure Ethereum),其能够通过运行时监测和验证,以向后兼容的方式保护已被部署的合约不被攻击者利用。Sereum既不需要对合约进行任何修改,也不需要掌握合约的任何语义信息。

文章在以太坊(Ethereum)区块链上实现并评估了Sereum,其能够覆盖合约的实际执行流,以低至0.06%的误报率和可被忽略的运行时开销精确地检测和防御重入攻击。

Geo-locating Drivers: A Study of Sensitive Data Leakage in Ride-Hailing Services

作者:Qingchuan Zhao, Chaoshun Zuo, Giancarlo Pellegrino, Zhiqiang Lin

单位:The Ohio State University, CISPA等

出处:NDSS 2019

原文链接:https://publications.cispa.saarland/2757/1/ride-hailing_ndss19.pdf


文章概述

近几年,Uber等打车软件越来越流行。打车软件的用户包含乘客和司机两个群体,已有的工作大都关注乘客的隐私泄露问题,但对司机的隐私泄露问题却鲜有关注。在这篇文章里,作者选取了包括Uber、Lyft在内的20款流行打车App,重点关注这些App的 “附近车辆”(nearby cars) 功能,以研究司机的隐私泄露问题。研究结果表明,通过对 附近车辆 功能的滥用,攻击者可以获取到司机相关的大量数据,并依此以相对高的正确率确定司机最常去的地址(家)和日常驾驶行为。同时,攻击者也可以从数据中推断出一些打车软件的商业信息,包括车辆总数、车辆使用率等。在此基础上,作者提出了一些防护措施,以保护司机的敏感信息不被泄露。

Open Doors for Bob and Mallory: Open Port Usage in Android Apps and Security Implications

作者:Yunhan Jack Jia, Qi Alfred Chen, Yikai Lin, Chao Kong, Z. Morley Mao

单位:University of Michigan

出处:IEEE European Symposium on S&P

资料:PDFGithub


Abstract

本文中,作者对移动平台上的开放端口使用及其安全影响进行了较为系统的研究。作者设计并实现了一种静态分析工具OPAnalyzer,可以有效分析Android应用程序中易受攻击的开放端口使用情况。作者使用OPAnalyzer,对具有超过100K Android应用程序的数据集进行了漏洞分析。 在作者随后的分析中,近一半的开放端口使用是不受保护的,可以直接远程利用。从已识别的易受攻击的用法中,发现了410个易受攻击的应用程序共956个潜在威胁。作者手动确认了57个应用程序的漏洞,包括在官方市场上下载量为1000万到5000万的应用程序,以及一些设备的预装app。这些漏洞可被利用远程窃取联系人,照片甚至安全凭证,还可以执行敏感操作,如恶意软件安装和恶意代码执行。

DeWiCam: Detecting Hidden Wireless Cameras via Smartphones

作者:Yushi Cheng, Xiaoyu Ji, Tianyang Lu, Wenyuan Xu

单位:Ubiquitous System Security Lab (USSLAB), Zhejiang University, Alibaba-Zhejiang University Joint Institute of Frontier Technologies

会议:ASIA CCS’18

链接:https://dl.acm.org/citation.cfm?id=3196509


无线摄像机广泛应用于监控系统中,用于安全防护。然而,与未经授权的录像有关的隐私问题最近引起了越来越多的关注。用于未授权无线摄像机的现有检测方法要么受到检测精度的限制,要么受到专用设备的限制。在本文中,作者们提出了DeWiCam,一种使用智能手机的轻量级和有效的检测机制。 DeWiCam的基本思想是利用来自无线摄像头的固有流量特征。与传统的流量模式分析相比,DeWiCam更具挑战性,因为它无法访问数据包中的加密信息。然而,DeWiCam克服了这个难题,可以可靠地检测附近的无线摄像头。为了进一步确定相机是否在感兴趣的房间,作者们还提出了一种人工辅助识别模型。其可以在Android平台上实施DeWiCam,并通过对20台摄像机的大量实验对其进行评估。评估结果表明,DeWiCam可以在2.7秒内检测到相机,精度在99%左右。

ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection

作者:Bo Jiang, Ye Liu, W.K. Chan

单位:Beihang University

出处:ASE’18

原文:http://delivery.acm.org/10.1145/3240000/3238177/ase18main-p52-p.pdf

摘要

智能合约是运行在区块链共识协议之上的程序代码,其能够使人们在最小化彼此之间信任的同时达成协定。如今,数百万的智能合约被部署在各种各样的去中心化应用中,然而存在于智能合约中的安全漏洞却对这些去中心化应用造成了巨大的威胁。

本文提出了ContractFuzzer工具,该工具是一个全新的针对于以太坊智能合约安全漏洞检测的模糊测试工具,其能够根据智能合约的ABI规范生成模糊测试输入,定义检测安全漏洞的测试预言(test oracle),通过对以太坊虚拟机(EVM)插桩记录智能合约的运行时状态,分析日志并报告安全漏洞。

文章使用ContractFuzzer工具对6991个智能合约实例进行了模糊测试,以极高的精度发现了这些合约中存在的459个安全漏洞。