kth.sePublications
Change search
Link to record
Permanent link

Direct link
Publications (10 of 35) Show all publications
Aghvamipanah, M., Amini, M., Artho, C. & Balliu, M. (2024). Activity Recognition Protection for IoT Trigger-Action Platforms. In: Proceedings - 9th IEEE European Symposium on Security and Privacy, Euro S and P 2024: . Paper presented at 9th IEEE European Symposium on Security and Privacy, Euro S and P 2024, July 8-12, 2024, Vienna, Austria (pp. 600-616). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>Activity Recognition Protection for IoT Trigger-Action Platforms
2024 (English)In: Proceedings - 9th IEEE European Symposium on Security and Privacy, Euro S and P 2024, Institute of Electrical and Electronics Engineers (IEEE) , 2024, p. 600-616Conference paper, Published paper (Refereed)
Abstract [en]

Smart home devices collect and transmit user data to smart home Trigger Action Platforms (TAPs) for processing and executing automation rules. However, this data can also be used to infer user activities or other sensitive information. In this paper, we propose PTAP, a privacy-preserving approach based on adversarial example attacks. PTAP injects targeted perturbations into time-series sensor data, effectively confounding potentially malicious TAP classifiers. Our approach significantly reduces the chance of user activity recognition for a malicious TAP while preserving the essential information for automation rule execution, thus safeguarding TAP utility. We evaluated PTAP using a real-world smart-home dataset and examined its effectiveness in preserving utility through the execution of various IoT applications. Our results demonstrate that PTAP effectively preserves user privacy (reducing the accuracy of a malicious classifier 91 to 6 percent) while maintaining automation rule integrity, providing a practical and effective solution to protect user privacy in smart-home environments.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
Keywords
Activity recognition, Adversarial example, Data perturbation, Data privacy, Smart home, Trigger Action platform
National Category
Computer Sciences Communication Systems Computer Systems
Identifiers
urn:nbn:se:kth:diva-353964 (URN)10.1109/EuroSP60621.2024.00039 (DOI)001304430300031 ()2-s2.0-85203675884 (Scopus ID)
Conference
9th IEEE European Symposium on Security and Privacy, Euro S and P 2024, July 8-12, 2024, Vienna, Austria
Note

Part of ISBN 9798350354256

QC 20241106

Available from: 2024-09-25 Created: 2024-09-25 Last updated: 2024-11-06Bibliographically approved
Ahmadian, A. M., Soloviev, M. & Balliu, M. (2024). Disjunctive Policies for Database-Backed Programs. In: 2024 IEEE 37TH Computer Security Foundations Symposium, CSF 2024: . Paper presented at 37th IEEE Computer Security Foundations Symposium (CSF), JUL 08-12, 2024, Enschede, NETHERLANDS (pp. 388-402). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>Disjunctive Policies for Database-Backed Programs
2024 (English)In: 2024 IEEE 37TH Computer Security Foundations Symposium, CSF 2024, Institute of Electrical and Electronics Engineers (IEEE) , 2024, p. 388-402Conference paper, Published paper (Refereed)
Abstract [en]

When specifying security policies for databases, it is often natural to formulate disjunctive dependencies, where a piece of information may depend on at most one of two dependencies P-1 or P-2, but not both. A formal semantic model of such disjunctive dependencies, the Quantale of Information, was recently introduced by Hunt and Sands as a generalization of the Lattice of Information. In this paper, we seek to contribute to the understanding of disjunctive dependencies in database-backed programs and introduce a practical framework to statically enforce disjunctive security policies. To that end, we introduce the Determinacy Quantale, a new query-based structure which captures the ordering of disjunctive information in databases. This structure can be understood as a query-based counterpart to the Quantale of Information. Based on this structure, we design a sound enforcement mechanism to check disjunctive policies for database-backed programs. This mechanism is based on a type-based analysis for a simple imperative language with database queries, which is precise enough to accommodate a variety of row- and column-level database policies flexibly while keeping track of disjunctions due to control flow. We validate our mechanism by implementing it in a tool, DIVERT, and demonstrate its feasibility on a number of use cases.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
Series
Proceedings IEEE Computer Security Foundations Symposium, ISSN 1940-1434
National Category
Computer Sciences Computer Systems
Identifiers
urn:nbn:se:kth:diva-356018 (URN)10.1109/CSF61375.2024.00017 (DOI)001322679500026 ()2-s2.0-85205942253 (Scopus ID)
Conference
37th IEEE Computer Security Foundations Symposium (CSF), JUL 08-12, 2024, Enschede, NETHERLANDS
Note

