首页 > 最新文献

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

英文 中文
Specifying distributed trust management in LolliMon 在LolliMon中指定分布式信任管理
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134753
Jeff Polakow, C. Skalka
We propose the monadic linear logic programming language LolliMon as a new foundation for the specification of distributed trust management systems, particularly the RT framework. LolliMon possesses features that make it well-suited to this application, including rigorous logical foundations, an expressive formula language, strong typing, and saturation as a proof resolution strategy. We specify certificate chain discovery in full RT for authorization in a distributed environment where certificates may be stored non-locally and selective retrieval is necessary. The uniform LolliMon specification of authorization and certificate chain discovery eases formal reasoning about the system, and scales to a rich collection of trust management features. The executable LolliMon specification also serves as a prototype implementation.
我们提出一元线性逻辑编程语言LolliMon作为分布式信任管理系统规范的新基础,特别是RT框架。LolliMon具有使其非常适合此应用程序的特性,包括严格的逻辑基础、富有表现力的公式语言、强类型和作为证明解决策略的饱和。我们在完全RT中指定证书链发现,以便在分布式环境中进行授权,在这种环境中,证书可能存储在非本地,并且需要选择性检索。统一的授权和证书链发现的LolliMon规范简化了对系统的形式化推理,并扩展到丰富的信任管理特性集合。可执行的LolliMon规范也可以作为原型实现。
{"title":"Specifying distributed trust management in LolliMon","authors":"Jeff Polakow, C. Skalka","doi":"10.1145/1134744.1134753","DOIUrl":"https://doi.org/10.1145/1134744.1134753","url":null,"abstract":"We propose the monadic linear logic programming language LolliMon as a new foundation for the specification of distributed trust management systems, particularly the RT framework. LolliMon possesses features that make it well-suited to this application, including rigorous logical foundations, an expressive formula language, strong typing, and saturation as a proof resolution strategy. We specify certificate chain discovery in full RT for authorization in a distributed environment where certificates may be stored non-locally and selective retrieval is necessary. The uniform LolliMon specification of authorization and certificate chain discovery eases formal reasoning about the system, and scales to a rich collection of trust management features. The executable LolliMon specification also serves as a prototype implementation.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130977222","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
Empirical relation between coupling and attackability in software systems:: a case study on DOS 软件系统中耦合与可攻击性的经验关系:以DOS为例
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134756
M. Y. Liu, I. Traoré
Over the last decades, software quality attributes such as maintainability, reliability, and understandability have been widely studied. In contrast, less attention has been paid to the field of software security. Attackability is a concept proposed recently in the research literature t to measure the extent that a software system or service could be the target of successful attacks. Like most external attributes, attackability is to some extent disconnected from the internal of software products. To improve the quality of software products we need to be able to affect its internal features. So, for attackability measures to be useful for software products enhancement, we need to identify related internal software attributes. We study in this paper the empirical relationship between attackability as an external software quality attribute with coupling as an internal software attribute. Specifically, we use a case study based on denial of service (DOS) attacks conducted against a on line medical record keeping system. Through regression analysis, we establish that there is a strong correlation between attackability and coupling.
在过去的几十年里,诸如可维护性、可靠性和可理解性等软件质量属性得到了广泛的研究。相比之下,软件安全领域受到的关注较少。可攻击性是最近在研究文献中提出的一个概念,用于衡量软件系统或服务可能成为成功攻击目标的程度。像大多数外部属性一样,可攻击性在某种程度上与软件产品的内部是分离的。为了提高软件产品的质量,我们需要能够影响它的内部特性。因此,为了使可攻击性度量对软件产品增强有用,我们需要识别相关的内部软件属性。本文研究了可攻击性作为软件质量的外部属性与耦合性作为软件质量的内部属性之间的经验关系。具体来说,我们使用了一个基于拒绝服务(DOS)攻击的案例研究,该攻击针对在线医疗记录保存系统。通过回归分析,我们证明了可攻击性与耦合之间存在很强的相关性。
{"title":"Empirical relation between coupling and attackability in software systems:: a case study on DOS","authors":"M. Y. Liu, I. Traoré","doi":"10.1145/1134744.1134756","DOIUrl":"https://doi.org/10.1145/1134744.1134756","url":null,"abstract":"Over the last decades, software quality attributes such as maintainability, reliability, and understandability have been widely studied. In contrast, less attention has been paid to the field of software security. Attackability is a concept proposed recently in the research literature t to measure the extent that a software system or service could be the target of successful attacks. Like most external attributes, attackability is to some extent disconnected from the internal of software products. To improve the quality of software products we need to be able to affect its internal features. So, for attackability measures to be useful for software products enhancement, we need to identify related internal software attributes. We study in this paper the empirical relationship between attackability as an external software quality attribute with coupling as an internal software attribute. Specifically, we use a case study based on denial of service (DOS) attacks conducted against a on line medical record keeping system. Through regression analysis, we establish that there is a strong correlation between attackability and coupling.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114334960","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}
引用次数: 29
Combining type-based analysis and model checking for finding counterexamples against non-interference 结合基于类型的分析和模型检查来寻找反例,防止不干扰
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134750
Hiroshi Unno, N. Kobayashi, A. Yonezawa
Type systems for secure information flow are useful for efficiently checking that programs have secure information flow. They are, however, conservative, so that they often reject safe programs as ill-typed. Accordingly, users have to check whether the rejected programs indeed have insecure flows. To remedy this problem, we propose a method for automatically finding a counterexample of secure information flow (input states that actually lead to leakage of secret information). Our method is a novel combination of type-based analysis and model checking; Suspicious execution paths (that may cause insecure information flow) are first found by using the result of a type-based information flow analysis, and then a model checker is used to check whether the paths are indeed unsafe. We have formalized and implemented the method. The result of preliminary experiments shows that our method can often find counterexamples faster than a method using a model checker alone.
安全信息流类型系统用于有效地检查程序是否具有安全的信息流。然而,他们是保守的,所以他们经常拒绝安全程序,认为它是病态的。因此,用户必须检查被拒绝的程序是否确实存在不安全的流。为了解决这个问题,我们提出了一种自动查找安全信息流(实际上导致秘密信息泄漏的输入状态)的反例的方法。我们的方法是基于类型的分析和模型检查的新颖结合;首先使用基于类型的信息流分析的结果发现可疑的执行路径(可能导致不安全的信息流),然后使用模型检查器检查路径是否确实不安全。我们已经形式化并实现了这个方法。初步实验结果表明,我们的方法通常比单独使用模型检查器的方法更快地找到反例。
{"title":"Combining type-based analysis and model checking for finding counterexamples against non-interference","authors":"Hiroshi Unno, N. Kobayashi, A. Yonezawa","doi":"10.1145/1134744.1134750","DOIUrl":"https://doi.org/10.1145/1134744.1134750","url":null,"abstract":"Type systems for secure information flow are useful for efficiently checking that programs have secure information flow. They are, however, conservative, so that they often reject safe programs as ill-typed. Accordingly, users have to check whether the rejected programs indeed have insecure flows. To remedy this problem, we propose a method for automatically finding a counterexample of secure information flow (input states that actually lead to leakage of secret information). Our method is a novel combination of type-based analysis and model checking; Suspicious execution paths (that may cause insecure information flow) are first found by using the result of a type-based information flow analysis, and then a model checker is used to check whether the paths are indeed unsafe. We have formalized and implemented the method. The result of preliminary experiments shows that our method can often find counterexamples faster than a method using a model checker alone.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114422561","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
Efficient type inference for secure information flow 安全信息流的有效类型推断
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134759
Katia Hristova, Tom Rothamel, Yanhong A. Liu, S. Stoller
This paper describes the design, analysis, and implementation of an efficient algorithm for information flow analysis expressed using a type system. Given a program and an environment of security classes for information accessed by the program, the algorithm checks whether the program is well typed, i.e., there is no information of higher security classes flowing into places of lower security classes according to a lattice of security classes, by inferring the highest or lowest security class as appropriate for each program node. We express the analysis as a set of Datalog-like rules based on the typing and subtyping rules, and we use a systematic method to generate specialized algorithms and data structures directly from the Datalog-like rules. The generated implementation traverses the program multiple times and uses a combination of linked and indexed data structures to represent program nodes, environments, and types. The time complexity of the algorithm is linear in the size of the input program, times the height of the lattice of security classes, plus a small overhead for preprocessing the security classes. This complexity is confirmed through our prototype implementation and experimental evaluation on code generated from high-level specifications for real systems.
本文描述了一种用类型系统表达的高效信息流分析算法的设计、分析和实现。给定一个程序和程序所访问的信息的安全类环境,该算法根据安全类格来判断该程序是否类型良好,即是否没有高安全类的信息流入低安全类的地方,并根据每个程序节点推断出合适的最高或最低安全类。我们将分析表达为一组基于类型化和子类型化规则的类datalog规则,并使用系统的方法直接从类datalog规则生成专门的算法和数据结构。生成的实现多次遍历程序,并使用链接和索引数据结构的组合来表示程序节点、环境和类型。该算法的时间复杂度与输入程序的大小成线性关系,乘以安全类格的高度,再加上预处理安全类的小开销。这种复杂性通过我们的原型实现和对真实系统的高级规范生成的代码的实验评估得到了证实。
{"title":"Efficient type inference for secure information flow","authors":"Katia Hristova, Tom Rothamel, Yanhong A. Liu, S. Stoller","doi":"10.1145/1134744.1134759","DOIUrl":"https://doi.org/10.1145/1134744.1134759","url":null,"abstract":"This paper describes the design, analysis, and implementation of an efficient algorithm for information flow analysis expressed using a type system. Given a program and an environment of security classes for information accessed by the program, the algorithm checks whether the program is well typed, i.e., there is no information of higher security classes flowing into places of lower security classes according to a lattice of security classes, by inferring the highest or lowest security class as appropriate for each program node. We express the analysis as a set of Datalog-like rules based on the typing and subtyping rules, and we use a systematic method to generate specialized algorithms and data structures directly from the Datalog-like rules. The generated implementation traverses the program multiple times and uses a combination of linked and indexed data structures to represent program nodes, environments, and types. The time complexity of the algorithm is linear in the size of the input program, times the height of the lattice of security classes, plus a small overhead for preprocessing the security classes. This complexity is confirmed through our prototype implementation and experimental evaluation on code generated from high-level specifications for real systems.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126922411","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}
引用次数: 24
Refactoring programs to secure information flows 重构程序以确保信息流的安全
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134758
Scott F. Smith, M. Thober
Adding a sound information flow security policy to an existing program is a difficult task that requires major analysis of andchanges to the program. In this paper we show how refactoring programs into distinct components of high and low security is a useful methodology to aid in the production of programs with sound information flow policies. Our methodology proceeds as follows. Given a program with no information flow controls, a program sliceris used to identify code that depends on high security inputs. High security code so identified is then refactored into a separate component, which may be accessed by the low security component via public method calls. A security policy that labels input data and checks the output points can then enforce the desired end-to-end security property. Controlled information releases can occur at explicit declassification points if deemed safe. The result is a well-engineered program with explicit interfaces between components of different security levels.
向现有程序添加可靠的信息流安全策略是一项困难的任务,需要对程序进行大量分析和更改。在本文中,我们展示了如何将程序重构为高安全性和低安全性的不同组件,这是一种有用的方法,可以帮助生成具有良好信息流策略的程序。我们的方法如下。给定一个没有信息流控制的程序,程序切片器用于识别依赖于高安全性输入的代码。然后将这样标识的高安全性代码重构到一个单独的组件中,低安全性组件可以通过公共方法调用访问该组件。标记输入数据并检查输出点的安全策略可以强制执行所需的端到端安全属性。如果认为安全,可以在明确的解密点发布受控信息。其结果是一个设计良好的程序,具有不同安全级别的组件之间的显式接口。
{"title":"Refactoring programs to secure information flows","authors":"Scott F. Smith, M. Thober","doi":"10.1145/1134744.1134758","DOIUrl":"https://doi.org/10.1145/1134744.1134758","url":null,"abstract":"Adding a sound information flow security policy to an existing program is a difficult task that requires major analysis of andchanges to the program. In this paper we show how refactoring programs into distinct components of high and low security is a useful methodology to aid in the production of programs with sound information flow policies. Our methodology proceeds as follows. Given a program with no information flow controls, a program sliceris used to identify code that depends on high security inputs. High security code so identified is then refactored into a separate component, which may be accessed by the low security component via public method calls. A security policy that labels input data and checks the output points can then enforce the desired end-to-end security property. Controlled information releases can occur at explicit declassification points if deemed safe. The result is a well-engineered program with explicit interfaces between components of different security levels.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127000562","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}
引用次数: 36
A microkernel virtual machine:: building security with clear interfaces 一个微内核虚拟机::构建安全与清晰的接口
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134754
Xiaoqi Lu, Scott F. Smith
In this paper we propose a novel microkernel-based virtual machine (µKVM), a new code-based security framework with a simple and declarative security architecture. The main design goals of the µKVM are to put a clear, inviolable programming interface between different codebases or security components, and to limit the size of the trusted codebase in the spirit of a microkernel. Security policies are enforced solely on the interface because all data must explicitly pass through the inviolable interface. The architecture of the µKVM effectively removes the need for expensive runtime stack inspection, and applies the principle of least privilege to both library and application code elegantly and efficiently. We have implemented a prototype of the proposed µKVM. A series of benchmarks show that the prototype preserves the original functionality of Java and compares favorably with the J2SDK performance-wise.
在本文中,我们提出了一种新的基于微内核的虚拟机(µKVM),这是一种新的基于代码的安全框架,具有简单的声明式安全架构。µKVM的主要设计目标是在不同的代码库或安全组件之间提供一个清晰、不可侵犯的编程接口,并在微内核的精神下限制可信代码库的大小。安全策略仅在接口上执行,因为所有数据必须显式地通过不可侵犯的接口。KVM的架构有效地消除了昂贵的运行时堆栈检查的需要,并将最小特权原则优雅而高效地应用于库和应用程序代码。我们已经实现了拟议的µKVM的原型。一系列基准测试表明,原型保留了Java的原始功能,并且在性能方面优于J2SDK。
{"title":"A microkernel virtual machine:: building security with clear interfaces","authors":"Xiaoqi Lu, Scott F. Smith","doi":"10.1145/1134744.1134754","DOIUrl":"https://doi.org/10.1145/1134744.1134754","url":null,"abstract":"In this paper we propose a novel microkernel-based virtual machine (µKVM), a new code-based security framework with a simple and declarative security architecture. The main design goals of the µKVM are to put a clear, inviolable programming interface between different codebases or security components, and to limit the size of the trusted codebase in the spirit of a microkernel. Security policies are enforced solely on the interface because all data must explicitly pass through the inviolable interface. The architecture of the µKVM effectively removes the need for expensive runtime stack inspection, and applies the principle of least privilege to both library and application code elegantly and efficiently. We have implemented a prototype of the proposed µKVM. A series of benchmarks show that the prototype preserves the original functionality of Java and compares favorably with the J2SDK performance-wise.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125660800","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
Precise alias analysis for static detection of web application vulnerabilities 精确别名分析静态检测web应用程序漏洞
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134751
N. Jovanović, Christopher Krügel, E. Kirda
The number and the importance of web applications have increased rapidly over the last years. At the same time, the quantity and impact of security vulnerabilities in such applications have grown as well. Since manual code reviews are time-consuming, error-prone and costly, the need for automated solutions has become evident. In this paper, we address the problem of vulnerable web applications by means of static source code analysis. To this end, we present a novel, precise alias analysis targeted at the unique reference semantics commonly found in scripting languages. Moreover, we enhance the quality and quantity of the generated vulnerability reports by employing a novel, iterative two-phase algorithm for fast and precise resolution of file inclusions.We integrated the presented concepts into Pixy~cite{jovanovic06:pixy_short}, a high-precision static analysis tool aimed at detecting cross-site scripting vulnerabilities in PHP scripts. To demonstrate the effectiveness of our techniques, we analyzed three web applications and discovered 106 vulnerabilities. Both the high analysis speed as well as the low number of generated false positives show that our techniques can be used for conducting effective security audits.
web应用程序的数量和重要性在过去几年中迅速增加。与此同时,此类应用程序中安全漏洞的数量和影响也在增长。由于手动代码审查是耗时的、容易出错的和昂贵的,对自动化解决方案的需求已经变得很明显。在本文中,我们通过静态源代码分析来解决web应用程序易受攻击的问题。为此,我们提出了一种新颖、精确的别名分析方法,针对脚本语言中常见的独特引用语义。此外,我们通过采用一种新颖的迭代两阶段算法来快速精确地解决文件包含,从而提高生成漏洞报告的质量和数量。我们将所介绍的概念集成到Pixy cite{jovanovic06:pixy_short}中,这是一个高精度静态分析工具,旨在检测PHP脚本中的跨站点脚本漏洞。为了证明我们技术的有效性,我们分析了三个web应用程序,发现了106个漏洞。高分析速度和低误报数量都表明,我们的技术可以用于进行有效的安全审计。
{"title":"Precise alias analysis for static detection of web application vulnerabilities","authors":"N. Jovanović, Christopher Krügel, E. Kirda","doi":"10.1145/1134744.1134751","DOIUrl":"https://doi.org/10.1145/1134744.1134751","url":null,"abstract":"The number and the importance of web applications have increased rapidly over the last years. At the same time, the quantity and impact of security vulnerabilities in such applications have grown as well. Since manual code reviews are time-consuming, error-prone and costly, the need for automated solutions has become evident. In this paper, we address the problem of vulnerable web applications by means of static source code analysis. To this end, we present a novel, precise alias analysis targeted at the unique reference semantics commonly found in scripting languages. Moreover, we enhance the quality and quantity of the generated vulnerability reports by employing a novel, iterative two-phase algorithm for fast and precise resolution of file inclusions.We integrated the presented concepts into Pixy~cite{jovanovic06:pixy_short}, a high-precision static analysis tool aimed at detecting cross-site scripting vulnerabilities in PHP scripts. To demonstrate the effectiveness of our techniques, we analyzed three web applications and discovered 106 vulnerabilities. Both the high analysis speed as well as the low number of generated false positives show that our techniques can be used for conducting effective security audits.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"261 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116236101","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}
引用次数: 182
Trusted declassification:: high-level policy for a security-typed language 可信解密:安全类型语言的高级策略
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134757
Boniface Hicks, Dave King, P. Mcdaniel, M. Hicks
Security-typed languages promise to be a powerful tool with which provably secure software applications may be developed. Programs written in these languages enforce a strong, global policy of noninterferencewhich ensures that high-security data will not be observable on low-security channels. Because noninterference is typically too strong a property, most programs use some form of declassification to selectively leak high security information, e.g. when performing a password check or data encryption. Unfortunately, such a declassification is often expressed as an operation within a given program, rather than as part of a global policy, making reasoning about the security implications of a policy more difficult.In this paper, we propose a simple idea we call trusted declassification in which special declassifier functions are specified as part of the global policy. In particular, individual principals declaratively specify which declassifiers they trust so that all information flows implied by the policy can be reasoned about in absence of a particular program. We formalize our approach for a Java-like language and prove a modified form of noninterference which we call noninterference modulo trusted methods. We have implemented our approach as an extension to Jif and provide some of our experience using it to build a secure e-mail client.
安全类型语言有望成为一种强大的工具,可以用来开发可靠的安全软件应用程序。用这些语言编写的程序执行一个强大的、全局的不干扰策略,确保高安全性的数据不会在低安全性的通道上被观察到。因为不干扰通常是一个太强的属性,大多数程序使用某种形式的解密来选择性地泄露高安全性信息,例如在执行密码检查或数据加密时。不幸的是,这种解密通常表示为给定程序中的操作,而不是作为全局策略的一部分,这使得对策略的安全含义的推理更加困难。在本文中,我们提出了一个简单的思想,我们称之为可信解密,其中特殊的解密器函数被指定为全局策略的一部分。特别是,各个主体声明性地指定它们信任哪些解密器,以便在没有特定程序的情况下可以对策略隐含的所有信息流进行推理。我们将我们的方法形式化为一种类似java的语言,并证明了一种改进的不干扰形式,我们称之为无干扰模可信方法。我们已经将我们的方法作为Jif的扩展来实现,并提供我们使用它构建安全电子邮件客户机的一些经验。
{"title":"Trusted declassification:: high-level policy for a security-typed language","authors":"Boniface Hicks, Dave King, P. Mcdaniel, M. Hicks","doi":"10.1145/1134744.1134757","DOIUrl":"https://doi.org/10.1145/1134744.1134757","url":null,"abstract":"Security-typed languages promise to be a powerful tool with which provably secure software applications may be developed. Programs written in these languages enforce a strong, global policy of noninterferencewhich ensures that high-security data will not be observable on low-security channels. Because noninterference is typically too strong a property, most programs use some form of declassification to selectively leak high security information, e.g. when performing a password check or data encryption. Unfortunately, such a declassification is often expressed as an operation within a given program, rather than as part of a global policy, making reasoning about the security implications of a policy more difficult.In this paper, we propose a simple idea we call trusted declassification in which special declassifier functions are specified as part of the global policy. In particular, individual principals declaratively specify which declassifiers they trust so that all information flows implied by the policy can be reasoned about in absence of a particular program. We formalize our approach for a Java-like language and prove a modified form of noninterference which we call noninterference modulo trusted methods. We have implemented our approach as an extension to Jif and provide some of our experience using it to build a secure e-mail client.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114672959","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}
引用次数: 51
Certified In-lined Reference Monitoring on .NET .NET上的认证内联引用监控
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134748
Kevin W. Hamlen, J. G. Morrisett, F. Schneider
MOBILE is an extension of the .NET Common Intermediate Language that supports certified In-Lined Reference Monitoring. Mobile programs have the useful property that if they are well-typed with respect to a declared security policy, then they are guaranteed not to violate that security policy when executed. Thus, when an In-Lined Reference Monitor (IRM) is expressed in Mobile, it can be certified by a simple type-checker to eliminate the need to trust the producer of the IRM.Security policies in Mobile are declarative, can involve unbounded collections of objects allocated at runtime, and can regard infinite-length histories of security events exhibited by those objects. The prototype Mobile implementation enforces properties expressed by finite-state security automata - one automaton for each security-relevant object - and can type-check Mobile programs in the presence of exceptions, finalizers, concurrency, and non-termination. Executing Mobile programs requires no change to existing .NET virtual machine implementations, since Mobile programs consist of normal managed CIL code with extra typing annotations stored in .NET attributes.
MOBILE是。net通用中间语言的扩展,支持经过认证的内联引用监控。移动程序有一个有用的属性,如果它们在声明的安全策略方面类型良好,那么它们在执行时就保证不会违反该安全策略。因此,当在Mobile中表示内联引用监视器(IRM)时,可以通过简单的类型检查器对其进行认证,以消除信任IRM生产者的需要。Mobile中的安全策略是声明性的,可以涉及在运行时分配的无界对象集合,并且可以考虑这些对象所显示的安全事件的无限长历史。原型Mobile实现强制执行由有限状态安全自动机表达的属性——每个与安全相关的对象都有一个自动机——并且可以在异常、终结器、并发性和非终止性存在的情况下对Mobile程序进行类型检查。执行移动程序不需要改变现有的。net虚拟机实现,因为移动程序由普通的托管CIL代码和存储在。net属性中的额外类型注释组成。
{"title":"Certified In-lined Reference Monitoring on .NET","authors":"Kevin W. Hamlen, J. G. Morrisett, F. Schneider","doi":"10.1145/1134744.1134748","DOIUrl":"https://doi.org/10.1145/1134744.1134748","url":null,"abstract":"MOBILE is an extension of the .NET Common Intermediate Language that supports certified In-Lined Reference Monitoring. Mobile programs have the useful property that if they are well-typed with respect to a declared security policy, then they are guaranteed not to violate that security policy when executed. Thus, when an In-Lined Reference Monitor (IRM) is expressed in Mobile, it can be certified by a simple type-checker to eliminate the need to trust the producer of the IRM.Security policies in Mobile are declarative, can involve unbounded collections of objects allocated at runtime, and can regard infinite-length histories of security events exhibited by those objects. The prototype Mobile implementation enforces properties expressed by finite-state security automata - one automaton for each security-relevant object - and can type-check Mobile programs in the presence of exceptions, finalizers, concurrency, and non-termination. Executing Mobile programs requires no change to existing .NET virtual machine implementations, since Mobile programs consist of normal managed CIL code with extra typing annotations stored in .NET attributes.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126515191","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}
引用次数: 96
Object capabilities for security 用于安全性的对象功能
Pub Date : 2006-06-10 DOI: 10.1145/1134744.1134745
D. Wagner
Existing systems often do a poor job of meeting the principle of least privilege. I will discuss how object capability systems and language-based methods can help address this shortcoming. In language-based object capability systems, an object reference is treated as a capability; unforgeability of references ensures unforgeability of capabilities; and all privileges are expressed as capabilities in this way. This makes it possible to decompose the system into distrusting "privilege-separated" components, providing each component with the least privilege it needs to do its job; to reason about the privileges and powers available to various program elements, often in a local (modular) way; and to avoid common pitfalls, such as confused deputy and TOCTTOU vulnerabilities. I will attempt to introduce the audience to some work in this area that is perhaps not so widely known, and I will describe some work in progress to construct a subset of Java, called Joe-E, that is intended to enable capability-style programming using a programming syntax that is familiar to Java programmers.
现有制度在满足最小特权原则方面往往做得很差。我将讨论对象能力系统和基于语言的方法如何帮助解决这个缺点。在基于语言的对象能力系统中,对象引用被视为一种能力;引用的不可伪造性保证了能力的不可伪造性;所有特权都以这种方式表示为能力。这使得将系统分解为互不信任的“特权分离”组件成为可能,为每个组件提供完成其工作所需的最少特权;通常以局部(模块化)的方式对各种程序元素可用的特权和权力进行推理;并避免常见的陷阱,例如混淆代理和TOCTTOU漏洞。我将尝试向读者介绍该领域的一些工作,这些工作可能并不广为人知,并且我将描述一些正在进行的工作,以构建一个称为Joe-E的Java子集,该子集旨在使用Java程序员熟悉的编程语法启用功能风格的编程。
{"title":"Object capabilities for security","authors":"D. Wagner","doi":"10.1145/1134744.1134745","DOIUrl":"https://doi.org/10.1145/1134744.1134745","url":null,"abstract":"Existing systems often do a poor job of meeting the principle of least privilege. I will discuss how object capability systems and language-based methods can help address this shortcoming. In language-based object capability systems, an object reference is treated as a capability; unforgeability of references ensures unforgeability of capabilities; and all privileges are expressed as capabilities in this way. This makes it possible to decompose the system into distrusting \"privilege-separated\" components, providing each component with the least privilege it needs to do its job; to reason about the privileges and powers available to various program elements, often in a local (modular) way; and to avoid common pitfalls, such as confused deputy and TOCTTOU vulnerabilities. I will attempt to introduce the audience to some work in this area that is perhaps not so widely known, and I will describe some work in progress to construct a subset of Java, called Joe-E, that is intended to enable capability-style programming using a programming syntax that is familiar to Java programmers.","PeriodicalId":119000,"journal":{"name":"ACM Workshop on Programming Languages and Analysis for Security","volume":"05 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127267729","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}
引用次数: 8
期刊
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