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


مهم نیست که گروه فناوری و مدیریت سازمان چقدر در جنگ با این رخنه‌های امنیتی سخت کوشند چرا که مهاجم همیشه یک‌قدم جلوتر است.


اما خبر خوب اینکه روشی وجود دارد که سازمان ها می‌توانند با استفاده از آن ضعف‌های امنیتی و آسیب‌پذیری‌ها را پیش از مهاجمان سایبری پیدا کنند. این روش «تست نفوذ» نام دارد.


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


•درب‌های پشتی در سامانه عامل؛


•حفره‌های غیرعمدی در طراحی کد نرم‌افزار


•اجرای نامناسب مدیریت پیکربندی نرم‌افزار


•استفاده از برنامه نرم‌افزاری به شیوه‌ای که معمولاً استفاده نمی‌شود.


 تست نفوذ به‌صورت دستی یا از طریق فرآیندهای خودکار انجام می‌شود و اغلب نقاط انتهایی زیر را بررسی می‌کند:


•کارگزارها


•نقاط انتهایی شبکه


•شبکه‌های بی‌سیم


•دستگاه‌های امنیتی شبکه (تست نفوذ بیشتر روی این قسمت تمرکز دارد زیرا شامل رهیاب‌ها، دیواره‌های آتش، دستگاه‌های نفوذ شبکه و غیره است)


•گوشی همراه و دستگاه‌های بی‌سیم


•دیگر نقاط در معرض خطر مانند برنامه‌های نرم‌افزاری و کد آن‌ها.


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


آزمون جعبه سیاه/ جعبه سفید/ جعبه خاکستری


برای شناسایی آسیب‌پذیری‌هایی که می‌توانند در نوعی از برنامه کاربردی وب پیدا شوند، سه نوع تست نفوذ وجود دارد:


•تست جعبه سیاه


•تست جعبه سفید


•تست جعبه خاکستری


تست جعبه سیاه


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


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


تست جعبه سفید


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


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


تست جعبه خاکستری


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


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


انواع تست نفوذ


اکنون این گروه‌ها تقسیم‌ شده‌اند و نقش‌ها و مسئولیت‌هایشان به‌وضوح تعریف‌ شده است. انواع مختلف تست نفوذ به‌صورت زیر تعریف ‌شده است:


•خدمات شبکه


•برنامه کاربردی وب


•سمت سرویس‌گیرنده (سمت مشتری)


•بی‌سیم


•مهندسی اجتماعی


خدمات شبکه‌ای


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


•آزمایش پیکربندی دیواره آتش


•آزمایش بررسی Stateful


•آزمایش گذرگاه دیواره آتش


•گریز از IPS


•حملات DNS که حاوی:


•آزمایش انتقال Zone


•هر نوع اشکال در مسیریابی و یا سوئیچ شبکه‌ای


•هر نوع آزمایش شبکه‌ای مورد نیاز دیگر


برخی از رایج‌ترین بسته‌های نرم‌افزاری که در این آزمایش بررسی می‌شوند شامل موارد زیر می‌شوند:


•لایه ایمن (SSH)


•کارگزار SQL


•MySQL


•پروتکل ساده نامه‌رسانی (SMTP)


•پروتکل انتقال پرونده


•صفحات ورودی outlook در مایکروسافت


لازم است بدانید که آزمایش خدمات شبکه‌ای بررسی‌ها را عمیق انجام نمی‌دهد، بلکه آزمایش برنامه کاربردی وب این‌گونه است.


برنامه کاربردی وب


این آزمایش را شیرجه عمیق آزمایش‌ها می‌نامند، چراکه دقیق‌تر است و جزئیات بیشتری دارد. با این آزمایش، تمامی آسیب‌پذیری‌ها و ضعف‌ها در برنامه‌های کاربردی مبتنی بر وب کشف می‌شود. اجزایی مانند ActiveX ،Silverlight و Java Applets و API ها همگی بررسی می‌شوند. این نوع آزمایش پیچیده است و بنابراین به زمان بسیار زیادی نیاز دارد تا به‌طور صحیح و کامل برنامه کاربردی وب موردنظر را بررسی و آزمایش کند.


طرف سرویس‌گیرنده (مشتری)


این نوع آزمایش برای کشف هرگونه آسیب‌پذیری روی نرم‌افزاری استفاده می‌شود که می‌تواند به‌آسانی روی رایانه مشتری مورد سوءاستفاده واقع شود مانند ایستگاه‌های کاری کارکنان. نمونه‌ای از این نرم‌افزارها شامل مرورگر‌های وب (مانند اینترنت اکسپلورر، گوگل کروم، موزیلا فایرفاکس، سافاری) بسته‌های نرم‌افزاری تولید محتوا (مانند MadCap Flare یا Adobe Framemaker و Adobe RoboHelp)، اجرا کننده‌های پرونده‎های رسانه‌ای و غیره می‌باشد.


