~/talk

Generate Parsers! Prevent Exploits!

Talkat MountainWest RubyConf 2014 · 2014-03-20..03-21· [security, ruby]
links:none on file
slides:none on file

Claim: tailored parsers stop exploits by preventing unexpected computation at the input boundary. Implementation: a Ruby schema‑based parser generator called Muskox parser generator uses Ruby metaprogramming to produce a tokenizer plus validator that recognizes JSON tokens, rejects invalid input before creating Ruby objects, and returns structured error info instead of letting malformed input reach app logic. Goal: match the ergonomics of Rails 4's Strong Parameters while replacing early framework parsing; Rails extension is promising but not finished.

AI-written summary · about

  1. 0:00Start
  2. 2:24UNEXPECTED COMPUTATION!
  3. 2:55HOW DOES AN EXPLOIT WORK?
  4. 3:24EXPLOIT ANATOMY
  5. 5:55EXAMPLE: RAILS XML(TYPE=YAML)
  6. 7:32WHAT'S THE REAL PROBLEM HERE?
  7. 7:44NO BAD INPUT ALLOWED!
  8. 8:12LANGUAGE THEORETIC SECURITY
  9. 9:21ARE YOU TALKING ABOUT DECIDABILITY?
  10. 9:37CHAPTER 0: DECIDABILITY
  11. 10:26HALTING PROBLEM
  12. 11:01UNDECIDABLE PROBLEMS EXIST WHAT ABOUT INPUT VALIDATION?
  13. 11:57CHAPTER 1: FORMAL LANGUAGES
  14. 15:38CONTEXT FREE HAS TWO PARTS
  15. 15:51DETERMINISTIC CONTEXT-FREE COMPARING PARSER EQUIVALENCY
  16. 23:31MUSKOX IS A SCHEMA BASED PARSER GENERATOR
  17. 25:00REPLACE STRONG PARAMS
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.