10 مورد از شایع ترین آسیب پذیری های پایگاه داده

۱۰ مورد از شایع ترین آسیب پذیری های پایگاه داده

CSS PHP HTML

نزدیک به نیمی از ضعف های امنیتی به طور مستقیم یا غیر مستقیم مربوط به سهل انگاری در شیوه های مدیریت وصله ها می باشد. محافظت از دیتابیس جزء کارهای آسان و سهل الوصول در نظر گرفته می شود، اما اغلب این حملات هستند که از ساده ترین آسیب پذیری ها موفق به عجیب ترین رخنه های امنیتی شده و خسارات زیادی به بار می اورند. در این بین شرکت هایی که به رعایت اصول اولیه امنیت داده ها و فناوری اطلاعات پایبند هستند بیشترین تلاش ها را برای محافظت از امنیت پایگاه داده خود معطوف می کنند.
بر اساس صحبت های آقای الکس روثَکر (Alex Rothacker)، سرپرست تیم امنیت نرم افزاری شرکت SHATTER ( حروف مخفف ابتکارات امنیتی در زمینه تکنولوژی تست نرم افزار برای تحقیقات پیشرفته) ، تیم او در حین کارهای مختلف خود توانسته 10 مورد از آسیب پذیری های مشترک پایگاه داده را شناسایی کنند که سبب رخنه هکر ها و وارد آمدن خسارات سنگین به ادارات و سازمان ها برای بارها و بارها شده اند. در این مقاله قصد پرداختن به این موارد را داریم.
پیام مشترکی که در این لیست با آن مواجه می شوید این است که به ندرت می توان پایگاه داده ها را در زمانی، بی نقص و غیر قابل نفوذ از نظر امنیتی به حساب اورد، و هرگز نباید خوش باورانه تصور کرد که یک بار پیکربندی امنیتی آن، حتی با پیچیده ترین شیوه های امنیتی، می تواند سبب شود تا مدت ها مدیران نیازی به نگرانی در مورد ان نداشته و در عمل امنیت پایگاه داده را فراموش کنند.
در عوض شرکتها و سازمانها باید به طور مستمر بر روی بسته های اطلاعات نظارت داشته باشند و تعیین کنند آیا هر کدام واقعا لازم و ضروری اند و آنهایی را که نیازی به وجودشان نیست غیر فعال کنند تا سطوح حمله ارزیابی شده کاهش پیدا کند. آنها باید مراقب باشند و همواره در مورد عواقب استفاده از اطلاعات ورود به حساب از نظر امنیتی ضعیف، کارمندان و مدیران خود را کاملا توجیه کنند. آنها باید از روش های جدید احراز هویت از جمله تشخیص صدا یا چهره افراد مجاز برای ورود به سیستم ها یا شبکه درون سازمانی استفاده کنند و از همه مهمتر ، باید به طور منظم و دوره ای وصله های امنیتی برای ارتقا امنیت ارسال و انتقال اطلاعات منتشر کنند.
حدود نیمی از آسیب پذیری هایی که توسط روثکر و تیم تحت رهبری او در این لیست مشخص شده اند مستقیم یا غیر مستقیم مربوط به به سهل انگاری در شیوه های مدیریت وصله های امنیتی در محیط پایگاه داده می باشد. اندیشیدن به این مسئله که تنها 38 درصد از مدیران، پایگاه داده اوراکل خود را در چرخه اولیه هر سه ماه یکبار با وصله های جدید به روز می کنند ترسناک و فاجعه انگیز است. و تقریبا یک سوم یا بیشتر مدیران نیز هر سال یکبار به وصله جدید می پردازند.
با این مقدمه، نگاهی به لیست 10 تایی زیر از مهم ترین موارد آسیب پذیری می اندازیم.

1- به کار گیری نام کاربری / رمز عبور پیش فرض، خالی، یا از نظر امنیتی ضعیف

