Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

Scission: Signal Characteristic-Based Sender Identification and Intrusion Detection in Automotive Networks

出处: CCS’18

作者: Marcel Kneib、Christopher Huth

单位: Bosch Engineering GmbH

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

随着汽车可连接性的增强,攻击面也越来越多。这种攻击不仅对汽车本身造成破坏,也可能进一步危害人身安全。CAN协议由于设计之初并没有考虑安全性,比如对发送者的身份进行认证,验证消息的完整性等等,这就造成了一旦连接在CAN总线上的ECU被攻击者恶意控制,攻击者就能任意伪造消息。本文,来自博世的工程师设计了Scission系统,用CAN报文的物理特性来判断消息的合法性。

Don’t Throw Me Away: Threats Caused by the Abandoned Internet Resources Used by Android Apps

单位:早稻田大学

出处:AsiaCCS’18

资料:Paper

1 INTRODUCTION

现代APP为了提供更丰富的额外功能大多会采用一些网络服务,例如语音识别、天气预报等。这些直接由服务端提供的服务使开发者能偶较为容易地在移动端实现这些功能。但是这些支持移动应用的服务因为存在于服务端,当程序被发布之后,开发人员可能会因为维护成本渐渐地不再维护这些网络资源。本文中,作者对Android移动应用程序的开发者们进行调查,发现78%的开发人员没有定期更新发布的应用程序。还有66%的开发人员不是全职开发人员。因此这些应用程序使用的互联网资源将缺乏维护。而且这些资源的所有权会带来变更:域名或IP信息可能会被重新注册。本文中,作者进行了大规模的调查,通过对110万个应用的分析,作者发现尽管很多应用已经很久没有更新而且网络资源不再可用,但是依旧有很多来自移动用户的流量。本文中作者做了如下工作:

  • 分析了移动应用中被废弃的网络资源可能存在安全问题。
  • 通过对100万+的应用的分析,作者发现7331个应用中有3628个不再可使用的网络资源。其中有15个APP的安装次数超过一百万。
  • 不仅仅是Android平台,很多应用同时有iOS版本,它们依旧存在这些问题。
  • 作者讨论了对于由于网络服务归属权的变更带来的问题的解决方案。

Using Logic Programming to Recover C++ Classes and Methods From Compiled Executables

出处:ACM CCS 2018

作者:Edward J. Schwartz, Cory Cohen, Jeff Havrilla, Jeff Gennari, Charles Hines, Michael Duggan

单位:Carnegie Mellon University

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

相关材料会议, GitHub项目地址

一、背景

    随着计算机硬件的发展,计算机软件也变得越来越庞大、越来越复杂。而为了开发这些复杂的计算机软件,软件工程师们逐渐把方向转向了面向对象 OO(Object Oriented)的编程语言,例如 C++ 等高级开发语言。这些高级的编程语言,对于开发庞大、复杂的应用程序,它可以提供一种高级抽象的框架(Natural Framework),使得面向对象的编程语言更加适用于构造复杂的数据结构 — Class。类可以把相关的数据成员和一组对数据成员进行操作的方法绑定在一起,这样的绑定方式极大的方便了 C++ 代码的维护与管理,使得开发者更容易、更高效地开发复杂的应用程序。

    虽然类可以给开发者带来极大的便利,但是,万事万物总有两面性,类也一样,它给开发者带来便利的同时,也给软件逆向分析工程师带来了不便,使得分析师在分析 C++ 开发的程序的难度有所提高,特别是在分析恶意程序的时候,分析 C++ 开发的恶意程序变成了一项更高难度的挑战。因此,如何从恶意程序中恢复出代码的高级抽象特性(例如类等),成为了一项值得深究的工作。

Towards Paving the Way for Large-Scale Windows Malware Analysis: Generic Binary Unpacking With Orders-of-Magnitude Performance Boost

会议:ccs 2018

作者Binlin Cheng (Wuhan University &, Hubei Normal University), Jiang Ming (University of Texas at Arlington), Jianming Fu (Wuhan University), Guojun Peng (Wuhan University), Ting Chen (University of Electronic Science and Technology of China), Xiaosong Zhang (University of Electronic Science and Technology of China), Jean-Yves Marion (LORIA)

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

背景简介

windows的软件脱壳本来已经在多年前已经被讨论得非常多了,目前安全学术会议上关于脱壳的论文非常少,然而这篇关于脱壳的论文还能在2018年被CCS所录取,足见他的方法之高效。此前关于脱壳的方法大多是跟踪脱壳时期的内存代码写入执行的变化,从而跟踪被加密代码的解密流程从而追溯到OEP。这也是对于分析脱壳的一个最为直观的方法,在这篇论文里作者提出来通过跟踪IAT(函数导入表)被恢复和引用的情况来追溯OEP,并且达到很理想的效果。作者将这款工具称为BinUnpack。

Automated Detection Exploitation and Elimination of Double-Fetch Bugs Using Modern CPU Features

作者: Michael Schwarz, Daniel Gruss, Moritz Lipp, Clémentine Maurice, Thomas Schuster, Anders Fogh, Stefan Mangard

出处: AsiaCCS’18

单位: Graz University of Technology, CNRS, G DATA Advanced Analytic

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