Part of ISBN 979-8-3503-6204-6, 979-8-3503-6203-9

QC 20241111

Available from: 2024-11-11 Created: 2024-11-11 Last updated: 2025-02-14Bibliographically approved
Cornelissen, E., Shcherbakov, M. & Balliu, M. (2024). GHunter: Universal Prototype Pollution Gadgets in JavaScript Runtimes. In: Proceedings of the 33rd USENIX Security Symposium: . Paper presented at 33rd USENIX Security Symposium, August 14-16, 2024, Philadelphia, PA, USA. (pp. 3693-3710). USENIX - The Advanced Computing Systems Association
Open this publication in new window or tab >>GHunter: Universal Prototype Pollution Gadgets in JavaScript Runtimes
2024 (English)In: Proceedings of the 33rd USENIX Security Symposium, USENIX - The Advanced Computing Systems Association, 2024, p. 3693-3710Conference paper, Published paper (Refereed)
Abstract [en]

Prototype pollution is a recent vulnerability that affects JavaScript code, leading to high impact attacks such as arbitrary code execution and privilege escalation. The vulnerability is rooted in JavaScript's prototype-based inheritance, enabling attackers to inject arbitrary properties into an object's prototype at runtime. The impact of prototype pollution depends on the existence of otherwise benign pieces of code (gadgets), which inadvertently read from these attacker-controlled properties to execute security-sensitive operations. While prior works primarily study gadgets in third-party libraries and client-side applications, gadgets in JavaScript runtime environments are arguably more impactful as they affect any application that executes on these runtimes.

In this paper we design, implement, and evaluate a pipeline, GHunter, to systematically detect gadgets in V8-based JavaScript runtimes with prime focus on Node.js and Deno. GHunter supports a lightweight dynamic taint analysis to automatically identify gadget candidates which we validate manually to derive proof-of-concept exploits. We implement GHunter by modifying the V8 engine and the targeted runtimes along with features for facilitating manual validation. Driven by the comprehensive test suites of Node.js and Deno, we use GHunter in a systematic study of gadgets in these runtimes. We identified a total of 56 new gadgets in Node.js and 67 gadgets in Deno, pertaining to vulnerabilities such as arbitrary code execution (19), privilege escalation (31), path traversal (13), and more. Moreover, we systematize, for the first time, existing mitigations for prototype pollution and gadgets in terms of development guidelines. We collect a list of vulnerable applications and revisit the fixes through the lens of our guidelines. Through this exercise, we also identified one high-severity CVE leading to remote code execution, which was due to incorrectly fixing a gadget.

Place, publisher, year, edition, pages
USENIX - The Advanced Computing Systems Association, 2024
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:kth:diva-354769 (URN)
Conference
33rd USENIX Security Symposium, August 14-16, 2024, Philadelphia, PA, USA.
Note

QC 20241014

Part of ISBN 978-1-939133-44-1

