کلیه حقوق مطالب متعلق به Vulnerlab است. بازنشر با ذکر منبع مجاز است.

فازینگ - Fuzzing - بازنویسی باینری - Binary Rewriting - والنرلب - E9AFL

فازینگ مقیاس‌پذیر فایل‌های باینری برنامه‌ها با استفاده از E9AFL

چکیده – فازینگ جعبه خاکستری (Greybox Fuzzing) روشی مؤثر برای آزمون نرم‌افزار محسوب می‌شود. فازرهای جعبه خاکستری مانند AFL، از ابزارگذاری (Instrumentation) استفاده می‌کنند که اطلاعات مربوط به پوشش مسیر (Path Coverage) را جمع‌آوری کرده و از این اطلاعات برای هدایت فرایند فازینگ بهره می‌گیرند. این ابزارگذاری معمولاً توسط یک زنجیره ابزار کامپایلر اصلاح ‌شده (Modified Compiler Toolchain) در برنامه قرار داده می‌شود؛ بنابراین، برنامه برای سازگاری با فازینگ جعبه

مطالعه مقاله
والنرلب - Vulnerlab - فازینگ جعبه‌خاکستری هدایت ‌شده مبتنی بر پوشش - Coverage-Guided Greybox Fuzzing

حساس و همکارانه عمل کنید: تحلیلی از تأثیر معیارهای پوشش در فازینگ جعبه‌خاکستری

چکیده – فازینگ جعبه‌خاکستری هدایت ‌شده مبتنی بر پوشش (Coverage-Guided Greybox Fuzzing) به یکی از رایج‌ترین تکنیک‌های کشف باگ‌های (Bug) نرم‌افزاری تبدیل شده است. معیار پوشش (Coverage Metric) که نحوه انتخاب بذرهای (Seed) جدید توسط فازر را تعیین می‌کند، پارامتر اساسی فازینگ است و می‌تواند به ‌طور قابل‌توجهی بر نتایج تأثیر بگذارد. هرچند پژوهش‌های متعددی درباره اثربخشی معیارهای پوشش مختلف بر آزمون نرم‌افزار انجام شده، اما اطلاعات اندکی درباره تأثیر

مطالعه مقاله
Vulnerlab - والنرلب - فازینگ - فازر - Fuzzing - Fuzzer

نوآوری یافت نشد: بررسی سایه‌سازی ورودی در فازینگ از طریق راه‌اندازی مجدد فازر تطبیقی

چکیده – فازینگ جعبه‌ خاکستری (greybox fuzzing) از طریق اثربخشی بی‌سابقه در شناسایی خودکار خطاها، به بهبود امنیت نرم‌افزار کمک می‌کند. موفقیت این رویکرد ناشی از بازخورد پوشش (coverage feedback) استخراج‌ شده از سیستم تحت آزمون (Program Under Test – PUT) است که فازر را برای کاوش بخش‌های مختلف برنامه هدایت می‌کند. رایج‌ترین شیوه استفاده از این بازخورد، جستجوی نوآوری‌محور (novelty search)  است؛ در این روش، فازر تنها ورودی‌هایی را

مطالعه مقاله
والنرلب - vulnerlab- فازینگ - Fuzzing - فازرهای هدایت‌ شده با پوشش کد - coverage-guided fuzzers

چالش‌های حل نشده حوزه فازینگ: دام‌ها، نقاط کور و درس‌های آموخته ‌شده از دنیای واقعی

چکیده – فازینگ (Fuzzing) در سال‌های اخیر به یکی از مؤثرترین و پرکاربردترین روش‌های کشف خودکار آسیب‌پذیری‌های نرم‌افزاری تبدیل شده است. با این حال، علی‌رغم انتشار پژوهش‌های فراوان و توسعه مستمر ابزارها و تکنیک‌های جدید، به نظر می‌رسد پیشرفت عملی این حوزه متوقف یا کُند شده است.. بسیاری از فازرها (Fuzzers) مدعی بهبود کارایی از طریق به‌کارگیری روش‌ها و تکنیک‌های پیچیده هستند، اما میزان اثربخشی واقعی این نوآوری‌ها در سناریوهای

