آموزش رایگان دوره CEH همگام با سرفصل‌های بین‌المللی – 10
آموزش CEH (هکر کلاه سفید): آشنایی با آناتومی پروتکل TCP / IP و ضعف‌های امنیتی آن (بخش 2)
در آزمون CEH باید درک درستی از عملکرد پروتکل ICMP داشته باشید، زیرا پروتکل فوق می‌تواند اطلاعات زیادی در اختیار هکرها قرار دهد، به همین دلیل است که بیشتر سرپرستان شبکه به‌کارگیری این پروتکل روی سرورها را به‌طور کامل مسدود یا محدود کرده‌اند. بهتر است پیش از شرکت در آزمون CEH با انواع و کدهای معمول ICMP آشنا شوید. اطلاعات مربوط به این پروتکل به تفصیل در سند RFC 792 قرار گرفته‌اند.

برای مطالعه قسمت قبل آموزش رایگان  دوره CEH اینجا کلیک کنید.

لایه انتقال (Transport)

لایه انتقال یک تحویل نقطه پایانی ارائه می‌دهد. دو پروتکل اصلی (TCP و UDP) در لایه میزبان به میزبان قرار دارند. پروتکل کنترل انتقال (TCP) به دو میزبان امکان برقراری اتصال و تبادل اطلاعات ‌با اطمینان را می‌دهد. برای انجام این کار، TCP قبل از ارسال داده‌ها یک فرآیند دست‌دهی سه مرحله‌ای را انجام می‌دهد. در طی فرآیند انتقال داده‌ها، TCP تحویل داده‌ها را با استفاده از شماره‌های توالی و تأیید تضمین می‌کند. پس از اتمام فرآیند انتقال داده‌ها، TCP در چهار مرحله به کار یک نشست پایان می‌دهد. شکل زیر توالی راه‌اندازی و پایان نشست را نشان می‌دهد.

TCP دارای یک ساختار بسته ثابت است که برای کنترل جریان‌، حفظ ارتباطات مطمئن و اطمینان از ارسال مجدد داده‌های از درست رفته از آن استفاده می‌کند. در پیکره اصلی TCP یک فیلد پرچم با اندازه 1 بایت قرار دارد. پرچم‌ها به کنترل فرآیند TCP کمک می‌کنند. پرچم‌های متداول این پورتکل همگام‌سازی (SYN)، تأیید (ACK)، ارسال (PSH) و پایان (FIN) هستند. شکل زیر ساختار بسته TCP را نشان می‌دهد. چالش‌های امنیتی TCP شامل حملات مبتنی بر تعداد توالی‌، روبایش جلسه و حملات سیل‌آسای SYN هستند. حملات سیل‌آسای SYN سرورها را در وضعیت نیمه فعال قرار می‌دهند. برنامه‌هایی شبیه به Nmap از پرچم‌های TCP استفاده می‌کنند تا میزبان‌های فعال را شناسایی کنند.

پورت‌های نشان داده شده در جدول بالا برنامه مبدا (Source) و مقصد (Destination) را مشخص می‌كنند. فیلد‌های sequence  و acknowledgment  برای تایید تمامی داده‌های دریافت شده و بسته‌هایی که دومرتبه به شکل اولیه خود بازگشته‌اند استفاده می‌شوند. اعداد توالی گاهی اوقات توسط هکرها و زمانی که در نظر دارند یک حمله مرد میانی را پیاده‌سازی کنند دستکاری می‌شوند. دقت کنید که پرچم‌ها برای مدیریت جلسات TCP استفاده می‌شوند. شش پرچم پر کار در این زمینه ACK ، Push ، RST ، SYN ، FIN و URG هستند. به‌طور مثال، از پرچم‌های SYN و ACK در دست‌دهی سه مرحله‌ای استفاده می‌شود، در حالی که از پرچم‌های RST و FIN برای خاتمه دادن یک اتصال استفاده می‌شود. پرچم FIN نیز در زمان فرآیند چهار مرحله‌ای پایان یک نشست استفاده می‌شود، در حالی که پرچم RST برای ارسال هشداری که نشان می‌دهد یک نشست به شکل غیر عادی به کار خود پایان داده استفاده می‌شود. فیلد checksum برای اطمینان از صحت داده‌ها استفاده می‌شود، هرچند یک مهاجم می‌تواند یک بسته TCP و checksum را به‌گونه‌ای ویرایش کند تا همه چیز معتبر و قانونی به نظر برسند. URG پرچم دیگر استفاده شده در مدیریت جلسات TCP است. اگر هیچ پرچمی تنظیم نشده باشد، می‌توان پرچم‌ها را NULL نامید، زیرا هیچ پیکربندی در خصوص آن‌ها اعمال نشده است.

