ده شیوه اصلی حملات در وب ۲٫۰

ده شیوه اصلی حملات در وب ۲٫۰

وب ۲٫۰ در واقع عنوانی ابداعی برای معرفی نسل جدید برنامه های کاربردی تحت وب است. نقشه های گوگل، تویتر، فیس بوک و مای اسپیس چند مثال از وب ۲٫۰ هستند. در یک سوی این بحث سرویس های متنوع وب قرار دارند که سرور ها را بعنوان اجزای مهم فن آوری آی تی توانمند ساخته اند و در طرف دیگر کلاینت های آژاکس (AJAX) و برنامه های کاربردی Rich Internet در دسترس اند، که سبب تسهیل در ارتباط با رابط کاربری درمرورگر کاربر نهایی می گردند.

XML تاثیر قابل توجهی بر هر دو لایه نمایش و جابجایی (HTTP/HTTPS) گذارده است. XML تا حدودی در حال جایگزینی HTML در لایه نمایش است. در حالی که SOAP (Simple Object Access Protocol) در حال تبدیل شدن به انتخاب اول ساز و کار جابجایی مبتنی بر XML است.

نگرانی های امنیتی وب ۲٫۰ – بازسازی صنعت
این تحول تکنولوژیک از سوی دیگر، نگرانی های امنیتی جدید و شیوه های حمله نوینی به وجود آورده. کرم های Yamanner ، Samy و Spaceflash مثال هایی از برنامه های سو استفاده گر وابسته بر چارچوب های آژاکس هستند، که راههای جدیدی از حملات و به خطر انداختن اطلاعات محرمانه کاربران را ارائه داده اند.

در بخش «سرورها» ، خدمات وب مبتنی بر XML جایگزین برخی از ویژگی های کلیدی شده و امکان دسترسی به برنامه های کاربردی توزیع شده از طریق واسط های خدمات وب را فراهم نموده است. این قابلیتهای گسترده با ویژگی از راه دور بودنشان روش هایی فراتر از به کاربردن دستورات GET, POST یا SOAP در مرورگر وب را برای باز کردن حفره های جدید در برنامه های کاربردی می طلبد. در سمت دیگر ، چارچوبهای RIA که بر روی XML ، XUL ، فلش ،Applets ، JavaScripts اجرا می شوند، مجموعه های جدیدی از شیوه های ممکن حملات را به روش های بالا افزوده اند. به طور کلی RIA، آژاکس و وب سرویس ها، ابعاد تازه ای به مسائل امنیت برنامه های تحت وب اضافه کرده اند.
در این نوشته لیستی از ۱۰ شیوه مهم حملات ضد امنیتی همراه با مروری خلاصه بر هر روش آورده شده است :

۱٫ حملات تزریق کد (Cross-site scripting) در آژاکس
این یکی از مهمترین خطرات است که هم اکنون به شدت هم فراگیر شده است. در چند ماه گذشته ، تعدادی حملات از نوع تزریق کد (cross-site scripting) مشاهده شده، که در آن کدهای مخرب جاوا اسکریپت از یک وب سایت خاص بر روی مرورگر کاربر قربانی اجرا شده و به این وسیله اطلاعات مهم او در خطر افشا و سو استفاده قرار می گیرند. مثال ملموس این حملات، کرم موسوم به Yamanner است که با استفاده از فرصت های تزریق کد، ایمیل یاهو که مبتنی بر آژاکس است را مورد حمله قرار داد. یکی دیگر از نمونه های اخیر کرم سامی Samy بود که با سوء استفاده از نقص MySpace.com حملات تزریق کد انجام می داد. آژاکس در بخش کاربر نهایی، توسط اسکریپت های نادرستی که توسط مهاجم سو استفاده کننده نوشته می شود آسیب پذیر است. مهاجم تنها نیاز به نیرنگی برای ارسال لینک های مخرب به کاربران دارد تا بدون اینکه باعث شک و تردیدی شود، آنها را به بازدید از صفحه های مشخصی در مرورگر خود رهنمون سازد. این آسیب پذیری در برنامه های سنتی نیز موجود است ، اما آژاکس ابعاد جدیدی به آن اضافه کرده است.

