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

Fuzzing - فازینگ - Software Bugs - باگ‌های نرم‌افزاری - آسیب‌پذیری‌ - Vulnerabilities - تحلیل آلودگی - Taint Analysis

مروری بر وضعیت کنونی دانش و روش‌های پیشرفته فازینگ

چکیده – فازینگ (Fuzzing) به ‌عنوان یکی از پرکاربردترین تکنیک‌های آزمون نرم‌افزار، با تولید تعداد زیادی ورودی آزمون (Test Input) می‌تواند طیف متنوعی از نقاط ضعف موجود در یک برنامه، از جمله باگ‌های نرم‌افزاری (Software Bugs) و آسیب‌پذیری‌ها (Vulnerabilities) را شناسایی کند. به دلیل اثربخشی این روش، فازینگ به ‌عنوان روشی ارزشمند برای کشف و شکار باگ (Bug Hunting) شناخته می‌شود. در این مقاله، ضمن ارائه مروری بر فازینگ که

مطالعه مقاله
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) عبور کرده و به رفتارهای عمیق‌تر برنامه دست یابند. برخلاف رویکردهای پیشین که بر پایه‌ی

مطالعه مقاله

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

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

مطالعه مقاله
vulnerlab - والنرلب - BertRLFuzzer: یک فازر مبتنی بر BERT و یادگیری تقویتی (RL)

BertRLFuzzer: یک فازر مبتنی بر BERT و یادگیری تقویتی (RL)

چکیده – مقاله «BertRLFuzzer: A BERT and Reinforcement Learning Based Fuzzer» یک ابزار نوآورانه برای کشف آسیب ‌پذیری‌های امنیتی در برنامه‌های وب معرفی می‌کند که براساس ترکیب مدل زبانی BERT و یادگیری تقویتی (RL – Reinforcement Learning) طراحی شده است. عملکرد BertRLFuzzer به این صورت است که با دریافت فهرستی از بذرهای ورودی‌ اولیه (seed inputs)، عملیات جهش (mutation) را بر روی آن‌ها انجام می‌دهد به‌گونه‌ای که هم با دستور

مطالعه مقاله
Fuzzing - فازینگ - Software Bugs - باگ‌های نرم‌افزاری - آسیب‌پذیری‌ - Vulnerabilities - تحلیل آلودگی - Taint Analysis

مروری بر وضعیت کنونی دانش و روش‌های پیشرفته فازینگ

چکیده – فازینگ (Fuzzing) به ‌عنوان یکی از پرکاربردترین تکنیک‌های آزمون نرم‌افزار، با تولید تعداد زیادی ورودی آزمون (Test Input) می‌تواند طیف متنوعی از نقاط ضعف موجود در یک برنامه، از جمله باگ‌های نرم‌افزاری (Software Bugs) و آسیب‌پذیری‌ها (Vulnerabilities) را شناسایی کند. به دلیل اثربخشی این روش، فازینگ به ‌عنوان روشی ارزشمند برای کشف و شکار باگ (Bug Hunting) شناخته می‌شود. در این مقاله، ضمن ارائه مروری بر فازینگ که

مطالعه مقاله
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) عبور کرده و به رفتارهای عمیق‌تر برنامه دست یابند. برخلاف رویکردهای پیشین که بر پایه‌ی

مطالعه مقاله

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

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

مطالعه مقاله
vulnerlab - والنرلب - BertRLFuzzer: یک فازر مبتنی بر BERT و یادگیری تقویتی (RL)

BertRLFuzzer: یک فازر مبتنی بر BERT و یادگیری تقویتی (RL)

چکیده – مقاله «BertRLFuzzer: A BERT and Reinforcement Learning Based Fuzzer» یک ابزار نوآورانه برای کشف آسیب ‌پذیری‌های امنیتی در برنامه‌های وب معرفی می‌کند که براساس ترکیب مدل زبانی BERT و یادگیری تقویتی (RL – Reinforcement Learning) طراحی شده است. عملکرد BertRLFuzzer به این صورت است که با دریافت فهرستی از بذرهای ورودی‌ اولیه (seed inputs)، عملیات جهش (mutation) را بر روی آن‌ها انجام می‌دهد به‌گونه‌ای که هم با دستور

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