نکته: دقت کنید ابزارها هک قواعد خاص خود را دارند و قرار نیست همگی عملکرد یکسانی داشته باشند. به‌طور مثال، اسکن درخت XMAS که پرچم‌های SYN ، URG و PSH را تنظیم می‌کند یا در مورد دیگری، اسکن NULL که هیچ پرچمی را در سرآیند TCP قرار نمیدهد، از جمله این موارد هستند. آزمون CEH انتظار دارد در مورد ساختار فیلدهای پرچم TCP اطلاعات کافی را داشته باشید. به عبارت دقیق‌تر باید سطح دانش خود در ارتباط با پرچم‌های CWR ، ECE ، URG ، ACK ، PSH ، RST ، SYN و FIN را افزایش دهید.

پروتکل بسته داده کاربر (User Datagram Protocol)

UDP هیچ یک از فرآیندهای دست‌دهی سه مرحله‌ای TCP را انجام نمی‌دهد. همین موضوع باعث می‌شود ضریب اطمینان پروتکل فوق کاهش پیدا کند، اما در مقابل سرعت افزایش یابد. پروتکل فوق برای تحویل سریع داده‌ها به مقصد و زمانی که مقصد نسبت به از دست رفتن داده‌ها حساس نیست مناسب است. UDP توسط سرویس‌هایی همچون پروتکل کنترل پویای میزبان پویا (DHCP) و DNS استفاده می‌شود. هکرها به شکل ساده‌تر به نسبت TCP به UDP حمله کنند، زیرا پروتکل فوق از توالی و شماره‌های تأیید استفاده نمی‌کند. شکل زیر ساختار یک بسته UDP را نشان می‌دهد.

لایه اینترنت (Internet)

لایه اینترنت از دو پروتکل مهم به‌نام‌های پروتکل اینترنت (IP) نسخه‌های 4/6 و پروتکل کنترل پیام (ICMP) ساخته شده است.IP یک  پروتکل قابل مسیردهی است که سعی می‌کند بسته‌ها را بهترین شکل به مقصد تحویل دهد. شکل زیر سرآیند IP را نشان می‌دهد. برای درک بهتر این ساختار لازم است چند دقیقه وقت صرف کرده و جزییات فیلد‌های این پروتکل را بررسی کنیم. البته برای مشاهده جزییات دقیقت پروتکل کافی است به فایل RFC 791 در اینترنت رجوع کنید. اگر عبارت فوق را در اینترنت وارد کنید، فایل مربوط به این پروتکل را مشاهده می‌کنید. زمانی‌که ساختار پروتکل‌های UDP ، TCP و IP را مرور می‌کنید، ممکن است کمی خسته شوید، زیرا قرار نیست با بررسی دقیق بسته‌های هر یک از پروتکل‌های یاد شده اطلاعاتی در ارتباط با مباحث امنیتی به‌دست آورید، با این‌حال، مهم است عملکرد این بسته‌ها را درک کرده و اطلاعاتی در مورد فیلد‌های درون بسته‌های هر یک از این پروتکل‌ها به دست آورید، زیرا بسیاری از حملات هکری بر مبنای دستکاری بسته‌ها انجام می‌شوند. به عنوان مثال، قسمت Total Length و فیلد افست (IPID) در یک حمله Ping of Death استفاده می‌شوند.