مطالعه مقاله
Fuzzing, binary testing, chunk-based formats, structural mutations - فازینگ، تست دودویی، فرمت‌های مبتنی بر چانک، جهش‌های ساختاری

WEIZZ: فازینگ خودکار جعبه‌ خاکستری برای قالب‌های باینری ساخت‌یافته

چکیده – فناوری‌های فازینگ (Fuzzing) در سال‌های اخیر با سرعت زیادی تکامل یافته‌اند و توانسته‌اند با عمق و سرعتی روزافزون، باگ‌های (Bug) برنامه‌ها را آشکار کنند. با این حال، برنامه‌هایی که با قالب‌های (Format) پیچیده کار می‌کنند، چالش‌برانگیزتر هستند؛ زیرا ورودی‌ها باید دارای ویژگی‌های خاصِ وابسته به قالب‌ باشند تا بتوانند از مرحله‌ی اولیه‌ی تجزیه (parsing) عبور کرده و به رفتارهای عمیق‌تر برنامه دست یابند. برخلاف رویکردهای پیشین که بر پایه‌ی

مطالعه مقاله
Protocol Fuzzing - فازینگ پروتکل

مروری بر فازینگ پروتکل

چکیده – پروتکل‌های ارتباطی زیربنای جهانِ به‌هم‌پیوستهٔ امروز را تشکیل می‌دهند، اما وجود آسیب‌پذیری در پیاده‌سازی آن‌ها تهدیدات امنیتی مهمی را به همراه دارد. تحولات اخیر نشان‌ دهندهٔ رشد چشمگیر پژوهش‌های مبتنی بر فازینگ (Fuzzing) برای کشف این آسیب‌پذیری‌ها در پیاده‌سازی پروتکل‌ها است. بااین‌حال، هنوز مرور نظام‌مندی از فازینگ پروتکل (Protocol Fuzzing) ارائه نشده است که بتواند به پرسش‌های اساسی، مانند چالش‌های منحصربه‌فرد این حوزه و شیوهٔ مواجههٔ پژوهش‌های موجود

مطالعه مقاله

SYZVEGAS: غلبه بر چالش‌های فازینگ کرنل با استفاده از یادگیری تقویتی

فازینگ شامل تعداد زیادی تصمیم‌گیری است که برای به حداکثر رساندن کارایی، به پارامترهای دقیق و از پیش‌تنظیم ‌شده نیاز دارند. این موضوع به‌ ویژه در فازینگ هستهٔ سیستم‌عامل اهمیت بیشتری دارد، زیرا (۱) هسته‌های سیستم‌ عامل بسیار بزرگ و پیچیده‌اند، (۲) رابط فراخوانی سیستمی (syscall) خاصی دارند که نیازمند مدیریت ویژه است (مثلاً کدگذاری وابستگی‌های صریح بین syscallها)، و (۳) رفتار ورودی‌ها (یعنی تست‌کیس‌ها) به دلیل ماهیت حالت‌مند هسته‌ها

مطالعه مقاله
DeepGo - فازینگ -جعبه خاکستری - پیش‌بینانه - هدایت ‌شده - Predictive Directed Greybox Fuzzing

DeepGo: فازینگ جعبه خاکستری پیش‌بینانه و هدایت ‌شده

فازینگ جعبه‌ خاکستری هدایت ‌شده (Directed Greybox Fuzzing یا DGF) رویکردی مؤثر است که با استفاده از نقاط هدف از پیش‌ تعریف‌ شده، برای تقویت آزمون نواحی آسیب‌پذیر کد طراحی شده است. روش‌های پیشرفته DGF با بازتعریف و بهینه‌سازی معیار برازندگی (fitness metric) تلاش می‌کنند به‌صورت دقیق و سریع به نقاط هدف برسند. با این حال، بهینه‌ سازی‌های معیار برازندگی عمدتاً بر الگوریتم‌های ابتکاری متکی هستند که معمولاً به اطلاعات

