Statistical Database Security-v2.pptx

‫امنیت پایگاه داده های آماری‬
‫رسول جلیلی‬
‫‪[email protected]‬‬
‫‪1‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫مقدمه‬
‫• پایگاه داده های آماری عموما ً برای تولید آمار بروی داده های‬
‫مختلف به کار می روند‪.‬‬
‫• رویکرد های امنیتی پایگاه داده های آماری باید از لو دادن هر داده‬
‫منفرد خود داری کنند‪.‬‬
‫• امنیت پایگاه داده های آماری به دوشکل می تواند کنترل شود‪:‬‬
‫– خودداری از پرس و جوهایی که مقادیر صفات مختلف را برمیگرداند‬
‫– صرفا با اجازه دادن به پرس و جوهایی که توابع تجمعی آماری مانند‬
‫‪ COUNT،MIN ،MAX ،SUM‬و ‪ AVERAGE‬را به کار میبرند‬
‫‪Q1: SELECT COUNT (*) FROM PERSON‬‬
‫;‪WHERE CONDITION‬‬
‫‪Q2: SELECT AVG (INCOME) FROM PERSON‬‬
‫;‪WHERE CONDITION‬‬
‫‪2‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫مثال‬
‫• مثال‪:‬‬
‫– اگر به دنبال حقوق سالیانه ‪ S.jahed‬باشیم و بدانیم که او در‬
‫شهر بم کرمان زندگی می کند و خانم است و در حال گرفتن‬
‫مدرک ‪ PhD‬خود است‪ ،‬می توان با استفاده از پرس و جوی‬
‫آماری ‪(Q1‬در اسالید قبلی) و با استفاده از شرایط زیر تعداد‬
‫کسانی که این شرایط را دارند را محاسبه کنیم‪:‬‬
‫’‪(LAST_DEGREE=‘Ph.D.’ AND SEX=‘F’ AND CITY= ‘Bam‬‬
‫)’‪AND STATE=‘Kerman‬‬
‫‪3‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫مثال‪2-‬‬
‫• حال اگر جواب ‪ Q1‬با شرایط گفته شده در اسالید قبلی ‪1‬‬
‫(یک) باشد‪ ،‬با انجام پرس و جوی ‪ Q2‬با استفاده از شرایط‬
‫مشابه اسالید قبلی‪ ،‬می توان به درآمد سالیانه ‪S.Jahed‬‬
‫رسید‪.‬‬
‫• حتی اگر تعداد نتیجه مربوط به ‪ Q1‬دقیقا ً یک نباشد ولی‬
‫نزدیک به آن و عدد کوچکی باشد‪ ،‬می توان به کمک توابع‬
‫تجمعی آماری مانند ‪Min ،Max‬و ‪ Average‬حدود و یا بازه‬
‫ای از حقوق ‪ S.Jahed‬را پی برد‪.‬‬
‫‪4‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫مفاهیم پایه ای‪1-‬‬
‫• ‪ SDB‬مرجع به فرم پایگاه داده ای رابطه ای است‪.‬‬
‫• ‪ N‬تعداد موجودیتها و ‪ m‬تعداد صفات شمای ‪ SDB‬میباشد‬
‫• این پایگاه داده مرجع در اسالید بعدی آمده است‪:‬‬
‫– ‪ Xij‬به معنای مقدار ‪j‬امین صفت )‪ (Aj‬از رکورد ‪i‬ام موجود در‬
‫‪ SDB‬میباشد ‪.‬‬
‫– هر صفت ‪ Aj‬دارای |‪|Aj‬مقادیر ممکن است‪.‬‬
‫‪5‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫مفاهیم پایه ای‪2-‬‬
‫‪Am‬‬
‫‪Aj‬‬
‫‪A1‬‬
‫‪Record‬‬
‫‪X1m‬‬
‫‪X1j‬‬
‫‪X11‬‬
‫‪1‬‬
‫‪Xij‬‬
‫‪Xi1‬‬
‫‪2‬‬
‫‪N‬‬
‫‪Xnm‬‬
‫‪6‬‬
‫‪I‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫مفاهیم پایه ای‪3-‬‬
‫• ‪SDB‬های خاص منظوره‪ ،‬مانند‬
‫پایگاه داده های نظرسنجی‪،‬‬
‫بعضی آمارها را در فرم جدول‬
‫ارائه می دهند‪Macrostatistics( .‬‬
‫نامیده می شوند)‬
‫• شکل روبرو تعداد را در قالب‬
‫جدول ‪ 3‬بعدی نشان می دهد‪.‬‬
‫‪7‬‬
‫‪Sex‬‬
‫‪Dept‬‬
‫‪D3‬‬
‫‪D2‬‬
‫‪D1‬‬
‫‪0‬‬
‫‪12‬‬
‫‪10‬‬
‫‪M‬‬
‫‪3‬‬
‫‪0‬‬
‫‪1‬‬
‫‪F‬‬
‫‪5‬‬
‫‪10‬‬
‫‪12‬‬
‫‪M‬‬
‫‪8‬‬
‫‪2‬‬
‫‪20‬‬
‫‪F‬‬
‫‪1‬‬
‫‪0‬‬
‫‪15‬‬
‫‪M‬‬
‫‪0‬‬
‫‪10‬‬
‫‪20‬‬
‫‪F‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫‪Birth‬‬‫‪Yr‬‬
‫‪1941‬‬‫‪1951‬‬
‫‪1952‬‬‫‪1962‬‬
‫‪>1962‬‬
‫مفاهیم پایه ای‪4-‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫پرس و جوهای آماری می تواند با استفاده از بعضی کلیدها )‪ (keys‬و‬
‫یا فرمولهای خصوصیتی)‪ (Characteristics Formulas‬انجام شود‪.‬‬
‫آمارهای مبتنی بر کلید در فرم هایی مانند )‪ Sum(C, Salary‬و‬
‫)‪ C=(Ali, Taghi,Naghi, javad‬می باشد‪.‬‬
‫فرمولهای خصوصیتی (مشخص شده با استفاده از ‪ A‬و ‪ B‬و ‪ ). . .‬یک‬
‫فرمول منطقی از صفات ترکیب شده با اپراتورهای ‪Or ،And‬و ‪Not‬‬
‫می باشند‪.‬‬
‫مثال‪:‬‬
‫))‪– A= (Sex=F) ((Dept-Code=Dept1)(Dept_code=Dept2‬‬
‫)‪(Birth-Year<1965‬‬
‫‪8‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫مفاهیم پایه ای‪5-‬‬
‫• یک فرمول خصوصیتی)‪ (CF‬مجموعه ای از رکوردها را مشخص‬
‫می کند که مجموعه پرس و جو )‪ (Query Set‬نامیده میشود‬
‫()‪ )X(A‬و تعداد رکوردهای )‪ |X(A)| ،X(A‬خواهد بود‪.‬‬
‫• ‪ :All‬برای هر ‪ CF‬مانند ‪ ،C‬رابطه )‪ .X(C)  X(All‬برقرار است‪.‬‬
‫این یعنی مجموعه پرس و جوهای )‪ (query set‬هر ‪ C‬زیر مجموعه‬
‫ای از کل ‪ SDB‬است‪.‬‬
‫• مجموعه های ابتدایی )‪ (Elementary Sets‬مجموعه های پرس و‬
‫جوی ساده غیر قابل تجزیه ای هستند‪:‬‬
‫‪• C=(A1=a1)(A2=a2)… (AM=aM),‬‬
‫که ‪Aj‬یک صفت از ‪ SDB‬و ‪ aj‬یکی از مقادیر آن صفت است‬
‫• تعداد مجموعه های ابتدایی )‪ (E‬در یک ‪ SDB‬با صفات ‪ A1,…Am‬برابر است با‬
‫|‪ E=|A1|* … * |Am‬که بعضی از مقادیر خالی می باشند‪.‬‬
‫‪9‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
6-‫مفاهیم پایه ای‬
:‫ از قرار زیر هستند‬SDB ‫• پرس و جوهای مهم آماری در‬
•
•
•
•
•
•
•
Count(C) = |X(C)|
Sum (C, Aj) = iX(C)Xij
Rfreq(C) = Count(C)/N (relative frequency of the query set.)
Avg(C,Aj)
Max(C,Aj)
Min(C,Aj)
Median(C,Aj) = |X(C)|/2 (used to compute the median
value in an ordered set of a numerical value of an attribute Aj.)
‫ آماری است که به افشای محرمانگی اطالعات بروی‬،‫• آمار حساس‬
.‫ منجر گردد‬SDB ‫یک موجودیت واحد‬
92-91 ‫ نیمسال دوم تحصیلي‬-‫ درس امنیت پایگاه داده ها‬-‫رسول جلیلي‬
10
‫تکنیک های حفاظت از استنتاج‬
‫• یکی از دالیل در خطر بودن امنیت ‪SDB‬ها‪ ،‬امکان استنتاج‬
‫اطالعات محرمانه مربوط به موجودیت های نمایش داده شده در‬
‫‪ SDB‬می باشد‪.‬‬
‫• با در نظر گرفتن ‪ Ai‬به عنوان یک صفت با اطالعات محرمانه غیر‬
‫عددی و یا یک صفت عددی‪ ،‬و ‪ Xj‬که یک موجودیت را در ‪SDB‬‬
‫تعریف می کند‪:‬‬
‫– ‪ :Exact Compromise‬زمانی رخ می دهد که کاربر با استفاده از تعدادی‬
‫پرس و جوی آماری بتواند مقدار ‪ 1‬برای صفت غیر عددی ‪ Ai‬و یا مقدار‬
‫دقیق عددی رکورد ‪ j‬ام از ‪ SDB‬را استنتاج نماید‪.‬‬
‫– ‪ :Partial Compromise‬زمانی اتفاق می افتد که کاربر با استفاده از‬
‫تعدادی پرس و جوی آماری مقدار صفر را برای صفت غیر عددی ‪ Ai‬و یا‬
‫یک مقدار تقریبی از مقدار صفت عددی را بتواند استنتاج نماید‪..‬‬
‫‪11‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫تکنیک های حفاظت از استنتاج‪2-‬‬
‫• انواع تکنیک ها‪:‬‬
‫– مفهومی)‪(Conceptual‬‬
‫• به مسئله استنتاج در سطح مفهوم نگاه می کند و با مدل داده ای مفهومی ‪ SDB‬کار‬
‫میکند‪.‬‬
‫– مبتنی بر محدودیت)‪(Restriction-based‬‬
‫– حفاظت از استنتاج را بوسیله محدود سازی بعضی پرس و جوهای آماری تامین می کند‬
‫– پرس و جوها شامل تعداد بسیار کم و یا بسیار زیادی از رکوردها نباید باشند‪.‬‬
‫– باید به کارایی سیستم در اثر رد کردن تعداد زیادی از پرس و جو ها نیز توجه داشته باشد‪.‬‬
‫– مبتنی بر انحراف)‪(Perturbation-based‬‬
‫• حفاظت از استنتاج را با تعریف بعضی تغییرات بروی اطالعات بکار گرفته برای‬
‫جواب دادن به پرس و جوهای آماری تامین می کند‪.‬‬
‫• این تغییرات می تواند بر داده های ذخیره شده در ‪ SDB‬و یا اینکه نتایج محاسبه شده قبل‬
‫از افشاء به کاربر باشد‪.‬‬
‫‪12‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬
‫پایان‬
‫مركز امنيت شبكه شريف‬
‫‪http://nsc.sharif.edu‬‬
‫‪13‬‬
‫رسول جلیلي‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلي ‪92-91‬‬