
Datenschutz-Testbibliothek für Deep-Learning-Systeme, die die Bewertung der Anfälligkeit für Membership-Inference-Angriffe, Modellextraktion und Modellinversionsangriffe sowie die Evaluierung datenschutzerhaltender Techniken ermöglicht.

Hinweis: Dieses Projekt befindet sich in einer Pause.
PrivacyRaven ist eine Datenschutz-Testbibliothek für Deep-Learning-Systeme. Sie können damit die Anfälligkeit eines Modells für verschiedene Datenschutzangriffe ermitteln, datenschutzerhaltende Techniken des maschinellen Lernens bewerten, neuartige Datenschutzmetriken und Angriffe entwickeln und Angriffe für Datenherkunft und andere Anwendungsfälle wiederverwenden.
PrivacyRaven unterstützt Label-only-Black-Box-Modellextraktion, Mitgliedschaftsinferenz und (bald) Modellinversionsangriffe. Wir planen außerdem, Verifizierung differentieller Privatsphäre, automatisierte Hyperparameter-Optimierung, weitere Angriffsklassen und andere Funktionen aufzunehmen; siehe die GitHub Issues für weitere Informationen. PrivacyRaven wurde auf der OpenMined Privacy Conference, bei Empire Hacking und im Trail of Bits Blog vorgestellt.
Deep-Learning-Systeme, insbesondere neuronale Netze, haben sich in einer Vielzahl von Anwendungen verbreitet, darunter auch datenschutzsensible Anwendungsfälle wie Gesichtserkennung und medizinische Diagnosen. Diese Modelle sind jedoch anfällig für Datenschutzangriffe, die sowohl das geistige Eigentum des Modells als auch die Vertraulichkeit der Trainingsdaten angreifen. Die jüngste Literatur zeigt ein Wettrüsten zwischen Datenschutzangriffen und Verteidigungsmaßnahmen in verschiedenen Systemen. Und bis jetzt hatten Ingenieure und Forscher nicht die Datenschutzanalysetools, die sie benötigen, um diesem Trend entgegenzutreten. Daher haben wir PrivacyRaven entwickelt – ein Assurance-Tool für maschinelles Lernen, das folgende Ziele verfolgt:
PrivacyRaven unterteilt jeden Angriff in mehrere anpassbare und optimierbare Phasen. Für jeden Angriff werden auch unterschiedliche Schnittstellen bereitgestellt. Die unten gezeigte Schnittstelle ist als Kern-Schnittstelle bekannt. PrivacyRaven bietet auch Wrapper um spezifische Angriffskonfigurationen aus der Literatur sowie eine Funktion zum Ausführen aller Angriffe.
So würden Sie einen Modellextraktionsangriff in PrivacyRaven starten:
#examples/extract_mnist_gpu.py
import privacyraven as pr
from privacyraven.utils.data import get_emnist_data
from privacyraven.extraction.core import ModelExtractionAttack
from privacyraven.utils.query import get_target
from privacyraven.models.victim import train_four_layer_mnist_victim
from privacyraven.models.four_layer import FourLayerClassifier
# Create a query function for a target PyTorch Lightning model
model = train_four_layer_mnist_victim()
def query_mnist(input_data):
# PrivacyRaven provides built-in query functions
return get_target(model, input_data, (1, 28, 28, 1))
# Obtain seed (or public) data to be used in extraction
emnist_train, emnist_test = get_emnist_data()
# Run a model extraction attack
attack = ModelExtractionAttack(
query_mnist, # query function
200, # query limit
(1, 28, 28, 1), # victim input shape
10, # number of targets
(3, 1, 28, 28), # substitute input shape
"copycat", # synthesizer name
FourLayerClassifier, # substitute model architecture
784, # substitute input size
emnist_train, # seed train data
emnist_test, # seed test data
)
Da die einzige wesentliche Anforderung an das Opfermodell eine Abfragefunktion ist, kann PrivacyRaven verwendet werden, um eine breite Palette von Modellen unabhängig von Framework und Verteilungsmethode anzugreifen.
Die anderen Angriffsklassen können auf ähnliche Weise gestartet werden. Weitere Informationen finden Sie im Ordner examples.
poetry update aus.poetry install aus.Wenn Sie eine Jupyter-Notebook-Umgebung verwenden möchten, führen Sie poetry shell gefolgt von jupyter notebook aus.
Wenn Sie PrivacyRaven außerdem in einem Docker-Container ausführen möchten, führen Sie chmod +x build.sh gefolgt von ./build.sh aus. Beachten Sie, dass die Leistung von PrivacyRaven je nach den Ressourcen, die Sie Docker zuweisen, drastisch beeinträchtigt werden kann.
Sie können gerne unserem #privacyraven-Kanal in Empire Hacking beitreten, wenn Sie Hilfe bei der Verwendung oder Erweiterung von PrivacyRaven benötigen. Die offizielle pip-Veröffentlichung wird bald erscheinen.
Bitte beachten Sie, dass sich PrivacyRaven noch in einem frühen Entwicklungsstadium befindet und schnellen Änderungen unterliegt. Benutzer werden gebeten, häufig zu aktualisieren und die Anwendung von PrivacyRaven auf kritische Anwendungsfälle zu vermeiden.
PrivacyRaven ist noch ein Werk in Arbeit. Wir laden Sie ein, auf jede erdenkliche Weise beizutragen, ob Sie nun eine neue Synthesetechnik integrieren oder eine Angriffsfunktion lesbarer machen möchten. Bitte besuchen Sie CONTRIBUTING.md, um loszulegen.
Der Rabe wurde im Laufe der Zeit in verschiedenen Kulturen mit einer Vielzahl von Konzepten assoziiert. Darunter wird der Rabe häufig mit Prophezeiung und Einsicht assoziiert. Natürlich haben wir das Tool PrivacyRaven genannt, weil es dazu entwickelt wurde, Einblicke in die Privatsphäre von Deep Learning zu geben.
Die Kernbetreuer sind:
Diese Bibliothek ist unter der Apache License 2.0 verfügbar. Für eine Ausnahme von den Bedingungen kontaktieren Sie uns bitte per E-Mail.
Obwohl PrivacyRaven auf einer Vielzahl von Forschungen zum Angriff auf die Privatsphäre des maschinellen Lernens aufbaut, sind die für die Entwicklung von PrivacyRaven wichtigsten Forschungen:
Dies ist eine Liste von Veröffentlichungen, Präsentationen, Blogbeiträgen und anderen öffentlichen Medien, die PrivacyRaven diskutieren.