Cookie hijacking چیست؛ ۷ راهکار مقابله با حملات Session Hijacking
Cookie hijacking نوعی حمله هکری است که طی آن نفوذگر دسترسی غیرمجاز به اطلاعاتی محرمانه به شیوه ای تسهیل نشده توسط کاربر و یا sessionهای غیرایمن دست پیدا می کند. در ادامه این مقاله می خوانید که cookie hijacking یا session hijacking چیست؟ از چه روش هایی انجام می شود و چگونه باید با آن مقابله کرد.
در مقاله ی دیگر در مورد اینکه سشن چیست توضیح داده ایم.
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 جهت انجام حمله DDoS استفاده می شود به عنوان حمله DDoS نیز معروف شده است.
شاید برای شما این پرسش ایجاد شده باشد که cookies چیست به همین منظور مقاله ما را مطالعه نمایید.
چهار روش اصلی انجام 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 محافظتی ایجاد نمی کند.
امیدواریم با خواندن این مقاله با مفهوم Cookie hijacking چیست آشنا شده باشید.
چگونه می توانم از حملات hijacking جلوگیری کنم؟
ما به شما خرید گواهینامه ssl را برای جلوگیری از حملات hijacking پیشنهاد می کنیم.
تفاوت hijacking با spooffing چیست؟
hijacking یک نوع از حملات spoofing است به شما پیشنهاد می کنیم مقاله ی ما با موضوع “Exploit اکسپلویت چیست [آشنایی با کد های مخرب]” را مطالعه نمایید.