کتاب From Day Zero to Zero Day: A Hands-On Guide to Vulnerability Research (از روز صفر تا آسیبپذیری صفر-روز: راهنمای عملی برای پژوهش آسیبپذیریها) به علاقهمندان به امنیت سایبری، به ویژه آنهایی که مایل به ورود به حوزه تحقیقات آسیبپذیریهای روز صفر هستند، آموزش میدهد.
کتاب From Day Zero to Zero Day با رویکردی عملی و گامبهگام، سه تکنیک اصلی بررسی کد، مهندسی معکوس و فیوزینگ را پوشش میدهد و خوانندگان را از سطح مبتدی تا توانایی کشف و گزارشدهی آسیبپذیریهای جدید هدایت میکند. علاوه بر آموزش تکنیکها، کتاب بر درک فرایند تفکر و استراتژیهای لازم برای شناسایی نقاط ضعف در نرمافزارها تاکید دارد و با مثالهای واقعی خوانندگان را در مسیری روشمند و قابل یادگیری قرار میدهد.
در ادامه مقدمهای از کتاب From Day Zero to Zero Day را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب From Day Zero to Zero Day:
روز صفر (Zero Day): این اصطلاح در محافل امنیت اطلاعات، حس فوریت، ترس و بله، حتی هیجان را برمیانگیزد. به آنها روز صفر میگویند زیرا هیچ کس بهجز محققانی که آنها را کشف کردهاند، از وجودشان آگاهی ندارد و هنوز ساعتی برای وصله کردن آسیبپذیری شناختهشده، شروع نشده است. بنابراین، کاشفان روز صفر میتوانند آزادانه از آنها سوء استفاده کنند. روز صفرها که نادر، خطرناک و اغلب اغراقآمیز هستند، تخیل علاقهمندان به امنیت را به خود جلب میکنند، که تحقیقات روز صفر را یکی از اوجهای امنیت تهاجمی میدانند.
در اوایل کارم بهعنوان یک هکر مبتدی که در تستهای امنیتی موفقیتهای جزئی کسب کرده بودم، شکار روز صفر برای من مانند یک هنر مرموز به نظر میرسید که فقط برای باهوشترین و باتجربهترین هکرها محفوظ است. من پستهای وبلاگی را خواندم و به سخنرانیهای کنفرانسها درباره کشفیات و سوءاستفادههای باورنکردنی روز صفر گوش دادم، اما مانند تماشاگران یک نمایش جادو، فقط میتوانستم تحت تأثیر نتیجه نهایی قرار بگیرم بدون اینکه روش یا ترفند پشت آن را درک کنم.
چگونه محقق میدانست که به این بخش خاص از کد نگاه کند؟ چرا آنها این سوءاستفاده را به جای دیگری امتحان کردند؟ پاسخ به این سؤالات اغلب بهعنوان یک تمرین برای بیننده یا خواننده باقی میماند، اما علیرغم ورود من به رشتههای دیگر مانند تیم قرمز (Red Teaming) و تست نفوذ وب، تجربیات من روشنایی زیادی به این موضوع نداد. احساس میکردم فاصله زیادی بین جایی که هستم و جایی که باید باشم وجود دارد: نه کاملاً مبتدی، اما فاصله زیادی تا استاد شدن.
با این حال، با فرصتهای مناسب برای تمرین مهارتهای بینرشتهای مانند مهندسی معکوس بدافزار و زمان و فضایی برای تمرکز بر تحقیقات عمیق امنیتی، شروع به کشف کردم که شکار روز صفر به اندازهای که فکر میکردم مرموز نیست.
مانند یک ترفند جادویی، فرآیند پشت آن در واقع سیستماتیک و از همه مهمتر، قابل یادگیری بود. با وجود تنوع گسترده اهداف و تکنیکها، ابزارها و رویکردهای مشترک زیادی وجود دارد که محققان میتوانند برای کشف مؤثر آسیبپذیریهای جدید از آنها استفاده کنند. هدف کتاب From Day Zero to Zero Day این است که شما را از روز صفر بهعنوان یک محقق مبتدی تا کشف اولین روز صفر خود و فراتر از آن، راهنمایی کند.
چه کسانی باید کتاب From Day Zero to Zero Day را بخوانند و چرا؟
من این کتاب را برای افرادی که در برابر این چالش قرار دارند و برای کسانی که علیرغم درک خوبی از اصول اولیه امنیت تهاجمی، دچار سندرم خودزنی (Imposter Syndrome) در هنگام در نظر گرفتن تحقیقات روز صفر میشوند، نوشتم. شما ممکن است تازه کار باشید، چند جعبه را برای تمرین باز میکنید یا پرچمها را در مسابقات میگیرید.
ممکن است کتاب هک وب مانند “شکار باگ در دنیای واقعی” اثر پیتر یاورسکی (No Starch Press، 2019) یا مقدمه کلیتر مانند “هک اخلاقی” اثر دانیل جی. گراهام (No Starch Press، 2021) را خوانده باشید. شاید شما تجربه کار بهعنوان یک تست کننده نفوذ یا عضو تیم قرمز را داشته باشید، اما هنوز هم هنگام شروع تحقیقات امنیتی احساس گمگشتگی میکنید.
در حالی که برخی از پستهای وبلاگی و سایر مطالب آنلاین سعی در آموزش این موضوع دارند، نمیتوانند به اندازه یک کتاب کامل در مورد طیف وسیعی از مهارتهای فنی مورد نیاز، به عمق بپردازند. یا ممکن است خیلی عمیق به یک موضوع خاص بپردازند، بدون اینکه استراتژی کلی و فرآیند تفکری لازم برای نزدیک شدن به تحقیقات امنیتی را توضیح دهند.
این کتاب همان کتابی است که آرزو میکردم وقتی تازه کارم را شروع کردم، در دسترس داشتم. کتاب From Day Zero to Zero Day هم نمای کلی و هم جزئیات دقیق را ارائه میدهد، بدون اینکه دانش قبلی زیادی را فرض کند. تا زمانی که آن را تمام کنید، باید بتوانید پروژه تحقیقات امنیتی مستقل خود را آغاز کنید.
موضوع کتاب From Day Zero to Zero Day چیست؟
این کتاب سه تکنیک گسترده در تحقیقات روز صفر را پوشش میدهد: بررسی کد، مهندسی معکوس و فیوزینگ (Fuzzing). با این حال، کتاب From Day Zero to Zero Day فقط نحوه استفاده از این تکنیکها را آموزش نمیدهد، بلکه به چرایی آن نیز میپردازد. بهترین روش برای استقرار آنها و برای کدام اهداف را شرح میدهد.
من فرآیند تجزیه و تحلیل یک هدف را برای شناسایی نقاط ضعف احتمالی توضیح میدهم و با مثالهای دنیای واقعی آن را نشان میدهم. برای مثال، هنگام توضیح تجزیه و تحلیل آلودگی (Taint Analysis) در بررسی کد، از یک آسیبپذیری فاششده در نرمافزار واقعی استفاده میکنم و آن را از ابتدا مجدداً کشف میکنم.
در حالی که پوشش کامل هر سه تکنیک غیرممکن است – انجام این کار برای هر یک از آنها نیازمند کتابی (یا چند کتاب) است – من زیرمجموعههایی را در هر حوزه با جزئیات کافی معرفی میکنم تا بتوانید تصمیمات آگاهانه خود را در مورد اینکه کدام ابزار یا تکنیک را برای مشکل مورد نظر استفاده کنید، بگیرید.
برای مثال، ابزارهای فیوزینگ شامل نه تنها فیوزرهای تصادفی سنتی، بلکه فیوزرهای هدایتشده توسط پوشش (Coverage-Guided Fuzzers) هستند که از ابزارهای زمان کامپایل یا زمان اجرا استفاده میکنند. با یادگیری و استفاده از این مفاهیم، شما برای کاوش بیشتر به تنهایی به خوبی مجهز خواهید شد.
اگرچه گروهبندی فصلها در بخشها به شما امکان میدهد بر اساس تکنیکی که میخواهید روی آن تمرکز کنید، در آن حرکت کنید، اما توصیه میکنم فصلهای کتاب From Day Zero to Zero Day را به ترتیب درک خود از هدف بخوانید.
ممکن است وسوسه شوید که مستقیماً به “فیوزینگ هر چیز” (فصل 9) بروید، اما بدون درک عمیقتر از جریانهای داده و تجزیه و تحلیل آلودگی از بخش اول که بر بررسی کد منبع تمرکز دارد، ممکن است زمان زیادی را صرف فیوزینگ قسمت اشتباه یک هدف کنید. با این حال، اگر در یک موضوع خاص مهارت دارید، میتوانید از آن عبور کنید. خلاصهای کوتاه از فصلهای کتاب From Day Zero to Zero Day در ادامه آمده است.
فصل 0: روز صفر، مفاهیم کلیدی تحقیق در مورد آسیبپذیریهای روز صفر را معرفی میکند و آن را از سایر رشتههای امنیت تهاجمی متمایز میکند. شما همچنین یاد میگیرید که چگونه اهداف بالقوه تحقیقاتی را شناسایی کنید.
بخش اول کتاب From Day Zero to Zero Day، شما را در درک و تجزیه و تحلیل کد منبع اهداف تحقیقاتی خود راهنمایی میکند. در حالی که ممکن است هر هدفی کد منبع در دسترس نداشته باشد، تکنیکهایی که در اینجا یاد میگیرید بر اصول اولیه کشف آسیبپذیری تمرکز دارند که شما همچنان در مهندسی معکوس و فیوزینگ از آنها استفاده خواهید کرد. علاوه بر این، یاد خواهید گرفت که چگونه از تجزیه و تحلیل دستی به تجزیه و تحلیل خودکار بپردازید تا پوشش خود را افزایش دهید.
فصل 1: تجزیه و تحلیل آلودگی، فرآیند تجزیه و تحلیل دستی منبع و مقصد را از طریق مثالهای دنیای واقعی طی میکند. این فصل از کتاب From Day Zero to Zero Day، استراتژی مقصد به منبع را بهعنوان یک رویکرد بهینه توضیح میدهد.
فصل 2 کتاب From Day Zero to Zero Day: نگاشت کد به سطح حمله، به شما آموزش میدهد که چگونه کدی را که میخوانید به هدف واقعی، و بالعکس، نگاشت کنید. این فصل از کتاب From Day Zero to Zero Day، انواع مختلف بردارهای حمله را شناسایی میکند و نشان میدهد که چگونه آنها را در کد منبع شناسایی کنید.
فصل 3: تجزیه و تحلیل خودکار انواع، نشان میدهد که چگونه میتوانید از ابزارهایی مانند CodeQL و Semgrep برای خودکارسازی تجزیه و تحلیل کد منبع استفاده کنید. این فصل همچنین توضیح میدهد که چگونه میتوانید تحقیقات خود را در چندین هدف به طور همزمان گسترش دهید.
فصلهای مهندسی معکوس در بخش دوم بر استخراج اطلاعات از اهداف تمرکز دارند که به شما امکان میدهد نحوه جریان ورودی از طریق آنها و رسیدن به کدهای قابل بهرهبرداری را درک کنید. همانطور که در بخش اول است، قبل از حرکت به سمت خودکارسازی کارآمدتر، با تکنیکهای دستی شروع میکنید.
فصل 4 کتاب From Day Zero to Zero Day: طبقهبندی باینری، چندین دسته از باینریهای معمولی و نحوه مهندسی معکوس آنها را پوشش میدهد. ما نحوه اولویتبندی سریع باینریها و استفاده از ابزارهای مناسب مهندسی معکوس را بررسی خواهیم کرد.
فصل 5 کتاب From Day Zero to Zero Day: کشف منبع و مقصد، نحوه یافتن مناطق مورد علاقه در باینریها برای تجزیه و تحلیل بیشتر با استفاده از روشهای ایستا و پویا را توضیح میدهد.
فصل 6: تجزیه و تحلیل ترکیبی در مهندسی معکوس، به رویکردهای پیشرفتهتر مهندسی معکوس مانند شبیهسازی، پوشش کد و تجزیه و تحلیل نمادین میپردازد. مثالها، تجزیه و تحلیل ایستا و پویا را برای محدود کردن جستجوی خود ترکیب میکنند.
سرانجام، بخش سوم هنر بسیار خودکار و مقیاسپذیر فیوزینگ را پوشش میدهد. با یادگیری تجزیه و تحلیل منبع و مقصد در بررسی کد و مهندسی معکوس، اکنون میتوانید درک کنید که چگونه فیوزینگ فرآیندها را کوتاه میکند و چگونه میتوانید فیوزینگ خود را با اصول و تکنیکهای فصلهای قبلی بهبود ببخشید.
فصل 7: فیوزینگ سریع و کثیف، اصول اولیه فیوزینگ فایلها و پروتکلها و نحوه بوت استرپ سریع فیوزینگ با قالبها را بررسی میکند.
فصل 8 کتاب From Day Zero to Zero Day: فیوزینگ هدایتشده توسط پوشش، فرآیند فیوزینگ هدایتشده توسط پوشش با AFL++، از جمله نوشتن یک هارنس (Harness) و تجزیه و تحلیل عملکرد فیوزینگ را تشریح میکند.
فصل 9: فیوزینگ هر چیز، اهداف و رویکردهای بیشتر فیوزینگ را برای رسیدگی به قالبها و باینریهای پیچیده مورد بحث قرار میدهد.
فصل 10: فراتر از روز صفر، فرآیند افشای هماهنگ آسیبپذیری، نوشتن گزارش آسیبپذیری خوب و نحوه استفاده از تحقیقات آسیبپذیری برای بهبود امنیت سازمانها را شرح میدهد.
سرفصلهای کتاب From Day Zero to Zero Day:
- Cover Page
- Title Page
- Copyright Page
- About the Author
- About the Technical Reviewer
- BRIEF CONTENTS
- CONTENTS IN DETAIL
- FOREWORD BY JACOB SOO
- FOREWORD BY SHUBHAM SHAH, AKA “SHUBS”
- INTRODUCTION
- 0 DAY ZERO
- PART I CODE REVIEW
- 1 TAINT ANALYSIS
- 2 MAPPING CODE TO ATTACK SURFACE
- 3 AUTOMATED VARIANT ANALYSIS
- PART II REVERSE ENGINEERING
- 4 BINARY TAXONOMY
- 5 SOURCE AND SINK DISCOVERY
- 6 HYBRID ANALYSIS IN REVERSE ENGINEERING
- PART III FUZZING
- 7 QUICK AND DIRTY FUZZING
- 8 COVERAGE-GUIDED FUZZING
- 9 FUZZING EVERYTHING
- 10 BEYOND DAY ZERO
- INDEX
جهت دانلود کتاب From Day Zero to Zero Day میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.