Document 7610222

Download Report

Transcript Document 7610222

‫‪Oracle Security‬‬
‫استاد درس ‪ :‬دکتر رسول جليلي‬
‫تنظيم و ارائه‪:‬‬
‫صالح حافظ قرآني‬
‫ابراهيم ترامشلو‬
‫دانشگاه صنعتي اميرکبير دانشکده مهندسي کامپيوتر و فناوري اطالعات‬
‫تير ‪1384‬‬
‫سابقه امنيتي ‪Oracle‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫رابطه قديم شرکت ‪ Oracle‬و سازمان ‪ CIA‬آمريکا‬
‫تاثير اين رابطه در انتخاب مکانيزمهاي امنيتي از آغاز‬
‫نوع پيامهاي خطا ‪ Oracle v.2‬در سال ‪1979‬‬
‫‪ select EMP_LAST_NAME‬‬
‫;‪from EMLPOYEES‬‬
‫‪ Error at line 2:‬‬
‫‪ORA-00942 :table or view does not exist‬‬
‫دريافت اين پيام در صورتي که دسترسي درست نباشد‬
‫–‬
‫امکان تشخيص براي مهاجم وجود ندارد (جدول موجود نيست يا دسترسي)‬
‫‪ ‬در آن زمان دسترسي فيزيکي به کامپيوترها نيز مشکل بود‬
‫پشتيبان گيري (‪)Backup‬‬
‫‪ ‬به عنوان يک خط مشي امنيتي‬
‫‪ ‬عوامل ايجاد خطا‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫خطاي کاربر ‪ :‬پاک کردن رکوردي از داده ها به طور اتفاقي‬
‫خطاي توسعه دهنده ‪ :‬رفتار متفاوت کد در فازهاي تست و عملياتي‬
‫خطاي مدير ‪ :‬حذف غير عمد يک جدول عملياتي‬
‫خطاي مهاجم ‪ :‬پاک کردن عمدي اطالعات‬
‫خطاي سخت افزاري ‪ :‬خراب شدن تجهيزات‬
‫خطاي طبيعي ‪:‬آتش سوزي‪ ،‬سيل‪...،‬‬
‫‪ ‬وجود ابزارهاي ‪ import‬و ‪export‬‬
‫حرکت به سمت مکانيزمهاي امنيتي قويتر‬
‫‪Password‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ارتباط کاربران با پايگاه داده از طريق زبانهاي‪ UFI‬و ‪ ، PUFI‬اجداد‬
‫‪ SQL‬و ‪PL/SQL‬‬
‫اجرا بر روي ‪ IBM Mainframe‬و ‪Digital VAX‬‬
‫‪Compile‬‬
‫فايل ‪ .aip‬قابل اجرا با دستور‬
‫‪.iap‬‬
‫‪IAG‬‬
‫‪runform‬‬
‫کاربران يک ‪ username‬و ‪ password‬داشتند‪.‬‬
‫‪ password‬توسط ‪ DBA‬بعد از مدتي تغيير و اعالم مي شد‪.‬‬
‫–‬
‫–‬
‫–‬
‫تغيير به يک مقدار مشترک‬
‫تغيير به يک مقدار معين ‪ :‬شماره تلفن فرد‬
‫توليد دلخواه‬
‫‪.inp‬‬
‫حرکت به سمت مکانيزمهاي امنيتي قويتر‬
‫‪Privileges‬‬
‫‪ ‬سه سطح ‪ privilege‬وجود داشت (تا قبل از ‪)v.6‬‬
‫–‬
‫–‬
‫–‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ : Connect privilege‬در حد ايجاد يک ‪session‬‬
‫‪: Resource privilege‬ايجاد شاخص‪ ،‬جدول‪view،‬‬
‫‪ : DBA privilege‬کنترل کامل‬
‫دسترسي ها از طريق يک ترمينال با دسترسی فيزيکي‬
‫ترمينال الل (‪)dumb‬‬
‫امنيت ورود به فضاي ترمينال ها بيشتر از امنيت سيستم‬
‫بعدها امکانات زير اضافه شد‬
‫–‬
‫–‬
‫–‬
‫‪ : FASTFORM‬توليد کننده بالک در ‪SQL*Forms‬‬
‫‪ : CRT‬امکانات گرافيکي‬
‫)‪ : rpt(Oracle report‬نمايش گزارش ها در يک فرمت انعطاف پذير‬
‫نگاهي به تغييرات ‪v.5‬‬
‫‪ V.5.0.b ‬قابل اجرا بر روي ‪PC‬‬
‫‪SQL*Net v.1.0 ‬‬
‫–‬
‫–‬
‫مدل ‪Client-Server‬‬
‫مسائل جديد امنيتي (‪)Identification‬‬
‫‪ ‬تسهيل استفاده از ‪ Import‬و ‪Export‬‬
‫–‬
‫(از طريق شبکه به کمک ‪)SQL*Net‬‬
‫‪ ‬فايل ‪ Export‬شده ‪ ،‬قابل اجرا بر روي سيستم عامل هاي‬
‫مختلف‬
v.6 ‫خط مشي هاي جديد امنيتي در‬
‫ به سه دسته کاربر‬Role ‫ به‬privilege ‫ تغيير مفهوم سطوح‬
Role
Granted To
Privileges
connect
Users
database ،synonyms،View ‫ايجاد‬،DB ‫اتصال به‬
table export ،link
resource
Developers
‫شاخص‬، ‫ بر روي جداول‬privilege ‫ايجاد و اعطاي‬
sequences‫و‬clusters،‫ها‬
dba
Database
Administrators
‫انجام هر نوع‬،‫ايجاد و حذف کاربر‬،privilege ‫اعطا و لغو‬
...،‫مشاهده داده کاربران‬، export
v.6 ‫ خط مشي هاي جديد امنيتي در‬.‫ادامه‬
Auditing
SYS.AUD$ ‫ ها در جدول‬Audit ‫ ذخيره تمامي‬
: ‫ بر فعاليت هاي زير در هر دو حالت موفق و نا موفق‬Audit ‫ انجام‬
Login attempts
Object access
Database actions
CONNECT
RESOURCE
DBA
audit CONNECT: ‫مثال‬
–
–
–




‫ هر فعاليت روي جدول دلخواه‬audit ‫ براي‬audit all on 
init.ora ‫ در‬Auditing ‫ تنظيم‬
audit_trail=TRUE
–
‫ادامه‪ .‬خط مشي هاي جديد امنيتي در ‪v.6‬‬
‫‪Backup Enhancement‬‬
‫‪ ‬ظهور شکل جديدي از ‪ log file‬ها‬
‫–‬
‫–‬
‫‪ : Redo logs‬ثبت تغييرات جزئي‪ ،‬تا زمان نوشتن در ‪DB‬‬
‫‪archived log mode ‬‬
‫‪ ‬امکان ترميم پايگاه داده‬
‫‪ : Rollback segments‬تامين محل موقت داده ها در هنگام‬
‫ترميم )‪ (recovery‬پايگاه داده‬
‫‪ ‬مواردي که ثبت مي شدند ‪:‬‬
‫–‬
‫–‬
‫چه کسي‪ ،‬چه زماني‪ ،‬چه چيزهايي در جداول‬
‫اما اينکه چه داده هايي تغيير کرده اند‪ ،‬ثبت نمي شد‪v.7  .‬‬
‫امکانات امنيتي ‪Oracle7‬‬
‫‪ ‬نزديک دهه ‪1990‬‬
‫‪ ‬ظهور ‪ Trigger‬ها ‪ ،‬بهبود قابليتهاي ‪Auditing‬‬
‫‪ : Hot Backups ‬پشتيبان گيري در سطح فايل بدون‬
‫‪ shutdown‬پايگاه داده‬
‫–‬
‫–‬
‫–‬
‫در حالت پشتيبانگيري با استفاده از ‪ export‬مي بايست حتما پايگاه داده‬
‫در حال اجرا باشد ‪.‬‬
‫يک پروسه زمانبر و طاقت فرسا‬
‫مشکالت فراوان در ترميم‪ ،‬در صورتي که در حين ‪،Hot Backup‬‬
‫سيستم ‪ Crash‬يا ‪ shutdown‬بشود ‪.‬‬
‫ادامه‪ .‬امکانات امنيتي ‪Oracle7‬‬
‫‪User-defined Roles ‬‬
‫–‬
‫امکان تعريف ‪ role‬هاي جديد و انتساب آنها به کاربران‬
‫‪Trusted Oracle7 ‬‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫يک ابزار امنيتي بر اساس مدل ‪BLP‬‬
‫پياده سازي با استفاده از ‪ Labeling‬و رابطه تفوق‬
‫(‪)domination‬‬
‫لزوم ترکيب کنترل ها بر ‪ Privilege ،Role‬در استخراج داده‬
‫نصب مشکل و زمان بر ‪ ‬استقبال چنداني نشد‬
‫افزايش پيچيدگي در تنظيمات ‪،‬‬
‫(با توجه به خاصيت ‪)User-defined Roles‬‬
‫ادامه‪ .‬امکانات امنيتي ‪Oracle7‬‬
‫‪Oracle Advanced Networking Option ‬‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫در ‪،v.7.3‬سال ‪1996‬‬
‫رشد و بلوغ شبکه هاي ‪ internet‬و ‪  intranet‬نيازمندي هاي‬
‫امنيتي جديد متناسب با اين شرايط‬
‫امکانات ‪ encryption‬و ‪ authentication‬قوي‬
‫پشتيباني از سيستم هاي ‪ CyberSafe، Kerberos‬و‬
‫‪SecureID‬‬
‫مشکل کاهش کارايي‬
‫‪ ‬رمز کردن ‪ query‬در سمت ‪ client‬و رمزگشايي در سمت سرور‬
‫‪ ‬رمز کردن پاسخ در سمت سرور و رمزگشايي در سمت ‪client‬‬
‫امکانات امنيتي ‪Oracle8‬‬
‫‪ ‬بهبود مديريت ‪Password‬‬
‫–‬
‫–‬
‫–‬
‫–‬
‫‪ Password‬از پيش منقضي شده‬
‫اجبار در نوع و طرح خاصي از ‪password‬‬
‫استفاده از تاريخچه ‪( password‬براي جلوگيري از تکرار ‪ password‬قبلي)‬
‫قفل کردن حساب کاربري يک کاربر ‪Oracle‬‬
‫‪Oracle Security Server tool ‬‬
‫–‬
‫–‬
‫–‬
‫‪Single sign-on‬‬
‫‪Digital signature‬‬
‫در عمل غير موثر و ناکارآمد‬
‫ادامه‪.‬امکانات امنيتي ‪Oracle8‬‬
‫‪ ‬بهبود ‪Auditing‬‬
‫–‬
‫–‬
‫–‬
‫امکان جابجايي ‪ SYS.AUD$‬به ‪ tablespace‬ديگر براي‬
‫جلوگيري از ‪ fragmentation‬در ‪SYSTEM tablespace‬‬
‫‪ SYS.AUD$‬تنها جدول سيستمي با اجازه جابجايي و حذف داده‬
‫‪ : cataudit.sql‬مجموعه ‪ script‬هاي قابل اجرا براي ساختن‬
‫‪ view‬هاي مختلف (‪ 12‬نوع) بر روي ‪SYS.AUD$‬‬
‫‪ ‬کمبودها‪:‬‬
‫–‬
‫–‬
‫–‬
‫دقيقا کدام داده تغيير کرده است‬
‫کدام سطر اصالح و يا پاک شده است‬
‫محتويات سطر پاک شده؟‬
‫ادامه‪.‬امکانات امنيتي ‪Oracle8‬‬
‫‪ ‬بهبود پشتيبان گيري و ترميم با ‪RMAN utility‬‬
‫–‬
‫–‬
‫–‬
‫پشتيبان گيري در سطح فايل در زمان اجرای پايگاه داده‬
‫ترميم با گزينه هاي ‪ point in time‬و ‪until cancel the‬‬
‫‪operation‬‬
‫ترميم با گزينه ‪only the changed block‬‬
‫‪Tablespace point-in-time recovery utility ‬‬
‫–‬
‫–‬
‫امکان ترميم يک بخشي از پايگاه داده بدون تاثير بر ساير‬
‫‪ tablespace‬ها‬
‫کاربرد در ‪( data warehouses‬تعدد ‪)tablespaces‬‬
Oracle8i Advanced Security
Features
Oracle Advanced Networking Option ‫ جايگزين‬
Authentication ‫ پشتيباني از ابزارهاي‬
)Secure Sockets Layer( SSL
Authentication 
Data encryption 
Data integrity 
)Remote Authentication Dial-In User Service( RADIUS
Token card, Smart card 
Kerberos and CyberSpace
Single sign-on 
Database link authentications 
–
–
–
Oracle8i Advanced Security
Features
DCE Authorization ‫ پشتيباني از‬
Distributed Computing Environment
Solaris platform
–
–
LDAPv.3 ‫ امکان ترکيب با‬
Lightweight Directory Access Protocol
–
sqlnet.ora ‫ در‬Oracle Net8 ‫ تنظيم از طريق‬
connect internal ‫ حذف دستور‬
Connect/as sysdba
Connect/as sysoper
‫شروع و خاتمه کار يک پايگاه داده‬، ‫قدرت ايجاد‬
–
–
–
‫‪Oracle8i Advanced Security Features contd.‬‬
‫‪Virtual Private Database‬‬
‫‪ ‬يک نوع مکانيزم کنترل دسترسي‬
‫‪ ‬سياستهاي امنيتي مستقيما به جداول متصلند‬
‫–‬
‫اعمال سياستها توسط ‪ DB‬نه به وسيله ‪Application‬‬
‫‪ ‬اعمال خودکار در هر بار استفاده از جداول‬
‫‪ ‬تصحيح ‪ query‬ها با استفاده از اين سياستها در سمت سرور‬
‫‪ ‬مثال‪ query :‬يک کارمند در دپارتمان ‪IT‬‬
‫;‪ select * from EMPLOYEE‬‬
‫;’‪ select * from EMPLOYEE where DEPARTMENT=‘IT‬‬
‫‪ ‬پياده سازي ‪:‬‬
‫–‬
‫–‬
‫‪Security Policy Map‬‬
‫‪Constraint‬‬
VPD Contd.
Security Policy Map
Policy
Schema
Table or View
Function
Key
Columns
‫پرسنل تنها سفارشات‬
‫مشتريان خود را‬
‫ببينند‬
SECAP
CUSTOMER.PRODUC
T_ORDERS
ORDERS_
SEC
COMPANY_ID,
CUST_ID
‫پرسنل تنها داده هاي‬
‫مشتريان خود را‬
‫ببينند‬
SECAP
CUSTOMER.CUSTOM
ERS,
CUSTOMER.PRODUC
T_ORDERS
EMPOYEE
_ID_SEC
COMPANY_ID,
EMPLOYEE_ID
‫جمع بندي بخش اول‬
‫کنترل پيام هاي خطا‬
‫پشتيبان گيري و ترميم‬
Auditing
Privilege & Roles
Password ‫مديريت‬
Authentication & Encryption
VPD
‫ در دو بخش آتي‬DataLinkage








‫‪Oracle & Database Links‬‬
‫‪Server2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫يک نوع اتصال سرور به سرور‬
‫باشد‬
‫ي‬
‫م‬
‫‪DB‬‬
‫تامين شفافيت محل ذخيره سازي از‬
‫ديد کاربر‬
‫‪Database Link‬‬
‫امکان به اشتراک گذاري داده ها‬
‫‪Server‬‬
‫بين سرورها‬
‫‪Server‬‬
‫استفاده از ‪Oracle Net8‬‬
‫‪DB‬‬
‫‪ listener‬به عنوان بر قرار کننده‬
‫‪DB‬‬
‫ارتباط‬
‫‪Client‬‬
‫‪Server1‬‬
‫‪DB‬‬
‫‪Client‬‬
Database Link ‫يک مثال از‬
 create database link
OUR_CUSTOMER connect to
ORDERS identified by
OH_SO_NOSY1
using
‘(description=(address=(protocol=tcp)
(host=customer.our.company.com
)(port=1521))(connect_data=(servi
ce_name=customer)))’
 select * from
ORDERS.ORDERS_TAB@OUR_C
USTOMER;
customer= ‫پايگاه داده‬
ORDERS = schema
ORDERS_TAB = ‫جدول‬
= Database Link
OUR_CUSTOMER




Database Link ‫مشکالت امنيتي در‬
Oracle data ‫ در‬DB Link ‫ براي مشاهده اطالعات يک‬view ‫ نوع‬5 
dictionary
DBA_DB_LINKS
ALL_DB_LINKS
USER_DB_LINKS
V$DBLINK
LINK$
–
–
–
–
–
‫ فيلد‬USER_DB_LINKS view ‫ اجراي دستور مربوط به‬v8.1.7 ‫ در‬
‫ به صورت متن واضح‬password
‫در پروتکل هاي‬Trusted Third Party Linkage Unit ‫ استفاده از‬
‫ به طور معمول‬، linkage
TTP LU ‫الزمه اطمينان زياد به‬
–
‫ادامه ‪.‬مشکالت امنيتي در ‪Database Link‬‬
‫‪ ‬خطر افشاء اطالعات در صورتي که پايگاههاي داده نسبت به هم‬
‫‪ trusted‬نباشند‪ ،‬پس از ايجاد اتصال‬
‫‪ ‬خطر افشاء اطالعات از طريق ‪TTP LU‬‬
‫‪ ‬راه حل در ‪: intersection‬‬
‫–‬
‫‪ PPLP‬و ‪PPXP‬‬
‫‪Cohort-Obscuring ‬‬
‫‪ ‬کمترين افشاء‬
‫تصديق اصالت كاربر ‪ -‬مقدمه‬
‫‪ ‬پايه تمام كارهاي اعمال امنيت ‪ ،‬شناسايي كاربري است كه ميخواهد با‬
‫سيستم كار كند‪.‬‬
‫‪ ‬تمامي سطوح دسترسي و مكانيزم هاي امنيتي بر اساس نام كاربران عمل‬
‫مي كنند‪.‬‬
‫‪ ‬انواع تصديق اصالت ‪:‬‬
‫–‬
‫‪Database Authentication‬‬
‫–‬
‫‪External Authentication‬‬
‫–‬
‫‪Proxy Authentication‬‬
‫تصديق اصالت توسط كلمه عبور‬
‫‪ ‬مرسوم ترين روش تصديق اصالت‬
‫‪ ‬كلمات عبور به صورت رمز شده در پايگاه ذخيره ميشوند ‪.‬‬
‫‪ ‬هر كاربر قادر به تعويض كلمه عبور خود است ‪.‬‬
‫‪ ‬وجود تهديداتي از قبيل جعل و دزدي كلمه عبور‪.‬‬
‫تصديق اصالت توسط كلمه عبور‬
‫‪ ‬مواردي جهت افزايش امنيت اين روش‪:‬‬
‫–‬
‫اعمااال خااط مشااي مااديريت كلمااات عبااور توسااط ‪ DBA‬و مساائول امنياات از طريااق‬
‫پروفايلهاي كاربران‬
‫–‬
‫تعريف استانداردهايي براي اعمال پيچيدگيهاي الزم براي كلمات عبور‪ ،‬مثل حداقل‬
‫طول‬
‫–‬
‫كلمات عبور نبايد شامل نام و مشخصات كاربران باشد‪.‬‬
‫–‬
‫كلمات عبور بايستي مرتبا تعويض گردد و بعد از مدتي دوباره نامعتبر گردد‪.‬‬
‫–‬
‫استفاده مجدد از كلمه عبور قبلي بايستي محدود شود‪.‬‬
‫– بعد از تعداد مشخصي تالش ناموفق براي اتصال ‪ ،‬حساب كاربر ‪ Lock‬ميگردد‪.‬‬
‫تصديق اصالت قوي‬
‫‪ ‬تصديق اصالت با استفاده از تركيب موارد زير‪:‬‬
‫– انچه كه كاربر ميداند مثل كلمه عبور‬
‫– انچه كه كاربر در اختيار دارد‪.‬‬
‫‪ ‬مزايا ‪:‬‬
‫– تنوع مكانيزم هاي تصديق اصالت مثل كارتهاي هوشمند ‪،‬كربروس و‪...‬‬
‫– استفاده از‪ Network Authentication‬براي ‪Single Signon‬‬
‫‪Profiles‬‬
‫‪ Oracle ‬از ‪Profile‬هااا بااراي اعمااال محاادوديت هاااي خاااص و‬
‫كنترل هايي روي منابع سيستمي مورد اساتفاده ‪ ،‬كلماات عباور‪ ،‬و‬
‫محصوالت مختلف ‪ Oracle‬توسط مدير سيستم استفاده ميكند‪.‬‬
‫‪ ‬پروفاياال هااا توسااط اسااامي آنهااا متمااايز مااي شااوند و بااه كاااربر ياا‬
‫گروه كاربران انتساب داده مي شوند‪.‬‬
‫‪ ‬بر دو نوع هستند ‪:‬‬
‫– پروفايل هاي محدودكننده منابع سيستمي‬
‫– پروفايل هاي محدودكننده استفاده از محصوالت‬
‫پروفايل هاي محدودكننده منابع سيستمي‬
‫‪ ‬براي قراردادن محدوديت در مورد اساتفاده از مناابع سيساتمي خااص باراي‬
‫كاربرن از جمله زمان استفاده از ‪ ، CPU‬تعداد بالك هاي داده خوانده شده‬
‫در هاار ‪ Session‬و فراخااواني هاااي انجااام شااده ‪ ،‬تعااداد ‪ Session‬هاااي‬
‫فعال موازي ‪ ،‬مدت زمان ‪ idle‬و حداكثر تعداد اتصااالت باراي هار كااربر‬
‫مورد استفاده قرار مي گيرد‪.‬‬
‫‪ ‬اسااتفاده از چنااين محاادوديت هااايي تضاامين مااي كنااد كااه كاااربري خواسااته يااا‬
‫ناخواسته منابع سيستم را تلف كند‪” .‬مفهوم ‪”hog‬‬
‫‪ ‬همچنااين بااراي اعمااال قااوانيني در مااورد زمااان تعريااف و مياازان پيچياادگي‬
‫كلمااات عبااور و تعااداد سااعي هاااي اشااتباه قبااا از ‪ Lock‬شاادن حساااب بكااار‬
‫ميرود‪.‬‬
‫پروفايلهاي محدودكننده محصوالت‬
‫‪ ‬بعد از تعريف كاربر‪ ،‬توسط محصوالت مختلف ‪ Oracle‬مي‬
‫توان به بانك وصل شد‪.‬‬
‫‪ ‬با تعريف چنين محدوديت هايي‪ ،‬اين اتصال‪ ،‬به برنامه ها و‬
‫محصوالت خاصي محدود ميگردد‪.‬‬
‫‪ ‬مثال امكان اتصال از طريق ‪ SQL*Plus‬وجود دارد ولي از‬
‫طريق ‪ SQL*Report writer‬ممكن نيست‪.‬‬
‫امتيازات‬
‫‪ ‬كاربر به محض ايجاد‪ ،‬هيچ حقي ندارد‪.‬‬
‫‪ ‬براي انجام هر كاري‪ ،‬بايد حق آن را داشت‪.‬‬
‫‪ ‬در حدود ‪ 100‬حق مختلف تعريف شده است‪.‬‬
‫‪ ‬حقوق به دو دسته تقسيم بندي ميشود ‪:‬‬
‫–‬
‫‪System Privilege‬‬
‫–‬
‫‪Object Privilege‬‬
‫–‬
‫هر دو نوع با دستور ‪ Grant‬به كاربران داده مي شود‪.‬‬
‫امتيازات سيستمي‬
‫‪ ‬ايااان امتياااازات باااه كااااربران اجاااازه سااااخت و تغييااار ‪ Object‬هاااا و همچناااين انجاااام‬
‫عملياتهاي سيستمي را مي دهند ‪ ،‬ولي اجازه دسترسي به ‪ Object‬هاي موجود و كار‬
‫با آنها را نميدهد‪.‬‬
‫‪ Create/Alter User‬‬
‫‪ Create/Alter Table‬‬
‫‪ Execute Any Procedure‬‬
‫‪ Export/Import Full Database‬‬
‫…‪‬‬
‫امتيازات روي اشيا‬
‫‪ ‬اين امتيازات به كاربران اجازه دسترسي كاربر به يك شي خاص پايگاه كه مالك آن‬
‫كاربر ديگري است را مي دهند ‪ .‬مثل جدول‪ ،‬ديد‪ ،‬پروسيجر و ‪. Synonym‬‬
‫‪ ‬دسترسي به ديد بدون دسترسي به خود جدول‪ ،‬يعني اعمال يك مكانيزم امنيتي براي‬
‫دسترسي به زيرمجموعه اي از دادهها ‪.‬‬
‫‪ Insert / Update / Select / Delete on Table‬‬
‫‪ Select / Alter Sequence‬‬
‫‪ Execute Procedure‬‬
‫‪ Reference On Table‬‬
‫…‪‬‬
Data Dictionary ‫مجوز ها در‬
 Rol_Sys_Privs
 Rol_Tab_Privs
 User_Role_Privs
 User_Tab_Privs_Made
 User_Tab_Privs_Recd
 User_col_Privs_Made
 User_col_Privs_Recd
…
‫نقش ها‬
‫‪ Role ‬ها باراي تساهيل كاار ماديريت اعطااي مجوزهاا باه كااربران اساتفاده‬
‫ميشود‪.‬‬
‫‪ ‬بعد از ايجاد نقش‪ ،‬مجموعهاي از حقوق به آن داده ميشاود و ياك ياا چنادين‬
‫نقش به كاربر انتساب داده ميشود‪.‬‬
‫‪ ‬نقشها مي توانند با كلمات عبور محافظت گردند و باراي اساتفاده از حقاوق‬
‫آن نقش‪ ،‬بايساتي كلماه عباور زده شاود مگار اينكاه نقاش پايش فارض كااربر‬
‫باشد‪.‬‬
‫‪ ‬مورد استفاده ‪ :‬توساط ‪ Application‬خااص بتواناد ولاي غيار از آن روش‬
‫نتواند دسترسي انجام دهد‪ .‬زيرا كلمه عبور توسط ‪ App.‬تامين مي گردد و‬
‫كاربر آنرا نميداند‪.‬‬
Oracle 9i ‫امكانات امنيتي‬
 Integrity
–
Entity Integrity
–
Referential Integrity
 Authentication & Access Control
 Privileges
 Roles
 Auditing
–
By user / statement / privilege / schema object
 Views , Stored Program Unit ,Triggers
‫امكانات امنيتي ‪ - Oracle 9i‬ادامه‬
‫‪Data Encryption ‬‬
‫–‬
‫فراهم كردن رمزنگاري براي دادههاي انتقالي در شبكه بعد از ‪. Oracle7‬‬
‫–‬
‫فراهم كردن رمزنگاري براي دادههاي ذخيره شده ‪.‬‬
‫–‬
‫‪ DBMS_OBFUSCATION_TOOLKIT‬براي ‪ DES‬و ‪. 3DES‬‬
‫–‬
‫تابع ‪ MD5‬براي درهم سازي و تصديق اصالت پيام ‪.‬‬
‫–‬
‫‪ Random Number Generator‬براي ساخت كليد ‪.‬‬
‫منابع‬
1.
Oracle Security Handbook , 2001 Oracle Press
2.
Oracle 9i DBA Handbook , 2002 Oracle Press
3.
4.
Oracle Security Overview , 2002 Oracle Press
CM O’Keefe, M Yung, L Gu, R Baxter - Privacy Preserving
Data Linkage Protocols Proceedings of the Workshop on
Privacy in the Electronic 2004
QUESTIONS
ANSWERS
{Hafez,Tarameshloo}@ce.aut.ac.ir