فا

‫ اخبار

صفحات: «« « ... 1274 1275 1276 1277 1278 »
آسيب پذيري اجراي كد در مديريت فايل Journal در ويندوز مايكروسافت
شماره: IRCAD2015053920
تاريخ انتشار:2015-05-12
ميزان حساسيت: بسيار مهم
نرم افزارهاي تحت تاثير:
Microsoft Windows 7
Microsoft Windows 8
Microsoft Windows 8.1
Microsoft Windows RT
Microsoft Windows RT 8.1
Microsoft Windows Server 2008
Microsoft Windows Server 2012
Microsoft Windows Vista
توضيح:
چندين آسيب پذيري در ويندوز مايكروسافت گزارش شده است كه مي تواند توسط افراد خرابكار مورد سوء استفاده قرار بگيرد تا كنترل يك سيستم آسيب پذير را در اختيار بگيرند.
1) يك خطا هنگام مديريت فايل هاي Windows Journal (.jnt) مي تواند براي اجراي كد دلخواه از طريق يك فايل Journal دستكاري شده خاص مورد سوء استفاده قرار بگيرد.
2) خطاي ديگري هنگام مديريت فايل هاي Windows Journal (.jnt) مي تواند براي اجراي كد دلخواه از طريق يك فايل Journal دستكاري شده خاص مورد سوء استفاده قرار بگيرد.
3) خطاي ديگري هنگام مديريت فايل هاي Windows Journal (.jnt) مي تواند براي اجراي كد دلخواه از طريق يك فايل Journal دستكاري شده خاص مورد سوء استفاده قرار بگيرد.
4) خطاي ديگري هنگام مديريت فايل هاي Windows Journal (.jnt) مي تواند براي اجراي كد دلخواه از طريق يك فايل Journal دستكاري شده خاص مورد سوء استفاده قرار بگيرد.
5) خطاي ديگري هنگام مديريت فايل هاي Windows Journal (.jnt) مي تواند براي اجراي كد دلخواه از طريق يك فايل Journal دستكاري شده خاص مورد سوء استفاده قرار بگيرد.
6) خطاي ديگري هنگام مديريت فايل هاي Windows Journal (.jnt) مي تواند براي اجراي كد دلخواه از طريق يك فايل Journal دستكاري شده خاص مورد سوء استفاده قرار بگيرد.
سوء استفاده موفقيت آميز از اين آسيب پذيري ها مستلزم آن است كه ويژگي Desktop Experience بر روي ويندوز سرور 2008 فعال شده باشد و ويژگي Ink and Handwriting Services بر روي ويندوز سرور 2008 R2 و ويندوز سرور 2012 و ويندزو سرور 2012 نسخه 2 فعال باشد.
راهكار:
اصلاحيه ها را اعمال نماييد.
منابع:
MS15-045 (KB3046002, KB3046002):
Secunia:
1 آذر 1387 برچسب‌ها: راهنمایی امنیتی آرشیو
چندين آسيب پذيري فلش پلير در گوگل كروم
شماره: IRCAD2015053919
تاريخ انتشار:2015-05-12
ميزان حساسيت: بسيار مهم
نرم افزارهاي تحت تاثير:
Google Chrome 42.x
توضيح:
گوگل تعدادي آسيب پذيري را در كروم تاييد مي كند كه مي تواند توسط افراد خرابكار مورد سوء استفاده قرار بگيرد تا به طور بالقوه اطلاعات حساس را افشاء نمايند، محدوديت هاي امنيتي خاص را دور زنند و كنترل يك سيستم كاربر را در اختيار بگيرند.
اين آسيب پذيري ها به علت استفاده از يك نسخه آسيب پذير از ادوب فلش پلير ايجاد شده است.
اين آسيب پذيري ها در نسخه هاي پيش از 42.0.2311.152 گزارش شده است.
راهكار:
به نسخه 42.0.2311.152 ارتقاء دهيد.
منابع:
Secunia:
1 آذر 1387 برچسب‌ها: راهنمایی امنیتی آرشیو
چندين آسيب پذيري فلش پلير در گوگل كروم
شماره: IRCAD2015053919
تاريخ انتشار:2015-05-12
ميزان حساسيت: بسيار مهم
نرم افزارهاي تحت تاثير:
Google Chrome 42.x
توضيح:
گوگل تعدادي آسيب پذيري را در كروم تاييد مي كند كه مي تواند توسط افراد خرابكار مورد سوء استفاده قرار بگيرد تا به طور بالقوه اطلاعات حساس را افشاء نمايند، محدوديت هاي امنيتي خاص را دور زنند و كنترل يك سيستم كاربر را در اختيار بگيرند.
اين آسيب پذيري ها به علت استفاده از يك نسخه آسيب پذير از ادوب فلش پلير ايجاد شده است.
اين آسيب پذيري ها در نسخه هاي پيش از 42.0.2311.152 گزارش شده است.
راهكار:
به نسخه 42.0.2311.152 ارتقاء دهيد.
منابع:
Secunia:
1 آذر 1387 برچسب‌ها: راهنمایی امنیتی آرشیو
چندين آسيب پذيري در Adobe Flash Player / AIR
شماره: IRCAD2015053918
تاريخ انتشار:2015-05-12
ميزان حساسيت: بسيار مهم
نرم افزارهاي تحت تاثير:
Adobe AIR 17.x
Adobe Flash Player 11.x
Adobe Flash Player 13.x
Adobe Flash Player 17.x
توضيح:
چندين آسيب پذيري در Adobe Flash Player / AIR گزارش شده است كه مي تواند توسط افراد خرابكار مورد سوء استفاده قرار بگيرد تا به طور بالقوه اطلاعات حساس را افشاء نمايند، محدوديت هاي امنيتي خاص را دور زنند و كنترل يك سيستم كاربر را در اختيار بگيرند.
1) يك خطاي نامشخص مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
2) خطاي نامشخص ديگري مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
3) خطاي نامشخص مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
4) خطاي نامشخص مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
5) خطاي نامشخص مي تواند براي ايجاد سرريز مبتني بر heap مورد سوء استفاده قرار بگيرد.
6) يك خطاي شرايط رقابتي مي تواند براي دور زدن حالت حفاظت شده در IE مورد سوء استفاده قرار بگيرد.
7) يك خطاي نامشخص مي تواند براي دور زدن اعتبارسنجي خاص مورد سوء استفاده قرار بگيرد و متعاقبا باعث شود تا داده دلخواه در فايل سيستم با دسترسي كاربر نوشته شود.
8) خطاي نامشخص ديگري مي تواند براي دور زدن اعتبارسنجي خاص مورد سوء استفاده قرار بگيرد و متعاقبا باعث شود تا داده دلخواه در فايل سيستم با دسترسي كاربر نوشته شود.
9) يك خطا در حالت "BrokerCreateFile()" مي تواند براي دور زدن اعتبارسنجي مسير و متعاقبا نوشتن داده هاي دلخواه در فايل سيستم يا حق دسترسي كاربر مورد سوء استفاده قرار بگيرد.
10) يك خطاي سرريز عدد صحيح مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
11) يك نوع خطاي تداخل مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
12) خطاي نامشخص مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
13) خطاي تداخل ديگري مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
14) خطاي استفاده پس از آزادسازي ديگري مي تواند براي تخريب حافظه مورد سوء استفاده قرار بگيرد.
سوء استفاده موفقيت آميز از آسيب پذيري هاي 1 تا 5 و 10 تا 14 ممكن است منجر به اجراي كد دلخواه شود.
15) يك خطاي نامشخص مي تواند براي افشاي حافظه خاص مورد سوء استفاده قرار بگيرد.
16) خطاي نامشخص ديگري مي تواند براي افشاي حافظه خاص مورد سوء استفاده قرار بگيرد.
17) يك خطاي نامشخص مي تواند براي دور زدن محدوديت هاي امنيتي و متعاقبا افشاي اطلاعات محدود شده مورد سوء استفاده قرار بگيرد.
18) خطاي نامشخص ديگري مي تواند براي دور زدن محدوديت هاي امنيتي خاص مورد سوء استفاده قرار بگيرد.
اين آسيب پذيري ها در محصولات زير گزارش شده است:
Adobe Flash Player Desktop Runtime نسخه 17.0.0.134 و نسخه هاي پيش از آن براي ويندوز و مكينتاش
Adobe Flash Player Extended Support Release نسخه 13.0.0.277 و نسخه هاي پيش از آن براي ويندوز و مكينتاش
ادوب فلش پلير نسخه 11.2.202.451 و نسخه هاي پيش از آن براي لينوكس
AIR Desktop Runtime نسخه 17.0.0.144 و نسخه هاي پيش از آن براي ويندوز و مكينتاش
AIR SDK and AIR SDK & Compiler نسخه 17.0.144 و نسخه هاي پيش از آن براي ويندوز، مكينتاش، اندرويد و iOS
راهكار:
به نسخه اصلاح شده به روز رساني نماييد.
منابع:
APSB15-09:
ZDI:
Secunia:
1 آذر 1387 برچسب‌ها: راهنمایی امنیتی آرشیو
چندين آسيب پذيري در Pale Moon
شماره: IRCAD2015053917
تاريخ انتشار:2015-05-11
ميزان حساسيت: بسيار مهم
نرم افزارهاي تحت تاثير:
Pale Moon 25.x
توضيح:
تعدادي آسيب پذيري در Pale Moon گزارش شده است كه مي تواند توسط افراد خرابكار مورد سوء استفاده قرار بگيرد تا به طور بالقوه اطلاعات حساس را افشاء نمايند، حملات كليك ربايي را هدايت نمايند، محدوديت هاي امنيتي خاص را دور زنند و كنترل يك سيستم كاربر را در اختيار بگيرند.
اين آسيب پذيري ها در نسخه هاي پيش از 25.4.0 گزارش شده است.
راهكار:
به نسخه 25.4.0 يا نسخه هاي پس از آن به روز رساني نماييد.
منابع:
Secunia:
1 آذر 1387 برچسب‌ها: راهنمایی امنیتی آرشیو
توصيه هايي براي محافظت در برابر بدافزارهاي تلفن همراه از ديد F-Secure