ممکن است در سازمان های بزرگ، پیگیری صدها یا هزاران پایگاه های داده، وظیفه ای طاقت فرسا و دلهره آور باشد. اما از بین بردن نام کاربری و رمز ورود به سیستم که هنوز در حالت پیش فرض، خالی (blank) یا از نظر امنیتی ضعیف هستند اولین مرحله مهم برای پر کردن درز های زره محافظ بانک اطلاعاتی سازمان می باشد. افراد نفوذگر همواره در گام اول نفوذ به دنبال پیگیری حساب هایی هستند که نام کاربری و رمز عبوری پیش فرض دارند، و هر زمانی که این امکان برایشان میسر شود لحظه ای در نفوذ به سیستم ها تردید نخواهند کرد.

2- تزریق کد های SQL

وقتی بستر نرم افزاری یا پلت فرم پایگاه داده شما نتواند ورودی ها را پاکسازی نماید، مهاجمان قادر به اجرای تزریق SQL شبیه به روشی که در حملات مبتنی بر وب انجام می دهند خواهند بود، که در نهایت به آنها این امکان را می دهد که امتیازات کاربری خود را بالا تر برده و به طیف گسترده ای از عملکرد های درونی سیستم یا شبکه دسترسی یابند. بسیاری از توسعه دهندگان امنیتی به طور مرتب وصله هایی را برای جلوگیری از بروز این مشکلات منتشر می کنند، اما این اصلاحات نمی تواند برای شما کار چندانی انجام دهد اگر: سیستم مدیریتی پایگاه داده یا DBMS شما بدون وصله شدن به حال اولیه رها شده باشد.

3- اعطای حق دسترسی گسترده و بیش از حد به کاربران یا گروه ها

لازم است سازمانها و ادارات از این مسئله اطمینان حاصل کنند که امکانات دسترسی کاربران خود به کسانی که در نهایت قرار است از آنها همان استفاده ای کنند که یک سرایدار با جمع آوری کلید های مختلف روی دسته کلید و ساختن شاه کلید، اعطا نشود. (به عبارت دیگر بسیاری از امکانات مهم دسترسی برای همه کاربران کاربرد ندارد.) در عوض ، Rothacker توصیه می کند تنها کاربران معینی را در گروهها یا پست ها مشخص شده ای سازماندهی کرده و امتیازات و سطوح تعریف شده ای از دسترسی به سیستم را به آن نقش ها اعطا کنیم، که این امر مدیریت جمعی و بالابردن امنیت کلی را بسیار آسان تر از حالتی می کند که به طور مستقیم به همه کاربران حق و حقوقی بیش از حد نیازشان اعطا کنیم.

4- فعال کردن غیر ضروری امکانات و ویژگی های پایگاه داده

در هنگام نصب هر بانک اطلاعاتی همراه با ملزومات، بسته های افزونه در اشکال و اندازه های مختلف مشاهده می شوند که اکثر انها در عمل برای برخی از سازمان ها و ارگان ها بلااستفاده محسوب می شوند. از آنجا که قاعده بازی در بحث امنیت پایگاه داده عبارت است از کاهش سطح حملات، شرکت ها باید به دنبال بسته هایی باشند که از آن هیچ گونه بهره برداری نمی شود و آنها را غیر فعال کرده و یا به طور کامل حذف کنند. این امر نه تنها باعث کاهش خطرات ناشی از حملات اولیه از طریق این بردارها می شود، بلکه در عین حال مدیریت وصله ها (patch management) را نیز ساده تر می کند. هنگامی که این قبیل بسته ها نیاز به سرهم بندی و پچ کردن نداشته باشند، سازمان نیازی به تقلا و کوشش زیاد نخواهد داشت.

5- عدم مدیریت تنظیمات از هم گسیخته

به طور مشابه ، پایگاه های داده کاملا مجهز به گزینه های مختلف تنظیمات و ملاحظات در مورد انالیزور های پایگاه داده یا DBA برای تنظیم بهینه عملکرد ها و ویژگی های ارتقا یافته می باشند. لازم است سازمانها و شرکت ها مواظب اعمال تنظیمات نا امن در پایگاه داده باشند که می تواند به طور پیش فرض فعال بوده و یا به منظور سهولت برای کار با DBA ها یا توسعه دهندگان نرم افزاری این تنظیمات ضعیف اما سهل الوصول توسط افراد ناآگاه فعال گردد.

