عنوان مقاله:

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

A study on the use of vulnerabilities databases in software engineering domain

سال انتشار: 2022

رشته: مهندسی کامپیوتر

گرایش: مهندسی نرم افزار - امنیت اطلاعات

دانلود رایگان این مقاله:

دانلود مقاله پایگاه داده های آسیب پذیر

مشاهده سایر مقالات جدید:

مقالات ISI مهندسی کامپیوتر

مقالات ISI مهندسی نرم افزار

2. Approach

In this section, we detail our research methodology; including metrics we introduced to analyze our research data. Our methodology is based on the following major processing steps (see Fig. 1). First, we extracted SE articles published in different leading software engineering journals and conferences during 2001 to 2018 and apply pre-define selection criteria to the dataset to extract only SE articles that describe the use of SVDBs in their research contributions. Second, we apply topic modeling on these SE articles followed by a clustering step to identify SE activities and then further classify the articles based on their supported SE activities. Finally, we analyze the discovered topics and clusters through metrics which we introduce to further assess and interpret our data. In what follows, we describe processing steps in more detail. Table 1 Keyword searches for online library search. Category Terms General ("vulnerable" OR "vulnerability" OR "vulnerabilities" OR "vulnerability database" OR "vulnerability databases") AND ("software engineering") Domain ("vulnerable" OR "vulnerability" OR "vulnerabilities" OR "vulnerability database" OR "vulnerability databases") AND ("software requirement" OR "software design" OR "software coding" OR "software testing" OR "software verification" OR "software evolution" OR "software maintenance") 2.1. Dataset – collection and selection We defined a set of inclusion criteria for articles to be considered in our survey. The main criterion being that a paper discusses the use of SVDBs in the context of a software engineering activity. Other criteria used during the data collection and selection process are that an article must be written in English and published as a conference paper, journal papers, technical report, or book in a reputable venue. For our online library search we used search engines such as: ACM Digital Library, IEEE Xplore Digital Library, Springer Link Online Library, Elsevier Science Direct, Wiley Online Library and Google Scholar. A list of search terms and their combinations are shown in Table 1. For each query we only considered exact matches of a publication at both, the meta-data and full-text level. As a result of both our searches, we identified a total of 1235 articles. As part of our data cleaning, we manually reviewed the title and abstract (and, in some cases, the introduction of the paper) to verify that an article meets our main inclusion criteria - a paper must discuss the use of SVDBs in the context of a software engineering activity. Papers which did not meet the criteria where omitted from further processing. After completing this manual review process, 146 of the initial 1235 articles remained and were considered for a more detailed review. As part of this detailed review we verified the use of the SVDBs discussed in each article’s methodology description. Papers which did not explicitly describe the use of SVDBs for SE activities were removed from the set of articles, which left us with 99 articles to be included in our final dataset for further analysis.

3. Results