شماره :IRCAR201408227

تاريخ: 14/05/93

مقدمه

براي محافظت در برابر بدافزارهاي تلفن همراه توصيه‌هايي وجود دارد. در اين مقاله به توصيه‌هاي شركت F-Secure در اين باره در چهار حوزه (1) نحوه امن كردن دستگاه تلفن همراه، (2) كارهايي كه هنگام دانلود نرم افزارها بايد انجام داد، (3) نحوه مسدود كردن سرويس‌هاي ناخواسته و (4) كارهايي كه هنگام آنلاين بودن با استفاده از دستگاه تلفن همراه بايد انجام داد، مي‌پردازيم.

امن كردن دستگاه تلفن همراه

امروزه، بيشتر افراد حساب‌هاي كاربري شخصي و/يا كاري و ساير سرويس‌هاي حياتي خود را در دستگاه‌هاي تلفن همراه خود نگهداري مي كنند. اين كار بدين معني است كه اگر دستگاه شما گم يا دزديده شود، زيان‌هايي كه خواهيد ديد صرفاً از دست دادن يك دستگاه فيزيكي نيست.

اگرچه نگراني‌هايي درباره حملات آنلاين وجود دارد، اما ساده‌ترين راه براي ورود بدافزارها به دستگاه، دراختيار گرفتن آن و نصب دستي بدافزار است. به عبارتي ديگر، در ابتدا امنيت فيزيكي دستگاه خود را حفظ كنيد. براي امن كردن دستگاه دو كار زير را انجام دهيد.

1- دستگاه را قفل كنيد

قفل كردن دستگاه از دستكاري تنظيمات و نصب برنامه‌ها (مانند جاسوس افزارها يا ابزارهاي مانيتورينگ) توسط افراد غيرمجاز جلوگيري مي‌كند. براي تاثير بهتر قفل كردن، مطمئن شويد كه كلمه عبور/كدعبور/الگو يكتا هستند و ترجيحاً شما مي‌توانيد آنرا به خاطر بسپاريد ولي شخص ديگري نمي‌تواند آنرا حدس بزند.

2- از برنامه‌هاي محافظت در برابر دزدي استفاده كنيد

اگر مشخص شد كه گوشي دزديده شده شما بر نخواهد گشت، مي‌توانيد از برنامه‌هاي محافظت در برابر دزدي - كه نوعاً امكان از راه دور پاك كردن داده درون گوشي را به شما مي‌دهند- استفاده كنيد.

برخي از راه حل‌هاي ضد دزدي، براي كمك در مكان يابي دستگاه شامل ويژگي‌هايي مانند نگاشت مكان يا به صدا در آمدن هشدار هستند تا به شما در يافتن دستگاه كمك كنند.

زمان دانلود برنامه‌هاي كاربردي

زماني كه امنيت فيزيكي دستگاه شما تامين شد، مي‌توانيد هنگام دانلود برنامه‌ها، سه مرحله زير را انجام دهيد.

3- برنامه‌ها را فقط از مكان‌هاي معتبر دانلود كنيد

به صورت پيش فرض، نصب برنامه از هر منبعي غير از play store در دستگاه‌هاي آندرويدي امكان پذير نمي‌باشد. اين مورد را از طريق منوي