مطالعه مقاله
فازینگ آگاه به معنا - Semantic Aware Fuzzing - مدل‌های زبانی بزرگ - LLM

فازینگ آگاه به معنا: چارچوب تجربی برای جهش ورودی‌های هدایت ‌شده توسط مدل‌های زبانی بزرگ و مبتنی بر استدلال

آسیب ‌پذیری‌های امنیتی در دستگاه‌های اینترنت اشیاء (IoT یا Internet-of-Things)، پلتفرم‌های موبایل و سیستم‌های خودران (autonomous systems) همچنان بحرانی باقی مانده‌اند. فازرهای سنتی مبتنی بر جهش (mutation-based fuzzers) با وجود اینکه مسیرهای کد را به‌طور مؤثر کاوش می‌کنند عموماً تغییرات را در سطح بایت یا بیت انجام می‌دهند و از منطق معنایی غافل‌اند. ابزارهای مبتنی بر پوشش کد (Coverage-guided tools) مانند ++AFL برای اعمال محدودیت‌های ساختاری سطحی، به فرهنگ لغت‌ها (dictionaries)،

مطالعه مقاله
AFL - فازینگ - Fuzzing

فازر ++AFL

۱. مقدمه‌ای بر فازینگ (An Introduction to Fuzzing) فازینگ (Fuzzing) یکی از مؤثرترین روش‌های خودکار برای شناسایی باگ‌ها (Bug) و آسیب‌پذیری‌های نرم‌افزاری است که با تولید و ارسال ورودی‌های تصادفی، نیمه‌تصادفی یا ساخت‌یافته، رفتار برنامه را در شرایط غیرعادی مورد بررسی قرار می‌دهد. هدف اصلی این تکنیک، وادار کردن نرم‌افزار به پردازش داده‌های غیرمنتظره و تحلیل واکنش آن در برابر این ورودی‌ها است تا خطاهایی مانند کرش (Crash)، نشت حافظه

مطالعه مقاله
فازینگ - Fuzzing - بازنویسی باینری - Binary Rewriting - والنرلب - E9AFL

فازینگ مقیاس‌پذیر فایل‌های باینری برنامه‌ها با استفاده از E9AFL

چکیده – فازینگ جعبه خاکستری (Greybox Fuzzing) روشی مؤثر برای آزمون نرم‌افزار محسوب می‌شود. فازرهای جعبه خاکستری مانند AFL، از ابزارگذاری (Instrumentation) استفاده می‌کنند که اطلاعات مربوط به پوشش مسیر (Path Coverage) را جمع‌آوری کرده و از این اطلاعات برای هدایت فرایند فازینگ بهره می‌گیرند. این ابزارگذاری معمولاً توسط یک زنجیره ابزار کامپایلر اصلاح ‌شده (Modified Compiler Toolchain) در برنامه قرار داده می‌شود؛ بنابراین، برنامه برای سازگاری با فازینگ جعبه

مطالعه مقاله
والنرلب - Vulnerlab - فازینگ جعبه‌خاکستری هدایت ‌شده مبتنی بر پوشش - Coverage-Guided Greybox Fuzzing

حساس و همکارانه عمل کنید: تحلیلی از تأثیر معیارهای پوشش در فازینگ جعبه‌خاکستری

چکیده – فازینگ جعبه‌خاکستری هدایت ‌شده مبتنی بر پوشش (Coverage-Guided Greybox Fuzzing) به یکی از رایج‌ترین تکنیک‌های کشف باگ‌های (Bug) نرم‌افزاری تبدیل شده است. معیار پوشش (Coverage Metric) که نحوه انتخاب بذرهای (Seed) جدید توسط فازر را تعیین می‌کند، پارامتر اساسی فازینگ است و می‌تواند به ‌طور قابل‌توجهی بر نتایج تأثیر بگذارد. هرچند پژوهش‌های متعددی درباره اثربخشی معیارهای پوشش مختلف بر آزمون نرم‌افزار انجام شده، اما اطلاعات اندکی درباره تأثیر

