
مكتبة اختبار الخصوصية لأنظمة التعلم العميق، تتيح تقييم قابلية التأثر بهجمات استنتاج العضوية، واستخراج النماذج، وانعكاس النماذج، وتقييم تقنيات الحفاظ على الخصوصية.

ملاحظة: هذا المشروع في فترة توقف مؤقت.
PrivacyRaven هي مكتبة لاختبار الخصوصية لأنظمة التعلم العميق. يمكنك استخدامها لتحديد قابلية تأثر النموذج بهجمات خصوصية مختلفة؛ وتقييم تقنيات التعلم الآلي الحافظة للخصوصية؛ وتطوير مقاييس وهجمات خصوصية جديدة؛ وإعادة توظيف الهجمات لتتبّع مصدر البيانات وحالات استخدام أخرى.
تدعم PrivacyRaven استخراج النماذج في الصندوق الأسود بالاعتماد على التسميات فقط، واستدلال العضوية، وهجمات انعكاس النموذج (قريبًا). كما نخطط لتضمين التحقق من الخصوصية التفاضلية، والتحسين التلقائي للوسائط الفائقة، والمزيد من فئات الهجمات، وميزات أخرى؛ راجع قضايا GitHub لمزيد من المعلومات. ظهرت PrivacyRaven في مؤتمر OpenMined للخصوصية، وEmpire Hacking، ومدونة Trail of Bits.
انتشرت أنظمة التعلم العميق، ولا سيما الشبكات العصبية، في مجموعة واسعة من التطبيقات، بما في ذلك حالات الاستخدام الحساسة للخصوصية مثل التعرف على الوجوه والتشخيصات الطبية. غير أن هذه النماذج معرّضة لهجمات الخصوصية التي تستهدف كلاً من الملكية الفكرية للنموذج وسرية بيانات التدريب. شهدت الأدبيات الحديثة سباق تسلح بين هجمات الخصوصية والدفاعات في أنظمة متعددة. وحتى الآن، لم تتوفر لدى المهندسين والباحثين أدوات تحليل الخصوصية التي يحتاجونها لمنافسة هذا الاتجاه. لذلك طوّرنا PrivacyRaven — وهي أداة ضمان للتعلم الآلي تهدف إلى أن تكون:
يقسّم PrivacyRaven كل هجوم إلى مراحل متعددة قابلة للتخصيص والتحسين. كما تُوفَّر واجهات مختلفة لكل هجوم. الواجهة الموضحة أدناه تُعرف بالواجهة الأساسية. يوفر PrivacyRaven أيضًا أغلفة حول تكوينات هجوم محددة موجودة في الأدبيات، وميزة تشغيل جميع الهجمات.
إليك كيفية إطلاق هجوم استخراج نموذج في PrivacyRaven:
#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
)
نظرًا لأن المتطلب الرئيسي الوحيد من النموذج الضحية هو دالة استعلام، يمكن استخدام PrivacyRaven لمهاجمة مجموعة واسعة من النماذج بغض النظر عن الإطار وطريقة التوزيع.
يمكن إطلاق فئات الهجمات الأخرى بطريقة مماثلة. راجع مجلد examples لمزيد من المعلومات.
poetry updatepoetry install.إذا كنت ترغب في استخدام بيئة Jupyter Notebook، فشغّل poetry shell متبوعًا بـ jupyter notebook.
بالإضافة إلى ذلك، إذا كنت ترغب في تشغيل PrivacyRaven داخل حاوية Docker، فشغّل chmod +x build.sh متبوعًا بـ ./build.sh. لاحظ أنه اعتمادًا على حجم الموارد التي تخصصها لـ Docker، قد يتأثر أداء PrivacyRaven بشكل كبير.
لا تتردد في الانضمام إلى قناتنا #privacyraven في Empire Hacking إذا كنت بحاجة إلى مساعدة في استخدام PrivacyRaven أو توسيعه. سيصدر إصدار pip الرسمي قريبًا.
يُرجى ملاحظة أن PrivacyRaven ما يزال في مرحلة التطوير المبكرة ويشهد تغييرات سريعة. يُنصح المستخدمون بتحديثه باستمرار وتجنب تطبيقه على حالات الاستخدام الحرجة.
ما يزال PrivacyRaven قيد التطوير. ندعوك إلى المساهمة بأي طريقة تستطيعها، سواء أردت دمج تقنية توليف جديدة أو جعل دالة هجوم أكثر قابلية للقراءة. يُرجى زيارة CONTRIBUTING.md للبدء.
ارتبط الغراب بمجموعة متنوعة من المفاهيم في ثقافات مختلفة عبر الزمن. ومن بين هذه المفاهيم، يُرتبط الغراب عادةً بالتنبؤ والبصيرة. لذلك سمّينا الأداة PrivacyRaven بشكل طبيعي لأنها مصممة لتوفير رؤى حول خصوصية التعلم العميق.
المشرفون الأساسيون هم:
هذه المكتبة متاحة بموجب رخصة Apache 2.0. للحصول على استثناء من الشروط، يرجى التواصل معنا.
بينما بُني PrivacyRaven على العديد من الأبحاث حول مهاجمة خصوصية التعلم الآلي، فإن الأبحاث الأكثر أهمية لتطوير PrivacyRaven هي:
هذه قائمة بالمنشورات والعروض التقديمية والمقالات ووسائل الإعلام الأخرى الموجهة للجمهور التي ناقشت PrivacyRaven.