دسته‌بندی

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

Fuzzing - فازینگ - Software Bugs - باگ‌های نرم‌افزاری - آسیب‌پذیری‌ - Vulnerabilities - تحلیل آلودگی - Taint Analysis

مروری بر وضعیت کنونی دانش و روش‌های پیشرفته فازینگ

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

مطالعه مقاله
افزودن خودکار آسیب‌پذیری در مقیاس بزرگ - LAVA - آسیب‌پذیری‌ - Vulnerability - فازینگ - Fuzzing

LAVA: افزودن خودکار آسیب‌پذیری در مقیاس بزرگ

پژوهش‌های مرتبط با خودکارسازی کشف آسیب‌پذیری‌ها (Vulnerability)، از دیرباز به دلیل کمبود مجموعه‌داده‌های مرجع معتبر (Ground Truth – منظور اطلاعاتی است که درستی آن از قبل مشخص و قابل اعتماد است و نتایج یک ابزار را با آن مقایسه می‌کنیم) برای ارزیابی ابزارها و روش‌ها با محدودیت مواجه بوده‌اند. فقدان چنین داده‌هایی موجب می‌شود که نه توسعه‌دهندگان ابزارها و نه کاربران آن‌ها نتوانند معیارهای بنیادینی همچون نرخ عدم کشف (Miss Rate

مطالعه مقاله
والنرلب - Vulnerlab - فازینگ جعبه‌خاکستری هدایت ‌شده مبتنی بر پوشش - Coverage-Guided Greybox Fuzzing

حساس و همکارانه عمل کنید: تحلیلی از تأثیر معیارهای پوشش در فازینگ جعبه‌خاکستری

فازینگ جعبه‌خاکستری هدایت ‌شده مبتنی بر پوشش (Coverage-Guided Greybox Fuzzing) به یکی از رایج‌ترین تکنیک‌های کشف باگ‌های (Bug) نرم‌افزاری تبدیل شده است. معیار پوشش (Coverage Metric) که نحوه انتخاب بذرهای (Seed) جدید توسط فازر را تعیین می‌کند، پارامتر اساسی فازینگ است و می‌تواند به ‌طور قابل‌توجهی بر نتایج تأثیر بگذارد. هرچند پژوهش‌های متعددی درباره اثربخشی معیارهای پوشش مختلف بر آزمون نرم‌افزار انجام شده، اما اطلاعات اندکی درباره تأثیر عملی این

مطالعه مقاله
آسیب‌ پذیری‌ - IoT - میان‌افزار - امنیت میان‌افزار - اینترنت اشیاء - امنیت اینترنت اشیاء - میان‌افزار اینترنت اشیاء - تحلیل میان‌افزار - مهندسی معکوس میان‌افزار - Firmware Reverse Engineering - Firmware Security

رده‌بندی امنیت میان‌افزار اینترنت اشیاء و مهم‌ترین تکنیک‌های تحلیل میان‌افزار

اینترنت اشیاء (Internet of Things – IoT) از زمان پیدایش خود یک مسیر طولانی‌ را پیموده است. بااین‌حال، فرایند استانداردسازی سامانه‌های اینترنت اشیاء برای دستیابی به راهکارهای امن اینترنت اشیاء همچنان در مراحل ابتدایی خود قرار دارد. پژوهشگران تاکنون مقالات مروری ارزشمند متعددی درباره چارچوب‌ها (Frameworks)، معماری‌ها (Architectures) و همچنین تهدیدهای موجود در لایه‌های مختلف اینترنت اشیاء ارائه کرده‌اند. بااین‌وجود، بخش عمده‌ای از پژوهش‌های موجود، جنبه‌های امنیتی میان‌افزار (Firmware) در

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

امنیت پهپادها و پرونده اسرارآمیز DroneID شرکت DJI

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

مطالعه مقاله
Vulnerlab - والنرلب - فازینگ - فازر - Fuzzing - Fuzzer

نوآوری یافت نشد: بررسی سایه‌سازی ورودی در فازینگ از طریق راه‌اندازی مجدد فازر تطبیقی

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

مطالعه مقاله
Vulnerlab - والنرلب - SoK - فازینگ - فازر - Fuzzing - bug - آسیب‌ پذیری‌ - باگ‌ - پوشش کد - Code Coverage

SoK: مطالعه نظام‌مند یکپارچه‌سازی و بازتولید دستاوردهای پژوهشی فازینگ در ++AFL

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

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

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

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

مطالعه مقاله
vulnerlab - والنرلب- مقایسه ابزارهای SAST - ابزار تحلیل ایستا کد - بهترین ابزار SAST - تحلیل امنیت کد C و C++ - بررسی ابزارهای امنیت - سورس کد

تحلیل و مقایسه برخی ابزارهای تحلیل ایستای امنیت کد (SAST) برای زبان های C++/C و ارائه چارچوبی برای رتبه‌بندی آن‌ها

تحلیل ایستای امنیتی کد منبع (Static Application Security Testing – SAST) یکی از رویکردهای بنیادی برای تضمین امنیت نرم‌افزار در مراحل اولیه چرخه حیات توسعه محسوب می‌شود. با افزایش اندازه و پیچیدگی سامانه‌های نرم‌افزاری، به‌ویژه در معماری‌های توزیع‌شده و مبتنی بر میکروسرویس‌ها، سطح حمله گسترش یافته و شناسایی آسیب‌پذیری‌ها در سطح کد با دشواری بیشتری همراه شده است. این پژوهش به بررسی تطبیقی یازده ابزار تحلیل ایستای امنیت کد منبع

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

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

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

مطالعه مقاله
Fuzzing - فازینگ - Software Bugs - باگ‌های نرم‌افزاری - آسیب‌پذیری‌ - Vulnerabilities - تحلیل آلودگی - Taint Analysis

مروری بر وضعیت کنونی دانش و روش‌های پیشرفته فازینگ

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

مطالعه مقاله
افزودن خودکار آسیب‌پذیری در مقیاس بزرگ - LAVA - آسیب‌پذیری‌ - Vulnerability - فازینگ - Fuzzing

LAVA: افزودن خودکار آسیب‌پذیری در مقیاس بزرگ

پژوهش‌های مرتبط با خودکارسازی کشف آسیب‌پذیری‌ها (Vulnerability)، از دیرباز به دلیل کمبود مجموعه‌داده‌های مرجع معتبر (Ground Truth – منظور اطلاعاتی است که درستی آن از قبل مشخص و قابل اعتماد است و نتایج یک ابزار را با آن مقایسه می‌کنیم) برای ارزیابی ابزارها و روش‌ها با محدودیت مواجه بوده‌اند. فقدان چنین داده‌هایی موجب می‌شود که نه توسعه‌دهندگان ابزارها و نه کاربران آن‌ها نتوانند معیارهای بنیادینی همچون نرخ عدم کشف (Miss Rate

مطالعه مقاله
والنرلب - Vulnerlab - فازینگ جعبه‌خاکستری هدایت ‌شده مبتنی بر پوشش - Coverage-Guided Greybox Fuzzing

حساس و همکارانه عمل کنید: تحلیلی از تأثیر معیارهای پوشش در فازینگ جعبه‌خاکستری

فازینگ جعبه‌خاکستری هدایت ‌شده مبتنی بر پوشش (Coverage-Guided Greybox Fuzzing) به یکی از رایج‌ترین تکنیک‌های کشف باگ‌های (Bug) نرم‌افزاری تبدیل شده است. معیار پوشش (Coverage Metric) که نحوه انتخاب بذرهای (Seed) جدید توسط فازر را تعیین می‌کند، پارامتر اساسی فازینگ است و می‌تواند به ‌طور قابل‌توجهی بر نتایج تأثیر بگذارد. هرچند پژوهش‌های متعددی درباره اثربخشی معیارهای پوشش مختلف بر آزمون نرم‌افزار انجام شده، اما اطلاعات اندکی درباره تأثیر عملی این

مطالعه مقاله
آسیب‌ پذیری‌ - IoT - میان‌افزار - امنیت میان‌افزار - اینترنت اشیاء - امنیت اینترنت اشیاء - میان‌افزار اینترنت اشیاء - تحلیل میان‌افزار - مهندسی معکوس میان‌افزار - Firmware Reverse Engineering - Firmware Security

رده‌بندی امنیت میان‌افزار اینترنت اشیاء و مهم‌ترین تکنیک‌های تحلیل میان‌افزار

اینترنت اشیاء (Internet of Things – IoT) از زمان پیدایش خود یک مسیر طولانی‌ را پیموده است. بااین‌حال، فرایند استانداردسازی سامانه‌های اینترنت اشیاء برای دستیابی به راهکارهای امن اینترنت اشیاء همچنان در مراحل ابتدایی خود قرار دارد. پژوهشگران تاکنون مقالات مروری ارزشمند متعددی درباره چارچوب‌ها (Frameworks)، معماری‌ها (Architectures) و همچنین تهدیدهای موجود در لایه‌های مختلف اینترنت اشیاء ارائه کرده‌اند. بااین‌وجود، بخش عمده‌ای از پژوهش‌های موجود، جنبه‌های امنیتی میان‌افزار (Firmware) در

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

امنیت پهپادها و پرونده اسرارآمیز DroneID شرکت DJI

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

مطالعه مقاله
Vulnerlab - والنرلب - فازینگ - فازر - Fuzzing - Fuzzer

نوآوری یافت نشد: بررسی سایه‌سازی ورودی در فازینگ از طریق راه‌اندازی مجدد فازر تطبیقی

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

مطالعه مقاله
Vulnerlab - والنرلب - SoK - فازینگ - فازر - Fuzzing - bug - آسیب‌ پذیری‌ - باگ‌ - پوشش کد - Code Coverage

SoK: مطالعه نظام‌مند یکپارچه‌سازی و بازتولید دستاوردهای پژوهشی فازینگ در ++AFL

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

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

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

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

مطالعه مقاله
vulnerlab - والنرلب- مقایسه ابزارهای SAST - ابزار تحلیل ایستا کد - بهترین ابزار SAST - تحلیل امنیت کد C و C++ - بررسی ابزارهای امنیت - سورس کد

تحلیل و مقایسه برخی ابزارهای تحلیل ایستای امنیت کد (SAST) برای زبان های C++/C و ارائه چارچوبی برای رتبه‌بندی آن‌ها

تحلیل ایستای امنیتی کد منبع (Static Application Security Testing – SAST) یکی از رویکردهای بنیادی برای تضمین امنیت نرم‌افزار در مراحل اولیه چرخه حیات توسعه محسوب می‌شود. با افزایش اندازه و پیچیدگی سامانه‌های نرم‌افزاری، به‌ویژه در معماری‌های توزیع‌شده و مبتنی بر میکروسرویس‌ها، سطح حمله گسترش یافته و شناسایی آسیب‌پذیری‌ها در سطح کد با دشواری بیشتری همراه شده است. این پژوهش به بررسی تطبیقی یازده ابزار تحلیل ایستای امنیت کد منبع

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

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

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

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