امنیت

معرفی و شرح Cookie hijacking و راههای مقابله با آن

Cookie hijacking پروسه hack است که طی  آن نفوذگر دسترسی غیرمجاز به اطلاعاتی محرمانه به شیوه ای تسهیل نشده توسط کاربر و یا sessionهای غیرایمن دست پیدا می کند.

Cookie hijacking چیست؟

به Cookie hijacking همچنین session hijacking یا سرقت cookie نیز گفته می شود.
Cookie hijacking پروسه hack است که طی  آن نفوذگر دسترسی غیرمجاز به اطلاعاتی محرمانه به شیوه ای تسهیل نشده توسط کاربر و یا sessionهای غیرایمن دست پیدا می کند.

به طور مشخص cookie hijacking به معنی نفوذ و سرقت cookieهایی که شامل اطلاعات محرمانه جهت احراز هویت یا ارتباط با یک وب سرور راه دور نیاز است، می باشد.
Cookie hijacking توسط نفوذگرها با استفاده از کامپیوتری بین یک node و سرور یا به وسیله ایجاد دسترسی به cookieهای ذخیره شده در کامپیوتر کاربر انجام می شود.
همچنین یک نفوذگر از IP مسیریاب منبع یا packetهای IP جهت دسترسی غیرمجاز بین دو node در حال ارتباط استفاده می نماید. سپس packetهای محتوی cookie را به صورتی route می کند تا پیش از رسیدن به مقصد از کامپیوترش عبور کنند.
از آنجا که گاهی اوقات از cookie hijacking جهت انجام حملات DOS استفاده می شود به عنوان حملات DOS نیز معروف شده است.

روش ها

چهار روش اصلی جهت انجام cookie hijacking وجود دارد. که عبارتند از:
۱- session fixation: مهاجم SID(Session ID) کاربر را به SID که برای او شناخته شده است، تنظیم می کند. برای مثال ایمیلی با محتوای یک لینک که شامل SID ویژه ای می باشد، به کاربر ارسال می کند. سپس مهاجم می بایست منتظر بماند تا کاربر login کند.

۲- session sidejacking: مهاجم از packet sniffing جهت مشاهده ترافیک بین دو بخش به منظور دزدیدن session cookie بهره می برد. بسیاری از وبسایت ها از رمزنگاری SSL جهت صفحات login بهره می برند تا از دستیابی مهاجمان به کلمه عبور جلوگیری نمایند اما برای سایر بخشهای وبسایت استفاده نمی نمایند.. این مسئله به مهاجمان امکان می دهد تا ترافیک شبکه را بخوانند و بدین وسیله تمامی اطلاعات مربوط به سرور یا صفحات وبی که client مشاهده می کند را جدا کنند. از آنجایی که این اطلاعات شامل session cookieهاست، بدین وسیله با اینکه کلمه عبور را ندارد خود را به جای قربانی جا می زند. محل دسنرسی به Wi-Fi امن نشده به صورت ویژه آسیب پذیر هستند. چنانچه هر شخصی که در آن شبکه shareشده است به طور کلی قادر به خواندن اکثر ترافیک وب بین nodeها و access point خواهد بود.

۳- مهاجم با دسترسی فیزیکی به سادگی با استفاده از  ایجاد محتوای فایل یا حافظه بخش مناسب و لازم هر یک از کامپیوتر کاربران یا سرور، مبادرت به دزدیدن session key می نماید.

 ۴- cross-site scripting: مهاجم کامپیوتر کاربر را جهت اجرای کدی به نظر قابل اعتماد که به ظاهر متعلق به سرور است، فریب می دهد تا به او امکان تهیه کپی cookie یا اجرای دیگر عملیات را بدهد.

پیشگیری و مقابله

روش های مقابله با session hijacking به شرح زیر می باشند:

_ یک راه حل متن باز(open source) ArpON “ARP handler inspection” می باشد. این نرم افزار یک potable handler daemon می باشد که پروتکل ARP را به منظور جلوگیری از حملات MITM به واسطه ARP Spoofing ، ایمن می سازد. همچنین حملات مشتق شده از آن همچون: حملات Sniffing، hijacking، Injection، Filtering و همچنین حملات پیچیده تر همچون: DNS Spoofing، WEB spoofing، Session Hijacking و SSL/TLS Hijacking را بلوکه می نماید.

_ رمزگذاری نرافیک داده عبوری بین بخش ها. به ویژه session key و ترافیک همه sessionها با استفاده از SSL/TLS. این تکنیک به صورت گسترده در سرویس های بانکی بر پایه وب و دیگر سرویس های تجاری استفاده شده است. چرا که به صورت کامل از حملات سبک sniffing جلوگیری می کند. اگر همچنان انجام آن با چند نوع دیگر session hijack امکانپذیر خواهد بود.

_استفاده از شماره های اتفاقی بلند به عنوان session key. این مسئله ریسک آسان حدس زده شدن session key را با روش های سعی و خطا یا حملات brute force را کاهش می دهد.

_ تغییر session id پس از login موفق. این روش از session fixation جلوگیری می نماید چرا که مهاجم session id کاربر را بعد از اینکه login کند نمی داند.

_ برخی سرویس ها چک های ثانویه  جهت هویت کاربر انجام می دهند. برای مثال یک وب سرور با هر request که ارسال میکند چک می کند که نشانی IP کاربر با آخرین IP به کار رفته در آن session برابر باشد. این روش از حملات توسط شخصی که یک IP استفاده می کند جلوگیری نمی نماید اما برای شخصی که IP او در طول یک session تغییر می کند، خسته کننده خواهد بود.

_ برخی سرویس ها مقادیر cookie را با هر request تغییر خواهد داد. این روش به طور چشم گیری مسیرهایی که مهاجم جهت ورود، اداره و آسان تعیین هویت کردن حمله ایجاد می کند را کاهش می دهد اما منجر به مشکلات تکنیکی خواهد شد.(برای مثال دو request در زمانهای نزدیک به هم و به صورت قانونی به یک حلقه  چک خطا بر روی سرور، هدایت می شوند.)

_ کاربران می بایست پس از پایان استفاده از وبسایت، log out نمایند. اگرچه این مسئله از در مقابل حملاتی همچون Firesheep محافظتی ایجاد نمی کند.

این متن، برگرفته از صفحات زیر می باشد:

۱. http://www.securitysupervisor.com/security-q-a/browser-security/229-what-is-cookie-hijacking

۲. http://en.wikipedia.org/wiki/Session_hijacking

به این نوشته امتیاز دهید
[Total: 0 Average: 0]

با کارت بانکی باشگاه ایران هاست پولتان به حسابتان باز می گردد.

همین حالا رایگان عضو شوید

مدیر بلاگ

مشخصات مدیر

نوشته های مشابه

‫۲ نظرها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید

بستن
دکمه بازگشت به بالا
بستن
بستن