6- سرریزهای بافری (Buffer overflows)

یکی دیگر از روش های مورد علاقه هکرها، آسیب پذیری از طریق سرریز بافر است. این روش به این طریق مورد بهره برداری فرد نفوذ کننده قرار می گیرد که با فرستادن منابع ورودی به میزان متراکم و زیاد برای مثال با تعداد کاراکترهایی که بیشتر از حد قابل قبول برای یک برنامه کاربردی می باشد به طور مثال، یا اضافه کردن 100 کاراکتر به یک جعبه ورودی، درخواست یک SSN می کند. توسعه دهندگان نرم افزارهای بانک اطلاعات روی راه حلهایی که مانع از بروز اینگونه حملات می شوند سخت کار کرده اند. این دلیل دیگری است برای اینکه چرا معتقدیم به روز رسانی و انتشار مرتب وصله های امنیتی بسیار حیاتی است.

7- افزایش امتیازات

به طور مشابه، پایگاه های داده اغلب از آسیب پذیری هایی مشترک رنج می برند که به فرد نفوذی اجازه افزایش امتیازات حساب خود که در ابتدا با سطح امتیاز پایین و دسترسی کم بوده را می دهد و در نهایت این فرد قادر به در اختیار گرفتن امکانات مدیریتی یا administrator برای حساب خود می باشد. به عنوان مثال، Rothacker در این بار توضیح می دهد، یک مهاجم ممکن است از تابعی که در قسمت sysdba اجرا می شود برای مقاصد خود سوء استفاده کند. از انجا که اکثر این آسیب پذیری کشف نشده اند، مدیران نیاز به مقابله با آنها از طریق به روز رسانی های به موقع و انتشار پچ ها خواهند داشت.

8- حمله مبتنی بر انکار دسترسی به سرویس

SQL Slammer به ارائه تصویر بسیار روشنی از این مسئله که هکرها چگونه می توانند با استفاده از آسیب پذیری های DBMS به نابود کردن سرورهای پایگاه داده از طریق یک سیل ترافیکی بپردازند پرداخته است. (SQL Slammer نوعی کرم رایانه ای بود که سبب بروز خطای denial of service در برخی از میزبان ها شده و در زمان سرایت آلودگی به طرز چشمگیری سرعت کلی اینترنت در جهان را کاهش داد. این کرم در تاریخ 25 ژانویه 2003 کار خود را آغاز کرد و در کمتر از 10 دقیقه 75000 رایانه را آلوده کرد). بسیار روشن است وقتی آلودگی Slammer در سال 2003 به راه افتاد، یک پچ از قبل وجود داشت که آن آسیب پذیری و نحوه مقابله با آن را پوشش می داد. حال بعد از گذشت هفت سال ، SQL Slammer هنوز هم کماکان به کار خود ادامه می دهد و هنوز هم سرورهای پچ نشده را انتخاب می کند!

9-پایگاه داده های پچ نشده

این مورد ممکن است تکراری باشد، اما ارزش تکرار کردن دارد. بنابراین بسیاری از مدیران پایگاه های داده اصولا اعتقادی به انتشار وصله های امنیتی جدید در موعد مقرر و به طور منظم ندارند چرا که آنها می ترسند پچ جدید سبب دگرگونی تنظیمات پایگاه داده ها گردند. اما این روز ها خطر ابتلا به هک شدن بسیار بالاتر از خطر استفاده از پچ بلا استفاده می باشد، این جمله را Rothacker می گوید. ممکن است این مسئله را پنج سال پیش کسی قبول نداشت، اما امروزه فروشندگان در مورد تست های امنیتی و استفاده از وصله های به روز خیلی جدی تر شده اند.

10-داده های حساس کدگذاری نشده در زمان ذخیره سازی یا انتقال

شاید این مسئله کاملا بدیهی به نظر برسد و احتیاجی به بیان کردنش نباشد، اما سازمان ها هیچ گاه نباید اطلاعات حساس را در اسناد متنی واضح در داخل جدول پایگاه داده خود ذخیره کنند. و در تمام اتصالات به پایگاه داده باید همیشه از رمزنگاری استفاده کنند.