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





جدیدترین آزمایشگاه





آخرین مسابقات


آخرین مقالات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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