مطالعه مقاله
Vulnerlab - والنرلب - فازینگ - فازر - Fuzzing - Fuzzer

نوآوری یافت نشد: بررسی سایه‌سازی ورودی در فازینگ از طریق راه‌اندازی مجدد فازر تطبیقی

چکیده – فازینگ جعبه‌ خاکستری (greybox fuzzing) از طریق اثربخشی بی‌سابقه در شناسایی خودکار خطاها، به بهبود امنیت نرم‌افزار کمک می‌کند. موفقیت این رویکرد ناشی از بازخورد پوشش (coverage feedback) استخراج‌ شده از سیستم تحت آزمون (Program Under Test – PUT) است که فازر را برای کاوش بخش‌های مختلف برنامه هدایت می‌کند. رایج‌ترین شیوه استفاده از این بازخورد، جستجوی نوآوری‌محور (novelty search)  است؛ در این روش، فازر تنها ورودی‌هایی را

مطالعه مقاله
والنرلب - vulnerlab- فازینگ - Fuzzing - فازرهای هدایت‌ شده با پوشش کد - coverage-guided fuzzers

چالش‌های حل نشده حوزه فازینگ: دام‌ها، نقاط کور و درس‌های آموخته ‌شده از دنیای واقعی

چکیده – فازینگ (Fuzzing) در سال‌های اخیر به یکی از مؤثرترین و پرکاربردترین روش‌های کشف خودکار آسیب‌پذیری‌های نرم‌افزاری تبدیل شده است. با این حال، علی‌رغم انتشار پژوهش‌های فراوان و توسعه مستمر ابزارها و تکنیک‌های جدید، به نظر می‌رسد پیشرفت عملی این حوزه متوقف یا کُند شده است.. بسیاری از فازرها (Fuzzers) مدعی بهبود کارایی از طریق به‌کارگیری روش‌ها و تکنیک‌های پیچیده هستند، اما میزان اثربخشی واقعی این نوآوری‌ها در سناریوهای

مطالعه مقاله
Fuzzing, binary testing, chunk-based formats, structural mutations - فازینگ، تست دودویی، فرمت‌های مبتنی بر چانک، جهش‌های ساختاری

WEIZZ: فازینگ خودکار جعبه‌ خاکستری برای قالب‌های باینری ساخت‌یافته

چکیده – فناوری‌های فازینگ (Fuzzing) در سال‌های اخیر با سرعت زیادی تکامل یافته‌اند و توانسته‌اند با عمق و سرعتی روزافزون، باگ‌های (Bug) برنامه‌ها را آشکار کنند. با این حال، برنامه‌هایی که با قالب‌های (Format) پیچیده کار می‌کنند، چالش‌برانگیزتر هستند؛ زیرا ورودی‌ها باید دارای ویژگی‌های خاصِ وابسته به قالب‌ باشند تا بتوانند از مرحله‌ی اولیه‌ی تجزیه (parsing) عبور کرده و به رفتارهای عمیق‌تر برنامه دست یابند. برخلاف رویکردهای پیشین که بر پایه‌ی

مطالعه مقاله
Protocol Fuzzing - فازینگ پروتکل

مروری بر فازینگ پروتکل

چکیده – پروتکل‌های ارتباطی زیربنای جهانِ به‌هم‌پیوستهٔ امروز را تشکیل می‌دهند، اما وجود آسیب‌پذیری در پیاده‌سازی آن‌ها تهدیدات امنیتی مهمی را به همراه دارد. تحولات اخیر نشان‌ دهندهٔ رشد چشمگیر پژوهش‌های مبتنی بر فازینگ (Fuzzing) برای کشف این آسیب‌پذیری‌ها در پیاده‌سازی پروتکل‌ها است. بااین‌حال، هنوز مرور نظام‌مندی از فازینگ پروتکل (Protocol Fuzzing) ارائه نشده است که بتواند به پرسش‌های اساسی، مانند چالش‌های منحصربه‌فرد این حوزه و شیوهٔ مواجههٔ پژوهش‌های موجود

