یکشنبه, ۹ اردیبهشت, ۱۴۰۳ / 28 April, 2024
مجله ویستا

حملات تزریق دو مرحله ای ، جدید و خطرناک


حملات تزریق دو مرحله ای ، جدید و خطرناک
بسیاری از روشهای حمله از طریق تزریق كد (Code Injection ) ، به سمت برنامه های كاربردی تحت وب ( Web Application ) نشانه رفته اند كه بسته به نوع روش مورد استفاده می توانند اعمالی مانند دزدیدن اطلاعات جلسه كاری (Session ) یا اجرای یك دستور SQL را انجام دهند. مواقعی پیش می آید که نفوذگر می تواند یک کد مخرب را در یک محل ذخیره کند تا بعدها بتواند راهی برای اجرای آن پیدا کند. این روش به حمله دو مرحله ای (Second Order ) موسوم است . یک حمله دو مرحله ای از لحاظ اینکه کد در چه قسمتی ذخیره می شود به چند دسته تقسیم می شود که در قسمت بعد به آن خواهیم پرداخت.
●پیش زمینه :
در اکثر موارد هدف هکر از تزریق یک کد ، به یک برنامه كاربردی وب ، رسیدن به یک پاسخ سریع از میزبان مورد حمله است. روشهای معمول برای حمله از طریق تزریق کد به شرح زیر می باشند :
▪Html-Embeded : با استفاده از این نوع حمله ، هكر وانمود می كند كه یك صفحه از سایت را دیفیس كرده است. این حمله از آنجا ناشی می شود كه برنامه كاربردی و یا اشكالاتی كه در ترجمه كدهای HTML در مرورگر ا وجود دارد ، نمی توانند به درستی صفحه درخواستی كاربر را تجزیه و تحلیل كنند و با خطا مواجهه می شوند و این خطا به همراه قسمتی از صفحه اصلی نمایش داده می شود و به نظر می آید كه صفحه اصلی توسط هكر تغییر كرده است.
▪Cross-Site Scripting : معمولا برای اجرای یک کد اسکریپتی در سمت كاربر مورد استفاده قرار می گیرد که این كد توسط هکر کنترل می شود و برای اهدافی چون سرقت اطلاعات قربانی یا نصب یک تروجان روی کامپیوتر قربانی استفاده می شود.
▪Sql Injection : این روش به جای فرستادن اطلاعات توسط یك فرم به سمت سرور ، یک کد sql را می فرستد که می تواند باعث دستیابی غیر مجاز به اطلاعات بانک اطلاعاتی یا منجر به اجرای یک اسکریپت روی سرور شود که می تواند منجر به آشکار شدن اطلاعات غیر مجاز برای هكر گردد.
▪Buffer Overflow : در این روش هكر ، یک تکه کد خاص را به سمت سرور یا برنامه كاربردی ارسال می كند. از این روش برای تاثیر گذاری روی حافظه برنامه ها و ایجاد پتانسیل لازم برای یک حمله DOS یا اجرای یک تکه کد خطرناك استفاده می شود.
▪File includes :یک آسیب پذیری معمول است که اجازه می دهد تا هکر اطلاعات مخربی مثل مسیر یک فایل یا متغییر های تنظیماتی سیستم عامل را تغییر دهد و یا با استفاده از اطلاعاتی كه از آنها به دست می آورد می تواند سیستم را به دست بگیرد.
مسایلی وجود دارد كه در یك حمله دخیل می باشند:
▪زمان : چه هنگامی حمله در برنامه كاربردی تاثیر می گذارد و هكر پاسخ می گیرد ؟ به صورت بی درنگ ، اجرا در پیش زمینه در زیر پروسه های مختلف
▪موقعیت: در چه مكانی كدهای تزریق می شوند ؟ كلاینت ، سرور اصلی یا سرور فرعی
▪محیط : در چه محیطی كدهای تزریقی ، اجرا می شوند ؟ مرورگر مشتری ، ایستگاه كاری مشتری ، كنسول مدیریت
▪منبع : از چه مكانی از برنامه كاربردی كد تزریق می شود؟ فرم تعیین هویت مشتری ، داده های ذخیره شده در پایگاه داده
راههای زیادی برای تزریق كدها به برنامه های كاربردی وجود دارد كه در آنها پس از تزریق كد ، هكر سریعا جواب را دریافت می كند. این دسته از حملات را ، حملات یك مرحله ای می نامیم. اما در حملات تزریق دو مرحله ای (Second-order ) هكر سریعا جوابی دریافت نمی كند و ممكن است كه اصلا برای یك یا چند ماهی اصلا هیچ قربانی برای كدهای مخرب خود پیدا نكند و در حالات دیگر امكان دارد برنامه كاربردی كه آسیب پذیر است و اجازه تزریق كد را می دهد همان برنامه های نباشد كه مورد حمله واقع می شود.
●مفهوم تزریق کد دو مرحله ای :
امروزه برنامه های کاربردی تحت وب هر روز گسترده تر و پیچیده تر می شود و تمایل زیادی به پردازش اطلاعات فرمها قبل از ارسال به سرور به وجود آمده است. حتی اگر اطلاعات برای یک مولفه قابل اطمینان باشد هیچ تضمینی وجود ندارد که دیگر مولفه ها نیز از این قانون تبعیت کنند.
●دسته بندی تزریق کد دو مرحله ای :
۱- Frequency-Base Primary Application :
این دسته شامل برنامه هایی است که درخواستهای کلاینت ها را با استفاده از مدلهای استاتیک دوباره پردازش می کنند. برای مثال برنامه هایی که ۱۰ جستجوی متناوب را انتخاب می کنند و یا درخواستهای معمول کاربران را مبنی بر « پیدا كردن آخرین مقاله در فلان موضوع » یا «پیشنهاد دیگر در همین مورد» را پاسخ می دهند. حمله از این روش معمولا دیگر کاربران برنامه اصلی را نیز هدف قرار می دهند.
۲- Frequency-Base Secondary Application :
این گروه شامل برنامه هایی است که در ابتدا کد تزریقی دریافت نمی کنند ولی در عوض عملیاتی از یک برنامه کاربردی را پردازش می کنند که این کار بصورت استاتیک انجام می پذیرد. مثال این گروه شامل برنامه ای است که درخواستهای وب یا فایلهای ثبت خطا را بررسی می کنند و اطلاعاتی مانند "متداولترین مرورگر وب" یا "متداولترین عبارات جستجو " و یا ... را استخراج می کنند.حمله از این روش معمولا کاربران Admin را هدف قرار می دهد.
۳-Secondary Support Application :
این دسته شامل برنامه هایی است که بصورت داخلی برای پشتیبانی از برنامه های اصلی بکار می رود. این برنامه ها اغلب اطلاعات مشخص شده بوسیله برنامه های کاربردی اولیه را دستکاری می کنند یا نمایش می دهند و اغلب اطلاعاتی را که باید حفاظت شود را تضمین می کنند. در اغلب موارد برنامه های ثانویه برای نگهداری یا نمایش اطلاعات ارسال شده از كاربر بکار می رود تا این اطلاعات فقط توسط کلاینت یا مالک آن قابل دیدن باشد. مثال این دسته شامل برنامه هایی است که از Help-Desk و از خط تلفن برای بروز کردن اطلاعات مشتری استفاده می کنند.حمله با این روش معمولا برنامه های کاربران داخلی را تهدید می کند و گاه ممکن است با مهندسی اجتماعی آمیخته شود. مانند تلفن کردن به قسمت پشتیبانی و گفتن اینکه "به نظر می رسد که آدرس من اشتباه است و من نمی توانم آنرا تغییر دهم.آیا شما می توانید آنرا برای من تغییر دهید..."
۴-Casscaded Submission Application :
این گروه شامل برنامه هایی (كه بیشتر برنامه های بحرانی هستند) است که استفاده چند کلاینت از یک پردازه را امکان پذیر می کند. برای مثال برنامه ای که کاربر را مجبور به ساختن یک اکانتی شامل آدرس كاربر می کند که آدرس برای عملیات برنامه استفاده می شود مانند" پیدا کردن نزدیکترین مکان به من " یا پیدا کردن افرادی که عبارت Sql " افرادی که در دانشگاه من درس می خوانند " در مورد آنها صدق می کند و نتیجه حمله معمولا روی پایگاه داده انتهایی می باشد.
●محلهای ذخیره سازی :
کدهای تزریق شده ممکن است به روشهای مختلفی ذخیره شوند و تکنیک ذخیره شدنشان معمولا نوع حمله را مشخص می کند. برای ذخیره کد معمولا ۳ محل موجود است :
۱- Temporary Storage : برای مثال جستجوی قبلی برنامه و سایر اطلاعات ذخیره شده (Data Cached )
۲-Short-Term Storage :برای مثال اطلاعات ذخیره شده در یک لاگ روزانه یا هفتگی که هر از چند گاهی نگاهی به آنان می شود.
۳-Long-Term Storage :اطلاعات در بانکهای دائمی ذخیره می شود که حذف آنها بایستی بصورت دستی انجام گیرد.
نویسنده : مهدی بهاری
منبع : سایت اطلاع رسانی امنیت اطلاعات ایران


همچنین مشاهده کنید