روشهای مختلف زیادی برای انجام تست نفوذ وجود دارند که وضعیت امنیتی یک سازمان را بهبود میبخشند، اما در این مقاله روی یک مورد تمرکز خواهد شد و آن عبارت است از Social Engineering. تست نفوذ مهندسی اجتماعی روی افراد و فرایندها و آسیبپذیریهای مرتبط به آنها تمرکز دارد. این تستهای نفوذ معمولاً شامل یک هکر اخلاقی هستند که حملات Social Engineering مختلفی مثل Phishing، USB Drop یا جعل هویت را انجام میدهد که افراد در طول دورهی کاری خود با آنها مواجه میگردند. هدف از این تست شناسایی نقاط ضعف یک فرد، گروهی از افراد یا فرایندها و شناسایی نقاط ضعف امنیتی سازمان با مسیر واضحی برای اصلاح است. در این مقاله در مورد اینکه حملهی مهندسی اجتماعی چیست، چرا سازمان ها باید این تستها را اجرا کنند، روشهای متداول مورداستفاده برای انجام حملات مهندسی اجتماعی و نحوهی انجام یک تست نفوذ مهندسی اجتماعی بحث خواهد شد.
حملات مهندسی اجتماعی یا Social Engineering چیست؟
حملات مهندسی اجتماعی انواع مختلفی دارند، اما متداولترین نوع این حملات، Phishing ،Vishing ،Smishing، جعل هویت، زبالهگردی یا Dumpster Diving، USB Drop و Tailgating هستند.
Phishing
Phishing روشی است که از طریق ایمیل انجام میشود و سعی میکند کاربر را فریب دهد تا اطلاعات حساسی را تسلیم کرده یا یک فایل مخرب را باز نماید که میتواند موجب آلودگی سیستم وی شود.
Vishing
Vishing شبیه به Phishing است اما از طریق تماسهای تلفنی انجام میشود. در این تماسهای تلفنی سعی میشود کاربر فریب داده شود و اطلاعات حساسی را تسلیم نماید.
ویدیوهای بیشتر درباره تست نفوذ
Smishing
Smishing شبیه به Phishing است اما از طریق پیامهای متنی SMS انجام میشود. این پیامها هدف مشابهی با Phishing دارند.
جعل هویت
جعل هویت روشی است که در آن مهاجم سعی میکند خود را فرد دیگری جا بزند و از این طریق افراد را فریب دهد. برای مثال یک مهاجم ممکن است هویت یک مدیر اجرایی را جعل کند با این هدف که کارمندان قانع کند که پرداختهایی مالی را به Vendorهای ساختگی انجام دهند یا دسترسی به اطلاعاتی محرمانه را فراهم نمایند.
یک حملهی جعل هویت همچنین میتواند با هدف به دست آوردن دسترسی به حساب یک کاربر، وی را هدف قرار دهد. برای رسیدن به این هدف میتوان تغییر رمز عبور را درخواست داد، بدون اینکه ادمین هویت خود را تائید کند. مثال دیگری از این حمله، این است که فرد خود را مأمور تحویل کالا جا بزند. در برخی از موارد، پرسنل تحویل کالا محدودیتهای اندکی دارند و میتوانند بدون هیچ سؤالی به بخشهای ایمن دسترسی پیدا کنند.
زبالهگردی یا Dumpster Diving
زبالهگردی روشی است که در آن یک مهاجم زبالهدان، بلکه همچنین مواردی که در دید هستند مثل برچسبها و تقویمها را نیز بررسی میکند تا اطلاعات مفیدی را در مورد یک فرد یا سازمان بدست آورد.
برای مشاوره رایگان جهت (باز)طراحی امنیت شبکه و یا انجام تست نفوذ مطابق با الزامات افتا با کارشناسان شرکت APK تماس بگیرید. |
USB Drop
USB Drop روشی است که در آن USBهای مخربی در بخشهایی از فضای کاری رها میشوند. این USBها معمولاً حاوی نرمافزاری هستند که وقتی متصل میشوند نرمافزارهای مخربی را نصب میکنند که میتواند یک Backdoor را به سمت سیستم ایجاد کرده یا فایلهایی را با پسوند فایل متداول منتقل نماید.
Tailgating
Tailgating روشی است که برای عبور از اقدامات امنیتی فیزیکی مورداستفاده قرار میگیرد. معمولاً این روش در مکانهایی مورداستفاده قرار میگیرد که نیازمند فردی هستند که برای کسب دسترسی یک Key Fob را اسکن کند. در این نوع از حمله، مهاجم یکی از کارمندان را دنبال میکند و وقتیکه آن فرد Key Fob خود را اسکن کرده و در را باز کرد، به دنبال او وارد اتاق میشود.
چرا باید یک تست مهندسی اجتماعی انجام داد؟
مهندسی اجتماعی یا Social Engineering چیست؟ معمولاً در مورد امنیت به کاربران بهعنوان «ضعیفترین زنجیر» اشاره میشود اما کاربران همچنان اجازههایی بیشتری از اجازههای ضروری برای انجام وظایف خود دارند.
پس انجام تست نفوذ روی آن کاربران منطقی به نظر میرسد. این تستهای نفوذ میتوانند نشان دهند که چه کسی در سازمان نسبت به حملاتی که قبلاً به آنها اشاره شد آسیبپذیر است. تستهای نفوذ مهندسی اجتماعی معمولاً بهصورت Hybrid انجام میشوند و تستهای On-Site و Off-Site را با هم ادغام مینمایند.
تستهای On-Site
تستهای On-Site برای تست کردن امنیت فیزیکی یک ساختمان و پالیسیهای آن، مثل پالیسی ایستگاه کاری تمیز (Clean Workstation) مورداستفاده قرار میگیرند.
روشهای معمول حملاتی که برای یک تست On-Site مورداستفاده قرار میگیرد:
- جعل هویت
- زبالهگردی یا Dumpster Diving
- USB Drop
- Tailgating
بیشتر بخوانید: انواع سطوح تست نفوذ برای سازمان ها و مقایسه آنها با یکدیگر
تستهای Off-Site
تستهای Off-Site برای تست کردن آگاهی امنیتی یک کاربر در یک روز عادی مورداستفاده قرار میگیرند. در طول این نوع حمله، تستکنندهی نفوذ در مورد شرکت تحقیق میکند و از اطلاعاتی که بهصورت عمومی قابلدسترسی هستند، برای تست کردن شرکت بهره میبرد. این تستها بهصورت Remote انجام میشوند و معمولاً شامل حملات زیر هستند:
- Vishing
- Phishing
- Smishing
روشهای مورداستفاده برای انجام حملات مهندسی اجتماعی
سه روش اصلی برای انجام حملات مهندسی اجتماعی شامل جمعآوری اطلاعات، انتخاب قربانی و تعامل با قربانیان است.
جمعآوری اطلاعات
پیش از تست کردن هدف، باید با آن آشنا شد. برای این کار، باید تمام اطلاعاتی را که بهصورت عمومی در مورد هدف قابلدسترسی است جمعآوری کرد. اگر هدف ما یک شرکت مالی باشد، منطقی نیست که آن را با حملات Phishing پزشکی تحت حمله قرار دهیم. میتوان از روشهای مختلفی در مورد هدف اطلاعات جمعآوری نمود، اما متداولترین روشهای مهندسی اجتماعی، شناسایی فعال و منفعل و Open-Source Intelligence یا OSINT است.
شناسایی فعال
شناسایی فعال تلاشی برای جمعآوری اطلاعات در مورد یک هدف در حین تعامل با آن هدف است. این کار میتواند از طریق تماس گرفتن با هدف و جعل هویت فرد دیگری باشد تا اطلاعات کسب شود یا اینکه میتواند نامحسوستر باشد و از طریق اسکنهای پورت انجام گردد.
شناسایی منفعل
وقتیکه مهاجمی شناسایی را بهصورت منفعل انجام میدهد، معمولاً به سراغ سایتهای رسانه اجتماعی محبوب مثل Facebook و LinkedIn میرود. این راه بسیار خوبی برای کسب سریع اطلاعات عمومی در مورد هدف برای پیدا کردن یک مسیر حمله است.
مثلاً یک مهاجم میتواند از اطلاعات یک تعطیلات برنامهریزیشده که روی Facebook قرار دارد استفاده کند تا متوجه شود که فردی خارج از شهر خواهد بود. وقتیکه فرد از شهر خارج شد، مهاجم میتواند خانهی وی را بگردد تا به شبکهی سازمان او دسترسی پیدا کند.
بیشتر بخوانید: مراحل تست نفوذ چگونه انجام می شود؟ بررسی روشها و انواع
پس از رایگان بودن، یکی از مزایای اصلی شناسایی منفعل این است که مهاجم مجبور نیست برای جمعآوری اطلاعات با هدف تعامل کند و درنتیجه ریسک شناسایی شدن را کاهش میدهد.
Collecting Open Source Intelligence یا OSINT
Open-source intelligence یا OSINT به نوع دادهای اشاره دارد که جمعآوریشده است.
دادههای OSINT دادههایی هستند که از منابع عمومی جمعآوری میشوند و باز تلقی میگردند.
در مورد شناسایی منفعل، روشی که داده جمعآوری میگردد منفعل است و OSINT نوع دادهی جمعآوریشده میباشد.
انتخاب قربانی
برای اجرای یک تست موفق، قربانیان باید با دقت انتخاب شوند. بهتر است قربانیان یا گروه قربانیانی انتخاب گردند که بهسادگی فریب میخورند.
این افراد معمولاً شامل گروههای زیر هستند:
- کارمندانی که آگاهی کمتری دارند
- کارمندانی که با آنها بدرفتاری شده است
- کارمندانی که بهتازگی اخراج شدهاند
شاید این سوال پیش بیاید که چطور میتوان کارمندان را در هر یک از این دستهها شناسایی کرد. وبسایتهایی مثل Glassdoor منبع بسیار خوبی هستند. Glassdoor به کارمندان سابق و کنونی شرکتها این توانایی را میدهد که شرکت خود را نقد کنند و در مورد تجربه، درآمد و مزایایی که در شرکت داشتهاند نظر بدهند.
از بین این نقدها بهراحتی میتوان افرادی را پیدا کرد که شاید آگاهی کمتری داشته باشند و بیشتر حاضر باشند در مورد شرکت اطلاعات به اشتراک بگذارند. پول بهشدت میتواند روی وفاداری یک کارمند تأثیرگذار باشد، مخصوصاً اگر وی احساس کند که کمتر از حق خود دستمزد میگیرد و ارزش کارش نادیده گرفته میشود.
تعامل با قربانیان
در این قدم، مهاجم با قربانیان ارتباط برقرار میکند. وقتیکه قربانیان شناسایی شدند، باید برای روشهای حملهای برنامهریزی شود که به بهترین شکل ممکن علیه هر فرد یا گروهی از افراد جواب میدهد. برای اینکه برنامهریزی بهدرستی انجام شود، شاید نیاز باشد که شناساییهای فعال و منفعل هدفمند بیشتری انجام گردد. در اینجا هم هدف جمعآوری حداکثر دادههای ممکن در مورد افراد است، بدون اینکه هیچ هشداری به صدا دربیاید. هدف حمله نباید مشکوک شود که ممکن است پای حملهای در میان باشد.
قدمهای اجرای یک تست نفوذ مهندسی اجتماعی
انجام تست نفوذ مهندسی اجتماعی چهار مرحلهی اصلی دارد که شامل برنامهریزی و تعیین حوزهی تست، شناسایی مسیر حمله، تلاش برای نفوذ و گزارشگیری است.
قدم 1: برنامهریزی و تعیین حوزهی تست
میتوان گفت که این قدم، مهمترین قدم در طول تست نفوذ است. در این قدم، تعیین میشود که چه چیزهایی در حوزهی تست هستند و تست چگونه باید انجام گردد.
این کار معمولاً نیازمند جلسهای بین گروه مدیریت و پرسنلی که تست را انجام میدهند میباشد. چیزی که باید به خاطر داشت این است که تعداد افرادی که درگیر این جلسه هستند باید به حداقل برسد و افراد اندکی از تست مطلع باشند. تست باید تا جای ممکن دقیق باشد و برای این کار آگاهی از تست باید به حداقل برسد.
در زمان تعیین حوزهی تست باید تمام روشها و حملاتی که قرار است استفاده شود، تعیین گردد. برای مثال اگر بخواهیم کارمندان یا پرسنل تحویل را Tailgate یا جعل هویت کنیم، این امر باید در حوزه قرار بگیرد. پس از تعیین این حوزه، میتوان یک قرارداد واضح را نوشت که تمام افراد درگیر روی آن توافق داشته باشند. این قرارداد برای تستهای نفوذ کلیدی است. این قرار مدرکی است که ثابت میکند تستکننده اجازهی انجام تست را دارد و در برخی از موارد میتواند موجب پیشگیری از زندانی شدن تستکنندهها شود.
قدم 2: شناسایی مسیر حمله
پس از اینکه حوزهی تست نفوذ تعیین شد، باید یک قرارداد مشخص برای اینکه اجازهی تست کردن چه چیزی و چه کسی وجود دارد تعریف شود. این قدم از تست نفوذ نیازمند این است که تستکننده تمام روشهایی که در طول تست مورداستفاده قرار میگیرد را شناسایی کند.
این روشها همچنین باید به کاربران و گروههای بهخصوصی مرتبط گردد. برای مثال:
- نگهبانان امنیتی با استفاده از تستهای جعل هویت تست میشوند. این تست شامل جعل هویت یک پیک تحویلدهندهی شرکت آمازون است که بستهای را تحویل کارمندی در بخش IT میدهد.
- نگهبانان امنیتی با استفاده از یک تست Tailgate تست میشوند. در این تست، فرد تستکننده درحالیکه افراد زیادی وارد ساختمان یا یک بخش ایمن میشوند، بهدقت کارمندان را مانیتور میکند.
- پرسنل در بخش حسابداری با استفاده از یک تست Phishing تست خواهند شد. این تست شامل ارسال یک ایمیل Phishing به یک حسابدار است که این ایمیل Chief Executive Office را Spoof میکند و گزارش هزینههای ماه قبل را برای بررسی درخواست مینماید.
- یک کارمند در بخش IT با استفاده از یک تست جعل هویت تست خواهند شد. در این تست عضوی از تست نفوذ برای کارمندی در بخش حساب دریافتنی، درخواست تغییر رمز عبور میدهد.
فهرست کردن مسیرهای حمله نهتنها به هدایت تست نفوذ کمک میکند، بلکه به بخش مدیریت نیز درک درستی از اقداماتی که برای تست کردن شرکت انجام شده است، میدهد. میتوان به هر تست براساس اینکه کاربران چطور پاسخ میدهند امتیاز داد و این کار در امتیاز نهایی تست نفوذ مفید خواهد بود.
قدم 3: تلاش برای نفوذ
در این قدم از تست نفوذ، فرد تستکننده در تمام مسیرهای حملهی فهرستشده از قدم قبلی، تست خود را انجام میدهد. در این مرحله، مستند کردن کارها اقدام بسیار مهمی است، زیرا این تستها در آینده تبدیل به شواهد حمایتی برای گزارش خواهند شد. نوع مدرکی که باید جمعآوری شود عبارت است از:
تماسهای تلفنی ثبتشده
این تماسهای تلفنی مهم هستند، زیرا هیچ روش دیگری برای ثبت اینکه این حمله رخ داده است و همچنین برای نشان دادن نتیجهی آن وجود ندارد.
حملات Phishing از ایمیلها
این ایمیلها مهم هستند، زیرا میتوانند نشان دهند که یک کاربر پیش از متوقف کردن حمله، اجازه داد که تا کجا پیش برود. در برخی از موارد، کاربران زمانی متوجه حمله میشوند که اطلاعات حساسی را تسلیم کردهاند.
اسناد پیدا شده در حین زبالهگردی. این نوع از اسناد باید شامل اسکن اسناد پیدا شده و حتی در صورت امکان، تصاویری از مکان پیدا شدن آنها باشند. همراه با این شواهد، تستکننده باید زمان شروع و پایان هر تست، نام فردی که تست را انجام میدهد و نام کارمندان یا کارمندانی که تست میشوند را ثبت کند.
قدم 4: گزارشگیری
قدم گزارشگیری از تست نفوذ جایی است که نتایج کنار هم قرار میگیرند. در زمان نوشتن گزارش باید به خاطر داشت که مخاطب چه کسی است. در اکثر مواقع، مخاطب مدیریت ارشد است و گزارش باید با این بخش صحبت کند. باید اطمینان حاصل کرد که تمام نگرانیهای ابتدایی که در آغاز تست در موردشان صحبت شده است و همچنین تمام آسیبپذیریهایی که در طول تست پیدا شدهاند، در گزارش قرار بگیرند. در این گزارشگیری نهتنها باید به آسیبپذیریهای پیدا شده اشاره کرد، بلکه همچنین باید پیشنهاداتی را برای نحوهی رفع آسیبپذیریها ارائه داد.
یک گزارش تست نفوذ معمولی شامل موارد زیر است:
- یک خلاصهی مدیریتی
- مروری روی ریسکهای فنی یافت شده
- تأثیر احتمالی آسیبپذیریهای یافت شده
- گزینههای اصلاحی که برای هر آسیبپذیری یافتشده قابلدسترسی است
- افکار نهایی در مورد تست نفوذ
- حذف آسیبپذیری
بسته به رابطهای که تستکننده با شرکت دارد یا قراردادی که توافق براساس آن انجام شده است، آخرین قدم از تست نفوذ، میتواند حذف آسیبپذیریهایی باشد که در طول تست پیدا شدهاند. این کار میتواند از راههای متعددی انجام گردد. متداولترین راه تست، اصلاح، تست مجدد و تکرار این چرخه به میزان نیاز است.
در ابتدا تست انجام میشود و تمام آسیبپذیریهای پیدا شده همراه با گزینههایی برای اصلاح به بخش مدیریت گزارش میشوند. سپس، پیش از اینکه تست دیگری انجام شود، به شرکت مقدار زمان مشخصی ارائه میشود تا این آسیبپذیریها را اصلاح کنند.
در ادامه، بسته به نتیجهی تست بعدی، یا تست نفوذ بسته میشود یا مجدد تست میشود تا زمانی که شرکت تصمیم بگیرد ریسکهای یافتشده را بپذیرد یا تست به یک امتیاز مشخص رسیده یا از آن فراتر برود.
تستهای نفوذ مهندسی اجتماعی میتوانند یک راه عالی برای شرکتها باشند تا وضعیت امنیتی خود را با توجه به ضعیفترین زنجیرههای حوزههای فنی سازمان خود تست نمایند. این تستهای نفوذ را میتوان یا با یک تیم ممیزی داخلی یا یک شرکت خارجی انجام داد که متخصص تست نفوذ است.
هردوی این گزینهها نکات مثبت و منفی خود را دارند، مثلاً تیمهای داخلی موجب صرفهجویی در هزینهها میشوند، اما نظری بیطرفانه را ارائه نمیدهند، درحالیکه شرکتهای خارجی نظری بیطرفانه ارائه میدهند اما هزینهی بیشتری دارند.
در هر صورت، سازمانی که درخواست تست میدهد باید بررسیهای لازم را انجام دهد و مطمئن شود که شرکت یا تیم انجامدهندهی تست دارای مدارک صنعتی مناسب، مثل Certified Ethical Hacker یا CEH باشند تا تست از اعتبار و ارزش لازم بهرهمند گردد.