دسته‌بندی

مجموعه مقالات و مطالب تخصصی در خصوص تحلیل و بررسی فایل‌های باینری برای شناسایی آسیب‌پذیری‌ها و ضعف‌های امنیتی.

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

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

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

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

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

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

مطالعه مقاله
آسیب‌ پذیری‌ - IoT - میان‌افزار - امنیت میان‌افزار - اینترنت اشیاء - امنیت اینترنت اشیاء - میان‌افزار اینترنت اشیاء - تحلیل میان‌افزار - مهندسی معکوس میان‌افزار - Firmware Reverse Engineering - Firmware Security

رده‌بندی امنیت میان‌افزار اینترنت اشیاء و مهم‌ترین تکنیک‌های تحلیل میان‌افزار

اینترنت اشیاء (Internet of Things – IoT) از زمان پیدایش خود یک مسیر طولانی‌ را پیموده است. بااین‌حال، فرایند استانداردسازی سامانه‌های اینترنت اشیاء برای دستیابی به راهکارهای امن اینترنت اشیاء همچنان در مراحل ابتدایی خود قرار دارد. پژوهشگران تاکنون مقالات مروری ارزشمند متعددی درباره چارچوب‌ها (Frameworks)، معماری‌ها (Architectures) و همچنین تهدیدهای موجود در لایه‌های مختلف اینترنت اشیاء ارائه کرده‌اند. بااین‌وجود، بخش عمده‌ای از پژوهش‌های موجود، جنبه‌های امنیتی میان‌افزار (Firmware) در

مطالعه مقاله
فازینگ - پهپاد - DroneID - DJI والنرلب - fuzzing - vulnerlab

امنیت پهپادها و پرونده اسرارآمیز DroneID شرکت DJI

پهپادهای مصرفی که امکان تصویربرداری هوایی حرفه‌ای را فراهم می‌کنند، نویدبخش تحول در صنعت لجستیک هستند و هم‌اکنون نیز در عملیات امداد انسانی و حتی در درگیری‌های مسلحانه مورد استفاده قرار می‌گیرند. با وجود پذیرش گسترده و محبوبیت بالای آنها، ورود آسان به حوزه جابه‌جایی هوایی (که به‌ طور سنتی به‌ شدت تحت مقررات سخت‌گیرانه قرار دارد) خطرات و تهدیدات متعددی برای ایمنی، امنیت و حریم خصوصی ایجاد می‌کند. به

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

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

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

مطالعه مقاله
Vulnerlab - والنرلب - SoK - فازینگ - فازر - Fuzzing - bug - آسیب‌ پذیری‌ - باگ‌ - پوشش کد - Code Coverage

SoK: مطالعه نظام‌مند یکپارچه‌سازی و بازتولید دستاوردهای پژوهشی فازینگ در ++AFL

فازینگ (Fuzzing) به یکی از مؤثرترین تکنیک‌های خودکار برای کشف آسیب‌پذیری‌ها و باگ‌های (bug) نرم‌افزاری تبدیل شده است. با وجود سال‌ها پژوهش که جنبه‌های مختلف این حوزه را هدف قرار داده‌اند، ارزیابی میزان پیشرفت واقعی فازینگ در گذر زمان همچنان چالش‌برانگیز است. در این مقاله، ما یک تحلیل تجربی در مقیاس وسیع از روند پیشرفت فازینگ ارائه می‌دهیم که بر پایه ++AFL انجام شده است؛ پیشرفته‌ترین فازری که به‌ صورت

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

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

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

مطالعه مقاله
فازینگ -فازینگ جعبه ‌سفید - Fuzzing- Whitebox Fuzzing- والنرلب - vulnerlab

فازینگ جعبه ‌سفید مبتنی بر مدل برای باینری‌های برنامه

بسیاری از برنامه‌های دنیای واقعی، فایل‌های بسیار ساختاریافته (highly structured) و پیچیده را به عنوان ورودی دریافت می‌کنند. آزمون خودکار چنین برنامه‌هایی، مسئله‌ای پیچیده و غیر بدیهی است. چنانچه ورودی آزمون با قالب فایل مشخص مطابقت نداشته باشد، برنامه یک خطای تجزیه‌گر (parser error) بازمی‌گرداند. در فازینگ جعبه ‌سفید مبتنی بر اجرای نمادین (symbolic execution-based whitebox fuzzing)، کدهای مربوط به مدیریت این خطاها می‌توانند به یک عامل اتلاف زمان قابل‌توجه