تنظيمات>برنامه هاي كاربردي>منابع ناشناخته (setting > applications > unknown sources)

چك كنيد. اگر گزينه مربوط علامت خورده باشد برنامه‌هاي غير play store هم مي‌توانند نصب شود. توصيه بر نصب نرم افزارها از مكان‌هاي معتبر است.

4- درخواست‌هاي مجوز برنامه‌ها را چك كنيد

فهرست مجوزهاي درخواست شده براي دسترسي برنامه را در زمان دانلود برنامه‌ها بخوانيد.

اگر درخواست‌هاي دسترسي به نظرتان دسترسي‌هاي ويژه يا غيرمرتبطي را مي‌خواهد، حتماً علت اين دسترسي‌ها را به طريقي از توليدكننده نرم افزار بپرسيد چرا كه معمولاً توليدكنندگان قابل اعتماد چرايي نياز به چنين دسترسي‌هايي را توضيح داده اند. اگر علت اين امر براي شما قانع كننده بود ممكن است دانلود app را انتخاب كنيد.

5- برنامه‌ها را با آنتي ويروس تحت تلفن همراه اسكن كنيد.

پس از دانلود برنامه‌ها روي دستگاه خود، از آنتي ويروس تحت تلفن همراه قابل اعتمادي براي اسكن برنامه استفاده كنيد.

مسدود كردن سرويس‌هاي ناخواسته

مكانيزم‌هاي اخذ سود بيشتر از طريق بدافزارهاي تلفن همراه، مي‌تواند با استفاده از ارسال پيامك‌هاي ارزش افزوده، متصل كردن كاربر به سرويس‌هاي ارزش افزوده با نرخ متفاوت، يا اجبار دستگاه به برقراري تماس‌ با سرويس‌هاي با نرخ متفاوت باشد. مسدود كردن تماس‌ها يا پيام‌هاي ارزش افزوده راهي براي كاهش ضررهاي مالي حتي در صورت نصب شدن بدافزار است. براي مسدود كردن سرويس‌هاي ناخواسته، كار زير را انجام دهيد.

6- روي سرويس تماس يا پيامك محدوديت تنظيم كنيد.

بيشتر اپراتورها به كاربران خود امكان تنظيم كردن يكسري محدوديت‌ها روي سرويس تماس يا پيامك را مي‌دهند تا كاربر بتواند ارسال تماس‌ها يا پيام‌هاي ناخواسته را مسدود كند.

به اين نوع تنظيم محدوديت “call or SMS barring service” يا “premium-rate blocking” گفته مي‌شود. نحوه تنظيم اين نوع محدوديت را از اپراتور تلفن همراه خود بپرسيد. برخي سرويس‌ها هم شماره PIN يا روش ديگري را براي حذف داوطلبانه اين محدوديت فراهم مي‌كنند.

زمان آنلاين بودن

با توجه به اينكه امروزه كاربران علاقمند به مرور سايت‌ها از طريق دستگاه‌هاي تلفن همراه خود هستند، سايت‌هاي مخربي مشاهده شده كه به اين دستگاه‌ها آسيب وارد كرده است. براي محافظت در برابر اين آسيب كار زير را انجام دهيد.

7- از امكانات محافظت مرور وب، استفاده كنيد.

براي اينكه هنگام "گشت و گذار در اينترنت" به سايت‌هاي مخرب وارد نشويد، از امكانات محافظت مرور وب (كه بيشتر ضدويروس‌ها آنرا دارند) براي بلوكه كردن سايت‌هاي مخرب شناخته شده استفاده كنيد.

منبع:

www.f-secure.com

1 آذر 1387 برچسب‌ها: امنیت در رایانه شما
آشنايي با برخي ويژگي‌هاي راهكار مديريت دستگاه همراه

شماره :IRCAR201409234

تاريخ: 29/06/93

فروش تلفن‌هاي هوشمند و تبلت‌ها در طي پنج سال گذشته رو به رشد بوده است. هم چنين استفاده از اين دستگاه‌هاي همراه در محل كار رو به افزايش است.

اما استفاده از دستگاه‌ همراه، مخاطرات امنيتي را با خود دارد. از اين دستگاه‌ها مي‌توان براي دسترسي به شبكه‌هاي شركت و ذخيره داده‌هاي حساس آن استفاده كرد؛ اما اينكار باعث مي شود تا داده هاي شركت هنگام كار با دستگاه در خارج از آن به مخاطره بيفتند. اگر دستگاه همراه گم شود يا كاربر هنگام استفاده از دستگاه شغل خود را تغيير دهد، مي توان با استفاده از راهكار مديريت دستگاه همراه (MDM) مخاطرات امنيتي را به حداقل رساند.

بيشتر دستگاه‌هاي همراه مي‌توانند به گونه‌اي تنظيم شوند كه براي گشوده شدن نيازمند كلمه عبور باشند، اما پلت فرم‌هايي مانند اندرويد و iOS اپل با ديد امنيت سازماني ساخته نشده‌اند. آنچه كسب و كارها براي رسيدن به اهداف امنيتي لازم دارند راهي براي حصول اطمينان از پيكربندي امنيتي تمام دستگاه‌ها و عدم توانايي كاربر بر لغو آن است. امنيت فراتر از كلمه عبور است. براي فراهم كردن سطح امنيتي پايه بايد تنظيمات مختلفي روي هر دستگاه همراه پيكربندي شود و همانطور هم باقي بماند.

سيستم مديريت دستگاه همراه راه حلي براي اين مشكل است. هنگامي كه دستگاه همراهي در سيستم ثبت مي‌شود، دستگاه به طور خودكار مي‌تواند با مجموعه استانداردي از تنظيمات امنيتي پيكربندي شود. اين پيكربندي، مي‌تواند منجر به پاك كردن اطلاعات تلفن از راه دور، جلوگيري از تغيير تنظيمات توسط كاربر و قطع دسترسي به شبكه‌هاي شركت در صورت تغيير تنظيمات توسط كاربر، شود.

مديريت دستگاه همراه به سازمان‌ها در كاهش مخاطرات امنيتي مرتبط با BYOD كمك مي‌كند. در اين مقاله به برخي خصوصياتي كه بايد در هنگام خريد سيستم‌ MDM در نظر گرفت اشاره مي‌شود.

خصوصيات مديريت دستگاه همراه

سيستم مديريت دستگاه همراه، معمولاً محدود به پيكربندي تنظيماتي است كه سيستم عامل دستگاه همراه در دسترس قرار مي‌دهد، و به همين دليل بيشتر MDMها مجموعه يكساني از خصوصيات امنيتي كه روي هر پلتفرم دستگاه همراه وجود دارد را فراهم مي كنند. اين ويژگي‌ها ممكن است از دستگاهي به دستگاهي ديگر متفاوت باشد اما معمولاً موارد زير را شامل مي‌شود:

