ავტორი : Wachiraphan Charoenwet Patanamon Thongtanunam Van-Thuan Pham Christoph Treude ავტორი : ჩრდილოეთის Charoenwet Patanamon Thongtanunam-ის შერჩევა ტუან პამ ქრისტე Trude Table of links მაგიდა ლიცენზია Abstract Abstract პოსტი 1 Introduction 1 ინტეგრირება 2 Background and Related Work 2 საფუძველზე და დაკავშირებული სამუშაოები Software უსაფრთხოება Coding სიჩქარეები უსაფრთხოების ცვლილებები Modern Code მიმოხილვა Code Review for პროგრამული უზრუნველყოფის უსაფრთხოება Security Concern Handling პროცესი კოდი მიმოხილვა 3 Motivating Examples 3 მაგალითები 4 Case Study Design 4 Case Study დიზაინი კვლევის კითხვაები სტუდენტური პროექტები მონაცემთა კოლექცია Coding Weakness Taxonomy-ის გამოყენება ძიება Overview Security Concern Identification Approach (RQ1) RQ2 – ცნობილი სქესობების ანალიზი (Alignment analysis of known vulnerabilities) კონტროლის პროცესის აღწერა (RQ3) 5 Preliminary Analysis 5 ადრეული ანალიზი PA1: კოდირების შეტყობინებები შეტყობინებები PA2: თავდაპირველად შეფასება ჩვენი უსაფრთხოების შეუზღუდავი აღჭურვილობა მიმოხილვა 6 Case Study Results 6 კაზინო კვლევის შედეგები 7 Discussion 7 განხილვა 8 Threats to Validity 8 რისკები validity Internal ვალდებულება აშენება validity External ხარისხი Abstract Abstract პოსტი რა თქმა უნდა, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამად, ამჟამ 1 Introduction პროგრამული უზრუნველყოფის უსაფრთხოების მნიშვნელოვანი ეფექტურობა პროგრამული უზრუნველყოფის განვითარების პროცესებში, რადგან იგი მოიცავს, თუ როგორ პროგრამული სისტემა მხარს უჭერს გარე რისკებს (McGraw, 2004). უსაფრთხოების პრობლემების მართვა პროგრამული უზრუნველყოფის პროდუქტებში მნიშვნელოვანია, რადგან მახასიათებელი უსაფრთხოების პრობლემები, განსაკუთრებით გაუმჯობესებული უსაფრთხოების რისკები, შეიძლება ექსპონენტურად ეფექტურობენ საბოლოო მომხმარებელს და მოითხოვს მეტი რესურსების გადაწყვეტა, თუ ეს იპოვდება შემდეგას. პროგრამული უზრუნველყოფის უსაფრთხოების პრობლემების შეუზღუდავა, განვითარებელს მოწინააღმდეგება მუდმივი ცვლილებების კონცეფცია (Migues, 2021; ზოგიერთი კვლევა შეამოწმდა კოდი მიმოხილვა უპირატესობა აღიარების უსაფრთხოების პრობლემები (Alfadel et al., 2023; Bosu et al., 2014; Di Biase et al., 2016; Edmundson et al., 2013; Paul et al., 2021b). თუმცა, უსაფრთხოების პრობლემები აღიარებული წინა სამუშაოები ხშირად შეზღუდული სახის ცნობილი უსაფრთხოების პრობლემები, როგორიცაა SQL Injection და XSS. განსაკუთრებით, ძირითადად კვლეული უსაფრთხოების პრობლემები შეზღუდულია უსაფრთხოების პრობლემები, რომ არქიტექტორები შეუძლია გამოიყენოს. რადგან კოდი მიმოხილვა ფოკუსირება აღიარების და შეუზღუდვის კოდი პრობლემები, ჩვენ ვფიქრობთ, რომ კოდიფიკაციის შეუზ ეს მოიცავს კოდიფიკაციის სქესობრივი ტიპის, რომელიც იწვევს უსაფრთხოების პრობლემებს და ამ კოდიფიკაციის სქესობრივი პროცესი. გარდა ამისა, ნაკლებად ცნობილია, თუ კერძო უსაფრთხოების სქესობრივი პრობლემები, რომლებიც კოდიფიკაციის დროს გამოწვეულია, შეესაბამება სქესობრივი სიზუსტით, რომელიც სისტემაში შეიძლება გააჩნია ადრეში. ამ ასპექტების შეამოწმება დაგეხმარებათ უკეთესად გაიგოთ კოდიფიკაციის სქესობრივი სიზუსტით კოდიფიკაციის დროს კოდიფიკაციის პროცესიას კოდიფიკაციის სქესობრივი სიზუსტით ადრე დაცვისათვის. ასეთი მიმოხილვა ასევე შეუძლია გაფართოდეს მიმდინარე კოდიფიკაციის პრაქტიკის ამ სამუშაოში, ჩვენ მიზნით შეამოწმოთ კოდი შეზღუდვები, რომლებიც აღწევს კოდი მიმოხილვა დროს და შეამოწმოთ, თუ როგორ შეამოწმოთ კოდი მიმოხილვა კომენტარები, რომლებიც აღწერილი კოდი შეზღუდვები. ჩვენ გააკეთა ჩვენი შემთხვევაში კვლევა OpenSSL და PHP, რომლებიც დიდი open-source სისტემები, რომლებიც სავარაუდოა უსაფრთხოების პრობლემები. ჩვენ აირჩიეთ შეამოწმოთ ამ ფანჯარებს open-source პროექტებში, რადგან ხელმისაწვდომობა ფართოდ ხელმისაწვდომი მონაცემთა კომპლექტი, მოთხოვნილი კოდი მიმოხილვა პოლიტიკა, და წინა შეზღუდვები შერჩეული პროექტები. ეს გადაწყვეტილება ასევე იწვევს შეამოწმოება, რომ კოდი მი ამით, ჩვენ გაკეთდა ნომერი სტრუქტურა, რათა შეესაბამება სამი კვლევითი კითხვები: (RQ1) რა სახის უსაფრთხოების შეზღუდვები, რომელიც დაკავშირებულია კოდი შეზღუდვები, ხშირად აღწევს კოდი შეზღუდვები??, (RQ2) როგორ შეესაბამება ზრდა უსაფრთხოების შეზღუდვები და ცნობილი შეზღუდვები? და (RQ3) როგორ შეესაბამება უსაფრთხოების შეზღუდვები კოდი შეზღუდვები? ამისთვის, ჩვენ გამოიყენეთ სამატომიზმი Common Weakness Enumeration-CWE-699 რომელიც შეიცავს 40 კატეგორიის კოდი შეზღუდვები, რომელიც დაკავშირებულია უსაფრთხოების შეზღუდვები. გარდა ამისა, ჩვენ მექანიკურად შეამოწ კვლევების შედეგები აჩვენებენ, რომ CWE-699- ში 40 კატეგორიის 35-ზე დაკავშირებული კოდირების შეზღუდვები გამოჩნდა OpenSSL- ის და PHP- ის (RQ1) კოდიზაციის პროცესის დროს. მაგალითად, კვლევები კოდიზაციის შეზღუდვები და API- ის შეზღუდვები ხშირად გამოჩნდა ორივე კვლევების პროცესში. თითოეული კვლევების პროექტი ასევე აქვს უნიკალური კოდიზაციის შეზღუდვები, რომლებიც გამოჩნდა კოდიზაციის დროს, მაგალითად, OpenSSL- ის პირდაპირი უსაფრთხოების შეზღუდვები და PHP- ის მონაცემთა შეზღუდვები. ეს შედეგები აჩვენებენ, რომ სხვადასხვა კოდიზაციის შეზღუდვები, რომლებიც უსაფრთხოების პრობლემებს დაკავშირებული არიან, კვლ RQ3 (RQ3): ბევრი შემთხვევაში (39%-41%), განვითარებლები ცდილობენ პრობლემები გადაიხადოს. თუმცა, დაახლოებით ერთ-ერთი (30%-36%) მოწინავე კოდიტაციის სიხშირეები მხოლოდ აღიარებული იყო, გარეშე დაუყოვნებლივ გადაიხადოს (მაგ. არ არსებობს დამატებითი შეცდომები კოდი ცვლილებებში მიმოხილვა). ჩვენ შეამოწმოთ, რომ ზოგიერთი აღიარებული სიხშირეები შეესაბამება, რომ ახალი განსხვავებული კოდი ცვლილებები (10%-18%) და ზოგიერთი არ გადაიხადოს, რადგან არ გადაიხადოს კოდი ცვლილებები შეესაბამება (18%-20%). გარდა ამისა, შეუზღუდავი სიხშირეები (14%-26%) აღიარებული იყო და პროგრამული უზრუნველყოფის პროექტებს რეკომენდირებთ, რომ კოდირების შეუზღუდავი კატეგორიები (მაგ., CWE-699) ითვალისწინებენ კოდირების შეუზღუდავი კატეგორიები, რომლებიც კოდირების მიმოხილვაში უსაფრთხოების საკითხებს შეუზღუდავიან. კოდირების შეუზღუდავი ნაწილები შეიძლება იყოს პროექტები, რომლებიც დამოკიდებულია კოდიაციის შეუზღუდავი ნაწილების მნიშვნელობას, პოტენციას და უნიკალური კომპლექტიას, რომელიც წინა კოდირების მიმოხილვაში შეხვდა. ჩვენი სამუშაო ასევე აჩვენებს კოდიტის შეუზღუდავი პროცესის შეუზღუთვის უსაფრთხოების შეუზღუდავი საკითხები (მაგ., შეუზღუდა რა თქმა უნდა, ეს პრაქტიკა არის პირველი, რომელიც შეამოწმებს კოდი მიმოხილვა, რათა იპოვოს და შეამციროს კოდირების შეზღუდვები, რომლებიც დაკავშირებულია უსაფრთხოების პრობლემებს, გარდა ამისა, როგორც ცნობილი შეზღუდვები, და აჩვენებს კოდი მიმოხილვის პოტენციური უპირატესობები პოტენციური უსაფრთხოების პრობლემების ადრეული მიმოხილვათვის. მეორე, ჩვენ გამოქვეყნდა ახალი საწყისი ავტომატური მიმოხილვა, რომელიც გამოიყენება დონეზე სპეციფიკაციური წინასწარ მოწინავე სიტყვის შეფუთვა მოდელი, რათა იპოვოს უსაფრთხოების პრობლემებს დაკავშირებული პოტენციური კოდი მიმოხილვა კომენტარები. მეორე, ჩვენ შეამოწმეთ შეზღუდვები Novelty & Contributions: ჩვენ გამოქვეყნდა დამატებითი მასალები1 scripts for მონაცემთა მოპოვების და მონაცემთა ანალიზი ამ კვლევის ერთად გამოქვეყნებული მონაცემები, რათა დაეხმაროს დამატებითი კვლევა. Data Availability: 2 სექცია აღწერილი ფართობი და აღწერილი დაკავშირებული მუშაობა. 3 სექცია აღწერილი მაგალითები სიზუსტით, რომელიც გამოწვეულია კოდირების სიზუსტით. 4 სექცია აღწერილი შემთხვევაში კვლევის დიზაინი. 5 სექცია აღწერილი პირველი ანალიზი მეთოდი და შედეგები. 6 სექცია აღწერილი შედეგებს. 7 სექცია აღწერილი მოვლენები და რჩევები. 8 სექცია აღწერილი შეზღუდვები, რომლებიც შეიძლება გავლენოთ ამ კვლევის მახასიათებლები. ბოლოს, 9 სექცია აღწერილია. Paper Organization: ეს პრაქტიკა ხელმისაწვდომია archiv ქვეშ CC by 4.0 Deed (Attribution 4.0 International) ლიცენზია. ეს ქაღალდი არის CC by 4.0 Deed (Attribution 4.0 International) ლიცენზია. available on arxiv ხელმისაწვდომია Archive