مطالعه مقاله
والنرلب - vulnerlab - فازینگ باینری کارآمد -دسترسی به کد منبع - ابزارگذاری ایستا -Performant Binary Fuzzing Static Instrumentation- Source Code

فازینگ باینری کارآمد بدون دسترسی به کد منبع با استفاده از ابزارگذاری ایستا

پیشرفت‌های حوزه آزمون فاز (fuzz testing) باعث شده است که بتوان به‌ صورت ‌ سریع و جامع، خطاهای بحرانی از نظر امنیتی را در سیستم‌های نرم‌افزاری شناسایی کرد. با این حال، برخی از این تکنیک‌ها به دسترسی به کد منبع (source-code) متکی هستند که غالبا بصورت عملی ممکن نیست. ما در این مقاله، به بررسی روش‌هایی می‌پردازیم که بتوانند عمق و کارایی فازرهایی که به کد منبع دسترسی دارند را،

مطالعه مقاله
REDQUEEN - فازینگ - تناظر ورودی با وضعیت - Fuzzing with Input-to-State Correspondence

REDQUEEN: فازینگ با استفاده از تناظر ورودی با وضعیت

آزمون خودکار نرم‌افزار مبتنی بر فازینگ (Fuzzing) در سال‌های اخیر با یک بازگشت و احیای جدی مواجه شده است. به‌ ویژه فازینگ مبتنی بر بازخورد (feedback-driven fuzzing) که به دلیل توانایی آن در انجام کارآمد آزمون‌های تصادفی (randomized testing) با مجموعه‌های ورودی محدود، به رویکردی شناخته‌ شده تبدیل شده است. با وجود پیشرفت‌های فراوان، دو مشکل رایج همچنان وجود دارد: اعداد جادویی (magic numbers) و جمع‌آزماهای تو‌در‌تو (nested checksums). برای

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

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

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

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

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

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

مطالعه مقاله
آسیب‌ پذیری‌ - IoT - میان‌افزار - امنیت میان‌افزار - اینترنت اشیاء - امنیت اینترنت اشیاء - میان‌افزار اینترنت اشیاء - تحلیل میان‌افزار - مهندسی معکوس میان‌افزار - Firmware Reverse Engineering - Firmware Security

رده‌بندی امنیت میان‌افزار اینترنت اشیاء و مهم‌ترین تکنیک‌های تحلیل میان‌افزار

اینترنت اشیاء (Internet of Things – IoT) از زمان پیدایش خود یک مسیر طولانی‌ را پیموده است. بااین‌حال، فرایند استانداردسازی سامانه‌های اینترنت اشیاء برای دستیابی به راهکارهای امن اینترنت اشیاء همچنان در مراحل ابتدایی خود قرار دارد. پژوهشگران تاکنون مقالات مروری ارزشمند متعددی درباره چارچوب‌ها (Frameworks)، معماری‌ها (Architectures) و همچنین تهدیدهای موجود در لایه‌های مختلف اینترنت اشیاء ارائه کرده‌اند. بااین‌وجود، بخش عمده‌ای از پژوهش‌های موجود، جنبه‌های امنیتی میان‌افزار (Firmware) در

مطالعه مقاله
فازینگ - پهپاد - DroneID - DJI والنرلب - fuzzing - vulnerlab

امنیت پهپادها و پرونده اسرارآمیز DroneID شرکت DJI

پهپادهای مصرفی که امکان تصویربرداری هوایی حرفه‌ای را فراهم می‌کنند، نویدبخش تحول در صنعت لجستیک هستند و هم‌اکنون نیز در عملیات امداد انسانی و حتی در درگیری‌های مسلحانه مورد استفاده قرار می‌گیرند. با وجود پذیرش گسترده و محبوبیت بالای آنها، ورود آسان به حوزه جابه‌جایی هوایی (که به‌ طور سنتی به‌ شدت تحت مقررات سخت‌گیرانه قرار دارد) خطرات و تهدیدات متعددی برای ایمنی، امنیت و حریم خصوصی ایجاد می‌کند. به

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

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

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

