Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

Comparing the Usability of Cryptographic APIs

作者:Yasemin Acar, Michael Backes, Sascha Fahl, Simson Garfinkel, Doowon Kim, Michelle L. Mazurek and Christian Stransky

单位:CISPA, Saarland University; National Institute of Standards and Technology; University of Maryland, College Park

出处:IEEE Symposium on Security and Privacy 2017

原文:https://saschafahl.de/papers/cryptoapis2017.pdf

相关材料:Video

背景

在许多应用程序中都存在着潜在的密码学算法误用问题。传统观点认为,许多密码学算法误用问题是由加密的应用程序编程接口(API)引起的,这些接口过于复杂,缺乏安全性,或者文档不完善等。许多研究人员使用静态和动态分析技术来识别和调查源代码或二进制文件中的密码学误用问题。这种方法对于说明密码学误用问题的普遍性以及识别实践中最常见的错误种类非常有价值,但它不能揭示根本原因。安全社区的传统观点认为,这些错误在很大程度上会增加,因为对于非密码学专家来说,很难正确的使用这些密码库。特别的,密码库和应用程序编程接口(API)被广泛认为是复杂的,有许多令人困惑的选项和很差的默认选项(有时候甚至是不安全的默认选项)。

Mission Accomplished? HTTPS Security After DigiNotar

作者:Johanna Amann, Oliver Gasser, Quirin Scheitle, Lexi Brent, Georg Carle, Ralph Holz

单位:ICSI / LBL / Corelight, Technical University of Munich, The University of Sydney

出处:IMC 17

原文:http://conferences.sigcomm.org/imc/2017/papers/imc17-final227.pdf

简介

为了防范各种针对SSL/TLS协议设计和实现的攻击,TLS、HTTPS、web PKI增加了很多新的特性。 这篇文章的主要工作就是对这些新特性的使用情况作了一个大规模调查。

  • 作者主要从不同新特性的应用普遍性、各种特性部署的正确性、特性应用普遍性与部署难度之间的关系特性部署的相关性等多个维度进行调查。
  • 考察的安全特性主要包括:Certificate Transparency(CT),HSTS,HPKP,CAA,TLSA,SCSV等。
  • 作者声称这是第一个针对这些特性应用情况的大规模调查(实际上不是,NDSS’15上有篇文章是针对HSTS、HPKP部署情况的调查,只是调查的范围没有这次广、覆盖的安全特性没有这次多,其它也有一些相关工作提及部分安全特性的应用情况)。
  • 作者采用了主动扫描和被动测量的方法,调查覆盖的域名数量达193M,是截止到2017.3所有注册域名数量(330.6M)的58%。

Enforcing Unique Code Target Property for Control-Flow Integrity

作者:Hong Hu, Chenxiong Qian, Carter Yagemann, Simon Pak Ho Chung, Taesoo Kim and Wenke Lee, William R. Harris

单位:Georgia Institute of Technology, Galois Inc

出处:CCS’18

论文:https://www.cc.gatech.edu/~hhu86/papers/ucfi.pdf

在这篇文章中,作者主要介绍了一种准确率更高的确保CFI的应用方式:Unique Code Target(UCT)。对于每次间接跳转(ICT),作者们设计了一个叫μUCT的系统来确保这一特性的实施。

在编译时,μCFI就识别那些可能影响ICT的指令并让程序去记录一些必要的执行环境;在运行时,μCFI在另一个进程中监视程序的运行,并且在一些关键性的指令上使用内存安全地记录着地运行环境来做一些对点分析,判断这些指令的跳转是否符合预期。

Erays: Reverse Engineering Ethereum’s Opaque Smart Contracts

作者: Yi Zhou, Deepak Kumar, Surya Bakshi, Joshua Mason, Andrew Miller, and Michael Bailey

单位:University of Illinois, Urbana-Champaign

出处:USENIX Security ‘18

原文:https://www.usenix.org/conference/usenixsecurity18/presentation/zhou

作者开发了一个针对以太坊智能合约的逆向分析工具Erays,用以将bytecode翻译成便于人类分析的伪代码。并且使用这个工具分析了以太坊生态系统的代码复杂性和重用性,以及将闭源的代码和开源的代码比较,降低整个生态系统的隐匿度。最后,作者给出使用Erays逆向4个智能合约的例子。


Background

以太坊作为第二代电子加密货币,其中的流通金额超过$10B USD。但是,以太坊智能合约容易出错,并且含有较高的金融风险。截止2018年1月份,作者采集了区块链上的所有智能合约,其中包含34K的独立合约。在这34K的智能合约中,26K(77.3%)没有源代码,并且涉及了31.6%的交易和$10B USD的金额流通。

Check It Again: Detecting Lacking-Recheck Bugs in OS Kernels

作者:Wenwen Wang, Kangjie Lu, and Pen-Chung Yew

单位:University of Minnesota

出处:ACM CCS’18

原文:https://www-users.cs.umn.edu/~kjlu/papers/lrsan.pdf

1. 简介

论文中,作者主要介绍分析操作系统内核中的LRC(lacking-recheck)类型bug。并介绍了自己设计的一个静态分析系统LRSan(在Linux上实现),用于检测操作系统内核中的LRC bug。

