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

دسته‌بندی

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

والنرلب - vulnerlab- فازینگ - Fuzzing - فازرهای هدایت‌ شده با پوشش کد - coverage-guided fuzzers

چالش‌های حل نشده حوزه فازینگ: دام‌ها، نقاط کور و درس‌های آموخته ‌شده از دنیای واقعی

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

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

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

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

مطالعه مقاله
والنرلب - vulnerlab - فازینگ باینری کارآمد -دسترسی به کد منبع - ابزارگذاری ایستا -Performant Binary Fuzzing Static Instrumentation- Source Code

فازینگ باینری کارآمد بدون دسترسی به کد منبع با استفاده از ابزارگذاری ایستا

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

مطالعه مقاله
REDQUEEN - فازینگ - تناظر ورودی با وضعیت - Fuzzing with Input-to-State Correspondence

REDQUEEN: فازینگ با استفاده از تناظر ورودی با وضعیت

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

مطالعه مقاله
Fuzzing, binary testing, chunk-based formats, structural mutations - فازینگ، تست دودویی، فرمت‌های مبتنی بر چانک، جهش‌های ساختاری

WEIZZ: فازینگ خودکار جعبه‌ خاکستری برای قالب‌های باینری ساخت‌یافته

چکیده – فناوری‌های فازینگ (Fuzzing) در سال‌های اخیر با سرعت زیادی تکامل یافته‌اند و توانسته‌اند با عمق و سرعتی روزافزون، باگ‌های (Bug) برنامه‌ها را آشکار کنند. با این حال، برنامه‌هایی که با قالب‌های (Format) پیچیده کار می‌کنند، چالش‌برانگیزتر هستند؛ زیرا ورودی‌ها باید دارای ویژگی‌های خاصِ وابسته به قالب‌ باشند تا بتوانند از مرحله‌ی اولیه‌ی تجزیه (parsing) عبور کرده و به رفتارهای عمیق‌تر برنامه دست یابند. برخلاف رویکردهای پیشین که بر پایه‌ی

مطالعه مقاله
FormatFuzzer - فازینگ - fuzzing

FormatFuzzer: فازینگ مؤثرِ قالب‌های فایل باینری

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

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

فازینگ: بررسی جامع برای ترسیم نقشه راه

چکیده – آزمون فازی یا فازینگ (Fuzz testing – Fuzzing) در سال‌های اخیر در شناسایی نقص‌های امنیتی پیشرفت چشمگیری داشته است. این روش تعداد زیادی موارد آزمایشی (test cases)‌ تولید کرده و اجرای آن‌ها را برای یافتن خطاها پایش می‌کند. فازینگ تاکنون هزاران باگ (Bug) و آسیب‌پذیری را در برنامه‌های مختلف شناسایی کرده است. با وجود اثربخشی، هنوز یک تحلیل نظام‌مند از شکاف‌هایی که فازینگ با آن‌ها مواجه است وجود ندارد.

مطالعه مقاله
Protocol Fuzzing - فازینگ پروتکل

مروری بر فازینگ پروتکل

چکیده – پروتکل‌های ارتباطی زیربنای جهانِ به‌هم‌پیوستهٔ امروز را تشکیل می‌دهند، اما وجود آسیب‌پذیری در پیاده‌سازی آن‌ها تهدیدات امنیتی مهمی را به همراه دارد. تحولات اخیر نشان‌ دهندهٔ رشد چشمگیر پژوهش‌های مبتنی بر فازینگ (Fuzzing) برای کشف این آسیب‌پذیری‌ها در پیاده‌سازی پروتکل‌ها است. بااین‌حال، هنوز مرور نظام‌مندی از فازینگ پروتکل (Protocol Fuzzing) ارائه نشده است که بتواند به پرسش‌های اساسی، مانند چالش‌های منحصربه‌فرد این حوزه و شیوهٔ مواجههٔ پژوهش‌های موجود

مطالعه مقاله
WebAssembly - فازینگ - fuzzm

Fuzzm: شناسایی آسیب‌پذیری‌های حافظه با استفاده از ابزاربندی در سطح باینری و فازینگ WebAssembly

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

مطالعه مقاله
Prompt Injection - LLMs -PROMPTFUZZ- Fuzzing

PROMPTFUZZ: بهره‌گیری از تکنیک‌های فازینگ برای ارزیابی مقاومت مدل‌های زبانی بزرگ (LLM) در برابر تزریق پرامپت

چکیده – مدل‌های زبانی بزرگ (LLM) به دلیل توانایی بالای خود در تولید متونی شبیه به انسان، به طور گسترده در کاربردهای گوناگونی مورد استفاده قرار گرفته‌اند. با این حال، حملات تزریق پرامپت (یا تزریق سریع – prompt injection) که شامل بازنویسی دستورالعمل‌های اصلی مدل با پرامپت‌های مخرب برای دستکاری متن تولید شده است، نگرانی‌های قابل توجهی را در مورد امنیت و قابلیت اطمینان این مدل‌ها ایجاد کرده است. اطمینان

