کلیه حقوق مطالب متعلق به Vulnerlab است. بازنشر با ذکر منبع مجاز است.

دسته‌بندی

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

Sanitizer - سنی تایزر

بررسی سنی‌تایزرهای LLVM – بخش دوم

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

مطالعه مقاله
Sanitizer - سنی تایزر

بررسی سنی‌تایزرهای LLVM – بخش اول

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

مطالعه مقاله
AFL - فازینگ - Fuzzing

فازر ++AFL

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

مطالعه مقاله
vulnerlab - والنرلب - فازینگ جامع و مقرون‌به‌صرفه آگاه از دستور زبان

تسهیل فازینگ جامع و مقرون‌به‌صرفه آگاه از دستور زبان با بهره‌گیری از مدل‌های زبانی بزرگ

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

مطالعه مقاله
vulnerlab - والنرلب - BertRLFuzzer: یک فازر مبتنی بر BERT و یادگیری تقویتی (RL)

BertRLFuzzer: یک فازر مبتنی بر BERT و یادگیری تقویتی (RL)

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

مطالعه مقاله
vulnerlab - والنرلب - مسئله ارضاپذیری در چارچوب نظریه‌ها- SMT Solver

Z3: ابزاری سریع و بهینه برای حل مسائل SMT

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

مطالعه مقاله
DFL - والنرلب - vulnerlab - فازینگ - fuzzing -

DFL: چارچوب فازینگ مبتنی بر تولید نمونه‌های DOM برای موتورهای رندر مرورگر

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

مطالعه مقاله
والنرلب - vulnerlab - فازینگ - fuzzing

مروری بر فازینگ

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

مطالعه مقاله
والنرلب - vulnerlab - امن سازی محیط اجرا - Runtime Environment Hardening

امن‌سازی محیط اجرا در فرآیند تولید پروژه: راهکارها و بهترین روش‌ها

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

مطالعه مقاله
Sanitizer - سنی تایزر

بررسی سنی‌تایزرهای LLVM – بخش دوم

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

مطالعه مقاله
Sanitizer - سنی تایزر

بررسی سنی‌تایزرهای LLVM – بخش اول

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

مطالعه مقاله
AFL - فازینگ - Fuzzing

فازر ++AFL

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

مطالعه مقاله
vulnerlab - والنرلب - فازینگ جامع و مقرون‌به‌صرفه آگاه از دستور زبان

تسهیل فازینگ جامع و مقرون‌به‌صرفه آگاه از دستور زبان با بهره‌گیری از مدل‌های زبانی بزرگ

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

مطالعه مقاله
vulnerlab - والنرلب - BertRLFuzzer: یک فازر مبتنی بر BERT و یادگیری تقویتی (RL)

BertRLFuzzer: یک فازر مبتنی بر BERT و یادگیری تقویتی (RL)

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

مطالعه مقاله
vulnerlab - والنرلب - مسئله ارضاپذیری در چارچوب نظریه‌ها- SMT Solver

Z3: ابزاری سریع و بهینه برای حل مسائل SMT

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

مطالعه مقاله
DFL - والنرلب - vulnerlab - فازینگ - fuzzing -

DFL: چارچوب فازینگ مبتنی بر تولید نمونه‌های DOM برای موتورهای رندر مرورگر

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

مطالعه مقاله
والنرلب - vulnerlab - فازینگ - fuzzing

مروری بر فازینگ

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

مطالعه مقاله
والنرلب - vulnerlab - امن سازی محیط اجرا - Runtime Environment Hardening

امن‌سازی محیط اجرا در فرآیند تولید پروژه: راهکارها و بهترین روش‌ها

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

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