本文的主要贡献: 1. 定义了LRC bugs,并第一次展示了关于LRC bug的深入研究。 2. 实现一个自动化的LRC bug检测系统(LRSan),基于LLVM,使用在Linux内核上,可以检测内核中的LRC bug。LRSan运用了很多新的程序静态分析技术。结果显示LRSan在Linux内核发现了2808个LRC case,检测耗时为4小时。并且作者会将它开源。 3. 识别Security checkSC)和相关Critical variableCV)的方法。 4. 发现了Linux内核中的19个新的LRC bug。

Smart Locks: Lessons for Securing Commodity Internet of Things Devices

作者:Grant Ho, Derek Leung, Pratyush Mishra, Ashkan Hosseini, Dawn Song, David Wagner

单位:University of California at Berkeley

出处: Asia CCS 2016

原文:https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-11.pdf

ABSTRACT

本文研究了市场上的五款智能门锁,发现了这些智能门锁在设计、部署、交互模型上存在的漏洞。实现了几种攻击并提供了一些防护方案。

INTRODUCTION

原有的大部分成果,专注于对加密协议的分析。本文将关注点放在智能门锁通用的网络架构的安全隐患,以及,用户与设备之间的交互模型上。

(针对新兴的交互模型,作者提到了一款门锁,它能够在合法用户靠近门锁时自动开锁。)

为了研究智能门锁的安全问题,本文设计了一个智能门锁的安全模型并分析了可从市场上购买到的五款较为流行的智能门锁。 通过分析,发现了三种类型的攻击方式。本文分析的五款门锁中,每一款门锁至少可被其中一种方式攻击。

作者认为,漏洞的产生是由于现有的系统都采用了不安全的机制来判断用户的潜在行为。

FirmUp: Precise Static Detection of Common Vulnerabilities in Firmware

作者:Yaniv David, Nimrod Partush, Eran Yahav

单位:Technion, Israel

出处:ACM ASPLOS 2018

原文:https://dl.acm.org/citation.cfm?doid=3173162.3177157

Overview

对于两个片段代码片段,即使有语法上的差别,其中的局部代码还是有很多相同的语义。从语义上讲,两个完整的函数不可能完全一致,但是肯定有很高的相似性,问题的难点正是在于,在不同的指令选择,指令顺序,寄存器使用下,如何挖掘这种相似性。
为了能把不同编译选项编译好的二进制文件拿来比较,将其中的函数进行基本块级别的拆分,然后将基本块进一步切片成更小的片段,再将这种片段中的寄存器名和地址偏移一致化,以函数为单位制成一张表。以这两个表中相同的代码片段的数量作为相似度。
单纯用函数大小来统一化相似性分数会产生误差,因为函数大小的受制因素很多。此外,如果匹配行为的目标是整个binary,则会因为一些编译选项会丢失一部分源码的缘故,产生局部的不匹配,而这种不匹配会产生连锁反应。使用往复博弈的方法来更好的完成局部匹配的任务。

HoMonit: Monitoring Smart Home Apps From Encrypted Traffic

作者:Wei Zhang, Yan Meng, Yugeng Liu, Xiaokuan Zhang, Yinqian Zhang, Haojin Zhu

单位:Shanghai Jiao Tong University, Ohio State University

出处:CCS’18

原文:https://dl.acm.org/citation.cfm?id=3243820

ABSTRACT

本文以三星SmartThings平台为研究对象,提供了一个能够在加密的无线信道中监控物联网设备的系统。

在26th USENIX Security Symposium中有一篇类似的文章(与本文中提到的之前的工作较为吻合),同样以三星的物联网平台为研究对象,通过分析传感器数据和源码,对物联网设备实际的越权行为进行了分析并提供了监控系统。

Phishing Attacks on Modern Android

作者:Simone Aonzo, Alessio Merlo, Giulio Tavella, Yanick Fratantonio

单位:University of Genoa, EURECOM

出处:CCS 2018

原文:http://www.s3.eurecom.fr/~yanick/publications/2018_ccs_phishing.pdf


文章概述

安卓系统为了便利性引入了许多新的功能。这篇文章中,作者对现有的四款比较著名的密码管理App以及安卓系统提供的Google Smart Lock(GSL)服务进行了分析,并利用密码管理器(Password Managers, PMs in short)和即时App(Instant App)这两个新功能在设计上的不足针对自动填充密码功能实现了安卓系统上的全新钓鱼攻击。该种攻击方式比现有的钓鱼攻击方式更容易实现。在此基础上,作者设计了新的API来避免该种钓鱼攻击方式的发生,但他也表示自动填充密码功能的安全实现需要整个开发者社区共同努力。

Security Analysis of smartContract

以太坊作为仅次于比特币的全球第二大加密货币,将智能合约的概念引入到了区块链世界中。以太坊智能合约在带来强大的交易处理能力的同时也带来了相应的安全风险。本报告简单介绍了以太坊智能合约的基本概念与常见漏洞,并详细阐述了以太坊智能合约漏洞的分析流程以及漏洞检测工具的实现技术与优缺点。

全文下载