Available from: 2024-10-13 Created: 2024-10-13 Last updated: 2024-11-26Bibliographically approved
Cornelissen, E., Shcherbakov, M. & Balliu, M. (2024). GHUNTER: Universal Prototype Pollution Gadgets in JavaScript Runtimes. In: PROCEEDINGS OF THE 33RD USENIX SECURITY SYMPOSIUM, SECURITY 2024: . Paper presented at 33rd USENIX Security Symposium, AUG 14-16, 2024, Philadelphia, PA (pp. 3693-3710). USENIX ASSOC
Open this publication in new window or tab >>GHUNTER: Universal Prototype Pollution Gadgets in JavaScript Runtimes
2024 (English)In: PROCEEDINGS OF THE 33RD USENIX SECURITY SYMPOSIUM, SECURITY 2024, USENIX ASSOC , 2024, p. 3693-3710Conference paper, Published paper (Refereed)
Abstract [en]

Prototype pollution is a recent vulnerability that affects JavaScript code, leading to high impact attacks such as arbitrary code execution and privilege escalation. The vulnerability is rooted in JavaScript's prototype-based inheritance, enabling attackers to inject arbitrary properties into an object's prototype at runtime. The impact of prototype pollution depends on the existence of otherwise benign pieces of code (gadgets), which inadvertently read from these attacker-controlled properties to execute security-sensitive operations. While prior works primarily study gadgets in third-party libraries and client-side applications, gadgets in JavaScript runtime environments are arguably more impactful as they affect any application that executes on these runtimes. In this paper we design, implement, and evaluate a pipeline, GHUNTER, to systematically detect gadgets in V8-based JavaScript runtimes with prime focus on Node.js and Deno. GHUNTER supports a lightweight dynamic taint analysis to automatically identify gadget candidates which we validate manually to derive proof-of-concept exploits. We implement GHUNTER by modifying the V8 engine and the targeted runtimes along with features for facilitating manual validation. Driven by the comprehensive test suites of Node.js and Deno, we use GHUNTER in a systematic study of gadgets in these runtimes. We identified a total of 56 new gadgets in Node.js and 67 gadgets in Deno, pertaining to vulnerabilities such as arbitrary code execution (19), privilege escalation (31), path traversal (13), and more. Moreover, we systematize, for the first time, existing mitigations for prototype pollution and gadgets in terms of development guidelines. We collect a list of vulnerable applications and revisit the fixes through the lens of our guidelines. Through this exercise, we also identified one high-severity CVE leading to remote code execution, which was due to incorrectly fixing a gadget.

Place, publisher, year, edition, pages
USENIX ASSOC, 2024
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-360730 (URN)001333860304022 ()
Conference
33rd USENIX Security Symposium, AUG 14-16, 2024, Philadelphia, PA
Note

Part of ISBN 978-1-939133-44-1

QC 20250303

Available from: 2025-03-03 Created: 2025-03-03 Last updated: 2025-03-03Bibliographically approved
Soloviev, M., Balliu, M. & Guanciale, R. (2024). Security Properties through the Lens of Modal Logic. In: 2024 IEEE 37th computer security foundations symposium, CSF 2024: . Paper presented at 37th IEEE Computer Security Foundations Symposium (CSF), JUL 08-12, 2024, Enschede, NETHERLANDS (pp. 340-355). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>Security Properties through the Lens of Modal Logic
2024 (English)In: 2024 IEEE 37th computer security foundations symposium, CSF 2024, Institute of Electrical and Electronics Engineers (IEEE) , 2024, p. 340-355Conference paper, Published paper (Refereed)
Abstract [en]

We introduce a framework for reasoning about the security of computer systems using modal logic. This framework is sufficiently expressive to capture a variety of known security properties, while also being intuitive and independent of syntactic details and enforcement mechanisms. We show how to use our formalism to represent various progress- and termination-(in)sensitive variants of confidentiality, integrity, robust declassification and transparent endorsement, and prove equivalence to standard definitions. The intuitive nature and closeness to semantic reality of our approach allows us to make explicit several hidden assumptions of these definitions, and identify potential issues and subtleties with them, while also holding the promise of formulating cleaner versions and future extension to entirely novel properties.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
Series
Proceedings IEEE Computer Security Foundations Symposium, ISSN 1940-1434
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-356024 (URN)10.1109/CSF61375.2024.00009 (DOI)001322679500023 ()2-s2.0-85205990384 (Scopus ID)
Conference
37th IEEE Computer Security Foundations Symposium (CSF), JUL 08-12, 2024, Enschede, NETHERLANDS
Note

