معرفی ديوار آتش پايگاه داده‌ها (‏Database ‎Firewall‏)‏

s1m5j8

عضو جدید
کاربر ممتاز

چکیده : کنترل دسترسي و رمزگزاري، روش‌هاي مهمي جهت حفاظت از صحت داده‌ها در سيستم‌هاي پايگاه داده‌هاي تجاري هستند. اما به دليل برخي اشتباهات عملياتي، بدخواهي افراد داخلي سازمان، يا سوء استفاده از آسيب‌پذيري‌ها توسط افراد خارج از سازمان، امکان دارد داده‌هاي ذخيره شده در يک پايگاه داده‌ها همچنان در خطر باشند. زماني که پايگاه داده‌ها با يک حمله مواجه مي‌شود، مکانيزم‌هاي برگشت به عقب و بازاجرايي تراکنش‌هاي آسيب ديده بيشترين استفاده را در هنگام ترميم دارند. چنين مکانيزم‌هايي در حين عمليات ترميم و بازسازي، سرويس پايگاه داده ها را متوقف مي کنند (يا به شدت محدود مي کنند) که اين مسئله باعث غيرقابل دسترس بودن پايگاه داده‌ها مي‌شود، و يا مانع ارائه سرويس به برنامه هاي حياتي مي گردد. براي حل اين مشکلات، راه حل جديدي به نام ديوار آتش پايگاه داده‌ها پيشنهاد شده است. ديوار آتش پايگاه داده‌ها به منظور حفاظت از داده‌ها در مقابل خرابي به دليل گسترش آسيب‌پذيري‌ها استفاده مي‌شود.
مقدمه
کنترل دسترسي و رمزگزاري، روش­هاي مهمي جهت حفاظت از صحت داده­ها در سيستم­هاي پايگاه­داده­هاي تجاري هستند. اما به دليل برخي اشتباهات عملياتي، بدخواهي افراد داخلي سازمان، يا سوء استفاده از آسيب­پذيري­ها توسط افراد خارج از سازمان، امکان دارد داده­هاي ذخيره شده در يک پايگاه داده­ها همچنان در خطر باشند. زماني که پايگاه داده­ها با يک حمله مواجه مي­شود، مکانيزم­هاي برگشت به عقب و بازاجرايي تراکنش­هاي آسيب­ديده بيشترين استفاده را در هنگام ترميم دارند. چنين مکانيزم­هايي در حين عمليات ترميم و بازسازي، سرويس پايگاه داده­ها را متوقف مي­کنند (يا به شدت محدود مي­کنند) که اين مسئله باعث غيرقابل دسترس بودن پايگاه داده‌ها مي‌شود، و يا مانع ارائه سرويس به برنامه­هاي حياتي مي­گردد. براي حل اين مشکلات، راه حل جديدي به نام ديوار آتش پايگاه داده‌ها پيشنهاد شده­است. ديوار آتش پايگاه داده‌ها به منظورحفاظت از داده­ها در مقابل خرابي به دليل گسترش آسيب‌پذيري‌ها استفاده مي­شود.
1- ديوار آتش پايگاه داده‌ها چيست
ديواره آتش پايگاه داده‌ها همانند يک لايه­ي بالايي بر روي پايگاه داده‌ها است که به شکل يک ديوار منطقي بين کارگزار پايگاه داده­ها و برنامه­هاي کاربردي عمل مي­کند. مديران پايگاه داده‌ها به خوبي مي­دانند که برنامه­هاي کاربرديشان چگونه با پايگاه داده­ها ارتباط برقرار مي­کنند، همچنين اطلاع دارند چه پرس­وجوهايي در بين آن­ها رد و بدل مي­شوند، و اين پرس­وجوها از چه ساختارهايي استفاده مي­کنند. به اين ترتيب مديران مي­توانند از اين اطلاعات جهت پيکربندي يک مجموعه قوانين در ديوار آتش پايگاه داده‌ها استفاده کنند. ديوار آتش پايگاه داده‌ها مي­تواند پرس­وجوها را پيش از آن­که به پايگاه داده­ها فرستاده شوند، بررسي نمايد و آنهايي که خارج از اين مجموعه قوانين هستند را ***** کند.