مطالعه مقاله

SYZVEGAS: غلبه بر چالش‌های فازینگ کرنل با استفاده از یادگیری تقویتی

فازینگ شامل تعداد زیادی تصمیم‌گیری است که برای به حداکثر رساندن کارایی، به پارامترهای دقیق و از پیش‌تنظیم ‌شده نیاز دارند. این موضوع به‌ ویژه در فازینگ هستهٔ سیستم‌عامل اهمیت بیشتری دارد، زیرا (۱) هسته‌های سیستم‌ عامل بسیار بزرگ و پیچیده‌اند، (۲) رابط فراخوانی سیستمی (syscall) خاصی دارند که نیازمند مدیریت ویژه است (مثلاً کدگذاری وابستگی‌های صریح بین syscallها)، و (۳) رفتار ورودی‌ها (یعنی تست‌کیس‌ها) به دلیل ماهیت حالت‌مند هسته‌ها

مطالعه مقاله
DeepGo - فازینگ -جعبه خاکستری - پیش‌بینانه - هدایت ‌شده - Predictive Directed Greybox Fuzzing

DeepGo: فازینگ جعبه خاکستری پیش‌بینانه و هدایت ‌شده

فازینگ جعبه‌ خاکستری هدایت ‌شده (Directed Greybox Fuzzing یا DGF) رویکردی مؤثر است که با استفاده از نقاط هدف از پیش‌ تعریف‌ شده، برای تقویت آزمون نواحی آسیب‌پذیر کد طراحی شده است. روش‌های پیشرفته DGF با بازتعریف و بهینه‌سازی معیار برازندگی (fitness metric) تلاش می‌کنند به‌صورت دقیق و سریع به نقاط هدف برسند. با این حال، بهینه‌ سازی‌های معیار برازندگی عمدتاً بر الگوریتم‌های ابتکاری متکی هستند که معمولاً به اطلاعات

مطالعه مقاله
فازینگ آگاه به معنا - Semantic Aware Fuzzing - مدل‌های زبانی بزرگ - LLM

فازینگ آگاه به معنا: چارچوب تجربی برای جهش ورودی‌های هدایت ‌شده توسط مدل‌های زبانی بزرگ و مبتنی بر استدلال

آسیب ‌پذیری‌های امنیتی در دستگاه‌های اینترنت اشیاء (IoT یا Internet-of-Things)، پلتفرم‌های موبایل و سیستم‌های خودران (autonomous systems) همچنان بحرانی باقی مانده‌اند. فازرهای سنتی مبتنی بر جهش (mutation-based fuzzers) با وجود اینکه مسیرهای کد را به‌طور مؤثر کاوش می‌کنند عموماً تغییرات را در سطح بایت یا بیت انجام می‌دهند و از منطق معنایی غافل‌اند. ابزارهای مبتنی بر پوشش کد (Coverage-guided tools) مانند ++AFL برای اعمال محدودیت‌های ساختاری سطحی، به فرهنگ لغت‌ها (dictionaries)،

مطالعه مقاله
AFL - فازینگ - Fuzzing

فازر ++AFL

۱. مقدمه‌ای بر فازینگ (An Introduction to Fuzzing) فازینگ (Fuzzing) یکی از مؤثرترین روش‌های خودکار برای شناسایی باگ‌ها (Bug) و آسیب‌پذیری‌های نرم‌افزاری است که با تولید و ارسال ورودی‌های تصادفی، نیمه‌تصادفی یا ساخت‌یافته، رفتار برنامه را در شرایط غیرعادی مورد بررسی قرار می‌دهد. هدف اصلی این تکنیک، وادار کردن نرم‌افزار به پردازش داده‌های غیرمنتظره و تحلیل واکنش آن در برابر این ورودی‌ها است تا خطاهایی مانند کرش (Crash)، نشت حافظه

مطالعه مقاله
wpChatIcon
wpChatIcon