د نویسنده: د تیلو د تیلو Author: د تیلو د تیلو Table Of Links د چپ په جدول د Abstract I. INTRODUCTION I. د انډول II. BACKGROUND II. پیژندنه III. DESIGN III. ډیزاین د تعریفونو ډیزاین هدفونه د پروګرام د پراختیا IV. MODELING IV. د نمونوي ټولګي ځانګړتیاوې V. DATA COLLECTION V. د معلوماتو د جمعولو VI. CHARACTERIZATION VI. ځانګړتیاوې د رخصتۍ ثابته کول د بدلونونو په ترتیب کې د لګښت تحلیل د لګښت بدلونونو تحلیل VII. RESULT VII. د پایلو د N-FOLD تایید د انټرنیټ اپلوز موډل په کارولو سره evaluating VIII. DISCUSSION VIII. د بحث د ډیرو پروژو اغیزې د Android امنیت کارونو اغیزې د اعتبار ته خطر بدلونونه IX. RELATED WORK IX. د کار په اړه CONCLUSION AND REFERENCES د پایلې او References ABSTRACT د Abstract دا کاغذ یو فریم ورک وړاندې کوي چې په انتخابي توګه د سرچینې کوډ بدلونونو لپاره د خوندیتوب څیړنو له لاسه ورکوي. د کوډ څیړنې خدمتونو کې د څیړنې بوټ په توګه کار کوي، د فریم ورک کولای شي د کوډ بدلونونو ته د سرچینې کوډ ذخیره کولو مخکې د مخکښ وخت کې اضافي خوندیتوب څیړنو په اتوماتيک ډول درخواست کړي. ځکه چې د دې ډول خوندیتوب کوډ څیړنو ترسره کولو لګښت اضافه کوي، د فریم ورک د کوډ بدلونونو سره د حساسیتونو د لوړ احتمال په شناسه کولو لپاره روزل کیږي. د انټرنیټ کټګوریور د مختلفو ډولونو د انټرنېټ موډلونو تجزیه کولو، د سافټویر انجینري پروسه څارنه، او د کوډ بدلونونو په منځ کې ځانګړي متن موډلونه راټولوي. د کټګوریور او د دې ځانګړتیاوو په دقیق ډول غوره شوي او د کوډ بدلونونو څخه د معلوماتو په کارولو سره او د Android Open Source پروژې (AOSP) کې د حساسیتونو راپور ورکولو سره ګټور شوی. د ارزیابیلو پایلې ښودلې چې زموږ د حساسیت مخنیوی (VP) فریم ورک په اړه د معلوماتو سیټ کې د حساسیت له امله د کوډ بدلونونو 80٪ راټول کوي، د 98٪ په اړه د دقت نسبت او د 1.7٪ په اړه د غلط مثبت نرخ سره. موږ د VP فریم ورک په ډیرو پروژې ترتیباتو او د Android امنیت څیړنې لپاره راتلونکي لارښوونې کې د پیژندنې اغیزو په اړه بحث کوو. دا کاغذ د کوډ بدلون-granularity خنثیۍ پیژندنې په اړه زموږ لارښوونې په څیړنه او تصدیق کوي، د سافټویر امنیت لپاره د مخابراتو د مخابراتو بدلونونو مخکې مخابراتو د مخابراتو د مخابراتو د مخابراتو لپاره د مخابراتو لپاره یو مخابراتو تکنالوژۍ وړاندې کوي. I. INTRODUCTION I. د انډول د انټرنیټ-of-Things وسایلو لپاره د وړیا او پرانیستې سافټویر (FOSS) رسولو کرښې (د مثال په توګه، سمارټ فونونه او تلویزیونونه) د خوندیتوب ته د اغیزمنو لپاره یو جذبوي، اقتصادي هدف وړاندې کوي (د مثال په توګه، د رسولو د کرښې حملات [20][21][28]). دا د مثال په توګه ځکه چې دوی کولی شي د ناڅاپي کوډ بدلونونو ته ورسیږي چې د حساسیتونو شامل دي پرته له دې چې د دوی هډوتنې او موټرو ته وده ورکړي. د سپارل شوي حساس کوډ بدلونونه کولی شي په چټکۍ سره او په سمه توګه د پایلو کاروونکي وسایلو ته پراختیا شي. د ځانګړي، په پراخه کچه کارول پروژو (د مثال په توګه، OS کورلونه، کتابتون، براؤزرونه، او یا رسنیو لوبغاړي) هدفونه) کولی شي د اغیزو په کچه کم کړي، لکه څنګه چې دا پروژې معمولا د مصرفي محصولاتو په پراخه کچه ملاتړ کوي. د دې محصولاتو چټک سافټویر تازه کولو چرچونه کولی شي په تیریدو FOSS پروژو کې د وروستیو پټونه په چټکۍ سره حساسیتونه واخلئ که د هر سافټویر تازه کولو یا ورسولو مخکې سخت امنیت نظارتونه او ازمايښتونه نه ترسره شي. په پایله کې، دا حساس کوډ بدلونونه کولی شي ناپیدار شي او په دې توګه ناپیدار شي، د پایله کاروونکو ډیری ډیری وسایلو ته د ټولنیز ټولنیز نظر څخه، د امنیت ازموینې ټولې لګښتونه کولی شي د مخکښ کوډ بدلونونو په مخکښ وخت کې د مخکښې وخت کې د مخکښې بدلونونو د مخکښو لپاره د مخکښو پروژې د مخکښونو ته د مخکښو څخه مخکې د مخکښو پروژې په مخ کې د مخکښو پروژو په مخ کې د مخکښو په مخ کې د مخکښو پروژو په مخ کې د مخکښو ازموینې لګښت په مخ کې د مخکښو پروژو په مخ کې د مخکښو پروژو په مخ کې د مخکښو په مخکښو کې د مخکښو په مخکښو کې د مخکښو د مخکښو په مخکښو کې د مخ دا downstream پروژې کولی شي د لومړي downstream پروژو په اړه د یوځای شوي، upstream حساسیتونو موندلو او حل کولو لپاره باور نه کړي ځکه چې د دغو اصلاحاتو او د دوی وروسته upstream کولو وخت غیرقانوني ده (د مثال په توګه، په برخه کې د داخلي پالیسۍ له امله [22]). په دې توګه، دا اړتیا لري چې په upstream پروژو کې حساس کوډ سپارلو مخنیوی کړي. د هر کوډ بدلولو لپاره بشپړ امنیت بیاکتنې ته اړتيا لري چې د انډول وړ پروژې مالکانو لپاره غیرقانوني لګښت لري. دا په ځانګړي ډول د FOSS پروژو لپاره حق دی چې د کوډ بدلولو لوی حجم ترلاسه کوي یا د بیاکتنې لپاره متخصص امنیت خبرتیا ته اړتيا لري (د مثال په توګه، د ډومین ځانګړي). د پروګرام چې د کوډ بدلونونو د حساسیت ارزیابی په کارولو سره د ماشین زده کړې (ML) klasifier اتومات کوي. Vulnerability Prevention (VP) د کټګوریو ماډل اندازې کوي چې یو ځانګړي کوډ بدلون کې لږ تر لږه یو د خوندیتوب د بڼې شامل یا وده ورکوي. د کوډ بدلون چې د متوسط احتمالي-د بڼې څخه زیات دی. د ماډل د تاریخي معلوماتو په کارولو سره د تړاو شوي تجارتي تجارتي ټولګه په کارولو سره جوړ شوي دي. د ماډل د سافټویر د بڼې مخکښ کولو لپاره کارول شوي عمومي ځانګړتیاوو او همدارنګه د نوي ځانګړتیاوو چارو ډولونه کاروي چې راټول کیږي: (1) د Patch جوړ پیچیدو، (2) د کوډ بیاکتنې نمونې، (3) د هر سرچینې کوډ فایل د سافټویر د پراختیا د ژوند چرچ مرحله، او (4) د کوډ بدلولو طبیعت، لکه څنګه چې د ترمیم شوي سرچینې کوډ کرښې تحلیل له لارې مشخص شوی. په ټولیزه توګه، دا مطالعې د ML ماډل د دقت د ښه کولو لپاره د 30 څخه زيات ډولونو د ځانګړتیاوو معلوماتو په کارولو سره د 6 ډولونو ټولیزې څیړنه کوي. د روزنې او ازموينه ډاټا جوړولو لپاره، موږ د Android Open Source پروژې (AOSP)1 کې کشف شوي او حل شوي امنیت بګانو څخه ګټه واخلئ. دا په ځانګړي ډول د AOSP رسنیو پروژې2 (یا د مینیډیمیا ډاټا پروسس لپاره) ته هدف لري چې په پراخه کچه فکس ټیسټ شوي او په دې توګه ډیری خوندیتوب ضمیمه ونیسئ. د دې په برخه کې ډیزاین شوي او پراختیا شوي تخصصي وسایل: (1) د هر هدف د امنیت بګونو سره تړاو لري، او (2) backtrack vulnerability-inducing بدلون(s) سره هر یو identified vulnerability-fixing بدلون(s) سره تړاو لري. ټول identified vulnerability-inducing بدلونونه وروسته manually تجزیه شوي او تصدیق شوي مخکې له دې چې د مسلکي خوندیتوب بیګونو سره تړاو شي. د تړاو شوي vulnerability-inducing بدلونونه د "1" په توګه لیبل شوي دي، په داسې حال کې ټول نورو کوډ بدلونونه چې د هدف رسنیو پروژې ته لیبل شوي دي په ډاټا سیټ کې د "0" په توګه لیبل شوي دي. د د ډاټا د لومړي کال په کارولو سره د ارزیابی لپاره د اسنادو په اساس د اسنادو په اساس د اسنادو په اغیزمنه توګه راټول کیږي. د اسنادو په اغیزمنۍ سره د ~85٪ د دقت سره د کډ بدلونونو 60٪ راټول کیږي. دا د کورډ بدلونونو په اغیزمنۍ سره د ~97٪ په اغیزمنۍ سره د کورډ بدلونونو ~99٪ راټول کوي کله چې د روزنې او ازموینې لپاره د ټولو ځانګړتیاو کارول کیږي. N-fold د VP فریم ورک وروسته په توګه یو آنلاین ماډل کارول کیږي چې په میاشت کې د مخکښ میاشت څخه د معلوماتو په اړه دوبله زده کیږي. کله چې دا د حساسیت معلوماتو په اړه د 6 کلونو لپاره کارول کیږي3 ، د فریم ورک د حساسیت له امله بدلونونو لپاره تقریبا 80٪ recall او 98٪ دقت، سره 99.8٪ recall او 98.5٪ دقت د احتمالي عادي بدلونونو لپاره. دا دقت پایلې په عمده توګه د N-fold تصدیق کې ترلاسه شوي پايلې څخه زياته کیږي ځکه چې د آنلاین پراختیا حالت کولی شي د ځانګړتیاوو ډاټا کې د زیربنا د موقعیتونو، ضایعاتو او نمونې په ښه توګه کاروي. په مجموعي توګه، د څېړنې او مرکزي کوډ بدلونونو 7.4٪ د حساسیت له امله طبقه شوي دي. په اوسط ډول، د احتمالي عادي بدلونونو شمېر چې د کوډ بیاکتنې کې اضافي توجه ته اړتيا لري په اونۍ کې د 7 په اړه دی. دا مدیریت وړ حجم (د اونۍ کې د 2 کوډ بدلونونو څخه کم) د لګښت د معاینه کولو لپاره د لوړ لګښت (~80٪) او دقت (~98٪) له امله د حساسیت له امله بدلونونه وده ورکوي. د دې څېړنې اصلي مسؤلیتونه شامل دي: We explore and confirm the possibility of code change-granularity vulnerability prediction that can be used to prevent vulnerabilities by flagging likelyvulnerable code changes at pre-submit time. We present the Vulnerability Prevention (VP) framework that automates online assessment of software vulnerabilities using a machine learning classifier. We devise novel feature types to improve the classifier accuracy and reduces the feature data set by evaluating the precision and recall metrics. We present the specialized tools to label code changes in AOSP, facilitating robust training and testing data collection. We demonstrate a high precision (~98%) and recall (~80%) of the VP framework in identifying vulnerability-inducing changes, showing the potential as a practical tool to reduce security risks. We discuss the implications of deploying the VP framework in multi-project settings. Our analysis data suggests two focus areas for future Android security research: optimizing the Android vulnerability fixing latency and more efforts to prevent vulnerabilities. The rest of this paper is organized as follows. Section II provides the background information. Section III analyzes the design requirements and presents the VP framework design. Section IV details the design of the ML model, including the classifier and features for classifying likelyvulnerable code changes. Section V describes the tools developed to collect vulnerability datasets for model training and testing. Section VI describes the data collection process using the tools, and characterizes the vulnerability issues, vulnerability-fixing changes, and vulnerability-inducing changes in an AOSP sub-project. Section VII presents the evaluation of the VP framework using an N-fold validation. Section VIIII extends the framework for real-time, online classification. Section IX discusses the implications and threats to validity. Section IX reviews the related works before concluding this paper in Section X. II. BACKGROUND II. پیژندنه دا برخه د کوډ بیاکتنې او سپارلو پروژې د پروژې د پروژې په توګه د کورس مطالعې په توګه د AOSP (Android Open Source پروژې) په کارولو سره د کوډ بیاکتنې او سپارلو پروژې بیانوي. AOSP په لټه کې دی، د دې لپاره چې د دې په توګه د پرمختللي سافټویر پروژې په توګه د دې لپاره چې د 3 میلیارده، فعال enduser محصولات ته وده ورکړي. د کوډ بدلون (په ساده توګه، بدلون) شامل دي چې د سرچینې کوډ فایلونو لپاره په هدف سرچینې کوډ ذخیره کې (د مثال په توګه، git) اضافه شوي، حذف شوي او / یا ترمیم شوي سرچینې کوډ لړونه. یو معمولي سافټویر انجنیر د کوډ بدلون ته د کوډ بیاکتنې خدمت ته (د مثال په توګه، Gerrit4 ) د اړتیا وړ کوډ بیاکتنې لپاره پیژندل کیږي. د کوډ بدلون په AOSP کې د یو اړوند بریښنالیک پته لري. د بدلون هم کولای شي یو یا ډیری کوډ بیاکتنې لري. د هر پروژې په برخه کې یو یا ډیری ځانګړي اجازهونه لري (د مثال په توګه، د پروژې مالکیت حالت او بیاکتنې کچه). د کوډ بدلون . د کوډ بدلون د کوډ جائزې پروسه کې، یو کوډ بدلون کولی شي څو اصلاحاتو ته ورسیږي، د یو یا ډیری پټچ سیټونو له امله. د کوډ جائزې خدمت ته اپلوډ شوي هر پټچ سیټ د کوډ بدلولو تازه ورسیږي. د دې بدلولو پایلې، تایید شوي پټچ سیټونه کولی شي وړاندې شي او د هدف د سرچینې کوډ ذخیره کې یوځای شي. د کوډ د بدلون جوړونکي کولی شي د بدلون په توګه د نوي پټچ سیټ ته د نومیدلو لپاره یا د نومیدلو شوي کوډ reviewer(s) لخوا تصویب کولو لپاره د بدلون تعدیل کړي. د کلیدي reviewer اجازهونه شامل دي: د بدلون د reviewer لپاره ښه ښکاري ته د +1 امتیاز، د کوډ د بدلون تصویب کولو لپاره د +2 امتیاز، د -1 امتیاز چې د بدلون ښه نلري (د مثال په توګه، د کوچني نندارې) او د کوډ د بدلون وړاندې کولو ته د -2 امتیاز. د کوډ بیاکتنه. د کوډ بیاکتنه. د پروژو (د بیلګې په توګه، د git ذخیره یا د git ذخیره کې د زیرمکتریو) کولی شي د ګمرکولو اجازهونه او جائزې قواعد لري. د مثال په توګه، د ګمرکولو جائزې قواعد دا ده چې جوړونکو ته اجازه ورکوي چې د کوډ بدلونونه د presubmit ازموینې لپاره چمتو کړي ځکه چې اغیزمنو اغیزمنو د کوډ جائزې خدمت ته غیر پایلې نسخه اپلوډ کړئ (د بیلګې په توګه، د diffs5 او لومړنۍ پیژندنه چک کولو لپاره). دا کاغذ د CC by 4.0 Deed (Attribution 4.0 International) لائسنس لاندې archiv کې شتون لري. دا کاغذ د د CC by 4.0 Deed (Attribution 4.0 نړیوال) لائسنس لاندې. available o د آرشیف د آرشیف