۲٫ مسمومیت XML
ترافیک مبتنی بر XML میان سرور و مرورگر در بسیاری از برنامه های کاربردی وب ۲٫۰ مورد استفاده قرار می گیرد. برنامه های کاربردی وب مصرف کننده بلوک های XML از کلاینت های آژاکس هستند. این امکان وجود دارد که این بلوک توسط مهاجم آلوده شود. این روش غیرمعمولی نیست که کد های بازگشتی را مشابه گره های تولیدی XML به دفعات اعمال کرد. اگر موتور برنامه ضعیف باشد ممکن است این الودگی سبب عدم ارائه خدمات روی سرور شود. همچنین بسیاری از مهاجمان اسناد XML ناهنجار ایجاد می کنند که می تواند منجر به از هم گسیختن منطقی مکانیسم های تجزیه مورد استفاده در سرور شود. دو نوع مکانیسم تجزیه در بخش سرور وجود دارد- SAX و DOM. همان شیوه حمله در خدمات وب نیز استفاده می شود زیرا آنها نیز مصرف کننده پیامهای SOAP هستند و پیامهای SOAP چیزی جز پیام های XML نیست. تطابق پذیری در مقیاس زیاد از XML در لایه برنامه های کاربردی، فرصت های جدیدی برای استفاده از این شیوه حمله را به روی هکرها گشوده است.

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

۳٫ کدهای اجرایی آلوده آژاکس
فراخوانی آژاکس بسیار مخفیانه انجام می شود و کاربران نهایی قادر نخواهند بود بدانند که آیا مرورگر با استفاده از XMLHTTPRequest فراخوانی آژاکس را انجام داده یا خیر. هنگامی که مرورگر فراخوانی آژاکس به هر وب سایتی را انجام می دهد، کوکی ها را برای هر درخواست تکرار می کند. این امر می تواند منجر به به وجود امدن فرصت های بالقوه برای سو استفاده و حمله شود. برای مثال ، کاربری به نام جان را در نظر بگیرید که وارد حساب بانکی خود شده و بر روی سرور هویت او تصدیق شده. پس از تکمیل فرآیند تأیید هویت او، یک کوکی جلسه (session) دریافت می کند. صفحه بانکی او حاوی اطلاعات بسیار حیاتی است. حالا اگر به فرض او بخواهد به مرور در صفحات دیگر وب در حالی که هنوز صفحه مربوط به حساب بانک اش باز است بپردازد و از قضا از صفحه ایجاد شده توسط یک هکر بازدید کند چه؟ در این صفحه مهاجم یک کد مخفیانه آژاکس نوشته است که باعث ایجاد یک فراخوانی پنهانی و بدون رضایت جان می شود، که نتیجه اش بازخوانی اطلاعات حساس از صفحات و ارسال این اطلاعات به وب سایت مهاجم است. این امر منجر به بروز نقض امنیتی و نشت اطلاعات محرمانه خواهد شد.

۴٫ تزریق آر اس اس / اتم
این نوع جدیدی از حملات وب ۲٫۰ می باشد.فیدهای(خوراک) آر اس اس وسیله متداول و معمول اشتراک اطلاعات در پورتال ها و برنامه های کاربردی وب می باشند. این فید ها توسط برنامه های کاربردی وب به مرورگر گیرنده ارسال می شوند. اما هکر می تواند کدهای JavaScripts را به عنوان خوراک آر اس اس برای شروع حملات به مرورگر گیرنده تزریق کند. کاربری که از این وب سایت خاص بازدید می کند، توسط صفحه آر اس اس و اسکریپت های مخرب درون آن – اسکریپتی که می تواند نرم افزاری روی رایانه کاربر نصب کرده و یا کوکی سرقت کند – آلوده می شود.این نوعی حمله مهلک در دسته حملات متمرکز بر گیرنده است. از همه بدتر ، می توان آن را جهش یافته تر به انجام رساند. با تبدیل شدن آر اس اس و اتم (ATOM) به بخشی جدایی ناپذیر از برنامه های وب ، مهم است که برخی کاراکترهای خاص در بخش سرور قبل از افشا شدن داده های کاربران نهایی فیلتر شوند.

