Formal approaches to secure compilation: A survey of fully abstract compilation and related work
Secure compilation is a discipline aimed at develo** compilers that preserve the security
properties of the source programs they take as input in the target programs they produce as …
properties of the source programs they take as input in the target programs they produce as …
Automated verification for secure messaging protocols and their implementations: A symbolic and computational approach
Many popular web applications incorporate end-toend secure messaging protocols, which
seek to ensure that messages sent between users are kept confidential and authenticated …
seek to ensure that messages sent between users are kept confidential and authenticated …
Analysis of JavaScript programs: Challenges and research trends
K Sun, S Ryu - ACM Computing Surveys (CSUR), 2017 - dl.acm.org
JavaScript has been a de facto standard language for client-side web programs, and now it
is expanding its territory to general purpose programs. In this article, we classify the client …
is expanding its territory to general purpose programs. In this article, we classify the client …
Privaricator: Deceiving fingerprinters with little white lies
Researchers have shown that, in recent years, unwanted web tracking is on the rise, with
browser-based fingerprinting being adopted by more and more websites as a viable …
browser-based fingerprinting being adopted by more and more websites as a viable …
KJS: A complete formal semantics of JavaScript
This paper presents KJS, the most complete and throughly tested formal semantics of
JavaScript to date. Being executable, KJS has been tested against the ECMAScript 5.1 …
JavaScript to date. Being executable, KJS has been tested against the ECMAScript 5.1 …
Secure distributed programming with value-dependent types
Distributed applications are difficult to program reliably and securely. Dependently typed
functional languages promise to prevent broad classes of errors and vulnerabilities, and to …
functional languages promise to prevent broad classes of errors and vulnerabilities, and to …
A trusted mechanised JavaScript specification
JavaScript is the most widely used web language for client-side applications. Whilst the
development of JavaScript was initially just led by implementation, there is now increasing …
development of JavaScript was initially just led by implementation, there is now increasing …
Verifying higher-order programs with the Dijkstra monad
Modern programming languages, ranging from Haskell and ML, to JavaScript, C# and Java,
all make extensive use of higher-order state. This paper advocates a new verification …
all make extensive use of higher-order state. This paper advocates a new verification …
Journey beyond full abstraction: Exploring robust property preservation for secure compilation
Good programming languages provide helpful abstractions for writing secure code, but the
security properties of the source language are generally not preserved when compiling a …
security properties of the source language are generally not preserved when compiling a …
Secure compilation to protected module architectures
A fully abstract compiler prevents security features of the source language from being
bypassed by an attacker operating at the target language level. Unfortunately, develo** …
bypassed by an attacker operating at the target language level. Unfortunately, develo** …