مطالعه مقاله
والنرلب - vulnerlab- فازینگ - Fuzzing - فازرهای هدایت‌ شده با پوشش کد - coverage-guided fuzzers

چالش‌های حل نشده حوزه فازینگ: دام‌ها، نقاط کور و درس‌های آموخته ‌شده از دنیای واقعی

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

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

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

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

مطالعه مقاله
والنرلب - vulnerlab - فازینگ باینری کارآمد -دسترسی به کد منبع - ابزارگذاری ایستا -Performant Binary Fuzzing Static Instrumentation- Source Code

فازینگ باینری کارآمد بدون دسترسی به کد منبع با استفاده از ابزارگذاری ایستا

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

مطالعه مقاله
REDQUEEN - فازینگ - تناظر ورودی با وضعیت - Fuzzing with Input-to-State Correspondence

REDQUEEN: فازینگ با استفاده از تناظر ورودی با وضعیت

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

مطالعه مقاله
Fuzzing, binary testing, chunk-based formats, structural mutations - فازینگ، تست دودویی، فرمت‌های مبتنی بر چانک، جهش‌های ساختاری

WEIZZ: فازینگ خودکار جعبه‌ خاکستری برای قالب‌های باینری ساخت‌یافته

چکیده – فناوری‌های فازینگ (Fuzzing) در سال‌های اخیر با سرعت زیادی تکامل یافته‌اند و توانسته‌اند با عمق و سرعتی روزافزون، باگ‌های (Bug) برنامه‌ها را آشکار کنند. با این حال، برنامه‌هایی که با قالب‌های (Format) پیچیده کار می‌کنند، چالش‌برانگیزتر هستند؛ زیرا ورودی‌ها باید دارای ویژگی‌های خاصِ وابسته به قالب‌ باشند تا بتوانند از مرحله‌ی اولیه‌ی تجزیه (parsing) عبور کرده و به رفتارهای عمیق‌تر برنامه دست یابند. برخلاف رویکردهای پیشین که بر پایه‌ی

مطالعه مقاله
FormatFuzzer - فازینگ - fuzzing

FormatFuzzer: فازینگ مؤثرِ قالب‌های فایل باینری

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

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

فازینگ: بررسی جامع برای ترسیم نقشه راه

چکیده – آزمون فازی یا فازینگ (Fuzz testing – Fuzzing) در سال‌های اخیر در شناسایی نقص‌های امنیتی پیشرفت چشمگیری داشته است. این روش تعداد زیادی موارد آزمایشی (test cases)‌ تولید کرده و اجرای آن‌ها را برای یافتن خطاها پایش می‌کند. فازینگ تاکنون هزاران باگ (Bug) و آسیب‌پذیری را در برنامه‌های مختلف شناسایی کرده است. با وجود اثربخشی، هنوز یک تحلیل نظام‌مند از شکاف‌هایی که فازینگ با آن‌ها مواجه است وجود ندارد.

مطالعه مقاله
Protocol Fuzzing - فازینگ پروتکل

مروری بر فازینگ پروتکل

چکیده – پروتکل‌های ارتباطی زیربنای جهانِ به‌هم‌پیوستهٔ امروز را تشکیل می‌دهند، اما وجود آسیب‌پذیری در پیاده‌سازی آن‌ها تهدیدات امنیتی مهمی را به همراه دارد. تحولات اخیر نشان‌ دهندهٔ رشد چشمگیر پژوهش‌های مبتنی بر فازینگ (Fuzzing) برای کشف این آسیب‌پذیری‌ها در پیاده‌سازی پروتکل‌ها است. بااین‌حال، هنوز مرور نظام‌مندی از فازینگ پروتکل (Protocol Fuzzing) ارائه نشده است که بتواند به پرسش‌های اساسی، مانند چالش‌های منحصربه‌فرد این حوزه و شیوهٔ مواجههٔ پژوهش‌های موجود

مطالعه مقاله
WebAssembly - فازینگ - fuzzm

Fuzzm: شناسایی آسیب‌پذیری‌های حافظه با استفاده از ابزاربندی در سطح باینری و فازینگ WebAssembly

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

مطالعه مقاله
Prompt Injection - LLMs -PROMPTFUZZ- Fuzzing

PROMPTFUZZ: بهره‌گیری از تکنیک‌های فازینگ برای ارزیابی مقاومت مدل‌های زبانی بزرگ (LLM) در برابر تزریق پرامپت

چکیده – مدل‌های زبانی بزرگ (LLM) به دلیل توانایی بالای خود در تولید متونی شبیه به انسان، به طور گسترده در کاربردهای گوناگونی مورد استفاده قرار گرفته‌اند. با این حال، حملات تزریق پرامپت (یا تزریق سریع – prompt injection) که شامل بازنویسی دستورالعمل‌های اصلی مدل با پرامپت‌های مخرب برای دستکاری متن تولید شده است، نگرانی‌های قابل توجهی را در مورد امنیت و قابلیت اطمینان این مدل‌ها ایجاد کرده است. اطمینان

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