ديوار آتش، علاوه بر ***** کردن پرس و جوها بر اجراي آنها نيز نظارت دارد. به شکلي در صورتي که داراي کدهاي مخرب باشند آنها را شناسايي مي‌کند. به اين ترتيب ديواره آتش بايد داراي مکانيزمي براي تشخيص تزريق SQL و حملات مرتبط با آن باشد.
به طور کلي ديوار آتش بايد با نظارت بر عملکرد پايگاه داده‌ها حملات احتمالي را تشخيص و از اجراي آنها جلوگيري کند. همچنين با شناخت آسيب‌پذيري‌هاي سيستم پايگاه داده‌ها از سوء استفاده آنها پيش‌گيري کند.
2-انواع ديوار آتش
تا کنون چندين ديوار آتش مختلف براي پايگاه داده‌ها ارائه شده است. در اين بخش به بررسي دو ديوار آتش پايگاه داده‌هاي معروف مي‌پردازيم.
2-1- GreenSQL
GreenSQL يک ديوار آتش پايگاه داده­هاي متن باز و مجاني است که جهت حفاظت از پايگاه داده­ها در مقابل حملات تزريق SQL و ديگر تغييرات غيرمجاز (همانند يک ديوار آتش که از يک شبکه در برابر حملات خارجي TCP/IP حفاظت مي‌کند) استفاده مي­شود. GreenSQL به صورت يک پروکسي کار مي­کند و در حال حاظر از پايگاه­داده­هاي MySQL و PostgreSQL پشتيباني مي‌کند. اين ديوار آتش دستورات SQL را با استفاده از يک ماتريس ارزيابي کرده و ليست دستورات مسدود، که شامل دستورات مديريتي شناخته شده­ نظير DROP، CREATE است، ***** مي­کند. در نتيجه اين دستورات پيش­ از اين­که به پايگاه داده­ها برسند دور انداخته مي­شوند. پس از اين کار GreenSQL هيچ پيغام شکستي برنمي­گرداند، از اين­رو مشخص نمي­شود که دستور با موفقيت انجام نشده است و مهاجم نمي­تواند دليل ناکام ماندن حمله را دريابد.
علاوه بر ليست دستورات مسدود، يک ليست سفيد نيز از دستورات در GreenSQL وجود دارد. اگر پرس و جوي درخواستي در ليست سفيد وجود داشته باشد، مستقيماً به کارگزار پايگاه داده‌ها ارسال مي‌گردد، در غير اينصورت يک مجموعه پاسخ خالي به کاربر برگردانده مي‌شود.
2-1-1- معماري GreenSQL
GreenSQL همانند يک پروکسي معکوس براي اتصالات پايگاه داده‌ها کار مي­کند. بدين معنا که برنامه‌هاي کاربردي کاربر به جاي اتصال به کارگزار پايگاه داده‌ها، به کارگزار GreenSQL متصل خواهند شد. سپس GreenSQL پرس­وجوهاي SQL را تحليل مي­کند و در صورت امن بودن آنها را به کارگزار پايگاه داده‌هاي پشتي ارسال مي­کند.
شکل 1- فرايند اتصال برنامه کاربردي به کارگزار پايگاه داده‌ها را با استفاده از GreenSQL نشان مي‌دهد:

شکل 1- فرايند اتصال به پايگاه داده‌ها با استفاده از GreenSQL
همانطور که در شکل ديده مي‌شود، GreenSQL کارگزار واقعي پايگاه داده­ها را براي اجراي دستورات SQL فراخواني مي‌کند، و برنامه کاربردي تحت وب براي ارتباط با پايگاه داده‌ها به کارگزار GreenSQL متصل مي‌شود.
امکان نصب GreenSQL به همراه کارگزار پايگاه­داده­ها بر روي يک سيستم، و يا قرار دادن آن بر روي يک کارگزار جداگانه وجود دارد. به صورت پيش­فرض GreenSQL به پورت محلي 127.0.0.1:3305 ، گوش مي­دهد و درخواست­هاي SQL را به 127.0.0.1:3306(تنضيمات پيش­فرض MySQL) ارسال مي­کند. اين تنظيمات مي­توانند با استفاده از GreenSQL Console تغيير کنند.
2-1-2- مدهاي کاري پشتيباني شده
ديوار آتش پايگاه داده‌هاي GreenSQL در مدهاي مختلفي قابل استفاده است:

  • · مد شبيه‌سازي (IDSپايگاه داده‌ها)
