~/talk

Why We Hate Java Serialization And What We're Doing About It

Talkat Devoxx Belgium 2019 · 2019-11-04..11-08· [java, security]
slides:none on file

Java serialization is claimed to break the object model by bypass constructors and reflectively scrape and stuff private final fields, enabling invariant violations, thread-safety breaks, malicious subclass injection, and resurrection via finalizers. The proposed fix is to make serialization explicit in code: use deconstruction/pattern matching for state extraction and constructors or factories for reconstruction, annotated for intent and versioning. This reduces attack surface but makes cycles harder and requires programmers to provide explicit de/serialize members.

AI-written summary · about

  1. 0:00Intro
  2. 0:33Everyone hates serialization
  3. 1:28What's with all the hate?
  4. 3:28The benefits...
  5. 5:43and the costs
  6. 7:08Serialization mechanics
  7. 9:19Casualty: thread safety
  8. 11:05Casualty: initialization mechanics
  9. 12:39Casualty: confinement
  10. 15:18Effective Java, Item 88
  11. 16:43Special bonus attack: finalization
  12. 18:33Serialization scorecard
  13. 19:05Lessons
  14. 20:00Why not "just" use JSON?
  15. 23:03A language designer looks at serialization
  16. 25:23The root problems
  17. 26:29Banishing the magic
  18. 28:37Deserialization is construction
  19. 30:33Digression: pattern matching
  20. 34:25Serialization is deconstruction
  21. 38:01Versioning
  22. 39:49Access control
  23. 41:26Towards better serialization
  24. 43:14The bad news
  25. 44:30The long road ahead
  26. 46:31Summary
~/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.