WebSheets:一个新的以隐私为中心的Web应用框架

S. Stoller
{"title":"WebSheets:一个新的以隐私为中心的Web应用框架","authors":"S. Stoller","doi":"10.1145/3589608.3593816","DOIUrl":null,"url":null,"abstract":"Spreadsheets are enormously popular because they enable non-programmers to create applications that manipulate tabular data. The core functionality of many web applications is to display and manipulate tabular data, typically stored in databases. These observations inspired the design of WebSheets, a no-code/low-code web application development framework that provides novel support for security and privacy. The key innovation of WebSheets is that fine-grained, data-driven security policies, as well as application logic, are expressed in the spreadsheet paradigm. This empowers data owners, who are often non-programmers, to directly implement their desired security policies. Each data table in WebSheets is paired with a permission table, which is editable only by the data table's owner. Formulas in a permission table define who can read and write cells in the associated data table. These formulas can easily express role-based, attribute-based and relationship-based access control policies as well as delegation. WebSheets guarantees that these policies are enforced during the entire lifetime of every data item, as it flows through calculations within an application and even when it is passed between applications. While providing global privacy guarantees similar to information flow control systems, WebSheets enables end users to work with the more familiar access control policies. Any user wishing to safeguard their data should store them in tables they own, thereby requiring all web applications to access their data by referencing their tables. This ensures that all applications will respect their access policies in the associated permission tables. By automatically filtering out inaccessible rows and columns, WebSheets presents user-customized views that are the key feature of many web applications. Additional key features of WebSheets include: secure and scalable distributed evaluation techniques that confine WebSheets computations using OS-based access control and sandboxing mechanisms to enforce the principle of least privilege; secure integration with external systems, including web servers, databases, web browsers, user interfaces, and external modules. The benefits of distributed, least-privilege evaluation extend to modules written in any language; policy analysis, including novel techniques to help users understand policies and debug policy errors, and to improve policies over time, either to correct problems or respond to changes in use; and expressive formula language that features first-class tables, seamless integration of access control and input validation, and support for declassification. Web application vulnerabilities have been the dominant cause of data breaches in recent years. As defenses against lower-level vulnerabilities have come to be widely deployed, attackers are targeting higher-level errors. WebSheets addresses the following three common types of higher-level errors. Omitted or incorrectly coded security policies. Key stakeholders in data privacy are typically non-programmers that need to first communicate their security requirements to developers that then implement them. Developers may misunderstand the desired policies or implement simpler, relaxed policies as a result of pressure to deliver required functionality on time. In WebSheets, data owners can directly express desired fine-grained security policies using formulas. Incorrect placement of security checks. Today, policies are enforced mainly by ad-hoc placement of security checks throughout a web application's code. This lack of separation of concerns makes it hard to check whether important security policies are correctly implemented and soundly enforced by complete mediation. In WebSheets, security policies are separated from other application logic and enforced automatically on all data paths. Vulnerabilities that create unintended dataflows. Command and data injection vulnerabilities provide avenues for attackers to create new data flows, allowing data breaches to occur. The underlying problem is that web applications generally execute with a superset of the privileges available to all end users. In contrast, WebSheets by default executes with the privilege of the requesting user. Hence, data inaccessible to that user won't be leaked or corrupted, despite vulnerabilities in the application code or the WebSheets evaluation engine. WebSheets is related to commercial no-code and low-code web application development frameworks for creating mobile apps and web apps centered around interacting with tabular data stored in databases or spreadsheets, such as Google AppSheet and Glide Apps, but they lack WebSheets's key features listed above. This is joint work with R. Sekar. Preliminary work on WebSheets is described in [1,2].","PeriodicalId":124020,"journal":{"name":"Proceedings of the 28th ACM Symposium on Access Control Models and Technologies","volume":"196 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"WebSheets: A New Privacy-Centric Framework for Web Applications\",\"authors\":\"S. Stoller\",\"doi\":\"10.1145/3589608.3593816\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Spreadsheets are enormously popular because they enable non-programmers to create applications that manipulate tabular data. The core functionality of many web applications is to display and manipulate tabular data, typically stored in databases. These observations inspired the design of WebSheets, a no-code/low-code web application development framework that provides novel support for security and privacy. The key innovation of WebSheets is that fine-grained, data-driven security policies, as well as application logic, are expressed in the spreadsheet paradigm. This empowers data owners, who are often non-programmers, to directly implement their desired security policies. Each data table in WebSheets is paired with a permission table, which is editable only by the data table's owner. Formulas in a permission table define who can read and write cells in the associated data table. These formulas can easily express role-based, attribute-based and relationship-based access control policies as well as delegation. WebSheets guarantees that these policies are enforced during the entire lifetime of every data item, as it flows through calculations within an application and even when it is passed between applications. While providing global privacy guarantees similar to information flow control systems, WebSheets enables end users to work with the more familiar access control policies. Any user wishing to safeguard their data should store them in tables they own, thereby requiring all web applications to access their data by referencing their tables. This ensures that all applications will respect their access policies in the associated permission tables. By automatically filtering out inaccessible rows and columns, WebSheets presents user-customized views that are the key feature of many web applications. Additional key features of WebSheets include: secure and scalable distributed evaluation techniques that confine WebSheets computations using OS-based access control and sandboxing mechanisms to enforce the principle of least privilege; secure integration with external systems, including web servers, databases, web browsers, user interfaces, and external modules. The benefits of distributed, least-privilege evaluation extend to modules written in any language; policy analysis, including novel techniques to help users understand policies and debug policy errors, and to improve policies over time, either to correct problems or respond to changes in use; and expressive formula language that features first-class tables, seamless integration of access control and input validation, and support for declassification. Web application vulnerabilities have been the dominant cause of data breaches in recent years. As defenses against lower-level vulnerabilities have come to be widely deployed, attackers are targeting higher-level errors. WebSheets addresses the following three common types of higher-level errors. Omitted or incorrectly coded security policies. Key stakeholders in data privacy are typically non-programmers that need to first communicate their security requirements to developers that then implement them. Developers may misunderstand the desired policies or implement simpler, relaxed policies as a result of pressure to deliver required functionality on time. In WebSheets, data owners can directly express desired fine-grained security policies using formulas. Incorrect placement of security checks. Today, policies are enforced mainly by ad-hoc placement of security checks throughout a web application's code. This lack of separation of concerns makes it hard to check whether important security policies are correctly implemented and soundly enforced by complete mediation. In WebSheets, security policies are separated from other application logic and enforced automatically on all data paths. Vulnerabilities that create unintended dataflows. Command and data injection vulnerabilities provide avenues for attackers to create new data flows, allowing data breaches to occur. The underlying problem is that web applications generally execute with a superset of the privileges available to all end users. In contrast, WebSheets by default executes with the privilege of the requesting user. Hence, data inaccessible to that user won't be leaked or corrupted, despite vulnerabilities in the application code or the WebSheets evaluation engine. WebSheets is related to commercial no-code and low-code web application development frameworks for creating mobile apps and web apps centered around interacting with tabular data stored in databases or spreadsheets, such as Google AppSheet and Glide Apps, but they lack WebSheets's key features listed above. This is joint work with R. Sekar. Preliminary work on WebSheets is described in [1,2].\",\"PeriodicalId\":124020,\"journal\":{\"name\":\"Proceedings of the 28th ACM Symposium on Access Control Models and Technologies\",\"volume\":\"196 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-05-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 28th ACM Symposium on Access Control Models and Technologies\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3589608.3593816\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 28th ACM Symposium on Access Control Models and Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3589608.3593816","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

电子表格非常流行,因为它们使非程序员能够创建操作表格数据的应用程序。许多web应用程序的核心功能是显示和操作表格数据,通常存储在数据库中。这些观察启发了WebSheets的设计,这是一个无代码/低代码的web应用程序开发框架,为安全和隐私提供了新颖的支持。WebSheets的关键创新之处在于,细粒度的、数据驱动的安全策略以及应用程序逻辑都在电子表格范例中表达。这使得数据所有者(通常是非程序员)能够直接实现他们想要的安全策略。WebSheets中的每个数据表都与一个权限表配对,该权限表只能由数据表的所有者编辑。权限表中的公式定义了谁可以读写关联数据表中的单元格。这些公式可以很容易地表示基于角色、基于属性和基于关系的访问控制策略以及委托。WebSheets保证在每个数据项的整个生命周期内执行这些策略,因为它流经应用程序内的计算,甚至当它在应用程序之间传递时。在提供类似于信息流控制系统的全局隐私保证的同时,WebSheets使最终用户能够使用更熟悉的访问控制策略。任何希望保护其数据的用户都应该将其存储在自己的表中,从而要求所有web应用程序通过引用其表来访问其数据。这可确保所有应用程序都遵守关联权限表中的访问策略。通过自动过滤掉不可访问的行和列,WebSheets呈现了用户自定义的视图,这是许多web应用程序的关键特性。WebSheets的其他关键特性包括:安全和可扩展的分布式评估技术,使用基于操作系统的访问控制和沙盒机制来限制WebSheets计算,以强制执行最小特权原则;与外部系统的安全集成,包括web服务器、数据库、web浏览器、用户界面和外部模块。分布式、最低权限计算的好处可以扩展到用任何语言编写的模块;策略分析,包括帮助用户理解策略和调试策略错误的新技术,并随着时间的推移改进策略,以纠正问题或响应使用中的变化;表达式语言具有一流的表,无缝集成访问控制和输入验证,并支持解密。近年来,Web应用程序漏洞一直是导致数据泄露的主要原因。随着针对低级漏洞的防御被广泛部署,攻击者的目标是高级错误。WebSheets解决了以下三种常见的高级错误。省略或错误编码的安全策略。数据隐私的关键利益相关者通常是非程序员,他们需要首先与开发人员沟通他们的安全需求,然后再实现这些需求。由于按时交付所需功能的压力,开发人员可能会误解期望的策略或实现更简单、宽松的策略。在WebSheets中,数据所有者可以使用公式直接表示所需的细粒度安全策略。安全检查的位置不正确。今天,策略主要是通过在web应用程序的代码中临时放置安全检查来实施的。由于缺乏关注点分离,因此很难检查重要的安全策略是否得到了正确的实现,并通过完整的中介得到了合理的执行。在WebSheets中,安全策略与其他应用程序逻辑分离,并在所有数据路径上自动执行。产生意外数据流的漏洞。命令和数据注入漏洞为攻击者提供了创建新数据流的途径,从而导致数据泄露。潜在的问题是,web应用程序通常使用所有最终用户可用的特权的超集来执行。相反,WebSheets在默认情况下以请求用户的权限执行。因此,用户无法访问的数据不会泄露或损坏,尽管应用程序代码或WebSheets评估引擎存在漏洞。WebSheets与商业无代码和低代码web应用程序开发框架有关,用于创建移动应用程序和以与存储在数据库或电子表格中的表格数据交互为中心的web应用程序,如Google AppSheet和Glide apps,但它们缺乏上面列出的WebSheets的关键功能。这是和R. Sekar的合作。关于WebSheets的初步工作在[1,2]中有描述。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
WebSheets: A New Privacy-Centric Framework for Web Applications
Spreadsheets are enormously popular because they enable non-programmers to create applications that manipulate tabular data. The core functionality of many web applications is to display and manipulate tabular data, typically stored in databases. These observations inspired the design of WebSheets, a no-code/low-code web application development framework that provides novel support for security and privacy. The key innovation of WebSheets is that fine-grained, data-driven security policies, as well as application logic, are expressed in the spreadsheet paradigm. This empowers data owners, who are often non-programmers, to directly implement their desired security policies. Each data table in WebSheets is paired with a permission table, which is editable only by the data table's owner. Formulas in a permission table define who can read and write cells in the associated data table. These formulas can easily express role-based, attribute-based and relationship-based access control policies as well as delegation. WebSheets guarantees that these policies are enforced during the entire lifetime of every data item, as it flows through calculations within an application and even when it is passed between applications. While providing global privacy guarantees similar to information flow control systems, WebSheets enables end users to work with the more familiar access control policies. Any user wishing to safeguard their data should store them in tables they own, thereby requiring all web applications to access their data by referencing their tables. This ensures that all applications will respect their access policies in the associated permission tables. By automatically filtering out inaccessible rows and columns, WebSheets presents user-customized views that are the key feature of many web applications. Additional key features of WebSheets include: secure and scalable distributed evaluation techniques that confine WebSheets computations using OS-based access control and sandboxing mechanisms to enforce the principle of least privilege; secure integration with external systems, including web servers, databases, web browsers, user interfaces, and external modules. The benefits of distributed, least-privilege evaluation extend to modules written in any language; policy analysis, including novel techniques to help users understand policies and debug policy errors, and to improve policies over time, either to correct problems or respond to changes in use; and expressive formula language that features first-class tables, seamless integration of access control and input validation, and support for declassification. Web application vulnerabilities have been the dominant cause of data breaches in recent years. As defenses against lower-level vulnerabilities have come to be widely deployed, attackers are targeting higher-level errors. WebSheets addresses the following three common types of higher-level errors. Omitted or incorrectly coded security policies. Key stakeholders in data privacy are typically non-programmers that need to first communicate their security requirements to developers that then implement them. Developers may misunderstand the desired policies or implement simpler, relaxed policies as a result of pressure to deliver required functionality on time. In WebSheets, data owners can directly express desired fine-grained security policies using formulas. Incorrect placement of security checks. Today, policies are enforced mainly by ad-hoc placement of security checks throughout a web application's code. This lack of separation of concerns makes it hard to check whether important security policies are correctly implemented and soundly enforced by complete mediation. In WebSheets, security policies are separated from other application logic and enforced automatically on all data paths. Vulnerabilities that create unintended dataflows. Command and data injection vulnerabilities provide avenues for attackers to create new data flows, allowing data breaches to occur. The underlying problem is that web applications generally execute with a superset of the privileges available to all end users. In contrast, WebSheets by default executes with the privilege of the requesting user. Hence, data inaccessible to that user won't be leaked or corrupted, despite vulnerabilities in the application code or the WebSheets evaluation engine. WebSheets is related to commercial no-code and low-code web application development frameworks for creating mobile apps and web apps centered around interacting with tabular data stored in databases or spreadsheets, such as Google AppSheet and Glide Apps, but they lack WebSheets's key features listed above. This is joint work with R. Sekar. Preliminary work on WebSheets is described in [1,2].
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信