مقدمه:
با پیشرفت فناوری اطلاعات و ارتباطات، امنیت اطلاعات برای سازمانها و افراد بسیار حیاتی شده است. به همین دلیل، افرادی که قصد دارند سایبرحملات را انجام دهند، برای شکستن سیستمهای امنیتی از راهکارهای پیچیده و ناشناخته استفاده میکنند. یکی از راههای مورد استفاده در این زمینه، استفاده از Zero-day exploits است.
مفهوم Zero-day exploits:
Zero-day exploits به معنی استفاده از ضعفهای امنیتی در نرمافزارها و سیستمها است که هنوز توسط تولید کنندگان نرمافزارها شناسایی و رفع نشده است. به عبارت دیگر، Zero-day exploits آسیب پذیریهایی هستند که هنوز شرکتهای تولید کننده آن نرمافزار راکتیو نکرده و هیچ پچ امنیتی برای آنها منتشر نشده است. به همین دلیل، حملات از این نوع میتوانند به عنوان یک خبر خوشحال کننده برای هکرها محسوب شوند.
مرتبط: ۱۷ نوع حمله سایبری که معمولاً توسط هکرها استفاده می شود
انواع Zero-day exploits:
- مشخصه (Signature)های صفر: در این روش، هکرها از روشهای پیشین استفاده میکنند و مشخصه (signature)های نرمافزارهای دیگر را به ضعفهای امنیتی در نرمافزار مورد نظر اعمال میکنند. این مشخصهها از طریق تحلیل اجزای نرمافزار و خواندن کدهای آن استخراج میشود.
- روشهای دیوانهوار: برخی هکرها به روشهایی دیوانهوار و پیشرفته برای شناسایی و سوءاستفاده از ضعفهای امنیتی میپردازند. آنها از شیوههای تحقیقاتی برای خواندن کدها و تحلیل اجزای نرمافزار استفاده میکنند و سعی میکنند منشا و علت ضعفهای امنیتی را پیدا کنند.
- استفاده از روشهای معکوس (Reverse Engineering): تا به حال بسیاری از تجزیهکنندهها توانستهاند اجزای نرمافزارهایی که بر روی سختافزار مخصوص میزبانی میشوند و کدهای اصلی برنامه را مخفی کردهاند را به دست آورند. این روش به هکرها این امکان را میدهد که ضعفهای امنیتی را کشف کرده و از آنها استفاده کنند.
- استفاده از آسیبپذیریهای Zero-day: در این روش، هکرها از آسیبپذیریهایی که هنوز به توسعه دهنده نرمافزار گزارش نشده و برطرف نشدهاند، استفاده میکنند. آنها از این آسیبپذیریها برای نفوذ به سیستم و کشف دادههای حساس استفاده میکنند.
- استفاده از مهندسی اجتماعی: در این روش، هکرها از روشهای حمله به افراد یا کاربران سیستم استفاده میکنند. آنها سعی میکنند با استفاده از تقلب و فریب، اطلاعات حساس را از کاربران سرقت کنند و از آنها بهرهبرداری کنند.
- استفاده از پیشبرنامهریزی ضعیف: برخی نرمافزارها دارای پیشبرنامهریزی ضعیف هستند که باعث میشود هکرها بتوانند از آنها به شکل ناخواسته بهرهبرداری کنند. هکرها از ضعفهای نرمافزارها در جهت دسترسی غیرمجاز به سیستم و دادهها استفاده میکنند.
- نصب نرمافزارهای مخرب: هکرها ممکن است نرمافزار مخربی را از طریق پیامها، ایمیلها یا سایر وسایل ارتباطی به کاربران تحویل دهند. این نرمافزارها هنگامی که نصب میشوند، میتوانند ضعفهای امنیتی را به سیستم اضافه کنند و از آنها بهرهبرداری کنند.
راهکارها برای مقابله با Zero-day exploits:
- بروز رسانی نرمافزارها: شرکتهای تولید کننده نرمافزارها باید با شناسایی و رفع ضعفهای امنیتی، پچهای مربوطه را در اختیار کاربران قرار دهند. کاربران نیز باید نرمافزارهای خود را به صورت منظم بروز رسانی کنند تا ضعفهای امنیتی برطرف شوند.
- استفاده از فایروالها و نرمافزارهای ضد ویروس قدرتمند: استفاده از فایروالهای با کارآیی بالا و نرمافزارهای ضد ویروس قدرتمند میتواند به کاهش شانس انجام حملات Zero-day exploits کمک کند. این نوع نرمافزارها به صورت منظم به روز رسانی میشوند و ضعفهای امنیتی را تشخیص میدهند.
- آموزش هدفمند کاربران: یکی از راههای مهم مقابله با حملات Zero-day exploits، آموزش کاربران درباره مفاهیم امنیت سایبری و رعایت اصول امنیتی است. کاربران باید آگاهی کافی در خصوص مخاطرات امنیتی و رفتارهای امنیتی صحیح داشته باشند.
- رمزنگاری قوی: استفاده از رمزنگاری قوی و پیچیده میتواند در کاهش خطر از دست رفتن اطلاعات حساس تاثیرگذار باشد. رمزنگاری قوی از لحاظ فنی، برای هکرها دشواریهای بسیاری را بوجود میآورد و از ایجاد اتصال امن برای ارتباطات و انتقال اطلاعات حساس مراقبت میکند.
- استفاده از سامانههای تشخیص تهدیدات (Intrusion Detection Systems): استفاده از سامانههای تشخیص تهدیدات میتواند به تشخیص و پیشگیری از حملات Zero-day exploits کمک کند. این سامانهها قابلیت تحلیل رفتار نرمافزارها و شناسایی الگوهای مشکوک را دارند و اگر هر نوع فعالیتی که به حمله Zero-day مربوط میشود تشخیص داده شود، اقدام به پیشگیری میکنند.
- محدود کردن دسترسی کاربران: محدود کردن دسترسی کاربران و تعیین دسترسیهای مورد نیاز برای هر فرد میتواند در کاهش خطر بهرهبرداری از ضعفهای Zero-day کمک کند. اگر دسترسیها بیش از حد نیاز و یا بدون تعیین دقیق صورت گیرد، احتمال انتقال ویروسها و تهدیدات امنیتی بالا میرود.
- استفاده از ماهیت غیرقابل پیشبینی: استفاده از محصولات و فناوریهایی که با معماری غیرقابل پیشبینی عمل میکنند، میتواند حملات Zero-day را سخت تر کند. یعنی معماری و روش عملکرد آنها به صورت منظم تغییر کند تا هکرها بتوانند روشهای خود را بهکار نبرند و حملات را برنامهریزی نکنند.
- ممانعت از استفاده از پیامها و فایلهای مشکوک: پیامهای ایمیل، پیامکها و فایلهای مشکوک و از سرقت دادهها و اطلاعات کنسرسیوم خارج میکنند. استفاده از فیلترها و ممنعت از استفاده از فایلهای مشکوک میتواند در کاهش خطر حملات Zero-day کمک کند.
- استفاده از توقف یا محدودیت اجرای کدهای ناشناس: استفاده از تکنیکهایی که توقف یا محدودیت اجرای کدهای ناشناس را فراهم میکنند میتواند به جلوگیری از استفاده از Zero-day exploits کمک کند. این تکنیکها میتوانند به تشخیص برخی از کدهای ضمنی ناشناس و اجرای آنها در سیستم جلوگیری کنند و درنتیجه، از صورت گرفتن حملات Zero-day جلوگیری کنند.
سوالات متداول:
چرا به آن بهره برداری روز صفر می گویند؟
روز صفر (Zero-day) به معنای اولیه (تاریخ انتشار یا شروع آن) صفر است. در اینجا، “از صفر” به معنای تاریخ انتشار یا شناختهشدن آسیبپذیریها یا خطرات امنیتی است.بهرهبرداری (exploit) ، استفاده کردن از یک آسیبپذیری و در نتیجه ورود به سیستمها و دستگاهها بدون اجازه است.
بنابراین، هنگامی که یک آسیبپذیری جدید شناخته شده و هیچ راهکار امنیتی برای آن وجود ندارد و هیچ پچ یا رفع روزانهای برای آن منتشر نشده است، این آسیبپذیری یک “روز صفر” یا Zero-day exploit نامیده میشود. به عبارت دیگر، این نوع حملات صفر روز بر معامله کنندگان انجام می دهد، زیرا آنها هنوز با راه حلی برای پیشگیری از آن مواجه نشدهاند.
حملات معروف روز صفر کدامند؟
حملات معروف روز صفر، یا Zero-day exploits، شامل موارد زیر است:
- Stuxnet: این حمله مشهور در سال ۲۰۱۰ صورت گرفت و به نظر میرسد که توسط آمریکا و اسرائیل برنامهریزی شده بود. هدف اصلی این حمله، تخریب سیستمهای هستهای ایران بود.
- WannaCry: این حمله پخش شده توسط برنامههای خبیث و رمزنگارمالوئر است که در سال ۲۰۱۷ رخ داد. این حمله در سراسر جهان به صورت گسترده موجب قفل شدن دستگاهها و درخواست پرداخت وجه در قبال بازگرداندن دسترسی به فایلها شد.
- Petya/NotPetya: این حمله نیز در سال ۲۰۱۷ رخ داد و به صورت رمزنگارمالوئر نشان داده میشد. هدف اصلی این حمله، تخریب سیستم عامل و فرایند بارگذاری ویندوز بود.
- Flame: این حمله فراگیر در سال ۲۰۱۲ شناخته شد و به نظر میرسد که توسط دولت اسرائیل برنامهریزی شده بود. هدف اصلی این حمله، بررسی اطلاعات و نفوذ به سیستمهای برنامههای هستهای ایران بود.
- Duqu: این حمله در سال ۲۰۱۱ شناسایی شد و با استفاده از سورس کد Stuxnet، اطلاعات حساس را از سیستمهای تحت نظارت بدون اینکه دریافتکننده اعلامیه بدهد انتقال میدهد.
توجه داشته باشید که همیشه حملات روز صفر ممکن است نامشخص باشند و تنها زمانی که به صورت عمومی شناخته شوند، میتوانند معروف شوند. همچنین، این لیست تنها چند نمونه از حملات روز صفر است و همواره حملات جدیدی در حال ظهور هستند.
روز صفر در مقابل CVE چیست؟
روز صفر (Zero-day exploits) به بهرهبرداری از آسیبپذیریهایی در نرمافزارها گفته میشود که هنوز از سوی تولیدکنندهٔ نرمافزار تایید یا تصحیح نشدهاند و هیچ گونه پچ یا راهحلی برای آنها منتشر نشده است. این آسیبپذیریها برای اهداف مخرب و بهکارگیری حملات سایبری بهکار میروند.
CVE (Common Vulnerabilities and Exposures) یک سیستم معرفی آسیبپذیری برای نرمافزارها است. این سیستم توسط سازمان MITRE بهعنوان یک دستگاه مستقل به منظور شناسایی مسائل امنیتی در نرمافزارها تاسیس شده است. هر CVE شناسهای یکتاست که آسیبپذیری خاصی را در یک نرمافزار مشخص میکند.
از آنجا که روز صفر قبل از تایید و تصحیح CVE بهرهبرداری میشوند، این دو مفهوم هماکنون توسط امنیت سایبری در دیدگاههای گوناگون مورد مقایسه قرار میگیرند.
چگونه هکرها اکسپلویت های روز صفر را پیدا می کنند؟
هکرها ممکن است از روشها و فنون مختلف برای کشف اکسپلویت های روز صفر استفاده کنند. چند روش متداول عبارتند از:
- تحلیل و بررسی کد: هکرها ممکن است کد منبع نرمافزارها را بررسی کنند و با تحلیل نقاط ضعف موجود در کد، اکسپلویت های روز صفر را پیدا کنند.
- بررسی آنالیز امنیتی: هکرها ممکن است به طور مداوم بررسی های آنالیز امنیتی را بر روی نرمافزارها انجام دهند و با کشف یا تحلیل تهدیدات جدید، اکسپلویت ها را کشف کنند.
- بررسی صفرتاصد: در این روش، هکرها درگیر فرایند معکوس کردن (reverse engineering) نرمافزارهای مورد هدف میشوند. آنها با تجزیه و تحلیل کدها و بررسی رفتار نرمافزار، نقاط ضعف و اکسپلویت های روز صفر را شناسایی میکنند.
- خرید اطلاعات از بازار سیاه: هکرها میتوانند از طریق تبادل اطلاعات با دیگران یا خرید اکسپلویت های روز صفر از بازار سیاه، به این اطلاعات دست یابند.
- مشارکت در برنامههای کلونینگ و آزمایشهای امنیتی: گاهی اوقات شرکتها و سازمانها برنامههای کلونینگ (cloning) با پاداش مالی برنامهریزی میکنند تا هکرها از نظر آنها به دنبال کشف نقاط ضعف باشند. در این صورت، هکرها میتوانند اکسپلویت های روز صفر را کشف کنند.
مهم است تا بدانید که استفاده از اکسپلویت های روز صفر توسط هکرها همواره غیرقانونی و اخلاقی است و ممکن است منجر به نقض حریم خصوصی و آسیب به سیستمها و شبکههای مورد حمله شود.
نقطه مقابل بهره برداری روز صفر چیست؟
نقطه مقابل بهره برداری روز صفر (Zero-day exploits) به یک ضعف امنیتی در نرم افزار یا سیستم اطلاق میشود که توسط تهاجم کنندگان کشف نشده و تا کنون به هیچ شمایل ترمیم نشدهاست. به این معنی که سرویسدهنده یا توسعهدهندهی نرمافزار از وجود این ضعف در سیستم خود آگاهی ندارد و به همین دلیل توانایی بهرهبرداری از آن در روز انتشار (صفر) این مشکل وجود دارد. این نقاط ضعف معمولاً توسط افراد یا گروه های هکر، نفوذگران یا جوانمردان در امنیت کامپیوتری پیدا شده و از آن بهرهبرداری مینمایند تا به اطلاعات شخصی، رمز عبور، فایلها، سرویس ها و یا حتی کنترل سیستم هدف خود برسند.
چه کسی روزهای صفر را خلق کرد؟
معمولاً اولین بار استفاده از صفر روز (Zero-day) توسط نفری به نام David Litchfield در سال ۱۹۹۷ را به خود اختصاص میدهند. او به عنوان یک متخصص امنیتی مستقل، در دنیای رایانه شناخته میشود و توانست با شناسایی آسیبپذیریها و همچنین خلق صفر روزهای به جمعآوری اطلاعاتی که به توسعه دهندگان برای رفع مشکلات امنیتی در نرمافزارها کمک کند، شهرت پیدا کند. البته قبل از او، برخی از افراد دیگر نیز از صفر روزها استفاده کرده بودند، اما لیچفیلد یکی از افراد مهم و نخستین هستند که شهرت زیادی به دست آوردهاند.
آیا بهره برداری روز صفر ویروس است؟
بله، بهره برداری روز صفر (Zero-day exploits) به نوعی ویروس محسوب میشود. اما ممکن است از تعریف رایج ویروسها کمی تفاوت داشته باشد. ویروسها معمولاً نوعی نرم افزار هستند که به طور خودکار و بدون اطلاع کاربر، به سیستمها حمله کرده و میتوانند اطلاعات کاربران را دستکاری یا سرقت کنند، سیستمها را کنترل کنند یا آنها را ناتوان کنند. بهره برداری روز صفر در واقع آسیب پذیریهایی هستند که در نرم افزار یا سیستم کامپیوتری وجود دارند و هنوز از سازندگان مورد تأیید و بازخورد قرار نگرفتهاند. بهره برداری روز صفر همانطور که نامش نشان میدهد، از این آسیب پذیریها با استفاده از روشهایی که تا به حال شناخته نشده اند، استفاده میکند. بدافزارها و نفلها نیز میتوانند با استفاده از بهره برداری روز صفر به سیستمها و شبکهها نفوذ کرده و آسیب برسانند.
نتیجهگیری:
حملات Zero-day exploits با استفاده از ضعفهای امنیتی در نرمافزارها و سیستمها انجام میشوند و میتوانند به اطلاعات حساس و حسابهای کاربری دسترسی پیدا کنند. به منظور مقابله با این نوع حملات، استفاده از روشهایی نظیر بروز رسانی نرمافزارها، استفاده از فایروالها و نرمافزارهای ضد ویروس قدرتمند، آموزش کاربران درباره مفاهیم امنیت سایبری و رمزنگاری قوی توصیه میشود. با پیادهسازی این راهکارها، خطرات حملات Zero-day exploits میتواند به حداقلی کاهش یابد و اطلاعات محرمانه محافظت شود.