setakit.com
setakit.com

راه های مقابله با حملات SQL injection

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

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

در محاسبه خسارت های ناشی از SQL injection حتما باید از بین رفتن اعتماد مشتری را نیز در نظر گرفت، زیرا اطلاعات شخصی آن ها مانند شماره تلفن، آدرس ها و اطلاعات کارت های اعتباری آن ها به سرقت برده می شود.

قابل ذکر است با استفاده از این بردار به تمامی پایگاه های داده SQL می توان حمله کرد، اما وب سایت ها بیشتر از همه مورد هدف قرار می گیرند.

SQL queries

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

پیشگیری و کاهش SQL injection

روش های موثر زیادی جهت جلوگیری از حملات SQLI و همچنین ایجاد امنیت در مقابل آن ها وجود دارد.

اولین روش، اعتبارسنجی ورودی ها می باشد که در واقع به صورت نوشتن کدی است که می تواند منجر به شناسایی ورودی های غیر مجاز شود.

با این که روش اعتبار سنجی به عنوان بهترین روش در نظر گرفته می شود، اما با این حال می توان گفت به ندرت یک روش بی خطر است. واقعیت این است که در اکثر مواقع ترسیم تمامی ورودی های مجاز و غیر مجاز مقدور نیست؛ یا این که بهتر است گفته شود بدون ایجاد تعدادی مثبت کاذب که با عملکردهای یک برنامه تداخل ایجاد می نماید، غیر ممکن است.

به همین دلیل است که معمولا فایروال برنامه های تحت وب (WAF) به منظور فیلتر کردن SQLI و همچنین سایر تهدیدات انلاین مورد استفاده قرار می گیرد. برای ایجاد چنین امنیتی، به طور معمول، عملکرد WAF مبتنی بر لیستی بزرگ  و به روز از امضاهای بسیار دقیق می باشد بتواند درخواست های مخرب SQL را از بین ببرد.

فایروال های جدید برنامه های تحت وب، اغلب با سایر راه حل های امنیتی ادغام می شوند. از این طریق، یک WAF می تواند اطلاعات بیشتری را دریافت نموده تا بتواند امنیت بالاتری را نیز برقرار نماید.

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

فایروال برنامه های تحت وب WAF فورتی نت، از signature recognition، IP reputation و سایر روش های امنیتی جهت شناسایی و مسدود نمودن SQL injection با کمترین میزان مثبت کاذب استفاده می کند.

 

سایر مطالب مرتبط

حملات فیشینگ       حملات دیداس               حمله مرد میانی چیست     کلیک جکینگ

       حملات فیشینگ                        حملات دیداس                    حمله man in the middle        کلیک جکینگ یا کلیک دزدی