در سالهای اخیر جامعه پژوهشگران استقبال گستردهای از موضوع حریم خصوصی تفاضلی کردهاند. این استقبال پرشور منجر به ارائه چندین مقاله و راهکار ساده تا پیچیده برای حفظ حریم خصوصی تفاضلی در محیطهای مختلف شده است. از آن جهت که طراحی یک الگوریتم حافظ حریم خصوصی تفاضلی بسیار ظریف، حساس و مستعد خطا میباشد، تعداد زیادی از این راهکارهای ارائه شده، حریم خصوصی ادعا شده را نقض میکنند. این ضعف را میتوان در راهکارهای ارائه شده توسط پژوهشگران مبتدی و یا حتی حرفهای این حوزه نیز مشاهده کرد. اثبات وجود تعداد زیاد نقض شدن حریم خصوصی تفاضلی را میتوان تعداد زیادی مقاله دانست که صرفا با هدف بهبود یک خطا در یک مقاله قبلی ارائه شدهاند.
برای جلوگیری از رخ دادن چنین خطاهایی، دو راهکار کلی وجود دارد:
اول. استفاده از پلتفرم و بسترهای آماده که قبلا بررسی و صحتسنجی شدهاند. این بسترها عملکردهای اولیه مورد نیاز را ایجاد کردهاند که با استفاده از آنها میتوان الگوریتم حریم خصوصی تفاضلی رو ایجاد کرد.
دوم. راستی آزمایی الگوریتم با استفاده از یک مجموعه داده و برنامه تستکننده.
در این مقاله یک راهکار متفاوت ارائه شده است. این راهکار، هر الگوریتم را چندین بار اجرا میکند و برای آن یک مثال نقض ایجاد میکند. یعنی دقیقا بخش دارای باگ الگوریتم را به وسیله یک مثال نقض مشخص میکند که نقشه راهی برای حل مشکل خواهد بود (در حالی که راستی آزمایی الگوریتم صرفا درست یا غلط بودن الگوریتم را مشخص میکند). همچنین هر چقدر تعداد اجرا این راهکار بیشتر باشد احتمال رخ دادن مثبت-کاذب کمتر میشود. ابزار ایجاد شده برای این راهکار را میتوانید به زبان پایتون در آدرس زیر مشاهده کنید.
https://github.com/cmla-psu/statdp
شبه کد ابزار ارائه شده در این مقاله در تصویر زیر قابل مشاهده است. در این الگوریتم به ترتیب تولید ورودی، ایجاد مجموعهداده همسایه و در نهایت تست و بررسی آنها انجام میشود. برای بررسی عملکرد این ابزار، الگوریتمهای شاخصی همچون Noisy Max و Sparse Vector بررسی شدهاند و نتیجه و راهکار تصحیح آنها در مقاله آورده شده است.

خروجی اجرا این ابزار روی الگوریتمهای حافظ حریم خصوصی تفاضلی، شامل یک مجموعهداده همسایه میشود. این مجموعه دادههای همسایه همان مثال نقضی هستند که اگر به عنوان ورودی به الگوریتم بدهیم، حریم خصوصی ادعا شده نقض میشود. مجموعه دادههای مذکور معمولا تعداد عضو کمی دارد که به توسعه دهنده الگوریتم کمک میکند با بررسی خطبهخط (Trace) الگوریتم خود، باگ آن را کشف و تصحیح کند.
Ding, Zeyu, et al. “Detecting violations of differential privacy.” Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. 2018.