Double-fetch bugs 是一种特殊的条件竞争,在高权限线程的time-of-check和time-of-use之间,低权限线程能够修改共享的内存,导致高权限线程访问的内存产生不一致。

本文作者提出了一种检测,利用并消除double-fetch bugs的技术DECAF和Dropit。总体来说,贡献如下:

  • 把cache attack与kernel fuzzing结合起来
  • 首个自动化的挖掘double-fetch bugs的方法
  • 利用的成功率高达97%
  • 利用Hardware Transactional Memory的特性,消除double-fetch bugs
  • 方法对fuzz TEE也有效

Towards Measuring the Effectiveness of Telephony Blacklists

出处:NDSS’18

原文链接: http://cyber.gatech.edu/sites/default/files/images/towards_measuring_the_effectiveness_of_telephony_blacklists.pdf

背景信息:

本文是美国佐治亚理工学院的研究人员发表在NDSS18上的研究。这篇论文研究了如何有效地阻拦恶意电话。现在有很多恶意电话会利用一些网络技术 (机器人呼叫,声音模仿,号码欺骗等等)对手机用户进行骚扰或诈骗。常见的防护方法就是建立黑名单。目前也有很多APP或设备安全服务在建立这些黑名单。但是具体如何建立黑名单,黑名单效果怎么样都是未公开的。所以这篇文章通过自己收集数据,并利用不同类型数据建立多种黑名单并评估,进而分析黑名单的效果。

Analysis of Privacy Protections in Fitness Tracking Social Networks

出处:USENIX Security 2018

作者:Wajih Ul Hassan, Saad Hussain, Adam Bates

原文链接:https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-hassan_0.pdf


文章概述

一些移动端健康数据采集App为用户提供记录运动信息并通过社交网络分享给朋友的功能。运动信息包含地理位置、健康数据等,一旦发生泄露会造成非常严重的后果。尽管现在一些健康App提供一系列的隐私保护功能,但不能确定这些功能是否足够抵御攻击者的攻击。因此,作者对健康数据的社交网络进行了系统的分析。通过收集Strava上一个月的用户公开发布的数据(300万用户发布的2100万条记录),作者发现16.5%的用户使用了Endpoint Privacy Zones(EPZs)功能,可以隐藏用户认为敏感地区(家、办公室等)周围的活动。作者对EPZs功能进行攻击,通过可以获取到的数据推测出用户所想保护的位置,进而发现95.1%的活跃用户都易受此攻击影响,导致位置信息被攻击者获取。作者对于这种攻击提出了相应的防护方案。

Lord of the X86 Rings: A Portable User Mode Privilege Separation Architecture on X86

会议:ccs 2018

作者:Hojoon Lee, Chihyun Song, Brent Byunghoon Kang

论文https://dl.acm.org/citation.cfm?id=3243748


背景简介

此前heartbleed漏洞导致的敏感信息常泄露一直是人们要解决的问题,即如何保护程序中的隐私数据不被任意的访问到。研究人员想到的方法根本出发点为,将隐私数据隔离,即使存在程序漏洞,也不能任意访问到这些敏感数据。而将隐私数据存放于什么位置,是人们一直以来需要解决的问题。此前的解决办法包括,线程隔离,进程隔离,使用可以信执行区域(如Intel SGX)等。这些方法或者性能影响比较大,或者受限到CPU型号。而在这篇论文里作者使用Intel x86处理器一直以来存在的r0-r3四个特权等级来将数据隔离访问,一方面解决了处理器兼容问题(几乎所有Intel AMD处理器均支持这四个特权级别),一方面解决了性能问题。

TEETHER: Gnawing at Ethereum to Automatically Exploit Smart Contracts

作者:Johannes Krupp, Christian Rossow

单位:CISPA, Saarland University

会议:usenix security’18

论文:https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-krupp.pdf

摘要

加密货币被广泛认为是过去几年来最具有颠覆性的技术之一。比特币等加密货币在提供了一个去中心化货币的基础上,往往还提供了程序化处理交易的方式。以太坊作为仅次于比特币的全球第二大加密货币,第一个提出了一门用于描述交易处理的图灵完备语言,实现了智能合约的概念。

本文的研究重点在于针对智能合约的自动化漏洞识别技术以及漏洞利用代码生成技术。文章提出了TEETHER工具,并使用该工具对于现有的以太坊智能合约进行了大规模自动化的漏洞分析工作。

HEAPHOPPER: Bringing Bounded Model Checking to Heap Implementation Security

原文:https://seclab.cs.ucsb.edu/media/uploads/papers/sec2018-heap-hopper.pdf

作者:Moritz Eckert , Antonio Bianchi, Ruoyu Wang, Yan Shoshitaishvili , Christopher Kruegel , and Giovanni Vigna

单位:University of California, Santa Barbara, The University of Iowa, Arizona State University

作者通过使用符号执行技术,自动化分析堆分配器,根据配置文件定义的情况可以自动生成不同exploitation primitive 的POC

overview

背景

当程序逻辑存在漏洞时可以攻击堆分配器拿到程序控制权。为了缓解这些攻击,各大堆分配器都在内部进行了安全检查,然而并没有一个标准能评估加入一个补丁是否能缓解攻击。