در کنار وجود مشکلات اساسی در طراحی و اجرای سیستمهای عامل، برنامههای
کاربردی و پروتکلهای موجود، ساختار شبکههای کامپیوتری نیز عاری از ایراد
نبوده و دچار مشکلات فراوانی میباشند. مهاجمین با نفوذ به سیستمهای کم
اهمیت موجود در روی شبکه و با گسترش میزان دسترسی خود از طریق حفرههای
موجود، به کلیه سیستمها و اطلاعات موجود در روی شبکه دسترسی پیدا
میکنند.در این نوشتارشیوهها و تکنیکهایی که غالباً توسط مهاجمین برای
دسترسی به اطلاعات و کنترل سیستمهای موجود در روی شبکه مورد استفاده قرار
میگیرد مورد بحث و بررسی قرار خواهد گرفت که از جمله این روشها میتوان
به شنود (sniffing) ، جعل (spoofing) و سرقت نشست (Session hijacking)
اشاره نمود.
تذکر این نکته ضروری است که در ادامه بحث فرض براین نهاد
شده که مهاجم، از قبل بر روی یکی از سیستمهای موجود در شبکهِ هدف دارای یک
Account بوده و به یک Interactive Shell در روی آن سیستم دسترسی دارد. حال
ممکن است این فرد Account مزبور را از طریق نفوذ به شبکه بهدست آورده یا
از قبل در اختیارداشته باشد .
● شنود
از جمله شیوههایی که
مهاجمین برای جمعآوری اطلاعات تبادلی بر روی شبکه به کار میبرند میتوان
به شنود یاSniffing اشاره نمود. در این روش، مهاجم با نصب و اجرای
برنامههایی که قابلیت جمعآوری ترافیک شبکه موردنظر را بر روی یکی از
کامپیوترهای متصل به شبکه دارند، اقدام به جمعآوری اطلاعات از روی شبکه
مینماید.
از آنجایی که غالب این Snifferها در لایه Data Link پشته
پروتکلی را هدف قرار داده و بستههای داده را از این لایه جمعآوری
مینمایند و بنا بر ویژگیهای این لایه، عملاً محدودیتی در نوع اطلاعات
جمعآوری شده وجود نخواهد داشت.
مهاجم پس از دستیابی به Shell یکی از
سیستمهای موجود در شبکه و انتقال فایلهای برنامه sniffer بر روی کامپیوتر
مذکور، اقدام به نصب و راهاندازی برنامه نموده و آن را بهگونهای تنظیم
مینماید که ترافیک دریافتی از سطح شبکه بر روی یک فایل محلی ذخیره شود. پس
از گذشت مدت زمان مشخصی، مهاجم فایل موردنظر را جهت بررسی دادهها و
استخراج اطلاعات موردنظر، بر روی کامپیوتر خود منتقل میکند.
در میان
اطلاعات جمعآوری شده میتوان به دادههایی از قبیل شناسههای کاربری،
کلمات عبور، پاسخهای DNS ، کلمات عبورFTP ، فایلهایی که با استفاده
ازNetwork File System یا Shareهای ویندوز به اشتراک گذاشته شدهاند دست
یافت که با استفاده از این اطلاعات، بالاخص شناسههای کاربری و کلمات عبور،
فرد مهاجم میتواند به کامپیوترهای بیشتری در سطح شبکه دسترسی یافته و
میزان تسلط خود را بالاتر ببرد .
Snifferها میتوانند بر روی انواع
مختلفی از واسطهای شبکه (مانند واسطهای PPP یا Token Ring مورد استفاده
قرار گیرند ولی به علت وجود پروتکل غالب اترنت در طراحی LAN ، اغلب Sniffer
ها برای این نوع پروتکل شبکه طراحی و تنظیم میشوند. همانطوری که
میدانید در طراحی یک LAN اترنتی میتوان از هاب (Hub) یا از سوییچ
(Switch) استفاده نمود که هر دو ابزار دارای وظیفهای یکسان با عملکردی
متفاوت میباشند. در یک LAN طراحی شده با هاب، وقتی بستههای داده از یک
کامپیوتر به سمت کامپیوتر دیگری ارسال میگردد، هاب مستقر در segment
کامپیوتر مقصد، پس از دریافت بسته موردنظر آن را به همه کامپیوترهای متصل
به خود و موجود در آن قسمت ارسال خواهد داشت.
بنابراین اگر مهاجمی یک
Sniffer را روی یکی از سیستمهای موجود در آن قسمت راهاندازی نماید،
Sniffer میتواند دادههایی را که به هر سیستم رویLAN فرستاده شده و یا از
آن خارج میشود را دریافت و ذخیره نماید. به این نوع جمعآوری اطلاعات،
ردیابی غیرفعال یا Passive Sniffing گویند.
برخلاف هاب، سوئیچها تمامی
اطلاعات دریافتی را به همه سیستمهای موجود در LAN ارسال نخواهند داشت؛
بلکه یک سوئیچ پس از دریافت هر بسته اطلاعات با بررسی Header آن بسته، آدرس
MAC کامپیوتر مقصد را استخراج نموده و با توجه به جدول نگاشت آدرسهای MAC
موجود در حافظه خود، بسته مذبور را فقط به سمت کامپیوتر مقصد هدایت
مینماید (آدرسهای MAC آدرسهای سختافزاری یکتا برای هر کارت شبکه
میباشند). در واقع میتوان گفت که بدین طریق سوئیچها، ترافیک موجود در
شبکه را تا حد زیادی کاهش میدهند. اگر مهاجمSinffer غیرفعالی را روی یک
LAN طراحی شده با سوئیچ فعال نماید، Sniffer فقط اطلاعاتی را دریافت خواهد
کرد که به سمت کامپیوتر موردنظر ارسال شده و یا از آن خارج میشود.
در
این موارد، مهاجمین برای کسب همه اطلاعات رد و بدل شده در طول شبکه از طریق
شیوههای شنود، غالباً از تکنیکهایی ازقبیل MAC Flooding و یا Arp
spoofing استفاده میکنند. در روش اول، مهاجم ترافیک سنگینی از بستههای
داده را به آدرسهای MAC مورد استفاده هر پیوند هدایت مینماید.
سرانجام
حافظه سوئیچ با آدرسهای MAC غیرمجاز و جعلی پر شده و سوئیچ در چنین
شرایطی شروع به ارسال دادهها روی تمامی پیوندهای متصل به خود میکند. در
واقع در این مرحله عملاً سوئیچ همانند هاب عمل کرده و مهاجم به راحتی توسط
هرSinffer غیرفعالی میتواند تمامی ترافیک موجود در شبکه را مشاهده و ذخیره
نماید. در بعضی از ساختارهای سوئیچ، معروف به Unfloodable ، پس از اینکه
حافظه آدرسهای MAC سوئیچ تا حد خاصی پر شد، سوئیچ دیگر آدرسهای MAC جدید
را در خود ذخیره نمیکند و عملاً تکنیک MAC flooding درباره این سوئیچها
کارگر نخواهد بود. در مواجهه با چنین شرایطی غالباً مهاجمان از تکنیکی به
نام Arp spoofing استفاده میکنند.
همانطوری که میدانیم براساس
پروتکل RFC۶۲۸ ) ARP ) ، آدرسهای ۳۲ بیتی IP جهت استفاده در طول شبکه
تبدیل به آدرسهای ۴۸ بیتی سختافزاری میشوند. بدینترتیب در یک شبکه محلی
با یک مسیریاب پیشفرض، هرگاه سیستمی قصد برقراری ارتباط با یکی از
کامپیوترهای موجود در شبکه را داشته باشد با ارسال پیغامهای عمومی ARP
شروع به جستجوی آدرس سختافزاری سیستم هدف میکند.
در این مرحله سیستم
هدف، با ارسال آدرس سختافزاری خود پاسخ این جسجو را داده و ارتباط برقرار
خواهد شد. در تکنیک Arp spoofing مهاجم با ارسال پاسخهای ARP جعلی به سمت
سیستم هدف، جدول ARP قربانی را با نگاشت آدرس IP مسیریاب پیشفرض (لایه ۳)
به آدرس MAC خود (لایه ۲) تغییر داده و با اینکار سیستم هدف را مجبور
میکند که برای دستیابی به مسیریاب پیشفرض، از آدرس MAC مهاجم استفاده
میکند و بدین ترتیب همه دادههای خروجی سیستم هدف با مقصد مسیریاب پیشفرض
به سمت کامپیوتر مهاجم ارسال خواهند شد. در واقع در طی این فرایند
کامپیوتر مهاجم نقش واسط را بین سیستم هدف و مسیریاب پیشفرض بازی میکند.
در
مرحله بعد مهاجم با راهاندازی سرویس IP Forwarding بر روی کامپیوتر خود
همه ترافیک دریافتی از سیستم هدف را به سمت مسیریاب پیشفرض مسیردهی میکند
تا از ارتباط درخواستی سیستم هدف جلوگیری به عمل نیامده باشد .
● جعل آدرسIP
روش
متداول دیگری که مهاجمان برای ایجاد اختلال، پوشاندن ردپا و دسترسی
غیرمجاز مورد استفاده قرار میدهند، جعل آدرس IP میباشد. در این روش مهاجم
با تغییر آدرس IP خود از طریق پیکربندی مجدد سیستم سعی در معرفی خود
بهعنوان یکی از سیستمهای موجود در شبکه مینماید. غالباً این نوع روش
جعل، زمانی مورد استفاده قرار میگیرد که مهاجم بخواهد منبع بستههای
ارسالی را مخفی نماید.
در این روش، از آنجایی که تمامی بستههای
ارسالی از جانب کامپیوترِ هدف به سمت آدرس جعلی که مهاجم وانمود کرده است،
ارسال میشود، عملاً مهاجم هیچگونه پاسخی را دریافت نکرده و در نتیجه
نمیتواند هیچگونه نشست تعاملی را با سیستم هدف داشته باشد. لازم به ذکر
است که تکنیکهای جعل آدرس IP بر روی سیستمهای مبتنی بر پروتکل TCP قابل
اجرا بوده و سیستمهایی را هدف قرار میدهند که از آدرسهای IP برای
اعتبارسنجی و برقراری ارتباط استفاده میکنند.
در نوع دیگری از تقلید
آدرس IP که به تکنیک مسیریابی مبدا معروف است مهاجم از طریق دستکاری در
Header بستههای ارسالی، مسیری که سیستم هدف برای برقراری ارتباط با هر
سیستم دلخواه دیگری باید مورد استفاده قرار دهد را تعیین نموده و ضمن وارد
نمودن آدرس IP خود به عنوان بخشی از این مسیر، مسیر فوق را به سیستم هدف
تحمیل میکند. بدینطریق کامپیوتر قربانی جهت برقراری ارتباط براساس مسیر
تعیین شده از جانب مهاجم، شروع به ارسال دادهها خواهد نمود.
جریان
دادههای مذبور در مسیر خود به سمت مقصد ضمن گذر از مسیریابهای مختلف، از
کامپیوتر مهاجم نیز عبور کرده و بدینطریق مهاجم تمامی دادههای ارسالی از
سیستم هدف را دریافت خواهد نمود. برتری این روش نسبت به روش اول در این
نکته میباشد که در صورت موفقیتآمیز بودن این عمل، مهاجم با مشاهده
پاسخهای ارسالی از کامپیوتر هدف توانایی ایجاد نشستهای تعاملی با سیستم
هدف را دارا خواهد بود.
● سرقت نشست
در سطوح بالاتر مهاجمین با
ترکیب روشهای ذکر شده در بالا و به کار بردن تکنیکی به نام سرقت نشست
(Session hijacking) ، توانایی مشاهده و کنترل تمامی ارتباطات تعاملی ممکن
از قبیل rlogin ،Ftp ،telnet و ... را خواهند داشت. این تکنیک با توجه به
شیوههای اجرای آن به دو نوع سرقت نشست مبتنی بر میزبان (hostBased) و
مبتنی بر شبکه (NetworkBased) تقسیمبندی میشود.
اگر فرض کنیم نشستی
از نوع FTP بین سیستمهای شماره یک و دو برقرار شده باشد و مهاجم نیز کنترل
یکی از سیستمهای موجود در همان قسمت از شبکه را در اختیار داشته باشد، به
راحتی میتوان از طریق تکنیکهای شنود، دادههای در حال انتقال در طی
برقراری این نشست را مشاهده نموده و بر شماره سریال TCP بستههای ارسالی
نیز نظارت داشت. همانطوری که میدانید، هر ارتباط TCP با ارسال یک بسته
Synchronization یا هماهنگسازی برای درخواست برقراری ارتباط شروع میشود.
با
توجه به Header بستههای TCP ، هر بسته Syn اولیه دارای یک عدد تصادفی با
نام شماره سریال میباشد که در صورت برقراری ارتباط بستههای ارسالی بعدی
با پیروی از شماره سریال اولیه روندی افزایشی خواهند داشت در نگارشهای
قدیمی IOS که سیستمعامل روترهای سیسکو میباشد شماره سریال TCP به راحتی
قابل تخمین میباشد ولی در نگارشهای ۰.۱۲ و ۱.۱۲ این امر تا حد زیادی
بهبود یافته است. در تکنیک Session hijacking ، مهاجم در ابتدا با جعل آدرس
IP کامپیوتر موجود در سوی دیگر ارتباط، یعنی سیستم شماره یک، و استفاده از
شماره سریالهای TCP درست و مناسب، بستههای داده جعلی را به سمت سیستم
هدف ارسال میدارد.
سیستم هدف پس از دریافت بستههای مذکور با بررسی
شماره سریال و آدرس IP مبدا بستهها، صحت بستههای دریافتی را تأیید کرده و
از آن جایی که تصور میکند که بستههای دریافتی از جانب کامپیوتر شماره
یک است، براساس موارد خواسته شده پاسخهای مناسب را به سمت وی ارسال خواهد
داشت. بدینترتیب مهاجم کنترل نشست را در اختیار گرفته و به راحتی میتواند
فرامین دلخواه را بر روی سیستم قربانی به اجرا درآورد.
در طرف دیگر
ارتباط، سیستم شماره یک با دریافت بستههای پاسخ و بررسی شماره سریال آنها
متوجه روند افزایشی آن شده و با توجه به اینکه هیچگونه درخواستی برای
اطلاعات مذکور از جانب وی صورت نگرفته است به ازای هر بسته دریافتی یک
پیغام ACK جهت ایجاد هماهنگی مجدد ارسال خواهد داشت که پس از گذشت مدت زمان
کوتاهی از به سرقت رفتن نشست، ترافیک سنگینی از بستهها در طول شبکه به
وجود آمده و در نهایت کامپیوتر شماره دو پس از ارسال تعداد مشخصی پیغام ACK
ارتباط را قطع خواهد کرد.
از آن جایی که در این روش، نشست در هنگام ارسال بر روی شبکه به سرقت میرود به آن سرقت نشست مبتنی بر شبکه گویند.
هرگاه
مهاجم از قبل کنترل یکی از سیستمهای موجود در طرفین ارتباط را در اختیار
داشته باشد به راحتی میتوانید از طریق نصب و اجرای ابزارهای سرقت نشست
مبتنی بر میزبان در روی این سیستم، بر تمامی ارتباطات برقرار شده نظارت
داشته و در هر لحظه میتواند کنترل نشست موردنظر را در اختیار بگیرد.
تفاوت
این روش با روش قبلی در این است که در روش اول مهاجم به هیچ یک از
سیستمهای طرفین ارتباط دسترسی نداشت ولی در تکنیک سرقت نشست بر پایه
میزبان، مهاجم حتما باید کنترل یکی از سیستمهای طرفین ارتباط را در اختیار
داشته باشد. در انتها باید گفت که علاوه بر روشهای ذکر شده تکنیکهای
متفاوت دیگری نیز از سوی مهاجمان برای دسترسی به اطلاعات موجود در روی شبکه
مورد استفاده قرار میگیرد که بحث در مورد این روشها را به شمارههای آتی
موکول میکنیم.