We now present the results of applying our research methodology to our dataset and report on findings related to our research questions introduced earlier. 3.1. What types of SVDBs are most commonly used (RQ#1)? Our survey shows that none of the surveyed SE article reported on the use of common SVDBs prior to 2006 (see Fig. 3). This is due to the fact that the first widely-recognized common SVDBs (e.g., Karlsson, 2012) became publicly available only in late 2004 and beginning 2005 with more specialized public SVDBs emerging in SE articles in late 2010. Our analysis also shows that the majority of surveyed articles (91%) use common SVDBs in their work, whereas only 9% rely on specialized SVDBs as their primary resource for vulnerability information. Further analysis of the common SVDBs usage in these papers (see Fig. 3) shows that most of the surveyed articles (26%) are used NVD as their SVDB of choice, followed by CVE6 (16%). It should be noted that NVD is based on the CVE dictionary augmented with additional analysis information, a database, and a fine-grained search engine. NVD is synchronized regularly with CVE such that any CVE update will also be reflected in NVD (after approved by the NVD security engineers). NVD includes security checklists, security related software flaws, misconfigurations, affected product names, and impact metrics. The OWASP, another common SVDB which has been used by 6 https://cve.mitre.org/ 14% of the surveyed articles. OWASP is dedicated to maintaining a list of Web applications with known security incidents and is commonly used for experiments in testing security vulnerabilities affecting web-applications (e.g., Sampaio and Garcia, 2016; Palsetia et al., 2016; Bozic et al., 2015). The Open Source Vulnerability Database (OSVDB7) (used by 8% of the surveyed articles), is one of the earlier publicly available common SVDBs. However, as of April 2016, the database is no longer maintained. Other popular common SVDBs included are CWE (7%) and SecurityFocus (6%). CWE is maintained by MITER8and provides a classification of vulnerabilities types which are commonly used for testing and classifying security attacks. SecurityFocus is an online software systems’ security news portal that obtains its data from the Bugtraq9 mailing list. Bugtraq is an independent source for security vulnerabilities, alerts, and threats. While some articles compare their vulnerability results obtained from one SVDB with results from other SVDBs, only a few studies (e.g., Walden et al., 2014; Mendes et al., 2014) combine the usage of different common SVDBs in their approach. As shown in (Raghavan et al., 2007), combining different common SVDBs data sources can increase the zero-day detection performance of vulnerability detection and analysis techniques. Summary Although the CVE database has been available longer than NVD, most surveyed articles use NVD in their approach. We believe that one of the reasons for the widespread use of NVD is the easy access to vulnerability data through supported feeds and the regular updates to the database. Moreover, we found little research exists in combining different SVDBs to improve their approach or vulnerability detection analysis.

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

2. رویکرد

در این بخش، روش تحقیق خود را به تفصیل شرح می دهیم. از جمله معیارهایی که برای تجزیه و تحلیل داده های تحقیق خود معرفی کردیم. روش شناسی ما بر اساس مراحل اصلی پردازش زیر است (شکل 1 را ببینید). ابتدا، مقالات SE منتشر شده در مجلات و کنفرانس‌های مهندسی نرم‌افزار پیشرو در طی سال‌های 2001 تا 2018 را استخراج کردیم و معیارهای انتخابی از پیش تعریف شده را برای مجموعه داده‌ها اعمال کردیم تا فقط مقالات SE را استخراج کنیم که استفاده از SVDBها را در مشارکت‌های تحقیقاتی خود توصیف می‌کنند. دوم، ما مدل‌سازی موضوع را روی این مقالات SE اعمال می‌کنیم و سپس یک مرحله خوشه‌بندی را برای شناسایی فعالیت‌های SE اعمال می‌کنیم و سپس مقالات را بر اساس فعالیت‌های SE پشتیبانی‌شده‌شان طبقه‌بندی می‌کنیم. در نهایت، موضوعات و خوشه های کشف شده را از طریق معیارهایی که برای ارزیابی و تفسیر بیشتر داده های خود معرفی می کنیم، تجزیه و تحلیل می کنیم. در ادامه، مراحل پردازش را با جزئیات بیشتر شرح می دهیم. جدول 1 جستجوی کلیدواژه برای جستجوی کتابخانه آنلاین. شرایط رده عمومی ("آسیب پذیر" یا "آسیب پذیری" یا "آسیب پذیری" یا "پایگاه داده آسیب پذیری" یا "پایگاه های اطلاعاتی آسیب پذیری") و ("مهندسی نرم افزار") دامنه ("آسیب پذیر" یا "آسیب پذیری" یا "آسیب پذیری" یا "پایگاه داده آسیب پذیری" "یا "پایگاه‌های اطلاعاتی آسیب‌پذیری") و ("نیاز به نرم‌افزار" یا "طراحی نرم‌افزار" یا "کدگذاری نرم‌افزار" یا "تست نرم‌افزار" یا "تأیید نرم‌افزار" یا "تکامل نرم‌افزار" یا "تعمیر و نگهداری نرم‌افزار") 2.1. مجموعه داده ها - جمع آوری و انتخاب ما مجموعه ای از معیارهای گنجاندن مقالات را تعریف کردیم تا در نظرسنجی ما در نظر گرفته شوند. معیار اصلی این است که یک مقاله استفاده از SVDB ها را در زمینه یک فعالیت مهندسی نرم افزار مورد بحث قرار می دهد. معیارهای دیگر مورد استفاده در فرآیند جمع آوری و انتخاب داده ها این است که یک مقاله باید به زبان انگلیسی نوشته شده باشد و به عنوان مقاله کنفرانس، مقالات مجله، گزارش فنی یا کتاب در یک مکان معتبر منتشر شود. برای جستجوی کتابخانه آنلاین خود از موتورهای جستجو مانند: ACM Digital Library، IEEE Xplore Digital Library، Springer Link Online Library، Elsevier Science Direct، Wiley Online Library و Google Scholar استفاده کردیم. فهرستی از عبارات جستجو و ترکیبات آنها در جدول 1 نشان داده شده است. برای هر پرس و جو فقط تطابق دقیق یک نشریه را در هر دو سطح متا داده و متن کامل در نظر گرفتیم. در نتیجه هر دو جستجوی ما، در مجموع 1235 مقاله را شناسایی کردیم. به‌عنوان بخشی از پاکسازی داده‌هایمان، عنوان و چکیده (و در برخی موارد، مقدمه مقاله) را به‌صورت دستی بررسی کردیم تا تأیید کنیم که یک مقاله معیارهای اصلی ورود ما را دارد - مقاله باید استفاده از SVDBها را در زمینه مورد بحث قرار دهد. یک فعالیت مهندسی نرم افزار مقالاتی که معیارهای لازم را نداشتند از پردازش بیشتر حذف شدند. پس از تکمیل این فرآیند بررسی دستی، 146 مقاله از 1235 مقاله اولیه باقی ماندند و برای بررسی دقیق‌تر در نظر گرفته شدند. به‌عنوان بخشی از این بررسی دقیق، استفاده از SVDB‌هایی را که در شرح روش‌شناسی هر مقاله مورد بحث قرار گرفت، تأیید کردیم. مقالاتی که به صراحت استفاده از SVDBها را برای فعالیت‌های SE توصیف نمی‌کردند از مجموعه مقالات حذف شدند، که باعث شد 99 مقاله برای تجزیه و تحلیل بیشتر در مجموعه داده نهایی خود گنجانده شود.

3. نتایج

ما اکنون نتایج به کارگیری روش تحقیق خود را در مجموعه داده های خود ارائه می کنیم و یافته های مربوط به سؤالات تحقیق خود را که قبلاً معرفی شده بود گزارش می کنیم. 3.1. چه نوع SVDB ها بیشتر مورد استفاده قرار می گیرند (RQ#1)؟ نظرسنجی ما نشان می‌دهد که هیچ یک از مقاله‌های SE بررسی شده در مورد استفاده از SVDB‌های رایج قبل از سال 2006 گزارش نشده است (شکل 3 را ببینید). این به دلیل این واقعیت است که اولین SVDB های رایج شناخته شده (به عنوان مثال، کارلسون، 2012) تنها در اواخر سال 2004 و شروع سال 2005 با SVDB های عمومی تخصصی تر که در مقالات SE در اواخر سال 2010 ظاهر شدند، در دسترس عموم قرار گرفتند. تحلیل ما همچنین نشان می دهد که اکثر مقالات بررسی شده (91٪) از SVDB های رایج در کار خود استفاده می کنند، در حالی که تنها 9٪ به SVDB های تخصصی به عنوان منبع اصلی خود برای اطلاعات آسیب پذیری متکی هستند. تجزیه و تحلیل بیشتر استفاده از SVDB های رایج در این مقالات (نگاه کنید به شکل 3) نشان می دهد که بیشتر مقالات بررسی شده (26٪) از NVD به عنوان SVDB انتخابی خود استفاده می کنند و پس از آن از CVE6 (16٪) استفاده می شود. لازم به ذکر است که NVD بر اساس فرهنگ لغت CVE افزوده شده با اطلاعات تجزیه و تحلیل اضافی، یک پایگاه داده و یک موتور جستجوی دقیق است. NVD به طور منظم با CVE هماهنگ می شود به طوری که هر به روز رسانی CVE در NVD نیز منعکس می شود (پس از تایید مهندسین امنیت NVD). NVD شامل چک‌لیست‌های امنیتی، نقص‌های نرم‌افزار مرتبط با امنیت، پیکربندی‌های نادرست، نام‌های محصول تحت تأثیر و معیارهای تأثیر است. OWASP، SVDB رایج دیگری است که توسط 6 https://cve.mitre.org/ 14% از مقالات بررسی شده استفاده شده است. OWASP به حفظ لیستی از برنامه های کاربردی وب با حوادث امنیتی شناخته شده اختصاص داده شده است و معمولاً برای آزمایشات در آزمایش آسیب پذیری های امنیتی مؤثر بر برنامه های وب استفاده می شود (به عنوان مثال، Sampaio و Garcia، 2016؛ Palsetia و همکاران، 2016؛ Bozic و همکاران، 2015). ). پایگاه داده آسیب‌پذیری منبع باز (OSVDB7) (که توسط 8 درصد مقالات بررسی شده استفاده می‌شود)، یکی از SVDB‌های رایج در دسترس عموم است.با این حال از آوریل 2016، پایگاه داده دیگر نگهداری نمی شود. سایر SVDB های رایج رایج شامل CWE (7%) و SecurityFocus (6%) هستند. CWE توسط MITER8 نگهداری می شود و طبقه بندی انواع آسیب پذیری را ارائه می دهد که معمولاً برای آزمایش و طبقه بندی حملات امنیتی استفاده می شود. SecurityFocus یک پورتال خبری امنیتی سیستم های نرم افزار آنلاین است که داده های خود را از لیست پستی Bugtraq9 به دست می آورد. Bugtraq یک منبع مستقل برای آسیب پذیری های امنیتی، هشدارها و تهدیدها است. در حالی که برخی از مقالات نتایج آسیب‌پذیری خود را به‌دست‌آمده از یک SVDB با نتایج سایر SVDB مقایسه می‌کنند، تنها چند مطالعه (به عنوان مثال، والدن و همکاران، 2014؛ مندز و همکاران، 2014) استفاده از SVDB‌های رایج مختلف را در رویکرد خود ترکیب می‌کنند. همانطور که در (Raghavan et al., 2007) نشان داده شده است، ترکیب منابع داده SVDB های رایج مختلف می تواند عملکرد تشخیص روز صفر تکنیک های تشخیص و تجزیه و تحلیل آسیب پذیری را افزایش دهد. خلاصه اگرچه پایگاه داده CVE برای مدت طولانی تری نسبت به NVD در دسترس بوده است، اکثر مقالات بررسی شده از NVD در رویکرد خود استفاده می کنند. ما معتقدیم که یکی از دلایل استفاده گسترده از NVD دسترسی آسان به داده های آسیب پذیری از طریق فیدهای پشتیبانی شده و به روز رسانی منظم پایگاه داده است. علاوه بر این، ما متوجه شدیم که تحقیقات کمی در مورد ترکیب SVDB های مختلف برای بهبود رویکرد یا تجزیه و تحلیل تشخیص آسیب پذیری آنها وجود دارد.