Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

The Android Platform Security Model

作者:René Mayrhofer, Jeffrey Vander Stoep, Chad Brubaker, Nick Kralevich

单位:Google

出处:arXiv

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


文章概述

安卓已经成为终端用户使用最多的系统之一,提供通信、娱乐、金融、健康等服务。其底层的安全模型需要为用户解决大量在复杂的使用场景中产生的安全威胁,同时取得安全、隐私与可用性之间的平衡。尽管安卓整体系统架构、访问控制机制等的底层设计原则都能在一些公开的资料中找到,但安卓的安全模型一直没有正式发表出来。所以在这篇文章中,作者对安卓安全模型进行抽象,并基于对威胁模型、安卓生态环境的定义来分析安卓的安全实现是如何缓解这些具体威胁的。

Up-To-Crash: Evaluating Third-Party Library Updatability on Android

作者:Jie Huang, Nataniel Borges, Sven Bugiel, Michael Backes

单位:CISPA Helmholtz Center for Information Security

出处:EuroS&P’19

原文:https://publications.cispa.saarland/2885/1/up2crash-euros%26p-cr.pdf


Abstract

存在漏洞和缺陷的第三方库不仅增大了App的受攻击面,同时也将用户的隐私暴露在风险之中。App开发人员必须将App中集成的第三方库保持更新至最新版本,以防范这样的风险。最新的研究表明,Android App中普遍存在有过时的第三方库,一种可行的解决方案是在不需要App开发人员帮助的前提下直接替换过时的第三方库至更高版本。但是,所有的这些结论都是基于静态App分析得到的,其只能提供一个粗略的估计。

文章通过分析App的运行时行为对第三方库的可更新性进行了重新评估。作者实现了一个直接替换第三方库至更高版本的更新方案,并对3,000个集成有流行第三方库(三个第三方库的78个版本)的真实App进行了动态测试,以验证此更新方案的可行性。文章还使用了探测增强的动态测试来监控15个App在第三方库更新前后的运行时行为,以深入研究第三方库的可更新性。测试结果表明,已有研究中提出的第三方库的可更新率在实际条件下被高估了1.57至2.06倍,而阻碍直接替换第三方库至更高版本的潜在问题也是错综复杂的,例如弃用的方法,改变的数据结构,以及第三方库之间纠缠的依赖关系。

ERIM: Secure, Efficient In-process Isolation With Memory Protection Keys

作者:Anjo Vahldiek-Oberwagner, Eslam Elnikety, Nuno O. Duarte, Peter Druschel, Deepak Garg

单位:Max Planck Institute for Software Systems (MPI-SWS), Saarland Informatics Campus

出处:USENIX Security 2019

资料:Paper


1. Introduction & Background

隔离敏感数据可以提高许多应用程序的安全性和健壮性。可以保护像Heartbleed案例中密码学密钥不被泄露,保护程序语言的运行时。

在这篇文章里作者介绍了ERIM,可以提供基于MPK的开销比较小的隔离方案,即使权限切换很频繁(每秒100000次切换),ERIM的平均开销仍然是小于1%的。主要的思想是运用Intel MPK机制。ERIM可以很容易应用到新的和已经存在的应用程序,不需要编译器的支持,可以在主干的Linux内核上运行。

Security Namespace: Making Linux Security Frameworks Available to Containers

作者: Yuqiong Sun, David Safford, Mimi Zohar, Dimitrios Pendarakis, Zhongshu Gu and Trent Jaeger

单位: Symantec Research Labs, GE Global Research, IBM Research and Pennsylvania State University

出处: USENIX Security Symposium 2018

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


轻量级虚拟化(即容器)无需使用单独的内核即可为应用程序提供虚拟主机环境,实现更好的资源利用率和效率。但是,共享内核会妨碍容器利用传统VM可用的安全功能,无法应用本地策略来管理完整性度量,代码执行,强制性访问控制等。在本文中,作者提出了一种内核抽象security namespaces,它能使容器自主控制其安全性。作者提出了一种可以向容器动态的分发操作的路由方案,保证由一个容器产生的安全策略不会影响主机或其他容器。最后展示了在Docker上使用针对内核的完整性度量和强制访问控制的security namespace。结果表明,security namespace可以有效地缓解容器内部的安全问题,系统调用的额外消耗小于0.7%,应用程序吞吐量几乎相同。因此,security namespaces的实现可以使容器获得自主控制的能力并且不会破坏主机和其他容器的安全性。

StateDroid: Stateful Detection of Stealthy Attacks in Android Apps

作者:Mohsin Junaid, Jiang Ming, David Kung

单位:University of Texas at Arlington

出处:Annual Computer Security Applications Conference, ACSAC 2018

链接:Paper, Website, Github


Introduction

越来越多的Android恶意软件通过延长生命周期来隐藏自身的恶意行为,这类恶意软件相当长的一段时间内都没有被发现。作者根据对这类软件的分析经验总结出有以下三个特点:

  1. 隐蔽攻击经历多个状态
  2. 状态之间的转换是由一系列攻击动作引起的
  3. 攻击动作通常涉及不同对象上的多个Android API