مطالعه مقاله
Vulnerlab - والنرلب - SoK - فازینگ - فازر - Fuzzing - bug - آسیب‌ پذیری‌ - باگ‌ - پوشش کد - Code Coverage

SoK: مطالعه نظام‌مند یکپارچه‌سازی و بازتولید دستاوردهای پژوهشی فازینگ در ++AFL

فازینگ (Fuzzing) به یکی از مؤثرترین تکنیک‌های خودکار برای کشف آسیب‌پذیری‌ها و باگ‌های (bug) نرم‌افزاری تبدیل شده است. با وجود سال‌ها پژوهش که جنبه‌های مختلف این حوزه را هدف قرار داده‌اند، ارزیابی میزان پیشرفت واقعی فازینگ در گذر زمان همچنان چالش‌برانگیز است. در این مقاله، ما یک تحلیل تجربی در مقیاس وسیع از روند پیشرفت فازینگ ارائه می‌دهیم که بر پایه ++AFL انجام شده است؛ پیشرفته‌ترین فازری که به‌ صورت

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

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

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

مطالعه مقاله
فازینگ -فازینگ جعبه ‌سفید - Fuzzing- Whitebox Fuzzing- والنرلب - vulnerlab

فازینگ جعبه ‌سفید مبتنی بر مدل برای باینری‌های برنامه

بسیاری از برنامه‌های دنیای واقعی، فایل‌های بسیار ساختاریافته (highly structured) و پیچیده را به عنوان ورودی دریافت می‌کنند. آزمون خودکار چنین برنامه‌هایی، مسئله‌ای پیچیده و غیر بدیهی است. چنانچه ورودی آزمون با قالب فایل مشخص مطابقت نداشته باشد، برنامه یک خطای تجزیه‌گر (parser error) بازمی‌گرداند. در فازینگ جعبه ‌سفید مبتنی بر اجرای نمادین (symbolic execution-based whitebox fuzzing)، کدهای مربوط به مدیریت این خطاها می‌توانند به یک عامل اتلاف زمان قابل‌توجه

مطالعه مقاله
والنرلب - vulnerlab - فازینگ باینری کارآمد -دسترسی به کد منبع - ابزارگذاری ایستا -Performant Binary Fuzzing Static Instrumentation- Source Code

فازینگ باینری کارآمد بدون دسترسی به کد منبع با استفاده از ابزارگذاری ایستا

پیشرفت‌های حوزه آزمون فاز (fuzz testing) باعث شده است که بتوان به‌ صورت ‌ سریع و جامع، خطاهای بحرانی از نظر امنیتی را در سیستم‌های نرم‌افزاری شناسایی کرد. با این حال، برخی از این تکنیک‌ها به دسترسی به کد منبع (source-code) متکی هستند که غالبا بصورت عملی ممکن نیست. ما در این مقاله، به بررسی روش‌هایی می‌پردازیم که بتوانند عمق و کارایی فازرهایی که به کد منبع دسترسی دارند را،

مطالعه مقاله
REDQUEEN - فازینگ - تناظر ورودی با وضعیت - Fuzzing with Input-to-State Correspondence

REDQUEEN: فازینگ با استفاده از تناظر ورودی با وضعیت

آزمون خودکار نرم‌افزار مبتنی بر فازینگ (Fuzzing) در سال‌های اخیر با یک بازگشت و احیای جدی مواجه شده است. به‌ ویژه فازینگ مبتنی بر بازخورد (feedback-driven fuzzing) که به دلیل توانایی آن در انجام کارآمد آزمون‌های تصادفی (randomized testing) با مجموعه‌های ورودی محدود، به رویکردی شناخته‌ شده تبدیل شده است. با وجود پیشرفت‌های فراوان، دو مشکل رایج همچنان وجود دارد: اعداد جادویی (magic numbers) و جمع‌آزماهای تو‌در‌تو (nested checksums). برای

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