ලේඛකයෝ : චාරිකාව චාරිකාව චාරිකාව Patanamon Thongtanunam Van-Thuan Pham Christoph Treude ලේඛකයෝ : චාරිකාව චාරිකාව චාරිකාව මාලිගාව Thongtanunam වොන් ටූන් ෆැම් ක් රිස්ටෝෆ් ට් රූඩ් Table of links මේසය Links Abstract abstract පිලිබඳ 1 Introduction 1 ඇතුළත් කිරීම 2 Background and Related Work 2 පසුබිම සහ සම්බන්ධ වැඩ මෘදුකාංග ආරක්ෂාව කේතයේ දුර්වලතා ආරක්ෂාව Shift-Left Modern Code සමාලෝචන මෘදුකාංග ආරක්ෂාව සඳහා Code Review Security Concern Handling Process in Code සමාලෝචන 3 Motivating Examples 3 උදාහරණ 4 Case Study Design 4 Case Study සැලසුම් පර්යේෂණ ප් රශ්න අධ්යයනය කරන ව් යාපෘති දත්ත රැස්වීම දුර්වලතා කේතය Taxonomy අධ්යයනය Overview ආරක්ෂක ගැටළු හඳුනාගැනීමේ ප්රවේශය (RQ1) දන්නා දුර්වලතා විශ්ලේෂණය (RQ2) ගනුදෙනු ක්රියාවලිය හඳුනා ගැනීම (RQ3) 5 Preliminary Analysis 5 ප් රථම විශ්ලේෂණය PA1: කේතය දුර්වලතා ප්රදර්ශනය PA2: අපගේ ආරක්ෂක ප්රශ්න හඳුනාගැනීමේ ප්රවේශය පිළිබඳ ප්රවෘත්ති සමාලෝචන 6 Case Study Results 6 Case Study ප් රතිඵල 7 Discussion 7 සාකච්ඡා 8 Threats to Validity 8 ගෞරවය තර්ජනය අභ් යන්තර බලපෑම Validity ගොඩනැගීම අභ්යන්තර සුදුසුකම් Abstract abstract පිලිබඳ කෙසේ වෙතත්, මෘදුකාංග සංවර්ධනය චක්රයක් තුළ ආරක්ෂක ගැටළු හඳුනා ගැනීම ආරම්භයේ දී මෘදුකාංග පද්ධති මත අලංකාර අහිතකර බලපෑම් අඩු කිරීම සඳහා නිර්දේශ කරනු ලැබේ. කේතය සමාලෝචනය මෘදුකාංග සංවර්ධනය චක්රයක් තුළ ආරක්ෂක ගැටළු හඳුනා ගැනීම සඳහා මෑතකදී ආරක්ෂක ගැටළු හඳුනා ගැනීම සඳහා ක්රියාත්මකව භාවිතා කරන ක්රමය වේ. කෙසේ වෙතත්, දැනට පවතින කේතය සමාලෝචන අධ්යයයන බොහෝ විට ප්රසිද්ධ විවෘත මූලාශ්ර ව්යාපෘති දෙකක්, OpenSSL සහ PHP හි දන්නා දුර්වලතා මත අවධානය යොමු කර ඇත. 135,560 කේතය සමාලෝචන අදහස් මත පදනම්ව, කේතය සමාලෝචන හරහා වඩාත් පෙනුමක් ඇති සැබෑ 1 Introduction මෘදුකාංග සංවර්ධන ක්රියාවලියේ වැදගත් අවධානය යොමු වන්නේ මෘදුකාංග සංවර්ධනය ක්රියාවලියේදී මෘදුකාංග පද්ධති පිටත තර්ජන සෑදීමේ ආකාරය (McGraw, 2004). මෘදුකාංග නිෂ්පාදනවල ආරක්ෂක ගැටළු කළමනාකරණය කිරීම වැදගත් වන්නේ මෘදුකාංග ප්රශ්න, විශේෂයෙන් ප්රයෝජනවත් දුර්වලතා, අවසාන පරිශීලකයන්ට ප්රමාණවත් ලෙස බලපෑම් කළ හැකි අතර පසුව සොයා ගන්නා විට විසඳීමට වැඩි ප්රමාණයක් අවශ්ය වන නිසා. ආරක්ෂක ගැටළු සීමා කිරීම සඳහා උත්සාහ කිරීම, සංවර්ධකයින් නව මෘදුකාංග පරීක්ෂා කිරීමට හැකි ඉක්මණින් පරීක්ෂා කිරීම (Migues, 2021; Weir et al., 2022) විසින් උනන්දුවක් දක්වනු ලැබේ (Bosu, ප්රශ්න හඳුනා ගැනීමේදී කේතය පරීක්ෂා කිරීමේ ප්රතිලාභ කිහිපයක් පරීක්ෂා කර ඇත (Alfadel et al., 2023; Bosu et al., 2014; Di Biase et al., 2016; Edmundson et al., 2013; Paul et al., 2021b). කෙසේ වෙතත්, පෙර වැඩවල අධ්යයනය කරන ලද ආරක්ෂක ප්රශ්න සාමාන්යයෙන් SQL Injection සහ XSS වැනි ප්රසිද්ධ දුර්වලතා වර්ගය විසින් සීමා කර ඇත. විශේෂයෙන්, අධ්යයයනය කරන ලද ආරක්ෂක ප්රශ්න ප්රධාන වශයෙන් කේතය පරීක්ෂා කිරීමේ ක්රියාවලිය තුළ සොයා ගත හැකි අතර, එවැනි දුර්වලතා ප්රවේශ විය යුතුය. කේතය පරීක්ෂකයින් හඳුනාගැනීම සහ coding ප්රශ්න අවම කිරීම මත අවධානය යොමු වන බැවින්, අපි කේතය මෙම ප්රශ්න වලට හේතු වන coding දුර්වලතා වර්ග සහ මෙම coding දුර්වලතා වලට ප්රතිකාර කිරීමේ ක්රියාවලිය ඇතුළත් වේ. අමතරව, මෘදුකාංග ආරක්ෂක ගැටලු ප්රතිරෝධය සඳහා මෘදුකාංග සමාලෝචන වලදී ඉදිරිපත් කරන ලද ආරක්ෂක ප්රශ්න අතීතයේ පද්ධති තුළ ඇති විය හැකි දුර්වලතා සමඟ අනුකූල වේදිකාව පිළිබඳ දැනගැනීමේදී අප වඩාත් හොඳින් තේරුම් ගත හැකි වනු ඇත. මෙම ප්රශ්න සලකා බැලීමෙන් මෘදුකාංග සමාලෝචන ක්රියාවලිය තුළ මෘදුකාංග සමාලෝචන ක්රියාවලිය තුළ මෘදුකාංග සමාලෝචන ක්රියාවලිය තුළ මෘදුකාංග සමාලෝචන ප්රශ්න හඳුනා ගැනීම සහ ආරක්ෂක ප්රශ්න වඩාත් මෙම කාර්යය තුළ, අපි කේත සමාලෝචන කාලය තුළ ඉදිරිපත් කරන ලද කේත සමාලෝචන දුර්වලතා පරීක්ෂා කිරීමට සහ කේත සමාලෝචන ප්රතිචාර ප්රතිචාර ප්රතිකාර කරන ආකාරය පරීක්ෂා කිරීමට ඉලක්ක කර ඇත. අපි OpenSSL සහ PHP පිළිබඳ අපගේ උදාහරණ අධ්යයනය සිදු කර ඇති අතර එය ආරක්ෂක ප්රශ්න ඇති විශාල විවෘත මූලාශ්ර පද්ධති වේ. අපි විවෘත මූලාශ්ර ව්යාපෘතිවල මෙම ප්රතිඵල විභාග කිරීමට තෝරා ගත්තේ පොදු ප්රවේශ දත්ත සමුදාය, පොදු කේත සමාලෝචන ප්රතිපත්තිය, සහ තෝරාගත් ව්යාපෘතිවල අතීත දුර්වලතා වලට හේතුවෙන්. මෙම තීරණය ද විවෘත මූලාශ්ර සමාජවල කේත සමාලෝච එබැවින්, අපි පර්යේෂණ ප්රශ්න තුනක් විසඳා ගැනීම සඳහා අත්හදා බැලීම් අධ්යයනය කළෙමු: (RQ1) කේත සමාලෝචන වලදී නිතරම ප්රතිචාර දැක්වෙන කේත සමාලෝචන ප්රශ්න මොනවාද? (RQ2) කේත සමාලෝචනවලදී නිතරම ප්රතිචාර දැක්වෙන කේත සමාලෝචන ප්රශ්න මොනවාද? සහ (RQ3) කේත සමාලෝචනවලදී ආරක්ෂක ප්රශ්න මොනවාද? (RQ1) කේත සමාලෝචනවලදී ප්රතිචාර දැක්වෙන කේත සමාලෝචන ප්රශ්න මොනවාද? (RQ2) කේත සමාලෝචන ප්රශ්න 6,146 කේත සමාලෝචන සමාලෝචන ප්රශ්න සඳහා කේත සමාලෝචන ප්ර OpenSSL සහ PHP (RQ1) කේත සමාලෝචන ක්රියාවලිය තුළදී CWE-699 හි 40 ප්රවර්ග වලින් 35 ක් සම්බන්ධ කේත සමාලෝචන දුර්වලතා දැක්වූහ. උදාහරණයක් ලෙස, සහතික කිරීම, අයිතිවාසිකම්, සහ API හි කේත සමාලෝචන ක්රියාවලිය තුළ කේත සමාලෝචන දුර්වලතා පිළිබඳ ප්රතිචාර දැක්වූහ. සෑම අධ්යයයනය කරන ව්යාපෘතියකටම කේත සමාලෝචනවලදී ඉදිරිපත් කරන ලද සුවිශේෂී කේත සමාලෝචන දුර්වලතා දැක්වූහ. උදාහරණයක් ලෙස, OpenSSL හි සෘජු ආරක්ෂක තර්ජනය (RQ2) සහ PHP හි ප්රතිපත්තිය දත්ත අනුකූලතාවය. මෙම ප්රතිඵලයන් පෙන්වා දෙයි, කේත සමාලෝචනවලදී ඉදිරිපත් කරන ලද කේත දුර්වලතා හතර ආකාරයකින් ප්රතිකාර කර ඇත (RQ3). බොහෝ අවස්ථාවලදී (39%-41%), සංවර්ධකයින් ප්රශ්න විසඳීමට උත්සාහ කර ඇත. කෙසේ වෙතත්, අවම වශයෙන් තුන්වන (30%-36%) කේත සමාලෝචන දුර්වලතා නිශ්චිත විසඳුමක් නොමැතිව පමණක් හඳුනා ගත්තේය (එනම්, සමාලෝචනවලදී කේත වෙනස්කම් සඳහා වෙනත් වෙනස්කම් නොමැත). අපි ප්රශ්න කිහිපයක් හඳුනා ගත් ප්රශ්න කිහිපයක් අමුද්රව්ය වෙනස්කම් (10%-18%) තුළ නව සුවිශේෂී ආරක්ෂක ප්රශ්න ඇතුළත් කර ගැනීමට එකඟ වූ අතර සමහරක් නිශ්චිත විසඳුමක් (18%-20%). ප්රශ්න relatively කුඩා කොටසක් (14%-26%) පැහැදිලි කර ඇති අතර මෙම ප්රතිඵල මත පදනම්ව, අපි මෘදුකාංග ව්යාපෘති මෘදුකාංග දුර්වලතා ප්රවර්ගය (එනම්, CWE-699) හඳුනා ගැනීම සඳහා මාර්ගෝපදේශයක් ලෙස සැලකිලිමත් කිරීමට නිර්දේශ කරමු. මෘදුකාංග ව්යාපෘති මෘදුකාංග දුර්වලතා වැදගත්කම මත පදනම්ව ප්රමුඛත්වය ලබා ගත හැක, ප්රතිශතය, සහ අතීත මෘදුකාංග සමාලෝචන ප්රකාශයට පත් වූ මෘදුකාංග දුර්වලතා අමුද්රව්ය. අපගේ හොඳම දැනුම අනුව, මෙම ලිපිනය ප්රථම වශයෙන් කේත සමාලෝචන අත්දැකීම් පරීක්ෂා කිරීම සහ ආරක්ෂක ප්රශ්න වලට සම්බන්ධ කේත සමාලෝචන දුර්වලතා හඳුනා ගැනීම සහ අවම කිරීම සඳහා පළමු වන ආකාරයයි. දෙවනුව, අපි ප්රතිඵලදායී ආරක්ෂක ප්රශ්න ප්රතික්රියා කිරීමේ ක්රියාවලිය තුළ බොහෝ විට ප්රවේශ වූ කේත සමාලෝචන ප්රතිලාභ අතර ප්රතිඵලදායී ප්රතිඵල ප්රතිඵල ප්රවේශ කිරීම සඳහා කේත සමාලෝචන ප්රතිඵල හඳුනා ගනිමින්. තුන්වනුව, අපි අධ්යයයනය කරන ලද පද්ධතිවල දන්නා දුර්වලතා සහ කේත සමාලෝචන ක්රියාවලිය තුළ නිතර ප්රවේශ වූ කේත Novelty & Contributions: අපි මෙම අධ්යයනය තුළ දත්ත ප්රවේශය සහ දත්ත විශ්ලේෂණය සඳහා ස්ක්රිප්තු සඳහා ප්රමාණවත් ද්රව්ය1 සහ තවදුරටත් පර්යේෂණ පහසු කිරීම සඳහා ප්රමාණවත් දත්ත සමග ප්රකාශ කර ඇත. Data Availability: 2 පරිච්ඡේදය පසුබිම විස්තර කරයි සහ සම්බන්ධ වැඩ පරීක්ෂා කරයි. 3 පරිච්ඡේදය කේතය දුර්වලතා නිසා ඇති වූ දුර්වලතා උදාහරණ පෙන්වයි. 4 පරිච්ඡේදය ප්රශ්න අධ්යයනය සැලසුම් විස්තර කරයි. 5 පරිච්ඡේදය ආරම්භක විශ්ලේෂණ ක්රමය සහ ප්රතිඵල පැහැදිලි කරයි. 6 පරිච්ඡේදය ප්රතිඵල වාර්තා කරයි. 7 පරිච්ඡේදය ප්රතිඵල හා යෝජනා සාකච්ඡා කරයි. 8 පරිච්ඡේදය මෙම අධ්යයනය වලංගුතාවයට බලපාන තර්ජනයන් පැහැදිලි කරයි. අවසාන වශයෙන්, 9 පරිච්ඡේදය ප්රතිඵලයක් සකස් කරයි. Paper Organization: මෙම ලිපිය CC by 4.0 Deed (Attribution 4.0 International) බලපත් ර යටතේ ලබා ගත හැකිය. මෙම ලිපිය CC by 4.0 Deed (Attribution 4.0 International) බලපත් ර යටතේ ලබා ගත හැකිය. ලියාපදිංචි