HexHive / Crystallizer

A hybrid analysis framework to aid in uncovering deserialization vulnerabilities
Universal Permissive License v1.0
9 stars 1 forks source link

Crystallizer

Crystallizer is a hybrid path analysis framework to aid in uncovering deserialization vulnerabilities. This work is published as part of FSE'23, the whitepaper for which can be found here. The artifact to reproduce the experiments presented in our paper are present in artifact/. Instructions to run a sample campaign and test a new target library are presented below.

Getting started

Setup docker

Acquiring the image

Run instructions

We provide instructions on how to run with a sample library (commons-collections-3.1)

Testing a new library

When testing a new library the same commands as above can be run by just pointing to the new library to be analyzed as shown below. From the host, copy over the target library into targets/ with the format newlibrary/newlibrary.jar. We propose running the sink identification for 1h and the probabilistic concretization module for 24h.

./run_campaigns.sh /root/SeriFuzz/targets/newlibrary/newlibrary.jar 1h 24h

In addition, Crystallizer allows a user to fine-tune which trigger gadgets are taken into consideration when performing its analysis and also customize which classes are analyzed as part of dynamic sink identification.