نفوذ به اسرار هكرها
تاريخ  :  1392/08/25
نويسنده  :  سيد محمدرضا موسوي پور
منبع مقاله : ايتنا
 استفاده روز افزون كاربران از برنامه‌هاي كاربردي تحت وب، پتانسيل پرخطرِ بسياري را از شبكه اينترنت به سمت كاربران آن سوق مي‌دهد.


اجرای حمله تزریق

حملات تزریق یکی دیگر از روش‌های حمله به برنامه‌های تحت وب است. در این حمله مهاجم ورودی‌های مخرب آلوده و ساختگی را بگونه ای تهیه می‌کند که کدی منطبق با زبان مفسرِ بوجود آوردنده آن ایجاد شود و از آن درست مانند آنچه در دیگر برنامه‌های معمول بکار می‌رود، استفاده می‌کند. برخی از انواع این حملات تزریق را در ادامه بررسی می‌کنیم.


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

حمله به اتصال داده

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


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


سرقت تابع درهم‌ساز که در رمزی‌سازی کاربرد دارند، یکی از مراحل این حمله است. در این حالت مهاجم با اجرای عملیات مطالعه و بررسی گواهی نامه‌های ویندوز و نیز جایگزینی مقادیر پارامترهای منبع داده‌ای که با اینترنت در ارتباط هستند، اقدام به سرقت توابع درهم‌ساز می‌کند.
در گام بعدی مهاجم بوسیله تغییر مقادیر و بررسی خطاهای بوجود آمده، اقدام به جستجو و شناسایی درگاه‌های باز سیستم می‌کند. آنگاه تلاش می‌کند بوسیله ربایش گواهی نامه‌های وب و ایجاد یک شناسه کاربری در آن به پایگاه داده متصل شود.


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


بطور مثال در ASP.NET بصورت پیش فرض، حداکثر تعداد ۱۰۰ تماس با زمان اتمام ۳۰ ثانیه در نظر گرفته شده است. بنابراین مهاجم تماس‌های همزمان متعددی بیش از این مقدار، با زمان اجرای بیش از ۳۰ ثانیه ایجاد خواهد نمود تا موجب اخلال در خدمت پایگاه داده و نرم‌افزار روی آن شود.


حمله به نرم‌افزارهای تحت وب مشتری

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


حمله تعیین مسیر مجدد پیام، تزریق به سرایندHTTP، تزریق به فریم، حمله درخواست‌های ساختگی، جلسه ربایی، حمله سر ریـز بافر، فریب‌کاری درARP، حمله کانال پنهان و حملات اکتيو ايکـس تنها بخشی از حملاتی است که توسط مهاجم صورت می‌گیرد.


حمله به سرویس‌های وب

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


این پروتکل‌ها همچون WSDL برای تشریح نقاط تماس؛ UDDI برای توصیف و پیدا کردن سرویس‌های وب؛ و پروتکل‌هایSOAP، برای ارتباطات بین وب سرورها می‌باشند که در معرض تهدید قرار دارند. مهاجم در فازهای اولیه اقدام به جمع‌آوری اطلاعات از سرویس وب می‌نمایند و حملاتی را ترتیب می‌دهد.
این عملیات با مشاهده‌ و جمع‌آوری ردپای اطلاعات UDDI یک برنامه وب همچون موجودیت‌های کسب و کار، سرویس‌های کسب و کار، الگوهای الزام اور و مدل‌هایT انجام می‌گیرد.


سپس مهاجم اقدام به مسمـوم نمودن کدهای XML سرویس وب می‌نماید. بدین صورت که با قرار دادن کدهای مخرب XML درون درخواست‌های SOAP، منجر به جابجایی و دستکاری داده‌های گره XML شده و یا موجب مسمومیت الگوی XML ‌شود. بنابراین منطق زبانی XML تولید خطا نموده و درنتیجه اجرای آن با شکست مواجه شده و متوقف می‌گردد.


از این به بعد مهاجم می‌توانند منابع موجودیت‌های خارجی XML را دستـکاری نمایند، بطوریکه منجر به اجرای فایلی خودسر گشته و یا اتصال TCP موردنظر را باز نموده و برای حملات آتی سرویس وب مورد سوء‌استفاده قرار دهند. مهاجم با مسموم نمودن XML توانایی انجام حمله اخـلال در خدمت را دارد و نیز ممکن است قادر به شکستن محرمانگی اطلاعات گردد.


جمـع‌ بندی

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


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


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


این مراحل با استفاده از ابزارهای مختلفی انجام می‌گیرد. این ابزارها همچون شمشیر دولبـه‌ای هستند که مهاجمان با استفاده از آنها سعی در تحقق اهداف غیرمجاز خود دارند و مدیران شبکه نیز از آن در جهت ایمنی و اجرای سیاست‌های امنیتی بهره می‌برند.
پیروزی در این رقابت نیازمند کسب دانش و آگاهی بیشتر از رقیب بوده و مستلزم آن است که با تجزیه و تحلیل قابلیت‌ها و نقاط ضعف در مجموعه تحت اختیار بتوانیم سازوکار مناسبی را جهت امنیت برنامه‌های تحت وب ارائه داده و تا حد امکان هزینه‌های رخنـه‌گری را کاهش دهیم.


صفحات -> 1 - 2


4.7/5 امتياز (3)
نظرات
نام
نام خانوادگي
نشاني پست الكترونيكي
متن
Site : www.vwideas.com
Email : info@vwideas.com
Phone : 021 - 66925810
TelFax : 021 - 66924750