استراتژی دفاع در عمق یا Defense in Depth که به اختصار DiD نامیده می شود، مفهوم محافظت از شبکه رایانهای با مجموعه ای از مکانیزم های دفاعی است به گونه ای که اگر یک مکانیزمی نتواند حمله را مسدود کند، مکانیزم دیگری برای خنثی کردن حمله آماده می باشد. در حقیقت هدف از این استراتژی این است که با ایجاد لایه های دفاعی، حملات مهاجمین سایبری مسدود شوند. در حقیقت استراتژی دفاع در عمق استفاده هماهنگ از اقدامات متقابل امنیتی چندگانه به منظور دفاع از تمامیت دارایی های اطلاعات در یک شرکت در برابر مهاجمان سایبری است. این استراتژی مبتنی بر اصل نظامی است که شکستن یک سیستم دفاعی پیچیده و چند لایه برای دشمن، دشوارتر از نفوذ به یک سد واحد است.
استراتژی دفاع در عمق، احتمال موفقیت هکرهای مخرب را به حداقل می رساند. یک استراتری دفاع در عمقی که به خوبی طراحی و مستقر شده است، می تواند به مدیران سیستم و پرسنل امنیتی کمک کند تا مهاجمانی که قصد به خطر انداختن یک رایانه، سرور، شبکه اختصاصی یا ISP دارند را شناسایی کنند. اگر هکر دسترسی به یک سیستم را داشته باشد، استراتژی دفاع در عمق اثرات منفی را به حداقل می رساند و به مدیران و مهندسان زمان می دهد تا اقدامات متقابل جدید یا به روز شده را برای از جلوگیری اتفاق مجدد را بکار گیرند.
مؤلفه های دفاع در عمق شامل نرم افزار آنتی ویروس، فایروال ها، برنامه های ضد جاسوسی، رمزهای عبور سلسله مراتبی، سیستم های تشخیص و جلوگیری از نفوذ و تأیید بیومتریک و همچنین ایجاد سیستم های مدیریت دسترسی چند مرحله ای است. علاوه بر اقدامات متقابل ذکر شده، حفاظت فیزیکی سایت های تجاری به همراه آموزش جامع و مداوم پرسنل، باعث افزایش امنیت داده های حیاتی در برابر نفوذ، سرقت یا تخریب می شود.
از آنجایی که مهاجمان سایبری زیادی با طیف گسترده ای از روش های حمله و همچنین مقاصد مختلف وجود دارند، هیچ روش واحدی برای محافظت موفقیت آمیز از یک شبکه رایانه ای وجود ندارد. استفاده از استراتژی دفاع در عمق باعث کاهش خطرات ناشی از حملات موفق آمیز و احتملا پرهزینه، به شبکه می شود. در این مقاله، سه سناریوی متداول برای حملات شبکه، روش های احتمالی حمله و اقدامات متقابل برای محافظت از شبکه در برابر حملات بررسی خواهد شد. سناریو اول حمله توسط یک جوجه هکر!! یا همان اسکریپت کیدی از اینترنت است، سناریو دوم حمله توسط یک هکر ماهر است و سناریو نهایی از طریق یک کاربر داخلی و قابل اعتماد است که به شبکه دسترسی دارد.
در این مقاله هدف نشان دادن اینکه هکرها چه کسانی هستند یا از چه روش هایی استفاده می کنند یا از چه روش هایی برای محافظت در برابر آنها می توان استفاده کرد، نیست. این موضوعات نیاز به نوشتن کتاب با حجم های زیاد دارند و بسیار فراتر از حد و هدف این مقاله است. این مقاله سعی دارد با استفاده از تعدادی مثال ساده برای نشان دادن لزوم اجرای استراتژی دفاع در عمق، شما را با فواید پیاده سازی آن آشنا کند.
سناریو اول: اسکریپت کیدی
اسکرپیت کیدی کسی است که به دنبال انجام حمله آسان و تقلیدی است. این دسته هیچ موقع اطلاعات خاص را مورد حمله قرار نمیدهند، همچنین سازمان های خاص از برنامه این دسته خارج هستند. هدف آنها این است که ساده ترین روش برای دستیابی به کاربری root را پیدا کنند. آنها اینکار را با تمرکز روی تعداد کمی از اکسپلویت ها انجام می دهند و سپس به جست و جوی کل اینترنت برای پیدا کردن اکسپلویت می پردازند. دیر یا زود آنها اهداف آسیب پذیر را بدون داشتن هدف خاصی پیدا می کنند.
با وجود عدم دانش فنی، اسکریپت کیدی ها بسیار خطرناک هستند زیرا اهمیتی نمی دهند به چه کسی حمله می کنند و از می توانند بر توانایی های فنی دیگران سرمایه گذاری کنند. فرد می تواند به سایتی مانند www.exploit-db.com مراجعه کند که دارای لیستی از اکسپلویت ها، بحث در مورد اکسپلویت ها، اطلاعاتی درباره نحوه شناسایی سیستم های آسیب پذیر و کدهایی برای شروع حمله است. این موارد در واقع همه آن چیزی است که برای شروع حمله لازم است.
روش دفاع در برابر اسکریپت کیدی
بهترین راه دفاع در برابر اسکریپت کیدی ها، دفاع محیطی است. به عنوان مثال، یک فایروال ترافیک ورودی و خروجی را در یک شبکه نظارت و مدیریت می کند و برای ایجاد یک دفاع محیطی ضروری است. با این که فایروال ها بسیار موثر هستند، اما نمی توان به آنها، بعنوان تنها را تامین امنیت شبکه اعتماد کرد. بنابر تحقیقات موسسه SANS تکیه بیش از حد برروی فایروال یکی از هفت اشتباه رایج مدیریتی است که امنیت شبکه را به خطر می اندازد. سیستم های تشخیص نفوذ مبتنی بر شبکه (NIDS) و سیستم های جلوگیری از نفوذ (IPS) لایه دیگری از دفاع محیطی را فراهم می کنند. Stephen Northcutt در کتاب خود که با عنوان کتابچه راهنمای نفوذ شبکه منتشر شده است و یک کتابچه راهنمای تجزیه و تحلیل می باشد، گفته است :
“هنگامی که یک نابینا، می تواند ببیند. این همان چیزی است که یک سیستم تشخیص نفوذ برای سازمان انجام می دهد: کمک می کند تا یک سازمان از حالت نابینا به حالت بینایی برود و این مورد قطعا اتفاق خوبی است”
سیستم های تشخیص نفوذ مبتنی بر شبکه، به منظور شناسایی اسکن ها یا الگوهای ترافیکی که نشان دهنده حمله است، بر ترافیک شبکه نظارت می کنند. این سیستم ها می توانند امضاهای حملات که از قبل اعریف شده اند یا رفتارهای غیرعادی را که نشان دهنده حمله به سمت شبکه است، تشخیص دهند. سیستم های تشخیص نفوذ مبتنی برشبکه می توانند حملاتی را شناسایی کنند که قبل از آن غیرقابل شناسایی و مشاهده بودند. گاهی اوقات اقدامات متداول مانند تعامل با فایروال، برای متوقف کردن ترافیک خاص، هشدار به یک مدیر از یک مشکل انجام می دهد و می تواند به شناسایی آسیب پذیری که در این رویداد موفق شده است کمک کند.
با وجود همه این روش های دفاع محیطی، گاهی ممکن است یک اسکریپت کیدی بتواند به شبکه نفوذ کرده و دسترسی بگیرد. شاید برایتان جالب باشد که بدانید برخی از مخرب ترین حوادث امنیتی تا به امروز، حملات تصادفی بوده اند که توسط اسکریپت کیدی ها صورت گرفته است. از آنجا که راه هایی برای دور زدن لایه های دفاعی مانند فایروال ها وجود دارد، نیاز است که سیستم های فردی نیز محافظت شوند. با اطمینان از اینکه سیستم ها تمام وصله های امنیتی که وندورها ارائه می دهند را نصب کرده اند، سیستم ها را هاردن کنید، همچنین از نرم افزار آنتی ویروس بر روی سیستم ها استفاده کرده و سرویس های غیرضروری و بدون استفاده را غیرفعال کنید. پروژه Honeynet بینش زیر را در مقاله “دشمن خود را بشناس” ارائه می دهد.
“اسکریپت کیدی ها به دنبال راه نفود آسان هستند، آنها به دنبال استفاده از اسکپلویت های متداول به منظور انجام نفوذ خود می باشند. اطمینان حاصل کنید که سیستم ها و شبکه های شما در برابر این سوء استفاده ها آسیب پذیر نیستند … ”
یکی از مهترین نکات این است که مدیران شبکه ها باید از اخبار جدید در مورد انتشار آسیب پذیری های جدید و همچنین انتشار وصله های امنیتی آگاه باشند. امروزه وبسایت ها و منابع بسیاری به این منظور وجود دارد که مدیران می توانند از آنها استفاده کنند.
نکته دیگری که باید ذکر شود این است که اسکریپت کیدی ها ممکن است از روش های مهندسی اجتماعی نیز استفاده کنند. مهندس اجتماعی یک روش متداول برای حمله و دور زدن فایروال به حساب می آید. با توجه به تحقیقات انجام شده، بیشتر درصد انجام حملات مهندسی اجتماعی از طریق ایمیل انجام می شود. مهمترین خط دفاع در برابر این نوع حملات، آموزش کاربران است. Tom Peltier در مقاله خود با عنوان “برنامه آگاهی از امنیت” جامعه کاربران را برای فرآیند امنیت شبکه بسیار مهم می داند. او نوشته است :
“در صورت عدم وجود فرآیندی برای اطمینان از اینکه کارمندان از حقوق و مسئولیت های خود آگاه هستند، یک معماری امنیتی قوی چندان موثر و کارا نخواهد بود. اغلب اوقات، متخصصان امنیتی برنامه امنیتی “بی نقصی” را اجرا می کنند، درحالی که فاکتور مهم آگاهی کاربران را درنظر نمی گیرند.”
جامعه کاربران شبکه باید از تهدیدات مربوط به امنیت شبکه آگاه باشد. بعنوان مثال آنها باید خطرات باز کردن پیوست های ایمیل، ارسال اطلاعات حساس از طریق شبکه و … را بخوبی درک کرده و بدانند.
یکی دیگر از تهدیدات مربوط به امنیت شبکه که اسکریپت ها انجام می دهند، حملات تکذیب سرویس (DoS) است. حمله DoS حمله ای است به منابع شبکه برای جلوگیری از دستیابی کاربران به آنچه نیاز دارند. به عنوان مثال، حمله smurf از روترهایی که به درستی پیکربندی نشده اند، به منظور استفاده کامل از پهنای باند، استفاده می کنند، بنابراین کاربران مجاز نمی توانند به منابع شبکه دسترسی پیدا کنند. حملات Syn flood از ضعف داخلی TCP/IP برای اتصال منابع سیستم استفاده می کند تا کاربران نتوانند به هاست خاصی دسترسی پیدا کنند. تعداد بیشماری حملات دیگر وجود دارد که می توانند حساب های کاربر را قفل کنند، درایوهای دیسک را پر کنند، خرابی CPU را به بار آورند و موارد دیگر.
اسکریپت کیدی ها اغلب زمانی که نمی توانند کاری را انجام دهند، به حملات DoS روی می آورند. بسیاری از حملات DoS توسط یک محیط قوی و سیستم های پیکربندی شده قابل پیشگیری هستند، اما بعضی از این حملات قابل متوقف کردن نیستند و منجر به قطع سرویس دهی می شوند.
تا اینجا، به مفهوم کلی استراتژی دفاع در عمق و سناریو اول این استراتژی پرداختیم، با قسمت دوم این مقاله همراه باشید تا سناریوهای دیگر این استراتژی را نیز بررسی کنیم.