Abstract
In this work we examine the feasibility of quantitatively characterizing some aspects of security. In particular, we investigate if it is possible to predict the number of vulnerabilities that can potentially be present in a software system but may not have been found yet. We use several major operating systems as representatives of complex software systems. The data on vulnerabilities discovered in these systems are analyzed. We examine the results to determine if the density of vulnerabilities in a program is a useful measure. We also address the question about what fraction of software defects are security related, i.e., are vulnerabilities. We examine the dynamics of vulnerability discovery hypothesizing that it may lead us to an estimate of the magnitude of the undiscovered vulnerabilities still present in the system. We consider the vulnerability discovery rate to see if models can be developed to project future trends. Finally, we use the data for both commercial and open-source systems to determine whether the key observations are generally applicable. Our results indicate that the values of vulnerability densities fall within a range of values, just like the commonly used measure of defect density for general defects. Our examination also reveals that it is possible to model the vulnerability discovery using a logistic model that can sometimes be approximated by a linear model
چکیده
در این مطالعه، این امکان بررسی می شود که آیا جنبه های امنیت می توانند از نظر کمی محاسبه شوند. به طور خاص، ما بررسی می کنیم که آیا ممکن است که بتوان تعداد آسیب پذیری هایی را پیش بینی کرد که به طور بالقوه در یک سیستم نرم افزاری وجود دارد، ولی تاکنون یافت نشده است. ما از سیستم های عملیاتی اصلی مختلفی بعنوان نماینده سیستم های نرم افزاری پیچیده استفاده می کنیم. داده های کشف شده از آسیب پذیری ها در این سیستم ها تحلیل می شود. ما نتایج مان را آزمون می کنیم تا تعیین کنیم که تراکم آسیب پذیری در یک برنامه، شاخص مفیدی است یا خیر. ما همچنین سوالی را مطرح می کنیم که مرتبط با نسبت نقص های نرم افزاری است که مرتبط با امنیت هستند برای مثال آسیب پذیری ها. ما پویایی های کشف آسیب پذیری را آزمون می کنیم با این فرض که این پویایی ها ممکن است به ما کمک کنند تا اهمیت آسیب پذیری هایی برآورد شوند که در این سیستم وجود دارد ولی کشف نشده است. ما نرخ کشف آسیب پذیری ها را بررسی می کنیم تا ببینیم که آیا مدل ها می توانند روندهای پرو ژه ها آتی را تشخیص دهند یا خیر. در نهایت، ما از داده های هر دو نوع سیستم های اوپن سورس و تجاری استفاده کرده ایم تا تعیین کنیم که آیا مشاهدات کلیدی، قابلیت کاربرد عمومی دارند یا خیر. آزمون ما همچنین نشان می دهد که می توان کشف آسیب پذیری را با استفاده از مدل لجستیک مدلسازی کرد که اغلب با مدل های خطی نشان داده شده اند.
1-مقدمه
امنیت سیستم های نرم افزاری در سالهای اخیر مورد توجه بوده است. با این حال، بسیاری از کارها روی امنیت، کیفی بوده است و بیشتر متمرکز بر کشف و پیشگیری از آسیب پذیری در این سیستم ها بوده است. به توسعه رویکردی بر روی این مساله نیاز است تا روشهایی را ایجاد کرد که به ریسک های مرتبط با امنیت، امکان بررسی کمی را بدهد....