A Case Study in Language-Based Security: Building an I/O Library for Wyvern
As the impact of vulnerabilities increases in practice, it is imperative for programming languages to include security as a first-class design consideration. While a number of security-related language features have been proposed to address this need, in many cases, we do not know enough about whether it is practical and useful to build software systems in languages with these features.
In this paper, we begin to investigate this question, using a case study methodology. The setting of our case study is Wyvern, a recently designed language we selected because it incorporates three advanced security-related features: capability safety for enforcing the principle of least privilege, an effect system for tracking the secure use of resources, and a language extension feature that mitigates command injection. In our case study, we built a small standard I/O library, seeking to use the new language features to create a library that is less vulnerable to misuse and can serve as a building block for more secure programs, compared to conventional I/O library designs. Our study suggests that these features are indeed practicable and useful, and thus potentially promising for inclusion in other future language designs. It also sheds light on the value and cost of these features and suggests directions for future research on security-focused language design.
Fri 9 DecDisplayed time zone: Auckland, Wellington change
13:30 - 15:00 | Onward! Papers and EssaysCOVID Time Papers In Person at Seminar Room LG004 Chair(s): Matthew Sotoudeh Stanford University | ||
13:30 30mTalk | A Case Study in Language-Based Security: Building an I/O Library for Wyvern COVID Time Papers In Person Jennifer Fish Carnegie Mellon University, Darya Melicher Google, Jonathan Aldrich Carnegie Mellon University Link to publication DOI | ||
14:00 30mTalk | How (Not) To Write Java Pointer Analyses After 2020 COVID Time Papers In Person Manas Thakur IIT Bombay Link to publication DOI | ||
14:30 30mTalk | Putting the Semantics into Semantic Versioning COVID Time Papers In Person Patrick Lam University of Waterloo, Jens Dietrich Victoria University of Wellington, David J. Pearce ConsenSys Link to publication DOI |