در مد شبيه‌سازي به طور کل هيچ عملياتي متوقف نمي‌گردد. در اين مد GreenSQL به عنوان يک سيستم تشخيص نفوذ پايگاه داده‌ها (IDS) عمل مي‌کنند. در اين مد ماتريس ارزيابي، پرس و جوهاي مشکوک را شناسايي کرده و با استفاده از کنسول مديريت GreenSQL مدير پايگاه داده‌ها را آگاه مي‌سازد.

  • · مد مسدودسازي دستورات مشکوک (IPS پايگاه داده‌ها)
وقتي که سيستم در مد مسدودسازي دستورات مشکوک پيکربندي مي‌شود، GreenSQL از موتور اکتشافي خود براي شناسايي پرس و جوهاي غيرقانوني استفاده مي‌کند و آنها را به صورت خودکار مسدود مي‌سازد. در اين مد، GreenSQL عموماً همانند يک سيستم جلوگيري کننده از نفوذ (IPS) عمل مي‌کند. اگر يک پرس و جو غيرقانوني شناخته شود، ليست سفيد دستورات بررسي مي‌گردد. اگر پرس و جوي درخواستي در ليست سفيد وجود داشته باشد، به سمت کارگزار پايگاه داده‌ها ارسال مي‌شود. در غير اينصورت، يک مجموعه پاسخ خالي به سمت کاربر ارسال مي‌گردد. در اين مد، در پاره‌اي از موارد ممکن است GreenSQL خطاهاي مثبت نادرست و يا منفي نادرست توليد کند. در نتيجه، ممکن است برخي از پرس و جوهاي قانوني مسدود گردند و يا برخي از پرس و جوهاي غيرقانوني تشخيص داده نشوند. اين مسائل مزايا و معايب سيستم‌هاي IPS هستند، البته GreenSQL تلاش کرده است موتور اکتشافي خود را براي حل اين مشکل بهبود بخشد، اما همچنان اين مشکل به طور کامل برطرف نشده است.

  • · مد يادگيري
براي حل مشکل بالا، پيشنهاد شده است که ابتدا، مد يادگيري فعال شود، و سپس بعد از انجام يک دوره آن، مد محافظت فعال از پرس و جوهاي ناشناخته فعال شود. در مد يادگيري، همه پرس و جوها به طور خودکار به ليست سفيد اضافه مي‌شوند. بعد از اينکه مد يادگيري به پايان رسيد، GreenSQL به طور خودکار مد محافظت فعال را راه‌اندازي مي‌کند.

  • · مد محافظت فعال از پرس و جوهاي ناشناخته (ديوار اتش پايگاه داده‌ها)
زمانيکه اين مد فعال گردد، همه دستورات ناشناخته مسدود مي‌گردند. اين مد در اصل همان ديوار آتش پايگاه داده‌ها است. زمانيکه يک دستور SQL ناشناخته تشخيص داده مي‌شود، به طور خودکار مسدود مي‌گردد. به علاوه، GreenSQL ريسک اجراي آن را با استفاده از متدهاي اکتشافي خود محاسبه مي‌کند و نتيجه را با استفاده از کنسول مديريتي GreenSQL نمايش مي‌دهد. اين مد سريع‌ترين حالت است، زيرا GreenSQL تنها ريسک پرس و جوهاي جديد را که به طور معمول اتفاق نمي‌افتند حساب مي‌کند.
2-1-3- تشخيص پرس و جوهاي غيرقانوني
GreenSQL پرس و جوهاي مشکوک را با استفاده از دو روش زير پيدا مي‌کند:

  • · تشخيص دستورات SQL مديريتي و حساس
GreenSQL از يک موتور تناظر الگو براي پيداکردن پرس و جوهاي غيرقانوني استفاده مي‌کند. عموماً اين کار با استفاده از يک زيرسيستم مبتني بر امضا انجام مي‌شود. براي مثال، دستوراتي نظير آنچه که گفته مي‌شود، غيرقانوني شناخته مي‌شوند: دستورات مديريتي پايگاه داده‌ها، دستوراتي که سعي در تغيير ساختار پايگاه داده‌ها دارند، و دستوراتي که براي دسترسي به فايل‌هاي سيستمي استفاده مي‌شوند. مدير مي‌تواند يک پرس و جوي غيرقانوني را با افزودن آن به ليست سفيد و يا با تغيير فايل پيکربندي براي تعيين الگوهاي غيرقانوني، بپذيرد.

  • · محاسبه ريسک انجام پرس و جو
