تست نفوذ (Penetration Test)
تست نفوذ روشی برای ارزیابی امنیتی شبکه، سرویسها و کاربردها در یک سازمان است که در آن رفتارهای واقعی یک یا گروهی از مهاجمین توسط تیم ارزیاب شبیهسازی میشود. در این روش ارزیابی امنیتی، ضمن اقدام به جمعآوری اطلاعات و شناخت حداکثری از شبکه، سیستمهای اطلاعاتی و برنامهها و نرمافزارهای مورد استفاده در سازمان هدف، تیم ارزیاب جهت یافتن دستهای از ضعفهای امنیتی برای دورزدن و از کار انداختن کنترلها و محافظهای امنیتی، و بدست آوردن یا ارتقاء دسترسی تلاش میکند.
در اجرای تست نفوذ انواع ضعفها و آسیبپذیریهای امنیتی در حین اجرای حملات مدنظر هستند و به جای داشتن نگاه مستقل به هر آسیبپذیری، ترکیب آنها توسط تیم ارزیاب برای شبیهسازی یک سناریوی واقعی بکار گرفته میشود. این امر سبب ایجاد دیدگاه دقیقتر از خساراتی است که مهاجمین قادر به وارد کردن به سیستمهای اطلاعاتی و شبکه سازمان بوده و از این لحاظ یک مزیت نسبت به ارزیابی صرف آسیبپذیریهای فنی آن هم بطور مستقل برای سازمان محسوب میشود.لزوم بکارگیری سناریوهای پیچیده و جوانب مختلف در اجرای تست نفوذ، امکان بکارگیری ابزارهای خودکار را منتفی میسازد. در حقیقت تست نفوذ یک فعالیت همه جانبه از بکارگیری روشهای تهاجمی فنی و غیرفنی است که در پس آن یک تیم کارا و مجرب را طلب مینماید. هرچه سطح دانش و تخصص تیم ارزیابی که اقدام به اجرای تست نفوذ مینماید بالاتر و امکان استفاده از ابزارهای تخصصی بیشتر فرآهم باشد، نتایج دقیقتر و عمیقتری بدست خواهند آمد. اجرای موفق تست نفوذ موارد زیر را برای سازمان روشن میسازد:
میزان مقاومت سیستمهای اطلاعاتی و شبکه در برابر حملاتی با خصوصیات حملات دنیای واقعی مشخص میشود.
تخمین دقیقی از سطح بلوغ و تخصص لازم برای مهاجمین جهت اجرای یک جمله موفق و سوء استفاده از سیستمهای اطلاعاتی بدست میآید.
امکان تعیین دقیقتر کنترلهای امنیتی و روشهای جلوگیری برای سازمان فرآهم میشود.
امکان ایجاد قواعد و امضاهای مناسب برای شناسایی و پیشگیری از حملات شناخته شده در طی تست نفوذ برای آینده فرآهم میشود.
شکل زیر مراحل اجرای تست نفوذ را نشان میدهد. چنانچه اشاره شد در اجرای تست نفوذ تنها موارد فنی مدنظر تیم ارزیابی امنیتی نمیباشد بلکه متدهای مختلف غیرفنی نظیر دور زدن کنترلهای حفاظت فیزیکی، دزدی تجهیزات، نصب Key-logger سختافزاری، دستکاری کابلها و لینکهای ارتباطی و روشهای مهندسی اجتماعی جهت هدف قرار دادن منابع انسانی که معمولا ضعیفترین حلقه در امنیت هستند، میبایست در اجرای تست نفوذ مورد توجه باشد.
مراحل انجام تست نفوذ
تیم ارزیابی در مرحله طراحی و برنامهریزی به تعیین قلمرو، رویکرد، زمانبندی و دیگر آمادهسازیهای اجرای ارزیابی میپردازد. مرحله جمعآوری اطلاعات به جمعآوری هر چیزی که تیم ارزیاب را در مرحله اجرای حمله یاری نماید اختصاص دارد. بسته به رویکردی که تست نفوذ براساس آن اجرا میشود، تیم ارزیاب ممکن است در نقش یک مهاجم داخلی به بخش (رویکرد Gray Box) یا تمام (رویکرد White Box) اطلاعات شبکه و سیستمهای اطلاعاتی سازمان هدف از پیش دسترسی داشته یا در نقش یک مهاجم بیرونی که هیچگونه شناخت اولیهای از سازمان، شبکه و سیستمهای اطلاعاتی آن ندارد (رویکرد Black Box)، مجبور به جمعآوری اطلاعات مورد نیاز با استفاده از روشهای جمعآوری اطلاعات در تست نفوذ باشد.
اینکه تست نفوذ به صورت White Box، Black Box یا Gray Box انجام شود در مرحله برنامهریزی و طراحی و براساس نیازها و خصوصیات سازمان مشخص میشود، اما رویکرد هرچه باشد جمعآوری اطلاعات دقیق که نتیجه آن حصول شناخت صحیح برای تیم ارزیاب است، نقشی اساسی در جامعیت فاز حمله بازی میکند.تست نفوذ در صورتی که در پس فرآیند ارزیابی آسیبپذیریهای فنی و فعالیتهای مربوط به برطرف سازی آن آسیبپذیریها به اجرا درآید، بهترین و دقیقترین نتایج را در پی خواهد داشت.
بطور کلی بدلیل حجم زیاد فعالیتهای مرحله جمعآوری اطلاعات و اجرای حمله در تست نفوذ، بویژه در صورت اجرای تست بصورت Black Box، و عدم امکان بکارگیری روشها و ابزارهای خودکار، گستردگی بیش از حد قلمرو و پرداختن به آسیبپذیریها و ضعفهای شناخته شدهای که روشهای خودکار قادر به شناسایی آنها هستند، سبب هدر رفتن زمان و صرف تلاشهای بیش از حد از سوی تیم ارزیاب و در عین حال رسیدن به نتایجی نه چندان فراتر از ارزیابی آسیبپذیریهای فنی با استفاده از ابزارهای خودکار میباشد.از اینرو، و برای جلوگیری از پرداختن به موارد امنیتی پیشپا افتاده، بهتر است تست نفوذ پس از اطمینان از اتمام فعالیتهای امنسازی و در قلمرو محدودتر به اجرا گذارده شود. در این صورت حتی اگر تست منجر به انجام یک حمله موفق نیز نشود، با این حال با اطمینان بالایی میتوان ادعا کرد شبکه و سیستمهای اطلاعاتی سازمان هدف از وضعیت مطلوب امنیتی برخوردار هستند.