نسخه ششم پروتکل اینترنت (IPv6) جدیدترین نگارش از پروتکل IP است و همان‌گونه که در شکل بالا نشان داده شده جایگزینی برای IPv4 است. IPv6 دستاوردهای زیادی برای شبکه‌های مدرن به همراه آورده است. یکی از این دستاوردهای مهم افزایش فضای آدرس‌دهی از 32 بیت به 128 بیت است. همچنین‌، IPv4 از یک فیلد Option استفاده می‌کند، در حالی‌که IPv6 چنین کاری انجام نمی‌دهد و از ترافیک پخشی پشتیبانی نمی‌کند. در عوض، IPv6 از یک محدوده لینک-محلی به عنوان یک آدرس مولتی‌کس چندکاره برای تمامی گره‌ها استفاده می‌کند. IPv4 از آدرس‌های اعشاری استفاده می‌کند، در حالی که IPv6 از آدرس‌های مبنای شانزده استفاده می‌کند. IPv6 به صورت داخلی از IPsec پشتیبانی می‌کند تا به شکل بهتری از داده‌ها در زمان انتقال محافظت کند و کاربران و دستگاه‌ها بتوانند از مکانیزم احراز هویت نقطه پایانی استفاده کنند. با انتقال به IPv6 دیگر نیازی به برگردان/ترجمه آدرس شبکه (NAT) نیست. هنگامی که IPv6 به شکل فراگیر پیاده‌سازی شود و IPv4 بازنشسته شود، دیگر نیازی به پروتکل ARP نیست. IPv6 از پروتکل ARP پشتیبانی ‌نمی‌کند و در عوض از پروتکل NDP سرنام Network Discovery Protocol استفاده می‌کند. پروتکل‌های مسیریابی متداول که توسط IPv6 استفاده می‌شوند عبارتند ازRIPng  سرنام Routing Information Protocol next generation، پروتکل (OSPFv3) سرنام Open Shortest Path First version 3، پروتکل (IS-ISv2) سرنام System-to-Intermediate System version 2 و پروتکل (EIGRPv6) سرنام  Enhanced Interior Gateway Routing Protocol version 6.

IPv4 آدرس‌ها را به قالب چهار رقم اعشاری نشان می‌دهد که توسط نقطه اعشار از یکدیگر جدا شده‌اند. هر یک از این اعداد اعشاری 1 بایت طول دارند و می‌توانند در محدوده 0 تا 255 متغیر باشند. در جدول زیر آدرس‌های IPv4، تعداد شبکه‌ها و هاست‌های موجود را مشاهده می‌کنید.

تعدادی از این آدرس‌ها برای استفاده‌های اختصاصی رزرو شده و قابل آدرس‌دهی نیستند و در شرایط عادی نباید روی بستر اینترنت مشاهده شوند. شکل زیر محدوده آدرس‌های آ‌ی‌پی خصوصی را نشان می‌دهد.

 نکته: در آزمون CEH باید به پرسش‌هایی در خصوص آدرس‌های آی‌پی یا محدوده زیر شبکه پاسخ دهید.

پروتکل IP عملکردی به مراتب بیشتر از آدرس‌دهی انجام می‌دهد. پروتکل فوق می‌تواند مسیریابی را بر مبنای یک مسیر دقیق یا یک مسیر نسبی انجام داده و همچنین مسئولیت تقسیم بسته‌های کاربری (datagram) را عهده‌دار است. تقسیم کردن بسته‌ها به‌طور معمول زمانی انجام می‌شود که فایل‌ها باید شکسته شوند، زیرا محدودیتی در ارتباط با حداکثر اندازه واحد انتقال (MTU) وجود دارد. اگر پروتکل IP مجبور شود یک بسته داده‌ای که بزرگ‌تر از ظرفیت لایه دسترسی شبکه است را ارسال کند، دیتاگرام باید آن‌را به بسته‌های کوچک‌تری بشکند. دقت کنید توپولوژی‌های مختلف شبکه به شکل یکسانی با دیتاگرام‌ها برخورد نمی‌کنند، به همین دلیل تقسیم‌بندی بسته‌ها یک فرآیند مهم در شبکه به شمار می‌رود. با توجه به این‌که بسته‌های آی‌پی از طریق روترها عبور می‌کنند، IP اندازه قابل قبول برای لایه دسترسی شبکه را مشخص می‌کند. اگر دیتاگرام فعلی بیش از اندازه بزرگ باشد، IP فرآیند تقسیم‌بندی دیتاگرام به دو یا چند بسته را انجام می‌دهد. در این حالت هر بسته برچسبی دارد که طول، افست و بیت‌های دیگر مربوط به بسته را شامل می‌شود. length طول کل بسته تقسیم شده را نشان می‌دهد، افست فاصله اولین بایت از دیتاگرام اصلی را نشان می‌دهد. بیت‌های دیگر نشان می‌دهد که آیا بسته‌های دیگری نیز وجود دارد یا بسته دریافتی آخرین بخش از یک دیتاگرام شکسته شده است. شکل زیر مثالی از تقسیم دیتاگرام را نشان می‌دهد:

