اکسپلویت قطعهای از نرمافزار، دیتا یا توالی دستورات است که از یک آسیبپذیری در سیستم یا شبکه سواستفاده میکند. هدف اکسپلویت ایجاد رفتار ناخواسته در سیستم یا شبکه، یا دستیابی غیرمجاز به اطلاعات حساس است.
آسیبپذیریها به محض شناسایی به منظور ثبت به CVE ارسال میشوند. CVE یک فرهنگ لغت آسیبپذیری (Vulnerability Dictionary) رایگان است که برای تامین امنیت سایبری در سطح جهانی طراحی شده است. این سیستم برای هر آسیبپذیری یک شناسهی استاندارد ایجاد میکند تا بتوان با استفاده از آن آسیبپذیری را تشخیص داد.
اکسپلویتها چگونه کار میکنند؟
اکسپلویتها از نقض امنیتی سیستمعامل، نرمافزار، سیستم رایانهای، اینترنت اشیا (IoT) یا سایر آسیبپذیریهای امنیتی بهره میبرند. اغلب پس از آن که یک اکسپلویت توسط یک مهاجم یا هکر مورد استفاده قرار گرفت، توسعهدهندگان نرمافزار آن را شناخته و اغلب آسیبپذیری مربوطه از طریق وصله (پچ) اصلاح شده و غیرقابل استفاده میشود.
به همین دلیل بسیاری از مجرمان امنیتی اینترنتی و همچنین سازمانهای نظامی یا دولتی، اکسپلویتهایی را که کشف میکنند منتشر نمیکنند و برعکس سعی میکنند آن را افشا نکنند. در چنین شرایطی، آسیبپذیری بعنوان آسیبپذیری زیرو دی (Zero Day) یا اکسپلویت زیرو دی شناخته میشود. یکی از نمونههای معروف، آژانس دولتی NSA است که آسیبپذیری نرمافزار EternalBlue را محرمانه و مخفی نگه داشت.
EternalBlue از نسخههای قدیمی سیستمعامل ویندوز که از نسخه منسوخ پروتکل (Server Message Blcok (SMB استفاده میکردند، بهرهبرداری کرد. درپی آن مجرمان اینترنتی باجافزار WannaCry را تولید کردند که از EternalBlue بهرهبرداری میکند و تقریبا بیش از 200 هزار سیستم کامپیوتری در 150 کشور در سراسر جهان را مختل کرد و خسارات فراوانی به آنها وارد کرد. حجم این خسارات از صدها میلیون تا میلیاردها دلار تخمین زده میشود. علیرغم اینکه سازندگان نرمافزار برای رفع مشکل EternalBlue پچ مناسب را کردهاند، این آسیبپذیری شناخته شده به دلیل عدم استفاده از این پچ توسط بسیاری از کاربران، همچنان یک خطر بزرگ امنیت سایبری به شمار میرود.
با مدیریت آسیبپذیری امکان استفاده از اکسپلویتها در شبکهی خود را از بین ببرید:
انواع مختلف اکسپلویت کدامند؟
اکسپلیوتها را میتوان در پنج دسته گسترده طبقهبندی کرد:
- سختافزار: رمزگذاری ضعیف، عدم مدیریت پیکربندی یا آسیبپذیری سیستمعامل
- نرمافزار : نقض ایمنی حافظه (سرریزبافر، over-reads)، خطاهای اعتبارسنجی ورودی – تزریق کد، XSS، دایرکتوری تراورسال (Directory Traversal)-، تزریق ایمیل، حملات رشتهای، تزریق هدر HTTP، SQL injection، اشکالات بالارفتن سطح دسترسی (Clickjacking، CSRF، حملات FTP)، حملات Race Condition (Symlink race)، حملات چنل ساید، حملات زمانبندی و خرابی رابط کاربر
- شبکه: خطوط ارتباطی رمزگذاری نشده، حملات مرد میانی (man-in-the-middle)، دامین هایجکینگ، امنیت ضعیف شبکه ، عدم سیستم احراز هویت یا استفاده از رمزهای عبور پیشفرض
- پرسنل: سیاست و روند ضعیف در استخدام، عدم آموزش و آگاهیبخشی د رحوزهی امنیت، پیروی ضعیف از سیاست امنیت اطلاعات، مدیریت ضعیف رمزعبور یا حملات رایج مهندسی اجتماعی مانند فیشینگ، Spear Phishing، Honey Trapping و …
سایت فیزیکی: امنیت فیزیکی ضعیف، حملاتی مانند Tailgating و عدم کنترل دسترسی درست
در هر یک از این دستهها، میتوانیم آسیبپذیریها را به دو گروه تقسیم کنیم: آسیبپذیریهای شناخته شده و اکسپلویتهای زیرو دی (روز صفر):
- آسیبپذیریهای شناخته شده: محققان امنیتی آنها را کشف کرده و مستندسازی کردهاند. اکسپلویتهایی که آسیبپذیریهای شناخته شده را هدف قرار میدهند، اغلب قبلا اصلاح شدهاند اما به دلیل کند بودن روند نصب پچهای امنیتی، هنوز تهدیدی قابل استفاده برای مهاجمین به شمار میروند. یکی از مشکلاتی که هم کاربران خانگی و هم سازمانهای بزرگ را تهدید میکند، نداشتن برنامهای برای نصب این پچهای امنیتی است. حتی مشاهده شده برخی سازمانها بعد از گذشت ماهها از انتشار پچ امنیتی، هنوز اقدام به نصب آن نکردهاند و این موضوع میتواند دریچه ورودی برای مهاجمان و هکرها باشد.
اکسپلویتهای زیرو دی (zero day): آسیبپذیریهایی که بصورت عمومی گزارش نشده و یا در CVE گزارش نشدهاند. این بدان معناست که مجرمان سایبری قبل از اینکه برنامهنویسان بتوانند پچی را منتشر کنند، این اکسپلویت را یافتهاند. در برخی موارد ممکن است توسعه دهنده حتی از وجود آسیبپذیری اطلاع نداشته باشد.
دربارهی حملات زیرو دی (zero day) بیشتر بیاموزید:
اکسپلویتها چگونه اتفاق میافتند؟
روشهای مختلفی برای اکسپلویتها وجود دارد:
- اکسپلیوت بصورت ریموت (از راه دور): از طریق شبکه کار میکند و بدون دسترسی قبلی به سیستم آسیبپذیر، از آسیبپذیری سواستفاده میکند.
- اکسپلویت بصورت لوکال (محلی): به دسترسی قبلی به سیستم آسیبپذیر یا شبکهای که آن سیستم در آن است نیاز دارد، هدف اکثر این اکسپلویتها افزایش سطح دسترسی مهاجم است بطوری که سطح دسترسی مهاجم را تا سطح کاربر ممتاز (ادمین) بالا ببرد.
- اکسپلویت بصورت کلاینت: اکسپلویتی در برابر برنامههای کاربردی سرویسگیرنده وجود دارد و معمولا از سرورهای اصلاح شده تشکیل شده است. درصورت دسترسی به برنامهی کلاینت، اکسپلویت را ارسال میکنند. در برخی مواقع ممکن است نیاز به تعامل به کاربر نیز وجود داشته باشد.
در سال 2016 یاهو اعلام کرد که اطلاعات بیش از یک میلیارد حساب کاربری نشت پیدا کرده است، این نشت یکی از بزرگترین نشتهای اطلاعاتی تاریخ به شمار میرود. مهاجمان توانستند به اطلاعات حساسی دسترسی پیدا کنند زیرا یاهو از یک الگوریتم ضعیف و منسوخ به نام MD5 برای هشکردن استفاده میکرد.
بطور کلی اکسپلویتها برای آسیب رساندن به اضلاع مثلث CIA، یعنی محرمانه بودن، یکپارچگی و دردسترس بودن نرمافزار یا یک سیستم طراحی شدهاند. بسیاری از مجرمان اینترنتی با استفاده از بسترهای متعدد برای حمله، ابتدا دسترسی محدودی پیدا میکنند و سپس از آسیبپذیریهای لوکال برای ارتقا سطح دسترسی به منظور دستیابی به سطح کاربری ادمین، استفاده میکنند.
به همین دلیل کسانی که وظیفه محافظت از امنیت اطلاعات، امنیت شبکه و امنیت دادهها را برعهده دارند، باید از استراتژی دفاع در عمق (in-depth defense) استفاده کنند. بعنوان مثال، یک مهاجم میتواند با نصب بدافزار در رایانه، یکپارچگی یک صفحه وب را با تزریق کد مخرب به مرورگر وب را مختل کرده و امنیت آن را با مشکل مواجه کند، یا با انجام حمله منع سرویس توزیعشده (DDoS) که توسط باتنتها و تروجانها اتفاق میافتد، دسترسپذیری آن را با اختلال مواجه کند.
اکسپلویت کیت (Exploit kit) چیست؟
اکسپلویت کیت برنامهای است که مهاجمان میتوانند از آن برای ساخت اکسپلویتهایی برای سواستفاده از آسیبپذیریهای شناخته شده در نرمافزارهای معمول نصب شده مانند JAVA، Adobe Flash و Microsoft Silverlight استفاده کنند. یک اکسپلویت کیت معمولی، آسیبپذیریهای موجود در برنامههای مختلف را هدف قرار گرفته و چندین افزونه در اختیار مهاجم قرار میدهد که حملات سایبری را آسانتر میکند. به دلیل ماهیت خودکار بودن عملیات، اکسپلویت کیتها روشی محبوب در انتشار انواع مختلف بدافزارها و ایجاد سود هستند.
یکی از نمونههای معروف استفاده از اکسپلویتها، باجافزار WannaCry است. این باجافزار از آسیبپذیری EternalBlue استفاده میکند. درحالی که EternalBlue به سرعت وصله شد، بیشتر موفقیت WannaCry به دلیل عدم اعمال این پچ توسط سازمانها یا استفاده از نسخههای قدیمی ویندوز بود.
چگونه میتوان خطر اکسپلویتها را کاهش داد؟
سازمانها میتوانند با نصب تمام پچهای نرمافزاری به محض انتشار (که به این منظور میتوانند از سرویسی مانند WSUS مایکروسافت استفاده کنند)، با گسترش آگاهی نسبت به امنیت سایبری و آموزش درست کارکنان و سرمایهگذاری روی نرمافزارهای امنیتی مانند آنتیویروس، کشف خودکار و اعتبارسنجی اطلاعات و سیستمهای تشخیص و پیشگیری از نفوذ (راهحلهایی مانند IPS و IDS)، خطر اکسپلویتها را کاهش دهند.
وکتور حملات دیگری که اغلب نادیده گرفته میشود و خطر قابل توجهی برای امنیت سایبری به همراه دارند، نرمافزارهای جانبی هستند. نرمافزارهای شما اطلاعات حساس (بعنوان مثال اطلاعات بهداشتی محافظت شده (PHI)، اطلاعات قابل شناسایی شخصی (PII) یا دادههای بیومتریک) را پردازش میکنند؛ درصورت وجود مشکل و یا ضعف امنیتی، این نرمافزارها میتوانند از اهداف جاسوسها یا مهاجمان سایبری باشند.
مدیریت خطر در نرمافزارهای جانبی بخش مهمی از مدیریت ریسک اطلاعات را تشکیل داده و روزبهروز اهمیت آن بیشتر میشود.
گروه امنیتی لیان چگونه میتواند از سازمان شما در برابر اکسپلویتها محافظت کند؟
سازمانهای بسیاری، اعم از دولتی و خصوصی، برای محافظت از اطلاعات خود، جلوگیری از نشت اطلاعات، نظارت بر آسیبپذیریها و جلوگیری از انتشار بدافزارها بر روی شبکههایشان، از کارشناسان لیان مشاوره میگیرند.
کارشناسان لیان با تکیه بر دانش و توانایی خود و ارائه راهکاری دقیق میتوانند سازمان شما را در برابر حملات سایبری شناخته شده و حتی زیرو دی (zero day)، محافظت کنند.