بی‌سیم


همان‌طور که از نامش پیداست، این آزمایش شامل بررسی تمامی دستگاه‌های بی‌سیمی می‌باشد که در شرکت استفاده می‌شوند. ازجمله تبلت‌ها، نوت‌بوک‌ها، گوشی‌های هوشمند و غیره. بخش‌های زیر نیز برای کشف هرگونه حفره امنیتی مورد آزمایش قرار می‌گیرند:


•پروتکل‌های بی‌سیم (برای تعیین اینکه کدام دستگاه در دنیای واقعی ضعیف عمل می‌کند)


• نقاط دسترسی بی‌سیم (برای تعیین اینکه کدام‌یک آسیب‌پذیر است)


•اعتبارات مدیریتی.


 در بیشتر موارد، آزمایش بی‌سیم در محلی که مشتری باشد انجام می‌گیرد زیرا تجهیزات این تست نفوذ بسیار نزدیک به سیگنال‌های شبکه بی‌سیم می‌باشد.


مهندسی اجتماعی


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


آزمایش از راه دور: این آزمایش شامل فریب یکی از کارکنان برای افشای اطلاعات حساس از روش‌های الکترونیکی است و اغلب با ایجاد و اجرای عملیات فیشینگ رایانامه انجام می‌گیرد.


 آزمایش فیزیکی: این آزمایش شامل استفاده از روش‌های فیزیکی برای به دست آوردن اطلاعات حساس می‌باشد و شامل Dumpster Diving، خود را به جای دیگران جا زدن و تماس‌های تلفنی متقاعد‌کننده/ تهدید‌کننده می‌باشد.


در حملات Dumpster Diving  از همه اطلاعات به ظاهر بی‌اهمیت مانند تماس‌ّهای تلفنی، تقویم‌کاری و نوشته‌های کاربر بر روی پیش‌نویس‌ها، برای حمله استفاده می‌شود.


بهره‌برداری از شبکه رایانه (CNE) در مقابل حمله شبکه رایانه (CNA)


در دنیای حملات سایبری، مهاجم می‌تواند دو تهدید عمده را به یک شرکت و حتی یک سازمان دولتی اعمال کند:


•بهره‌برداری از شبکه رایانه


•حملات شبکه رایانه


بهره‌برداری از شبکه رایانه (CNE)


با این نوع تهدید، یک  شبکه رایانه‌ای می‌تواند برای هدف قراردادن اسناد رایانه یک قربانی استفاده شود. به‌عبارت‌ دیگر، رایانه‌ها، ایستگاه‌های کاری و کارگزارانی که در شبکه قربانی هستند از هر روش ممکن قابل‌دسترسی و سوءاستفاده می‌شوند.


باید توجه داشت که این نوع حمله معمولاً در شرکت‌ها انجام نمی‌گیرد بلکه معمولاً درون سازمان‌های دولتی در سرتاسر جهان، به‌خصوص سازمان‌ها نظامی، رایج‌تر می‌باشد. معمولاً CNE را به‌عنوان جاسوس می‌شناسند.


حمله شبکه رایانه (CNA)


در این روش، هدف تخریب تمامی اطلاعاتی است که روی رایانه‌های شبکه قربانی وجود دارد. CNA اغلب با حمله الکترونیکی (EA) اشتباه گرفته می‌شود؛ اما در واقع این دو کاملاً با هم متفاوت‌اند. مثلاً، حمله EA اساساً به استفاده از طیف الکترومغناطیسی بستگی دارد (مانند استفاده از یک طیف الکترومغناطیسی برای تخریب حافظه RAM رایانه).


اما CNA از جریان اطلاعات برای اجرای یک حمله علیه شبکه قربانی و درنهایت از کار انداختن آن استفاده می‌کند. CNA معمولاً به‌عنوان خرابکار در نظر گرفته می‌شود. نمونه‌های معمول این حمله شامل موارد زیر می‌باشد:


•شنود


•تغییر اطلاعات


•جعل اطلاعات شناسایی


•حملات مبتنی بر کلمه عبور


•حملات منع سرویس توزیع یافته (DDoS)


•حملات مرد میانی


•حملات رمز در معرض خطر


•حملات Sniffer 


•حملات لایه برنامه کاربردی