GreenSQL ريسک اجراي هر پرس و جو را محاسبه مي‌کند. اساساً اين کار در يک زيرسيستم تشخيص نابهنجاري‌ انجام مي‌شود. بعد از تعيين ريسک يک پرس و جو، GreenSQL مي‌تواند پرس و جو را مسدود سازد و يا تنها يک پيغام هشدار توليد کند (نحوه برخورد GreenSQL بستگي به مد برنامه کاربردي دارد). در تعيين ريسک يک پرس و جو، GreenSQL از تعدادي معيار اکتشافي استفاده مي‌کند. براي مثال، ريسک پرس و جو در هريک از موارد زير افزايش مي‌يابد:
o دسترسي به جداول حساس مانند جداول کاربران، حساب‌هاي کاربري، و اطلاعات حساب‌هاي بانکي
o توضيحات موجود درون دستورات SQL
o يک رشته خالي گذرواژه
o وجود عبارت “or” درون پرس و جو
o يک عبارت SQL که هميشه مقدار true برمي‌گرداند
به منظور تشخيص نابهنجاري‌ها، GreenSQL از تجزيه کننده زبان SQL خود براي تعيين توکن‌هاي SQL استفاده مي‌کند.
2-2- SecureSphere Database Firewall
ديوار آتش SecureSphere توسط شرکت امنيتي Imperva ارائه شده است. اين ديوار آتش بر عمليات پايگاه داده‌ها نظارت دارد و از آن در برابر سوء استفاده‌هاي داخلي، حملات، و فعاليت‌هاي غيرمجاز محافظت مي‌کند. ديوار آتش SecureSphere يک سکوي قوي براي نظارت، مميزي و محافظت از پايگاه داده‌هاي Oracle، MS SQL Server، IBM DB2، Sybase، Informix، MySQL و Teradata، بدون کم کردن کارايي پايگاه داده‌ها و تغيير در شبکه و برنامه‌هاي مورد نياز، فراهم مي‌آورد.
شرکت Imperva ابزار ديگري به نام SecureSphere Web Application Firewall ارائه کرده است. اين ديوار آتش، برنامه‌هاي تحت وب و داده‌هاي حساس آنها را در برابر حملات پيچيده وب مانند تزريق SQL، XSS (يا Cross-Site Scripting)، و حملات لغت‌نامه‌اي جامع محافظت مي‌کند. همچنين از دزديده شدن اطلاعات و نشت آنها در برنامه‌هاي کاربردي جلوگيري مي‌کند.
SecureSphere Database Firewall قبل از پايگاه داده‌ها قرار دارد تا از آن در برابر حملات و نشت اطلاعات محافظت کند. ابزارها و امکانات SecureSphere بر تراکنش‌هاي SQL براي تعيين قانوني بودن آنها، جلوگيري از نشت اطلاعات، و اطمينان از صحت اطلاعات با برپايي ابزار مميزي مستقل، نظارت دارند. مميزي SecureSphere مي‌تواند مستقل از ابزارهاي مميزي داخلي پايگاه داده‌ها و يا به شکل ترکيبي با آنها بر عمليات پايگاه داده‌ها و کليه دسترسي‌ها در آن (حتي دسترسي‌هاي مجاز داخلي) نظارت داشته باشد. مميزي SecureSphere با استفاده از يک واسط تحت وب (با اعمال کنترل دسترسي نقش- مبنا) ارائه مي‌گردد.
2-2-1- مديريت و کشف آسيب‌پذيري
SecureSphere داده‌هاي حساس را مشخص و طبقه بندي مي‌کند. سپس با ارزيابي عملکرد پايگاه داده‌ها آسيب‌پذيري‌ها و نواقص پيکربندي را در آنها تحليل مي‌کند. به عبارتي SecureSphere، مديريت و کشف آسيب‌پذيري‌ها را با قابليت‌هاي زير فراهم مي‌آورد:

  • · طبقه‌بندي پايگاه داده‌ها:
براي اطمينان از حفاظت از داده‌هاي حساس، پايگاه داده‌ها بر اساس انواع داده‌هاي آنها طبقه بندي شده، و با شناسايي و اولويت‌بندي کارگزاران، حوضه عملکرد آنها کنترل مي‌شود.

  • · ارزيابي جامع آسيب‌پذيري‌ها:
