حملات مهاجمان به طور فزایندهای در حال پیچیدهتر شدن است و گروههای سازمان یافتهای از هکرها در حال انجام حملات پیشرفتهای علیه اهداف مهم هستند. تقریبا در همهی حملات پیشرفته، یکی از مولفههای اصلی، بالا بردن سطح دسترسی یا Privilege Escalation است، یعنی تلاش برای به خطر انداختن یک حساب کاربری و سپس افزایش سطح دسترسی مهاجم. این کار یا با دستیابی به کنترل حسابهای کاربری بیشتر و یا با افزایش سطح دسترسی از حسابهای کاربریِ به خطر افتاده، انجام میشود.
این مقاله، حاوی اطلاعاتی دربارهی چگونگی عملکرد Privilege Escalation، شناسایی آن در سازمان، چگونگی محافظت از سیستمها و جلوگیری از حملات پیشرفته است. همچنین، در این مقاله، اطلاعاتی در مورد تهدیدهای داخلی و معرفی آنها، شاخصهایی که میتوانند در شناسایی تهدیدات داخلی به کاربر کمک کنند و معرفی بهترین ابزارها برای محافظت در برابر چنین تهدیداتی، آمده است.
بالا بردن سطح دسترسی یا Privilege Escalation در هک
در بالابردن سطح دسترسی یا Privilege Escalation مستلزم وجود مهاجمی است که به یک حساب کاربری دسترسی پیدا کرده و راهی برای افزایش سطوح دسترسی مرتبط با آن حساب (Vertical) پیدا میکند و سپس سطح دسترسی خود را برای دستیابی به سایر حسابهای کاربری بهبود میبخشد (Horizontal) یا هر دو کار را انجام میدهد.
از بالابردن سطح دسترسی یا Privilege Escalation برای دسترسی به شبکهها، معمولاً با هدف سرقت یا دسترسی غیرمجاز به دادهها، مختل کردن فعالیت تجاری یا نصب Backdoor برای ایجاد دسترسی مداوم به سیستمهای داخلی، استفاده می شود.
مقایسهی Vertical Privilege Escalation و Horizontal Privilege Escalation
Horizontal Privilege Escalation محدود است زیرا به مهاجمان مجوزهای قدرتمندی نمیدهد، مگر اینکه مهاجم از قبل دارای یک حساب با سطح دسترسی بالا باشد. معمولا Vertical Privilege Escalation خطرناکتر است، زیرا در این حالت مهاجم سعی میکند دسترسیهایش را تا رسیدن به هدف نهاییِ دستیابی به دسترسی ادمین یاSystem User در ویندوز، یا Root در سیستمهای Unix، ارتقا بخشد.
با دسترسیRoot ، مهاجم میتواند اطلاعات اعتباری و سایر اطلاعات حساس را به سرقت ببرد، کدهایی برایBackdoor و سایر بدافزارها را اجرا کند، دادهها را پاک کند و به طریقی فعالیتهای تجاری را مختل و یا کد دلخواه را اجرا کند. مهاجمان همچنین میتوانند با حذف شواهدی از فعالیت خود، مسیرهای فعالیت خود را پاک کنند..
تشخیص رویدادهای بالا بردن سطح دسترسی یا Privilege Escalation
دادههای کمی وجود دارد که میتواند به شناسایی و پاسخ به حملات بالابردن سطح دسترسی Privilege Escalation کمک کند:
نقطه دسترسی اولیه |
مهاجم در ابتدا کدام حساب کاربری یا سیستم را به خطر انداخت؟ |
مسیر تهدید اولیه |
مهاجم چطور نخستین حساب کاربری را به خطر انداخت؟ |
مسیر Escalation |
مهاجم موفق به کسب چه دسترسیهای جدیدی شد؟ |
سیستمهای هدف |
مهاجم کدام حسابهای کاربری یا سیستمها را مورد حمله قرار داد و برای چه هدفی این کار را کرد؟ |
آسیب وارد شده |
مهاجم پس از دستیابی به سیستمهای هدف، چه کاری توانست انجام دهد؟ |
بیشتر بخوانید: ATA یا آنالیز تهدیدات پیشرفته چیست؟
بالا بردن سطح دسترسی یا Privilege Escalation و فعالیت جانبی
برای یک مهاجم، بالا بردن سطح دسترسی یا Privilege Escalation یک اقدام مستقل نیست. بلکه به طور معمول بخشی از تکنیکی است که به عنوان فعالیت جانبی شناخته میشود و با خود تهدید Endpoint را به همراه دارد. مهاجم معمولا Privilege Escalation را با تلاش برای یک حملهی جانبی در سراسر شبکهها، برای به خطر انداختن سیستمها و حسابهای کاربری بیشتر، ترکیب میکند. در ادامه روند معمولی یک فعالیت جانبی آمده است:
- شناسایی خارجی: شناسایی فرصتها برای دسترسی اولیه به سازمان، چه از طریق سیستمها و چه از طریق Portها، مهندسی اجتماعی، اعتبار Dumpها
- نفوذ اولیه: مهاجم از ضعف امنیتی مشخصشده برای دسترسی به نقطهی نهایی در شبکهی هدف استفاده میکند.
- شناسایی داخلی: مهاجم اطلاعاتی در مورد شبکه، سیستم عاملها و منابع دیگر بدست میآورد، اسکنها را انجام میدهد و به دنبال آسیبپذیریهایی است که از داخل میتواند از آنها سوءاستفاده کند.
- Privilege Escalation: مهاجمان برای دستیابی به سیستمهای بیشتر ، از نفوذ اولیه خود بر روی شبکه استفاده میکنند، از تکنیکهایی مانند Keyloggers ، Snifferهای شبکه، حملات Brute Force و یا Phishing بهره میبرند تا با کنترل حسابهای داخلی بتوانند راحتتر فعالیت کنند.
- به خطر انداختن سیستمهای بیشتر: مهاجمین میتوانند از ابزارهای کنترل از راه دور مانند Psexec، PowerShell یا نرمافزار دسترسی از راه دور برای دسترسی به سیستمهای بیشتر استفاده کنند. این تلاشها ممکن است سوءظنی را برانگیخته نکند زیرا ابزارهای دسترسی از راه دور معمولاً فقط توسط کارمندان IT استفاده میشوند. سرانجام، مهاجم بدون هیچ سوءظنی به هدف نهایی خود، مثل خارج کردن اطلاعات حساس، می رسد.
بیشتر بخوانید: اولویتبندی راهکارها جهت مقابله با تهدیدات
6 راه برای محافظت از سیستمها در برابر بالا بردن سطح دسترسی یا Privilege Escalation
در زیر تعدادی از بهترین و مهمترین روشهایی که میتوانند شانس موفقیت حملات Privilege Escalation را کاهش دهند، آمده است.
-
پالیسیهای رمز عبور
اطمینان از اینكه كاربران رمزهای عبور منحصر به فرد و ایمن را انتخاب كرده و مجبور به تغییر دورهای آن هستند، ضروری است. از آنجا که اجرای این امر در عمل دشوار است، یک راه خوب برای دور زدن ماهیت ناامنِ رمز عبور استفاده از احراز هویت دو عاملی، به ویژه برای سیستمهای حساس و حسابهای کاربری ادمین است.
-
کاربران و گروههای تخصصی با حداقل دسترسی
بازبینی User Base و حسابهای کاربری و گروهها برای اطمینان از نقشهای مشخص شدهشان ضروری است. این امر با استفاده از حداقل دسترسی سیستم و فایل برای هر نقش، امکانپذیر است. با انجام این عمل، اطمینان حاصل میشود که حتی اگر یک حساب کاربری به خطر بیفتد، احتمال حمله بالا بردن سطح دسترسی یا Privilege Escalation به شدت محدود میشود. این امر در مورد همهی حسابهای کاربری صدق میکند. حتی باید دسترسی ادمینها و Super-Userها به سیستمهایی که قرار است به آنها دسترسی داشته باشند یا آنها را مدیریت کنند، محدود شود. هیچ ادمینی نباید مجوزهای نامحدود برای همه یا بیشتر سیستمهای شبکه داشته باشد. و مهمتر از همه اینکه، وقتی فرد، دیگر نیازی به حساب کاربری ندارد، باید آنرا حذف کند.
-
بستن پورتهای بلااستفاده و محدودیت دسترسی به پروندهها
پورتهای شبکه باید به طور پیشفرض مسدود شوند و فقط در صورت نیاز به برنامههای مجاز، در دسترس باشند. تنظیمات پیشفرض که سرویسهای غیرضروری را اجرا میکنند باید حذف، شناسایی و مسدود شوند. به همین ترتیب، فایلها باید Read-Only باشند و تغییر آنها فقط باید برای کاربران و گروههایی که واقعا به این کار نیاز دارند، فعال باشد.
بیشتر بخوانید: بررسی تهدیدات امنیتی سازمانها و نحوه مقابله با آنها
-
فراهم نمودن امنیت دیتابیس و پاکسازی ورودیهای کاربر
بسیاری از سیستمهای دیتابیس دارای پیشفرضهای ناامن هستند. بنابراین باید دقت ویژهای شود تا دیتابیسها با احراز هویت قوی، ایمن و محافظت شوند. دادهها در زمان Rest باید در اسرع وقت رمزگذاری شوند. برای جلوگیری از حملات SQL و سایر حملات Code Injection، کلیهی ورودیهای کاربری و دیتابیسها باید پاکسازی شوند.
-
سیستمها و برنامهها باید Patch و بهروز باشند.
بسیاری از حملات بالابردن سطح دسترسی یا Privilege Escalation برای دسترسی اولیه از آسیبپذیری نرمافرار بهره میبرند. برای تشخیص آسیبپذیریهای شناخته شده باید از اسکنرهای آسیبپذیری استفاده شود و برای اصلاح آنها حتما باید از Patchهای امنیتی استفاده گردد.
از آنجا که Patch یا بهروزرسانی سیستمها بویژه سیستمهای تولید در مقیاس بزرگ و یا اجزاء Legacy، همیشه امکانپذیر یا عملی نیست، ممکن است لازم باشد که لایههای امنیتی بیشتری اعمال شود. به عنوان مثال، یک Web Application Firewall یا به اختصار WAF میتواند ارتباطات مخرب مربوط به سوءاستفاده از آسیبپذیری در سطح شبکه را شناسایی و مسدود کند، حتی اگر سیستم اصلی Patch نشده باشد.
-
Credential یا اطلاعات اعتباری پیشفرض در همه دستگاهها باید تغییر کند
حسابهای کاربری پیشفرض و بلااستفاده یا باید حذف شوند یا نامشان تغییر کند. همچنین، اطلاعات اعتباری پیشفرض به منظور ورود به سیستم برای هر سیستم سختافزاری، از جمله چاپگر، Routerها و دستگاه IoT باید تغییر داده شوند. تنها یک دستگاه با اطلاعات اعتباری پیشفرض و یک پورت باز کافی است تا به نقطهی دستیابی اولیه برای یک مهاجم تبدیل شود و منجر به حملهی Privilege Escalation شود.