2007
DOI: 10.1145/1323293.1294265
|View full text |Cite
|
Sign up to set email alerts
|

Secure web applications via automatic partitioning

Abstract: Web applications are now critical infrastructure. To improve the user interface, some application functionality is typically implemented as client-side JavaScript code. Currently there are no good methods for deciding when it is secure to move code and data to the client side. Swift is a new, principled approach to building web applications that are secure by construction. Application code is written as Java-like code annotated with information flow policies. This code is automatically partitioned between Java… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
116
0

Year Published

2009
2009
2016
2016

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 97 publications
(116 citation statements)
references
References 21 publications
0
116
0
Order By: Relevance
“…Several informationflow tools have been developed for mainstream languages, e.g., Java-based Jif [35], Caml-based FlowCaml [46], and Ada-based SPARK Examiner [8], [11], as well as case studies [46], [3], [23], [13], [12], [15], [38]. Informationflow analysis is becoming particularly attractive for web applications (e.g, [13], [12], [49], [30]), where the challenge is to secure the manipulation of secret and public data on both server and client side.…”
Section: Introductionmentioning
confidence: 99%
“…Several informationflow tools have been developed for mainstream languages, e.g., Java-based Jif [35], Caml-based FlowCaml [46], and Ada-based SPARK Examiner [8], [11], as well as case studies [46], [3], [23], [13], [12], [15], [38]. Informationflow analysis is becoming particularly attractive for web applications (e.g, [13], [12], [49], [30]), where the challenge is to secure the manipulation of secret and public data on both server and client side.…”
Section: Introductionmentioning
confidence: 99%
“…For the remaining part of the application, we will first determine: which part of the state is to be kept local and which one to keep global ie, how to partition the remaining application? There are several issues faced in deciding the partitioning [6]- [7].…”
Section: Discussionmentioning
confidence: 99%
“…Generally they accept as input a program written in a Turingcomplete programming language, which can be either imperative [74,15,47,73,83,110,108,25,26,72] or descriptive [97]. The systems outputs can be boolean circuits [74,15,47], source code in a generic programming language [73,110,108,25,26,72], or a running protocol [97]. Some systems [74,15,47,97,73] employed cryptographic primitives to enable secure computation, whereas others [110,108,25,26,72,83] did not.…”
Section: Programming Toolsmentioning
confidence: 99%
“…The systems outputs can be boolean circuits [74,15,47], source code in a generic programming language [73,110,108,25,26,72], or a running protocol [97]. Some systems [74,15,47,97,73] employed cryptographic primitives to enable secure computation, whereas others [110,108,25,26,72,83] did not. Instead, they were designed as tools that use types or annotations to specify security properties and apply various static analysis techniques to ensure the security requirements are met.…”
Section: Programming Toolsmentioning
confidence: 99%
See 1 more Smart Citation