1- اجبار به استفاده از كلمه عبور يا PIN دستگاه: حصول اطمينان از دسترسي به دستگاه بعد از وارد كردن 4رقم PIN يا ترجيحاً كلمه عبور يا عبارتي كه قابل حدس زدن نباشد، توسط اين خصوصيت تامين مي‌شود. كلمه عبور، PIN دستگاه يا عبارت عبور در صورت فراموشي، از طريق MDM قابل ريست شدن است.

2- قفل كردن يا پاك كردن دستگاه از راه دور: اين خصوصيت به مديران امكان قفل كردن يا حذف داده‌ها را از دستگاهي كه گم شده يا دزديده شده است مي‌دهد. بسياري از سيستم‌هاي مديريت دستگاه همراه امكان پيدا كردن منطقه جغرافيايي دستگاه را دارند. اين امكان به كاربران در پيداكردن دستگاه‌هاي گم شده يا دزديده شده و كاهش هزينه‌هاي مرتبط با آن كمك مي‌كند.

3- رمزنگاري داده: اين خصوصيت شامل فعال كردن رمزنگاري داده دستگاه در پلتفرم iOS يا اضافه كردن اين عملكرد در پلت فرم هايي مانند اندرويد كه ممكن است آن را نداشته باشند است.

4- شناسايي Jailbreak/root: شكستن قفل (jailbreak) يا روت كردن (root) دستگاه همراه منجر به حذف بسياري از محدوديت‌هاي امنيتي سطح سيستم عامل مي‌شود و ممكن است به كاربر امكان دور زدن كنترل‌هاي امنيتي اعمال شده توسط MDM را بدهد. به همين دليل، شناسايي شكسته شدن قفل يا روت شدن دستگاه، توسط MDM ضروري است.

علاوه بر پيكربندي اين نوع از تنظيمات امنيتي، بيشتر پلت فرم‌هاي مديريت دستگاه همراه به مديران دستگاه‌ها امكان ديدن وضعيت دروني دستگاه همراه را از راه دور (از جمله تنظيمات پيكربندي و برنامه‌هاي كاربردي نصب شده) مي دهد. برنامه كاربردي و سيستم عامل دستگاه مي‌تواند از طريق MDM به روز رساني شود و خط مشي‌هايي مبتني بر اكتيو دايركتوري يا ديگر دايركتوري‌ها طوري اعمال شود كه دسترسي كاربران به منابع شركت محدود به گروه‌هايي كه كاربر در آن است باشد.

بيشتر MDMها ويژگي‌هاي ديگري را نيز فراهم مي‌كنند. اين ويژگي‌ها شامل جلوگيري از استفاده از دوربين دستگاه (يا جلوگيري از استفاده در مكان‌هاي جغرافيايي خاص)، منع نصب برنامه‌هاي كاربردي كه در ليست سياه است، بلوكه كردن خريدهاي جانبي برنامه هاي كاربردي مانند بازي ها (in-app purchases) يا جلوگيري از نصب هر برنامه كاربردي مگر اينكه از سايت يا محلي معتبر دانلود شده باشد، مي‌تواند باشد.

منبع:

www.Esecurityplanet.com

1 آذر 1387 برچسب‌ها: مستندات مرجع
امنيت SQL Server – قسمت يازدهم – فعالسازي دسترسي بين پايگاه‌هاي داده

شماره :IRCAR201409233

تاريخ: 29/6/93

1- مقدمه

SQL Server ويژگي‌هاي زيادي دارد كه ايجاد برنامه‌هايي با پايگاه داده امن را پشتيباني مي‌كند. صرفنظر از نسخه SQL Server، ملاحظات امنيتي معمول مانندسرقت داده‌ها و جامعيت داده‌ها در اين نرم‌افزار در نظر گرفته مي‎شود. درصورتي‌كه داده‌ها محافظت نگردند، ممكن است به علت دستكاري و تغييرات غيرعمدي يا خرابكارانه پاك شوند يا تغيير يابند و ارزش خود را از دست بدهند. بعلاوه، اغلب بايد مسائلي مانند ذخيره‌سازي صحيح اطلاعات محرمانه نيز مورد توجه قرار گيرد.

هر نسخه از SQL Server مانند هر نسخه از ويندوز، ويژگي‌هاي امنيتي متفاوتي نسبت به نسخه‌هاي پيشين خود دارد و نسخه‌هاي جديدتر، عملكرد بهتري نسبت به نسخه‌هاي پيشين دارند.

اين مهم است كه درك كنيم كه ويژگي‌هاي امنيتي به تنهايي قادر به تضمين يك برنامه پايگاه داده امن نيستند. هر برنامه پايگاه داده از جهت ملزومات، محيط اجرا، مدل اجرا، موقعيت فيزيكي و تعداد كاربران منحصر به فرد است. ممكن است برخي برنامه‌هاي محلي نيازمند امنيت حداقلي باشند، درحالي‌كه ساير برنامه‌هاي محلي و يا برنامه‌هايي كه بر روي اينترنت به كار گرفته مي‌شوند ممكن است به معيارهاي امنيتي قوي‌تر و مانيتورينگ و ارزيابي دائم نياز داشته باشند.

ملزومات امنيتي يك برنامه پايگاه داده SQL Server بايد در زمان طراحي در نظر گرفته شود نه پس از آن. ارزيابي تهديدات در ابتداي چرخه توسعه برنامه اين فرصت را در اختيار شما قرار مي‌دهد كه خسارت بالقوه را در هرجايي كه يك آسيب‌پذيري شناسايي مي‌شود، كاهش دهيد.

حتي اگر طراحي اوليه يك برنامه بي‌عيب و نقص باشد، باز هم تهديدات جديد ممكن است در زمان بهره‌برداري از سيستم رونمايي كنند. با ايجاد خطوط دفاعي مختلف براي پايگاه داده، مي‌توانيد خسارت وارد شده توسط يك نشت امنيتي را به حداقل برسانيد. نخستين خط دفاعي، كاهش سطح حمله با اعطاي مجوزهاي حداقلي و رعايت اصل حداقل دسترسي است.

در قسمت قبلي مجموعه مقالات امنيت SQL Server، به نماي كلي امنيت SQL Server، انواع سناريوهاي احراز هويت در SQL Server، تفويض اختيار و مجوزها در SQL Server، رمزگذاري داده‌ها و امنيت يكپارچه CLR، سناريوهاي امنيت برنامه كاربردي، مديريت مجوزها با استفاده از روال‌هاي ذخيره شده، نوشتن SQL پوياي امن، امضاي روال‌هاي ذخيره شده و جعل هويت در SQL Server و تخصيص مجوزهاي سطح ركورد و ايجاد نقش‌هاي برنامه كاربردي پرداختيم. اين بخش از اين مجموعه مقالات به طور مختصر به فعالسازي دسترسي بين پايگاه‌هاي داده مي‌پردازد.

