حملات تزریق کد Sql

نوشته شده توسط رامین در ۶ فروردین ۱۳۹۴

شاید باور اینکه در سال ۲۰۱۴ حملاتِ تزریقِ کدِ SQL1 در رتبه ی دوم۲ حملاتِ شناخته شده قرار دارد کمی دور از انتظار باشد ولی واقعیتی است که نمی‌توان آن را نادیده گرفت. هکرها همچنان به این نوع حملات علاقه ی زیادی دارند و وب‌سایت‌ها و برنامه‌های زیادی در جهان در معرض اینگونه حملات قرار دارند.

sqli

در گزارش اخیری که شرکت امنیتی Ponemon منتشر کرده، این شرکت مدعی شده در نظرسنجی که انجام داده است ۶۵٪ از پاسخ‌دهندگان در یک سال گذسته مورد حمله از طریق تزریق کد SQL قرار گرفتند و تنها تعداد کمی از سازمان‌ها تدابیری برای جلوگیری از این نوع حملات اندیشیده‌اند.

ابزارها و اسکریپت‌های بسیار زیادی وجود دارند که به اسکریپت‌کیدی‌ها۳ این اجازه را می‌دهد تا به سرعت و به سادگی به اسکن انبوه باگ های SQL پرداخته و روش‌های مختلف تزریق کد SQL را بر روی حجم قایل توجهی از سایت‌ها و برنامه‌ها در زمان بسیار کوتاهی امتحان کنند، به همین دلیل بنظر می‌رسد ۳۵٪ از افرادی که در نظرسنجی فوق چیزی از حملات SQLi نگفته‌اند، در حقیقت هیچ نظارتی بر روی سرورها و برنامه‌های خود ندارند چرا که این نوع از حملات همواره و بدون توقف به سازمان‌ها صورت می‌گیرد.

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

۱آیا نیازمند‌های امینیتی در قرارداد با تیم توسعه‌ی نرم‌افزار در نظر گرفته شده است؟

۲آیا تیم‌توسعه‌ی نرم‌افزار می‌باید از استاندارهای خاصی در توسعه‌ی چرخه‌ی عمر۴ امن پیروی کنند؟

۳آیا تیم‌توسعه‌ی در هنگام شروع توسعه‌ی نرم‌افزار، در مورد کدنویسی امن آموزش کافی دیده‌اند؟

۴آیا تیم‌توسعه‌ در مورد نقص‌های امنیتی برنامه‌ی خود که در آینده ممکن است مشخص شود، پاسخگو هستند؟

اگر پاسخ به هر یک از سؤالات فوق منفی باشد، نیاز است نت سازمان بندهایی به‌قرارد خود اضافه کند تا بتواند موارد لازم را به خوبی پوشش دهد.

صرف‌نظر از تمام این‌ پرسش و پاسخ‌ها، سازمان‌ها می‌توانند با استفاده از ابزار های پویش SQLi یا انجام تست‌های نفوذ بر رویِ سامانه‌هایِ خود به‌ تشخیض نفوذپذیری‌های SQLi پرداخته و از تیم‌توسعه‌ بخواهند تا این مشکلات را مرتفع نمایند، به این صورت تا حد بسیار زیادی می‌توان از آسیب‌پذیری‌های حملات تزریق کد SQL جلوگیری کرد.

بنیاد ۵OWASP در پایگاه اینترنتی خود راهنمایی۶ را منتشر کرده که به توسعه‌دهنگان و سازمان‌ها اجازه می‌دهد بتوانند با استفاده از آن برنامه‌ها و سامانه‌های خود را مورد ارزیابی قرارداده و از آن برای خنثی کردن حملات SQLi بهره ببرند. همچنین سازمان‌ها می‌توانند با ابزارهایی نظیر آن چیزی که اسکریپت‌کیدی‌ها استفاده می‌کنند به بررسی سامانه‌های خود بپردازند و نفوذپذیری‌ها احتمالی آن را کشف کنند. استفاده از تجزیه و تحلیل ایستا برنامه۷ نیز می‌تواند تا حد قابل توجهی از حملات احتمالی SQLi را خنثی کند. استفاده از دیواره‌های آتش مخصوص سامانه‌های برخط نیز می‌تواند تا جلوی بسیاری از حملات SQLi را گرفته و از سازمان در مقابل این نوع از حملات محافظت کند.

در نهایت چیزی که می‌بایست در نظر داشت این است که هیچ سازمانی از حملات SQLi مصون نخواهد بود و نیاز است که تدابیر لازم برای جلوگیری از این حملات اتخاذ شود چرا که اطلاعات هر سازمان با ارزش‌ترین دارایی آن سازمان است.

 

پاورقی‌ها (یا چیزی شبیه به آن)

۱SQL injection (SQLi)

۲http://hackmageddon.com/category/security/cyber-attacks-statistics

۳Script kiddy به فرد غیر ماهری اطلاق می‌شود که اسکریپت‌ها و برنامه‌های توسعه داده شده توسط دیگران برای حمله به سیستم‌های کامپیوتری و وب سایت‌ها استفاده می‌کند بدون آنکه دقیقاً از آنچه اتفاق می‌افتد مطلع باشد. این اصطلاح معمولاً برای نوجوان‌هایی استفاده می‌شود که فاقد دانش برنامه نویسی، امنیت و شبکه می‌باشند و با سو استفاده از برنامه‌های نوشته شده توسط دیگران، سعی دارند تا دوستان خود را تحت تأثیر قرار داده و یا در جوامع کامپیوتری اعتباری بدست آورند. در حقیقت این اصلاح به طور معمول به عنوان یک توهین تلقی می شود.

۴SDLC مخفف Software Development Life Cycle به سلسله گام‌ها و یا فازهایی گفته می‌شود که برای ارائه‌ی مدل، توسعه، مدیریت و بهبود یک برنامه یا قطعه کد لازم است طی شود، گفته می‌شود.

۵Open Web Application Security Project سازمانی غیر انتفاعی است که بر امنیت نرم‌افزارهای برخط تمرکز دارد. در حقیقت این بنیاد شامل شرکت‌ها، سازمان‌های آموزشی و افرادی از سراسر جهان است که برای تولید، انتشار و آموزش نرم‌افزارهای ایمن به صورت داوطلبانه تلاش می‌کنند و مقلات، ابزارها، اسناد، روش‌ها و فناوری‌های بدست آمده جهت ایمن سازی سامانه‌های برخط را به صورت آزاد و رایگان و برای عموم منتشر می کنند.

۶https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet

۷Static program analysis روشی است که در آن کد منبع برنامه مورد بررسی و تحلیل قرار می‌گیرد. در این روش کد اجرا نمی‌شود و تنها توسط نرم‌افزار و همینطور یک متختصص تجزیه و تحلیل برنامه‌ها، مورد بررسی قرار می‌گیرد .

بدون دیدگاه دسته‌بندی : امنیت

دیدگاه‌تان را ارسال کنید ...