25.03.2016 Views

Serial Killer Silently Pwning Your Java Endpoints

OWASPBNL_Java_Deserialization

OWASPBNL_Java_Deserialization

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Exis;ng Mi;ga;on Advice<br />

Simply remove gadget classes from ClassPath<br />

Not feasible given more and more gadgets becoming available<br />

Blacklist & Whitelist based check at ObjectInputStream.resolveClass<br />

Different implementa@ons of this "Lookahead"-Deserializa@on exist:<br />

Use of ObjectInputStream subclass in applica@on’s deserializa@on code<br />

Agent-based (AOP-like) hooking of calls to ObjectInputStream.resolveClass()<br />

Blacklists: Bypasses might exist (in your dependencies or your own code)<br />

Whitelists: Difficult to get right & DoS though JDK standard classes possible<br />

Ad hoc SecurityManager sandboxes during deserializa@on<br />

19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!