چگونه امنیت شبکه را ارزیابی و تحلیل کنیم؟
نظارت بر شبکههای کامپیوتری مستلزم بهکارگیری انواع مختلفی از ابزارهای امنیتی است. با اینحال، کارشناسان امنیت نباید به صرف اینکه ابزارهای مختلفی در شبکه نصب شده و هر زمان فعالیت مشکوکی شناسایی شد، این ابزارها هشدارهایی را ارسال خواهند کرد، از وظیفه خود غافل شوند. در بیشتر موارد هکرها سعی میکنند به سراغ مدخلها و مکانهایی بروند که ابزارهای امنیتی کمتر روی آنها متمرکز هستند. بر همین اساس مهم است که برخی فعالیتها به شکل دستی انجام شود تا هرگونه مورد مشکوکی به سرعت شناسایی شود. در این مقاله با چند مورد از این راهکارها آشنا میشوید.
فرآیند ضبط بسته چیست؟
ضبط بسته (Packet Capture) به فرآیند ضبط و جمعآوری بستههای داده که توسط گرهها روی یک شبکه کامپیوتری مبادله میشود اشاره دارد. اصطلاح دیگری که در این زمینه وجود دارد ضبط عمیق بسته (Deep Packet Capture) است که بیشتر در ارتباط با شبکههای با نرخ ترافیک بالا انجام شده و بیشتر با هدف جمعآوری سریع اطلاعات در ارتباط با سرآیند و بدنه بستهها انجام میشود. هنگامی که بستهها توسط نرمافزارهای امنیتی ضبط و ذخیره میشوند، در ادامه ابزارهای تحلیلی، عملیات بازرسی عمیق بسته را جهت بازبینی دادههای بسته، انجام تحلیلهای قانونی برای کشف علت بروز مشکلات شبکه، شناخت تهدیدات امنیتی و اطمینان از مطابقت ارتباطات بستهها و استفاده از شبکه با خطمشیهای مشخص شده انجام میدهند. برخی از عملیات ضبط عمیق بسته میتوانند با عملیات بازرسی عمیق آن همراه شوند و در نتیجه میتوانند به مدیریت، بازبینی و آنالیز تمامی ترافیک شبکه به صورت زمان واقعی و همزمان نگهداری آرشیوی تاریخی از کل ترافیک شبکه برای آنالیزهای آینده بپردازند.
گاهی اوقات در ارتباط با شبکههای نه چندان حساس از رویکرد ضبط جزئی بستهها استفاده میشود. در این حالت تنها سرآیند بستهها بدون بخش دادهای ضبط میشوند. اینکار بیشتر زمانی انجام میشود که کارشناسان امنیتی به دنبال عدم اشغال فضای ذخیرهسازی هستند. با این حال، به دلیل نبود دادههای کافی جهت آشکارسازی موارد مشکوک این راهکار کمتر مورد استفاده قرار میگیرد.
فیلتر کردن
ضبط بسته میتواند تمام دادههای بسته یا بخش فیلتر شدهای از جریان ترافیک دادهای را ضبط کند.
ضبط کامل بستهها
ضبط کامل بستهها امکان ضبط بسته داده را از لایه پیوند داده تا لایههای بالاتر از آن که شامل لایههای ۲ تا )در مدل OSI میشوند را شامل میشود. در این حالت هر دو بخش سرآیند و بدنه بستهها جمعآوری میشوند. سرآیند شامل اطلاعاتی درباره موارد موجود در بسته است که شبیه به آدرس و اطلاعات حک شده روی پاکت نامه است. بخش بدنه شامل محتوای واقعی بسته را شامل میشود که همان محتوای درون پاکت نامه است. ضبط کامل در بر گیرنده تمامی بستههایی است که از بخشی از شبکه عبور میکنند، صرف نظر از مبدا، پروتکل و دیگر بیتهای مشخصکننده داده در بسته. در فرآیند ضبط کامل کارشناسان بدون محدودیت و بدون هیچگونه فیلتری تمامی بستههای شبکه را جمعآوری میکنند. البته اینکار بیشتر توسط ابزارهای ضبط بسته انجام شده و زمانی انجام میشود که فعالیت مشکوک یا حملهای اتفاق افتاده باشد.
فرآیند ضبط فیلتر
وسایل ضبط بسته میتوانند ضبط بستهها را بر اساس پروتکل، آدرس آیپی، مک آدرس و… محدود کنند. با بهکارگیری فیلترها، فقط بستههای کاملی که معیارهای فیلتر را (چه در قسمت سرایند و چه در قسمت بدنه) داشته باشند، ضبط شده، مورد توجه قرار گرفته یا ذخیره میشوند.
نقاط ضبط چندگانه
یک چالش در شبکههای پیادهسازی شده در مرکز داده این است که ممکن است چند نقطه وجود داشته باشد که باید بستههای آنها برای تجزیه و تحلیل جمعآوری شود. این نقاط شامل رابطهای مسیریابها، سوئیچها، دیوارههای آتش، سرورها و دیگر تجهیزات شبکه است. از رایجترین تکنیکهای مورد استفاده در این زمینه میتوان به تعریف اتصالات شبکه بر خط بوسیله رسانههای رابط (interface connection media) یا گسترش ترافیک سوئیچهای شبکه به یک پورت آیینهای آزاد اشاره کرد. هرکدام از روشهای یاد شده باعث دو برابر شدن بستههای شبکه بر روی رابطهای آن میشوند که آمادهاند تا ورودی ابزار بازبینی شبکه باشند. یک چالش در این زمینه این است که تحلیلهای چند گانه مجزا برای ابزارهای بازبینی مورد نیاز است در نتیجه شاید به تعداد کافی اتصال یا گسترش وجود نداشته باشد تا جوابگوی تمام نیازهای ما باشد. یک راه حل برای این مشکل این است که یک سوئیچ مشخص را تعریف کنیم که منابع چند گانه را در یافت میکند سپس آنها را به صورت داخلی دو برابر کرده، فیلترها را اعمال وخروجی را به سمت ابزارهای بازبینی مورد نظر مسیر دهی میکند. نمونههایی از این سوئیچها مانند سوئیچ آشکار شبکه (Network Visibility Fabric) از Gigamon و ابزار بهینه ساز شبکه (Net tool optimizer) از Ixia است.
ضبط وآنالیز بر مبنای بازه زمانی
هنگامی که دادهها ضبط شدند میتوانند در همان لحظه آنالیز شوند یا ذخیره شده و بعداً آنالیز شوند. بسیاری از ابزارهای بازرسی عمیق بسته متکی بر بازرسی زمان واقعی دادهها هنگام عبور از شبکه هستند و از ضوابط شناخته شده برای آنالیز استفاده میکنند. ابزارهای بازرسی عمیق بسته (DPI) تصمیمات زمان واقعی درباره کارهای مورد انجام بر روی بسته داده اتخاذ کرده، آنالیزهای تعیین شده را به اجراء گذاشته و بر روی نتایج کار میکنند. اگر بستهها بعد از ضبط شدن ذخیره نشوند، دور ریخته خواهند شد و محتویات واقعی بستهها دیگر در دسترس نیستند. ابزارهای ضبط و آنالیز کوتاه مدت، فقط وقتی که نشانههای تهدیدات از قبل شناخته شده باشند، نوعاً میتوانند تهدیدات را شناسایی کنند. با این وجود این ابزارها میتوانند به صورت زمان واقعی عمل کنند. ضبط و آنالیز تاریخی تمام بستههای ضبط شده را بعد از این که داده کاملاً از شبکه رد شد، برای آنالیزهای بعدی نگه میدارد. همانگونه که بازرسی عمیق بسته و ابزارهای آنالیز هشدارها را بیان میکنند، سابقه تاریخی نیز میتواند مورد آنالیز قرار گیرد تا مفاهیم سیستم را برای کشف هشدارها بکار گیرد، و به سوالاتی مانند “چه چیز باعث شد به وضعیت هشدار برسیم؟ ” پاسخ دهد.
آنالیز دادههای تاریخی که به وسیله ضبط عمیق بسته (DPC) ضبط شدهاند در تعیین کردن منابع ورود غیر مجاز کمک میکند. DPC میتواند ترافیکی را که به سرورهای مشخص دسترسی دارند و دیگر سیستمها را ضبط کنند تا بتواند تاید کند که جریان ترافیک متعلق به کارکنان مجاز میباشد. با این وجود این تکنیک نمیتواند مثل سیستم جلوگیری نفوذ عمل کند.
شناخت نشتی داده
تحلیل دادههای تاریخی به وسیله DPC به بازبینی محتوا و شناخت نشت داده و تعیین کردن منبع آن نیز کمک میکند. تحلیل دادههای DPC همچنین میتواند آشکار سازد که چه فایلهایی از شبکه به خارج فرستاده شدهاند.
شناسایی و رفع مشکلات شبکه
اگر مشکل جدی روی شبکه تشخیص داده شود، دلیل یا منبع آن به صورت مطمئن تری میتواند شناخته شود اگر که مدیر شبکه دسترسی به دادههای کامل تاریخی داشته باشد. DPC میتواند تمام بستهها را بر روی پیوندهای مهم شبکه بهطور مستمر ضبط کند. وقتی رویدادی رخ میدهد مدیر شبکه میتواند دسترسی دقیق به شرایطی که پیرامون وقوع آن است داشته باشد، اقدام اصلاحی را انجام داده و مطمئن شود که مشکل دیگر روی نخواهد داد. این به کاهش میانگین مدت زمان تعمیر کمک میکند.
ضبط بسته بدون اطلاع مدیر شبکه با پیامدهای قانونی همراه است، زیرا یک فرد میتواند تمام ترافیک شبکه تولید شده توسط شبکه را جمعآوری کند. بهطور مثال، ارائهدهندگان خدمات اینترنت (ISPs) و ارائه دهندگان صدا روی پروتکل اینترنت در ایالات متحده امریکا باید خود را با قانون CALEA (کمکهای ارتباطی برای اجرای قانون) انطباق دهند. DPC رکوردی از تمام فعالیتهای شبکه تهیه میکند. با استفاده از ضبط و ذخیره بستهها، عاملهای ارتباط از راه دور میتوانند امنیت مورد نیاز قانونی را برقرار سازند ودسترسی به ترافیک شبکه هدف را تفکیک کنند و میتوانند از یک دستگاه مشترک برای اهداف امنیت داخلی شبکه استفاده کنند. کاوشگران DPC میتوانند ضبط بدون تلفاتی از ترافیک مورد نظر داشته باشند بدون آنکه بر کارایی شبکه تأثیرگذار باشند. با این وجود وسایل DPC ممکن است در تهیه زنجیره بازبینی مدارک، یا امنیت رضایت بخش برای استفاده در این کاربرد ناتوان باشند. جمعآوری داده از سیستم حامل بدون مجوز، به استناد قوانین مربوط به جلوگیری از دسترسی، غیرقانونی است.
تشخیص از دست رفتن دادهها
در رخدادی که ورود بدون مجوز باعث دزدیده شدن اطلاعات (مثل شماره کارتهای اعتباری، شمارههای امنیت اجتماعی، اطلاعات پزشکی و…) میشود، مدیر شبکه میتواند دقیقاً مشخص کند چه اطلاعاتی دزدیده شدهاند و چه اطلاعاتی هنوز ایمن هستند. این امر میتواند برای ادعای قضایی هنگامی که شرکت کارت اعتباری درخواستی فریبآمیز از خرید غیر مجاز از کارت دریافت میکند، مفید واقع شود.
بررسی راهحلهای امنیتی
هنگامی که استخراج یا ورود غیر مجاز توسط DPC مشخص میشود مدیر سیستم ممکن است به حمله انجام شده علیه سیستم برای جلوگیری از آن جواب دهد. این به مدیر کمک میکند تا بداند راه حل او نتیجه داده یا خیر.
الزامات قانونی
ضبط بسته برای تحقیقات قانونی نیز میتواند با استفاده از ابزارها و سیستمهای منبع باز به راحتی انجام شود. نمونهای از این ابزارها Free BSD و dumpcap هستند. نکتهای که در این زمینه باید به آن دقت کنید کارایی مقایسهای است. اگر کارایی ناگهان افت کند، دادههای تاریخی میتواند به مدیر این اجازه را بدهد تا پنجره زمانی مشخص را مشاهده و دلیل مشکلات کارآیی را شناسایی کند.
اکنون که اطلاعاتی در ارتباط با جمعآوری دادهها بهدست آورید، زمان آن رسیده تا به معرفی ابزارهای پر کاربرد در این زمینه بپردازیم.
وایرشارک
وایرشارک (Wireshark) یک تحلیل کننده نرمافزار آزاد و متنباز است و برای عیب یابی شبکه، تجزیه و تحلیل نرمافزارها و توسعه پروتکلهای ارتباطی و آموزش استفاده میشود. نام اصلی برنامه Ethereal بود و سال ۲۰۰۶ به دلیل مسائل مربوط به علامت تجاری پروژه به Wireshark تغییر نام داد. وایرشارک چندسکویی است و با استفاده از ابزار ویجت جیتیکی+ واسط کاربر را پیادهسازی کرده است و بستههای شبکه را با استفاده از pcap دریافت میکند. وایرشارک روی انواع سیستمعاملهای شبه یونیکس شامل لینوکس، اواس ده، بیاسدی، سولاریس و مایکروسافت ویندوز اجرا میشود. همچنین یک نسخه تحت ترمینال (بدون محیط گرافیکی) به نام TShark وجود دارد. وایرشارک و دیگر برنامههای که با آن منتشر میشود مانند TShark نرمافزار آزاد است و با پروانه عمومی همگانی گنو منتشر میشود.
Aircrack-ng
Aircrack-ng مجموعه ای از نرمافزارهای قوی در لینوکس یا ویندوز است که با تمرکز بر نقاط آسیبپذیر مودم و شبکه وایرلس میتواند اقدام به هک وای فای و نفوذ به وایرلس نماید. برخی از ابزارهایی که در این بسته نرمافزاری وجود دارند عبارتند از:
aircrack-ng: ابزاری برای کرک رمزهای عبور WEP و WPA با استفاده از دیکشنری.
airdecap-ng: ابزاری برای شکستن بستههای رمز نگاری شده با استفاده از رمز به دست آمده.
airmon-ng: ابزاری برای فعال سازی monitor-mode در کارت شبکههای وایرلس.
airodump-ng: ابزاری برای ذخیره بستهها در قالب فایلهای IVS. و PCAP. برای نمایش اطلاعات مربوط به شبکههای وایرلس.
aireplay-ng: ابزاری برای تزریق بسته یا بستک به درون شبکههای وایرلس.
airtun-ng: ابزاری برای ساخت تونل (tunnel) مجازی.
airbase-ng: ابزاری برای ساخت اکسس پوینتهای جعلی و تقلبی.
از مهمترین ویژگیها ابزار یاد شده باید به موارد زیر اشاره کرد:
قابلیت نظارت و کنترل بستههای ارسالی در شبکه و تبدیل آنها به فایلهای متنی برای پردازش و احیاناً رمزگشایی آنها با ابزارهای دیگر
پاسخ گویی به حملات، دسترسیهای غیرمجاز و نقاط دسترسی جعلی، با استفاده از تکنیک تزریق بسته
توانایی تست کارت شبکه و مودم وای فای و شناسایی قابلیتها و تزریق کد به آنها
دارای ابزار شکست پسوردهای WEP و WPA PSK در شبکه و هک پسورد وای فای
سرعت بالا در زمینه پیدا کردن پسوردهای شبکه
محیط کاربری ساده و آسان
Netcat
نتکت (netcat) برنامهای است که برای خواندن و نوشتن روی اتصالات شبکه استفاده میشود. نتکت در این زمینه قابلیتهای زیادی دارد و تقریباً در تمام سیستمعاملهای لینوکسی به شکل پیشفرض وجود دارد. پیدا کردن پورتهای باز و کسب اطلاعات درباره سرویسهای در حال اجرا اطلاعات زیادی در اختیار کارشناسان شبکه قرار میدهد. به کمک نتکت میتوانید تمامی پورتهای یک کامپیوتر را پویش و پورتهای باز را شناسایی کنید.
netstat
netstat سرنام network statistics یک ابزار خط فرمان است که اتصالات شبکه را (هم به داخل و هم به خارج)، جداول هدایت کردن بستهها و تعدادی از آمار رابطههای شبکهای را نشان میدهد.
Traceroute
تریس روت (Traceroute) و tracert فرامین عیبیابی شبکهها هستند که برای ردیابی مسیر حرکت و سنجش تاخیر انتقال بستههای شبکهای در شبکهای با پروتکل اینترنت (IP) مورد استفاده قرار میگیرند. ابزار تریس روت تقریباً در تمامی سیستمعاملهای لینوکسی وجود دارد. البته نوعهای شبیه با قابلیتهای مشابه هم ارائه شدهاند که از آن جمله میتوان به tracepath در لینوکسهای مدرن و tracert در سیستمعامل مایکروسافت ویندوز اشاره کرد. ابزار تریس روت به وسیله افزایش مقدار تیتیال برای هر خوشه ارسال شده از بستهها کار میکند. سه بسته فرستاده شده نخست تیتیال مقدار یک دارند (بر این دلالت میکند که این بستهها به وسیلهٔ میزبان به جای میزبان بعدی ارجاع نشوند). خوشه بستههای بعدی مقدار تیتیال دو دارند و به همین ترتیب مقدار تیتیال خوشههای بستهها زیاد میشود. وقتی یک بسته به یک میزبان میرسد، بهطور عادی یک عدد از مقدار تیتیال آن کم میشود، و پس از آن بسته به مقصد بعدی ارجاع داده میشود. ولی هنگامی که یک بسته با مقدار تیتیال یک به میزبانی برسد، میزبان بسته را دور می ریزد و پیغام آیسیامپی با محتوای از حد زمانی تجاوز شده(نوع ۱۱) به فرستنده بازپس می فرستد. ابزار تریس روت از این نوع بازگشت بسته(رد کردن بسته) استفاده میکند تا لسیتی از میزبانهایی که بسته با مسیریابی منتقل شده تا به مقصد برسد را تولید کند. در ضمن سه مقدار زمانی (از فاصله تا میزبان) برای هر یک از میزبانهایی که بسته باید طی کند با واحد میلیثانیه بازگردانده میشود.(البته میتوان جداگانه میزبانها را پینگ کرد).