تست نفوذ

  • تست نفوذ و ارزیابی امنیتی

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

    تست نفوذ (Penetration Testing) متداولترین روش سنجش امنیت شبکه ها و سامانه های مختلف به منظور کشف آسیب پذیری ها در لایه های و بخش های مختلف منطبق بر جزییات و محدوده (Scope) تعیین شده در قرارداد تدوین شده و ارائه دقیق آنها به مشتریان است.

    برخورداری از دانش و آگاهی های امنیتی و آشنایی کامل با ساختارهای دفاعی (Defensive) و تسلط بر روشهای نفوذ و عبور از مکانیزمهای دفاعی(Offensive and Defense Evasion)  توسط متخصصین در آزمون تست نفوذ از اهمیت حیاتی برخوردار است.

    در این روش متخصصین تست نفوذ با شبیه سازی جدیدترین روش های نفوذی که توسط هکرها و نفوذ گران غیرقانونی استفاده میشود سامانه های مختلف را تحت آزمایش های امنیتی مختلف قرار داده و رخنه ها و آسیب پذیری های امنیتی کشف شده را غالبا با ارائه راهکارهای جلوگیری از نفوذ و رفع این آسیب پذیری ها (Mitigation and Prevention Methods) به مشتریان ارائه مینمایند.

    به صورت کلی خدمات تست نفوذ با توجه به قرارداد منعقد شده و درخواست مشتریان به سه روش جعبه سفید (White Box)، جعبه خاکستری (Grey Box) و جعبه سایه (Black Box) ارائه میشود.

    در روشهای ارائه شده روش جعبه سفید معمولا نفوذ از داخل توسط یکی از عوامل سازمان که به اطلاعات حیاتی همچون سخت افزارها و نرم افزارهای بکار رفته، سورس کدها، زیرساختهای شبکه سازمان، آدرس های آی پی و دیگر اطلاعات دسترسی دارد را شبیه سازی میکند.

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

    در روش جعبه سیاه که معمولا نفوذ از خارج سازمان را شبیه سازی میکند، بر خلاف روش جعبه سفید هیچ گونه اطلاعاتی در اختیار متخصص نفوذ قرار نمیگیرد و متخصص نفوذ تمام اطلاعات مورد نیاز برای انجام آزمونهای امنیتی را با استفاده از روشهای مختلف خود تامین خواهد کرد.

    هر کدام از این روشها دارای مزایا خاصی است که متقاضیان با توجه به نیازها و سیاستهای امنیتی سازمان متبوع خود میتوانند به انتخاب آن و انعقاد قرارداد اقدام نمایند. تست نفوذ بخش های مختلفی را شامل میشود که شاخص ترین آنها را بیان خواهیم کرد.

    • تست نفوذ شبکه

    خدمات تست نفوذ شبکه با انجام آزمونهایی از قبیل عبور از دیواره آتش (Firewalls Bypass)، عبور از سیستم های نرم افزاری و سخت افزاری، کشف و جلوگیری از نفوذ (IDS/IPS Bypass)، تست امنیت و نفوذ به روتر (Router Testing)، شناسایی دی ان اس (DNS Foot printing)، شناسایی پورت ها و سرویسهای فعال برروی آنها (Port Scanning and Installed Services)، آسیب پذیری ها در ساختار و تنظیمات شبکه (Network Configuration Vulnerabilities) و ده ها آزمون دیگر در شبکه های با سیم (Wired Networks) و شبکه های بی سیم (Wireless Networks) و ارائه راهکارهای مناسب فنی برای رفع آسیب پذیری های کشف شده ارائه میشوند.

    • تست نفوذ وبگاه های اینترنتی

    به طور کلی سرویس های تست نفوذ وبگاه های اینترنتی با بهره گیری از سه متد بین المللی شناخته شده نسخه چهارم پروژه منبع باز امنیت سامانه های وب (OWASP Testing Guide v4OSTMM از شرکت ISECOM و یا متد PTES و با توجه به نوع و ابعاد سامانه های تحت آزمون قرار گرفته، ارائه میگردند.

    با توجه به نوع تست نفوذ سمت کلاینت یا سمت سرور، آزمون هایی همچون تزریق (Injection)، احراز هویت ناقص ( Broken Authentication)، تزریق اسکریپت (XSS)، کنترل دسترسی معیوب (Broken Access Control)، عدم تنظیمات صحیح امنیتی (Security Misconfiguration) و ده ها آزمون دیگر بر روی سامانه های تحت آزمون انجام میگردد.

    • تست نفوذ نرم افزار موبایل

    در این بخش با بهره گیری از جدیدترین متدهای بین المللی تست نفوذ از جمله پروژه منبع باز موبایل (OWASP Mobile Top 10) در محیطی شبیه سازی شده، متخصصین اقدام به انجام تست نفوذ بر روی ضعف ها و آسیب پذیری های امنیتی از قبیل ذخیره سازی ناامن اطلاعات (Insecure Data Storage)، ارتباطات ناامن (Insecure Communication)، احراز هویت ناامن (Insecure Authentication)، رمز نگاری ناکافی (Insufficient Cryptography)،  مجوز های ناامن (Insecure Authorization) و غیره برروی نرم افزارهای مختلف بهرهمند از سیستم عامل های اندروید و آی او اس برای مشتریان خواهد نمود.

    • تست نفوذ سامانه های صنعتی

    تامین امنیت و امن سازی انواع سامانه ها و کنترلر های  صنعتی (Industrial Control System) همچون SCADA، DCS و PLC با توجه به استفاده گسترده در بخش های مختلف اعم از انرژی، درمان و خدمات عمومی از اهمیت فوق العاده بالا و حیاتی برای کشورمان برخوردار است. در کنار مشکلات امنیتی که مستقیما این سامانه ها را تهدید میکند، اتصال این سامانه ها به شبکه های ارتباطی سازمانها گرچه دسترسی و تعامل با این سامانه ها را راحتر میکند ولی به همان نسبت سطح تهدیدات امنیتی را گسترش میدهد.

    سیاستهای امنیتی سازمان (Security Policies)، امنیت کنترلر ها و تنظیمات امنیتی(ICS Secure Configuration) ، امنیت شبکه های ارتباطی ، امنیت پروتکل های ارتباطی بکار گرفته شده، بخش بندی و جداسازی فیزیکی و مجازی شبکه (Network Segmentation) از جمله موارد مهمی هستند که برای بخش تست امنیت سامانه های صنعتی مورد تست قرار میگیرند.

    • تست نفوذ با روشهای مهندسی اجتماعی

    مهندسی اجتماعی (Social Engineering) یا به تعریف برخی از روانشناسان هنر فریب(Art of Deception)  گرچه نسبت به دیگر تست های نفوذ نیازمند بهره گیری کمتری از مسایل فنی است ولی بدون شک یکی از موثرترین روشهای نفوذ و گردآوری اطلاعات حساس سازمان ها و شرکتهای مختلف با بهره گیری از تکنیک ها و ترفند های روانشناختی است.

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

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

    ارزیابی امنیتی (Vulnerability Assessments)، که از جهات مختلف شباهت هایی به تست نفوذ دارد و همچون سرویس ها تست نفوذ بخشهای امنیت شبکه، امنیت سامانه ها و وبگاه ها، نرم افزارهای موبایل و سامانه های صنعتی را در بر میگیرد، یکی دیگر از روشهای موثر ایمن سازی از طریق سنجش امنیتی بخش های مختلف سیستم ها و سامانه هایی که نیازمند برخورداری از پایداری و امنیت بالایی هستند است.

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

    در این میان یکی از شاخص ترین تفاوتهای بین تست نفوذ و ارزیابی امنیتی، عدم تلاش برای نفوذ  (Penetration)و بهره گیری از آسیب پذیری های کشف شده (Exploitation) در ارزیابی امنیتی برخلاف تست نفوذ است. در ارزیابی امنیتی معمولا با توجه به قرارداد منعقد شده ساختار آی تی سازمان با ابزارهای تخصصی دستی و اتوماتیک اسکن شده و نتایج حاصله به صورت مکتوب و مدون برای بهینه سازی های امنیتی در اختیار متقاضی قرار میگیرد.

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

    اصولی ترین روش بهره گیری از مزایای ارزیابی امنیتی برای سازمانها و شرکتها ادغام دائمی آن با برنامه آی تی سازمان و انجام مداوم آن با فاصله های زمانی کوتاه است.

     

  • استانداردها و متدولوژی های بین المللی تست نفوذ

    همانطور که در مقالات قبلی اشاره شد موثرترین، کارآمد ترین و کم هزینه ترین روش برای جلوگیری از نفوذ هکرها و خرابکاران سایبری تست و رفع آسیب پذیری ها و ایمن سازی نرم افزارها و سیستم ها در مرحله طراحی و قبل از ارائه نهایی آنها به مشتری خواهد بود. ولی به دلایلی همچون محدودیتهای زمانی، فنی و یا سهل انگاری در غالب موارد نرم افزارها و سیستم های توسعه داده شده از ایمنی مناسبی برخوردار نبوده و کشف و رفع ایرادات امنیتی و ایمن سازی بخشهای مختلف این سامانه ها حیاتی است. در این مقاله به صورت اجمالی با شاخص ترین استانداردها و متدولوژی های بین المللی تست نفوذ (Penetration Testing Methodologies) آشنا خواهیم شد.

    آشنایی با این استانداردها و متدولوژی های بین المللی تست نفوذ و انتخاب بهترین گزینه ها و نحوه بهره گیری و خصوصا بومی سازی آنها با توجه به نوع و ابعاد نرم افزارها و سیستم های مورد تست قرار گرفته از اصولی ترین قواعدی است که متخصصین امنیت باید به آنها اشراف کامل داشته باشند. مسلما مناسبترین استاندارد باید در برگیرنده مراحل مختلف تست نفوذ از ابتدایی ترین مرحله که بررسی و تعیین نیاز و دلایل، ابعاد، شرایط و زمان بندی تست نفوذ تا مرحله پایانی که تهیه گزارش جامع از تست های انجام شده و ارائه نتایج حاصله به مشتریان است باشد.

    متدولوژی های تست نفوذ متعددی برای استفاده فعالین و علاقه مندان امنیت طراحی و ارائه شده است که بخشی از آنها نیازمند پرداخت هزینه عضویت ماهانه یا سالانه و بخشی از آنها به صورت رایگان ارائه میشوند. در این مطلب با متدولوژی هایی که توسط OWASP ،ISECOM ،PS و NIST که از شناخته شده ترین استانداردهای ارائه شده در این زمینه هستند به صورت اجمالی آشنا میشویم.

    بدون شک مجموعه OWASP یا پروژه منبع باز امنیت سامانه های وب (Open Web Application Security Project)  از شاخص ترین موسسات فعال بین المللی در بخشهای مختلف امنیت نرم افزار خصوصا امنیت سامانه های وب است. در زمینه تهیه و ارائه متدولوژی های تست نفوذ OWASP از دسامبر ۲۰۰۴ با ارائه نسخه اول OWASP Testing Guide که در حال حاضر به نسخه چهارم که در سال ۲۰۱۴ تهیه شده ارتقا یافته و در دسترس عموم قرار دارد از پیشگامان این عرصه است. در مطالب آتی با این متدولوژی به صورت مفصل آشنا خواهیم شد.

    موسسه ISECOM نیز از ژانویه ۲۰۰۱ با ارائه دستورالعمل منبع باز متدولوژی تست امنیت (Open Source Security Testing Methodology Manual) یا OSSTMM که آخرین نسخه رایگان آن نسخه سه و نسخه چهارم آن به صورت پرداخت حق عضویت ارائه میگردند نقش مهمی در ترسیم سیاست های امنیتی سازمان ها برای ارائه و تست راهکارهای امنیتی بر عهده گرفته است.

    موسسه ملی استاندارد و تکنولوژی NIST نیز با استاندارد NIST Special Publication 800-115 از سال ۲۰۰۸ و در چهار بخش اصلی برنامه ریزی Planning، کشف Discovery، نفوذ  Attack و گزارش دهی Reporting جزو ارائه دهندگان استانداردهای تست نفوذ است.

    از دیگر متدولوژی ها شناخته شده استاندارد اجرایی تست نفوذ (Penetration Testing Execution Standard) یا PTES است که اولین نسخه آن در سال ۲۰۰۹ توسط تیمی از محققین امنیتی به سرپرستی آقای نیکرسون عرضه گردیده و به صورت اجمالی شامل هفت مرحله است. این استاندارد با بهره گیری از دیگر استانداردها همچون استاندارد OWASP Testing Guide در بخشهای مختلف خصوصا در بخش تست سامانه های وب متدولوژی تست نفوذ نسبتا جامعی را ارائه میکند. در مطالب آینده با این متدولوژی نیز به صورت مفصل آشنا خواهیم شد.

    در پایان بررسی اجمالی این چهار استاندارد ذکر این نکته ضروری است که امکان شبیه سازی صد در صدی شرایط حملاتی که از سوی هکرها و نفوذ گران انجام می شود برای تست نفوذ گر عملا وجود ندارد. برخلاف متخصص تست نفوذ که باید تابع و متعهد به قوانین و قواعد حاکم بر قرارداد منعقد شده باشد، هکرها ملزم به تبعیت از هیچکدام از این قواعد نیستند. به طور مثال اجتناب از وقوع انواع مختلفی از مشکلات تست نفوذ از قبیل از کار افتادگی سیستم ها (Crash) و زمان غیر قابل دسترس بودن سیستم ها تست نفوذ قرار گرفته (Downtime) که برای متخصص تست نفوذ قانونمند و حرفه ای از اهمیت بالایی برخوردار است، اهمیت چندانی برای هکر ها خصوصا هکرهای تازه کار (Script Kiddies) و هکرهای تخریب گر (Crackers) که به قصد تخریب سیستم ها را مورد حمله قرار میدهند  نخواهند داشت. از این رو امکان شبیه سازی کامل و دقیق حملات هکرها در تست های نفوذ به دلایل ذکر شده وجود نخواهد داشت و بهره گیری از دیگر روش های ایمن سازی در کنار تست نفوذ و عیب یابی برای حفظ امنیت و یکپارچگی سامانه های مختلف ضروری خواهد بود.

دکمه بازگشت به بالا
بستن