首页 > 最新文献

2020 IEEE Symposium on Security and Privacy (SP)最新文献

英文 中文
Krace: Data Race Fuzzing for Kernel File Systems 内核文件系统的数据竞争模糊分析
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00078
Meng Xu, Sanidhya Kashyap, Hanqing Zhao, Taesoo Kim
Data races occur when two threads fail to use proper synchronization when accessing shared data. In kernel file systems, which are highly concurrent by design, data races are common mistakes and often wreak havoc on the users, causing inconsistent states or data losses. Prior fuzzing practices on file systems have been effective in uncovering hundreds of bugs, but they mostly focus on the sequential aspect of file system execution and do not comprehensively explore the concurrency dimension and hence, forgo the opportunity to catch data races.In this paper, we bring coverage-guided fuzzing to the concurrency dimension with three new constructs: 1) a new coverage tracking metric, alias coverage, specially designed to capture the exploration progress in the concurrency dimension; 2) an evolution algorithm for generating, mutating, and merging multi-threaded syscall sequences as inputs for concurrency fuzzing; and 3) a comprehensive lockset and happens-before modeling for kernel synchronization primitives for precise data race detection. These components are integrated into Krace, an end-to-end fuzzing framework that has discovered 23 data races in ext4, btrfs, and the VFS layer so far, and 9 are confirmed to be harmful.
当两个线程在访问共享数据时未能使用正确的同步时,就会发生数据争用。在设计上是高度并发的内核文件系统中,数据争用是常见的错误,经常对用户造成严重破坏,导致状态不一致或数据丢失。以前对文件系统的模糊测试实践已经有效地发现了数百个错误,但是它们主要关注文件系统执行的顺序方面,而没有全面地探索并发性维度,因此,放弃了捕捉数据竞争的机会。在本文中,我们通过三个新的结构将覆盖引导模糊引入并发维度:1)一个新的覆盖跟踪度量,别名覆盖,专门用于捕获并发维度的勘探进度;2)一种用于生成、变异和合并多线程系统调用序列的进化算法,作为并发模糊的输入;3)一个全面的锁集和事件前内核同步原语建模,用于精确的数据竞争检测。这些组件被集成到Krace中,Krace是一个端到端模糊测试框架,到目前为止,它已经在ext4、btrfs和VFS层中发现了23个数据竞争,其中9个已被确认是有害的。
{"title":"Krace: Data Race Fuzzing for Kernel File Systems","authors":"Meng Xu, Sanidhya Kashyap, Hanqing Zhao, Taesoo Kim","doi":"10.1109/SP40000.2020.00078","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00078","url":null,"abstract":"Data races occur when two threads fail to use proper synchronization when accessing shared data. In kernel file systems, which are highly concurrent by design, data races are common mistakes and often wreak havoc on the users, causing inconsistent states or data losses. Prior fuzzing practices on file systems have been effective in uncovering hundreds of bugs, but they mostly focus on the sequential aspect of file system execution and do not comprehensively explore the concurrency dimension and hence, forgo the opportunity to catch data races.In this paper, we bring coverage-guided fuzzing to the concurrency dimension with three new constructs: 1) a new coverage tracking metric, alias coverage, specially designed to capture the exploration progress in the concurrency dimension; 2) an evolution algorithm for generating, mutating, and merging multi-threaded syscall sequences as inputs for concurrency fuzzing; and 3) a comprehensive lockset and happens-before modeling for kernel synchronization primitives for precise data race detection. These components are integrated into Krace, an end-to-end fuzzing framework that has discovered 23 data races in ext4, btrfs, and the VFS layer so far, and 9 are confirmed to be harmful.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"26 1","pages":"1643-1660"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87925930","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 75
HydRand: Efficient Continuous Distributed Randomness HydRand:高效的连续分布随机性
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00003
Philipp Schindler, Aljosha Judmayer, Nicholas Stifter, E. Weippl
A reliable source of randomness is not only an essential building block in various cryptographic, security, and distributed systems protocols, but also plays an integral part in the design of many new blockchain proposals. Consequently, the topic of publicly-verifiable, bias-resistant and unpredictable randomness has recently enjoyed increased attention. In particular random beacon protocols, aimed at continuous operation, can be a vital component for current Proof-of-Stake based distributed ledger proposals. We improve upon previous random beacon approaches with HydRand, a novel distributed protocol based on publicly-verifiable secret sharing (PVSS) to ensure unpredictability, bias-resistance, and public-verifiability of a continuous sequence of random beacon values. Furthermore, HydRand provides guaranteed output delivery of randomness at regular and predictable intervals in the presence of adversarial behavior and does not rely on a trusted dealer for the initial setup. Compared to existing PVSS based approaches that strive to achieve similar properties, our solution improves scalability by lowering the communication complexity from $mathcal{O}left( {{n^3}} right)$ to $mathcal{O}left( {{n^2}} right)$ . Furthermore, we are the first to present a detailed comparison of recently described schemes and protocols that can be used for implementing random beacons.
可靠的随机性来源不仅是各种加密、安全和分布式系统协议的基本构建块,而且在许多新的区块链建议的设计中也起着不可或缺的作用。因此,可公开验证、抗偏见和不可预测的随机性的话题最近受到了越来越多的关注。特别是针对持续操作的随机信标协议,可以成为当前基于权益证明的分布式账本提案的重要组成部分。我们使用HydRand改进了以前的随机信标方法,HydRand是一种基于可公开验证的秘密共享(PVSS)的新型分布式协议,可确保随机信标值连续序列的不可预测性、抗偏倚性和可公开验证性。此外,在存在对抗行为的情况下,HydRand以定期和可预测的间隔提供保证的随机性输出,并且不依赖于可信任的经销商进行初始设置。与现有的基于PVSS的努力实现类似属性的方法相比,我们的解决方案通过将通信复杂度从$mathcal{O}left({{n^3}} right)$降低到$mathcal{O}left({{n^2}} right)$来提高可扩展性。此外,我们是第一个详细比较最近描述的可用于实现随机信标的方案和协议的人。
{"title":"HydRand: Efficient Continuous Distributed Randomness","authors":"Philipp Schindler, Aljosha Judmayer, Nicholas Stifter, E. Weippl","doi":"10.1109/SP40000.2020.00003","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00003","url":null,"abstract":"A reliable source of randomness is not only an essential building block in various cryptographic, security, and distributed systems protocols, but also plays an integral part in the design of many new blockchain proposals. Consequently, the topic of publicly-verifiable, bias-resistant and unpredictable randomness has recently enjoyed increased attention. In particular random beacon protocols, aimed at continuous operation, can be a vital component for current Proof-of-Stake based distributed ledger proposals. We improve upon previous random beacon approaches with HydRand, a novel distributed protocol based on publicly-verifiable secret sharing (PVSS) to ensure unpredictability, bias-resistance, and public-verifiability of a continuous sequence of random beacon values. Furthermore, HydRand provides guaranteed output delivery of randomness at regular and predictable intervals in the presence of adversarial behavior and does not rely on a trusted dealer for the initial setup. Compared to existing PVSS based approaches that strive to achieve similar properties, our solution improves scalability by lowering the communication complexity from $mathcal{O}left( {{n^3}} right)$ to $mathcal{O}left( {{n^2}} right)$ . Furthermore, we are the first to present a detailed comparison of recently described schemes and protocols that can be used for implementing random beacons.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"714 1","pages":"73-89"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76906405","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 42
Ijon: Exploring Deep State Spaces via Fuzzing Ijon:通过模糊测试探索深层国家空间
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00117
Cornelius Aschermann, Sergej Schumilo, A. Abbasi, Thorsten Holz
Although current fuzz testing (fuzzing) methods are highly effective, there are still many situations such as complex state machines where fully automated approaches fail. State-of-the-art fuzzing methods offer very limited ability for a human to interact and aid the fuzzer in such cases. More specifically, most current approaches are limited to adding a dictionary or new seed inputs to guide the fuzzer. When dealing with complex programs, these mechanisms are unable to uncover new parts of the code base.In this paper, we propose Ijon, an annotation mechanism that a human analyst can use to guide the fuzzer. In contrast to the two aforementioned techniques, this approach allows a more systematic exploration of the program’s behavior based on the data representing the internal state of the program. As a consequence, using only a small (usually one line) annotation, a user can help the fuzzer to solve previously unsolvable challenges. We extended various AFL-based fuzzers with the ability to annotate the source code of the target application with guidance hints. Our evaluation demonstrates that such simple annotations are able to solve problems that—to the best of our knowledge— no other current fuzzer or symbolic execution based tool can overcome. For example, with our extension, a fuzzer is able to play and solve games such as Super Mario Bros. or resolve more complex patterns such as hash map lookups. To further demonstrate the capabilities of our annotations, we use AFL combined with Ijon to uncover both novel security issues and issues that previously required a custom and comprehensive grammar to be uncovered. Lastly, we show that using Ijon and AFL, one can solve many challenges from the CGC data set that resisted all fully automated and human guided attempts so far.
尽管目前的模糊测试(fuzzing)方法非常有效,但仍然存在许多情况,例如完全自动化的方法在复杂的状态机中失败。在这种情况下,最先进的模糊测试方法为人类提供了非常有限的交互能力和帮助模糊测试者的能力。更具体地说,目前大多数方法仅限于添加字典或新的种子输入来引导模糊器。在处理复杂的程序时,这些机制无法发现代码库的新部分。在本文中,我们提出了Ijon,一种人类分析师可以用来指导模糊器的注释机制。与前面提到的两种技术相比,这种方法允许基于表示程序内部状态的数据对程序的行为进行更系统的探索。因此,只需使用一个小的(通常是一行)注释,用户就可以帮助模糊器解决以前无法解决的挑战。我们扩展了各种基于afl的模糊器,使其能够用引导提示注释目标应用程序的源代码。我们的评估表明,据我们所知,这种简单的注释能够解决当前其他基于模糊器或符号执行的工具无法解决的问题。例如,通过我们的扩展,一个fuzzer能够玩和解决游戏,如超级马里奥兄弟,或解决更复杂的模式,如哈希图查找。为了进一步演示注释的功能,我们将AFL与Ijon结合使用,以发现新的安全问题和以前需要定制和全面语法才能发现的问题。最后,我们表明,使用Ijon和AFL,可以解决来自CGC数据集的许多挑战,这些挑战迄今为止抵制了所有全自动和人工引导的尝试。
{"title":"Ijon: Exploring Deep State Spaces via Fuzzing","authors":"Cornelius Aschermann, Sergej Schumilo, A. Abbasi, Thorsten Holz","doi":"10.1109/SP40000.2020.00117","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00117","url":null,"abstract":"Although current fuzz testing (fuzzing) methods are highly effective, there are still many situations such as complex state machines where fully automated approaches fail. State-of-the-art fuzzing methods offer very limited ability for a human to interact and aid the fuzzer in such cases. More specifically, most current approaches are limited to adding a dictionary or new seed inputs to guide the fuzzer. When dealing with complex programs, these mechanisms are unable to uncover new parts of the code base.In this paper, we propose Ijon, an annotation mechanism that a human analyst can use to guide the fuzzer. In contrast to the two aforementioned techniques, this approach allows a more systematic exploration of the program’s behavior based on the data representing the internal state of the program. As a consequence, using only a small (usually one line) annotation, a user can help the fuzzer to solve previously unsolvable challenges. We extended various AFL-based fuzzers with the ability to annotate the source code of the target application with guidance hints. Our evaluation demonstrates that such simple annotations are able to solve problems that—to the best of our knowledge— no other current fuzzer or symbolic execution based tool can overcome. For example, with our extension, a fuzzer is able to play and solve games such as Super Mario Bros. or resolve more complex patterns such as hash map lookups. To further demonstrate the capabilities of our annotations, we use AFL combined with Ijon to uncover both novel security issues and issues that previously required a custom and comprehensive grammar to be uncovered. Lastly, we show that using Ijon and AFL, one can solve many challenges from the CGC data set that resisted all fully automated and human guided attempts so far.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"255 1","pages":"1597-1612"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73123603","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 77
MarkUs: Drop-in use-after-free prevention for low-level languages MarkUs:针对低级语言的免费后使用的插入式预防
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00058
S. Ainsworth, Timothy M. Jones
Use-after-free vulnerabilities have plagued software written in low-level languages, such as C and C++, becoming one of the most frequent classes of exploited software bugs. Attackers identify code paths where data is manually freed by the programmer, but later incorrectly reused, and take advantage by reallocating the data to themselves. They then alter the data behind the program’s back, using the erroneous reuse to gain control of the application and, potentially, the system. While a variety of techniques have been developed to deal with these vulnerabilities, they often have unacceptably high performance or memory overheads, especially in the worst case.We have designed MarkUs, a memory allocator that prevents this form of attack at low overhead, sufficient for deployment in real software, even under allocation- and memory-intensive scenarios. We prevent use-after-free attacks by quarantining data freed by the programmer and forbidding its reallocation until we are sure that there are no dangling pointers targeting it. To identify these we traverse live-objects accessible from registers and memory, marking those we encounter, to check whether quarantined data is accessible from any currently allocated location. Unlike garbage collection, which is unsafe in C and C++, MarkUs ensures safety by only freeing data that is both quarantined by the programmer and has no identifiable dangling pointers. The information provided by the programmer’s allocations and frees further allows us to optimise the process by freeing physical addresses early for large objects, specialising analysis for small objects, and only performing marking when sufficient data is in quarantine. Using MarkUs, we reduce the overheads of temporal safety in low-level languages to 1.1× on average for SPEC CPU2006, with a maximum slowdown of only 2×, vastly improving upon the state-of-the-art.
“免费后使用”漏洞一直困扰着用C和c++等低级语言编写的软件,成为最常被利用的软件漏洞之一。攻击者识别代码路径,其中数据由程序员手动释放,但后来被错误地重用,并通过将数据重新分配给自己来利用。然后,他们在程序背后修改数据,使用错误的重用来获得对应用程序的控制,甚至可能控制系统。虽然已经开发了各种技术来处理这些漏洞,但它们通常具有不可接受的高性能或内存开销,特别是在最坏的情况下。我们设计了MarkUs,这是一个内存分配器,可以在低开销的情况下防止这种形式的攻击,足以在实际软件中部署,即使是在分配和内存密集的情况下。我们通过隔离程序员释放的数据并禁止其重新分配来防止use-after-free攻击,直到我们确定没有悬浮指针针对它。为了识别这些对象,我们遍历可从寄存器和内存访问的活动对象,标记我们遇到的活动对象,以检查是否可以从任何当前分配的位置访问隔离数据。与C和c++中不安全的垃圾收集不同,MarkUs通过仅释放被程序员隔离且没有可识别悬空指针的数据来确保安全性。程序员分配和释放所提供的信息进一步允许我们通过提前释放大对象的物理地址、专门分析小对象以及仅在隔离中有足够数据时执行标记来优化过程。使用MarkUs,我们在SPEC CPU2006中将低级语言的时间安全开销平均降低到1.1倍,最大速度仅为2倍,大大提高了最先进的水平。
{"title":"MarkUs: Drop-in use-after-free prevention for low-level languages","authors":"S. Ainsworth, Timothy M. Jones","doi":"10.1109/SP40000.2020.00058","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00058","url":null,"abstract":"Use-after-free vulnerabilities have plagued software written in low-level languages, such as C and C++, becoming one of the most frequent classes of exploited software bugs. Attackers identify code paths where data is manually freed by the programmer, but later incorrectly reused, and take advantage by reallocating the data to themselves. They then alter the data behind the program’s back, using the erroneous reuse to gain control of the application and, potentially, the system. While a variety of techniques have been developed to deal with these vulnerabilities, they often have unacceptably high performance or memory overheads, especially in the worst case.We have designed MarkUs, a memory allocator that prevents this form of attack at low overhead, sufficient for deployment in real software, even under allocation- and memory-intensive scenarios. We prevent use-after-free attacks by quarantining data freed by the programmer and forbidding its reallocation until we are sure that there are no dangling pointers targeting it. To identify these we traverse live-objects accessible from registers and memory, marking those we encounter, to check whether quarantined data is accessible from any currently allocated location. Unlike garbage collection, which is unsafe in C and C++, MarkUs ensures safety by only freeing data that is both quarantined by the programmer and has no identifiable dangling pointers. The information provided by the programmer’s allocations and frees further allows us to optimise the process by freeing physical addresses early for large objects, specialising analysis for small objects, and only performing marking when sufficient data is in quarantine. Using MarkUs, we reduce the overheads of temporal safety in low-level languages to 1.1× on average for SPEC CPU2006, with a maximum slowdown of only 2×, vastly improving upon the state-of-the-art.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"9 1","pages":"578-591"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76332558","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 25
ZEXE: Enabling Decentralized Private Computation ZEXE:启用去中心化私有计算
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00050
Sean Bowe, A. Chiesa, M. Green, Ian Miers, Pratyush Mishra, Howard Wu
Ledger-based systems that support rich applications often suffer from two limitations. First, validating a transaction requires re-executing the state transition that it attests to. Second, transactions not only reveal which application had a state transition but also reveal the application’s internal state.We design, implement, and evaluate ZEXE, a ledger-based system where users can execute offline computations and subsequently produce transactions, attesting to the correctness of these computations, that satisfy two main properties. First, transactions hide all information about the offline computations. Second, transactions can be validated in constant time by anyone, regardless of the offline computation.The core of ZEXE is a construction for a new cryptographic primitive that we introduce, decentralized private computation (DPC) schemes. In order to achieve an efficient implementation of our construction, we leverage tools in the area of cryptographic proofs, including succinct zero knowledge proofs and recursive proof composition. Overall, transactions in ZEXE are 968 bytes regardless of the offline computation, and generating them takes less than 1min plus a time that grows with the offline computation.We demonstrate how to use ZEXE to realize privacy-preserving analogues of popular applications: private user-defined assets and private decentralized exchanges for these assets.
支持富应用程序的基于分类帐的系统经常受到两个限制。首先,验证事务需要重新执行它所证明的状态转换。其次,事务不仅揭示了哪个应用程序进行了状态转换,还揭示了应用程序的内部状态。我们设计、实现和评估了ZEXE,这是一个基于分类账的系统,用户可以在其中执行离线计算并随后产生交易,证明这些计算的正确性,满足两个主要属性。首先,事务隐藏了所有关于离线计算的信息。其次,任何人都可以在固定时间内验证事务,而不考虑离线计算。ZEXE的核心是一个新的加密原语的结构,我们引入了去中心化私有计算(DPC)方案。为了有效地实现我们的构造,我们利用了加密证明领域的工具,包括简洁的零知识证明和递归证明组合。总的来说,无论脱机计算如何,ZEXE中的事务都是968字节,并且生成它们所需的时间不到1分钟,加上随着脱机计算而增长的时间。我们演示了如何使用ZEXE来实现流行应用程序的隐私保护类似物:私有用户定义的资产和这些资产的私有分散交换。
{"title":"ZEXE: Enabling Decentralized Private Computation","authors":"Sean Bowe, A. Chiesa, M. Green, Ian Miers, Pratyush Mishra, Howard Wu","doi":"10.1109/SP40000.2020.00050","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00050","url":null,"abstract":"Ledger-based systems that support rich applications often suffer from two limitations. First, validating a transaction requires re-executing the state transition that it attests to. Second, transactions not only reveal which application had a state transition but also reveal the application’s internal state.We design, implement, and evaluate ZEXE, a ledger-based system where users can execute offline computations and subsequently produce transactions, attesting to the correctness of these computations, that satisfy two main properties. First, transactions hide all information about the offline computations. Second, transactions can be validated in constant time by anyone, regardless of the offline computation.The core of ZEXE is a construction for a new cryptographic primitive that we introduce, decentralized private computation (DPC) schemes. In order to achieve an efficient implementation of our construction, we leverage tools in the area of cryptographic proofs, including succinct zero knowledge proofs and recursive proof composition. Overall, transactions in ZEXE are 968 bytes regardless of the offline computation, and generating them takes less than 1min plus a time that grows with the offline computation.We demonstrate how to use ZEXE to realize privacy-preserving analogues of popular applications: private user-defined assets and private decentralized exchanges for these assets.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"65 1","pages":"947-964"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78832771","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 167
FlyClient: Super-Light Clients for Cryptocurrencies FlyClient:加密货币的超轻型客户端
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00049
Benedikt Bünz, Lucianna Kiffer, Loi Luu, M. Zamani
To validate transactions, cryptocurrencies such as Bitcoin and Ethereum require nodes to verify that a blockchain is valid. This entails downloading and verifying all blocks, taking hours and requiring gigabytes of bandwidth and storage. Hence, clients with limited resources cannot verify transactions independently without trusting full nodes. Bitcoin and Ethereum offer light clients known as simplified payment verification (SPV) clients, that can verify the chain by downloading only the block headers. Unfortunately, the storage and bandwidth requirements of SPV clients still increase linearly with the chain length. For example, as of July 2019, an SPV client in Ethereum needs to download and store about 4 GB of data.Recently, Kiayias et al. proposed a solution known as noninteractive proofs of proof-of-work (NIPoPoW) that allows a light client to download and store only a polylogarithmic number of block headers in expectation. Unfortunately, NIPoPoWs are succinct only as long as no adversary influences the honest chain, and can only be used in chains with fixed block difficulty, contrary to most cryptocurrencies which adjust block difficulty frequently according to the network hashrate.We introduce FlyClient, a novel transaction verification light client for chains of variable difficulty. FlyClient is efficient both asymptotically and practically and requires downloading only a logarithmic number of block headers while storing only a single block header between executions. Using an optimal probabilistic block sampling protocol and Merkle Mountain Range (MMR) commitments, FlyClient overcomes the limitations of NIPoPoWs and generates shorter proofs over all measured parameters. In Ethereum, FlyClient achieves a synchronization proof size of less than 500 KB which is roughly 6,600x smaller than SPV proofs. We finally discuss how FlyClient can be deployed with minimal changes to the existing cryptocurrencies via an uncontentious velvet fork.
为了验证交易,比特币和以太坊等加密货币需要节点验证区块链是否有效。这需要下载和验证所有块,需要几个小时,需要千兆字节的带宽和存储空间。因此,资源有限的客户端在不信任完整节点的情况下无法独立验证事务。比特币和以太坊提供被称为简化支付验证(SPV)客户端的轻客户端,它可以通过下载区块头来验证链。不幸的是,SPV客户端的存储和带宽需求仍然随着链长度线性增加。例如,截至2019年7月,以太坊的SPV客户端需要下载并存储约4gb的数据。最近,Kiayias等人提出了一种称为非交互式工作量证明(NIPoPoW)的解决方案,该解决方案允许轻客户端下载并存储预期的多对数数量的块头。不幸的是,NIPoPoWs只有在没有对手影响诚实链的情况下才能简洁,并且只能在固定块难度的链中使用,这与大多数根据网络哈希率频繁调整块难度的加密货币相反。介绍了一种新型的可变难度链交易验证轻客户端FlyClient。FlyClient在渐近和实际方面都是高效的,并且只需要下载对数数量的块头,而在执行之间只存储一个块头。使用最优概率块采样协议和Merkle Mountain Range (MMR)承诺,FlyClient克服了NIPoPoWs的限制,并对所有测量参数生成更短的证明。在以太坊中,FlyClient实现了小于500 KB的同步证明大小,大约比SPV证明小6600倍。我们最后讨论了如何通过无争议的天鹅绒分叉对现有加密货币进行最小的更改来部署FlyClient。
{"title":"FlyClient: Super-Light Clients for Cryptocurrencies","authors":"Benedikt Bünz, Lucianna Kiffer, Loi Luu, M. Zamani","doi":"10.1109/SP40000.2020.00049","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00049","url":null,"abstract":"To validate transactions, cryptocurrencies such as Bitcoin and Ethereum require nodes to verify that a blockchain is valid. This entails downloading and verifying all blocks, taking hours and requiring gigabytes of bandwidth and storage. Hence, clients with limited resources cannot verify transactions independently without trusting full nodes. Bitcoin and Ethereum offer light clients known as simplified payment verification (SPV) clients, that can verify the chain by downloading only the block headers. Unfortunately, the storage and bandwidth requirements of SPV clients still increase linearly with the chain length. For example, as of July 2019, an SPV client in Ethereum needs to download and store about 4 GB of data.Recently, Kiayias et al. proposed a solution known as noninteractive proofs of proof-of-work (NIPoPoW) that allows a light client to download and store only a polylogarithmic number of block headers in expectation. Unfortunately, NIPoPoWs are succinct only as long as no adversary influences the honest chain, and can only be used in chains with fixed block difficulty, contrary to most cryptocurrencies which adjust block difficulty frequently according to the network hashrate.We introduce FlyClient, a novel transaction verification light client for chains of variable difficulty. FlyClient is efficient both asymptotically and practically and requires downloading only a logarithmic number of block headers while storing only a single block header between executions. Using an optimal probabilistic block sampling protocol and Merkle Mountain Range (MMR) commitments, FlyClient overcomes the limitations of NIPoPoWs and generates shorter proofs over all measured parameters. In Ethereum, FlyClient achieves a synchronization proof size of less than 500 KB which is roughly 6,600x smaller than SPV proofs. We finally discuss how FlyClient can be deployed with minimal changes to the existing cryptocurrencies via an uncontentious velvet fork.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"51 1","pages":"928-946"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73876156","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 97
Sync HotStuff: Simple and Practical Synchronous State Machine Replication Sync HotStuff:简单实用的同步状态机复制
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00044
Ittai Abraham, D. Malkhi, Kartik Nayak, Ling Ren, Maofan Yin
Synchronous solutions for Byzantine Fault Tolerance (BFT) can tolerate up to minority faults. In this work, we present Sync HotStuff, a surprisingly simple and intuitive synchronous BFT solution that achieves consensus with a latency of 2Δ in the steady state (where Δ is a synchronous message delay upper bound). In addition, Sync HotStuff ensures safety in a weaker synchronous model in which the synchrony assumption does not have to hold for all replicas all the time. Moreover, Sync HotStuff has optimistic responsiveness, i.e., it advances at network speed when less than one-quarter of the replicas are not responding. Borrowing from practical partially synchronous BFT solutions, Sync HotStuff has a two-phase leader-based structure, and has been fully prototyped under the standard synchrony assumption. When tolerating a single fault, Sync HotStuff achieves a throughput of over 280 Kops/sec under typical network performance, which is comparable to the best known partially synchronous solution.
拜占庭容错(BFT)的同步解决方案可以容忍少数错误。在这项工作中,我们提出了Sync HotStuff,这是一个非常简单和直观的同步BFT解决方案,在稳态下以2Δ的延迟达成共识(其中Δ是同步消息延迟的上界)。此外,Sync HotStuff在较弱的同步模型中确保了安全性,在这种模型中,同步假设不必一直适用于所有副本。此外,Sync HotStuff具有乐观的响应性,也就是说,当不到四分之一的副本没有响应时,它会以网络速度前进。Sync HotStuff借鉴了实际的部分同步BFT解决方案,具有基于两相leader的结构,并在标准同步假设下进行了完整的原型设计。当容忍单个故障时,在典型的网络性能下,Sync HotStuff实现了超过280 Kops/sec的吞吐量,这与最著名的部分同步解决方案相当。
{"title":"Sync HotStuff: Simple and Practical Synchronous State Machine Replication","authors":"Ittai Abraham, D. Malkhi, Kartik Nayak, Ling Ren, Maofan Yin","doi":"10.1109/SP40000.2020.00044","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00044","url":null,"abstract":"Synchronous solutions for Byzantine Fault Tolerance (BFT) can tolerate up to minority faults. In this work, we present Sync HotStuff, a surprisingly simple and intuitive synchronous BFT solution that achieves consensus with a latency of 2Δ in the steady state (where Δ is a synchronous message delay upper bound). In addition, Sync HotStuff ensures safety in a weaker synchronous model in which the synchrony assumption does not have to hold for all replicas all the time. Moreover, Sync HotStuff has optimistic responsiveness, i.e., it advances at network speed when less than one-quarter of the replicas are not responding. Borrowing from practical partially synchronous BFT solutions, Sync HotStuff has a two-phase leader-based structure, and has been fully prototyped under the standard synchrony assumption. When tolerating a single fault, Sync HotStuff achieves a throughput of over 280 Kops/sec under typical network performance, which is comparable to the best known partially synchronous solution.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"20 1","pages":"106-118"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90150445","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 131
The Many Kinds of Creepware Used for Interpersonal Attacks 用于人际攻击的各种爬虫
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00069
Kevin A. Roundy, Paula Barmaimon Mendelberg, Nicola Dell, Damon McCoy, Daniel N. Nissani, T. Ristenpart, Acar Tamersoy
Technology increasingly facilitates interpersonal attacks such as stalking, abuse, and other forms of harassment. While prior studies have examined the ecosystem of software designed for stalking, there exists an unstudied, larger landscape of apps—what we call creepware—used for interpersonal attacks. In this paper, we initiate a study of creepware using access to a dataset detailing the mobile apps installed on over 50 million Android devices. We develop a new algorithm, CreepRank, that uses the principle of guilt by association to help surface previously unknown examples of creepware, which we then characterize through a combination of quantitative and qualitative methods. We discovered apps used for harassment, impersonation, fraud, information theft, concealment, and even apps that purport to defend victims against such threats. As a result of our work, the Google Play Store has already removed hundreds of apps for policy violations. More broadly, our findings and techniques improve understanding of the creepware ecosystem, and will inform future efforts that aim to mitigate interpersonal attacks.
科技日益促进人际攻击,如跟踪、虐待和其他形式的骚扰。虽然之前的研究已经调查了为跟踪而设计的软件生态系统,但还存在一个未经研究的、更大范围的应用程序——我们称之为creepware——用于人际攻击。在本文中,我们通过访问一个详细介绍安装在5000多万台Android设备上的移动应用程序的数据集,启动了一项关于creepware的研究。我们开发了一种新的算法,CreepRank,它使用联想内疚的原则来帮助发现以前未知的爬行器例子,然后我们通过定量和定性方法的结合来描述这些例子。我们发现了用于骚扰、冒充、欺诈、信息盗窃、隐瞒的应用程序,甚至还有声称保护受害者免受此类威胁的应用程序。由于我们的努力,Google Play商店已经删除了数百个违反政策的应用程序。更广泛地说,我们的发现和技术提高了对爬行软件生态系统的理解,并将为未来旨在减轻人际攻击的努力提供信息。
{"title":"The Many Kinds of Creepware Used for Interpersonal Attacks","authors":"Kevin A. Roundy, Paula Barmaimon Mendelberg, Nicola Dell, Damon McCoy, Daniel N. Nissani, T. Ristenpart, Acar Tamersoy","doi":"10.1109/SP40000.2020.00069","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00069","url":null,"abstract":"Technology increasingly facilitates interpersonal attacks such as stalking, abuse, and other forms of harassment. While prior studies have examined the ecosystem of software designed for stalking, there exists an unstudied, larger landscape of apps—what we call creepware—used for interpersonal attacks. In this paper, we initiate a study of creepware using access to a dataset detailing the mobile apps installed on over 50 million Android devices. We develop a new algorithm, CreepRank, that uses the principle of guilt by association to help surface previously unknown examples of creepware, which we then characterize through a combination of quantitative and qualitative methods. We discovered apps used for harassment, impersonation, fraud, information theft, concealment, and even apps that purport to defend victims against such threats. As a result of our work, the Google Play Store has already removed hundreds of apps for policy violations. More broadly, our findings and techniques improve understanding of the creepware ecosystem, and will inform future efforts that aim to mitigate interpersonal attacks.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"3 1","pages":"626-643"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87335357","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 27
Transys: Leveraging Common Security Properties Across Hardware Designs Transys:在硬件设计中利用通用安全属性
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00030
Rui Zhang, C. Sturton
This paper presents Transys, a tool for translating security critical properties written for one hardware design to analogous properties suitable for a second design. Transys works in three passes adjusting the variable names, arithmetic expressions, logical preconditions, and timing constraints of the original property to retain the intended semantics of the property while making it valid for the second design. We evaluate Transys by translating 27 assertions written in a temporal logic and 9 properties written for use with gate level information flow tracking across 38 AES designs, 3 RSA designs, and 5 RISC processor designs. Transys successfully translates 96% of the properties. Among these, the translation of 23 (64%) of the properties achieved a semantic equivalence rate of above 60%. The average translation time per property is about 70 seconds.
本文介绍了Transys,一个将为一种硬件设计编写的安全关键属性转换为适用于第二种设计的类似属性的工具。Transys分三次调整变量名、算术表达式、逻辑前提条件和原始属性的时间约束,以保留属性的预期语义,同时使其对第二次设计有效。我们通过翻译用时间逻辑编写的27个断言和9个属性来评估Transys,这些属性用于38种AES设计、3种RSA设计和5种RISC处理器设计的门级信息流跟踪。Transys成功地翻译了96%的属性。其中,23个(64%)属性的翻译达到了60%以上的语义等价率。每个属性的平均翻译时间约为70秒。
{"title":"Transys: Leveraging Common Security Properties Across Hardware Designs","authors":"Rui Zhang, C. Sturton","doi":"10.1109/SP40000.2020.00030","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00030","url":null,"abstract":"This paper presents Transys, a tool for translating security critical properties written for one hardware design to analogous properties suitable for a second design. Transys works in three passes adjusting the variable names, arithmetic expressions, logical preconditions, and timing constraints of the original property to retain the intended semantics of the property while making it valid for the second design. We evaluate Transys by translating 27 assertions written in a temporal logic and 9 properties written for use with gate level information flow tracking across 38 AES designs, 3 RSA designs, and 5 RISC processor designs. Transys successfully translates 96% of the properties. Among these, the translation of 23 (64%) of the properties achieved a semantic equivalence rate of above 60%. The average translation time per property is about 70 seconds.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"37 1","pages":"1713-1727"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86566351","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
High Precision Open-World Website Fingerprinting 高精度开放世界网站指纹识别
Pub Date : 2020-05-01 DOI: 10.1109/SP40000.2020.00015
Tao Wang
Traffic analysis attacks to identify which web page a client is browsing, using only her packet metadata — known as website fingerprinting (WF) — has been proven effective in closed-world experiments against privacy technologies like Tor. We want to investigate their usefulness in the real open world. Several WF attacks claim to have high recall and low false positive rate, but they have only been shown to succeed against high base rate pages. We explicitly incorporate the base rate into precision and call it r-precision. Using this metric, we show that the best previous attacks have poor precision when the base rate is realistically low; we study such a scenario (r = 1000), where the maximum r-precision achieved was only 0.14.To improve r-precision, we propose three novel classes of precision optimizers that can be applied to any classifier to increase precision. For r = 1000, our best optimized classifier can achieve a precision of at least 0.86, representing a precision increase by more than 6 times. For the first time, we show a WF classifier that can scale to any open world set size. We also investigate the use of precise classifiers to tackle realistic objectives in website fingerprinting, including different types of websites, identification of sensitive clients, and defeating website fingerprinting defenses.
流量分析攻击仅利用客户的数据包元数据(即网站指纹(WF))来识别客户正在浏览的网页,这种攻击在针对Tor等隐私技术的封闭世界实验中被证明是有效的。我们想要调查它们在真实的开放世界中的用处。一些WF攻击声称具有高召回率和低误报率,但它们只被证明能够成功攻击高基本率的页面。我们明确地把基本率和精度结合起来,称之为r-精度。使用这个指标,我们发现,当基本率很低时,以前最好的攻击精度很低;我们研究了这样一个场景(r = 1000),其中实现的最大r-precision仅为0.14。为了提高r-precision,我们提出了三种新的精度优化器,它们可以应用于任何分类器以提高精度。当r = 1000时,我们的最佳优化分类器可以达到至少0.86的精度,精度提高了6倍以上。我们首次展示了一个可以扩展到任何开放世界集大小的WF分类器。我们还研究了使用精确分类器来解决网站指纹识别中的现实目标,包括不同类型的网站,敏感客户的识别以及击败网站指纹防御。
{"title":"High Precision Open-World Website Fingerprinting","authors":"Tao Wang","doi":"10.1109/SP40000.2020.00015","DOIUrl":"https://doi.org/10.1109/SP40000.2020.00015","url":null,"abstract":"Traffic analysis attacks to identify which web page a client is browsing, using only her packet metadata — known as website fingerprinting (WF) — has been proven effective in closed-world experiments against privacy technologies like Tor. We want to investigate their usefulness in the real open world. Several WF attacks claim to have high recall and low false positive rate, but they have only been shown to succeed against high base rate pages. We explicitly incorporate the base rate into precision and call it r-precision. Using this metric, we show that the best previous attacks have poor precision when the base rate is realistically low; we study such a scenario (r = 1000), where the maximum r-precision achieved was only 0.14.To improve r-precision, we propose three novel classes of precision optimizers that can be applied to any classifier to increase precision. For r = 1000, our best optimized classifier can achieve a precision of at least 0.86, representing a precision increase by more than 6 times. For the first time, we show a WF classifier that can scale to any open world set size. We also investigate the use of precise classifiers to tackle realistic objectives in website fingerprinting, including different types of websites, identification of sensitive clients, and defeating website fingerprinting defenses.","PeriodicalId":6849,"journal":{"name":"2020 IEEE Symposium on Security and Privacy (SP)","volume":"85 4 1","pages":"152-167"},"PeriodicalIF":0.0,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89341247","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 37
期刊
2020 IEEE Symposium on Security and Privacy (SP)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1