SecureSphere حاوي مجموعه کاملي از تست‌هاي ارزيابي آسيب‌پذيري‌هاي پايگاه داده‌ها است. اين مجموعه به سازمان‌ها در بهبود و کنترل پيکربندي پايگاه داده‌ها کمک مي‌کند. تست‌هاي آسيب‌پذيري‌ها مطابق روز بوده و با آخرين تحقيقات انجام شده در Imperva هماهنگ هستند. همچنين، کاربران با استفاده از ابزار Vulnerability Workbench مي‌توانند با نصب وصله‌هاي لازم از سوء استفاده از آسيب‌پذيري‌هاي موجود جلوگيري کنند.

  • · ارزيابي هوشمند رفتارها:
ارزيابي رفتارها بر روش‌هايي که کاربران و برنامه‌ها براي دسترسي و تغيير اطلاعات ذخيره‌شده در پايگاه داده‌ها به کار مي‌برند، نظارت دارد. به وسيله ثبت جزئيات فعاليت‌ها نظير نام کاربري، تاريخ و زمان رخداد، مبدأ و مقصد، و ابزارها يا برنامه‌هاي مورد استفاده، و همچنين با ايجاد يک پروفايل جامع، SecureSphere مي‌تواند به شکل انتخابي هشدار دهد و يا فعاليت نابهنجار را مسدود سازد.
2-2-2- نظارت بر عملکرد پايگاه داده‌ها
SecureSphere شامل مجموعه کاملي از خط مشي‌هاي از پيش تعريف شده امنيتي و مميزي است که قابل پياده‌سازي در هر محيط از پايگاه داده‌ها هستند. اين خط مشي‌ها بر اساس ماژول‌هاي امنيتي دو ليست سفيد و سياه فعاليت مي‌کنند. ليست‌ سياه به وسيله تيم‌هاي تحقيقاتي Imperva به‌هنگام مي‌شود. اما ليست سفيد قابل به‌هنگام سازي با ابزار Dynamic Profiling Technology (البته هنوز به شکل رسمي عرضه نشده) است که به شکل خودکار تغييرات مجاز را در زمان تشخيص داده و ثبت مي‌کند.
همانطور که پيش‌تر نيز گفته شده، براي نظارت بر عملکرد پايگاه داده‌ها و مميزي آن، SecureSphere مي‌تواند به شکل مستقل و بدون نياز به فعال‌سازي مميزي خاص پايگاه داده‌ها عمل کند. SecureSphere قادر به نظارت بر ترافيک شبکه و ثبت تمام فعاليت‌هاي محلي نيز مي‌باشد.
2-2-3-حفاظت از پايگاه داده‌ها در زمان حقيقي
نظارت پيوسته و زمان حقيقي و نيز تحليل عملکرد پايگاه داده‌ها به SecureSphere اجازه پاسخ‌دهي سريع و مسدود سازي فعاليت‌هاي غيرمجاز را مي‌دهد. SecureSphere بر شبکه و دسترسي‌هاي مستقيم به پايگاه داده‌ها نظارت دارد و همه فعاليت‌ها از قبيل فعاليت‌هاي DDL، DML و DCL، فعاليت‌هاي فقط خواندني (SELECTها)، تغييرات روال‌هاي ذخيره شده، رهاناها و اشياء پايگاه داده‌ها، به علاوه خطاهاي اجراي SQL و ورود به پايگاه داده‌ها را ثبت مي‌کند. همچنين SecureSphere براي اطمينان از عدم نشت اطلاعات پاسخ‌هاي پايگاه داده‌ها را مانيتور و يا ثبت مي‌کند.
2-2-4- مديريت ريسک در پايگاه داده‌ها
SecureSphere به طور محسوسي تلاش لازم براي مديريت ريسک کاراي داده را کاهش مي‌دهد. دسترسي به اطلاعات با حداقل مجوز ممکن، به سازمان‌ها امکان کنترل سبک دسترسي‌ها را براي جلوگيري از گم شدن داده‌ها و نشت اطلاعات مي‌دهد. همچنين باعث کاهش ريسک دسترسي‌هاي غيرمجاز و کلاه‌برداري مي‌شود.

منابع :​
 
Similar threads

Similar threads

بالا