در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

Session Hijacking چگونه انجام می شود ؟ قسمت 3 : نقش پروتکل TCP

سلام به دوستان عزیز ITPro ای و علاقه مندان به مباحث امنیت شبکه. Session Hijacking از آن دسته مباحثی است که هم میتوان گفت در بحث امنیت و هک بسیار شناخته شده و معروف است و هم به نوعی میتوان گفت که این شناخت همگانی و زبانزد بودن معمولا در همان سطح ابتدایی است و بصورت عموم کمتر کسی است که از زیر و بم و بقول تخصصی مکانیزم عملکرد این موضوع مطلع باشد. شاید همین موضوع باعث شد که نوشتن این سری از مقاله ها برایم جذاب تر باشد. از حرف هایی که نه در دنیا بدردمان میخود و نه در آخرت میگذریم!


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


تفکر درستی ست! چرا که خواسته یا ناخواسته آینده در تصرف تجارت الکترونیک است و فرار کردن از آن مشکلی را حل نمیکند. پس بهتر است با آشنایی هرچه بیشتر با مقوله Session Hijacking و حتی تهدیدات دیگر در این زمینه راه استفاده از این شاهراه پرسود و هوس انگیز را برای خودمان صاف کنیم.قبل از آنکه نیاز باشد تا آستین ها را بالا بزنیم! و وارد جزئیات Session Hijacking شویم، لازم است که بدانیم در این سلسله صحبت هایی که در آینده خواهد شد، چه کسی، چه نقشی را بازی میکند؟


باید با پروتکل های آسیب پذیر آشنا شویم و همچنین بدرستی درک کنیم که session ها چه هستند و چگونه از آن ها استفاده میشود؟بر اساس آن چیزی که خودم درباره این موضوع میدانم و تحقیق کردم، به این نتیجه رسیدم که سه پروتکل اصلی که در بحث session hijacking، جریان داده را مدیریت میکنند، TCP, UDP و HTTP هستند ولی با این حال بصورت کلی میتوان گفت که پروتکل هایی مانند telnet، FTP و DNS که از Encryption استفاده نمیکنند هم آسیب پذیر هستند. برای این که بتوانیم وارد بحث Session hijacking شویم باید مختصرا در هرکدام از این پروتکل ها ورود کنیم:


داستان TCP

همانطور که میدانید، TCP مخفف عبارت Transmission Control Protocol است که از آن به عنوان یکی از پروتکل های اصلی در شبکه های TCP//IP یاد میشود. در شرایطی که پروتکل IP فقط با پکت ها سرو کار دارد، پروتکل TCP بین دوهاستی که میخواهند با هم ارتباط بگیرند، کانکشن ایجاد میکند و جریانی از اطلاعات را منتقل میکند. TCP این تضمین را میدهد که علاوه برتحویل موفقیت آمیز، دیتا با همان ترتیبی که ارسال شده بودند، تحویل گردند.TCP برای تضمین تحویل صحیح اطلاعات، از پکت هایی موسوم به (Acknowledgment (Ack و همچنین Sequence Number استفاده میکند تا بتواند با ایجاد یک جریان قابل اعتماد بین دو سر ارتباط، به هدف خود برسد.شکل های زیر خلاصه ای از صحبت های گفته شده را به تصویر میکشند:

يك Session چگونه ربوده ميشود؟  - بخش اول: نقش پروتکل TCP

کانکشن بین کلاینت و سرور با 3-way Handshake شروع میشود (شکل1). نحوه کار به این صورت است:
o کلاینت یک پکت (Synchronization (SYN را به همراه Sequence number اولیه x به سرور ارسال میکند.
o سرور در مقابل با ارسال یک پکت SYN/ACK که محتوی Sequence Number شخصی خود سرور یعنی y و ACK Number است، به کلاینت پاسخ میدهد. ACK Number نشان میدهد که Sequence Number بعدی که سرور از کلاینت انتظار دارد، چه عددی است.
o در ادامه کلاینت با ارسال یک پکت ACK که محتوی Sequence Number بعدی که کلاینت از سرور انتظار دارد (در اینجا y+1 است)، دریافت پکت SYN/ACK (مرحله قبل) که سرور ارسال کرده بود را تائید میکند.

يك Session چگونه ربوده ميشود؟  - بخش اول: نقش پروتکل TCP

بعد از آنکه handshake اتفاق افتاد، تنها چیزی که رخ خواهد داد، ارسال پکت های دیتا و به تبع آن افزایش Sequence Number به منظور شناسایی پکت های ارسال و دریافت شده است. در شکل 2 میبینیم که کلاینت یک بایت اطلاعات (حرف "َA") را با Sequence Number ای برابر با X+1 به سرور ارسال کرده و در مقابل، سرور با ارسال یک پکت ACK با عدد X+1 ) X+2 به علاوه 1 بایت برای کاراکتر "A")، تائیدی برای کلاینت بازپس خواهد فرستاد. X+2 در واقع همان Sequence Number ای است که سرور از کلاینت انتظار دریافت آن را خواهد داشت. بازه و بستری که در آن تمام دیتا به این صورت توسط TCP بین کلاینت و سرور رد و بدل میشود، TCP Session نامیده میشود.

توضیحات داده شده، اولین مرحله ایست که برای تشریح Session Hijacking باید آن را خوب درک کرده باشید.
در قسمت بعد راجع به دو پروتکل دیگر یعنی UDP و HTTP و نقش آن ها در Session Hijacking صحبت خواهم کرد.

پایان بخش اول
مانا باشید.


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

#مکانیزم_کاری_پروتکل_tcp #tcp_three-way_handshake_چیست؟ #آموزش_امنیت_اطلاعات #سرقت_نشست_چیست؟ #session_hijacking_چیست؟ #آموزش_امنیت_شبکه #syn_چیست؟ #application_session_hijacking_چیست
عنوان
1 Session چیست و چگونه کار می کند ؟ قسمت 1 رایگان
2 Session چیست و چگونه کار می کند ؟ قسمت 2 رایگان
3 Session Hijacking چگونه انجام می شود ؟ قسمت 3 : نقش پروتکل TCP رایگان
4 Session Hijacking چگونه انجام می شود ؟ قسمت 4 : Session چیست ؟ رایگان
5 Session Hijacking چگونه انجام می شود ؟ قسمت 5 : لایه 7 و 3 شبکه رایگان
6 Session Hijacking چگونه انجام می شود ؟ قسمت 6 : Desync Attacks رایگان
7 Session Hijacking چگونه انجام می شود ؟ قسمت 7 : WebApp Hijack رایگان
8 Session Hijacking چگونه انجام می شود ؟ قسمت 8 : ابزارهای Hijack رایگان
9 روش های جلوگیری از Session Hijacking قسمت 9 : بخش 1 رایگان
10 روش های جلوگیری از Session Hijacking قسمت 10 : بخش 2 رایگان
زمان و قیمت کل 0″ 0
2 نظر
مهدی عسکری

سلام مهندس امجدي عزيز

بسيار شيوا و رسا بود و استفاده كردم.منتظر قسمت هاي بعدي اين اموزش عالي هستم.اتفاقا ديشب داشتم راجع به handshake ميخوندم كه شاهد از غيب رسيد و با اين اموزشتون اطلاعاتم بيشتر شد.

موفق و مانا باشيد و remember remember,the 5th of november;)

محمد شهریارپناه

داستان سرایی پروتکل TCP به زبان ساده خیلی خوب بود جناب امجدی

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....