
آسیب پذیریهای تحلیل شده





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





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


آخرین مقالات

ماشین مجازی نمادین[1] KLEE بر فراز زیرساخت گردآورنده LLVM ساخته شده[2] است و در حال حاضر دو بخش اصلی وجود دارد: هسته موتور ماشین مجازی نمادین که مسئول اجرای ماژول های بیتکد[3] LLVM با پشتیبانی از مقدارهای نمادین است. این بخش از کدهای موجود در مسیر lib تشکیل شده است. لایه شبیه سازی[4] POSIX و لینوکس که برای پشتیبانی از uClibc ساماندهی شده است و پشتیبانی بیشتری برای نمادین کردن

LibFuzzer یک موتور فازینگ (Fuzzing) درونفرآیندی مبتنی بر پوشش کد (Code coverage) و با رویکرد تکاملی است. LibFuzzer همراه با کتابخانهای که قرار است مورد آزمایش قرار گیرد، لینک میشود و ورودیهای فازشده (fuzzed inputs) را از طریق یک نقطهی ورود مشخص برای فازینگ (که به آن «تابع هدف» یا target function نیز گفته میشود) به کتابخانه ارسال میکند. فازر سپس مسیرهای طیشده در کد را ردیابی کرده و با

17. آشنایی با SanitizerStats سنیتایزرها (sanitizer) از يك مكانيزم ساده براي جمعآوري آمار پروفايلينگ (profiling statistics) پشتيباني ميكنند تا درک هزينهها و سربار (overhead) مرتبط با استفاده از سنیتایزرها (sanitizer) را تسهيل كنند. 17.1 نحوه ساخت و اجرا (How to build and run) در حال حاضر SanitizerStats تنها با Control Flow Integrity (CFI)[1] قابل استفاده است. علاوه بر -fsanitize=cfi*، بايد -fsanitize-stats نيز اضافه شود. اين كار باعث ميشود برنامه

12. آشنایی با DataFlowSanitizer (معروف به dfsan) DataFlowSanitizer يک سامانه تحليل پوياي گردش داده (dynamic data flow analysis) به صورت عمومي است. بر خلاف ساير ابزارهاي سنیتایزر (Sanitizer)، اين ابزار براي شناسايي يک رده مشخص از خطاها به صورت مستقل طراحي نشده است. در عوض، يک چارچوب عمومي تحليل پوياي گردش داده فراهم ميکند تا توسط برنامه نويسان به عنوان client مورد استفاده قرار گيرد و به آنان امکان دهد

1. مقدمه (Introduction) واژه «سنیتایزر» (Sanitizer) در زبان انگلیسی به معنای ضدعفونیکننده یا پاککننده است، اما در حوزه علوم کامپیوتر—بهویژه در اکوسیستمهای LLVM و Clang—معنایی کاملاً تخصصی و متفاوت دارد. در این زمینه، سنیتایزر به ابزاری گفته میشود که برای تشخیص خطاهای زمان اجرا از طریق ابزارگذاری (Instrumentation) به کار میرود. به بیان دقیقتر، Code Sanitizer ابزاری است که با تزریق کدهای نظارتی در مرحله کامپایل، رفتار برنامه را در

۱. مقدمهای بر فازینگ (An Introduction to Fuzzing) فازینگ (Fuzzing) یکی از مؤثرترین روشهای خودکار برای شناسایی باگها (Bug) و آسیبپذیریهای نرمافزاری است که با تولید و ارسال ورودیهای تصادفی، نیمهتصادفی یا ساختیافته، رفتار برنامه را در شرایط غیرعادی مورد بررسی قرار میدهد. هدف اصلی این تکنیک، وادار کردن نرمافزار به پردازش دادههای غیرمنتظره و تحلیل واکنش آن در برابر این ورودیها است تا خطاهایی مانند کرش (Crash)، نشت حافظه

چکیده – نرمافزارهای مدرن اغلب ورودیهایی با دستور زبانهای (grammars) بسیار پیچیده را میپذیرند. برای انجام فازینگ جعبه خاکستری (greybox fuzzing) و کشف باگهای امنیتی (security bugs) در چنین نرمافزارهایی، تولید ورودیهایی که با دستور زبان ورودی نرمافزار مطابقت داشته باشند، ضروری است. با این حال، این یک کار چالشبرانگیز شناخته شده است زیرا نیاز به درک عمیقی از گرامر دارد که اغلب در دسترس نیست و استنباط آن دشوار

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

امنیت مرورگرهای وب (Web Browsers) بهعنوان یکی از مؤلفههای بنیادی زیرساخت دسترسی به اینترنت (Internet Access Infrastructure)، توجه قابلتوجهی را به خود جلب کرده است. رویکردهای فعلی برای شناسایی آسیبپذیریهای مرورگر (Browser Vulnerabilities) عمدتاً بر ممیزی کد (Code Auditing) و آزمون واحد مبتنی بر مؤلفه (Componentized Unit Testing) متکی هستند. فازینگ (Fuzzing) بهعنوان یک تکنیک کارآمد (Efficient Technique) برای کشف آسیبپذیریها (Vulnerability Discovery) مطرح شده است. با این حال، بهکارگیری

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

