Skip to content

heavyimage/afch_paper

Repository files navigation

Artifact for 'Activation Functions Considered Harmful: Recovering Neural Network Weights through Controlled Channels'

RAID '25

Instructions for MNIST example

  • Setup sgx-step as indicated in README-sgxstep.md
    • You will need SGX-capable hardware
  • build tensorflowlite-micro
    • cd app/nn_param_recovery/Enclave/tflite-micro
    • make -f ./tensorflow/lite/micro/tools/make/Makefile BUILD_TYPE=release
    • You should build './gen/linux_x86_64_release_gcc/lib/libtensorflow-microlite.a'
  • Train the victim model:
    • cd app/nn_param_recovery/models/mnist
    • python3 train_mnist.py
    • python3 test_mnist.py
  • Convert the tf-lite model into its header file representation:
    • cd ../
    • python3 generate_cc_arrays.py . mnist/models/mnist.tflite
  • Start the attack (this will build the victim enclave):
    • cd app/nn_param_recovery/
    • python3 attack.py

Note:

  • The attack will create a .pickle file to checkpoint itself as it works.
  • When all of the convergence points have been found, a table will be printed which should match the table in the paper.

About

Artifact for "activation functions considered harmful"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published