- Cookie hijacking یا Session Hijacking چیست؟
- نحوه عملکرد حمله سرقت نشست
- مراحل حمله سرقت نشست مهاجمین
- بعد از حملات سرقت نشست چه کارهایی میتوانند انجام دهند؟
- دسته بندی حملات Session Hijacking و چگونگی عملکرد آنها
- راههای پیشگیری و مقابله با حملات سرقت نشست
- اقدامات هکرها بعد از سرقت نشست
- تفاوت زمانبندی حمله بین سرقت نشست و جعل نشست
- هدف حمله سرقت نشست و جعل نشست
- نحوه عملکرد نشستهای رایانهای
- چگونه یک رایانه یا سرور متوجه ادغام اطلاعات میشود؟
حملات سرقت نشست (Session Hijacking Attack) یکی از حملات خطرناک هکرها محسوب می شود. درحالیکه شما درگیر یک نشست فعال هستید هکر خرابکار، خود را بین رایانه شما و سرور وبسایت قرار میدهد (برای نمونه وبسایت فیسبوک) و کنترل حساب شما را به دست میگیرد.
در این نقطه از حملات سرقت نشست، هکر خرابکار بهطور فعالانه تا جایی جلو میرود که هر آنچه در حساب شما روی میدهد را ملاحظه میکند و حتی میتواند شما را از این حساب بیرون کرده و کنترل آن را به دست گیرد. بزرگترین مزیت حملات سرقت نشست این است که هکر شرور میتواند وارد سرور شده و بدون اینکه مجبور باشد یک حساب ثبتشده را هک کند، به اطلاعات آن نیز دسترسی پیدا کند.
علاوه بر این در حملات نشست فعال هکر میتواند تغییراتی بر روی سرور به وجود آورد که در هکهای بعدی به او کمک کنند، یا عملیات سرقت اطلاعات را تسهیل نمایند. در این مقاله از فراست قرار در مورد صفر تا صد حملات سرقت نشست یا همان Session Hijacking با شما صحبت کنیم. پس تا انتهای این مقاله ما را همراهی کنید.
Cookie hijacking یا Session Hijacking چیست؟
Session Hijacking یک حمله است که در آن مهاجم توانایی تسخیر جلسه یا Session کاربر را پیدا میکند. هنگامی که کاربر وارد یک سرویس (مثل یک برنامه بانکی) میشود، جلسه شروع میشود و زمانی که از سیستم خارج میشود، به پایان میرسد. این حمله بر اطلاعات مهاجم در مورد کوکی جلسه کاربر متکی است و به آن “ربودن کوکی” cookie hijacking یا “ربودن کوکی جلسه” نیز میگویند. اگرچه هر جلسهای ممکن است هدف این حمله باشد، اما Session Hijacking بیشتر در مرورگرها و برنامههای وب اجرا میشود.
در بسیاری از موارد، هنگامی که شما وارد یک برنامه وب میشوید، سرور یک کوکی جلسه موقت را در مرورگر شما تنظیم میکند تا برای آن بسپارد که شما در حال حاضر وارد سیستم شده و احراز هویت شدهاید. HTTP یک پروتکل بدون حالت است و کوکیهای جلسه بهعنوان یکی از محبوبترین روشها برای شناسایی سرور یا جلسه فعلی شما در سرور استفاده میشود.
برای انجام Session Hijacking، یک مهاجم باید شناسه جلسه قربانی (کلید جلسه) را بداند. این اطلاعات را میتوان با سرقت کوکی جلسه یا ترغیب کاربر به کلیک بر روی یک پیوند مخرب که برای بهدستآوردن شناسه جلسه آماده شده، به دست آورد. در هر دو حالت پس از احراز هویت کاربر بر روی سرور، مهاجم میتواند جلسه را با استفاده از شناسه جلسه یکسان برای جلسه مرورگر خود ربوده و از آن بهعنوان یک جلسه معتبر کاربر استفاده کند. سپس سرور، بهعنوان جلسه معتبر کاربر اصلی، فریبخورده و ارتباط مهاجم را بهعنوان جلسه معتبر کاربر اصلی تلقی میکند.
به یاد داشته باشید که وقتی از حملاتی که کوکیهای جلسه را هدف قرار میدهند حرف میزنیم، مفهوم مرتبط با Session Hijacking در لایه جلسه TCP نیست. این به این دلیل است که کوکیها از ویژگیهای HTTP هستند و این یک پروتکل در سطح برنامه است، درحالیکه TCP در سطح شبکه عمل میکند. کوکی جلسه شناسهای است که پس از تأیید موفقیتآمیز توسط برنامه وب بازگردانده میشود و جلسه آغاز شده توسط کاربر برنامه هیچ ارتباطی با اتصال TCP بین سرور و دستگاه کاربر ندارد.
در حمله سرقت نشست، مهاجم قادر به دزدیدن یا تخریب این نشستها میشود. نشست حاوی اطلاعات احراز هویت شما و سایر اطلاعات حساس است. ازآنجاییکه نشست بهصورت کوکیها نیز ذخیره میشود، مهاجم میتواند با سرقت یا موارد دیگر مانع از ترکیب اطلاعات احراز هویت شما با ورود بهحساب کاربری شما شود.
بهعبارتدیگر، حمله سرقت نشست به معنای دسترسی غیرمجاز به نشستهای فعال کاربر در یک وبسایت است و میتواند منجر به دستیابی به اطلاعات حساس و حتی اقدامات مخربی شود.
نحوه عملکرد حمله سرقت نشست
تکنولوژی زیربنایی که بر اساس آن وبسایتها و رایانهها با یکدیگر ارتباط برقرار میکنند، پروتکل TCP/IP نام دارد که مخفف عبارت Transmission Control Protocol / Internet Protocol است. حملات سرقت نشست به دلیل محدودیتهای این پروتکل رخ میدهند و ازآنجاکه این محدودیتها گسترده و اساسی هستند، امکان اصلاح آنها بهسادگی وجود ندارد. در عوض، افزودن لایههای امنیتی به این تکنولوژی، تهدیدات حملات سرقت نشست را محدود و از بین میبرد.
حملات سرقت نشست به دو نوع فعال و غیرفعال تقسیم میشوند. در حملات سرقت نشست فعال، هکر ارتباط بین یک رایانه شخصی و سرور را قطع کرده و خود را جایگزین میکند. از این نقطه به بعد، هکر قابلیت انجام تمامی وظایف یک کاربر عادی را دارد. بهعنوانمثال، اگر حساب ایمیل هدف باشد، میتواند رمز عبور آن را تغییر دهد، ایمیلها را حذف کند، ایمیل بنویسد، فایلهای الحاق شده را کپی کند یا حسابهای دیگر را که با این ایمیل ارتباط دارند، بازیابی کند.
در حملات سرقت نشست غیرفعال، مهاجم به طور پنهانی دادههایی را که در شبکه جریان دارد تحتنظر میگیرد. این نوع حمله بر اساس انتخاب مهاجم انجام میشود تا بتواند پنهان بماند و هیچگونه شکایت یا حساسیتی ایجاد نکند. در شرایط ایدهآل، مهاجم به دنبال اطلاعاتی مانند رمز عبور، نامهای کاربری، جزئیات کارت اعتباری و موارد مشابه میگردد.
مراحل حمله سرقت نشست
حمله سرقت نشست بهصورت چند مرحله انجام میشود که در زیر به توضیح آنها میپردازیم.
مرحله اول، بررسی و پیگیری نشست
در این گام، هکر یک نشست باز و فعال را شناسایی کرده و شماره توالی بستههای بعدی را پیشبینی میکند.
مرحله دوم، غیرهمگام سازی اتصال
هکر به سمت کاربر مجاز سیستم، یک بسته TCP reset RST یا بسته پایان FIN ارسال میکند تا نشست کاربر را پایان دهد.
مرحله سوم، تزریق بستههای هکر
هکر یک بسته TCP با توالی شمارههای پیشبینی شده را به سرور ارسال میکند. سرور این بسته را بهعنوان بسته معتبر بعدی که از سوی کاربر قانونی ارسال میشود؛ اما در واقع از سوی هکر ارسال شده و قبول میکند. با این کار، هکر با موفقیت خود را بهجای کاربر مجاز وارد نشست کرده و کنترل را به دست میآورد.
مرحله چهارم، اسکریپتنویسی بین سایتی XSS
این روش احتمالاً خطرناکترین و رایجترین متد سرقت نشست وب است. با بهرهگیری از آسیبپذیریهای سرور یا اپلیکیشن، مهاجمان میتوانند اسکریپتهای سمت مشتری را (معمولاً جاوا اسکریپت) در صفحات وب تزریق کنند و مرورگر بهصورت خودکار کدها را اجرا کند.
اگر کوکیهای نشست از قابلیت HTTPOnly بهرهمند نباشند، اسکریپتهای تزریق شده میتوانند به کلید نشست دسترسی یافته و اطلاعات لازم برای سرقت نشست را در اختیار هکران قرار دهند.
مرحله پنجم، حمله طرف نشست Session Side Jacking
در این نوع حمله، مهاجم با استفاده از تکنیک پکت اسنیفینگ، ترافیک شبکه کاربر را پایش کرده و بعد از احراز هویت کاربر در سرور، در کوکیها تداخل ایجاد میکند. اگر وبسایت تنها از رمزنگاری SSL و TLS برای صفحات لاگین استفاده کرده باشد و نه تمام نشست، مهاجم میتواند از کلید نشست اسنیف شده برای سرقت نشست استفاده کند.
مرحله ششم، سرقت کوکی با بدافزار یا دسترسی مستقیم
نصب بدافزار روی کامپیوتر کاربر یک راه رایج برای بهدستآوردن کوکیهای نشست است. بدافزار شروع به اسکن ترافیک شبکه کاربر میکند تا قادر به یافتن کوکیهای نشست و ارسال آنها به مهاجم شود. همچنین، دسترسی مستقیم به فایل کوکی در فضای ذخیرهسازی موقت مرورگر نیز یک راه دیگر برای سرقت نشست است.
مرحله هفتم، حمله جستجوی فراگیر Brute Force
در این روش حمله، مهاجم میتواند بهوسیله نرمافزارهای سفارشی ترکیبهای گوناگون از پسوردها را امتحان کند و بهسرعت بهدستآوردن کلید نشست را تسریع دهد. برای مقاومت در برابر حملات بروت فورس، الگوریتم تولید کلید باید مقادیر واقعاً غیر قابل پیشبینی را تحویل دهد تا حملاتی که با حدس انجام میشوند، غیر قابل انجام باشند.
مهاجمین بعد از حملات سرقت نشست چه کارهایی میتوانند انجام دهند؟
در صورت موفقیت، مهاجمان میتوانند هر اقدامی را انجام دهند که کاربر اصلی مجاز به انجام آن در طول جلسه فعال است. این اقدامات ممکن است به شماره انتقال پول از حساب بانکی کاربر، نمایش بهعنوان کاربر برای خرید اقلام در فروشگاههای آنلاین، دسترسی به اطلاعات شخصی جهت سرقت هویت، سرقت اطلاعات شخصی مشتریان از سیستمهای شرکت، و سایر اقدامات مشابه اشاره دارد.
یک خطر خاص برای سازمانهای بزرگتر این است که از کوکیها میتوان برای شناسایی کاربران معتبر در سیستمهای ورود به سیستم با استفاده از ویژگیهای واردات مشترک SSO نیز استفاده کرد. این بدین معناست که یک جلسه Hijacking موفق میتواند به مهاجم اجازه دسترسی به چندین برنامه وب را بدهد، از سیستمهای مالی گرفته تا سوابق مشتریان و سیستمهای اطلاعات مهمی که ممکن است در اختیار سازمان قرار داشته باشد.
برای کاربران فردی نیز، هنگام استفاده از سرویسهای خارجی برای ورود به برنامهها، خطرات مشابهی وجود دارد. بااینحال، به دلیل استفاده از مکانیزمهای احراز هویت اضافی مانند رمز یکبار مصرف پس از ورود به سیستم، ربودن کوکی جلسه بهتنهایی برای سوءاستفاده از حساب کاربری کافی نخواهد بود.
حتما این مقاله را هم بخوانید: نقاط ضعف مهم در ویندوز که کاربران را در معرض حملات جدید قرار میدهنددسته بندی حملات Session Hijacking و چگونگی عملکرد آنها
مهاجمان به تبعیت از موقعیت و شرایط مختلف، گسترهای از گزینههای Session Hijacking را در اختیار دارند. این گزینهها معمولاً در دستهبندیهای مختلف قرار میگیرند. اولین دسته از حملات مرتبط با رهگیری کوکیها هستند:
Cross-site Scripting (XSS)
یکی از خطرناکترین و پراکندهترین روشهای Session Hijacking در جلسات وب، حملات Cross-site Scripting (XSS) هستند. در این نوع حمله، مهاجمان از آسیبپذیریهای سرور یا برنامه بهرهمند شده و اسکریپتهای سمت مشتری (معمولاً جاوا اسکریپت) را به صفحات وب تزریق میکنند. این اسکریپتها باعث اجرای کد اختصاصی میشوند و اگر سرور ویژگی HttpOnly را در کوکیهای جلسه تنظیم نکند، مهاجم میتواند به کلید جلسه دسترسی یابد و اطلاعات لازم را برای حمله فراهم کند.
بهعنوانمثال، مهاجمان ممکن است از طریق ایمیل یا پیامهای فوری یک لینک جعلی به یک وبسایت معتبر و اعتمادبخش ارسال کنند. این لینک حاوی پارامترهای جستجوی HTTP است که از یک آسیبپذیری معلوم برای تزریق کد اسکریپت بهرهمند میشود. حمله XSS برای ربودن جلسه از این کد میتواند کلید جلسه را به وبسایت مهاجم ارسال کرده و اطلاعات را به دست آورد.
Session Side-Jacking
این نوع حمله به مشارکت فعال مهاجم نیاز دارد و اغلب اولین چیزی است که در ذهن افراد هنگام تصور درباره “هکشدن” مطرح میشود. در این حمله، مهاجم با استفاده از شنود ترافیک، قادر به کنترل ترافیک شبکه کاربر میشود و کوکیهای جلسه را پس از احراز هویت کاربر در سرور رهگیری میکند.
اگر وبسایت فقط از رمزگذاری SSL/TLS برای صفحات ورود به سیستم و نه برای کل جلسه استفاده کند، مهاجم میتواند با استفاده از شنود کلید جلسه، جلسه را ربوده و شخص را جعل کند تا کاربر در وبسایت موردنظر اقدام کند. این حملات عمدتاً در نقاط غیر امن Wi-Fi یا جاهایی که مهاجم میتواند ترافیک را در یک شبکه عمومی کنترل کند، رخ میدهد.
Session Fixation
یکی از روشهای سرقت کوکی جلسه Session Fixation است. در این روش، مهاجم میتواند بهسادگی یک کلید جلسه شناخته شده را تهیه کند و کاربر را فریب دهد تا به یک سرور آسیبپذیر وارد شود. این کار ممکن است با استفاده از پارامترهای جستجوی HTTP در یک لینک ارسالی از طریق ایمیل یا وبسایت مخرب انجام شود. بهعنوانمثال:
<a href=”http://www.TrustedSite.com/login.php?sessionid=iknowyourkey”>Click here to log in now</a>
وقتی کاربر این لینک را کلیک میکند، به یک فرم ورود معتبر منتقل میشود؛ اما کلید جلسه مشخص شده توسط مهاجم ارائه میشود. پس از احراز هویت، مهاجم میتواند از کلید جلسه شناخته شده برای سرقت جلسه استفاده کند.
سرقت کوکی توسط بدافزار یا دسترسی مستقیم
یک روش معمول برای سرقت کوکیهای جلسه، نصب بدافزار بر روی دستگاه کاربر است تا عملیات شنود خودکار جلسه را انجام دهد. بعد از نصب، بدافزار ترافیک شبکه کاربر را برای کوکیهای جلسه اسکن میکند و اطلاعات را به مهاجم ارسال میکند. این کار میتواند از طریق بازدید از وبسایت مخرب یا کلیک بر روی پیوند در نامههای هرزنامه انجام شود.
حمله نیروی بیرحمانه Brute Force
در حمله نیروی بیرحمانه، مهاجم سعی میکند کلید جلسه جاری کاربر را بهصورت تست و خطا حدس بزند. این تکنیک تنها زمانی مؤثر است که برنامه از شناسههای جلسه قابلپیشبینی استفاده کند. در گذشته، کلیدهای ترتیبی مشکلساز بودند، اما با الگوریتمهای مدرن، شناسههای جلسه بهصورت تصادفی و با طول زیاد تولید میشوند. برای جلوگیری از حملات حدسزدن، الگوریتمهای تولید کلید باید مقادیر غیرقابلپیشبینی با آنتروپی کافی ارائه دهند.
به این نکته توجه کنید که بسیاری از مرورگرهای مدرن از تزریق برچسب <meta http-Equ=”Set-Cookie”> برای تنظیم مقدار کوکی از طریق برچسب متا پشتیبانی نمیکنند. این ویژگی از مشخصات رسمی HTML نیز حذف شده است.
راههای پیشگیری و مقابله با حملات سرقت نشست:
مشاهده کردید که هکرها با 13 روش به راحتی می توانند وارد نشست های شما بشوند و به راحتی اطلاعات شما را به سرقت ببرند. حالا در ادامه برای شما راهکارهایی می گوییم که چطور از این حملات سرقت نشست جلوگیری کنید.
استفاده از نرمافزار 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 key، ریسک حدسزدن آسان آن را با روشهای سعی و خطا یا حملات brute force کاهش میدهد.
تغییر session id پس از login موفق
- تغییر session id پس از ورود موفق به سیستم از session fixation جلوگیری میکند، زیرا مهاجم پس از login دیگر session id کاربر را نمیداند.
اعتبارسنجی هویت کاربر در چند مرحله
- برخی سرویسها اعتبارسنجی هویت کاربر را در چند مرحله انجام میدهند، مثلاً با چککردن نشانی IP کاربر در هر request که ارسال میکند.
تغییر مقادیر cookie با هر request
- برخی سرویسها مقادیر cookie را با هر request تغییر میدهند که این روش از حملات جهت ورود، اداره و تعیین هویت کردن حملهها را کاهش میدهد، اما به مشکلات تکنیکی نیز منجر میشود.
خروج از حساب کاربری بعد از استفاده
- کاربران باید پس از پایان استفاده از وبسایت، از حساب کاربری خود خارج شوند تا از حملاتی نظیر Firesheep محافظت شود.
استفاده از SSL/TLS
- از رمزگذاری SSL/TLS برای تمام ترافیک جلسه با استفاده از HTTPS استفاده کنید. این کار مهاجم را از شنود شناسه جلسه در ترافیک جلسه حتی در صورت شنودکردن ترافیک قربانی جلوگیری میکند. از HSTS (HTTP Strict Transport Security) نیز برای اطمینان از رمزگذاری تمام اتصالات استفاده کنید.
استفاده از ویژگی HttpOnly در کوکیها
- با جلوگیری از دسترسی به کوکیها از طریق اسکریپتهای سمت مشتری، ویژگی HttpOnly را با استفاده از هدر Set-Cookie HTTP تنظیم کنید. این اقدام از حملات XSS و سایر حملاتی که به تزریق اسکریپت در مرورگر متکی هستند جلوگیری میکند. تعیین دستورالعملهای Secure و SameSite نیز توصیه میشود.
استفاده از چارچوبهای مکانیسم تولید و مدیریت شناسه جلسه
- از چارچوبهای وب با مکانیسمهای ایمن و آزمایششده برای تولید و مدیریت شناسه جلسه استفاده کنید. بهجای ساخت الگوریتم مدیریت جلسه خود، از قابلیتهای امن این چارچوبها بهرهمند شوید.
تغییر کلید جلسه بلافاصله بعد از احراز هویت
- بلافاصله پس از احراز هویت اولیه، کلید جلسه را دوباره ایجاد کنید. این اقدام باعث میشود که کلید جلسه بلافاصله پس از احراز هویت تغییر کند که حملات ثابتشدن جلسه را خنثی میکند.
تأیید هویت اضافی
- تأیید هویت کاربر را فراتر از کلید جلسه انجام دهید. از چکهای دیگری نظیر آدرس IP معمول کاربر یا الگوهای استفاده از برنامه نیز برای تأیید هویت استفاده کنید. این اقدامات میتوانند از حملات مختلف جلوگیری کنند.
تنظیم زمان بیکاری جلسه
- محافظ اضافی معمولاً میزان زمان بیکاری کاربر را بعد از تنظیم زمان بیکاری جلسه تعیین میکند. این کار باعث میشود که جلسه کاربر پس از یک مدتزمان مشخص بدون فعالیت بسته شود و از دسترسی به شناسه جلسه کمترین استفاده را برای مهاجمین ایجاد کند.
اقدامات هکرها بعد از سرقت نشست
پس از موفقیتآمیز در سرقت نشست، هکرها قادر به انجام تعدادی از فعالیتهای خطرناک هستند که وابسته به اهداف و نقاط ضعف سیستم است. برخی از اقداماتی که ممکن است توسط هکرها انجام شود عبارتاند از:
انتقال پول
مهاجم ممکن است از جلسه فعال شده به نام کاربری قربانی برای انجام عملیات مالی ناخواسته، مانند انتقال پول از حساب بانکی قربانی به حسابهای دیگر، استفاده کند.
جعل هویت
با دسترسی به جلسه فعال، مهاجم میتواند هویت قربانی را جعل کند و از آن برای خریدهای مختلف از فروشگاهها و خدمات مختلف استفاده کند.
دسترسی به اطلاعات شخصی
مهاجم ممکن است به جلسه فعال خود دسترسی پیدا کرده و از آن برای دسترسی به اطلاعات شخصی قربانی، مانند آدرس، شمارهتلفن و سایر اطلاعات حساس استفاده کند.
سرقت اطلاعات شرکتی
اگر جلسه فعال مرتبط با یک سیستم شرکتی باشد، مهاجم میتواند به سیستمهای حاوی اطلاعات مشتریان، اطلاعات مالی، یا سایر اطلاعات حساس دسترسی پیدا کند.
رمزنگاری اطلاعات و درخواست باج
هکر ممکن است اطلاعات حساس را رمزنگاری کرده و سپس از قربانی درخواست باج برای رمزگشایی اطلاعات خود کند. تدابیر امنیتی مثل استفاده از HTTPS و سیاستهای احراز هویت قوی میتوانند احتمال انجام این اقدامات توسط هکرها را کاهش دهند، اما هرچند وقت یکبار، روشهای پیشرفته هک به چالش کشیده میشوند و امنیت سیستم باید بهروزرسانی شود.
حتما این مقاله را هم بخوانید: امنیت اطلاعات چیست و 22 گام پیاده سازی آنتفاوت زمانبندی حمله بین سرقت نشست و جعل نشست
سرقت نشست و جعل نشست دو تهدید مختلف در حوزه امنیت اطلاعات هستند، و زمانبندی حملات ممکن است به تأثیرگذاری و موفقیت آنها بیانجامد. درک تفاوتها در زمانبندی این حملات میتواند به افزایش حساسیت به امانتهای امنیتی کمک کند. البته توجه داشته باشید که این مسائل در حال تغییر هستند و امنیت اطلاعات در طول زمان بهروزرسانی میشود.
سرقت نشست Session Hijacking
در این نوع حمله، مهاجم سعی میکند به یک کاربری حمله کند که در حال حاضر لاگین کرده و احراز هویت کرده است. حمله معمولاً در زمانی اتفاق میافتد که کاربر لاگین فعالیت میکند.
جعل نشست Session Spoofing
در این حمله، مهاجم از اطلاعات ربوده شده برای ایجاد یک نشست جدید و جعل هویت کاربر اصلی استفاده میکند. این ممکن است حتی در زمانی انجام شود که کاربر اصلی لاگین نکرده باشد و اطلاعات نشست بهروز شده باشد.
تکنیکهای حمله بین سرقت نشست و جعل نشست
سرقت نشست
از تکنیکهایی مانند اسکریپتنویسی بین سایتی XSS یا حمله طرف نشست Session Side Jacking استفاده میشود. در XSS، مهاجم اسکریپتهای مخرب را در صفحات وب قرار داده و از آنها برای سرقت کوکیهای نشست استفاده میکند. حمله طرف نشست با استفاده از تکنیک پکت اسنیفینگ (استراق سمع پکتهای شبکه) انجام میشود.
جعل نشست
از تکنیکهایی مانند سرقت کوکی با بدافزار یا دسترسی مستقیم به فایل کوکی و همچنین حمله جستجوی فراگیر Brute Force استفاده میشود. در حمله با بدافزار، مهاجم از بدافزار بر روی دستگاه کاربر استفاده میکند تا بهصورت خودکار نشستها را اسنیف کند.
هدف حمله سرقت نشست و جعل نشست
سرقت نشست
هدف اصلی این نوع حمله، دسترسی به اطلاعات کاربر فعال (که لاگین کرده و احراز هویت دارد) و انجام عملیات خطرناک در سطح حساب کاربر است.
جعل نشست
در این حمله، هدف اصلی ایجاد یک نشست جعلی با استفاده از اطلاعات دزدیده شده است. مهاجم سپس از این نشست جعلی برای ورود به سیستم یا انجام فعالیتهای مخرب استفاده میکند.
هر دو حمله میتوانند به جرمهای جدی وارد شوند و برای محافظت در برابر آنها، استفاده از اتصالات امن مانند HTTPS با رمزگذاری SSL/TLS، رعایت تدابیر امنیتی، و بهروز نگهداشتن سیستمها و نرمافزارها ضروری است.
نحوه عملکرد نشستهای رایانهای
تکنولوژی زیربنایی که چگونگی عملکرد وبسایتها و ارتباط رایانهها با یکدیگر را فراهم میآورد، پروتکل TCP/IP نامیده میشود که کوتاه شده عبارت Transmission Control Protocol / Internet Protocol است.
حملات سرقت نشست به سبب محدودیتهای TCP/IP روی میدهند و از آنجا که این محدودیتها گستردگی وسیع و استقرار محکمی یافتهاند، بهسادگی قابل اصلاح نیستند. در عوض، لایههای امنیتی اضافه شده بر این تکنولوژی، تهدیدات حملات سرقت نشست را محدود و خنثی میکنند.
بیشتر حملات سرقت نشست، بر دو جنبه تمرکز دارند:
- ID نشست (sessionID)
- ارقام متوالی نشست (session sequence number)
همانطور که میتوانید حدس بزنید، ID نشست در اصل “نام” یک نشست بهخصوص است. مثلاً :
- نشست فیسبوک شما میتواند ID نشستی بهصورت 1233vs%fav داشته باشد.
- نشست آمازون (Amazon) شما میتواند ID نشستی بهصورت 684s`9lbd داشته باشد.
ارقام متوالی نشست، به توضیح بیشتری نیاز دارند، پس از آن میتوانید از این مرحله عبور کرده و مستقیماً به روشهای وقوع حملات سرقت نشست بپردازید. رایانه شما و سرور وبسایت از طریق بستههای داده به یکدیگر اطلاعات میفرستند.
برای مثال، یک وبسایت ممکن است تصویری را به 4 بسته داده تقسیم کرده و به رایانه شما بفرستد. رایانه شما برای به دست آوردن تصویر، این بستهها را با هم یکی میکند.
چگونه یک رایانه یا سرور متوجه ادغام اطلاعات میشود؟
این همانجایی است که شمارهها بهصورت متوالی وارد میشوند. در اصل، این شمارهای است که به هر یک از بستهها تخصیص داده میشود تا دستگاه گیرنده ترتیب گردآوری دادهها را بداند.
اصولاً، چیزی شبیه این است:
- بسته داده A شماره ترتیب 3 را دارد.
- بسته داده B شماره ترتیب 7 را دارد.
- بسته داده C شماره ترتیب 11 را دارد.
حملات سرقت نشست فعال و غیرفعال:
در حملات سرقت نشست فعال، هکر شرور ارتباط رایانه شخصی با سرور را متوقف ساخته و آن را درون نشست جایگزین میکند. از این نقطه به بعد هکر شرور، قادر به انجام تمام کارهای یک کاربر عادی است. اگر یک حساب ایمیل باشد، میتواند رمز عبور آن را تغییر داده، ایمیلها را حذف کند، ایمیل بنویسد، فایلهای الحاق شده را کپی و دانلود کند یا حسابهایی را که با ایمیل ارتباط داشتهاند، بازیابی کند.
در حملات سرقت نشست غیرفعال، مهاجم بهطور پنهانی دادهای را که در شبکه جریان دارد تحت نظر میگیرد. یک مهاجم این نوع حمله را از این رو انتخاب میکند که بتواند پنهان بماند و شکی را برانگیخته نکند. در حالت ایدهآل، مهاجم به دنبال پسورد، نامهای کاربری، جزییات کارت اعتباری و… میگردد. البته، اگر فرصتی غیرمنتظره پیش بیاید که هکر از آن سود ببرد، هیچ چیز نمیتواند مانع تغییر شکل یک حمله غیرفعال به یک حمله فعال باشد.
حملهای برای پیشبینی شمارههای متوالی TCP
در این روش از حملات سرقت نشست، مهاجم باید شماره ترتیب بستههای داده را که بین رایانه قربانی و سرور ارسال شده است حدس بزند. مهاجم در این زمان، بسته دادههای خود را ساخته، ترتیب ارقام آنها را مشخص کرده و به سرور ارسال خواهد کرد. او سرور وبسایت را بهگونهای فریب میدهد تا تصور کند که مهاجم، رایانه حقیقی است.
البته یک حدس نادرست از شماره ترتیب بستهها میتواند منجر به ارسال یک بسته ریست توسط سرور شود، که در اصل ارتباط جدیدی آغاز میشود. در موارد دیگر، ممکن است سرور تصمیم به اتمام کلی نشست بگیرد. در شکل زیر نحوه حدس شمارههای متوالی TCP را در حملات سرقت نشست مشاهده میکنید.
یک روش حمله قدیمی، که تا به امروز هم ادامه داشته، حملات سرقت نشست بودهاند که دستکم گرفتهشدهاند و متأثر از تهدیدات بزرگتری مانند بدافزارها، حملات DDoS یا تروجانهای مخرب بانکداری هستند. این حمله ساده، همراه با پتانسیل بیش از اندازهای که برای سود رسانی دارد، هنوز هم سلاح قدرتمندی در اختیار هکرها است.
آیا تابهحال با حملات سرقت نشست آسیب دیدهاید؟ روشهای امنیتی دیگری که برای ایجاد امنیت آنلاین استفاده میکنید، کدام است؟