Part of ISBN 979-8-3503-6204-6, 979-8-3503-6203-9

QC 20241111

Available from: 2024-11-11 Created: 2024-11-11 Last updated: 2024-11-11Bibliographically approved
Birgersson, M., Artho, C. & Balliu, M. (2024). Sharing without Showing: Secure Cloud Analytics with Trusted Execution Environments. In: Proceedings - 2024 IEEE Secure Development Conference, SecDev 2024: . Paper presented at 2024 IEEE Secure Development Conference, SecDev 2024, Pittsburgh, United States of America, Oct 7 2024 - Oct 9 2024 (pp. 105-116). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>Sharing without Showing: Secure Cloud Analytics with Trusted Execution Environments
2024 (English)In: Proceedings - 2024 IEEE Secure Development Conference, SecDev 2024, Institute of Electrical and Electronics Engineers (IEEE) , 2024, p. 105-116Conference paper, Published paper (Refereed)
Abstract [en]

Many applications benefit from computations over the data of multiple users while preserving confidentiality. We present a solution where multiple mutually distrusting users' data can be aggregated with an acceptable overhead, while allowing users to be added to the system at any time without re-encrypting data. Our solution to this problem is to use a Trusted Execution Environment (Intel SGX) for the computation, while the confidential data is encrypted with the data owner's key and can be stored anywhere, without trust in the service provider. We do not require the user to be online during the computation phase and do not require a trusted party to store data in plain text. Still, the computation can only be carried out if the data owner explicitly has given permission.Experiments using common functions such as the sum, least square fit, histogram, and SVM classification, exhibit an average overhead of 1.6×. In addition to these performance experiments, we present a use case for computing the distributions of taxis in a city without revealing the position of any other taxi to the other parties.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
Keywords
Confidential computation, Multi-party computation, SGX, Trusted execution platform
National Category
Computer Sciences Other Computer and Information Science Computer Engineering
Identifiers
urn:nbn:se:kth:diva-357693 (URN)10.1109/SecDev61143.2024.00016 (DOI)001348939600011 ()2-s2.0-85210578964 (Scopus ID)
Conference
2024 IEEE Secure Development Conference, SecDev 2024, Pittsburgh, United States of America, Oct 7 2024 - Oct 9 2024
Note

Part of ISBN 979-8-3503-9193-0

QC 20241217

Available from: 2024-12-12 Created: 2024-12-12 Last updated: 2024-12-17Bibliographically approved
Shcherbakov, M., Moosbrugger, P. & Balliu, M. (2024). Unveiling the Invisible: Detection and Evaluation of Prototype Pollution Gadgets with Dynamic Taint Analysis. In: WWW 2024 - Proceedings of the ACM Web Conference: . Paper presented at 33rd ACM Web Conference, WWW 2024, Singapore, Singapore, May 13 2024 - May 17 2024 (pp. 1800-1811). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Unveiling the Invisible: Detection and Evaluation of Prototype Pollution Gadgets with Dynamic Taint Analysis
2024 (English)In: WWW 2024 - Proceedings of the ACM Web Conference, Association for Computing Machinery (ACM) , 2024, p. 1800-1811Conference paper, Published paper (Refereed)
Abstract [en]

