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





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





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


آخرین مقالات

چکیده – WebAssembly، یک استاندارد باز برای کدهای باینری میباشد که به سرعت در وب و فراتر از آن در حال گسترش و پذیرش است. از آنجا که باینریها اغلب با زبانهای سطح پایینی مانند C و ++C نوشته میشوند، میتوانند مملو از همان باگهایی باشند که در نمونههای سنتیِ متناظر آنها نیز وجود دارد. با این حال، ابزارهای محدودی برای کشف این باگها در باینریهای WebAssembly وجود دارد. ما

چکیده – این مقاله یک چارچوب آزمون یکپارچه (Integrated Testing Framework) برای سامانههای اینترنت اشیا (Internet of Things – IoT) ارائه میدهد که بر پایه بستر متنباز RIVER توسعه یافته است. هدف ما بهرهگیری از روشهای موجود فازینگ هدایتشده (Guided Fuzzing) مبتنی بر تکنیکهای هوش مصنوعی (Artificial Intelligence – AI) برای آزمون برنامههای کاربردی اینترنت اشیا است که بهصورت سرتاسری (End-to-End) مستقر شدهاند. ابتدا معماری چارچوب، همراه با رابط آن

چکیده – تکنیکهای آزمون فازی (Fuzz Testing) یا همان فازینگ به دلیل توانایی روزافزون خود در تولید موارد آزمون (Test Cases) منجر به ایجاد کرش (Crash) در برنامهها، بهطور گستردهای مورد استفاده قرار گرفتهاند. بااینحال، نقضهای ایمنی حافظه (Memory Safety Violations) میتوانند به خرابیهای خاموش (Silent Corruptions) و خطاها منجر شوند و یک فازر (Fuzzer) ممکن است تنها در صورت وجود سازوکارهای ابزارگذاری تشخیصی یا همان سنیتایز (Sanitization Machinery) قادر

چکیده – فازینگ جعبه خاکستری (Greybox Fuzzing) روشی مؤثر برای آزمون نرمافزار محسوب میشود. فازرهای جعبه خاکستری مانند AFL، از ابزارگذاری (Instrumentation) استفاده میکنند که اطلاعات مربوط به پوشش مسیر (Path Coverage) را جمعآوری کرده و از این اطلاعات برای هدایت فرایند فازینگ بهره میگیرند. این ابزارگذاری معمولاً توسط یک زنجیره ابزار کامپایلر اصلاح شده (Modified Compiler Toolchain) در برنامه قرار داده میشود؛ بنابراین، برنامه برای سازگاری با فازینگ جعبه

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

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

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

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

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

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

چکیده – WebAssembly، یک استاندارد باز برای کدهای باینری میباشد که به سرعت در وب و فراتر از آن در حال گسترش و پذیرش است. از آنجا که باینریها اغلب با زبانهای سطح پایینی مانند C و ++C نوشته میشوند، میتوانند مملو از همان باگهایی باشند که در نمونههای سنتیِ متناظر آنها نیز وجود دارد. با این حال، ابزارهای محدودی برای کشف این باگها در باینریهای WebAssembly وجود دارد. ما

چکیده – این مقاله یک چارچوب آزمون یکپارچه (Integrated Testing Framework) برای سامانههای اینترنت اشیا (Internet of Things – IoT) ارائه میدهد که بر پایه بستر متنباز RIVER توسعه یافته است. هدف ما بهرهگیری از روشهای موجود فازینگ هدایتشده (Guided Fuzzing) مبتنی بر تکنیکهای هوش مصنوعی (Artificial Intelligence – AI) برای آزمون برنامههای کاربردی اینترنت اشیا است که بهصورت سرتاسری (End-to-End) مستقر شدهاند. ابتدا معماری چارچوب، همراه با رابط آن

چکیده – تکنیکهای آزمون فازی (Fuzz Testing) یا همان فازینگ به دلیل توانایی روزافزون خود در تولید موارد آزمون (Test Cases) منجر به ایجاد کرش (Crash) در برنامهها، بهطور گستردهای مورد استفاده قرار گرفتهاند. بااینحال، نقضهای ایمنی حافظه (Memory Safety Violations) میتوانند به خرابیهای خاموش (Silent Corruptions) و خطاها منجر شوند و یک فازر (Fuzzer) ممکن است تنها در صورت وجود سازوکارهای ابزارگذاری تشخیصی یا همان سنیتایز (Sanitization Machinery) قادر

چکیده – فازینگ جعبه خاکستری (Greybox Fuzzing) روشی مؤثر برای آزمون نرمافزار محسوب میشود. فازرهای جعبه خاکستری مانند AFL، از ابزارگذاری (Instrumentation) استفاده میکنند که اطلاعات مربوط به پوشش مسیر (Path Coverage) را جمعآوری کرده و از این اطلاعات برای هدایت فرایند فازینگ بهره میگیرند. این ابزارگذاری معمولاً توسط یک زنجیره ابزار کامپایلر اصلاح شده (Modified Compiler Toolchain) در برنامه قرار داده میشود؛ بنابراین، برنامه برای سازگاری با فازینگ جعبه

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

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

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

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

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

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