قطعه اول افست 0 دارد و بایت‌های 0-999 را اشغال می‌کند. قطعه دوم دارای افست 1000 است و بایت‌های 1000-1999 را اشغال می‌کند. قطعه سوم دارای افست 2،000 است و بایت 2،000-2999 را اشغال می‌کند و قطعه پایانی دارای افست 3000 است و بایت‌‌های 3000-399 را اشغال می‌کند. در حالی که سه قطعه اول دارای فیلد More برابر با 1 هستند، اما در قطعه پایانی مشاهده می‌نیم که بیت More به مقدار 0 تنظیم شده، زیرا پس از آن دیگر هیچ قطعه‌ای ارسال نمی‌شود. برای درک چگونگی عملکرد پیاده‌سازی حملات مختلف باید این مفاهیم را به درستی درک کنید. اگر این مفاهیم برای شما ناآشنا هستند، پیشنهاد می‌کنم به سراغ مطالعه کتابی در ارتباط با مفاهیم شبکه و به ویژه شبکه‌های مبتنی بر TCP / IP بروید. کتاب "TCP/IP Illustrated, Volume 1: The Protocols" نوشته  کوین فال و ریچارد استیونز یکی از منابع خوب در این زمینه است.

نکته: در شبکه‌های مدرن امروزی تعداد تقسیم‌ها و تکه‌تکه شدن بسته‌ها بسیار کم است، اگر یک چنین ترافیکی را در شبکه‌ای مشاهده کردید، به احتمال زیاد با نشانه‌ای روشن از یک حمله هکری روبرو شده‌اید.

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

هکرها همچنین می‌توانند بسته‌هایی را آماده کنند تا به جای همپوشانی شکاف‌هایی بین بسته‌های مختلف ایجاد کنند. این بسته‌های تکه‌تکه شده غیر همجوار حالتی شبیه به همپوشانی بسته‌ها را پدید می‌آورند و می‌توانند در سیستم‌عامل‌های قدیمی که وصله نشده‌اند، مشکلاتی همچون کرش شدن را به وجود آورند.

نکته: یک مثال خوب از یک حمله ارسال بسته‌های تکه‌تکه شده مبتنی بر رویکرد همپوشاني، حمله Teardrop است. در حالی که امروزه این حمله منسوخ شده، اما حمله Teardrop از پردازش همپوشانی بسته‌های آی‌پی در سیستم‌های مجهز به سیستم‌عامل قدیمی ویندوز استفاده می‌کرد.

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

متداول‌ترین نوع ICMP که در جدول بالا مشاهده می‌کنید type 0 و type 0 است که یک درخواست پینگ و پاسخ به ICMP است. یک پینگ برای تعیین اینکه میزبان آماده است استفاده میشود، اما می‌تواند به به عنوان یک ابزار مخرب توسط هکرها نیز استفاده شود. هکرها می‌توانند با انجام این پینگ مطمئن شوند که یک سامانه کامپیوتری آنلاین است. دست است که طراحان ICMP به دنبال ساخت پروتکلی بودند که اطلاعات مفید و کارآمدی را ارائه کند، اما هکرها از ICMP برای ارسال بسته‌های Ping of Death ، craft Smurf DoS، محاوره‌های مبتنی بر تمبر زمانی یا netmask استفاده می‌کنند یا حتا می‌توانند بسته‌های نوع 5 ICMP را برای بازتکرار ترافیک ارسال کنند. جدول زیر برخی از کدهای type 3 را نشان می‌دهد:

نکته: در آزمون CEH باید درک درستی از عملکرد پروتکل ICMP داشته باشید، زیرا پروتکل فوق می‌تواند اطلاعات زیادی در اختیار هکرها قرار دهد، به همین دلیل است که بیشتر سرپرستان شبکه به‌کارگیری این پروتکل روی سرورها را به‌طور کامل مسدود یا محدود کرده‌اند. بهتر است پیش از شرکت در آزمون CEH با انواع و کدهای معمول ICMP آشنا شوید. اطلاعات مربوط به این پروتکل به تفصیل در سند RFC 792 قرار گرفته‌اند.

در شماره آینده مبحث فوق را ادامه می‌دهیم.

برای مطالعه رایگان تمام بخش‌های دوره CEH  روی لینک زیر کلیک کنید:

آموزش رایگان دوره CEH


ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه         ثبت اشتراک نسخه  آنلاین 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

برچسب: 

مطالب پربازدید

توسعه و پشتیبانی توسط : ایران دروپال
پشتیبانی توسط ایران دروپال