2- فعالسازي دسترسي بين پايگاه داده‌ها در SQL Server

زنجيره مالكيت بين پايگاه‌هاي داده زماني اتفاق مي‌افتد كه يك روال در يك پايگاه داده به شيئي در يك پايگاه داده ديگر وابسته باشد. يك زنجيره مالكيت بين پايگاه‌هاي داده به همان روشي كار مي‌كند كه زنجيره مالكيت در يك پايگاه داده منفرد كار مي‌كند، به جز اينكه يك زنجيره مالكيت كه شكسته نشده باشد نياز دارد كه تمامي مالكان اشياء به حساب لاگين يكساني نگاشت گردند. درصورتي‌كه شيء منبع در پايگاه داده منبع و شيء مقصد در پايگاه داده مقصد توسط حساب لاگين يكساني مالكيت گردند، SQL Server مجوزهاي شيء مقصد را مورد بررسي قرار نمي‌دهد.

2-1- پيش‌فرض غيرفعال

زنجيره مالكيت بين پايگاه‌هاي داده به طور پيش‌فرض غيرفعال است. مايكروسافت توصيه مي‌كند كه زنجيره مالكيت بين پايگاه‌هاي داده را غيرفعال نماييد، چرا كه شما را در برابر تهديدات امنيتي ذيل آسيب‌پذير مي‌سازد:

  • مالكان پايگاه داده و اعضاي نقش‌هاي پايگاه داده db_ddladmin يا db_owners مي‌توانند اشيايي ايجاد كنند كه توسط ساير كاربران مالكيت مي‌شود. اين اشياء مي‌توانند به طور بالقوه اشياي پايگاه‌هاي داده ديگر را هدف قرار دهند. اين بدان معناست كه درصورتي‌كه شما زنجيره مالكيت بين پايگاه‌هاي داده را فعال نماييد بايد به اين كاربران در مورد داده‌هاي تمامي پايگاه‌هاي داده اعتماد داشته باشيد.
  • كاربراني با مجوز CREATE DATABASE مي‌توانند پايگاه‌هاي داده جديدي ايجاد نمايند و آنها را به پايگاه‌هاي داده موجود متصل كنند. درصورتي‌كه زنجيره مالكيت بين پايگاه‌هاي داده فعال باشد، اين كاربران مي‌توانند از پايگاه‌هاي داده جديد به اشياي ساير پايگاه‌هاي داده كه مجوز آنها را در اختيار ندارند، دسترسي پيدا كنند.

2-2- فعال‌سازي زنجيره مالكيت بين پايگاه‌هاي داده

زنجيره مالكيت بين پايگاه‌هاي داده بايد فقط در محيط‌هايي فعال گردد كه شما مي‌توانيد به طور كامل به كاربران داراي سطح دسترسي بالا اطمينان نماييد. اين مسأله مي‌تواند در طول تنظيمات و پيكربندي براي تمامي پايگاه‌هاي داده تنظيم گردد يا اينكه به طور انتخابي با استفاده از دستورات sp_configure و ALTER DATABASE درTransact-SQL براي يك پايگاه داده خاص تنظيم شود.

براي تنظيم انتخابي زنجيره مالكيت بين پايگاه‌هاي داده، ابتدا از دستور sp_configure براي غيرفعال كردن آن براي سرور استفاده كنيد. سپس از دستور ALTER DATABASE به همراه SET DB_CHAINING ON براي تنظيم زنجيره مالكيت بين پايگاه‌هاي داده براي پايگاه‌هاي داده مورد نظر خود استفاده كنيد.

مثال زير زنجيره مالكيت بين پايگاه‌هاي داده را براي تمامي پايگاه‌هاي داده فعال مي‌كند:

EXECUTE sp_configure 'show advanced', 1;
RECONFIGURE;
EXECUTE sp_configure 'cross db ownership chaining', 1;
RECONFIGURE;

مثال زير زنجيره مالكيت بين پايگاه‌هاي داده را براي پايگاه‌هاي داده خاص Database1 و Database2 فعال مي‌كند:

ALTER DATABASE Database1 SET DB_CHAINING ON;
ALTER DATABASE Database2 SET DB_CHAINING ON;

2-3- SQL پويا

زنجيره مالكيت بين پايگاه‌هاي داده در شرايطي كه دستورات SQL در حال اجرا به صورت پويا ايجاد شده باشند، كار نمي‌كند. مگر اينكه همان كاربر در هر دو پايگاه داده وجود داشته باشد. شما مي‌توانيد اين كار را در SQL Server با ايجاد يك روال ذخيره شده كه به داده‌هاي پايگاه داده ديگر دسترسي داشته باشد و امضاي آن روال با گواهينامه‌اي كه در هر دو پايگاه داده وجود داشته باشد انجام دهيد. اين كار، دسترسي به منابع پايگاه داده مورد استفاده روال را بدون نياز به تخصيص مجوز در اختيار كاربران قرار مي‌دهد.

1 آذر 1387 برچسب‌ها: مستندات مرجع
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS07-J

شماره : IRCAR201409232

تاريخ: 24/06/93

اولين موضوعي كه به طور كلي در برنامه نويسي امن (رجوع شود به مقاله اصول برنامه نويسي امن) و همچنين در برنامه نويسي امن با زبان جاوا مورد توجه قرار مي گيرد مربوط به اعتبار سنجي ورودي و پاكسازي داده ها است. در اين موضوع چهارده قانون معرفي مي گردد كه سطوح امنيتي مختلفي دارند (رجوع شود به مقاله برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها - آشنايي). هشتمين قانون از اين موضوع داراي سطح امنيتي يك (L1) بوده و از اولويت (P12) برخوردار مي باشد.

قانون IDS07-J – داده نامطمئن و پاكسازي نشده را به متد Runtime.exec() ارسال نكنيد.

عموماً برنامه‌هاي بيروني براي اجراي عملياتي كه كل سيستم نيازمند آن است فراخواني مي‌شوند. اينكار شكلي از استفاده مجدد است و حتي ممكن است شكلي ناپخته از مهندسي نرم افزار مبتني بر اجزاء درنظر گرفته شود. آسيب پذيري‌هاي تزريق آرگومان و يا تزريق فرمان زماني اتفاق مي افتند كه برنامه كاربردي ورودي‌هاي نامطمئن را به درستي پاكسازي ننمايد و از آنها در اجراي برنامه‌هاي بيروني استفاده كند.