۵٫ اسکن و سرشماری WSDL
WSDL (زبان تعریف سرویسهای وب) یک رابط خدمات وب است. این فایل شامل اطلاعات کلیدی در مورد فن آوری ها ، روش های مورد استفاده ، الگوها و غیره است. این اطلاعات بسیار حساس هستند و می توانند در تعریف روش های سو استفاده بسیار موثر باشند. توابع یا روش های غیر ضروری که باز نگه داشته شده اند به طور بالقوه می توانند منجر به بروز فاجعه ای برای خدمات تحت وب شوند. مهم است که از فایل WSDL محافظت کرده و یا دسترسی به آن را محدود ساخت. در یک سناریوی واقعی ، کاملا امکان پذیر است که آسیب پذیری های متعدد با استفاده از اسکن WSDL کشف گردند.

۶٫ اعتبار سازی در بخش کاربر بر طبق روال آژاکس
برنامه های کاربردی مبتنی بر وب ۲٫۰ از روال معمول آژاکس برای انجام بسیاری از کارهای بخش کاربر ، از جمله اعتبارسنجی نوع اطلاعات کاربر ، بررسی محتوا، زمینه های داده ، و غیره استفاده می کنند. به طور معمول ، این چک کردن کاربر باید مورد حمایت کنترل های بخش سرور نیز قرار گیرد. اکثر توسعه دهندگان قادر به انجام این کار نیستند؛ استدلال انها پذیرفتن اعتبارسنجی است که در روال آژاکس مورد مراقبت واقع شده است. این امر کاملا امکان پذیر است که اعتبار سنجی مبتنی بر آژاکس را دور زده و درخواست های POST یا GET را مستقیم به نرم افزار داد که می تواند منابع کلیدی نرم افزار تحت وب را مورد حمله قرار دهد. به این دلیل است که لیست شیوه های حمله احتمالی که هکر ها می توانند در زرادخانه خود داشته باشند، گسترش می یابد. پس روتین های آژاکس هم روش دیگری است.

۷٫ مسائل مسیریابی خدمات وب
پروتکل های امنیتی خدمات وب دارای خدمات WS مسیریابی می باشند. WS – مسیریابی به پیام های SOAP اجازه می دهد در توالی خاص از گره های مختلف در اینترنت حرکت کنند. اغلب پیام های رمزگذاری شده از این گره ها عبور می کنند. مدارا کردن در هر یک از گرههای میانی نتیجه ای جز امکان دسترسی به پیام های SOAP هنگام سفر بین دو نقطه توسط مهاجمان را در بر ندارد. این مسئله می تواند نقض امنیتی جدی برای پیام های SOAP قلمداد شود. همانطور که برنامه های کاربردی وب در حال حرکت به سمت چارچوب خدمات وب می باشند، توجه ها بیشتر متمرکز بر این پروتکل جدید و شیوه های حمله جدید ایجاد شده بر اساس این روش می گردد.

۸٫ دستکاری پارامترها با SOAP
خدمات وب اطلاعات و متغیرهایی از پیام های SOAP را مصرف می کنند. دستکاری این متغیر ها امکان پذیر است. به عنوان مثال ، «۱۰» یکی از گره ها در پیام های SOAP است. مهاجم می تواند شروع به دستکاری این گره کرده و سعی در تزریق های مختلف – SQL ، LDAP ، XPATH ، پوسته خط فرمان – کرده و به جستجو برای کشف روش های احتمالی حمله برای در اختیار گرفتن کنترل ماشین های داخلی بپردازد. اعتبار سنجی ورودی نادرست و یا ناکافی در کد خدمات وب باعث می شود برنامه کاربردی ارائه دهنده خدمات وب را باز و برای سو استفاده مهاجمان به حال خود رها کنیم. این شیوه جدیدی از حمله را معرفی می کند که برنامه های وب در حال اجرا با خدمات وب را هدف قرار داده است.

