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

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

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

مطالعه مقاله
افزودن خودکار آسیب‌پذیری در مقیاس بزرگ - LAVA - آسیب‌پذیری‌ - Vulnerability - فازینگ - Fuzzing

LAVA: افزودن خودکار آسیب‌پذیری در مقیاس بزرگ

پژوهش‌های مرتبط با خودکارسازی کشف آسیب‌پذیری‌ها (Vulnerability)، از دیرباز به دلیل کمبود مجموعه‌داده‌های مرجع معتبر (Ground Truth – منظور اطلاعاتی است که درستی آن از قبل مشخص و قابل اعتماد است و نتایج یک ابزار را با آن مقایسه می‌کنیم) برای ارزیابی ابزارها و روش‌ها با محدودیت مواجه بوده‌اند. فقدان چنین داده‌هایی موجب می‌شود که نه توسعه‌دهندگان ابزارها و نه کاربران آن‌ها نتوانند معیارهای بنیادینی همچون نرخ عدم کشف (Miss Rate

مطالعه مقاله
والنرلب - 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 - والنرلب - SoK - فازینگ - فازر - Fuzzing - bug - آسیب‌ پذیری‌ - باگ‌ - پوشش کد - Code Coverage

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

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

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

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

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

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

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

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

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

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

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

مطالعه مقاله
افزودن خودکار آسیب‌پذیری در مقیاس بزرگ - LAVA - آسیب‌پذیری‌ - Vulnerability - فازینگ - Fuzzing

LAVA: افزودن خودکار آسیب‌پذیری در مقیاس بزرگ

پژوهش‌های مرتبط با خودکارسازی کشف آسیب‌پذیری‌ها (Vulnerability)، از دیرباز به دلیل کمبود مجموعه‌داده‌های مرجع معتبر (Ground Truth – منظور اطلاعاتی است که درستی آن از قبل مشخص و قابل اعتماد است و نتایج یک ابزار را با آن مقایسه می‌کنیم) برای ارزیابی ابزارها و روش‌ها با محدودیت مواجه بوده‌اند. فقدان چنین داده‌هایی موجب می‌شود که نه توسعه‌دهندگان ابزارها و نه کاربران آن‌ها نتوانند معیارهای بنیادینی همچون نرخ عدم کشف (Miss Rate

مطالعه مقاله
والنرلب - 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 - والنرلب - SoK - فازینگ - فازر - Fuzzing - bug - آسیب‌ پذیری‌ - باگ‌ - پوشش کد - Code Coverage

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

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

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

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

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

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

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

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

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