LANGSEC: Language-theoretic Security
"The View from the Tower of Babel"
The Fourth LangSec IEEE S&P Workshop at the IEEE Security & Privacy Symposium 2017 took place in San Jose on May 25, 2017, preceded by LangSec Hackathon. The hackathon featured training in Hammer and Nom parser construction kits, and in their integration with Libfuzzer, by their respective authors.
The Third LangSec IEEE S&P Workshop at the IEEE Security & Privacy Symposium 2016 was held in San Jose on May 26, 2016, keynoted by Doug McIlroy. The keynote, full papers, research reports, and presentation slides are posted at http://spw16.langsec.org/papers.html.
The Second Language-theoretic Security (LangSec) IEEE S&P Workshop at the IEEE Security & Privacy Symposium 2015 took place in San Jose on May 21, 2015, keynoted by Dan Geer. Workshop program and all presented papers and slides are now posted. The text of Dan Geer's keynote is also posted.
The First Language-theoretic Security (LangSec) IEEE S&P Workshop at the IEEE Security & Privacy Symposium 2014 took place in San Jose, May 18, 2014, keynoted by Caspar Bowden and Felix 'FX' Lindner. Workshop program and all presented papers are now posted.
The Language-theoretic approach (LANGSEC) regards the Internet insecurity epidemic as a consequence of ad hoc programming of input handling at all layers of network stacks, and in other kinds of software stacks. LANGSEC posits that the only path to trustworthy software that takes untrusted inputs is treating all valid or expected inputs as a formal language, and the respective input-handling routines as a recognizer for that language. The recognition must be feasible, and the recognizer must match the language in required computation power.
When input handling is done in ad hoc way, the de facto recognizer, i.e. the input recognition and validation code ends up scattered throughout the program, does not match the programmers' assumptions about safety and validity of data, and thus provides ample opportunities for exploitation. Moreover, for complex input languages the problem of full recognition of valid or expected inputs may be UNDECIDABLE, in which case no amount of input-checking code or testing will suffice to secure the program. Many popular protocols and formats fell into this trap, the empirical fact with which security practitioners are all too familiar.
LANGSEC helps draw the boundary between protocols and API designs that can and cannot be secured and implemented securely, and charts a way to building truly trustworthy protocols and systems. A longer summary of LangSec in this USENIX Security BoF hand-out, and in the talks, articles, and papers below.
|LANGSEC in pictures: Occupy Babel!|
How to get on the LANGSEC mailing list: subscribe at https://mail.langsec.org/list/
2011 USENIX ;login:
2012 IEEE S&P Journal:
Vulnerabilities & bugs:
LangSec for ICS/SCADA applications:
Please link to this page as http://langsec.org/.