هر برنامه كاربردي جاوا، نمونه‌اي از كلاس Runtime را دارد كه به برنامه امكان برقراري ارتباط با محيطي را كه برنامه در آن درحال اجرا است مي‌دهد. زمان اجراي فعلي مي‌تواند از طريق متد Runtime.getRuntime() گرفته شود. معاني Runtime.exec() به خوبي تعريف نشده‌اند؛ بنابراين بهتر است جز در موارد ضروري به رفتار اين متد اعتماد نشود ولي معمولاً دستور مذكور مستقيماً و بدون پوسته(shell) فراخواني مي شود. در صورت نياز به پوسته‌ ، از /bin/sh –c در POSIX يا cmd.exe در ويندوز استفاده كنيد. نسخه ‌هاي مختلفي از exec() كه خط دستور را به عنوان يك رشته تنها دريافت مي‌كنند، رشته را با استفاده از StringTokenizer تجزيه مي‌كنند. در ويندوز، اين توكن‌ها قبل از اجرا با هم تركيب شده و تشكيل يك رشته آرگومان را مي‌دهند.

در نتيجه، حملات تزريق فرمان به جز در مواردي كه مفسر فرمان صراحتاً فراخواني شود، نمي‌توانند موفق باشند. در حالي كه حملات تزريق آرگومان زماني اتفاق مي افتند كه آرگومان‌ها حاوي كاراكتر فاصله، نقل قول (double quotes)، و غيره باشند يا زماني كه براي نشان دادن يك سوييچ با كاراكتر "– "يا "/" آغاز شده باشند.

اين قانون يك نمونه‌ مشخص از قانون IDS00 است. هر داده رشته‌اي كه از خارج محدوده مورد اعتماد برنامه سرچشمه مي‌گيرد بايد قبل از اجرا به عنوان دستور در پلت فرم جاري، پاكسازي شود.


يك نمونه ناسازگار با قانون (ويندوز)

برنامه زير، مثالي از فهرست كردن دايركتوري با استفاده از دستور cmd است. اينكار با استفاده از Runtime.exec() براي فراخواني دستور dir پياده سازي شده است.

بدليل اينكه Runtime.exec() داده پاكسازي نشده‌اي را از محيط مي‌گيرد، اين برنامه مستعد حمله تزريق فرمان است. مهاجم مي‌تواند با استفاده از دستور زير از برنامه سوء استفاده كند.

Java –Ddir= ‘dummy & echo bad’ Java

برنامه‌اي كه اجرا مي‌شود دو دستور دارد:

Cmd.exe /C dir dummy & echo bad

كه ابتدا تلاش بر فهرست كردن فولدر dummy كه وجود ندارد مي‌كند و سپس bad را در كنسول مي‌نويسد.

يك نمونه ناسازگار با قانون (POSIX)

برنامه ناسازگار زير عملكرد مشابهي با نمونه بالا دارد و فقط از دستور ls در POSIX استفاده شده است. تنها تفاوت نسبت به نسخه ويندوزي، آرگوماني است كه به Runtime.exec() ارسال گرديده است.


دستوري كه اجرا مي‌شود به صورت زير است:

Sh –c ‘ls dummy & echo bad’

راه حل سازگار با قانون (پاكسازي)

اين راه حل سازگار، ورودي نامطمئن كاربر را پاكسازي ميكند و اين كار را از طريق پذيرش گروهي از كاراكترهاي ليست سفيد در آرگومان ارسالي به Runtime.exec() انجام ميدهد؛ ساير كاراكترها در نظر گرفته نمي‌شوند.


اگرچه اين برنامه، راه حل سازگار با قانون است، اما اين رهيافت پاكسازي، دايركتوري‌هاي معتبر را هم رد مي‌كند. همچنين، بدليل اينكه مفسر فرمان كه فراخواني مي‌شود وابسته به سيستم است، اين راه حل لزوماً از تزريق‌هاي فرمان در هر پلت فرمي كه جاوا ممكن است اجرا شود جلوگيري نمي‌كند.

راه حل سازگار با قانون (محدوديت در انتخاب كاربر)

اين راه حل سازگار، از طريق ارسال رشته‌هاي مورد اعتماد به Runtime.exec()، از تزريق فرمان جلوگيري مي‌كند. كاربر روي اينكه كدام رشته استفاده شده است كنترل دارد اما نمي تواند مستقيماً رشته اي براي Runtime.exec() فراهم كند.

در اين راه حل سازگار، دايركتوري‌هايي كه ممكن است فهرست شود در متن برنامه قرار گرفته است.

اين راه حل، درصورتي كه تعداد زيادي دايركتوري وجود داشته باشد به سرعت غيرقابل مديريت خواهد شد. راه حل ديگر، خواندن تمام دايركتوري‌هاي مجاز از properties file در شي java.util.Properties است.

راه حل سازگار با قانون (اجتناب از Runtime.exec())

زماني كه فعاليت انجام شده توسط دستور سيستمي (system command) قابليت انجام از طرق ديگر را نيز دارد، توصيه مي شود از روشهايي به جز دستور سيستمي استفاده شود.

اين راه حل سازگاري از متد File.list() براي فهرست كردن دايركتوري و حذف احتمال حملات تزريق آرگومان و فرمان استفاده مي‌كند.

ارزيابي خطر

ارسال داده نامطمئن و پاكسازي نشده به متد Runtime.exec() مي‌تواند منجر به حملات تزريق آرگومان و فرمان شود.


تشخيص اتوماتيك

مطالب مرتبط:
برنامه‌نويسي امن با زبان جاوا - آشنايي

برنامه‌نويسي امن با زبان جاوا - اعتبارسنجي ورودي و پاكسازي داده‌ها

برنامه‌نويسي امن با زبان جاوا – نشت اطلاعات حساس
برنامه‌نويسي امن با زبان جاوا – نشت قابليت ها
برنامه‌نويسي امن با زبان جاوا – انكار سرويس
برنامه‌نويسي امن با زبان جاوا – ارتقاي حقدسترسي

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجيورودي و پاكسازي داده‌ها - آشنايي

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS00-J – قسمت دوم

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS00-J – قسمت اول

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS01-J

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS02-J

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS03-J

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS04-J

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS05-J

برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS06-J

منبع:

1 آذر 1387 برچسب‌ها: مستندات مرجع
امنيت SQL Server – قسمت دهم – تخصيص مجوزهاي سطح ركورد و ايجاد نقش‌هاي برنامه كاربردي

شماره :IRCAR201409231