ماشین مجازی نمادین[1] KLEE بر فراز زیرساخت گردآورنده LLVM ساخته شده[2] است و در حال حاضر دو بخش اصلی وجود دارد: هسته موتور ماشین مجازی نمادین که مسئول اجرای ماژول های بیتکد[3] LLVM با پشتیبانی از مقدارهای نمادین است. این بخش از کدهای موجود در مسیر lib تشکیل شده است. لایه شبیه سازی[4] POSIX و لینوکس که برای پشتیبانی از uClibc ساماندهی شده است و پشتیبانی بیشتری برای نمادین کردن

LibFuzzer یک موتور فازینگ (Fuzzing) درونفرآیندی مبتنی بر پوشش کد (Code coverage) و با رویکرد تکاملی است. LibFuzzer همراه با کتابخانهای که قرار است مورد آزمایش قرار گیرد، لینک میشود و ورودیهای فازشده (fuzzed inputs) را از طریق یک نقطهی ورود مشخص برای فازینگ (که به آن «تابع هدف» یا target function نیز گفته میشود) به کتابخانه ارسال میکند. فازر سپس مسیرهای طیشده در کد را ردیابی کرده و با

17. آشنایی با SanitizerStats سنیتایزرها (sanitizer) از يك مكانيزم ساده براي جمعآوري آمار پروفايلينگ (profiling statistics) پشتيباني ميكنند تا درک هزينهها و سربار (overhead) مرتبط با استفاده از سنیتایزرها (sanitizer) را تسهيل كنند. 17.1 نحوه ساخت و اجرا (How to build and run) در حال حاضر SanitizerStats تنها با Control Flow Integrity (CFI)[1] قابل استفاده است. علاوه بر -fsanitize=cfi*، بايد -fsanitize-stats نيز اضافه شود. اين كار باعث ميشود برنامه

12. آشنایی با DataFlowSanitizer (معروف به dfsan) DataFlowSanitizer يک سامانه تحليل پوياي گردش داده (dynamic data flow analysis) به صورت عمومي است. بر خلاف ساير ابزارهاي سنیتایزر (Sanitizer)، اين ابزار براي شناسايي يک رده مشخص از خطاها به صورت مستقل طراحي نشده است. در عوض، يک چارچوب عمومي تحليل پوياي گردش داده فراهم ميکند تا توسط برنامه نويسان به عنوان client مورد استفاده قرار گيرد و به آنان امکان دهد

1. مقدمه (Introduction) واژه «سنیتایزر» (Sanitizer) در زبان انگلیسی به معنای ضدعفونیکننده یا پاککننده است، اما در حوزه علوم کامپیوتر—بهویژه در اکوسیستمهای LLVM و Clang—معنایی کاملاً تخصصی و متفاوت دارد. در این زمینه، سنیتایزر به ابزاری گفته میشود که برای تشخیص خطاهای زمان اجرا از طریق ابزارگذاری (Instrumentation) به کار میرود. به بیان دقیقتر، Code Sanitizer ابزاری است که با تزریق کدهای نظارتی در مرحله کامپایل، رفتار برنامه را در

۱. مقدمهای بر فازینگ (An Introduction to Fuzzing) فازینگ (Fuzzing) یکی از مؤثرترین روشهای خودکار برای شناسایی باگها (Bug) و آسیبپذیریهای نرمافزاری است که با تولید و ارسال ورودیهای تصادفی، نیمهتصادفی یا ساختیافته، رفتار برنامه را در شرایط غیرعادی مورد بررسی قرار میدهد. هدف اصلی این تکنیک، وادار کردن نرمافزار به پردازش دادههای غیرمنتظره و تحلیل واکنش آن در برابر این ورودیها است تا خطاهایی مانند کرش (Crash)، نشت حافظه

چکیده – نرمافزارهای مدرن اغلب ورودیهایی با دستور زبانهای (grammars) بسیار پیچیده را میپذیرند. برای انجام فازینگ جعبه خاکستری (greybox fuzzing) و کشف باگهای امنیتی (security bugs) در چنین نرمافزارهایی، تولید ورودیهایی که با دستور زبان ورودی نرمافزار مطابقت داشته باشند، ضروری است. با این حال، این یک کار چالشبرانگیز شناخته شده است زیرا نیاز به درک عمیقی از گرامر دارد که اغلب در دسترس نیست و استنباط آن دشوار

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

امنیت مرورگرهای وب (Web Browsers) بهعنوان یکی از مؤلفههای بنیادی زیرساخت دسترسی به اینترنت (Internet Access Infrastructure)، توجه قابلتوجهی را به خود جلب کرده است. رویکردهای فعلی برای شناسایی آسیبپذیریهای مرورگر (Browser Vulnerabilities) عمدتاً بر ممیزی کد (Code Auditing) و آزمون واحد مبتنی بر مؤلفه (Componentized Unit Testing) متکی هستند. فازینگ (Fuzzing) بهعنوان یک تکنیک کارآمد (Efficient Technique) برای کشف آسیبپذیریها (Vulnerability Discovery) مطرح شده است. با این حال، بهکارگیری

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