برای مطالعه قسمت قبل آموزش رایگان دوره CEH اینجا کلیک کنید.
آناتومی پروتکل TCP / IP
چهار پروتکل اصلی TCP / IP عبارتند از پروتکل اینترنت (IP)، پروتکل کنترل انتقال (TCP)، پروتکل دیتاگرام کاربر (UDP) و پروتکل کنترل پیامهای اینترنتی (ICMP). این پروتکلها زیربنایی هستند و باید توسط هر دستگاهی که قصد دارد اطلاعاتی را در یک شبکه مبتنی بر TCP / IP مبادله کند پشتیبانی شوند. هر پروتکل هدف مشخصی را ارائه میدهد. به همین دلیل لازم است حداقل اطلاعت اولیه در مورد عملکرد این پروتکلها داشته باشید. شکل زیر چهار لایه پشته TCP / IP را نشان میدهد. در شکل زیر لایههای کاربرد، میزبان به میزبان، اینترنت و دسترسی به شبکه را مشاهده میکنید که عملکرد هر یک به شرح زیر است:
TCP / IP پایه و اساس شبکههای مدرن امروزی است. از بسیاری جهات، میتوانید به صراحت اعلام کنید که TCP / IP همگام با اینترنت توسعه پیدا کرده است. تاریخچه این پروتکل به سال 1982 و زمانی باز میگردد که به عنوان استانداردی توسط وزارت دفاع ایالات متحده به تصویب رسید. در ابتدا، مدل TCP / IP به عنوان مجموعهای از پروتکلهای انعطافپذیر و با قابلیت تحمل بالا در برابر خطاها در شبکه تعریف شد. در آن زمان سازمانها به پروتکلی احتیاج داشتند که آستانه تحمل بالایی در برابر خطاها داشته باشد تا گرههای شبکه بتوانند اطلاعات را میان یکدیگر مبادله کنند.
از سویی دیگر، ایالات متحده به دنبال شبکهای مقاوم تا در صورت یک حمله هستهای بود گرههای اصلی مسیریابی بهطور کامل از میان نروند. طراحان این شبکه هیچگاه تصور نمیکردند این پروژه نظامی قرار است در آینده تبدیل به مفهومی بهنام اینترنت شود. TCP/IP بر مبنای این فرضیه طراحی شد که قرار است از پروتکل فوق در یک محیط قابل اعتماد استفاده شود، اما اکنون مشاهده میکنیم که بسیاری از پروتکلهای TCP / IP در محیطهای غیر ایمن استفاده میشوند. به عنوان مثال، Telnet به گونهای طراحی شده است که میتواند گذرواژه را روی صفحه کاربر پنهان کند، زیرا طراحان تمایلی نداشتند افرادی که در حال عبور از کنار یک سامانه هستند گذرواژه را مشاهده کنند، اما در نقطه مقابل، این گذرواژه زمانی که قرار است روی یک سیم ارتباطی انتقال پیدا کند به صورت یک متن عادی ارسال میشود.
در آن زمان، کارشناسان تصور نمیکردند ممکن است در آینده یک ارتباط سیمی به سادگی توسط هکرها شنود شده و گذرواژههایی که در قالب یک متن عادی ارسال میشوند با کمترین زحمت قابل رویت باشند. امروزه بیشتر شبکههایی که از آنها استفاده میکنیم بر مبنای پروتکلهای TC{/IPv4 کار میکنند. بسیاری از مکانیسم هایامنیتی موجود در TCP / IPv4 در قالب موارد توسعه یافته به مجموعه پروتکلهای اصلی اضافه شدهاند. از آنجایی که لایهها در بالای یکدیگر قرار میگیرند یک فرآیند کپسولهسازی انجام میشود. کپسولهسازی یک تکنیک لایهبندی پروتکلها است که در آن یک لایه سرآینید به اطلاعات موجود در لایه بالاتر از خود اضافه میکند. شکل زیر نحوه انجام اینکار را نشان میدهد.. تصویر زیر از یک برنامه شنود UDP دریافت شده است.
اجازه دهید به هر یک از چهار لایه TCP / IP نگاهی کرده و مخاطرات امنیتی پیرامون هر لایه و پروتکلهای آنرا بررسی کنیم. چهار لایه TCP / IP به شرح زیر است:
■ The application layer
■ The transport or host-to-host layer
■ The Internet layer
■ The network access layer
لایه کاربرد (Application Layer)
لایه کاربرد در بالای پشته این پروتکل قرار دارد. این لایه مسئولیت پشتیبانی از برنامهها را بر عهده دارد. برنامه ها معمولاً نه به نام، بلکه توسط درگاه/پورت مربوطه شناسایی میشوند. پورتها درون بستههای TCP و UDP قرار میگیرند تا برنامه بتواند به پروتکل موردنظر دست پیدا کند. البته این احتمال وجود دارد که یک سرویس خاص دارای پورت اختصاصی باشد، اما سرویسها میتوانند به درگاههای دیگر نیز گوش (listen) دهند. یک نمونه رایج در این زمینه پروتکل ساده انتقال ایمیل (SMTP) است. درگاه اختصاص داده شده به این پروتکل 25 است اما ممکن است شرکت ارائهدهنده خدمات اینترنت یا سازمان پورت 25 را مسدود کرده باشد تا نتوانید یک میلسرور روی کامپیوتر محلی خود داشته باشید، با این حال، راهکار فوق مانع از آن نمیشود تا سرور پست الکترونیکی خود را روی درگاه محلی دیگری اجرا نکنید. دلیل اصلی این موضوع که برخی از سرویسها یک پورتهای خاصی گوش میدهند ایت است که یک کلاینت به سادگی بتواند سرویسی که روی یک میزبان راه دور در حال اجرا است را پیدا کند. به عنوان مثال، سرورهای FTP در پورت 21 فعال هستند، و سرورهای پروتکل انتقال ابرمتن Hypertext (HTTP) روی پورت 80 فعال هستند. برنامههای کاربردی کلاینتی همچون برنامه یا مرورگر پروتکل انتقال فایل (FTP) بهطور تصادفی از پورتهای اختصاص داده شدهای بزرگتر از 1023 استفاده میکنند. تقریباً 65،000 هزار پورت وجود دارد که تقسیمبندی آنها به شرح زیر است:
0-1023 : پورتهای عمومی و شناخته شده
1024-49151: پورتهای ثبت شده
49152-65535: پورتهای پویا
درست است که صدها درگاه و برنامه متناظر به آنها وجود دارد، اما کمتر از صد مورد از آنها مشترک هستند. در شکل زیر پروتکلها و پورتها را مشاهده میکنید. موارد نشان داده شده در شکل زیر برخی از پورتهای متداولی هستند که هکرها برای نفوذ به سامانه یک قربانی ابتدا به سراغ آنها میروند.
مسدود کردن این درگاهها در صورت عدم نیاز ایده خوبی است، اما بهتر است اصل به حداقل رساندن امتیاز را عملی کنید. اصل به حداقل رساندن امتیاز بدین معنی است که شما به یک موجودیت کمترین میزان دسترسی را برای انجام کارهایش میدهید. اگر درگاهی استفاده نمیشود، آنرا ببندید. همواره به این نکته دقت کنید که حفظ امنیت فرآیندی بی پایان است، در نتیجه بستن یک درگاه به معنای آن نیست که فردا هم درگاه فوق بسته خواهد بود. شما باید به صورت دورهای درگاههای باز را آزمایش کنید. درست است برخی از پروتکلها همچون Secure Shell سرنام SSH نسبتاً ایمن هستند، اما برخی دیگر مانند Telnet این چنین نیستند. فهرست زیر کارکردها و مشکلات امنیتی برخی از برنامههای رایج را نشان میدهد:
پروتکل انتقال فایل: FTP پروتکل FTP یک سرویس TCP است و از پورتهای 20 و 21 استفاده میکند. این سرویس برای انتقال فایلها از یک کامپیوتر به کامپیوتر دیگر استفاده شده و از پورت 20 برای انتقال جریان دادهها میان کامپیوتر کلاینت و سرور استفاده میکند. پورت 21 به منظور کنترل جریان و به منظور ارسال فرامین میان کلاینت و سرور FTP استفاده میشود. حمله به سرویس FTP عمدتا به منظور شنود گذرواژههایی که به شکل متن ساده ارسال شدهاند، دسترسی به مجوزهای پوشهای که پیکربندی اشتباهی دارند انجام میشود. FTP یکی از رایجرترین سرویسهایی است که هکرها به آن حمله میکنند، به همین دلیل امروزه کمتر از سرویس FTP استفاده میشود.
پروتکل پیکربندی پویای میزبان (DHCP): از DHCP برای اختصاص آدرس آیپی به دستگاههای متصل به یک شبکه استفاده میشود. سرویس فوق از پورت 67 و پورت 68 برای انجام اینکار استفاده میکند. DHCPv4 بر مبنای چهار مرحله کشف، ارائه، درخواست و تأیید فرآیند (DORA) تخصیص آدرس را انجام میدهد.
■: Telnet تلنت یک سرویس TCP است که روی درگاه 23 کار میکند. تلنت به یک کلاینت اجازه میدهد نشستی را با میزبانی که در مکان دیگری قرار دارد برقرار کند. تلنت اطلاعاتی که توسط برنامه کلاینت تایپ شدهاند را برای کامپیوتر میزبان ارسال میکند. اگرچه تلنت میتواند پیکربندی شود تا اتصالات ناشناس را فراهم کند، اما باید به گونهای پیکربندی شود که به نامهای کاربری و گذرواژه نیاز داشته باشد. متأسفانه، حتا پس از انجام اینکار نیز تلنت این اطلاعات را در قالب یک متن عادی ارسال میکند. برنامه های کاربردی مانند SSH باید به عنوان جایگزینی برای تلنت استفاده شوند. SSH جایگزینی مطمئن برای تلنت است، زیرا نام کاربری و گذرواژهها را به شکل متن ساده ارسال نمیکند.
پروتکل انتقال ساده ایمیل (SMTP): یکی دیگر از سرویسهای TCP است که روی پورت 25 کار میکند. سروی فوق برای تبادل ایمیل بین سیستمهای شبکه طراحی شده است. پیامهای ارسال شده از طریق SMTP از دو بخش سرآیند آدرس و متن پیام تشکیل شدهاند. همه کامپیوترها میتوانند با استفاده از SMTP به تبادل پیام بپردازند. جعل و هرزنامه دو آسیبپذیری مرتبط با SMTP هستند.
سامانه نام دامنه (DNS): این سرویس از پورت 53 برای انجام فعالیتهای خود و ترجمه آدرسها استفاده میکند. درست است که گاهی اوقت به درستی نقش DNS را درک نمیکنیم، با اینحال وظیفه سرویس فوق این است که نامهای دامنه کاملاً واجد شرایط (FQDN) را به یک آدرس IP عددی یا آدرسهای IP به FQDN تبدیل میکند. اگر هکری موفق شود عملکرد DNS را مختل کند، اینترنت همچنان به فعالیت خود ادامه میدهد، اما در این حالت کاربران باید آدرس IP هر سایتی که تمایل به بازدید از آنها را دارند حفظ کرده باشند. به همین دلیل عدم وجود DNS در بیشتر موارد باعث غیر قابل استفاده شدن اینترنت میشود.
بانک اطلاعاتی DNS از یک یا چند فایل منطقهای تشکیل شده است. هر منطقه مجموعهای از رکوردهای منابع ساختیافته است. از رکوردهای رایج درون سامانه نام دامنه میتوان به رکورد شروع اعتبار (SOA) سرنام Start Of Authority، رکوردA در پروتکل IPv4، رکوردAAAA در پروتکل IPv6، رکورد CNAME، رکورد NS، رکورد PTR و رکورد MX اشاره کرد. لازم به توضیح است در هر فایل پایگاه داده منطقهای تنها یک رکورد SOA وجود دارد. رکورد فوق فضای نام منطقهای را توصیف میکند. آخرین ورودی در رکورد SOA مقدار timeout را نشان میدهد. مقدار timeout به هکرها نشان میدهد حمله مسمومسازی DNS چه مدت پایدار بوده است. رکورد A رایجترین رکورد درون سامانه نام دامنه است. رکورد فوق شامل آدرسهای IP و نام میزبان خاص است. رکورد CNAME یک نام مستعار است. رکورد NS آدرس آیپی سایر سرورهای نام را فهرست میکند. یک رکورد MX به رکورد تبادل ایمیل اشاره دارد. این رکورد به آدرس آیپی سرور اشاره دارد، جایی که ایمیل باید به آن ارسال شود. هکرها میتوانند سرورهای DNS را با انواع مختلف از حملات هدف قرار دهند. یکی از این حملهها مسمومسازی کش DNS است. این نوع حمله، ورودیهای جعلی را به یک سرور DNS ارسال میکند تا اطلاعات ذخیره شده در آن را خراب کند. از دیگر حملات پیرامون DNS میتوان به حمله DoS و انتقال به منطقه غیرمجاز اشاره کرد. DNS از پروتکل UDP برای محاورههای DNS و از TCP برای انتقال منطقهای استفاده میکند. به دلیل آسیبپذیریهای موجود در DNS، کارگروه مهندسی اینترنت (IETF) نسخه پیشرفتهای از این سرویس بهنام ضمیمههای امنیتی سامانه نام دامنه (DNSSEC) سرنام Domain Name System Security Extensions را توسعه داد. DNSSEC برای احراز هویت مبدأ دادههای DNS طراحی شده است. Nslookup یکی از ابزارهای رایج خط فرمان است که برای اجرای محاورهها روی سامانه نام دامن و بهدست آوردن نام نام دامنه یا ترسیم آدرس IP از آن استفاده میشود. در کامپیوترهای لینوکسی میتوان از دستور میزبان برای جستوجوی سوابق DNS استفاده کرد. ترکیب نحوی دستور فوق به شرح زیر است:
host [-c class] [-N ndots] [-R number] [-t type] [-W wait] [-m flag] [-4] [-6] {name} [server]
نکته: آزمون CEH انتظار دارد درباره دو سرویس مهم DNS بهنامهای name resolversکه به سادگی به درخواستها پاسخ میدهد و authoritative servers که رکوردهای DNS را برای یک فضای نام نگهداری میکند اطلاعات کافی داشته باشید. همچنین لازم است درباره رکوردهای عمومی NDS همچون رکوردهای A که مرتبط با آدرسهای IPV4 هستند و رکوردهای AAAA که مرتبط با آدرسهای IPv6 هستند اطلاعات کافی داشته باشید.
پروتکل TFTP: پروتکل TFTP سرنام Trivial File Transfer Protocol روی پورت 69 کار میکند. پروتکل فوق را باید نسخه سادهتر و البته چالشیرتر FTP توصیف کنیم، زیرا از UDP برای کاهش سربارهها استفاده میکند. پروتکل فوق نه تنها بدون مدیریت یک نشست که TCP بر مبنای آن کار میکند استفاده میکند، بلکه نیازی به احراز هویت ندارد که میتواند چالش امنیتی بزرگی را به وجود آورد. پروتکل فوق عمدتا توسط تولیدکنندگان روتر برای ارسال فایلهای پیکربندی روتر استفاده میشود.
پروتکل HTTP: پروتکل انتقال ابرمتن Hypertext Transfer Protocol یک سرویس TCP است که از پورت 80 استفاده میکند. HTTP یکی از شناختهشدهترین پروتکلهای حال حاضر است که توسط بیشتر برنامهها و برخی از سایتها استفاده میشود. مدل اتصال HTTP به عنوان یک اتصال فارغ-از-حالت است. HTTP از رویکرد درخواست و پاسخ استفاده میکند که در آن کلاینت درخواستی را ارسال میکند و سروری به درخواست پاسخ میدهد. حملاتی که سعی میکنند از پروتکل HTTP سوء استفاده کنند، این توانایی را دارند تا سرور، مرورگر یا اسکریپتهایی که روی مرورگر اجرا میشوند را هدف قرار دهند. Code Red یکی از معروفرترین حملاتی بود که وبسرورها را هدف قرار میداد.
پروتکل SNMP : پروتکل SNMP سرنام Simple Network Management Protocol یک سرویس مبتنی بر UDP است و از درگاههای 161 و 162 استفاده میکند. کارشناسان پیشبینی میکردند که پروتکل فوق روشی کارآمد و ارزان برای نظارت بر شبکهها باشد. SNMP به سرپرستان شبکه اجازه میدهد تا اطلاعاتی همچون آماری در ارتباط با وضعیت شبکه جمعآوری میکنند و گزارش را برای ایستگاههای مدیریتی ارسال کنند. بیشتر شرکتهای بزرگ به نوعی پروتکل SNMP را برای مدیریت شبکهها پیادهسازی میکنند. برخی از مشکلات امنیتی SNMP ناشی از این واقعیت است که اطلاعات را به شکل متن واضح ارسال میکنند. SNMP نسخه 3 نگارش جدیدتر پروتکل فوق است که امنیت بیشتری را از طریق رمزنگاری اطلاعات ارائه میکند.
نکته: آزمون CEH انتظار دارد درباره پروتکلهای فوق و ضعفهای موجود در این پروتکلها اطلاعات لازم را داشته باشید.
در شماره آینده مبحث فوق را ادامه میدهیم.
برای مطالعه رایگان تمام بخشهای دوره CEH روی لینک زیر کلیک کنید:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