
خانه » AFL
آسیب پذیریهای تحلیل شده





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





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


آخرین مقالات

چکیده – WebAssembly، یک استاندارد باز برای کدهای باینری میباشد که به سرعت در وب و فراتر از آن در حال گسترش و پذیرش است. از آنجا که باینریها اغلب با زبانهای سطح پایینی مانند C و ++C نوشته میشوند، میتوانند مملو از همان باگهایی باشند که در نمونههای سنتیِ متناظر آنها نیز وجود دارد. با این حال، ابزارهای محدودی برای کشف این باگها در باینریهای WebAssembly وجود دارد. ما

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

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

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

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

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

چکیده – فازینگ (Fuzzing) مؤثرِ برنامههایی که ورودیهای باینریِ ساختیافته (Structured) مانند فایلهای چندرسانهای را پردازش میکنند، کاری چالشبرانگیز است؛ زیرا این برنامهها انتظار دارند ورودی دقیقاً مطابق یک قالب (Format) بسیار مشخص باشد. با این حال، فازرهای موجود عمدتاً مستقل از قالببندی (format-agnostic) هستند؛ این ویژگی اگرچه آنها را انعطافپذیر میکند، اما در سناریوهایی که رعایت یک قالب خاص ضروری است، کارایی آنها را کاهش میدهد. در اینجا، ابزار FormatFuzzer

چکیده – باینریهای WebAssembly اغلب از زبانهای ناایمن از نظر مدیریت حافظه مانند C و ++C کامپایل میشوند. به دلیل وجود مدل حافظهٔ خطی (Linear Memory) در WebAssembly و فقدان برخی مکانیزمهای حفاظتی (مانند stack canary) آسیبپذیریهای حافظه که در سطح کد منبع وجود دارند، در باینریهای کامپایل شدهٔ WebAssembly قابل بهرهبرداری (exploitable) هستند؛ در برخی موارد حتی آسانتر از کد بومی (native code). در این مقاله، مسئلهٔ کشف چنین آسیبپذیریهایی

چکیده – امروزه مجازیسازی تودرتو (Nested virtualization) به طور گسترده توسط تأمینکنندگان اصلی خدمات ابری پشتیبانی میشود و به کاربران امکان میدهد از فناوریهای مبتنی بر مجازیسازی در فضای ابری بهرهمند شوند. با این حال، پشتیبانی از مجازیسازی تودرتو به طور قابل توجهی بر پیچیدگی هایپروایزر (hypervisor) میزبان میافزاید و سطح حمله جدیدی را در بسترهای ابری ایجاد میکند. اگرچه پژوهشهای پیشین متعددی فازینگ هایپروایزرها را مورد بررسی قرار دادهاند،

فازینگ (Fuzzing) یک تکنیک آزمون نرمافزار است که بدون نیاز به آگاهی از ساختار داخلی برنامه، فضای ورودیهای آن را بهصورت سریع و خودکار کاوش میکند. بنابراین، توسعهدهندگان معمولاً از فازینگ به عنوان بخشی از فرایند یکپارچهسازی آزمون در طول چرخهٔ توسعهٔ نرمافزار استفاده میکنند. با این حال، همین ماهیت جعبه سیاه (black-box) و خودکار بودن فازینگ باعث میشود این روش برای مهاجمانی که به دنبال کشف آسیبپذیریهای روز-صفر (zero-day) هستند

چکیده – WebAssembly، یک استاندارد باز برای کدهای باینری میباشد که به سرعت در وب و فراتر از آن در حال گسترش و پذیرش است. از آنجا که باینریها اغلب با زبانهای سطح پایینی مانند C و ++C نوشته میشوند، میتوانند مملو از همان باگهایی باشند که در نمونههای سنتیِ متناظر آنها نیز وجود دارد. با این حال، ابزارهای محدودی برای کشف این باگها در باینریهای WebAssembly وجود دارد. ما

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

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

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

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

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

چکیده – فازینگ (Fuzzing) مؤثرِ برنامههایی که ورودیهای باینریِ ساختیافته (Structured) مانند فایلهای چندرسانهای را پردازش میکنند، کاری چالشبرانگیز است؛ زیرا این برنامهها انتظار دارند ورودی دقیقاً مطابق یک قالب (Format) بسیار مشخص باشد. با این حال، فازرهای موجود عمدتاً مستقل از قالببندی (format-agnostic) هستند؛ این ویژگی اگرچه آنها را انعطافپذیر میکند، اما در سناریوهایی که رعایت یک قالب خاص ضروری است، کارایی آنها را کاهش میدهد. در اینجا، ابزار FormatFuzzer

چکیده – باینریهای WebAssembly اغلب از زبانهای ناایمن از نظر مدیریت حافظه مانند C و ++C کامپایل میشوند. به دلیل وجود مدل حافظهٔ خطی (Linear Memory) در WebAssembly و فقدان برخی مکانیزمهای حفاظتی (مانند stack canary) آسیبپذیریهای حافظه که در سطح کد منبع وجود دارند، در باینریهای کامپایل شدهٔ WebAssembly قابل بهرهبرداری (exploitable) هستند؛ در برخی موارد حتی آسانتر از کد بومی (native code). در این مقاله، مسئلهٔ کشف چنین آسیبپذیریهایی

چکیده – امروزه مجازیسازی تودرتو (Nested virtualization) به طور گسترده توسط تأمینکنندگان اصلی خدمات ابری پشتیبانی میشود و به کاربران امکان میدهد از فناوریهای مبتنی بر مجازیسازی در فضای ابری بهرهمند شوند. با این حال، پشتیبانی از مجازیسازی تودرتو به طور قابل توجهی بر پیچیدگی هایپروایزر (hypervisor) میزبان میافزاید و سطح حمله جدیدی را در بسترهای ابری ایجاد میکند. اگرچه پژوهشهای پیشین متعددی فازینگ هایپروایزرها را مورد بررسی قرار دادهاند،

فازینگ (Fuzzing) یک تکنیک آزمون نرمافزار است که بدون نیاز به آگاهی از ساختار داخلی برنامه، فضای ورودیهای آن را بهصورت سریع و خودکار کاوش میکند. بنابراین، توسعهدهندگان معمولاً از فازینگ به عنوان بخشی از فرایند یکپارچهسازی آزمون در طول چرخهٔ توسعهٔ نرمافزار استفاده میکنند. با این حال، همین ماهیت جعبه سیاه (black-box) و خودکار بودن فازینگ باعث میشود این روش برای مهاجمانی که به دنبال کشف آسیبپذیریهای روز-صفر (zero-day) هستند