于是作者设计一个名为StateDroid的双层有限状态机(FSM)模型,用于描述状态转换方面的多步骤隐蔽攻击。StateDroid把Android API和攻击的语义抽象为霍恩子句,然后通过霍恩子句验证自动构建双层FSM模型。作者开发并开源了StateDroid的原型,使用1,505个Google Play应用程序和1,369个恶意应用程序进行了评估,并发现7.5%的Google Play应用程序存在了隐蔽攻击。

Beyond Credential Stuffing: Password Similarity Models Using Neural Networks

作者:Bijeeta Pal [1], Tal Daniely [2], Rahul Chatterjee [1], Thomas Ristenpart [1]

单位:Cornell Tech (康奈尔理工分校) [1], Technion (以色列理工学院) [2]

出处:IEEE Symposium on Security and Privacy (S&P 2018)

原文Beyond Credential Stuffing: Password Similarity Models Using Neural Networks

相关材料会议: S&P 2018个人主页,


一、背景

随着互联网的快速发展,我们的日常活动逐渐的由真实世界转向了虚拟世界(网络世界),互联网的发展是一种必然的趋势,那么,我们在互联网上的活动越来越频繁也是必然结果。互联网世界广阔而又丰富,但它似乎也可以被划分为一个个的小区域(比如:论坛、社区等),进入这些小区域通常需要经过一道门槛,那就是登录界面,在很多论坛中,一般只有注册的用户才能进入并访问论坛里面的资源。因此,我们在网络世界的活动就伴随着一系列的凭据(用户名和密码等)。在不同的网站上有不同的用户名和密码(当然也可以相同),而在有些网站上,可能会涉及到用户的隐私信息(比如淘宝、天猫、12306等),如果我们在不同的网站上使用相同的账户名和密码,就会增加泄露隐私信息的风险(因为攻击者只要从其中一个网站上拿到我们的凭据,那他就可以使用该凭据在其它网站上登录)。并且,目前已经存在某些大型网站的用户信息被泄露的情况,因此,在不同的网站上使用不同的凭据是比较安全的选择。即使我们的凭据在某一个网站上被泄露了,也不影响其它网站上的凭据。

Debloating Software Through Piece-Wise Compilation and Loading

作者:Anh Quach,Aravind Prakash

单位:Lok Yan Air Force Research Laboratory

出处:USENIX Security Symposium 2018

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


现代操作系统极大依赖于动态链接共享库来节省物理内存,当可执行文件加载某个动态库进内存时,无论用到了这个共享库中的多少函数,整个共享库都会被加载进内存。这是一个巨大的安全隐患,没有被使用到的部分通常被用来实施复用攻击,如ret2libc,rop等。这篇论文里,作者提出了一个从编译到装载时的框架来帮助程序将没有用到的共享库部分清零,从而减少安全隐患。

Shaping Program Repair Space With Existing Patches and Similar Code

作者:Jiajun Jiang, Yingfei Xiong, Hongyu Zhang, Qing Gao, Xiangqun Chen

单位:Peking University, The University of Newcastle

出处:The ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) 2018

原文:https://xgdsmileboy.github.io/files/paper/simfix-issta18.pdf


Abstract

本文提出了一种新的自动化程序修复(automatic program repair,APR)技术,该技术同时基于已有的补丁(existing patches)和相似的代码(similar code)来缩小程序修复的搜索空间。一方面,该技术通过分析已有的补丁,得到一组出现频率较高的对于目标代码的抽象修正操作(abstract modifications),形成一个程序修复的抽象空间(abstract space)。另一方面,该技术通过分析在同一项目中相似的代码片段,得到一组对于目标代码的具体修正操作(concrete modifications),形成一个程序修复的具体空间(concrete space)。最后,该技术通过将抽象空间与具体空间求交集,并执行细粒度代码自适应以生成补丁。作者基于上述方案实现了SimFix工具原型,并且在Defects4J数据集上对其进行了评估。结果表明,SimFix成功修复了数据集中的34个bug,其中13个还未曾被现有的技术修复过。

Short Text, Large Effect: Measuring the Impact of User Reviews on Android App Security & Privacy

作者:Duc Cuong Nguyen, Erik Derr, Michael Backes, Sven Bugiel

单位:CISPA Helmholtz Center等

出处:IEEE Symposium on Security and Privacy (S&P) 2019

原文:https://publications.cispa.saarland/2815/1/main_sp.pdf


文章概述

应用市场提供的App评论功能,为开发者与用户的沟通建立起了通道,用户可以及时地向开发者提出反馈。但目前还不清楚用户在多大程度上会使用评论来指出他们对App相关的安全和隐私问题的担心、用户具体担心哪些方面、以及开发者是如何对此类与安全和隐私相关的评论做出反应。在这篇文章中,作者对这些问题进行了研究(第一次),使用NLP技术对Google Play上2583个App的450万条评论进行处理,识别出其中5527个与安全和隐私相关的评论(security- and privacy-related reviews, SPR)。对于与SPR相关的每一App版本,作者使用静态分析的方式提取出评论中提到的App的权限保护功能,并发现60.77%的SPR都可以对应到App中与安全和隐私相关的更新(security- and privacy-related app updates, SPU)。作者通过进一步的分析表明了SPR是预测App隐私相关更新的重要因素,用户评论能够促进App隐私保护的提升,同时大概半数的App隐私相关的更新都与三方库代码有关。