Prototype-based languages like JavaScript are susceptible to prototype pollution vulnerabilities, enabling an attacker to inject arbitrary properties into an object's prototype. The attacker can subsequently capitalize on the injected properties by executing otherwise benign pieces of code, so-called gadgets, that perform security-sensitive operations. The success of an attack largely depends on the presence of gadgets, leading to high-profile exploits such as privilege escalation and arbitrary code execution (ACE). This paper proposes Dasty, the first semi-automated pipeline to help developers identify gadgets in their applications' software supply chain. Dasty targets server-side Node.js applications and relies on an enhancement of dynamic taint analysis which we implement with the dynamic AST-level instrumentation. Moreover, Dasty provides support for visualization of code flows with an IDE, thus facilitating the subsequent manual analysis for building proof-of-concept exploits. To illustrate the danger of gadgets, we use Dasty in a study of the most dependent-upon NPM packages to analyze the presence of gadgets leading to ACE. Dasty identifies 1,269 server-side packages, of which 631 have code flows that may reach dangerous sinks. We manually prioritize and verify the candidate flows to build proof-of-concept exploits for 49 NPM packages, including popular packages such as ejs, nodemailer and workerpool. To investigate how Dasty integrates with existing tools to find end-to-end exploits, we conduct an in-depth analysis of a popular data visualization dashboard to find one high-severity CVE-2023-31415 leading to remote code execution.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2024
Keywords
dynamic taint analysis, prototype pollution, web security
National Category
Software Engineering
Identifiers
urn:nbn:se:kth:diva-347332 (URN)10.1145/3589334.3645579 (DOI)2-s2.0-85194055323 (Scopus ID)
Conference
33rd ACM Web Conference, WWW 2024, Singapore, Singapore, May 13 2024 - May 17 2024
Note

QC 20240613

Part of ISBN 979-840070171-9

Available from: 2024-06-10 Created: 2024-06-10 Last updated: 2024-10-14Bibliographically approved
Balliu, M., Baudry, B., Bobadilla, S., Ekstedt, M., Monperrus, M., Ron Arteaga, J., . . . Wittlinger, M. (2023). Challenges of Producing Software Bill of Materials for Java. IEEE Security and Privacy, 21(6), 12-23
Open this publication in new window or tab >>Challenges of Producing Software Bill of Materials for Java
Show others...
2023 (English)In: IEEE Security and Privacy, ISSN 1540-7993, E-ISSN 1558-4046, Vol. 21, no 6, p. 12-23Article in journal (Refereed) Published
Abstract [en]

Software bills of materials (SBOMs) promise to become the backbone of software supply chain hardening. We deep-dive into six tools and the SBOMs they produce for complex open source Java projects, revealing challenges regarding the accurate production and usage of SBOMs.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2023
Keywords
Java, Software, Production, Supply chain management, Standards, Bills of materials, Software reliability
National Category
Software Engineering
Identifiers
urn:nbn:se:kth:diva-343925 (URN)10.1109/MSEC.2023.3302956 (DOI)001107292700005 ()2-s2.0-85170551424 (Scopus ID)
Funder
Swedish Foundation for Strategic Research, CHAINS
Note

QC 20240314

Available from: 2024-03-05 Created: 2024-03-05 Last updated: 2024-03-14Bibliographically approved
Shcherbakov, M., Balliu, M. & Staicu, C.-A. (2023). Silent Spring: Prototype Pollution Leads to Remote Code Execution in Node.js. In: Proceedings Of The 32Nd Usenix Security Symposium: . Paper presented at 32nd USENIX Security Symposium, AUG 09-11, 2023, Anaheim, CA, USA (pp. 5521-5538). USENIX ASSOC
Open this publication in new window or tab >>Silent Spring: Prototype Pollution Leads to Remote Code Execution in Node.js
2023 (English)In: Proceedings Of The 32Nd Usenix Security Symposium, USENIX ASSOC , 2023, p. 5521-5538Conference paper, Published paper (Refereed)
Abstract [en]