تاريخ: 18/6/93
1- مقدمه
SQL Server ويژگي‌هاي زيادي دارد كه ايجاد برنامه‌هايي با پايگاه داده امن را پشتيباني مي‌كند. صرفنظر از نسخه SQL Server، ملاحظات امنيتي معمول مانندسرقت داده‌ها و جامعيت داده‌ها در اين نرم‌افزار در نظر گرفته مي‎شود. درصورتي‌كه داده‌ها محافظت نگردند، ممكن است به علت دستكاري و تغييرات غيرعمدي يا خرابكارانه پاك شوند يا تغيير يابند و ارزش خود را از دست بدهند. بعلاوه، اغلب بايد مسائلي مانند ذخيره‌سازي صحيح اطلاعات محرمانه نيز مورد توجه قرار گيرد.
هر نسخه از SQL Server مانند هر نسخه از ويندوز، ويژگي‌هاي امنيتي متفاوتي نسبت به نسخه‌هاي پيشين خود دارد و نسخه‌هاي جديدتر، عملكرد بهتري نسبت به نسخه‌هاي پيشين دارند.
اين مهم است كه درك كنيم كه ويژگي‌هاي امنيتي به تنهايي قادر به تضمين يك برنامه پايگاه داده امن نيستند. هر برنامه پايگاه داده از جهت ملزومات، محيط اجرا، مدل اجرا، موقعيت فيزيكي و تعداد كاربران منحصر به فرد است. ممكن است برخي برنامه‌هاي محلي نيازمند امنيت حداقلي باشند، درحالي‌كه ساير برنامه‌هاي محلي و يا برنامه‌هايي كه بر روي اينترنت به كار گرفته مي‌شوند ممكن است به معيارهاي امنيتي قوي‌تر و مانيتورينگ و ارزيابي دائم نياز داشته باشند.
ملزومات امنيتي يك برنامه پايگاه داده SQL Server بايد در زمان طراحي در نظر گرفته شود نه پس از آن. ارزيابي تهديدات در ابتداي چرخه توسعه برنامه اين فرصت را در اختيار شما قرار مي‌دهد كه خسارت بالقوه را در هرجايي كه يك آسيب‌پذيري شناسايي مي‌شود، كاهش دهيد.
حتي اگر طراحي اوليه يك برنامه بي‌عيب و نقص باشد، باز هم تهديدات جديد ممكن است در زمان بهره‌برداري از سيستم رونمايي كنند. با ايجاد خطوط دفاعي مختلف براي پايگاه داده، مي‌توانيد خسارت وارد شده توسط يك نشت امنيتي را به حداقل برسانيد. نخستين خط دفاعي، كاهش سطح حمله با اعطاي مجوزهاي حداقلي و رعايت اصل حداقل دسترسي است.
در قسمت قبلي مجموعه مقالات امنيت SQL Server، به نماي كلي امنيت SQL Server، انواع سناريوهاي احراز هويت در SQL Server، تفويض اختيار و مجوزها در SQL Server، رمزگذاري داده‌ها و امنيت يكپارچه CLR، سناريوهاي امنيت برنامه كاربردي، مديريت مجوزها با استفاده از روال‌هاي ذخيره شده، نوشتن SQL پوياي امن و امضاي روال‌هاي ذخيره شده و جعل هويت در SQL Server پرداختيم. اين بخش از اين مجموعه مقالات به طور مختصر به تخصيص مجوزهاي سطح ركورد و ايجاد نقش‌هاي برنامه كاربردي مي‌پردازد.
2- تخصيص مجوزهاي سطح ركورد در SQL Server
در برخي سناريوها، نياز به كنترل دسترسي در سطح ريزتر و پايين‌تري وجود دارد. براي مثال، يك برنامه پايگاه داده بيمارستاني ممكن است اطلاعات تمامي بيماران را در يك جدول ذخيره كند. در عين حال ممكن است نياز باشد كه پزشكان فقط به مشاهده اطلاعات مربوط به بيمار خودشان محدود باشند. سناريوهاي مشابهي در محيط‌هاي مختلف از جمله برنامه‌هاي مالي، قانوني، دولتي و نظامي وجود دارند. البته SQL Server پياده‌سازي امنيت سطح ركورد را پشتيباني نمي‌كند. در نتيجه شما بايد ستون‌هاي اضافه‌اي در جداول خود ايجاد كنيد كه مكانيزم‌هاي فيلتر كردن ركوردها را تعريف نمايند.
2-1- پياده‌سازي مجوزهاي سطح ركورد
مجوزهاي سطح ركورد براي برنامه‌هايي مورد استفاده قرار مي‌گيرند كه اطلاعات را در يك جدول ذخيره مي‌نمايند. هر ركورد داراي ستوني است كه پارامتري را تعريف مي‌كند كه بين ركوردهاي مختلف تفاوت ايجاد مي‌كند. اين پارامتر مي‌تواند كلمه كاربري، برچسب يا هر شناسه ديگري باشد. سپس شما روال‌هاي ذخيره شده پارامتري را ايجاد مي‌كنيد و مقادير مناسب را به آنها ارسال مي‌نماييد. كاربران مي‌توانند صرفاً ركوردهايي را مشاهده نمايند كه با مقدار مورد نظر تطابق داشته باشند.
مراحل زير نحوه پيكربندي مجوزهاي سطح ركوردرا بر اساس نام كاربري يا نام لاگين شرح مي‌دهد:
  • جدول را ايجاد كرده و ستون اضافه‌اي براي ذخيره كردن نام به آن بيفزاييد.
  • View ي ايجاد كنيد كه داراي يك عبارت WHERE بر اساس ستون نام كاربر باشد. اين كار ركوردهاي بازگشت داده شده را به ركوردهايي كه اين ستون آنها داراي مقدار مورد نظر شماست محدود مي‌سازد. از يكي از توابع دروني براي مشخص كردن نام كاربري يا لاگين پايگاه داده استفاده كنيد. اين كار نياز به ايجاد view هاي مختلفي براي كاربران مختلف را از بين مي‌برد.
نام شناسه لاگين كاربر را باز مي‌گرداند:
WHERE UserName = SUSER_SNAME()
USER_NAME يا CURRENT_USER، نام كاربر پايگاه داده را بازمي‌گرداند:
WHERE UserName = CURRENT_USER()
  • روال‌هاي ذخيره شده را براي انتخاب، افزودن، به روز رساني و حذف داده‌ها بر اساس view و نه بر اساس جداول پايه ايجاد كنيد. اين view فيلتري را فراهم مي‌كند كه ركوردهاي بازگشتي يا تغيير يافته را محدود مي‌سازد.
  • براي روال‌هاي ذخيره شده‌اي كه داده‌ها را اضافه مي‌كنند، نام كاربري را با استفاده از همان تابع مشخص شده در عبارت WHERE به دست آورده و مقدار آن را به ستون UserName اضافه كنيد.
  • تمامي مجوزها بر روي جداول و مشاهده‌ها را براي نقش عمومي ابطال نماييد. كاربران قادر نخواهند بود مجوزها را از ساير نقش‌هاي پايگاه داده به ارث ببرند، زيرا عبارت WHERE بر اساس نام‌هاي كاربري يا لاگين و نه بر اساس نقش‌ها ساخته شده است.
  • مجوز EXECUTE را بر روي روال‌هاي ذخيره شده براي نقش‌هاي پايگاه داده تخصيص دهيد. كاربران فقط مي‌توانند از طريق روال‌هاي ذخيره شده ارائه شده به داده‌ها دسترسي پيدا كنند.
