محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

TCP Flow Control چیست؟ تشخیص حمله IP Spoofing

در ادامه مبحث تشخیص حملات IP Spoofing به آخرین تکنیک می رسیم یعنی تکنیکی به نام TCP Flow Control ، در واقع وقتی شما برای ارتباط از پروتکل های TCP استفاده می کنید ، الگوریتم های مورد استفاده در TCP به شما این اجازه را می دهند که میزان و حجم بسته ارسالی را کنترل کنید یا در اصطلاح فنی در قسمت ارسال و دریافت اندازه مشخصی را برای ارسال و دریافت بسته مشخص می کند ، این مشخص کردن اندازه بسته به عنوان مکانیزم جلوگیری از سرریز یا Flow Control شناخته می شود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

به زبان ساده تر در محل ارسال و محل دریافت بسته اطلاعاتی اندازه قابل قبول بسته تعریف می شود . این الگوریتم برای Flow Control بر اساس مکانیزمی به نام Sliding Window کار می کند ، اندازه بسته اطلاعاتی ما همانطور که گفتیم از قبل تعریف شده است ، این مقدار در پارامتری به نام Window Size در TCP Header بسته IP ما قرار می گیرد.

این فیلد IP Packet حداکثر اندازه بسته ارسالی و حداکثر اندازه بسته دریافتی را که می توان بدون Acknowledgment در مقصد و مبدا دریافت و ارسال کرد را تعیین می کند. بنابراین این Field به ما کم می کند که میزان حجم داده های ارسالی یا Flow Control را متوجه و کنترل کنیم. زمانیکه Windows Size ای که در IP Header ما تعریف شده است عدد صفر را نمایش بدهد یعنی دیگر نباید بسته یا داده ای ارسال شود.


TCP Flow Control چیست ؟


در یک Flow Control معمولی کامپیوتر ارسال کننده بسته به محض اینکه متوجه شود که Window Size صفر شده است ، هیچ بسته ای را نباید ارسال کند. اما در این حین مهاجمی که IP Spoof انجام داده است به دلیل اینکه بسته ACK مبنی بر پایان یافتن مقدار Window Size را دریافت نکرده است همچنان به ارسال بسته اطلاعاتی ادامه می دهد. اگر کامپیوتر هدف بسته های اطلاعاتی بیشتر از Window Size دریافت کرد این می تواند به منزله حمله IP Spoof در شبکه باشد.

برای اینکه کارایی این روش بالاتر برود در روش Flow Control باید مقدار Window Size را به حداقل رساند و بسیار حجمش را کاهش داد.اکثر حملات IP Spoofing و حتی Spoofing در زمانیکه فرآیند TCP Handshake انجام می شود اجرا می شوند ، بنابراین ارسال کردن چندین Sequence Number درست در پاسخ به کاربران در زمان Spoofing دشوار می شود. بنابراین ، توجه کنید که فرآیند Flow Control برای شناسایی حملات Spoofing باید در زمان ایجاد شدن TCP Handshake انجام شود.

در یک فرآیند TCP Handshake سالم ، کامپیوتری که بسته SYN را ارسال می کند تا زمانیکه SYN-ACK از سمت سرور دریافت نکند بسته ACK طبیعتا ارسال نخواهد کرد. برای اینکه بررسی کنیم که بسته ما از طرف کامپیوتر درست یا کامپیوتر Spoof شده دریافت می شود شما باید SYN-ACK را صفر کنید. اگر سرور شما با هر مقداری و با هر دیتایی بسته ACK ارسال کرد به این معنی است که سرور مقصد Spoof شده است. زمانیکه شما SYN-ACK با مقدار صفر ارسال می کنید سرور مقصد با توجه به مکانیزم استاندارد باید برای شما یک ACK بدون داده ارسال کند و وجود هرگونه داده ای به معنی Spoof شدن IP مورد نظر است . امیدوارم مورد توجه شما قرار گرفته باشد.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات