بخشی از مقاله
بررسی روشهای تشخیص تراکنش های مخرب در پایگاه داده
خلاصه
حفاظت از دادههای موجود در پایگاه داده برای سازمان ها به یک امر اجباری تبدیل شده است. بنابراین تقاضا برای مکانیزمهای امنیتی محافظ پایگاه داده زیاد شده است. اکثر اقدامات امنیتی نرمافزاری موجود در پایگاه داده قادر به حفاظت از پایگاه داده به طور کامل نیستند. هدف اصلی، طراحی و توسعه مکانیزمهای امنیتی پایگاه داده در سطحی است که بتوان به آن اطمینان کرد. پایگاههای داده مورد هجوم حملات مخرب از داخل و خارج سیستم میباشند. در این مقاله به بررسی چند مکانیزم جدید که برای تشخیص فعالیتهای مخرب در پایگاه داده ارائه شدهاند، پرداخته شده است.
کلمات کلیدی: پایگاه داده، تراکنش مخرب، امنیت اطلاعات.
.1 مقدمه
امنیت پایگاه داده سیستمی است مشتمل بر تعدادی پروسس و روال که از پایگاه داده در مقابل فعالیتهای ناخواسته محافظت مینماید. فعالیتهای ناخواسته را میتوان به سوءاستفاده از شناسه کاربری، حملات مخرب یا مشکلات غیر عمدی که توسط افراد مجاز و یا پروسسها ایجاد میشوند، طبقهبندی کرد.
اطلاعات مهم ترین منبع برای بسیاری از سازمانها میباشد. در بسیاری از موارد موفقیت یک سازمان در گرو در دسترس بودن اطلاعات کلیدی است. بنابراین، استفاده از یک سیستم برای ذخیره سازی و مدیریت اطلاعات ضروری است. حفاظت از اطلاعات در مقابل دسترسیهای غیرمجاز و یا اقدام به حملات مخرب یکی از مشکلات اصلی است که مدیران سیستم پایگاه داده با آن روبرو می شوند. با توجه به رشد شبکهها، حملات امنیتی به مشکل غالب تمام زیرساختهای اطلاعاتی تبدیل شده است.
نقض امنیت میتواند به مشاهده غیر مجاز دادهها، تغییرات نادرست دادهها و از دسترس خارج شدن دادهها طبقه بندی شود .[1] مشاهده غیر مجاز دادهها منجر به افشای اطلاعات برای کاربرانی است که برای دسترسی به چنین اطلاعاتی در نظر گرفته نشدهاند. تغییر نادرست دادهها، عمدی یا غیر عمدی، نتایج یک بانک اطلاعاتی را نادرست میکند. در دسترس نبودن داده ها منجر به عملکرد نامناسب و دور از انتظار سازمان میگردد.
امنیت یک مفهوم یکپارچه است که شامل خواص زیر است: محرمانگی1 (عدم افشای غیر مجاز بخشی از اطلاعات یا خدمات) اعتبار2 (حداقل تضمینی که برای دسترسی به بخشی از اطلاعات و خدمات معتبر باشد) یکپارچگی3 (حفاظت از بخشی از اطلاعات یا خدمات در برابر تغییرات غیرقانونی یا غیرقابل تشخیص) و قابلیت دسترسی4 (حفاظت از بخشی از اطلاعات یا خدمات در برابر اقدامات مخرب) .[2]
در سیستم مدیریت پایگاه داده راه حل های بالا با اجزا و روشهای مختلف قابل مشاهده است. ابتدا برای دسترسی کاربر به پایگاه داده، شناسه و تأیید اعتبار فراهم میگردد. شناسه وسیلهای است که هویت مورد ادعای یک کاربر را برای سیستم تعیین میکند (یعنی استفاده از یک نام کاربری). تأیید اعتبار روشی است که اعتبار این ادعا را بررسی میکند (رمز). صدور شناسه و کلید تأیید اعتبار اولیه به کاربران از وظایف مدیر سیستم میباشد.
روشهای کنترل دسترسی، محرمانگی در سیستم مدیریت پایگاه داده را تضمین میکند. هرگاه شخصی تلاش کند به داده ها دسترسی داشته باشد، روش های کنترل دسترسی بررسی میکنند که وی مجوزهای لازم برای انجام کارهای خواسته شده را دارد یا خیر.
مکانیزمهای مختلفی برای حفاظت از اطلاعات برای پایگاه داده ارائه شده است، برخی از آنان عبارتاند از: تأیید هویت کاربر، سطح دسترسی کاربر، رمزگذاری دادهها، حسابرسی و... . هدف اصلی مکانیزمهای امنیتی پایگاه داده حفاظت از اطلاعات ذخیرهشده از دسترسیهای غیر مجاز و یا اقدامات مخرب است. موفقیت حملات امنیتی به سطح آسیبپذیری سیستم بستگی دارد. میتوان حملات امنیتی پایگاه داده را به صورت زیر طبقهبندی نمود:[1]
· حملات عمدی، تلاش های غیر مجاز برای دسترسی و یا نابود کردن اطلاعات اختصاصی.
· اقدامات مخربی که توسط کاربران مجاز با سوءاستفاده از اطلاعات حیاتی مجاز انجام میگردد. هدف دخالت خارجی، به دلیل تأخیر بیمورد در دسترسی و یا استفاده از داده ها و یا حتی محرومیت از خدمات.
سیستم اطلاعات ایمن دارای سه ویژگی مهم است: پیشگیری5، تشخیص6 و بازیابی.[2] 7 تشخیص نفوذ برای شناسایی فعالیتهای مخربی که مکانیزمهای پیشگیری نتوانستهاند از اجرای آن جلوگیری کنند، به کار میروند. تراکنشهای مخرب ممکن است به یکپارچگی و قابلیت دسترسی پایگاه داده آسیب برسانند.
در این مقاله تعدادی از جدیدترین روش های تشخیص تراکنشهای مخرب در پایگاه دادهها بررسی شدهاند که به طور اختصار به آنان میپردازیم.
.2 طرح ویرا8 و مادیرا[3] 9
این دو محقق مکانیزم جدیدی برای تشخیص تراکنشهای مخرب در پایگاه داده به عنوان مکانیزم آشکارساز تراکنش های مخرب پایگاه داده10 (DBMTD) در سال 2005 پیشنهاد دادند. در عمل تراکنش های مخرب پایگاه داده مربوط به حملات امنیتی خارجی یا داخلی به سازمان میباشد. مکانیزم DBMTD از پروفایل تراکنشهای تعریف شده در پایگاه داده (تراکنش های مجاز) برای شناسایی کاربری که برای اجرای تراکنش مخرب تلاش میکند، استفاده مینماید. DBMTD با استفاده از مکانیزم احراز هویت سیستم پایگاه داده تجاری ساخته شده است. DBMTD با استفاده از بررسی log دنبالهای از دستورات اجرا شده توسط هر کاربر را به دست آورده و سپس آن را با پروفایل تراکنش های مجاز مقایسه میکند و بدین طریق
تراکنشهای بالقوه مخرب را شناسایی مینماید. DBMTD یک مکانیزم عمومی است که میتواند در هر پایگاه دادهای که ویژگیهای احراز هویت را فراهم میکند اجرا گردد. در واقع هدف، پیشنهاد مکانیزمی بوده که بتواند به راحتی در پایگاه داده های موجود امروزی مورد استفاده قرار گیرد.
DBMTD از دو مرحله تشکیل شده است: پروفایل تراکنش1 و تشخیص نفوذ.2 پروفایل تراکنش، مربوط به شناسایی دستورات متوالی است که هر تراکنش معتبر را تشکیل میدهد و تشخیص نفوذ شامل شناسایی کاربرانی است که دستورات متوالی اجرا شده توسط آنها نشان دهنده تلاششان برای نفوذ میباشد.
.3 طرح هو3 و پاندا[4] 4
در حال حاضرتقریباً همه روش های تشخیص ناهنجاری مبتنی بر میزبان، بر پایه مکانیزم های حساب کاربری سیستمعامل و یا برنامه کاربری تولید شدهاند. اما این دادهها به اندازه کافی نشان نمیدهند که چه داده های خاصی در سیستم تغییر کردهاند. به عنوان مثال، چه ویژگیهای خاصی در پایگاه داده خوانده شده و یا نوشته شده است و آیا قانونی برای تغییر این اقلام داده در آن زمان وجود دارد؟
این مدل برای پیدا کردن تراکنش های مخربی که توسط کاربر نفوذی که به عنوان یک کاربر عادی به سیستم مدیریت پایگاه داده وارد شده است، تلاش میکند. تراکنشهای مخرب شناسایی شده توسط این روش میتواند برای ارزیابی آسیبها و رویههای بازیابی مورد استفاده قرار گیرد. در این روش، بر تجزیه و تحلیل وابستگی دادهها در پایگاه داده تمرکز شده است. در این مدل توسط وابستگی دادهها، به ارتباط دسترسی بین دو یا چند اقلام داده رجوع میگردد. به این معنا که قبل از بروز رسانی دادهها کدام اقلام داده باید خوانده یا نوشته شود و کدام اقلام داده بعد از بروز رسانی نوشته شده است.
این مدل پیشنهادی برای شناسایی تراکنش های مخربی که به وسیله کاربر نفوذی (که با تغییر ظاهر به عنوان کاربر خودی وارد سیستم شدهاند) اجرا میشوند، طراحی شده است. نفوذی میتواند به شیوه های مختلف مانند به دست آوردن رمز یک کاربر عادی به سیستم پایگاه داده دسترسی پیدا کنند. در چنین مواردی، سیستم پایگاه داده نمی تواند بین یک کاربر نفوذی و یک کاربر عادی تمایز قائل شود. در اینجا فعالیت کاربر عادی بدان معنی است که کاربر اجازه دسترسی به دادهها را با استفاده از یک برنامه کاربردی پایگاه داده و ارسال تراکنش ها به صورت دستی به پایگاه داده را دارد که این فعالیتها شامل تعمیر و نگهداری از سیستم پایگاه داده نمیباشد. به عنوان مثال، حسابداران در یک بانک از نرمافزار بانکی برای انجام تراکنشهای روزانه مشتریان از قبیل سپرده گذاری، انتقال وجه و پرداخت اقساط وام استفاده میکنند. با ورود اطلاعات در رابط برنامه بانکی که همان رابط گرافیکی کاربر( GUI) 5 میباشد، حسابدار میتواند به اطلاعات حساب مشتریان دسترسی یافته و آن را بروز رسانی نماید.
این مدل بر اساس پایگاه داده رابطهای کار میکند. تراکنش یک واحد منطقی پردازش پایگاه داده است که شامل یک یا چند عملیات دسترسی به پایگاه داده میباشد. در این مدل برای سادگی فرایند تجزیه و تحلیل وابستگی دادهها تنها تراکنش هایی در نظر گرفته میشوند که شامل عبارتهای شرطی از قبیل LI….WKHQ….HOVH نباشند. برای تراکنشی که شامل عبارتهای شرطی است چند زیر تراکنش که هر کدام تنها شامل یک مسیر اجرایی متوالی است تولید و برای تجزیه و تحلیل وابستگی داده ها مورد استفاده قرار میگیرند. این مدل مستلزم آن است که نه تنها ورود به سیستم پایگاه داده و عملیات دسترسی هر تراکنش به پایگاه داده در فایل log ذخیره شود بلکه اطلاعات شناسایی کاربری که تراکنشی را به پایگاه داده ارسال میکند نیز نگهداری شود. این مدل همچنین نیاز دارد که برچسب زمانی برای شروع و پایان هر تراکنش در log سیستم پایگاه داده نگهداری شود.
در فایل log نه تنها عملیات نوشتن بلکه عملیات خواندن در هر تراکنش نیز ضبط میگردد. برخی از اطلاعات، قبل از تکمیل تراکنش در فایل log ذخیره نمیگردند. سیستم تشخیص نفوذ پیشنهادی میتواند محتویات فایل log تراکنشهای کامل نشده را در یک فایل موقتی نگهداری کند.
تعداد کل تراکنش هایی که یک کاربر معمولی میتواند استفاده کند محدود است. بنابراین در این مورد، سیستم تشخیص نفوذ پیشنهادی، هنگامی که مدیر پایگاه داده برخی از تغییرات پایگاه داده که با وابستگی دادهها مطابقت ندارد را مشاهده میکند، هشدار افزایشی را نمایش میدهد. در این هنگام وظیفه مدیر پایگاه داده این است که بررسی نماید که علت هشدار تعمیر و نگهداری پایگاه داده است و یا فعالیت مخربی صورت گرفته است.
با بررسی اینکه آیا هر یک از عملیات بروز رسانی در تراکنش مطابق با وابستگی داده میباشد، فعالیت های غیرعادی در سطح تراکنش شناسایی میشوند. همچنین یک روش برای پیدا کردن ناهنجاری در سطح وظایف کاربر با استفاده از Petri-Net برای مدل بروز رسانی متوالی نرمال داده ارائه شده است. این امر به ویژه برای پیدا کردن فعالیتهای مخرب پنهانی که از چند تراکنش که هر کدام به عنوان یک تراکنش عادی به نظر میرسد تشکیل شدهاند، مفید میباشد.
.4 طرح چاگارلامودی و همکاران[5] 1
در این مدل محققان یک ابزار گرافیکی مبتنی بر Petri-Net برای پیشگیری از تغییر غیر مجاز دادهها توسط خودیها در پایگاه داده پیشنهاد دادهاند. Petri-Net یک گراف جهتدار دوبخشی است که از دو نوع گره، موسوم به گره های مکان2 و گذر3 تشکیل شده است. دایره ها نشان دهنده گرههای مکانی و نوارها نشان دهنده حالات گذر میباشند. این مدل با استفاده از Petri-Net مدل طبیعی وظایف هر کاربر را به دست میآورد. هر گراف Petri-Net با شناسه کاربری تمام کاربرانی که میتوانند کاری در سیستم اجرا کنند، مرتبط است. برای نشان دادن مدلسازی وظایف در Petri-Net، وظایف کاربران در شکل 1 نمایش داده شده است. برای درک هدف تنها دو کار برای این کاربر تعریف شده است. در واقعیت ممکن است وظایف بیشتری برای کاربران تعریف گردد.
شکل -1 نمونه وظایف یک کاربر
مدلسازی یک وظیفه در Petri-Net به شرح زیر میباشد:
· هر گره نشان دهنده یک تراکنش میباشد. از نام تراکنش برای اشاره به آن گره استفاده میگردد.
· یک حالت گذر نشان دهنده پایان عملیات ورودی و آغاز عملیات خروجی است.
· توکن با دو رنگ مختلف از جمله قرمز و سبز برای تعیین حالت گذر استفاده میگردد.
· علاوه بر تراکنشها، گره »پایان« برای خاتمه کار، کاربر عادی اضافه میگردد.
نمایش گرافیکی از وظیفه 1 و وظیفه 2 از گراف Petri-Net در شکل 2 نمایش داده شده است.
در این مدل، TCB شامل اطلاعات تمام کارهای برنامه کاربردی در پایگاه داده است. هنگامی که یک کاربر یک وظیفه را اجرا میکند، مجموعهای از تراکنش های اجرا شده و تکمیل شده تشکیل میشود. هنگامی که یک تراکنش در TCB پیدا شد، توکن سبز به هر مکان مربوط به آن تراکنش در Petri-Net اضافه میگردد. زمانی که به تعداد مورد نیاز توکن و رنگ برای هر گره ورودی همسان باشند، حالت گذر امکانپذیر خواهد بود. هنگامی که یک حالت انتظار رخ می دهد، نشانه هر گره خروجی قرمز میگردد.