3- ايجاد نقش‌هاي برنامه كاربردي در SQL Server
نقش‌هاي برنامه كاربردي راهي براي تخصيص مجوزها به يك برنامه كاربردي به جاي نقش يا كاربر پايگاه داده فراهم مي‌كنند. كاربران مي‌توانند به پايگاه داده وصل شوند، نقش برنامه كاربردي را فعال نمايند، و مجوزهاي تخصيص داده شده به برنامه كاربردي را دريافت نمايند. مجوزهاي تخصيص يافته به نقش برنامه كاربردي در طول مدت ارتباط اعمال مي‌شوند.
نكته امنيتي
نقش‌هاي برنامه كاربردي هنگامي فعال مي‌شوند كه يك برنامه كلاينت، يك نام نقش برنامه كاربردي و يك كلمه عبور را در رشته اتصال خود بگنجاند. از آنجاييكه كلمه عبور بايد بر روي سيستم كلاينت ذخيره گردد، يك آسيب‌پذيري امنيتي در برنامه كاربردي دو طرفه ايجاد مي‌شود. در يك برنامه سه طرفه، شما مي‌توانيد كلمه عبور را طوري ذخيره نماييد كه كاربران برنامه كاربردي به آن دسترسي نداشته باشند.
3-1- ويژگي‌هاي نقش برنامه كاربردي
نقش‌هاي برنامه كاربردي داراي ويژگي‌هاي زير هستند:
  • برخلاف نقش‌هاي پايگاه داده، نقش‌هاي برنامه كاربردي شامل هيچ عضوي نيستند.
  • نقش‌هاي برنامه كاربردي زماني فعال مي‌شوند كه يك برنامه كاربردي، نام نقش برنامه كاربردي و يك كلمه عبور را براي روال ذخير شده سيستمي sp_setapprole تأمين نمايد.
  • كلمه عبور بايدروي سيستم كلاينت ذخيره شده و در زمان اجرا ارائه گردد. يك نقش برنامه كاربردي نمي‌تواند از درون SQL Server فعال گردد.
  • كلمه عبور رمز شده نيست. كلمه عبور پارامتر به صورت يك hash يك طرفه ذخيره مي‌گردد.
  • زماني كه نقش برنامه كاربردي فعال مي‌شود، مجوزهاي بدست آمده از طريق نقش برنامه كاربردي در طول مدت اتصال باقي مي‌مانند.
  • نقش برنامه كاربردي مجوزهاي تخصيص يافته به نقش عمومي را به ارث مي‌برد.
  • اگر يك عضو نقش سروري ثابت sysadmin، يك نقش برنامه كاربردي را فعال كند، بستر امنيتي براي مدت اتصال به بستر نقش برنامه كاربردي تغيير مي‌يابد.
  • اگر شما يك حساب مهمان در يك پايگاه داده ايجاد كنيد كه يك نقش برنامه كاربردي داشته باشد، نيازي به ايجاد يك حساب كاربر پايگاه داده براي نقش برنامه كاربردي يا براي هريك از لاگين‌هايي كه آن را خواسته‌اند نداريد. نقش‌هاي پايگاه داده فقط درصورتي مي‌توانند مستقيماً به پايگاه داده ديگري دسترسي يابند كه يك حساب مهمان در پايگاه داده دوم وجود داشته باشد.
  • توابع دروني كه نام‌هاي لاگين را بازمي‌گردانند (مانند SYSTEM_USER)، نام لاگيني را كه نقش برنامه كاربردي را درخواست كرده است بازمي‌گردانند. توابع دروني كه نام‌هاي كاربر پايگاه داده را بازمي‌گردانند، نام نقش برنامه كابردي را بازمي‌گردانند.
3-2- اصل حداقل دسترسي
نقش‌هاي برنامه كاربردي بايد فقط مجوزهاي مورد نياز را دريافت كنند. مجوزهاي نقش عمومي بايد در هر پايگاه داده‌اي كه از نقش برنامه كاربردي استفاده مي‌كند ابطال گردند. حساب مهمان را در هر پايگاه داده‌اي كه نمي‌خواهيد فراخوانندگان نقش برنامه كاربردي به آن دسترسي يابند، غير فعال نماييد.
3-3- بهبودهاي نقش برنامه كاربردي
بستر اجرا مي‌تواند پس از فعال سازي يك نقش برنامه كاربردي به فراخواننده اصلي بازگردد تا نيازي به غيرفعال كردن connection pooling نباشد. روال sp_setapprole داراي گزينه جديدي است كه يك كوكي ايجاد مي‌كند كه شامل اطلاعات بستر در مورد فراخواننده است. شما مي‌توانيد با فراخواني روال sp_unsetapprole، نشست را بازگردانيد و كوكي را به آن ارسال نماييد.
3-4- جايگزين‌هاي نقش برنامه كاربردي
نقش‌هاي برنامه كاربردي به امنيت كلمه عبور بستگي دارند كه يك آسيب‌پذيري امنيتي بالقوه را ايجاد مي‌كند. ممكن است كلمات عبور با جاسازي شدن در كد برنامه كاربردي يا ذخيره شدن بر روي ديسك افشا گردند.
ممكن است شما مايل باشيد از روش‌هاي جايگزين ذيل استفاده نماييد:
  • از تغيير بستر با عبارت EXECUTE AS به همراه عبارات NO REVERT و WITH COOKIE استفاده نماييد. شما مي‌توانيد يك حساب كاربري در پايگاه داده‌اي ايجاد كنيد كه به هيچ لاگيني نگاشت نشده است. سپس شما مجوزها را به اين حساب تخصيص مي‌دهيد. استفاده از EXECUTE AS با يك كاربر بدون لاگين امن‌تر است، چرا كه مبتني بر مجوز است نه مبتني بر كلمه عبور.
  • روال‌هاي ذخيره شده را با گواهينامه‌ها امضا كنيد و صرفاً مجوز اجراي روال‌ها را صادر كنيد.
1 آذر 1387 برچسب‌ها: مستندات مرجع
صفحات: «« « ... 1274 1275 1276 1277 1278 »