首页 > 最新文献

ACM Workshop on Programming Languages and Analysis for Security最新文献

英文 中文
Epistemic temporal logic for information flow security 信息流安全的认知时间逻辑
Pub Date : 2011-06-05 DOI: 10.1145/2166956.2166962
Musard Balliu, M. Dam, Gurvan Le Guernic
Temporal epistemic logic is a well-established framework for expressing agents knowledge and how it evolves over time. Within language-based security these are central issues, for instance in the context of declassification. We propose to bring these two areas together. The paper presents a computational model and an epistemic temporal logic used to reason about knowledge acquired by observing program outputs. This approach is shown to elegantly capture standard notions of noninterference and declassification in the literature as well as information flow properties where sensitive and public data intermingle in delicate ways.
时间认知逻辑是一个完善的框架,用于表达智能体的知识以及它如何随着时间的推移而演变。在基于语言的安全中,这些是核心问题,例如在解密的背景下。我们建议把这两个领域结合起来。本文提出了一种计算模型和一种认知时间逻辑,用于对通过观察程序输出获得的知识进行推理。这种方法被证明可以优雅地捕捉文献中不干扰和解密的标准概念,以及敏感数据和公共数据以微妙的方式混合的信息流属性。
{"title":"Epistemic temporal logic for information flow security","authors":"Musard Balliu, M. Dam, Gurvan Le Guernic","doi":"10.1145/2166956.2166962","DOIUrl":"https://doi.org/10.1145/2166956.2166962","url":null,"abstract":"Temporal epistemic logic is a well-established framework for expressing agents knowledge and how it evolves over time. Within language-based security these are central issues, for instance in the context of declassification. We propose to bring these two areas together. The paper presents a computational model and an epistemic temporal logic used to reason about knowledge acquired by observing program outputs. This approach is shown to elegantly capture standard notions of noninterference and declassification in the literature as well as information flow properties where sensitive and public data intermingle in delicate ways.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115371957","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}
引用次数: 58
Privacy-aware proof-carrying authorization 具有隐私意识的携带证明授权
Pub Date : 2011-06-05 DOI: 10.1145/2166956.2166963
Matteo Maffei, Kim Pecina
Proof-carrying authorization (PCA) is one of the most popular approaches for the enforcement of access control policies. In a nutshell, the idea is to formalize a policy as a set of logical rules and to let the requester construct a formal proof showing that she has permissions to access the desired resource according to the provider's policy. This policy may depend on logical formulas that are assumed by other principals in the system. The validity of these formulas is witnessed by digital signatures. The usage of digital signatures, however, has a serious drawback, i.e., sensitive data are leaked to the verifier, which severely limits the applicability of PCA. In this paper, we introduce the notion of privacy-aware proof-carrying authorization, an extension of PCA based on a powerful combination of digital signatures and zero-knowledge proofs of knowledge of such signatures. The former are used to witness the validity of logical formulas, the latter to selectively hide sensitive data. Our framework supports a variety of privacy properties, such as data secrecy and user anonymity. We conducted an experimental evaluation to demonstrate the feasibility of our approach.
携带证明的授权(PCA)是实施访问控制策略最常用的方法之一。简而言之,其思想是将策略形式化为一组逻辑规则,并让请求者构造一个形式化的证明,表明她具有根据提供者的策略访问所需资源的权限。此策略可能依赖于系统中其他主体所假定的逻辑公式。数字签名证明了这些公式的有效性。然而,数字签名的使用有一个严重的缺点,即敏感数据会泄露给验证者,这严重限制了PCA的适用性。在本文中,我们引入了隐私感知的携带证明授权的概念,这是基于数字签名和此类签名的零知识知识证明的强大组合的PCA的扩展。前者用于证明逻辑公式的有效性,后者用于选择性地隐藏敏感数据。我们的框架支持各种隐私属性,比如数据保密和用户匿名。我们进行了实验评估,以证明我们的方法的可行性。
{"title":"Privacy-aware proof-carrying authorization","authors":"Matteo Maffei, Kim Pecina","doi":"10.1145/2166956.2166963","DOIUrl":"https://doi.org/10.1145/2166956.2166963","url":null,"abstract":"Proof-carrying authorization (PCA) is one of the most popular approaches for the enforcement of access control policies. In a nutshell, the idea is to formalize a policy as a set of logical rules and to let the requester construct a formal proof showing that she has permissions to access the desired resource according to the provider's policy. This policy may depend on logical formulas that are assumed by other principals in the system. The validity of these formulas is witnessed by digital signatures.\u0000 The usage of digital signatures, however, has a serious drawback, i.e., sensitive data are leaked to the verifier, which severely limits the applicability of PCA. In this paper, we introduce the notion of privacy-aware proof-carrying authorization, an extension of PCA based on a powerful combination of digital signatures and zero-knowledge proofs of knowledge of such signatures. The former are used to witness the validity of logical formulas, the latter to selectively hide sensitive data. Our framework supports a variety of privacy properties, such as data secrecy and user anonymity. We conducted an experimental evaluation to demonstrate the feasibility of our approach.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130991040","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}
引用次数: 9
Limiting information leakage in event-based communication 限制基于事件的通信中的信息泄漏
Pub Date : 2011-06-05 DOI: 10.1145/2166956.2166960
Willard Rafnsson, A. Sabelfeld
Event-based communication is a major source of power and flexibility for today's applications. For example, in the context of a web browser, the dynamism of user experience is driven by events: fine-grained interaction of the user with a web application triggers events reactively handled by JavaScript code. This paper explores channels for leaking sensitive information through constructs in a reactive language. We propose a general and realizable security framework for preventing information leaks in a reactive setting with such features as new handler creation and hierarchical event structures. While prior work largely takes an all-or-nothing approach to information flows due to intermediate output, our framework tightly regulates the bandwidth of such flows: at most log(n + 1) bits are allowed to be released, where n is the number of public inputs to the program. We gain flexibility from distinguishing between the security levels of message existence and content. A combination of flow-sensitive analysis and buffering output enables us to enforce security without being overly restrictive.
基于事件的通信是当今应用程序功能和灵活性的主要来源。例如,在web浏览器的上下文中,用户体验的动态性是由事件驱动的:用户与web应用程序的细粒度交互触发由JavaScript代码响应处理的事件。本文探讨了在反应性语言中通过构式泄露敏感信息的渠道。我们提出了一个通用的、可实现的安全框架,以防止在响应设置中的信息泄漏,该框架具有新处理程序创建和分层事件结构等特征。由于中间输出,先前的工作在很大程度上采取了全有或全无的方法来处理信息流,我们的框架严格地调节了这种信息流的带宽:最多允许释放log(n + 1)位,其中n是程序的公共输入的数量。通过区分消息存在和内容的安全级别,我们获得了灵活性。流敏感分析和缓冲输出的组合使我们能够在不过度限制的情况下强制执行安全性。
{"title":"Limiting information leakage in event-based communication","authors":"Willard Rafnsson, A. Sabelfeld","doi":"10.1145/2166956.2166960","DOIUrl":"https://doi.org/10.1145/2166956.2166960","url":null,"abstract":"Event-based communication is a major source of power and flexibility for today's applications. For example, in the context of a web browser, the dynamism of user experience is driven by events: fine-grained interaction of the user with a web application triggers events reactively handled by JavaScript code. This paper explores channels for leaking sensitive information through constructs in a reactive language. We propose a general and realizable security framework for preventing information leaks in a reactive setting with such features as new handler creation and hierarchical event structures. While prior work largely takes an all-or-nothing approach to information flows due to intermediate output, our framework tightly regulates the bandwidth of such flows: at most log(n + 1) bits are allowed to be released, where n is the number of public inputs to the program. We gain flexibility from distinguishing between the security levels of message existence and content. A combination of flow-sensitive analysis and buffering output enables us to enforce security without being overly restrictive.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134083880","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}
引用次数: 19
Differential privacy with information flow control 具有信息流控制的差分隐私
Pub Date : 2011-06-05 DOI: 10.1145/2166956.2166958
Arnar Birgisson, Frank McSherry, M. Abadi
We investigate the integration of two approaches to information security: information flow analysis, in which the dependence between secret inputs and public outputs is tracked through a program, and differential privacy, in which a weak dependence between input and output is permitted but provided only through a relatively small set of known differentially private primitives. We find that information flow for differentially private observations is no harder than dependency tracking. Differential privacy's strong guarantees allow for efficient and accurate dynamic tracking of information flow, allowing the use of existing technology to extend and improve the state of the art for the analysis of differentially private computations.
我们研究了两种信息安全方法的集成:信息流分析,其中秘密输入和公共输出之间的依赖关系通过程序跟踪;差分隐私,其中允许输入和输出之间的弱依赖关系,但仅通过一组相对较小的已知差分私有原语提供。我们发现,不同私有观察的信息流并不比依赖跟踪更难。差分隐私的强大保证允许对信息流进行有效和准确的动态跟踪,允许使用现有技术来扩展和改进差分私有计算分析的艺术状态。
{"title":"Differential privacy with information flow control","authors":"Arnar Birgisson, Frank McSherry, M. Abadi","doi":"10.1145/2166956.2166958","DOIUrl":"https://doi.org/10.1145/2166956.2166958","url":null,"abstract":"We investigate the integration of two approaches to information security: information flow analysis, in which the dependence between secret inputs and public outputs is tracked through a program, and differential privacy, in which a weak dependence between input and output is permitted but provided only through a relatively small set of known differentially private primitives.\u0000 We find that information flow for differentially private observations is no harder than dependency tracking. Differential privacy's strong guarantees allow for efficient and accurate dynamic tracking of information flow, allowing the use of existing technology to extend and improve the state of the art for the analysis of differentially private computations.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131979349","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}
引用次数: 3
Capabilities for information flow 信息流的功能
Pub Date : 2011-06-05 DOI: 10.1145/2166956.2166961
Arnar Birgisson, Alejandro Russo, A. Sabelfeld
This paper presents a capability-based mechanism for permissive yet secure enforcement of information-flow policies. Language capabilities have been studied widely, and several popular implementations, such as Caja and Joe-E, are available. By making the connection from capabilities to information flow, we enable smooth enforcement of information-flow policies using capability systems. The paper presents a transformation that given an arbitrary source program in a simple imperative language produces a secure program in a language with capabilities. We present formal guarantees of security and permissiveness and report on experiments to enforce information-flow policies for web applications using Caja.
本文提出了一种基于能力的机制,用于允许且安全地执行信息流策略。语言功能已经得到了广泛的研究,并且有几种流行的实现,例如Caja和Joe-E。通过将功能与信息流连接起来,我们可以使用功能系统顺利实施信息流策略。本文提出了一种转换方法,即给定一个用简单命令式语言编写的任意源程序,用具有能力的语言生成一个安全的程序。我们提供了正式的安全和许可保证,并报告了使用Caja的web应用程序执行信息流策略的实验。
{"title":"Capabilities for information flow","authors":"Arnar Birgisson, Alejandro Russo, A. Sabelfeld","doi":"10.1145/2166956.2166961","DOIUrl":"https://doi.org/10.1145/2166956.2166961","url":null,"abstract":"This paper presents a capability-based mechanism for permissive yet secure enforcement of information-flow policies. Language capabilities have been studied widely, and several popular implementations, such as Caja and Joe-E, are available. By making the connection from capabilities to information flow, we enable smooth enforcement of information-flow policies using capability systems. The paper presents a transformation that given an arbitrary source program in a simple imperative language produces a secure program in a language with capabilities. We present formal guarantees of security and permissiveness and report on experiments to enforce information-flow policies for web applications using Caja.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132498771","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}
引用次数: 23
The potential of sampling for dynamic analysis 抽样对动态分析的潜力
Pub Date : 2011-06-05 DOI: 10.1145/2166956.2166959
J. Greathouse, T. Austin
This paper presents an argument for distributing dynamic software analyses to large populations of users in order to locate bugs that cause security flaws. We review a collection of dynamic analysis systems and show that, despite a great deal of effort from the research community, their performance is still too low to allow their use in the field. We then show that there are effective sampling mechanisms for accelerating a wide range of powerful dynamic analyses. These mechanisms reduce the rate at which errors are observed by individual analyses, but this loss can be offset by the subsequent increase in test population. Nevertheless, there are unsolved issues in this domain that deserve attention if this technique is to be widely utilized.
本文提出了向大量用户分发动态软件分析的观点,以便找到导致安全缺陷的错误。我们回顾了一组动态分析系统,并表明,尽管研究界付出了巨大的努力,但它们的性能仍然太低,无法在该领域使用。然后,我们表明,有有效的抽样机制,以加速范围广泛的强大的动态分析。这些机制降低了单个分析观察到错误的比率,但是这种损失可以通过随后测试群体的增加来抵消。然而,要使该技术得到广泛应用,在这一领域仍有一些尚未解决的问题值得注意。
{"title":"The potential of sampling for dynamic analysis","authors":"J. Greathouse, T. Austin","doi":"10.1145/2166956.2166959","DOIUrl":"https://doi.org/10.1145/2166956.2166959","url":null,"abstract":"This paper presents an argument for distributing dynamic software analyses to large populations of users in order to locate bugs that cause security flaws. We review a collection of dynamic analysis systems and show that, despite a great deal of effort from the research community, their performance is still too low to allow their use in the field. We then show that there are effective sampling mechanisms for accelerating a wide range of powerful dynamic analyses. These mechanisms reduce the rate at which errors are observed by individual analyses, but this loss can be offset by the subsequent increase in test population. Nevertheless, there are unsolved issues in this domain that deserve attention if this technique is to be widely utilized.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"2014 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132059707","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}
引用次数: 2
Secure information flow analysis for hardware design: using the right abstraction for the job 硬件设计的安全信息流分析:为工作使用正确的抽象
Pub Date : 2010-06-10 DOI: 10.1145/1814217.1814225
Xun Li, Mohit Tiwari, B. Hardekopf, T. Sherwood, F. Chong
Hardware designers need to precisely analyze high-level descriptions for illegal information flows. Language-based information flow analyses can be applied to hardware description languages, but a straight-forward application either conservatively rules out many secure hardware designs, or constrains the designers to work at impractically low levels of abstraction. We demonstrate that choosing the right level of abstraction for the analysis, by working on Finite State Machines instead of the hardware code, allows both precise information flow analysis and high-level programmability.
硬件设计者需要精确地分析非法信息流的高级描述。基于语言的信息流分析可以应用于硬件描述语言,但是直接的应用程序要么保守地排除了许多安全的硬件设计,要么限制设计人员在不切实际的低抽象级别上工作。我们证明,通过使用有限状态机而不是硬件代码,为分析选择正确的抽象级别,可以实现精确的信息流分析和高级可编程性。
{"title":"Secure information flow analysis for hardware design: using the right abstraction for the job","authors":"Xun Li, Mohit Tiwari, B. Hardekopf, T. Sherwood, F. Chong","doi":"10.1145/1814217.1814225","DOIUrl":"https://doi.org/10.1145/1814217.1814225","url":null,"abstract":"Hardware designers need to precisely analyze high-level descriptions for illegal information flows. Language-based information flow analyses can be applied to hardware description languages, but a straight-forward application either conservatively rules out many secure hardware designs, or constrains the designers to work at impractically low levels of abstraction. We demonstrate that choosing the right level of abstraction for the analysis, by working on Finite State Machines instead of the hardware code, allows both precise information flow analysis and high-level programmability.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125533894","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}
引用次数: 13
Efficient, context-sensitive detection of real-world semantic attacks 有效的,上下文敏感的检测现实世界的语义攻击
Pub Date : 2010-06-10 DOI: 10.1145/1814217.1814218
Michael D. Bond, Varun Srivastava, K. McKinley, Vitaly Shmatikov
Software developers are increasingly choosing memory-safe languages. As a result, semantic vulnerabilities---omitted security checks, misconfigured security policies, and other software design errors---are supplanting memory-corruption exploits as the primary cause of security violations. Semantic attacks are difficult to detect because they violate program semantics, rather than language semantics. This paper presents Pecan, a new dynamic anomaly detector. Pecan identifies unusual program behavior using history sensitivity and depth-limited context sensitivity. Prior work on context-sensitive anomaly detection relied on stack-walking, which incurs overheads of 50% to over 200%. By contrast, the average overhead of Pecan is 5%, which is low enough for practical deployment. We evaluate Pecan on four representative real-world attacks from security vulnerability reports. These attacks exploit subtle bugs in Java applications and libraries, using legal program executions that nevertheless violate programmers' expectations. Anomaly detection must balance precision and sensitivity: high sensitivity leads to many benign behaviors appearing anomalous (false positives), while low sensitivity may miss attacks. With application-specific tuning, Pecan efficiently tracks depth-limited context and history and reports few false positives.
软件开发人员越来越多地选择内存安全的语言。因此,语义漏洞——遗漏的安全检查、错误配置的安全策略和其他软件设计错误——正在取代内存破坏漏洞,成为违反安全的主要原因。语义攻击很难检测,因为它们违反的是程序语义,而不是语言语义。本文介绍了一种新的动态异常检测器Pecan。Pecan使用历史敏感性和深度限制的上下文敏感性来识别异常的程序行为。之前的上下文敏感异常检测工作依赖于堆栈遍历,这会导致50%到200%以上的开销。相比之下,Pecan的平均开销为5%,对于实际部署来说已经足够低了。我们从安全漏洞报告中评估了四种具有代表性的真实攻击。这些攻击利用Java应用程序和库中的细微错误,使用合法的程序执行,但违背了程序员的期望。异常检测必须平衡精度和灵敏度,高灵敏度导致许多良性行为出现异常(误报),低灵敏度则可能漏诊攻击。通过特定于应用程序的调优,Pecan可以有效地跟踪深度有限的上下文和历史,并报告很少的误报。
{"title":"Efficient, context-sensitive detection of real-world semantic attacks","authors":"Michael D. Bond, Varun Srivastava, K. McKinley, Vitaly Shmatikov","doi":"10.1145/1814217.1814218","DOIUrl":"https://doi.org/10.1145/1814217.1814218","url":null,"abstract":"Software developers are increasingly choosing memory-safe languages. As a result, semantic vulnerabilities---omitted security checks, misconfigured security policies, and other software design errors---are supplanting memory-corruption exploits as the primary cause of security violations. Semantic attacks are difficult to detect because they violate program semantics, rather than language semantics. This paper presents Pecan, a new dynamic anomaly detector. Pecan identifies unusual program behavior using history sensitivity and depth-limited context sensitivity. Prior work on context-sensitive anomaly detection relied on stack-walking, which incurs overheads of 50% to over 200%. By contrast, the average overhead of Pecan is 5%, which is low enough for practical deployment. We evaluate Pecan on four representative real-world attacks from security vulnerability reports. These attacks exploit subtle bugs in Java applications and libraries, using legal program executions that nevertheless violate programmers' expectations. Anomaly detection must balance precision and sensitivity: high sensitivity leads to many benign behaviors appearing anomalous (false positives), while low sensitivity may miss attacks. With application-specific tuning, Pecan efficiently tracks depth-limited context and history and reports few false positives.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122986602","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}
引用次数: 12
Permissive dynamic information flow analysis 允许动态信息流分析
Pub Date : 2010-06-10 DOI: 10.1145/1814217.1814220
Thomas H. Austin, C. Flanagan
A key challenge in dynamic information flow analysis is handling implicit flows, where code conditional on a private variable updates a public variable x. The naive approach of upgrading x to private results in x being partially leaked, where its value contains private data but its label might remain public on an alternative execution (where the conditional update was not performed). Prior work proposed the no-sensitive-upgrade check, which handles implicit flows by prohibiting partially leaked data, but attempts to update a public variable from a private context causes execution to get stuck. To overcome this limitation, we develop a sound yet flexible permissive-upgrade strategy. To prevent information leaks, partially leaked data is permitted but carefully tracked to ensure that it is never totally leaked. This permissive-upgrade strategy is more flexible than the prior approaches such as the no-sensitive-upgrade check. Under the permissive-upgrade strategy, partially leaked data must be marked as private before being used in a conditional test, thereby ensuring that it is private for both the current execution as well as alternate execution paths. This paper also presents a dynamic analysis technique for inferring these privatization operations and inserting them into the program source code. The combination of these techniques allows more programs to run to completion, while still guaranteeing termination-insensitive non-interference in a purely dynamic manner.
动态信息流分析中的一个关键挑战是处理隐式流,在隐式流中,以私有变量为条件的代码更新公共变量x。将x升级为私有的天真方法会导致x部分泄露,其中它的值包含私有数据,但其标签可能在另一个执行中保持公共(没有执行条件更新)。先前的工作提出了无敏感升级检查,它通过禁止部分泄露的数据来处理隐式流,但试图从私有上下文中更新公共变量会导致执行卡住。为了克服这一限制,我们开发了一个健全而灵活的许可升级策略。为了防止信息泄露,允许部分泄露数据,但要仔细跟踪以确保不会完全泄露。这种允许升级策略比之前的方法(如无敏感升级检查)更加灵活。在permission -upgrade策略下,在条件测试中使用部分泄漏的数据之前,必须将其标记为私有,从而确保它对于当前执行和备用执行路径都是私有的。本文还提出了一种动态分析技术,用于推断这些私有化操作并将其插入程序源代码中。这些技术的组合允许更多的程序运行到完成,同时仍然以纯动态的方式保证对终止不敏感的不干扰。
{"title":"Permissive dynamic information flow analysis","authors":"Thomas H. Austin, C. Flanagan","doi":"10.1145/1814217.1814220","DOIUrl":"https://doi.org/10.1145/1814217.1814220","url":null,"abstract":"A key challenge in dynamic information flow analysis is handling implicit flows, where code conditional on a private variable updates a public variable x. The naive approach of upgrading x to private results in x being partially leaked, where its value contains private data but its label might remain public on an alternative execution (where the conditional update was not performed). Prior work proposed the no-sensitive-upgrade check, which handles implicit flows by prohibiting partially leaked data, but attempts to update a public variable from a private context causes execution to get stuck.\u0000 To overcome this limitation, we develop a sound yet flexible permissive-upgrade strategy. To prevent information leaks, partially leaked data is permitted but carefully tracked to ensure that it is never totally leaked. This permissive-upgrade strategy is more flexible than the prior approaches such as the no-sensitive-upgrade check.\u0000 Under the permissive-upgrade strategy, partially leaked data must be marked as private before being used in a conditional test, thereby ensuring that it is private for both the current execution as well as alternate execution paths. This paper also presents a dynamic analysis technique for inferring these privatization operations and inserting them into the program source code. The combination of these techniques allows more programs to run to completion, while still guaranteeing termination-insensitive non-interference in a purely dynamic manner.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127095971","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}
引用次数: 154
A more precise security type system for dynamic security tests 为动态安全测试提供了更精确的安全类型系统
Pub Date : 2010-06-10 DOI: 10.1145/1814217.1814221
G. Malecha, Stephen Chong
The move toward publically available services that store private information has increased the importance of tracking information flow in applications. For example, network systems that store credit-card transactions and medical records must be assured to maintain the confidentiality and integrity of this information. One way to ensure this is to use a language that supports static reasoning about information flow in the type system. While useful in practice, current type systems for checking information flow are imprecise, unnecessarily rejecting safe programs. This annoys programmers and often results in increased code complexity in order to work around these artificial limitations. In this work, we present a new type system for statically checking information flow properties of imperative programs with exceptions. Our key insight is to propagate a context of exception handlers and check exceptions at the throw point rather than propagating exceptions outward and checking them at the catch sites. We prove that our type system guarantees the standard non-interference condition and that it is strictly more permissive than the existing type system for Jif, a language that extends the Java type system to reason about information flow.
向存储私有信息的公共可用服务的转变增加了在应用程序中跟踪信息流的重要性。例如,存储信用卡交易和医疗记录的网络系统必须保证保持这些信息的机密性和完整性。确保这一点的一种方法是使用一种支持类型系统中信息流静态推理的语言。虽然在实践中有用,但目前用于检查信息流的类型系统是不精确的,不必要地拒绝安全程序。这让程序员很恼火,而且为了绕过这些人为的限制,往往会增加代码的复杂性。在这项工作中,我们提出了一种新的类型的系统,用于静态检查具有异常的命令式程序的信息流属性。我们的关键见解是传播异常处理程序的上下文并在抛出点检查异常,而不是向外传播异常并在捕获点检查异常。我们证明了我们的类型系统保证了标准的互不干扰条件,并且它比Jif(一种扩展Java类型系统来推理信息流的语言)的现有类型系统严格得多。
{"title":"A more precise security type system for dynamic security tests","authors":"G. Malecha, Stephen Chong","doi":"10.1145/1814217.1814221","DOIUrl":"https://doi.org/10.1145/1814217.1814221","url":null,"abstract":"The move toward publically available services that store private information has increased the importance of tracking information flow in applications. For example, network systems that store credit-card transactions and medical records must be assured to maintain the confidentiality and integrity of this information. One way to ensure this is to use a language that supports static reasoning about information flow in the type system. While useful in practice, current type systems for checking information flow are imprecise, unnecessarily rejecting safe programs. This annoys programmers and often results in increased code complexity in order to work around these artificial limitations. In this work, we present a new type system for statically checking information flow properties of imperative programs with exceptions. Our key insight is to propagate a context of exception handlers and check exceptions at the throw point rather than propagating exceptions outward and checking them at the catch sites. We prove that our type system guarantees the standard non-interference condition and that it is strictly more permissive than the existing type system for Jif, a language that extends the Java type system to reason about information flow.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121462358","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}
引用次数: 6
期刊
ACM Workshop on Programming Languages and Analysis for Security
全部 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