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





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





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


آخرین مقالات

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) را بر روی آنها انجام میدهد بهگونهای که هم با دستور

چکیده – Z3 یک حل کننده صدق پذیری بر اساس نظریه ها (SMT – Satisfiability Modulo Theory) است که توسط بخش تحقیقات مایکروسافت توسعه داده شده است. Z3 ابزار قدرتمندی برای حل مسائلی است که شامل ترکیبی از نظریههای پسزمینه مانند حساب، بردارهای بیتی، آرایهها و توابع تفسیر نشده هستند و به طور گسترده در تأیید، تحلیل و آزمایش نرمافزار استفاده میشوند. Z3 با استفاده از ادغام دقیق موتورهای تخصصی

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

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

امنسازی محیط اجرا در فرآیند تولید پروژه: راهکارها و بهترین روشها امنسازی محیط اجرا (Runtime Environment Hardening) یکی از ارکان اساسی در توسعه امن پروژههای نرمافزاری است. این مقاله به بررسی جامع تکنیکها و استراتژیهای امنسازی محیطهای اجرایی در چرخه تولید پروژه میپردازد. از مباحث مطرحشده میتوان به محافظت از زیرساختهای اجرا، کاهش سطح حمله، و پیادهسازی اصول امنیتی در محیطهای عملیاتی اشاره کرد. با افزایش حملات سایبری به محیطهای

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) را بر روی آنها انجام میدهد بهگونهای که هم با دستور

چکیده – Z3 یک حل کننده صدق پذیری بر اساس نظریه ها (SMT – Satisfiability Modulo Theory) است که توسط بخش تحقیقات مایکروسافت توسعه داده شده است. Z3 ابزار قدرتمندی برای حل مسائلی است که شامل ترکیبی از نظریههای پسزمینه مانند حساب، بردارهای بیتی، آرایهها و توابع تفسیر نشده هستند و به طور گسترده در تأیید، تحلیل و آزمایش نرمافزار استفاده میشوند. Z3 با استفاده از ادغام دقیق موتورهای تخصصی

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

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

امنسازی محیط اجرا در فرآیند تولید پروژه: راهکارها و بهترین روشها امنسازی محیط اجرا (Runtime Environment Hardening) یکی از ارکان اساسی در توسعه امن پروژههای نرمافزاری است. این مقاله به بررسی جامع تکنیکها و استراتژیهای امنسازی محیطهای اجرایی در چرخه تولید پروژه میپردازد. از مباحث مطرحشده میتوان به محافظت از زیرساختهای اجرا، کاهش سطح حمله، و پیادهسازی اصول امنیتی در محیطهای عملیاتی اشاره کرد. با افزایش حملات سایبری به محیطهای