۹٫ تزریق XPATH در پیام SOAP
XPATH یک زبان برای جستجوی(querying) اسناد XML است و شبیه به جستجوی SQL است که در آن ما می توانیم بعضی از اطلاعات خاص(پارامترها) را ذخیره کرده و سطرهای کد را از پایگاه داده بیرون بکشیم. قابلیت های تجزیه XPATH توسط زبان های مختلف پشتیبانی می شود. برنامه های کاربردی تحت وب به طور معمول اسناد XML بزرگی مصرف کرده و بسیاری مواقع این برنامه ها ورودی از کاربر نهایی و فرم داده های XPATH می پذیرند. این بخش از کدها به تزریق XPATH آسیب پذیر هستند. اگر تزریق XPATH با موفقیت انجام پذیرد، مهاجم می تواند مکانیسم های تأیید هویت را دور زده یا باعث از دست رفتن اطلاعات محرمانه گردد. تعداد کمی نقص شناخته شده در XPATH وجود دارد که می تواند به منزله اهرمی کار مهاجم را راحت تر کند. تنها راه برای جلوگیری از این شیوه حمله ارائه اعتبار سنجی ورودی مناسب قبل از در دسترس قرار گرفتن ولیوو ها توسط کدهای XPATH است.

۱۰٫ دستکاری دودویی کلاینت RIA در حجم وسیع
نرم افزارهای غنی اینترنت (RIA) از ویژگی های بسیار غنی رابط کاربری از قبیل فلش ، کنترل های اکتیو ایکس و یا Applets به عنوان رابط اصلی یک برنامه وب استفاده می نمایند. مسائل امنیتی چندی در این چارچوب وجود دارند. یکی از مسائل عمده مدیریت جلسه (session management) است زیرا این مورد در حال اجرا در مرورگر و به اشتراک گذاشتن جلسه درهمان مرورگر است. همزمان چون کل مولفه باینری در محل کلاینت دانلود شده، مهاجم می تواند با شیوه مهندسی معکوس فایل باینری کد را decompile کند. این امر امکان پذیر است که این فایل های باینری پچ شده و هکر از بعضی از منطق های اعتبارسنجی موجود در کد عبور کرده و آنها را دور بزند. این هم یکی دیگر از شیوه های جالب حمله در چارچوب وب ۲٫۰ به شمار می رود.

نتیجه
آژاکس ، RIA و خدمات وب ۳ فن آوری مهم در کاربرد درفضای وب ۲٫۰ ارائه کرده اند. این فن آوری ها با وعده عرضه معادلات جدید به جداول ، تقویت اثربخشی کلی و کارایی برنامه های کاربردی وب عرضه شده اند. با این فن آوری های جدید مسائل امنیتی جدیدی پا به عرصه وجود گذاشته اند، و نادیده گرفتن آنها می تواند به فاجعه بزرگی برای شرکت های بزرگ دنیا منجر شود. در این مقاله ، بحث ما محدود به تنها ۱۰ شیوه حمله بود ، اما چندین و چند شیوه حمله دیگر نیز وجود دارد. افزایش آگاهی درباره مسائل مربوط به امنیت وب ۲٫۰ ، شیوه های برنامه نویسی را امن تر کرده و استفاده از شیوه های امن بهترین دفاع در برابر حمله این شیوه های جدید است.

برچسبها
مطالب مرتبط

دیدگاهی بنویسید.

بهتر است دیدگاه شما در ارتباط با همین مطلب باشد.

0