Prototype pollution is a dangerous vulnerability affecting prototype-based languages like JavaScript and the Node.js platform. It refers to the ability of an attacker to inject properties into an object's root prototype at runtime and subsequently trigger the execution of legitimate code gadgets that access these properties on the object's prototype, leading to attacks such as Denial of Service (DoS), privilege escalation, and Remote Code Execution (RCE). While there is anecdotal evidence that prototype pollution leads to RCE, current research does not tackle the challenge of gadget detection, thus only showing feasibility of DoS attacks, mainly against Node.js libraries. In this paper, we set out to study the problem in a holistic way, from the detection of prototype pollution to detection of gadgets, with the ambitious goal of finding end-to-end exploits beyond DoS, in full-fledged Node.js applications. We build the first multi-staged framework that uses multilabel static taint analysis to identify prototype pollution in Node.js libraries and applications, as well as a hybrid approach to detect universal gadgets, notably, by analyzing the Node.js source code. We implement our framework on top of GitHub's static analysis framework CodeQL to find 11 universal gadgets in core Node.js APIs, leading to code execution. Furthermore, we use our methodology in a study of 15 popular Node.js applications to identify prototype pollutions and gadgets. We manually exploit eight RCE vulnerabilities in three high-profile applications such as NPM CLI, Parse Server, and Rocket.Chat. Our results provide alarming evidence that prototype pollution in combination with powerful universal gadgets lead to RCE in Node.js.

Place, publisher, year, edition, pages
USENIX ASSOC, 2023
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-342283 (URN)001066451505040 ()2-s2.0-85164832590 (Scopus ID)
Conference
32nd USENIX Security Symposium, AUG 09-11, 2023, Anaheim, CA, USA
Note

Part of ISBN 978-1-939133-37-3

QC 20240124

Available from: 2024-01-24 Created: 2024-01-24 Last updated: 2024-10-14Bibliographically approved
Balliu, M., Baudry, B., Bobadilla, S., Ekstedt, M., Monperrus, M., Ron Arteaga, J., . . . Wittlinger, M. (2023). Software Bill of Materials in Java. In: SCORED 2023 - Proceedings of the 2023 Workshop on Software Supply Chain Offensive Research and Ecosystem Defenses: . Paper presented at 2nd Edition of the ACM Workshop on Software Supply Chain Offensive Research and Ecosystem Defenses, SCORED 2023, Copenhagen, Denmark, Nov 30 2023 (pp. 75-76). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Software Bill of Materials in Java
Show others...
2023 (English)In: SCORED 2023 - Proceedings of the 2023 Workshop on Software Supply Chain Offensive Research and Ecosystem Defenses, Association for Computing Machinery (ACM) , 2023, p. 75-76Conference paper, Published paper (Refereed)
Abstract [en]

Modern software applications are virtually never built entirely in-house. As a matter of fact, they reuse many third-party dependencies, which form the core of their software supply chain [1]. The large number of dependencies in an application has turned into a major challenge for both security and reliability. For example, to compromise a high-value application, malicious actors can choose to attack a less well-guarded dependency of the project [2]. Even when there is no malicious intent, bugs can propagate through the software supply chain and cause breakages in applications. Gathering accurate, upto- date information about all dependencies included in an application is, therefore, of vital importance.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2023
Keywords
sbom, software supply chain
National Category
Computer Sciences Computer Systems
Identifiers
urn:nbn:se:kth:diva-341683 (URN)10.1145/3605770.3625207 (DOI)001123143300012 ()2-s2.0-85180010428 (Scopus ID)
Conference
2nd Edition of the ACM Workshop on Software Supply Chain Offensive Research and Ecosystem Defenses, SCORED 2023, Copenhagen, Denmark, Nov 30 2023
Funder
Swedish Foundation for Strategic Research, chains
Note

Part of proceedings ISBN 9798400702631

QC 20231229

Available from: 2023-12-29 Created: 2023-12-29 Last updated: 2024-09-30Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0001-6005-5992

Search in DiVA

Show all publications