Zero-Day (زیرو دی) چیست؟ روش کشف، فرآیند سوءاستفاده و راههای مقابله
- Zero-Day (زیرو دی)
- PouyaFakham
- 15 دقیقه
Zero-Day چیست؟ روش کشف، فرآیند سوءاستفاده و راههای مقابله
Zero-Day چیست؟
واژه Zero-Day (روز صفر) به باگی اشاره دارد که کشف شده، هنوز گزارش نشده، هیچ وصله امنیتی برای آن موجود نیست و سیستمها در برابرش کاملاً بیدفاعاند.
بهمحض اینکه آسیبپذیری کشف شود و توسعهدهنده «۰ روز» برای رفع آن فرصت داشته باشد، آن باگ Zero-Day نام میگیرد.
این نوع باگها معمولاً در موارد زیر دیده میشوند:
مرورگرها
CMSها (وردپرس، جوملا و…)
تجهیزات شبکه
نرمافزارهای سازمانی
سرویسهای Cloud
چرا Zero-Day خطرناکترین نوع آسیبپذیری است؟
دلایل متعددی وجود دارد که این نوع حمله را به کابوس مدیران امنیت تبدیل میکند:
- هیچ پچی برای آن وجود ندارد: سیستمها تا زمان انتشار Patch عملاً بدون دفاعاند و تنها راه مقابله، راهکارهای کاهنده خطر (Mitigation) است.
- آنتیویروسها آن را نمیشناسند: به دلیل عدم وجود Signature (امضای ویروس)، دفاعهای سنتی مبتنی بر دیتابیس در برابر این حملات بیاثر میشوند.
- قابلیت سوءاستفاده در حملات سطح بالا (APT): گروههای هکری دولتی و سازمانیافته از Zero-Day برای نفوذهای گسترده و جاسوسی استفاده میکنند.
- با ارزشترین کالا در بازار سیاه: یک اکسپلویت Zero-Day در سیستمعاملهایی مانند ویندوز یا iOS گاهی تا ۲ میلیون دلار معامله میشود.
روشهای کشف Zero-Day (پیشرفتهترین متدها)
محققان امنیتی و هکرها از روشهای پیچیدهای برای یافتن این باگها استفاده میکنند:
۱. تحلیل استاتیک و بررسی کد
در پروژههای متنباز (Open Source)، پژوهشگران امنیتی با بررسی مستقیم سورس کد، به دنبال مشکلات منطقی، Memory Leak یا ضعف در مکانیزمهای احراز هویت (Authentication) میگردند.
۲. مهندسی معکوس و تحلیل باینری
برای نرمافزارهای بسته (Closed Source) مانند ویندوز، از ابزارهایی مانند IDA Pro، Ghidra، x64dbg و OllyDbg استفاده میشود.
هدف اصلی، مشاهده رفتار داخلی برنامه و شناسایی بخشهای حساس مدیریت حافظه است.
۳. Fuzzing (فازینگ حرفهای)
سریعترین و کاربردیترین روش کشف Zero-Day در سال ۲۰۲۵ فازینگ است. فازرها با ارسال حجم انبوهی از ورودیهای تصادفی و ناسازگار، تلاش میکنند باعث Crash شدن برنامه شوند.
اگر برنامه دچار Crash، Hang یا Overflow شود، احتمال وجود باگ Zero-Day بسیار بالاست. ابزارهای معروف این حوزه شامل AFL++، Honggfuzz و Peach Fuzzer هستند.
۴. تحلیل رفتار شبکه
گاهی اوقات باگها در کد پیدا نمیشوند، بلکه در ترافیک شبکه نمایان میشوند. گزارش فعالیت غیرعادی در لاگها یا سیستمهای IDS ممکن است وجود حمله Zero-Day را آشکار کند (مثلاً درخواستهای عجیب به API).
۵. بررسی Memory Dump
تحلیل حافظه (Memory) درست قبل از لحظه Crash میتواند مشکلات سطح پایین و بسیار خطرناک مانند RCE (اجرای کد از راه دور)، UAF (Use-After-Free) و OOB (Out-Of-Bounds) را نمایان کند.
مراحل سوءاستفاده از Zero-Day توسط هکرها
- تحلیل آسیبپذیری: هکر ابتدا سطح حمله (Attack Surface) را پیدا میکند؛ جاهایی مثل ورودیهای بدون فیلتر یا بافرهای بدون کنترل.
- توسعه Exploit اختصاصی: هکر کد مخربی مینویسد (با پایتون، C یا ابزارهای خصوصی) که از باگ کشف شده سوءاستفاده کند.
- اجرای Exploit روی هدف: حمله انجام میشود که میتواند منجر به RCE، ارتقای سطح دسترسی (LPE) یا سرقت اطلاعات شود.
- Persistence و پاکسازی ردپا: برای ماندگاری در سیستم، هکرها معمولاً Backdoor نصب میکنند و لاگها را پاک میکنند تا شناسایی نشوند.
مثالهای واقعی Zero-Day (بهروز ۲۰۲۴–۲۰۲۵)
- Zero-Day در iOS 17: گروه NSO از یک باگ RCE بدون نیاز به کلیک (Zero-Click) برای نفوذ به گوشیهای آیفون استفاده کرد.
- Zero-Day در Google Chrome: یک آسیبپذیری از نوع Heap Corruption که توسط گروههای هکری برای نفوذ به مرورگر کاربران استفاده شد.
- Zero-Day در Windows Win32k: این باگ اجازه ارتقای سطح دسترسی (LPE) را میداد و برای نصب باجافزار در شبکه سازمانها استفاده شد.
- Zero-Dayهای WordPress Plugins: افزونههایی با میلیونها نصب فعال که قبل از انتشار آپدیت امنیتی، مورد حمله گسترده قرار گرفتند.
راههای مقابله با Zero-Day (راهنمای عملی ۲۰۲۵)
از آنجا که پچ امنیتی وجود ندارد، دفاع باید بر اساس تشخیص رفتار و محدودسازی باشد:
۱. استفاده از EDR و XDR
راهکارهای مدرن امنیتی مانند CrowdStrike و SentinelOne بدون نیاز به Signature (امضا) کار میکنند. آنها بر اساس رفتار (Behavior) تصمیم میگیرند و اگر پروسهای رفتار مشکوک داشته باشد، آن را متوقف میکنند.
۲. استفاده از WAF پیشرفته
فایروالهای تحت وب (WAF) که مبتنی بر رفتار هستند، میتوانند درخواستهای مخرب وب را حتی اگر الگوی آنها جدید باشد، مسدود کنند.
۳. مدل امنیتی Zero Trust
در این مدل امنیتی، «هیچکس» (حتی کاربران داخلی) قابل اعتماد نیست. دسترسیها به شدت محدود و پویا هستند.
اگر هکری با Zero-Day نفوذ کند، به دلیل دسترسیهای محدود، نمیتواند در شبکه حرکت کند.
۴. ایزولهسازی سرویسها (Microsegmentation)
شبکه باید به بخشهای کوچک تقسیم شود. اگر وبسرویس هک شود، نباید به دیتابیس اصلی یا سرورهای مالی دسترسی مستقیم و باز داشته باشد.
۵. سیاست Least Privilege
هر سرویس، نرمافزار یا کاربر باید کمترین سطح دسترسی لازم را داشته باشد. مثلاً سرویس وب نباید دسترسی Root یا Administrator داشته باشد.
۶. فازینگ داخلی سازمان
بهترین دفاع، حمله است. شرکتهای بزرگ تیمهای قرمز (Red Team) دارند که مداوم نرمافزارهای خودشان را Fuzzing میکنند تا قبل از هکرها، باگهای Zero-Day را پیدا کنند.

