Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Enclosure: Language-Based Restriction of Untrusted Libraries
 
conference paper

Enclosure: Language-Based Restriction of Untrusted Libraries

Ghosn, Adrien  
•
Kogias, Marios  
•
Payer, Mathias  
Show more
February 15, 2021
Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
ASPLOS 21

Programming languages and systems have failed to address the security implications of the increasingly frequent use of public libraries to construct modern software. Most languages provide tools and online repositories to publish, import, and use libraries; however, this double-edged sword can incorporate a large quantity of unknown, unchecked, and unverified code into an application. The risk is real, as demonstrated by malevolent actors who have repeatedly inserted malware into popular open-source libraries. This paper proposes a solution: enclosures, a new programming language construct for library isolation that provides a developer with fine-grain control over the resources that a library can access, even for libraries with complex inter-library dependencies. The programming abstraction is language-independent and could be added to most languages. These languages would then be able to take advantage of hardware isolation mechanisms that are effective across language boundaries. The enclosure policies are enforced at run time by LitterBox, a language-independent framework that uses hardware mechanisms to provide uniform and robust isolation guarantees, even for libraries written in unsafe languages. LitterBox currently supports both Intel VT-x (with general-purpose extended page tables) and the emerging Intel Memory Protection Keys (MPK). We describe an enclosure implementation for the Go and Python languages. Our evaluation demonstrates that the Go implementation can protect sensitive data in real-world applications constructed using complex untrusted libraries with deep dependencies. It requires minimal code refactoring and incurs acceptable performance overhead. The Python implementation demonstrates LitterBox’s ability to support dynamic languages.

  • Files
  • Details
  • Metrics
Type
conference paper
DOI
10.1145/3445814.3446728
Author(s)
Ghosn, Adrien  
•
Kogias, Marios  
•
Payer, Mathias  
•
Larus, James  
•
Bugnion, Edouard  
Date Issued

2021-02-15

Publisher

ACM

Published in
Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
Total of pages

13

Start page

255

Subjects

Security

•

intra-address space isolation

•

programming languages

•

software packages

Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
DCSL  
HEXHIVE  
VLSC  
Event nameEvent placeEvent date
ASPLOS 21

Virtual Conference

April 19-23, 2021

Available on Infoscience
February 15, 2021
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/175288
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés